[med-svn] [ecell] 12/14: New upstream version 4.1.2
Andreas Tille
tille at debian.org
Tue Dec 5 14:17:57 UTC 2017
This is an automated email from the git hooks/post-receive script.
tille pushed a commit to branch master
in repository ecell.
commit 893c88d47348b1416134e199fc8a41ae43a512bf
Author: Andreas Tille <tille at debian.org>
Date: Tue Dec 5 15:14:35 2017 +0100
New upstream version 4.1.2
---
.gitignore | 13 +
.gitmodules | 0
.travis.yml | 102 +
AUTHORS | 14 +
CMakeLists.txt | 73 +
Dockerfile | 11 +
LICENSE | 340 +
README.md | 197 +
appveyor.yml | 124 +
debian/README.Debian | 8 -
debian/changelog | 6 -
debian/compat | 1 -
debian/control | 62 -
debian/copyright | 11 -
debian/ecell-doc.dirs | 1 -
debian/ecell-doc.doc-base | 35 -
debian/ecell.dirs | 1 -
debian/ecell.docs | 2 -
debian/manpages | 1 -
debian/rules | 46 -
debian/source/format | 1 -
debian/watch | 3 -
docs/images/attractors.png | Bin 0 -> 96100 bytes
docs/images/body-bg.png | Bin 0 -> 2401 bytes
docs/images/drosophila.png | Bin 0 -> 60460 bytes
docs/images/favicon.ico | Bin 0 -> 4286 bytes
docs/images/gillespie.png | Bin 0 -> 28276 bytes
docs/images/highlight-bg.jpg | Bin 0 -> 30991 bytes
docs/images/hr.png | Bin 0 -> 130 bytes
docs/images/minde.gif | Bin 0 -> 1068083 bytes
docs/images/octocat-icon.png | Bin 0 -> 477 bytes
docs/images/tar-gz-icon.png | Bin 0 -> 741 bytes
docs/images/zip-icon.png | Bin 0 -> 735 bytes
docs/index.html | 79 +
docs/javascripts/main.js | 1 +
docs/params.json | 7 +
docs/stylesheets/github-dark.css | 116 +
docs/stylesheets/github-light.css | 116 +
docs/stylesheets/normalize.css | 424 +
docs/stylesheets/print.css | 228 +
docs/stylesheets/stylesheet.css | 283 +
ecell4/CMakeLists.txt | 11 +
ecell4/bd/BDFactory.hpp | 119 +
ecell4/bd/BDPropagator.cpp | 304 +
ecell4/bd/BDPropagator.hpp | 152 +
ecell4/bd/BDSimulator.cpp | 54 +
ecell4/bd/BDSimulator.hpp | 128 +
ecell4/bd/BDWorld.hpp | 420 +
ecell4/bd/CMakeLists.txt | 20 +
ecell4/bd/functions3d.cpp | 154 +
ecell4/bd/functions3d.hpp | 57 +
ecell4/bd/samples/CMakeLists.txt | 2 +
ecell4/bd/samples/hardbody.cpp | 68 +
ecell4/bd/tests/BDSimulator_test.cpp | 61 +
ecell4/bd/tests/BDWorld_test.cpp | 41 +
ecell4/bd/tests/CMakeLists.txt | 16 +
ecell4/core/AABB.cpp | 46 +
ecell4/core/AABB.hpp | 96 +
ecell4/core/AABBSurface.cpp | 138 +
ecell4/core/AABBSurface.hpp | 105 +
ecell4/core/CMakeLists.txt | 63 +
ecell4/core/CompartmentSpace.cpp | 159 +
ecell4/core/CompartmentSpace.hpp | 261 +
ecell4/core/CompartmentSpaceHDF5Writer.hpp | 253 +
ecell4/core/Context.cpp | 791 +
ecell4/core/Context.hpp | 467 +
ecell4/core/Cylinder.cpp | 142 +
ecell4/core/Cylinder.hpp | 119 +
ecell4/core/Doxyfile | 1813 +
ecell4/core/DynamicPriorityQueue.hpp | 585 +
ecell4/core/EventScheduler.hpp | 168 +
ecell4/core/Identifier.hpp | 278 +
ecell4/core/Integer3.cpp | 65 +
ecell4/core/Integer3.hpp | 180 +
ecell4/core/InterfaceType.hpp | 53 +
ecell4/core/Journal.cpp | 83 +
ecell4/core/Journal.hpp | 106 +
ecell4/core/LatticeSpace.cpp | 86 +
ecell4/core/LatticeSpace.hpp | 280 +
ecell4/core/LatticeSpaceBase.cpp | 51 +
ecell4/core/LatticeSpaceBase.hpp | 250 +
ecell4/core/LatticeSpaceCellListImpl.cpp | 419 +
ecell4/core/LatticeSpaceCellListImpl.hpp | 742 +
ecell4/core/LatticeSpaceHDF5Writer.hpp | 320 +
ecell4/core/LatticeSpaceVectorImpl.cpp | 1088 +
ecell4/core/LatticeSpaceVectorImpl.hpp | 205 +
ecell4/core/Mesh.cpp | 150 +
ecell4/core/Mesh.hpp | 80 +
ecell4/core/Model.cpp | 68 +
ecell4/core/Model.hpp | 224 +
ecell4/core/ModelWrapper.hpp | 129 +
ecell4/core/MolecularType.hpp | 62 +
ecell4/core/NetfreeModel.cpp | 575 +
ecell4/core/NetfreeModel.hpp | 148 +
ecell4/core/NetworkModel.cpp | 258 +
ecell4/core/NetworkModel.hpp | 137 +
ecell4/core/OffLatticeSpace.cpp | 476 +
ecell4/core/OffLatticeSpace.hpp | 102 +
ecell4/core/Particle.hpp | 171 +
ecell4/core/ParticleSpace.cpp | 233 +
ecell4/core/ParticleSpace.hpp | 434 +
ecell4/core/ParticleSpaceCellListImpl.cpp | 346 +
ecell4/core/ParticleSpaceCellListImpl.hpp | 500 +
ecell4/core/ParticleSpaceHDF5Writer.hpp | 274 +
ecell4/core/PlanarSurface.cpp | 84 +
ecell4/core/PlanarSurface.hpp | 71 +
ecell4/core/RandomNumberGenerator.cpp | 121 +
ecell4/core/RandomNumberGenerator.hpp | 135 +
ecell4/core/ReactionRule.cpp | 107 +
ecell4/core/ReactionRule.hpp | 180 +
ecell4/core/Real3.cpp | 31 +
ecell4/core/Real3.hpp | 231 +
ecell4/core/Rod.cpp | 224 +
ecell4/core/Rod.hpp | 92 +
ecell4/core/SerialIDGenerator.hpp | 360 +
ecell4/core/Shape.hpp | 47 +
ecell4/core/Simulator.hpp | 83 +
ecell4/core/SimulatorBase.hpp | 250 +
ecell4/core/SimulatorFactory.hpp | 49 +
ecell4/core/Space.hpp | 248 +
ecell4/core/Species.cpp | 375 +
ecell4/core/Species.hpp | 193 +
ecell4/core/Sphere.cpp | 139 +
ecell4/core/Sphere.hpp | 96 +
ecell4/core/StructureType.hpp | 53 +
ecell4/core/SubvolumeSpace.cpp | 401 +
ecell4/core/SubvolumeSpace.hpp | 562 +
ecell4/core/SubvolumeSpaceHDF5Writer.hpp | 316 +
ecell4/core/UnitSpecies.cpp | 264 +
ecell4/core/UnitSpecies.hpp | 163 +
ecell4/core/VacantType.hpp | 53 +
ecell4/core/Voxel.hpp | 86 +
ecell4/core/VoxelPool.hpp | 435 +
ecell4/core/VoxelSpaceBase.cpp | 228 +
ecell4/core/VoxelSpaceBase.hpp | 86 +
ecell4/core/collision.cpp | 388 +
ecell4/core/collision.hpp | 105 +
ecell4/core/comparators.hpp | 95 +
ecell4/core/config.h.in | 31 +
ecell4/core/exceptions.hpp | 192 +
ecell4/core/extras.cpp | 133 +
ecell4/core/extras.hpp | 112 +
ecell4/core/functions.hpp | 116 +
ecell4/core/get_mapper_mf.hpp | 60 +
ecell4/core/hash.hpp | 29 +
ecell4/core/linear_algebra.hpp | 48 +
ecell4/core/observers.cpp | 629 +
ecell4/core/observers.hpp | 1096 +
ecell4/core/shape_operators.hpp | 441 +
ecell4/core/swap.hpp | 23 +
ecell4/core/tests/CMakeLists.txt | 19 +
ecell4/core/tests/CompartmentSpace_test.cpp | 68 +
ecell4/core/tests/EventScheduler_test.cpp | 19 +
ecell4/core/tests/LatticeSpace_test.cpp | 617 +
ecell4/core/tests/NetfreeModel_test.cpp | 256 +
ecell4/core/tests/NetworkModel_test.cpp | 106 +
ecell4/core/tests/OffLatticeSpace_test.cpp | 178 +
ecell4/core/tests/ParticleSpace_test.cpp | 150 +
ecell4/core/tests/RandomNumberGenerator_test.cpp | 49 +
ecell4/core/tests/ReactionRule_test.cpp | 298 +
ecell4/core/tests/Real3_test.cpp | 34 +
ecell4/core/tests/Shape_test.cpp | 89 +
ecell4/core/tests/Species_test.cpp | 102 +
ecell4/core/tests/SubvolumeSpace_test.cpp | 72 +
ecell4/core/tests/extras_test.cpp | 23 +
ecell4/core/tests/get_mapper_mf_test.cpp | 65 +
ecell4/core/types.hpp | 22 +
ecell4/egfrd/.gitignore | 63 +
ecell4/egfrd/.hgignore | 60 +
ecell4/egfrd/AUTHORS | 4 +
ecell4/egfrd/AnalyticalPair.hpp | 198 +
ecell4/egfrd/AnalyticalSingle.hpp | 109 +
ecell4/egfrd/BDPropagator.hpp | 423 +
ecell4/egfrd/BDSimulator.hpp | 253 +
ecell4/egfrd/CMakeLists.txt | 77 +
ecell4/egfrd/COPYING | 340 +
ecell4/egfrd/ChangeLog | 0
ecell4/egfrd/ConsoleAppender.cpp | 24 +
ecell4/egfrd/ConsoleAppender.hpp | 21 +
ecell4/egfrd/CylindricalBesselGenerator.cpp | 187 +
ecell4/egfrd/CylindricalBesselGenerator.hpp | 109 +
ecell4/egfrd/Defs.hpp | 29 +
ecell4/egfrd/Domain.hpp | 112 +
ecell4/egfrd/DomainFactory.hpp | 33 +
ecell4/egfrd/DomainID.hpp | 40 +
ecell4/egfrd/DomainUtils.hpp | 116 +
ecell4/egfrd/EGFRDSimulator.hpp | 4243 ++
ecell4/egfrd/FaceTriangle.hpp | 149 +
ecell4/egfrd/GreensFunction.hpp | 30 +
ecell4/egfrd/GreensFunction1DAbsAbs.cpp | 708 +
ecell4/egfrd/GreensFunction1DAbsAbs.hpp | 213 +
ecell4/egfrd/GreensFunction1DRadAbs.cpp | 703 +
ecell4/egfrd/GreensFunction1DRadAbs.hpp | 242 +
ecell4/egfrd/GreensFunction3D.cpp | 275 +
ecell4/egfrd/GreensFunction3D.hpp | 64 +
ecell4/egfrd/GreensFunction3DAbs.cpp | 890 +
ecell4/egfrd/GreensFunction3DAbs.hpp | 109 +
ecell4/egfrd/GreensFunction3DAbsSym.cpp | 411 +
ecell4/egfrd/GreensFunction3DAbsSym.hpp | 72 +
ecell4/egfrd/GreensFunction3DRadAbs.cpp | 2537 +
ecell4/egfrd/GreensFunction3DRadAbs.hpp | 298 +
ecell4/egfrd/GreensFunction3DRadAbsBase.cpp | 9 +
ecell4/egfrd/GreensFunction3DRadAbsBase.hpp | 23 +
ecell4/egfrd/GreensFunction3DRadInf.cpp | 807 +
ecell4/egfrd/GreensFunction3DRadInf.hpp | 122 +
ecell4/egfrd/GreensFunction3DSym.cpp | 152 +
ecell4/egfrd/GreensFunction3DSym.hpp | 66 +
ecell4/egfrd/HalfOrderBesselGenerator.hpp | 134 +
ecell4/egfrd/INSTALL | 75 +
ecell4/egfrd/Logger.cpp | 270 +
ecell4/egfrd/Logger.hpp | 163 +
ecell4/egfrd/MatrixSpace.hpp | 642 +
ecell4/egfrd/Multi.hpp | 531 +
ecell4/egfrd/NEWS | 0
ecell4/egfrd/NetworkRulesAdapter.hpp | 207 +
ecell4/egfrd/OldDefs.hpp | 46 +
ecell4/egfrd/Pair.hpp | 55 +
ecell4/egfrd/PairGreensFunction.cpp | 7 +
ecell4/egfrd/PairGreensFunction.hpp | 52 +
ecell4/egfrd/ParticleContainer.hpp | 140 +
ecell4/egfrd/ParticleContainerBase.hpp | 332 +
ecell4/egfrd/ParticleSimulator.hpp | 201 +
ecell4/egfrd/ParticleTraits.hpp | 153 +
ecell4/egfrd/Polygon.hpp | 215 +
ecell4/egfrd/README | 95 +
ecell4/egfrd/ReactionRecord.hpp | 137 +
ecell4/egfrd/ReactionRecorder.hpp | 16 +
ecell4/egfrd/ReactionRecorderWrapper.hpp | 134 +
ecell4/egfrd/ReactionRuleInfo.hpp | 112 +
ecell4/egfrd/Real3Type.hpp | 58 +
ecell4/egfrd/ShapedDomain.hpp | 31 +
ecell4/egfrd/Shell.hpp | 111 +
ecell4/egfrd/ShellID.hpp | 40 +
ecell4/egfrd/Single.hpp | 45 +
ecell4/egfrd/SphericalBesselGenerator.cpp | 271 +
ecell4/egfrd/SphericalBesselGenerator.hpp | 109 +
ecell4/egfrd/StlFileReader.hpp | 270 +
ecell4/egfrd/Transaction.hpp | 290 +
ecell4/egfrd/TriangleOperation.hpp | 187 +
ecell4/egfrd/VolumeClearer.hpp | 19 +
ecell4/egfrd/World.hpp | 1083 +
ecell4/egfrd/abstract_set.hpp | 91 +
ecell4/egfrd/compat.h | 47 +
ecell4/egfrd/config.h.in | 21 +
ecell4/egfrd/egfrd.hpp | 289 +
ecell4/egfrd/exceptions.hpp | 201 +
ecell4/egfrd/factorial.hpp | 443 +
ecell4/egfrd/filters.hpp | 74 +
ecell4/egfrd/findRoot.cpp | 51 +
ecell4/egfrd/findRoot.hpp | 12 +
ecell4/egfrd/freeFunctions.hpp | 436 +
ecell4/egfrd/funcSum.cpp | 154 +
ecell4/egfrd/funcSum.hpp | 20 +
ecell4/egfrd/generator.hpp | 555 +
ecell4/egfrd/geometry.hpp | 234 +
ecell4/egfrd/legacy/BDSimulator.hpp | 125 +
ecell4/egfrd/legacy/BasicNetworkRulesImpl.cpp | 59 +
ecell4/egfrd/legacy/BasicNetworkRulesImpl.hpp | 33 +
ecell4/egfrd/legacy/BasicReactionRecorderImpl.hpp | 24 +
ecell4/egfrd/legacy/Box.hpp | 369 +
ecell4/egfrd/legacy/CuboidalRegion.hpp | 62 +
ecell4/egfrd/legacy/Cylinder.hpp | 285 +
ecell4/egfrd/legacy/CylindricalSurface.hpp | 64 +
ecell4/egfrd/legacy/DynamicPriorityQueue.hpp | 578 +
ecell4/egfrd/legacy/EGFRDSimulatorFactory.hpp | 89 +
ecell4/egfrd/legacy/EventScheduler.hpp | 143 +
ecell4/egfrd/legacy/Identifier.hpp | 221 +
ecell4/egfrd/legacy/Makefile.am | 439 +
ecell4/egfrd/legacy/Model.cpp | 59 +
ecell4/egfrd/legacy/Model.hpp | 74 +
ecell4/egfrd/legacy/NetworkRules.cpp | 9 +
ecell4/egfrd/legacy/NetworkRules.hpp | 27 +
ecell4/egfrd/legacy/NetworkRulesWrapper.hpp | 129 +
ecell4/egfrd/legacy/ParticleID.hpp | 57 +
ecell4/egfrd/legacy/ParticleModel.cpp | 51 +
ecell4/egfrd/legacy/ParticleModel.hpp | 40 +
.../egfrd/legacy/ParticleSimulationStructure.hpp | 44 +
ecell4/egfrd/legacy/ParticleSimulatorFactory.hpp | 22 +
ecell4/egfrd/legacy/PlanarSurface.hpp | 71 +
ecell4/egfrd/legacy/Plane.hpp | 329 +
ecell4/egfrd/legacy/Point.hpp | 44 +
ecell4/egfrd/legacy/PyEventScheduler.hpp | 6 +
ecell4/egfrd/legacy/ReactionRule.hpp | 206 +
ecell4/egfrd/legacy/Region.hpp | 92 +
ecell4/egfrd/legacy/SerialIDGenerator.hpp | 306 +
ecell4/egfrd/legacy/Shape.hpp | 100 +
ecell4/egfrd/legacy/SpeciesInfo.hpp | 97 +
ecell4/egfrd/legacy/SpeciesType.cpp | 32 +
ecell4/egfrd/legacy/SpeciesType.hpp | 81 +
ecell4/egfrd/legacy/SpeciesTypeID.hpp | 57 +
ecell4/egfrd/legacy/Sphere.hpp | 184 +
ecell4/egfrd/legacy/SphericalSurface.hpp | 54 +
ecell4/egfrd/legacy/Structure.hpp | 114 +
ecell4/egfrd/legacy/StructureType.cpp | 32 +
ecell4/egfrd/legacy/StructureType.hpp | 79 +
ecell4/egfrd/legacy/StructureUtils.hpp | 111 +
ecell4/egfrd/legacy/Surface.hpp | 98 +
ecell4/egfrd/legacy/Vector3.hpp | 149 +
ecell4/egfrd/legacy/acinclude.m4 | 142 +
ecell4/egfrd/legacy/autogen.sh | 63 +
ecell4/egfrd/legacy/bessel.hpp | 7 +
ecell4/egfrd/legacy/configure.ac | 195 +
ecell4/egfrd/legacy/doc/Makefile.am | 30 +
ecell4/egfrd/legacy/doc/implementation_notes.tex | 382 +
ecell4/egfrd/legacy/doc/math/Pair2D.nb | 4923 ++
ecell4/egfrd/legacy/doc/math/PairSolution.nb | 1649 +
ecell4/egfrd/legacy/doc/math/bd.nb | 513 +
ecell4/egfrd/legacy/doc/math/falphasurv.nb | 794 +
ecell4/egfrd/legacy/doc/math/fppair.nb | 1942 +
ecell4/egfrd/legacy/doc/math/fppairsurv.nb | 3378 +
ecell4/egfrd/legacy/doc/math/fppairtheta.nb | 6096 ++
ecell4/egfrd/legacy/doc/math/hkmemo.nb | 2692 +
ecell4/egfrd/legacy/doc/math/onlysigma.nb | 2915 +
ecell4/egfrd/legacy/doc/math/p1fpmemo.nb | 409 +
ecell4/egfrd/legacy/doc/math/p_irr.nb | 1485 +
ecell4/egfrd/legacy/doc/math/p_rev.nb | 697 +
ecell4/egfrd/legacy/doc/math/pfree.nb | 590 +
ecell4/egfrd/legacy/doc/math/prt.nb | 1743 +
ecell4/egfrd/legacy/doc/math/psurvival.nb | 691 +
ecell4/egfrd/legacy/doc/math/rR.nb | 1012 +
ecell4/egfrd/legacy/doc/math/wosigma.nb | 2315 +
ecell4/egfrd/legacy/doc/p1_fp.tex | 94 +
ecell4/egfrd/legacy/doc/testing.txt | 107 +
ecell4/egfrd/legacy/greens_functions.cpp | 213 +
ecell4/egfrd/legacy/gui/renderParticles.py | 167 +
ecell4/egfrd/legacy/gui/vtk_particles.py | 148 +
ecell4/egfrd/legacy/m4/ac_prog_pdflatex.m4 | 22 +
ecell4/egfrd/legacy/m4/ax_boost_base.m4 | 248 +
ecell4/egfrd/legacy/misc/from_camel_case.sed | 114 +
ecell4/egfrd/legacy/misc/strip-spaces.hs | 247 +
ecell4/egfrd/legacy/misc/unroller.py | 29 +
ecell4/egfrd/legacy/peer/compat.h | 38 +
.../peer/converters/generator/from_python.hpp | 33 +
.../legacy/peer/converters/generator/to_python.hpp | 50 +
ecell4/egfrd/legacy/peer/converters/iterator.hpp | 16 +
.../legacy/peer/converters/iterator/to_python.hpp | 22 +
ecell4/egfrd/legacy/peer/converters/sequence.hpp | 72 +
.../peer/converters/sequence/from_python.hpp | 140 +
.../legacy/peer/converters/sequence/to_python.hpp | 75 +
ecell4/egfrd/legacy/peer/converters/tuple.hpp | 29 +
.../legacy/peer/converters/tuple/from_python.hpp | 100 +
.../legacy/peer/converters/tuple/to_python.hpp | 68 +
.../egfrd/legacy/peer/numpy/ndarray_converters.hpp | 179 +
.../legacy/peer/numpy/pyarray_backed_allocator.hpp | 171 +
.../egfrd/legacy/peer/numpy/scalar_converters.hpp | 83 +
ecell4/egfrd/legacy/peer/numpy/type_mappings.hpp | 65 +
.../legacy/peer/numpy/wrapped_multi_array.hpp | 243 +
ecell4/egfrd/legacy/peer/pickle_support.hpp | 85 +
ecell4/egfrd/legacy/peer/py_hash_support.hpp | 34 +
ecell4/egfrd/legacy/peer/set_indexing_suite.hpp | 88 +
.../legacy/peer/util/exception_translators.hpp | 37 +
ecell4/egfrd/legacy/peer/util/instance_holder.hpp | 148 +
ecell4/egfrd/legacy/peer/util/range_from_range.hpp | 124 +
.../peer/util/reference_accessor_wrapper.hpp | 24 +
ecell4/egfrd/legacy/peer/util/shared_const_ptr.hpp | 76 +
.../egfrd/legacy/peer/util/to_native_converter.hpp | 30 +
.../legacy/peer/util/to_python_converter_fun.hpp | 24 +
ecell4/egfrd/legacy/peer/utils.hpp | 9 +
.../peer/wrappers/exception/exception_wrapper.hpp | 223 +
.../peer/wrappers/generator/generator_wrapper.hpp | 177 +
.../wrappers/generator/pyiterator_generator.hpp | 73 +
.../peer/wrappers/iterator/pyseq_iterator.hpp | 60 +
.../wrappers/iterator/stl_iterator_wrapper.hpp | 159 +
.../peer/wrappers/range/pyiterable_range.hpp | 103 +
.../peer/wrappers/range/stl_container_wrapper.hpp | 317 +
ecell4/egfrd/legacy/pyGFRD.cpp | 127 +
ecell4/egfrd/legacy/samples/bd_propagator/test1.py | 122 +
ecell4/egfrd/legacy/samples/bd_propagator/test2.py | 191 +
.../egfrd/legacy/samples/bd_test/data/.empty-dir | 0
ecell4/egfrd/legacy/samples/bd_test/irr.py | 71 +
ecell4/egfrd/legacy/samples/benchmark/Makefile.am | 8 +
ecell4/egfrd/legacy/samples/benchmark/hardbody.cpp | 136 +
ecell4/egfrd/legacy/samples/dimer/dimer.py | 74 +
ecell4/egfrd/legacy/samples/dimer/dimer_cpp.py | 106 +
ecell4/egfrd/legacy/samples/hardbody/Makefile | 33 +
ecell4/egfrd/legacy/samples/hardbody/README | 26 +
ecell4/egfrd/legacy/samples/hardbody/plot.py | 173 +
ecell4/egfrd/legacy/samples/hardbody/run_all.py | 154 +
ecell4/egfrd/legacy/samples/hardbody/run_single.py | 151 +
ecell4/egfrd/legacy/samples/irreversible/Makefile | 31 +
ecell4/egfrd/legacy/samples/irreversible/README | 40 +
.../legacy/samples/irreversible/data/.empty-dir | 0
ecell4/egfrd/legacy/samples/irreversible/p_irr.py | 15 +
ecell4/egfrd/legacy/samples/irreversible/plot.py | 119 +
ecell4/egfrd/legacy/samples/irreversible/run.py | 93 +
ecell4/egfrd/legacy/samples/mapk/Kpp_ODE_0.ecd | 62 +
ecell4/egfrd/legacy/samples/mapk/Kpp_ODE_1e-1.ecd | 63 +
ecell4/egfrd/legacy/samples/mapk/Kpp_ODE_1e-2.ecd | 63 +
ecell4/egfrd/legacy/samples/mapk/Kpp_ODE_1e-3.ecd | 62 +
ecell4/egfrd/legacy/samples/mapk/Kpp_ODE_1e-4.ecd | 62 +
ecell4/egfrd/legacy/samples/mapk/Kpp_ODE_1e-5.ecd | 61 +
ecell4/egfrd/legacy/samples/mapk/Kpp_ODE_1e-6.ecd | 61 +
ecell4/egfrd/legacy/samples/mapk/event_ratio.py | 32 +
ecell4/egfrd/legacy/samples/mapk/model1.em | 189 +
ecell4/egfrd/legacy/samples/mapk/model1.py | 151 +
ecell4/egfrd/legacy/samples/mapk/model2.em | 273 +
ecell4/egfrd/legacy/samples/mapk/model2.py | 172 +
ecell4/egfrd/legacy/samples/mapk/model3-conc.py | 193 +
ecell4/egfrd/legacy/samples/mapk/model3.em | 209 +
ecell4/egfrd/legacy/samples/mapk/model3.py | 187 +
.../egfrd/legacy/samples/mapk/model4-processive.em | 159 +
ecell4/egfrd/legacy/samples/mapk/model4.em | 210 +
ecell4/egfrd/legacy/samples/mapk/model4.py | 192 +
ecell4/egfrd/legacy/samples/mapk/model5.py | 196 +
ecell4/egfrd/legacy/samples/mapk/model6.py | 175 +
ecell4/egfrd/legacy/samples/mapk/plot_mean.py | 176 +
.../legacy/samples/mapk/plot_response_time.py | 270 +
ecell4/egfrd/legacy/samples/mapk/plot_ss.py | 527 +
ecell4/egfrd/legacy/samples/mapk/plot_ss2.py | 200 +
ecell4/egfrd/legacy/samples/mapk/plot_tc.py | 81 +
ecell4/egfrd/legacy/samples/mapk/rebind_ratio.py | 0
.../legacy/samples/mapk/rebind_ratio/Makefile | 129 +
.../legacy/samples/mapk/rebind_ratio/plot_hist.py | 253 +
.../legacy/samples/mapk/rebind_ratio/plot_ratio.py | 98 +
ecell4/egfrd/legacy/samples/mapk/run-ecell.py | 21 +
ecell4/egfrd/legacy/samples/mapk/run_ecell_all.py | 26 +
.../egfrd/legacy/samples/mapk/run_ecell_model4.py | 28 +
.../legacy/samples/mapk/run_ecell_model4_all.py | 56 +
.../samples/mapk/run_ecell_responsetime_all.py | 62 +
.../egfrd/legacy/samples/mapk/run_ecell_ss_all.py | 58 +
ecell4/egfrd/legacy/samples/mapk/run_ecell_tc.py | 83 +
.../legacy/samples/mapk/run_model3-smallt-2.py | 224 +
.../egfrd/legacy/samples/mapk/run_model3-smallt.py | 224 +
.../legacy/samples/mapk/second_assoc_ratio.py | 278 +
.../egfrd/legacy/samples/mapk/second_phos_ratio.py | 281 +
ecell4/egfrd/legacy/samples/pushpull/fractionS.py | 21 +
ecell4/egfrd/legacy/samples/pushpull/plot.py | 167 +
ecell4/egfrd/legacy/samples/pushpull/plot_tc.py | 77 +
ecell4/egfrd/legacy/samples/pushpull/pushpull.em | 137 +
ecell4/egfrd/legacy/samples/pushpull/pushpull.py | 231 +
ecell4/egfrd/legacy/samples/rebind/data/.empty-dir | 0
ecell4/egfrd/legacy/samples/rebind/plot.py | 159 +
ecell4/egfrd/legacy/samples/rebind/run.py | 195 +
ecell4/egfrd/legacy/samples/rebind/run2.py | 151 +
ecell4/egfrd/legacy/samples/reversible/Makefile | 31 +
ecell4/egfrd/legacy/samples/reversible/README | 53 +
.../legacy/samples/reversible/data/.empty-dir | 0
.../legacy/samples/reversible/make_p_rev_files.py | 8 +
.../legacy/samples/reversible/make_p_rev_files.sh | 5 +
.../egfrd/legacy/samples/reversible/p_rev.-1.tsv | 1000 +
.../egfrd/legacy/samples/reversible/p_rev.-2.tsv | 1000 +
ecell4/egfrd/legacy/samples/reversible/p_rev.0.tsv | 1000 +
ecell4/egfrd/legacy/samples/reversible/p_rev.1.tsv | 1000 +
ecell4/egfrd/legacy/samples/reversible/p_rev.2.tsv | 1000 +
ecell4/egfrd/legacy/samples/reversible/p_rev.3.tsv | 1000 +
ecell4/egfrd/legacy/samples/reversible/p_rev.math | 48 +
ecell4/egfrd/legacy/samples/reversible/p_rev.py | 44 +
ecell4/egfrd/legacy/samples/reversible/p_rev.tsv | 101 +
ecell4/egfrd/legacy/samples/reversible/plot.py | 108 +
ecell4/egfrd/legacy/samples/reversible/run.py | 90 +
ecell4/egfrd/legacy/samples/simple/simple.py | 30 +
ecell4/egfrd/legacy/samples/single/plot.py | 71 +
ecell4/egfrd/legacy/samples/single/run.py | 74 +
ecell4/egfrd/legacy/samples/tf/tf.py | 83 +
ecell4/egfrd/legacy/test/AllTests.cpp | 3 +
ecell4/egfrd/legacy/test/BDPropagator_test.cpp | 162 +
ecell4/egfrd/legacy/test/BDSimulator_test.cpp | 95 +
ecell4/egfrd/legacy/test/BDSimulator_test.py | 85 +
.../test/CylindricalBesselGenerator_test.cpp | 84 +
.../legacy/test/CylindricalShellContainer_test.py | 81 +
.../egfrd/legacy/test/CylindricalSurface_test.py | 59 +
.../legacy/test/DynamicPriorityQueue_test.cpp | 628 +
ecell4/egfrd/legacy/test/EGFRDSimulator_test.cpp | 118 +
ecell4/egfrd/legacy/test/EGFRDSimulator_test.py | 297 +
ecell4/egfrd/legacy/test/EventScheduler_test.py | 75 +
.../legacy/test/GreensFunction1DAbsAbs_test.py | 250 +
.../legacy/test/GreensFunction1DRadAbs_test.py | 269 +
.../legacy/test/GreensFunction3DAbsSym_test.py | 167 +
.../egfrd/legacy/test/GreensFunction3DAbs_test.py | 395 +
.../legacy/test/GreensFunction3DRadAbs_test.py | 860 +
.../legacy/test/GreensFunction3DRadInf_test.py | 424 +
.../egfrd/legacy/test/GreensFunction3DSym_test.py | 99 +
ecell4/egfrd/legacy/test/GreensFunction3D_test.py | 203 +
ecell4/egfrd/legacy/test/Makefile.am | 134 +
.../legacy/test/MatrixSpaceWithCylinders_test.cpp | 141 +
ecell4/egfrd/legacy/test/MatrixSpace_test.cpp | 400 +
ecell4/egfrd/legacy/test/Model_test.py | 38 +
.../egfrd/legacy/test/NetworkRulesWrapper_test.py | 37 +
ecell4/egfrd/legacy/test/NetworkRules_test.py | 70 +
ecell4/egfrd/legacy/test/PlanarSurface_test.py | 58 +
ecell4/egfrd/legacy/test/ReactionRecord_test.py | 54 +
ecell4/egfrd/legacy/test/ReactionRule_test.py | 108 +
.../legacy/test/SphericalBesselGenerator_test.cpp | 84 +
.../legacy/test/SphericalBesselTable_test.cpp | 44 +
.../legacy/test/SphericalShellContainer_test.py | 82 +
ecell4/egfrd/legacy/test/StructureUtils_test.cpp | 61 +
ecell4/egfrd/legacy/test/Vector3_test.cpp | 18 +
ecell4/egfrd/legacy/test/World_test.cpp | 346 +
ecell4/egfrd/legacy/test/alltests.py | 20 +
ecell4/egfrd/legacy/test/array_helper_test.cpp | 16 +
ecell4/egfrd/legacy/test/filters_test.cpp | 84 +
ecell4/egfrd/legacy/test/fpp1test.py | 40 +
ecell4/egfrd/legacy/test/freeFunctions_test.py | 190 +
ecell4/egfrd/legacy/test/geometry_test.cpp | 30 +
ecell4/egfrd/legacy/test/linear_algebra_test.cpp | 23 +
ecell4/egfrd/legacy/test/model_test.cpp | 123 +
ecell4/egfrd/legacy/test/p.py | 205 +
ecell4/egfrd/legacy/test/pointer_as_ref_test.cpp | 28 +
ecell4/egfrd/legacy/test/position_test.cpp | 66 +
.../egfrd/legacy/test/py_range_converters_test.cpp | 24 +
ecell4/egfrd/legacy/test/range_support_test.cpp | 46 +
ecell4/egfrd/legacy/test/sorted_list_test.cpp | 21 +
ecell4/egfrd/legacy/test/test.py | 239 +
ecell4/egfrd/legacy/test/utils_test.py | 94 +
ecell4/egfrd/legacy/wscript | 161 +
ecell4/egfrd/linear_algebra.hpp | 438 +
ecell4/egfrd/pyport.patch | 38 +
ecell4/egfrd/samples/CMakeLists.txt | 5 +
ecell4/egfrd/samples/mymapk.cpp | 246 +
ecell4/egfrd/samples/polygon.cpp | 208 +
ecell4/egfrd/samples/wscript | 34 +
ecell4/egfrd/sorted_list.hpp | 201 +
ecell4/egfrd/structures.hpp | 151 +
ecell4/egfrd/tablegen/CMakeLists.txt | 25 +
ecell4/egfrd/tablegen/cjy_table.hpp | 228 +
ecell4/egfrd/tablegen/cmlwinpy27.txt | 46 +
ecell4/egfrd/tablegen/cmlwinpy35.txt | 46 +
ecell4/egfrd/tablegen/make_cjy_table.cpp | 85 +
ecell4/egfrd/tablegen/make_sjy_table.cpp | 85 +
ecell4/egfrd/tablegen/make_table_util.hpp | 87 +
ecell4/egfrd/tablegen/sjy_table.hpp | 221 +
ecell4/egfrd/tablegen/sph_bessel.hpp | 156 +
ecell4/egfrd/tests/GreensFunction3DRadInf_test.cpp | 38 +
ecell4/egfrd/twofold_container.hpp | 278 +
ecell4/egfrd/utils.cpp | 18 +
ecell4/egfrd/utils.hpp | 6 +
ecell4/egfrd/utils/array_helper.hpp | 49 +
ecell4/egfrd/utils/array_traits.hpp | 63 +
ecell4/egfrd/utils/assoc_container_traits.hpp | 24 +
ecell4/egfrd/utils/base_type_walker.hpp | 40 +
ecell4/egfrd/utils/fun_composition.hpp | 189 +
ecell4/egfrd/utils/fun_wrappers.hpp | 135 +
ecell4/egfrd/utils/get_default_impl.hpp | 46 +
ecell4/egfrd/utils/map_adapter.hpp | 192 +
ecell4/egfrd/utils/math.hpp | 26 +
ecell4/egfrd/utils/memberwise_compare.hpp | 36 +
ecell4/egfrd/utils/pair.hpp | 134 +
ecell4/egfrd/utils/pointer_as_ref.hpp | 55 +
ecell4/egfrd/utils/pointer_preds.hpp | 17 +
ecell4/egfrd/utils/random.hpp | 20 +
ecell4/egfrd/utils/range.hpp | 333 +
ecell4/egfrd/utils/range_support.hpp | 111 +
ecell4/egfrd/utils/reference_or_instance.hpp | 59 +
ecell4/egfrd/utils/reset.hpp | 19 +
ecell4/egfrd/utils/stringizer.hpp | 31 +
ecell4/egfrd/utils/swap.hpp | 18 +
ecell4/egfrd/utils/unassignable_adapter.hpp | 344 +
ecell4/gillespie/CMakeLists.txt | 20 +
ecell4/gillespie/GillespieFactory.hpp | 94 +
ecell4/gillespie/GillespieSimulator.cpp | 213 +
ecell4/gillespie/GillespieSimulator.hpp | 487 +
ecell4/gillespie/GillespieWorld.cpp | 154 +
ecell4/gillespie/GillespieWorld.hpp | 206 +
ecell4/gillespie/samples/CMakeLists.txt | 2 +
ecell4/gillespie/samples/simple.cpp | 53 +
ecell4/gillespie/tests/CMakeLists.txt | 16 +
ecell4/gillespie/tests/GillespieSimulator_test.cpp | 49 +
ecell4/gillespie/tests/GillespieWorld_test.cpp | 39 +
ecell4/meso/CMakeLists.txt | 20 +
ecell4/meso/MesoscopicFactory.hpp | 123 +
ecell4/meso/MesoscopicSimulator.cpp | 275 +
ecell4/meso/MesoscopicSimulator.hpp | 916 +
ecell4/meso/MesoscopicWorld.cpp | 353 +
ecell4/meso/MesoscopicWorld.hpp | 419 +
ecell4/meso/samples/CMakeLists.txt | 2 +
ecell4/meso/samples/simple-meso.cpp | 57 +
ecell4/meso/tests/CMakeLists.txt | 16 +
ecell4/meso/tests/MesoscopicSimulator_test.cpp | 51 +
ecell4/ode/CMakeLists.txt | 20 +
ecell4/ode/ODEFactory.hpp | 160 +
ecell4/ode/ODENetworkModel.cpp | 62 +
ecell4/ode/ODENetworkModel.hpp | 163 +
ecell4/ode/ODERatelaw.cpp | 73 +
ecell4/ode/ODERatelaw.hpp | 281 +
ecell4/ode/ODEReactionRule.cpp | 75 +
ecell4/ode/ODEReactionRule.hpp | 276 +
ecell4/ode/ODESimulator.cpp | 154 +
ecell4/ode/ODESimulator.hpp | 462 +
ecell4/ode/ODEWorld.cpp | 147 +
ecell4/ode/ODEWorld.hpp | 328 +
ecell4/ode/samples/CMakeLists.txt | 13 +
ecell4/ode/samples/dissociation.cpp | 61 +
ecell4/ode/samples/equilibrium.cpp | 65 +
ecell4/ode/samples/equilibrium2.cpp | 76 +
ecell4/ode/samples/odesimulator2.cpp | 76 +
ecell4/ode/tests/CMakeLists.txt | 17 +
ecell4/ode/tests/ODESimulator_test.cpp | 73 +
ecell4/spatiocyte/CMakeLists.txt | 17 +
ecell4/spatiocyte/ReactionEvent.cpp | 127 +
ecell4/spatiocyte/SpatiocyteEvent.hpp | 132 +
ecell4/spatiocyte/SpatiocyteFactory.hpp | 104 +
ecell4/spatiocyte/SpatiocyteReactions.cpp | 466 +
ecell4/spatiocyte/SpatiocyteReactions.hpp | 124 +
ecell4/spatiocyte/SpatiocyteSimulator.cpp | 211 +
ecell4/spatiocyte/SpatiocyteSimulator.hpp | 105 +
ecell4/spatiocyte/SpatiocyteWorld.cpp | 564 +
ecell4/spatiocyte/SpatiocyteWorld.hpp | 611 +
ecell4/spatiocyte/StepEvent.cpp | 211 +
ecell4/spatiocyte/samples/CMakeLists.txt | 5 +
ecell4/spatiocyte/samples/diffusion.cpp | 64 +
ecell4/spatiocyte/samples/simple_lattice.cpp | 79 +
ecell4/spatiocyte/tests/CMakeLists.txt | 16 +
.../spatiocyte/tests/SpatiocyteSimulator_test.cpp | 571 +
ecell4/spatiocyte/tests/SpatiocyteWorld_test.cpp | 264 +
ecell4/spatiocyte/utils.cpp | 112 +
ecell4/spatiocyte/utils.hpp | 23 +
licenses/NOTICE.txt | 10 +
licenses/hdf5.txt | 69 +
misc/benchmark.png | Bin 0 -> 147869 bytes
misc/benchmark.py | 223 +
misc/ecell4paraview.py | 113 +
python/CMakeLists.txt | 82 +
python/MANIFEST.in | 18 +
python/lib/ecell4/.gitignore | 1 +
python/lib/ecell4/CompartmentSpace.pxi | 40 +
python/lib/ecell4/Integer3.pxi | 217 +
python/lib/ecell4/Model.pxi | 253 +
python/lib/ecell4/NetfreeModel.pxi | 290 +
python/lib/ecell4/NetworkModel.pxi | 265 +
python/lib/ecell4/Particle.pxi | 132 +
python/lib/ecell4/ParticleSpace.pxi | 77 +
python/lib/ecell4/RandomNumberGenerator.pxi | 166 +
python/lib/ecell4/Ratelaw.pxi | 70 +
python/lib/ecell4/ReactionRule.pxi | 450 +
python/lib/ecell4/Real3.pxi | 247 +
python/lib/ecell4/Space.pxi | 18 +
python/lib/ecell4/Species.pxi | 309 +
python/lib/ecell4/UnitSpecies.pxi | 101 +
python/lib/ecell4/Voxel.pxi | 81 +
python/lib/ecell4/__init__.py.in | 5 +
python/lib/ecell4/bd.pxd | 145 +
python/lib/ecell4/bd.pyx | 988 +
python/lib/ecell4/context.pxd | 18 +
python/lib/ecell4/core.pxd | 829 +
python/lib/ecell4/core.pyx | 99 +
python/lib/ecell4/create_reaction_rule.pxd | 18 +
python/lib/ecell4/datasource/__init__.py | 59 +
python/lib/ecell4/datasource/biocyc.py | 167 +
python/lib/ecell4/datasource/biogrid.py | 105 +
python/lib/ecell4/datasource/ecocyc.py | 44 +
python/lib/ecell4/datasource/pdb.py | 111 +
python/lib/ecell4/datasource/psicquic.py | 487 +
python/lib/ecell4/datasource/pubmed.py | 99 +
python/lib/ecell4/datasource/rdf.py | 42 +
python/lib/ecell4/datasource/sbml.py | 198 +
python/lib/ecell4/datasource/sparql.py | 105 +
python/lib/ecell4/datasource/uniprot.py | 500 +
python/lib/ecell4/egfrd.pxd | 202 +
python/lib/ecell4/egfrd.pyx | 1344 +
python/lib/ecell4/extra/__init__.py | 0
python/lib/ecell4/extra/ensemble.py | 381 +
python/lib/ecell4/extra/sge.py | 130 +
python/lib/ecell4/extra/vtkview.py | 333 +
python/lib/ecell4/extras.pxd | 4 +
python/lib/ecell4/functions.pxd | 6 +
python/lib/ecell4/gillespie.pxd | 113 +
python/lib/ecell4/gillespie.pyx | 741 +
python/lib/ecell4/integer3operators.pxd | 18 +
python/lib/ecell4/meso.pxd | 149 +
python/lib/ecell4/meso.pyx | 1065 +
python/lib/ecell4/multiset.pxd | 12 +
python/lib/ecell4/observers.pxi | 990 +
python/lib/ecell4/ode.pxd | 237 +
python/lib/ecell4/ode.pyx | 1394 +
python/lib/ecell4/real3operators.pxd | 23 +
python/lib/ecell4/shape_functions.pxd | 7 +
python/lib/ecell4/shapes.pxi | 1277 +
python/lib/ecell4/shared_ptr.pxd | 7 +
python/lib/ecell4/spatiocyte.pxd | 201 +
python/lib/ecell4/spatiocyte.pyx | 1573 +
python/lib/ecell4/types.pxd | 9 +
python/lib/ecell4/util.pxd | 13 +
python/lib/ecell4/util/__init__.py | 12 +
python/lib/ecell4/util/cyjs.py | 71 +
python/lib/ecell4/util/decorator.py | 426 +
python/lib/ecell4/util/decorator_base.py | 259 +
python/lib/ecell4/util/legacy/__init__.py | 0
python/lib/ecell4/util/legacy/bdml.py | 27 +
python/lib/ecell4/util/legacy/bng_exporter.py | 325 +
python/lib/ecell4/util/legacy/decorator2.py | 423 +
python/lib/ecell4/util/legacy/lattice_space.py | 95 +
python/lib/ecell4/util/legacy/network.py | 150 +
python/lib/ecell4/util/legacy/options.py | 112 +
python/lib/ecell4/util/legacy/particle_space.py | 52 +
.../util/legacy/particle_spatiocyte_loader.py | 161 +
python/lib/ecell4/util/legacy/sbml_exporter.py | 140 +
python/lib/ecell4/util/legacy/spatiocyte_tools.py | 396 +
python/lib/ecell4/util/legacy/species.py | 1431 +
python/lib/ecell4/util/logger.py | 19 +
python/lib/ecell4/util/parseobj.py | 703 +
python/lib/ecell4/util/ports.py | 407 +
python/lib/ecell4/util/progressbar.py | 186 +
python/lib/ecell4/util/show.py | 33 +
python/lib/ecell4/util/simulation.py | 255 +
.../lib/ecell4/util/templates/ecelllogo/logo01.png | Bin 0 -> 2499 bytes
.../lib/ecell4/util/templates/ecelllogo/logo02.png | Bin 0 -> 2525 bytes
.../lib/ecell4/util/templates/ecelllogo/logo03.png | Bin 0 -> 2480 bytes
.../lib/ecell4/util/templates/ecelllogo/logo04.png | Bin 0 -> 2523 bytes
.../lib/ecell4/util/templates/ecelllogo/logo05.png | Bin 0 -> 2536 bytes
.../lib/ecell4/util/templates/ecelllogo/logo06.png | Bin 0 -> 2531 bytes
.../lib/ecell4/util/templates/ecelllogo/logo07.png | Bin 0 -> 2545 bytes
.../lib/ecell4/util/templates/ecelllogo/logo08.png | Bin 0 -> 2520 bytes
.../lib/ecell4/util/templates/ecelllogo/logo09.png | Bin 0 -> 2514 bytes
.../lib/ecell4/util/templates/ecelllogo/logo10.png | Bin 0 -> 2528 bytes
.../lib/ecell4/util/templates/ecelllogo/logo11.png | Bin 0 -> 2535 bytes
.../lib/ecell4/util/templates/ecelllogo/logo12.png | Bin 0 -> 2542 bytes
.../lib/ecell4/util/templates/ecelllogo/logo13.png | Bin 0 -> 2522 bytes
.../lib/ecell4/util/templates/ecelllogo/logo14.png | Bin 0 -> 2551 bytes
.../lib/ecell4/util/templates/ecelllogo/logo15.png | Bin 0 -> 2515 bytes
python/lib/ecell4/util/templates/init_cyjs.js | 19 +
python/lib/ecell4/util/templates/movie.tmpl | 74 +
python/lib/ecell4/util/templates/nya.tmpl | 69 +
python/lib/ecell4/util/templates/particles.tmpl | 58 +
python/lib/ecell4/util/templates/template.html | 62 +
python/lib/ecell4/util/viz.py | 2174 +
python/lib/ecell4/util/vizstyles.py | 64 +
python/samples/conv2bngl.py | 67 +
python/samples/conv2sbml.py | 75 +
python/samples/dissociation.py | 37 +
python/samples/drosophila.py | 104 +
python/samples/ode_simulator.py | 104 +
python/samples/ode_simulator_pickle.py | 149 +
python/samples/oregonator.py | 90 +
.../CaOscillate_Func/CaOscillate_Func.py | 98 +
.../reaction_reader/CaOscillate_Func/convert.py | 21 +
python/samples/reaction_reader/Haugh2b/Haugh2b.py | 146 +
python/samples/reaction_reader/Haugh2b/convert.py | 13 +
.../reaction_reader/Repressilator/Repressilator.py | 195 +
.../reaction_reader/Repressilator/convert.py | 16 +
.../reaction_reader/Repressilator/export.bngl | 73 +
.../SHP2_base_model/SHP2_base_model.py | 299 +
.../reaction_reader/SHP2_base_model/convert.py | 21 +
python/samples/reaction_reader/blbr/blbr.py | 75 +
.../samples/reaction_reader/catalysis/catalysis.py | 123 +
.../samples/reaction_reader/catalysis/convert.py | 21 +
python/samples/reaction_reader/egfr/egfr.py | 82 +
python/samples/reaction_reader/egfr/gen_nw.py | 31 +
.../gene_expr_func/gene_expr_func.py | 141 +
.../reaction_reader/label_test/label_test.py | 43 +
python/samples/reaction_reader/mapk/mapk.py | 38 +
python/samples/reaction_reader/multi/multi.py | 68 +
python/samples/reaction_reader/simple/simple.py | 66 +
.../reaction_reader/simple_system/convert.py | 21 +
.../reaction_reader/simple_system/simple_system.py | 166 +
python/samples/reaction_reader/tag/tag.py | 63 +
.../reaction_reader/tag_extend/tag_extend.py | 26 +
.../reaction_reader/test_fixed/test_fixed.py | 52 +
python/samples/reaction_reader/tlbr/convert.py | 24 +
python/samples/reaction_reader/tlbr/tlbr.py | 86 +
python/samples/reaction_reader/toy-jim/convert.py | 21 +
python/samples/reaction_reader/toy-jim/toyjim.py | 194 +
python/samples/sample.py | 85 +
python/samples/simple.py | 68 +
python/setup.py.in | 210 +
python/tests/core/__init__.py | 0
python/tests/core/test_context.py | 27 +
python/tests/core/test_core.py | 86 +
python/tests/core/test_network_model.py | 56 +
python/tests/core/test_particle_space.py | 34 +
python/tests/core/test_species.py | 83 +
python/tests/util/__init__.py | 0
readthedocs/api/bd.rst | 5 +
readthedocs/api/core.rst | 5 +
readthedocs/api/egfrd.rst | 5 +
readthedocs/api/gillespie.rst | 5 +
readthedocs/api/meso.rst | 5 +
readthedocs/api/ode.rst | 5 +
readthedocs/api/spatiocyte.rst | 5 +
readthedocs/api/util.decorator.rst | 5 +
readthedocs/api/util.rst | 5 +
readthedocs/api/util.viz.rst | 5 +
readthedocs/conf.py | 70 +
readthedocs/examples/example1.rst | 483 +
readthedocs/examples/example10.rst | 95 +
.../examples/example10_files/example10_13_0.png | Bin 0 -> 18474 bytes
readthedocs/examples/example11.rst | 70 +
.../examples/example11_files/example11_4_0.png | Bin 0 -> 36551 bytes
readthedocs/examples/example2.rst | 53 +
.../examples/example2_files/example2_4_0.png | Bin 0 -> 58644 bytes
.../examples/example2_files/example2_5_0.png | Bin 0 -> 70825 bytes
readthedocs/examples/example3.rst | 123 +
.../examples/example3_files/example3_8_0.png | Bin 0 -> 26045 bytes
readthedocs/examples/example4.rst | 288 +
readthedocs/examples/example5.rst | 45 +
.../examples/example5_files/example5_4_0.png | Bin 0 -> 15466 bytes
readthedocs/examples/example6.rst | 124 +
.../examples/example6_files/example6_4_0.png | Bin 0 -> 25001 bytes
.../examples/example6_files/example6_8_0.png | Bin 0 -> 42864 bytes
.../examples/example6_files/example6_9_0.png | Bin 0 -> 21738 bytes
readthedocs/examples/example7.rst | 63040 +++++++++++++++++++
.../examples/example7_files/example7_16_0.png | Bin 0 -> 36621 bytes
.../examples/example7_files/example7_4_0.png | Bin 0 -> 38033 bytes
.../examples/example7_files/example7_7_0.png | Bin 0 -> 41677 bytes
.../examples/example7_files/example7_8_0.png | Bin 0 -> 43978 bytes
readthedocs/examples/example8.rst | 20748 ++++++
.../examples/example8_files/example8_18_0.png | Bin 0 -> 49399 bytes
readthedocs/examples/example9.rst | 36038 +++++++++++
.../examples/example9_files/example9_18_0.png | Bin 0 -> 65812 bytes
readthedocs/images/ecell-logo-with-title.png | Bin 0 -> 18152 bytes
readthedocs/images/gfrd.png | Bin 0 -> 600004 bytes
readthedocs/images/hairball.png | Bin 0 -> 77406 bytes
readthedocs/images/intro_28_0.png | Bin 0 -> 11287 bytes
readthedocs/images/intro_31_0.png | Bin 0 -> 15350 bytes
readthedocs/images/intro_37_0.png | Bin 0 -> 11287 bytes
readthedocs/images/meso_10_0.png | Bin 0 -> 16274 bytes
readthedocs/images/meso_12_0.png | Bin 0 -> 16924 bytes
readthedocs/images/meso_32_0.png | Bin 0 -> 13801 bytes
readthedocs/images/meso_33_0.png | Bin 0 -> 18667 bytes
readthedocs/images/meso_7_0.png | Bin 0 -> 16062 bytes
readthedocs/images/output_7_0.png | Bin 0 -> 10902 bytes
readthedocs/images/spatiocyte3.png | Bin 0 -> 1081668 bytes
readthedocs/images/spatiocyte_21_0.png | Bin 0 -> 16989 bytes
readthedocs/images/spatiocyte_48_0.png | Bin 0 -> 6427 bytes
readthedocs/images/worldsim_1_0.png | Bin 0 -> 11287 bytes
readthedocs/images/worldsim_24_0.png | Bin 0 -> 11374 bytes
readthedocs/images/worldsim_28_0.png | Bin 0 -> 13655 bytes
readthedocs/index.rst | 67 +
readthedocs/installation.md | 170 +
readthedocs/old/Introduction.md | 293 +
readthedocs/old/Meso.md | 419 +
readthedocs/old/Spatiocyte.md | 859 +
readthedocs/old/WorldSimBasics.md | 202 +
readthedocs/old/license.md | 12 +
readthedocs/old/tutorials.md | 63 +
readthedocs/tutorials/tutorial1.rst | 194 +
readthedocs/tutorials/tutorial10.rst | 505 +
.../tutorials/tutorial10_files/tutorial10_11_0.png | Bin 0 -> 40414 bytes
.../tutorials/tutorial10_files/tutorial10_13_0.png | Bin 0 -> 58565 bytes
.../tutorials/tutorial10_files/tutorial10_24_0.png | Bin 0 -> 25718 bytes
.../tutorials/tutorial10_files/tutorial10_32_0.png | Bin 0 -> 95995 bytes
.../tutorials/tutorial10_files/tutorial10_35_0.png | Bin 0 -> 49430 bytes
.../tutorials/tutorial10_files/tutorial10_37_0.png | Bin 0 -> 177714 bytes
.../tutorials/tutorial10_files/tutorial10_41_0.png | Bin 0 -> 112194 bytes
.../tutorials/tutorial10_files/tutorial10_46_0.png | Bin 0 -> 23936 bytes
.../tutorials/tutorial10_files/tutorial10_46_1.png | Bin 0 -> 74269 bytes
.../tutorials/tutorial10_files/tutorial10_5_0.png | Bin 0 -> 24665 bytes
.../tutorials/tutorial1_files/tutorial1_12_0.png | Bin 0 -> 25293 bytes
.../tutorials/tutorial1_files/tutorial1_22_0.png | Bin 0 -> 45598 bytes
.../tutorials/tutorial1_files/tutorial1_24_0.png | Bin 0 -> 166977 bytes
.../tutorials/tutorial1_files/tutorial1_6_0.png | Bin 0 -> 17510 bytes
.../tutorials/tutorial1_files/tutorial1_8_0.png | Bin 0 -> 25272 bytes
readthedocs/tutorials/tutorial2.rst | 503 +
.../tutorials/tutorial2_files/tutorial2_38_0.png | Bin 0 -> 18006 bytes
.../tutorials/tutorial2_files/tutorial2_48_0.png | Bin 0 -> 15801 bytes
readthedocs/tutorials/tutorial3.rst | 772 +
readthedocs/tutorials/tutorial4.rst | 418 +
readthedocs/tutorials/tutorial5.rst | 3505 ++
.../tutorials/tutorial5_files/tutorial5_29_0.png | Bin 0 -> 26614 bytes
.../tutorials/tutorial5_files/tutorial5_31_0.png | Bin 0 -> 30322 bytes
.../tutorials/tutorial5_files/tutorial5_33_0.png | Bin 0 -> 17029 bytes
.../tutorials/tutorial5_files/tutorial5_35_0.png | Bin 0 -> 45358 bytes
.../tutorials/tutorial5_files/tutorial5_39_0.png | Bin 0 -> 74374 bytes
readthedocs/tutorials/tutorial6.rst | 511 +
.../tutorials/tutorial6_files/tutorial6_22_0.png | Bin 0 -> 17727 bytes
.../tutorials/tutorial6_files/tutorial6_30_0.png | Bin 0 -> 21750 bytes
.../tutorials/tutorial6_files/tutorial6_36_0.png | Bin 0 -> 30294 bytes
.../tutorials/tutorial6_files/tutorial6_44_0.png | Bin 0 -> 30701 bytes
.../tutorials/tutorial6_files/tutorial6_54_0.png | Bin 0 -> 15583 bytes
readthedocs/tutorials/tutorial7.rst | 567 +
readthedocs/tutorials/tutorial8.rst | 260 +
.../tutorials/tutorial8_files/tutorial8_1_0.png | Bin 0 -> 18006 bytes
.../tutorials/tutorial8_files/tutorial8_25_0.png | Bin 0 -> 17647 bytes
.../tutorials/tutorial8_files/tutorial8_28_0.png | Bin 0 -> 23574 bytes
readthedocs/tutorials/tutorial9.rst | 353 +
.../tutorials/tutorial9_files/tutorial9_11_0.png | Bin 0 -> 23786 bytes
.../tutorials/tutorial9_files/tutorial9_22_0.png | Bin 0 -> 59277 bytes
.../tutorials/tutorial9_files/tutorial9_27_0.png | Bin 0 -> 37830 bytes
.../tutorials/tutorial9_files/tutorial9_29_0.png | Bin 0 -> 22392 bytes
.../tutorials/tutorial9_files/tutorial9_30_0.png | Bin 0 -> 59023 bytes
.../tutorials/tutorial9_files/tutorial9_32_0.png | Bin 0 -> 29771 bytes
.../tutorials/tutorial9_files/tutorial9_6_0.png | Bin 0 -> 23971 bytes
.../tutorials/tutorial9_files/tutorial9_9_0.png | Bin 0 -> 21912 bytes
requirements.txt | 5 +
873 files changed, 294054 insertions(+), 178 deletions(-)
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..25f9b0a
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,13 @@
+.DS_Store
+*~
+*.swp
+build
+*.pyo
+*.pyc
+.lock-waf_linux2_build
+*.cmake
+Makefile
+CMakeFiles
+*.so
+ecell4/*/tests/*.h5
+ecell4/*/tests/*_test
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..e69de29
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..c1422ed
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,102 @@
+dist: trusty
+sudo: false
+language: cpp
+matrix:
+ include:
+ - os: linux
+ compiler: gcc
+ language: python
+ python: "2.7"
+ - os: linux
+ compiler: clang
+ language: python
+ python: "2.7"
+ - os: linux
+ compiler: gcc
+ language: python
+ python: "3.5"
+ - os: linux
+ compiler: clang
+ language: python
+ python: "3.5"
+ - os: osx
+ compiler: clang
+ env: TRAVIS_PYTHON_VERSION="2.7"
+ - os: osx
+ compiler: clang
+ env: TRAVIS_PYTHON_VERSION="3.5"
+
+addons:
+ apt:
+ sources:
+# - sourceline: 'ppa:mc3man/trusty-media'
+ - ubuntu-toolchain-r-test
+ packages:
+ - cmake
+ - clang
+ - libboost-dev
+ - libgsl0-dev
+ - libhdf5-serial-dev
+ - python-dev
+ - python3-dev
+ - python3
+ - python
+ - wget
+# - ffmpeg
+
+before_install:
+- if [ "$TRAVIS_OS_NAME" == "osx" ]; then
+ brew update; brew upgrade;
+ brew install gsl ffmpeg;
+ brew install homebrew/science/hdf5;
+ if [[ $TRAVIS_PYTHON_VERSION == 3* ]]; then
+ brew install python3;
+ which python3;
+ /usr/local/bin/python3 -V;
+ brew install freetype;
+ fi;
+ fi
+
+- which python
+- python -V
+
+- if [ "$TRAVIS_OS_NAME" == "linux" ]; then
+ mkdir ~/local;
+ wget https://bootstrap.pypa.io/get-pip.py;
+ python get-pip.py;
+ python -m pip install -U cython numpy matplotlib jupyter;
+ fi
+- if [ "$TRAVIS_OS_NAME" == "osx" ]; then
+ curl -O https://bootstrap.pypa.io/get-pip.py;
+ if [[ $TRAVIS_PYTHON_VERSION == 2* ]]; then
+ /usr/local/bin/python get-pip.py;
+ /usr/local/bin/python -m pip install -U cython numpy matplotlib jupyter;
+ fi;
+ if [[ $TRAVIS_PYTHON_VERSION == 3* ]]; then
+ /usr/local/bin/python3 get-pip.py;
+ /usr/local/bin/python3 -m pip install -U cython numpy matplotlib jupyter;
+ fi;
+ fi
+
+script:
+- if [ "$TRAVIS_OS_NAME" == "linux" ]; then
+ bash -c 'cmake -DCMAKE_INSTALL_PREFIX=~/local . && make && make test && make install';
+ rm CMakeCache.txt;
+ fi
+- if [ "$TRAVIS_OS_NAME" == "osx" ]; then
+ if [[ $TRAVIS_PYTHON_VERSION == 2* ]]; then
+ sudo bash -c 'cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DPYTHON_EXECUTABLE:FILEPATH=/usr/local/bin/python . && make && make test && make install';
+ fi;
+ if [[ $TRAVIS_PYTHON_VERSION == 3* ]]; then
+ sudo bash -c 'cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DPYTHON_EXECUTABLE:FILEPATH=/usr/local/bin/python3 . && make && make test && make install';
+ fi;
+ rm CMakeCache.txt;
+ fi
+
+notifications:
+ webhooks:
+ urls:
+ - http://dev.e-cell.org/ecell-bot/travis/notification
+ slack:
+ secure: kCN8PCrinRfaDFKn93TMrYY5LberBt8GHDHOtSbR7B1Zmo9Pr/uHxxqoXlu1g9XYxgs2lud/AKo0gKMu8n+QHWeAXaOwe8GSccEqBdilXDVp4fzO96jT2R82RYljQ2wAR5ug1YIACRq06mtFn6U7GRZRnpRI4VsEUFLJPljZ+UM=
+ slack: ecell-project:LvsPrINO4bNonZNTNw3IqMhV
diff --git a/AUTHORS b/AUTHORS
new file mode 100644
index 0000000..7e62afb
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1,14 @@
+AUTHORS
+=======
+
+This is a list of people who have made contributions to E-Cell System Version 4.
+People are listed alphabetically by surname.
+
+Naohiro Aota
+Kazunari Kaizu <kaizu at riken.jp>
+Suguru Kato
+Moriyoshi Koizumi
+Kozo Nishida <knishida at riken.jp>
+Naoki Nishida
+Yuki Sakamoto
+Koichi Takahashi <ktakahashi at riken.jp>
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..03684aa
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,73 @@
+cmake_minimum_required(VERSION 2.6)
+# cmake_minimum_required(VERSION 3.0)
+project(ecell4)
+set(PROJECT_VERSION 4.1.2)
+
+if(ECELL4_ENABLE_PROFILING)
+ add_definitions(-pg -O0)
+ set(CMAKE_EXE_LINKER_FLAGS "-pg -O0 ${CMAKE_EXE_LINKER_FLAGS}")
+ set(CMAKE_SHARED_LINKER_FLAGS "-pg -O0 ${CMAKE_SHARED_LINKER_FLAGS}")
+ set(CMAKE_MODULE_LINKER_FLAGS "-pg -O0 ${CMAKE_MODULE_LINKER_FLAGS}")
+else(ECELL4_ENABLE_PROFILING)
+ add_definitions(-O2)
+ set(CMAKE_EXE_LINKER_FLAGS "-O2 ${CMAKE_EXE_LINKER_FLAGS}")
+ set(CMAKE_SHARED_LINKER_FLAGS "-O2 ${CMAKE_SHARED_LINKER_FLAGS}")
+ set(CMAKE_MODULE_LINKER_FLAGS "-O2 ${CMAKE_MODULE_LINKER_FLAGS}")
+endif(ECELL4_ENABLE_PROFILING)
+include_directories(${PROJECT_SOURCE_DIR})
+include_directories(${PROJECT_BINARY_DIR})
+enable_testing()
+
+find_package(VTK QUIET)
+if(VTK_FOUND)
+ include(${VTK_USE_FILE})
+ set(WITH_VTK 1)
+ set(HAVE_VTK 1)
+else()
+ set(WITH_VTK 0)
+endif()
+
+find_package(HDF5 COMPONENTS C CXX HL QUIET)
+if (HDF5_FOUND)
+ include_directories(${HDF5_INCLUDE_DIRS})
+ set(WITH_HDF5 1)
+else()
+ set(HDF5_LIBRARIES)
+ set(WITH_HDF5 0)
+endif()
+
+# find_package(Boost COMPONENTS regex)
+if(NOT Boost_FOUND)
+ find_package(Boost REQUIRED)
+else()
+ set(HAVE_BOOST_REGEX 1)
+endif()
+
+include_directories(${Boost_INCLUDE_DIRS})
+
+find_library(GSL_LIBRARIES gsl)
+find_library(GSL_CBLAS_LIBRARIES gslcblas)
+
+include(CheckIncludeFileCXX)
+# set(CMAKE_REQUIRED_INCLUDES "/usr/include")
+include(CheckCXXSourceCompiles)
+
+check_include_file_cxx(unordered_map HAVE_UNORDERED_MAP)
+check_cxx_source_compiles("#include <tr1/unordered_map>
+int main() { std::tr1::unordered_map<int, int> a, b(a); return 0; }"
+ HAVE_TR1_UNORDERED_MAP)
+check_include_file_cxx("boost/unordered_map.hpp" HAVE_BOOST_UNORDERED_MAP_HPP)
+
+check_cxx_source_compiles("#include <tr1/functional>
+int main() { std::tr1::hash<int>(); return 0; }"
+ HAVE_TR1_FUNCTIONAL)
+# check_include_file_cxx(functional HAVE_STD_HASH)
+check_cxx_source_compiles("#include <functional>
+int main() { std::hash<int>(); return 0; }"
+ HAVE_STD_HASH)
+check_include_file_cxx("boost/functional/hash.hpp" HAVE_BOOST_FUNCTIONAL_HASH_HPP)
+
+include_directories(${CMAKE_BINARY_DIR})
+
+add_subdirectory(ecell4)
+add_subdirectory(python)
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..7c5f4e4
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,11 @@
+FROM jupyter/minimal-notebook
+
+USER root
+
+RUN apt-get update && apt-get install -y libav-tools
+
+USER jovyan
+
+RUN conda install -y matplotlib && pip install ecell && \
+ wget https://github.com/ecell/ecell4-notebooks/archive/master.zip && unzip master.zip && \
+ mv ecell4-notebooks-master/* ./ && rm -rf ecell4-notebooks-master master.zip
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..d6a9326
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,340 @@
+GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc., <http://fsf.org/>
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ {description}
+ Copyright (C) {year} {fullname}
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ {signature of Ty Coon}, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
+
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..cf1a942
--- /dev/null
+++ b/README.md
@@ -0,0 +1,197 @@
+E-Cell System version 4
+=======================
+
+[![Build Status](https://travis-ci.org/ecell/ecell4.svg?branch=develop)](https://travis-ci.org/ecell/ecell4)
+[![Build status](https://ci.appveyor.com/api/projects/status/github/ecell/ecell4?svg=true)](https://ci.appveyor.com/project/kaizu/ecell4)
+[![Documentation Status](https://readthedocs.org/projects/ecell4/badge/?version=latest)](http://ecell4.readthedocs.org/en/latest/?badge=latest)
+[![PyPI](https://img.shields.io/pypi/v/ecell.svg)](https://pypi.python.org/pypi/ecell)
+[![License: GPL v2](https://img.shields.io/badge/license-GPL%20v2-blue.svg)](https://github.com/ecell/ecell4/blob/master/licenses/LICENSE)
+[![Slack Status](https://img.shields.io/badge/chat-on%20slack-50baa6.svg)](https://ecell-project.herokuapp.com/)
+<!---[![Slack Status](https://ecell-project.herokuapp.com/badge.svg)](https://ecell-project.herokuapp.com/)--->
+
+What is E-Cell System?
+----------------------
+
+E-Cell System is, a software platform for modeling, simulation and analysis of complex, heterogeneous and multi-scale systems like the cell.
+E-Cell has multi-algorithm, multi-timescale and multi-spatial-representation as its central feature.
+
+Installation and usage
+======================
+
+- [Installation](#installation)
+ - [Requirements](#requirements)
+ - [Windows](#windows)
+ - [Mac or Linux](#mac-or-linux)
+
+- [How to try E-Cell4 examples](#how-to-try-e-cell4-examples)
+
+- [Simple examples](#simple-examples)
+ - [A reversible binding reaction](#a-reversible-binding-reaction)
+ - [Particle tracking on a spherical surface](#particle-tracking-on-a-spherical-surface)
+
+- [Docker image for E-Cell4](#docker-image-for-e-cell4)
+
+Installation
+------------
+
+### Requirements
+
+#### Minimum requirements
+
+- Python (2.7 and 3.4, 3.5, 3.6 both major versions are supported [3.4 is supported only on Linux, Mac does not support 3.4 and 3.5])
+- pip (8.1 or later)
+- HDF5 (1.8.17, required only on **Windows**.)
+
+#### Optional requirements
+
+We strongly recommend that you run E-Cell4 with [Jupyter Notebook](http://jupyter.org/).
+Some E-Cell4 functions (for visualization, datastore) optionally depend on
+
+- matplotlib (**1.5.1** or later)
+- ffmpeg
+- pandas
+
+### Windows
+
+We recommend that you install [Miniconda](http://conda.pydata.org/miniconda.html) to manage Python packages.
+**Note that we do not support Python2.7 64bit for Windows.**
+
+- Install Miniconda for Windows from http://conda.pydata.org/miniconda.html
+- Run the following commands on command prompt
+
+ ```shell
+ conda install hdf5=1.8.17
+ conda install matplotlib notebook
+ pip install ecell
+ ```
+
+- (**Important**) E-Cell4 for Windows needs `HDF5` version **1.8.17**. If there's any problem, please run the following commands.
+
+ ```shell
+ conda uninstall hdf5
+ conda clean -a
+ conda install hdf5=1.8.17
+ ```
+
+If you use animated visualization with E-Cell4, please install [ffmpeg windows build](http://ffmpeg.zeranoe.com/builds/) and add its path to your **USER** PATH enviromental variable.
+
+### Mac or Linux
+
+We recommend that you install [Miniconda](http://conda.pydata.org/miniconda.html) to manage Python packages.
+After installing Miniconda, run the following commands in your terminal.
+
+(NOTICE for Mac users) We do not provide **Python3.5 whl for Mac**. Instead we provide **Python3.6 whl for Mac**. To use Python3.6 enviroment, please refer to http://conda.pydata.org/docs/py2or3.html . Continuum.io already offers Python3.6 conda packages.
+
+```shell
+# After installing Miniconda2 or Miniconda3 (Here we assume that you installed Miniconda3).
+~/miniconda2/bin/conda install matplotlib notebook
+
+# Download E-Cell4 whl file for your Python version from https://github.com/ecell/ecell4/releases before running this command.
+~/miniconda2/bin/pip install ecell
+
+# If you want animation support, install ffmpeg with homebrew
+brew install ffmpeg
+# or if you use Ubuntu Linux
+# apt install ffmpeg
+```
+
+How to try E-Cell4 examples
+---------------------------
+Here we download example notebooks from https://github.com/ecell/ecell4-notebooks and open it with Jupyter Notebook.
+
+### Windows
+Open powershell and run these commands.
+Here we assume that you installed Miniconda(Python3.5) to C:¥Miniconda3
+
+```shell
+cd C:¥Miniconda3¥Scripts
+wget https://github.com/ecell/ecell4-notebooks/archive/master.zip -OutFile master.zip
+Expand-Archive master.zip
+.¥jupyter-notebook.exe .¥master¥ecell4-notebooks-master¥
+```
+
+### Mac or Linux
+Here we assume that you installed Miniconda(Python3.5) to ~/miniconda3
+
+```shell
+wget https://github.com/ecell/ecell4-notebooks/archive/master.zip
+unzip master.zip
+cd ecell4-notebooks-master
+~/miniconda3/bin/jupyter-notebook
+```
+
+Simple examples
+---------------
+
+Here are two extremely simple examples, See http://ecell4.readthedocs.org for more details on running E-Cell4.
+
+```
+Python 2.7.6 (default, Mar 22 2014, 22:59:56)
+[GCC 4.8.2] on linux2
+Type "help", "copyright", "credits" or "license" for more information.
+>>> from ecell4.core import *
+>>> sp = Species("A.B.C")
+>>> print sp.serial()
+A.B.C
+>>>
+```
+
+### A reversible binding reaction
+
+```python
+%matplotlib inline
+import numpy
+from ecell4 import *
+
+with reaction_rules():
+ A + B == C | (0.01, 0.3)
+
+y = run_simulation(
+ numpy.linspace(0, 10, 100), {'A': 60, 'B': 60}, solver='ode')
+```
+
+![png](./readthedocs/images/output_7_0.png)
+
+### Particle tracking on a spherical surface
+
+```python
+%matplotlib inline
+from ecell4 import *
+
+with species_attributes():
+ A | {'D': '1', 'location': 'M'}
+
+surface = Sphere(ones() * 0.5, 0.5).surface()
+obs = FixedIntervalTrajectoryObserver(1e-4)
+run_simulation(
+ 0.4, y0={'A': 10}, structures={'M': surface},
+ solver='spatiocyte', observers=obs, return_type=None)
+
+viz.plot_trajectory(obs, interactive=False)
+```
+
+![png](./readthedocs/images/hairball.png)
+
+Docker image for E-Cell4
+----------------------------
+
+If you're familiar with Docker, the following commands should work in most cases:
+
+```shell
+docker pull ecell/ecell4
+docker run -d -p 8888:8888 ecell/ecell4 start-notebook.sh --NotebookApp.token=''
+```
+
+and open a web browser to `http://localhost:8888` .
+
+Our Docker image is based on **Minimal Jupyter Notebook Stack**. See https://github.com/jupyter/docker-stacks/tree/master/base-notebook or [Our Wiki page](https://github.com/ecell/ecell4/wiki/Security-in-the-Docker-Jupyter-notebook-server) for more details on the Docker command options.
+
+Licensing terms
+===============
+
+This product is licensed under the terms of the [GNU General Public License v2](https://github.com/ecell/ecell4/blob/master/licenses/LICENSE),
+See [NOTICE](https://github.com/ecell/ecell4/blob/master/licenses/NOTICE.txt) for the software included in this product.
+
+- Copyright (c) 2010-, RIKEN
+
+All rights reserved.
diff --git a/appveyor.yml b/appveyor.yml
new file mode 100644
index 0000000..4a264c1
--- /dev/null
+++ b/appveyor.yml
@@ -0,0 +1,124 @@
+#os: Visual Studio 2015
+
+environment:
+ global:
+ HDF_DIR: "C:/Program Files (x86)/HDF_Group/HDF5/1.8.17/lib"
+ BOOST_ROOT: C:\Libraries\boost
+
+ matrix:
+ - PYTHON: "C:\\Python27"
+ PYTHON_VERSION: "2.7.12"
+ PYTHON_ARCH: "32"
+
+ # - PYTHON: "C:\\Python27-x64"
+ # PYTHON_VERSION: "2.7.12"
+ # PYTHON_ARCH: "64"
+
+ - PYTHON: "C:\\Python35"
+ PYTHON_VERSION: "3.5.2"
+ PYTHON_ARCH: "32"
+
+ - PYTHON: "C:\\Python35-x64"
+ PYTHON_VERSION: "3.5.2"
+ PYTHON_ARCH: "64"
+
+ - PYTHON: "C:\\Python36"
+ PYTHON_VERSION: "3.6"
+ PYTHON_ARCH: "32"
+# VCVARSALL: "x86"
+
+ - PYTHON: "C:\\Python36-x64"
+ PYTHON_VERSION: "3.6"
+ PYTHON_ARCH: "64"
+# VCVARSALL: "x64"
+
+init:
+ - cmd: cmake --version
+
+install:
+ # install hdf5
+ - mkdir hdf5lib
+ - cd hdf5lib
+ - if "%PYTHON_VERSION%" == "2.7.12" if "%PYTHON_ARCH%" == "32" curl -LvkO https://anaconda.org/anaconda/hdf5/1.8.17/download/win-32/hdf5-1.8.17-vc9_0.tar.bz2
+ #- if "%PYTHON_VERSION%" == "2.7.12" if "%PYTHON_ARCH%" == "64" curl -LvkO https://anaconda.org/anaconda/hdf5/1.8.16/download/win-64/hdf5-1.8.16-vc9_0.tar.bz2
+ - if "%PYTHON_VERSION%" == "2.7.12" 7z x -y hdf5-1.8.17-vc9_0.tar.bz2
+ - if "%PYTHON_VERSION%" == "2.7.12" 7z x -y hdf5-1.8.17-vc9_0.tar
+ - if NOT "%PYTHON_VERSION%" == "2.7.12" if "%PYTHON_ARCH%" == "32" curl -LvkO https://anaconda.org/anaconda/hdf5/1.8.17/download/win-32/hdf5-1.8.17-vc14_0.tar.bz2
+ - if NOT "%PYTHON_VERSION%" == "2.7.12" if "%PYTHON_ARCH%" == "64" curl -LvkO https://anaconda.org/anaconda/hdf5/1.8.17/download/win-64/hdf5-1.8.17-vc14_0.tar.bz2
+ - if NOT "%PYTHON_VERSION%" == "2.7.12" 7z x -y hdf5-1.8.17-vc14_0.tar.bz2
+ - if NOT "%PYTHON_VERSION%" == "2.7.12" 7z x -y hdf5-1.8.17-vc14_0.tar
+ - mkdir "C:/Program Files (x86)/HDF_Group/HDF5/1.8.17"
+ - xcopy Library "C:/Program Files (x86)/HDF_Group/HDF5/1.8.17" /s /e /y
+ - cd ..
+
+ # install stdint
+ - if "%PYTHON_VERSION%" == "2.7.12" curl -O http://ftp.vector.co.jp/43/28/2114/stdint-20070624.zip
+ - if "%PYTHON_VERSION%" == "2.7.12" unzip stdint-20070624.zip
+
+ # install gsl for build_ext
+
+ - if "%PYTHON_VERSION%" == "2.7.12" curl -O http://r2d3.geldreich.net/downloads/gsl-1.13-windows-binaries.zip
+ - if "%PYTHON_VERSION%" == "2.7.12" unzip gsl-1.13-windows-binaries.zip
+ # - if "%PYTHON_VERSION%" == "2.7.12" cmake -G "Visual Studio 9 2008" -D CMAKE_CXX_FLAGS_RELEASE="/MD" -D CMAKE_CXX_FLAGS_DEBUG="/MDd" -D CMAKE_C_FLAGS_RELEASE="/MD" -D CMAKE_C_FLAGS_DEBUG="/MDd" .
+ # - if "%PYTHON_VERSION%" == "2.7.12" msbuild GSL.sln /p:Configuration=Release /toolsversion:3.5
+
+ - if NOT "%PYTHON_VERSION%" == "2.7.12" git clone git://github.com/ampl/gsl.git
+ - if NOT "%PYTHON_VERSION%" == "2.7.12" cd gsl
+ - if NOT "%PYTHON_VERSION%" == "2.7.12" if "%PYTHON_ARCH%" == "32" cmake -G "Visual Studio 14 2015" -D CMAKE_CXX_FLAGS_RELEASE="/MD" -D CMAKE_CXX_FLAGS_DEBUG="/MDd" -D CMAKE_C_FLAGS_RELEASE="/MD" -D CMAKE_C_FLAGS_DEBUG="/MDd" .
+ - if NOT "%PYTHON_VERSION%" == "2.7.12" if "%PYTHON_ARCH%" == "64" cmake -G "Visual Studio 14 2015 Win64" -D CMAKE_CXX_FLAGS_RELEASE="/MD" -D CMAKE_CXX_FLAGS_DEBUG="/MDd" -D CMAKE_C_FLAGS_RELEASE="/MD" -D CMAKE_C_FLAGS_DEBUG="/MDd" .
+ - if NOT "%PYTHON_VERSION%" == "2.7.12" msbuild GSL.sln /p:Configuration=Release
+ - if NOT "%PYTHON_VERSION%" == "2.7.12" cd ..
+
+ # - msbuild GSL.sln /p:Configuration=Release /v:d
+
+ - if "%PYTHON_VERSION%" == "2.7.12" if "%PYTHON_ARCH%" == "32" cmake -G "Visual Studio 9 2008" -D CMAKE_CXX_FLAGS_RELEASE="/MT" -D CMAKE_CXX_FLAGS_DEBUG="/MTd" -DBOOST_REGEX_LIBRARIES=C:/Libraries/boost/libs -DBoost_INCLUDE_DIR=C:/Libraries/boost -DGSL_INCLUDE_DIR=C:/projects/ecell4/gsl/include -DGSL_CBLAS_LIBRARIES=C:/projects/ecell4/gsl/lib -DGSL_LIBRARIES=C:/projects/ecell4/gsl/lib -DNO_SHARED:BOOL=1 .
+ # - if "%PYTHON_VERSION%" == "2.7.12" if "%PYTHON_ARCH%" == "64" "C:\Users\appveyor\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\vcvarsall.bat" amd64
+ # - if "%PYTHON_VERSION%" == "2.7.12" if "%PYTHON_ARCH%" == "64" cmake -G "Visual Studio 9 2008 Win64" -D CMAKE_C_COMPILER="C:/Users/appveyor/AppData/Local/Programs/Common/Microsoft/Visual C++ for Python/9.0/VC/bin/amd64/cl.exe" -D CMAKE_CXX_COMPILER="C:/Users/appveyor/AppData/Local/Programs/Common/Microsoft/Visual C++ for Python/9.0/VC/bin/amd64/cl.exe" -D CMAKE_CXX_FLAGS_RELEASE="/MT" -D CMAKE_CXX_FLAGS_DEBUG="/MTd" -DBOOST_REGEX_LIBRARIES=C:/Libraries/boost/libs -DBoost_INCLUDE_DIR= [...]
+ - if "%PYTHON_VERSION%" == "2.7.12" if "%PYTHON_ARCH%" == "64" cmake -G "Visual Studio 9 2008 Win64" -D CMAKE_CXX_FLAGS_RELEASE="/MT" -D CMAKE_CXX_FLAGS_DEBUG="/MTd" -DBOOST_REGEX_LIBRARIES=C:/Libraries/boost/libs -DBoost_INCLUDE_DIR=C:/Libraries/boost -DGSL_INCLUDE_DIR=C:/projects/ecell4/gsl/include -DGSL_CBLAS_LIBRARIES=C:/projects/ecell4/gsl/lib -DGSL_LIBRARIES=C:/projects/ecell4/gsl/lib -DNO_SHARED:BOOL=1 .
+ - if NOT "%PYTHON_VERSION%" == "2.7.12" if "%PYTHON_ARCH%" == "32" cmake -G "Visual Studio 14 2015" -D CMAKE_CXX_FLAGS_RELEASE="/MD" -D CMAKE_CXX_FLAGS_DEBUG="/MDd" -D CMAKE_C_FLAGS_DEBUG="/MDd" -DBoost_INCLUDE_DIR=C:/Libraries/boost -DGSL_INCLUDE_DIR=C:/projects/ecell4/gsl -DGSL_CBLAS_LIBRARIES=C:/projects/ecell4/gsl/Release -DGSL_LIBRARIES=C:/projects/ecell4/gsl/Release -DNO_SHARED:BOOL=1 .
+ - if NOT "%PYTHON_VERSION%" == "2.7.12" if "%PYTHON_ARCH%" == "64" cmake -G "Visual Studio 14 2015 Win64" -D CMAKE_CXX_FLAGS_RELEASE="/MD" -D CMAKE_CXX_FLAGS_DEBUG="/MDd" -D CMAKE_C_FLAGS_DEBUG="/MDd" -DBoost_INCLUDE_DIR=C:/Libraries/boost -DGSL_INCLUDE_DIR=C:/projects/ecell4/gsl -DGSL_CBLAS_LIBRARIES=C:/projects/ecell4/gsl/Release -DGSL_LIBRARIES=C:/projects/ecell4/gsl/Release -DNO_SHARED:BOOL=1 .
+
+ # config.h
+ - cd ecell4/core
+ - type config.h
+ - cd ../egfrd
+ - type config.h
+ - cd ../..
+
+ # go into ecell4/python
+ - "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%"
+ - "python --version"
+ - "python -c \"import struct; print(struct.calcsize('P') * 8)\""
+ - curl -O https://bootstrap.pypa.io/get-pip.py
+ - "python get-pip.py"
+ - if "%PYTHON_VERSION%" == "2.7.12" python -m pip install cython
+ # - if "%PYTHON_VERSION%" == "3.5.2" python -m pip install https://pypi.python.org/packages/cp35/C/Cython/Cython-0.23.4-cp35-none-win32.whl
+ - if NOT "%PYTHON_VERSION%" == "2.7.12" python -m pip install Cython --install-option="--no-cython-compile"
+ - cd python
+ - ECHO "ls boost:"
+ - ps: "ls \"C:/Libraries/boost\""
+ - echo %CD%
+ - if "%PYTHON_VERSION%" == "2.7.12" python setup.py build_ext -I"C:\Program Files (x86)\HDF_Group\HDF5\1.8.17\include";C:/Libraries/boost;C:/projects/ecell4;C:/projects/ecell4/stdint-20070624;C:/projects/ecell4/gsl/include -LC:/projects/ecell4/gsl/lib;"C:\Program Files (x86)\HDF_Group\HDF5\1.8.17\lib"
+ - if NOT "%PYTHON_VERSION%" == "2.7.12" python setup.py build_ext -I"C:\Program Files (x86)\HDF_Group\HDF5\1.8.17\include";C:/Libraries/boost;C:/projects/ecell4/gsl -LC:/projects/ecell4/gsl/Release;"C:\Program Files (x86)\HDF_Group\HDF5\1.8.17\lib"
+ - "pip install wheel"
+ - "python setup.py bdist_wheel -v"
+ # - "pip install dist/ecell4-4.0.0b2-cp35-none-win32.whl"
+
+# test_script:
+# - "build.cmd %PYTHON%\\python.exe setup.py test"
+
+build: false
+
+branches:
+ only:
+ - master
+
+artifacts:
+ # bdist_wheel puts your built wheel in the dist directory
+ - path: python/dist/*
+
+notifications:
+ - provider: Slack
+ auth_token:
+ secure: xoxp-2152083718-2152083720-57117007011-a566bc1aa4
+ channel: '#github'
diff --git a/debian/README.Debian b/debian/README.Debian
deleted file mode 100644
index e2a6ce4..0000000
--- a/debian/README.Debian
+++ /dev/null
@@ -1,8 +0,0 @@
-ecell for Debian
-----------------
-
-The required python libraries for boochs are only available for python 2.2 at the time the package was created. Since python2.3 is usually parallel installed, I suggest to manually reset the link from /usr/bin/python to /usr/bin/python2.2 until the packages for 2.3 are avaialble.
-
-The package is not yet lintian-clean.
-
- -- Steffen Moeller <moeller at pzr.uni-rostock.de>, Wed, 10 Mar 2004 22:08:00 +0100
diff --git a/debian/changelog b/debian/changelog
deleted file mode 100644
index b77bce6..0000000
--- a/debian/changelog
+++ /dev/null
@@ -1,6 +0,0 @@
-ecell (3.2.2-1) UNRELEASED; urgency=low
-
- * Initial Release (Closes: #241195).
-
- -- Steffen Moeller <moeller at pzr.uni-rostock.de> Tue, 05 Dec 2017 15:12:07 +0100
-
diff --git a/debian/compat b/debian/compat
deleted file mode 100644
index ec63514..0000000
--- a/debian/compat
+++ /dev/null
@@ -1 +0,0 @@
-9
diff --git a/debian/control b/debian/control
deleted file mode 100644
index 9f342b8..0000000
--- a/debian/control
+++ /dev/null
@@ -1,62 +0,0 @@
-Source: ecell
-Maintainer: Debian Med Packaging Team <debian-med-packaging at lists.alioth.debian.org>
-Uploaders: Steffen Moeller <moeller at pzr.uni-rostock.de>
-Section: science
-Priority: optional
-Build-Depends: debhelper (>= 9),
- python-numpy,
- python-dev,
- python-gtk2,
- python-glade2,
- g++,
- libgsl0-dev,
- libboost-python-dev,
- automake,
- autoconf,
- libtool,
- python-gnome2,
- python-ply,
- expect,
- doxygen,
- graphviz,
- docbook-utils,
- ghostscript,
- docbook-to-man
-Standards-Version: 4.1.1
-Homepage: http://www.e-cell.org/
-
-Package: ecell
-Architecture: any
-Depends: ${shlibs:Depends},
- ${misc:Depends},
- libgsl0,
- libgnome2-0,
- python-numpy,
- python-glade2
-Recommends: ecell-doc
-Description: Concept and environment for constructing virtual cells on computers
- The E-Cell Project is an international research project aiming at
- developing necessary theoretical supports, technologies and software
- platforms to allow precise whole cell simulation.
- .
- The E-Cell System is an object-oriented software suite for modeling,
- simulation, and analysis of large scale complex systems such as
- biological cells, architected by Kouichi Takahashi and written by a team
- of developers.
- .
- The core part of the system, E-Cell Simulation Environment version 3,
- allows many components driven by multiple algorithms with different
- timescales to coexist.
- .
- E-Cell System consists of the following three major parts:
- * E-Cell Simulation Environment (or E-Cell SE)
- * E-Cell Modeling Environment (or E-Cell ME)
- * E-Cell Analysis Toolkit
- .
- This package contains all these parts, only the documentation is
- distributed separately.
-
-Package: ecell-doc
-Architecture: all
-Description: Documentation for ECell
- HTML docs as provided by the source package of E-Cell.
diff --git a/debian/copyright b/debian/copyright
deleted file mode 100644
index 72c10b1..0000000
--- a/debian/copyright
+++ /dev/null
@@ -1,11 +0,0 @@
-Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
-Upstream-Name: E-Cell
-Source: https://github.com/ecell/ecell.github.com
-
-Files: *
-Copyright: © -2003 ???
-License: GPL
-
-Files: debian/*
-Copyright: © 2004 Steffen Moeller <moeller at debian.org>
-License: GPL
diff --git a/debian/ecell-doc.dirs b/debian/ecell-doc.dirs
deleted file mode 100644
index 0651069..0000000
--- a/debian/ecell-doc.dirs
+++ /dev/null
@@ -1 +0,0 @@
-/usr/share/doc/ecell
diff --git a/debian/ecell-doc.doc-base b/debian/ecell-doc.doc-base
deleted file mode 100644
index 4af00ad..0000000
--- a/debian/ecell-doc.doc-base
+++ /dev/null
@@ -1,35 +0,0 @@
-Document: refman
-Title: E-cell reference Manual
-Author: E-cell developers
-Abstract: Detailed description of the E-Cell API
-Section: Science/Biology
-
-Format: pdf
-Files: ecell-doc/usr/share/doc/ecell/refman/refman.pdf
-
-Format: HTML
-Index: /usr/share/doc/ecell/refman/html/index.html
-Files: /usr/share/doc/ecell/refman/html/*.html
-
-Format: latex
-Files: /usr/share/doc/ecell/refman/latex/*.latex
-
-Document: user-manual
-Title: E-cell user manual
-Author: E-cell developers
-Abstract: Guide to the E-cell system
-Section: Science/Biology
-
-Format: debiandoc-sgml
-Files: /usr/share/doc/ecell/user-manual/*.xml
-
-Format: postscript
-Files: /usr/share/doc/ecell/users-manual/ecell3-users-manual.ps
-
-Format: pdf
-Files: /usr/share/doc/ecell/users-manual/ecell3-users-manual.pdf
-
-Format: html
-Index: ecell-doc/usr/share/doc/ecell/users-manual/ecell3-users-manual/index.html
-Files: ecell-doc/usr/share/doc/ecell/users-manual/ecell3-users-manual/*.html
-
diff --git a/debian/ecell.dirs b/debian/ecell.dirs
deleted file mode 100644
index 74e4e23..0000000
--- a/debian/ecell.dirs
+++ /dev/null
@@ -1 +0,0 @@
-/usr
diff --git a/debian/ecell.docs b/debian/ecell.docs
deleted file mode 100644
index 50bd824..0000000
--- a/debian/ecell.docs
+++ /dev/null
@@ -1,2 +0,0 @@
-NEWS
-README
diff --git a/debian/manpages b/debian/manpages
deleted file mode 100644
index 70a80f7..0000000
--- a/debian/manpages
+++ /dev/null
@@ -1 +0,0 @@
-ecell.1
diff --git a/debian/rules b/debian/rules
deleted file mode 100755
index fe8c308..0000000
--- a/debian/rules
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/usr/bin/make -f
-# -*- makefile -*-
-# Sample debian/rules that uses debhelper.
-# GNU copyright 1997 to 1999 by Joey Hess.
-#
-# Modified to make a template file for a multi-binary package with separated
-# build-arch and build-indep targets by Bill Allombert 2001
-
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
-
-DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
-DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
-
-CFLAGS += -Wall -g
-ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
- CFLAGS += -O0
-else
- CFLAGS += -O2
-endif
-ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
- INSTALL_PROGRAM += -s
-endif
-
-
-%:
- dh $@
-
-override_dh_auto_configure:
- ./autogen.sh --enable-static=no --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info
- CFLAGS="$(CFLAGS)" ./configure --enable-static=no --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info
- #CFLAGS="$(CFLAGS)" ./configure --disable-gtk --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info
-
-
-override_dh_auto_build:
- $(MAKE) doc
- docbook-to-man ecell.sgml > ecell.1
- mkdir -p $(CURDIR)/debian/ecell/usr/share/man/man1
- for i in dmcompile ecell3-em2eml ecell3-python ecell3-session-manager gecell3-session dmgen ecell3-eml2em ecell3-sbml2eml eri2eml rd2dm ecell3-dmc ecell3-model-editor ecell3-session gecell toollauncher; do (cd $(CURDIR)/debian/ecell/usr/share/man/man1 && ln -sf ecell.1 $$i.1); done
-### $(MAKE)
-
-override_dh_clean:
- dh_clean
- #[ -f Makefile ] && $(MAKE) clean
- #[ -f doc/Makefile ] && $(MAKE) -C doc clean
-
diff --git a/debian/source/format b/debian/source/format
deleted file mode 100644
index 163aaf8..0000000
--- a/debian/source/format
+++ /dev/null
@@ -1 +0,0 @@
-3.0 (quilt)
diff --git a/debian/watch b/debian/watch
deleted file mode 100644
index 0000490..0000000
--- a/debian/watch
+++ /dev/null
@@ -1,3 +0,0 @@
-version=4
-
-https://github.com/ecell/ecell4/tags .*/v at ANY_VERSION@@ARCHIVE_EXT@
diff --git a/docs/images/attractors.png b/docs/images/attractors.png
new file mode 100755
index 0000000..98e58b5
Binary files /dev/null and b/docs/images/attractors.png differ
diff --git a/docs/images/body-bg.png b/docs/images/body-bg.png
new file mode 100755
index 0000000..5e8c4c2
Binary files /dev/null and b/docs/images/body-bg.png differ
diff --git a/docs/images/drosophila.png b/docs/images/drosophila.png
new file mode 100755
index 0000000..e68ec30
Binary files /dev/null and b/docs/images/drosophila.png differ
diff --git a/docs/images/favicon.ico b/docs/images/favicon.ico
new file mode 100755
index 0000000..a3ced82
Binary files /dev/null and b/docs/images/favicon.ico differ
diff --git a/docs/images/gillespie.png b/docs/images/gillespie.png
new file mode 100755
index 0000000..e18c92a
Binary files /dev/null and b/docs/images/gillespie.png differ
diff --git a/docs/images/highlight-bg.jpg b/docs/images/highlight-bg.jpg
new file mode 100755
index 0000000..355e089
Binary files /dev/null and b/docs/images/highlight-bg.jpg differ
diff --git a/docs/images/hr.png b/docs/images/hr.png
new file mode 100755
index 0000000..d32f689
Binary files /dev/null and b/docs/images/hr.png differ
diff --git a/docs/images/minde.gif b/docs/images/minde.gif
new file mode 100755
index 0000000..d794f62
Binary files /dev/null and b/docs/images/minde.gif differ
diff --git a/docs/images/octocat-icon.png b/docs/images/octocat-icon.png
new file mode 100755
index 0000000..2406608
Binary files /dev/null and b/docs/images/octocat-icon.png differ
diff --git a/docs/images/tar-gz-icon.png b/docs/images/tar-gz-icon.png
new file mode 100755
index 0000000..502e67d
Binary files /dev/null and b/docs/images/tar-gz-icon.png differ
diff --git a/docs/images/zip-icon.png b/docs/images/zip-icon.png
new file mode 100755
index 0000000..732aced
Binary files /dev/null and b/docs/images/zip-icon.png differ
diff --git a/docs/index.html b/docs/index.html
new file mode 100755
index 0000000..94c659d
--- /dev/null
+++ b/docs/index.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html>
+<html lang="en-us">
+ <head>
+ <meta charset="UTF-8">
+ <title>ecell4</title>
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <link rel="stylesheet" type="text/css" href="stylesheets/normalize.css" media="screen">
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css'>
+ <link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen">
+ <link rel="stylesheet" type="text/css" href="stylesheets/github-light.css" media="screen">
+ <link rel="shortcut icon" href="images/favicon.ico">
+ </head>
+ <body>
+ <section class="page-header">
+ <h1 class="project-name">E-Cell System version 4</h1>
+ <h2 class="project-tagline">A multi-algorithm, multi-timescale, multi-spatial-representation biochemical simulation environment</h2>
+ <a href="https://github.com/ecell/ecell4#installation" class="btn">Installation</a>
+ <a href="http://mybinder.org/repo/ecell/ecell4-notebooks" class="btn">Run without installing</a>
+ <a href="http://ecell4.readthedocs.io/en/latest/" class="btn">Documentation</a>
+ </section>
+
+ <section class="main-content">
+ <h1>
+<a id="hello-e-cell4" class="anchor" href="#hello-e-cell4" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Hello E-Cell4</h1>
+
+<p>E-Cell System is a software platform for modeling, simulation and analysis of complex, heterogeneous and multi-scale systems like the cell.</p>
+
+<div class="highlight highlight-source-python"><pre><span class="pl-k">from</span> ecell4 <span class="pl-k">import</span> <span class="pl-k">*</span>
+
+<span class="pl-k">with</span> reaction_rules():
+ <span class="pl-c1">A</span> <span class="pl-k">+</span> <span class="pl-c1">B</span> <span class="pl-k">==</span> <span class="pl-c1">C</span> <span class="pl-k">|</span> (<span class="pl-c1">0.01</span>, <span class="pl-c1">0.3</span>)
+
+run_simulation(<span class="pl-c1">10</span>, {<span class="pl-s"><span class="pl-pds">'</span>A<span class="pl-pds">'</span></span>: <span class="pl-c1">60</span>, <span class="pl-s"><span class="pl-pds">'</span>B<span class="pl-pds">'</span></span>: <span class="pl-c1">60</span>}, <span class="pl-v">solver</span><span class="pl-k">=</span><span class="pl-s"><span class="pl-pds">'</span>gillespie<span class="pl-pds">'</span></span>)</pre></div>
+
+<div style="text-align: center"><img src="images/gillespie.png" alt="gillespie"></div>
+
+<h1>
+<a id="features" class="anchor" href="#features" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Features</h1>
+
+<div id="subfeatures" style="width: 100%">
+ <div id="subfeature1" class="feature-tile"><h3 style="text-align: left">Single particle simulations</h3><p style="font-size: 0.8em">This is a description about feature1. <a href="http://gfrd.org">The enhanced Green's Function Reaction Dynamics (eGFRD) method</a>, <a href="http://spatiocyte.org">Spatiocyte</a>, and the Reaction Brownian Dynamics (RBD) method.</p></div>
+ <div id="subfeature2" class="feature-tile"><h3 style="text-align: left">Multi-algorithm support</h3><p style="font-size: 0.85em">This is a description about feature2.</p></div>
+ <div id="subfeature3" class="feature-tile"><h3 style="text-align: left">Rule-based modeling</h3><p style="font-size: 0.85em">This is a description about feature3.</p></div>
+ <div id="subfeature4" class="feature-tile"><h3 style="text-align: left">Python programmable</h3><p style="font-size: 0.85em">This is a description about feature4.</p></div>
+ <div id="subfeature5" class="feature-tile"><h3 style="text-align: left">Interactive visualizations on Jupyter Notebook</h3><p style="font-size: 0.85em">This is a description about feature5.</p></div>
+ <div id="subfeature6" class="feature-tile"><h3 style="text-align: left">Bioinformatics integration</h3><p style="font-size: 0.85em">Garuda gadget, data source, etc.</p></div>
+ <div style="clear: both"></div>
+</div>
+
+<h1>
+<a id="examples" class="anchor" href="#examples" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Examples</h1>
+<div id="subexamples" style="width: 100%">
+ <div id="subexample1" class="example-tile"><p style="font-size: 0.9em"><a href="https://github.com/ecell/ecell4-notebooks/blob/master/Examples/Drosophila%20Circadian%20Clock.ipynb"><img src="images/drosophila.png" alt="attractors" style="height: 18em"></a></p></div>
+ <div id="subexample2" class="example-tile"><p style="font-size: 0.9em"><a href="https://github.com/ecell/ecell4-notebooks/blob/master/Examples/MinDE%20System%20with%20Spatiocyte%20Simulator.ipynb"><img src="images/minde.gif" alt="minde" style="height: 18em"></a></p></div>
+ <div id="subexample3" class="example-tile"><p style="font-size: 0.9em">This is a screenshot about example3.</p><div style="text-align: center"><a href="">notebook</a></div></div>
+ <div id="subexample4" class="example-tile"><p style="font-size: 0.9em"><a href="https://github.com/ecell/ecell4-notebooks/blob/master/Examples/Attractors.ipynb"><img src="images/attractors.png" alt="attractors" style="height: 18em"></a></p></div>
+ <div style="clear: both"></div>
+</div>
+<p style="text-align: center">For more tutorials and examples, see <a href="http://ecell4.readthedocs.io/">http://ecell4.readthedocs.io/</a>.</p>
+
+<!-- <h3><a id="help" class="anchor" href="#help" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a><a href="https://gitter.im/ecell/ecell4">Help</a></h3> -->
+
+<h2>
+<a id="license" class="anchor" href="#license" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>License</h2>
+
+<p>This project is licensed under the terms of the GNU General Public License v2. See <a href="https://github.com/ecell/ecell4#licensing-terms">LICENSE</a>.</p>
+<div style="text-align: center"><img src="https://upload.wikimedia.org/wikipedia/en/d/dc/RIKEN_logo.gif" alt="RIKEN_logo" height=120px>
+<!-- <img src="https://upload.wikimedia.org/wikipedia/commons/c/c3/Keio_Logo.jpg" alt="Keio_Logo" height=120px> --></div>
+
+ <footer class="site-footer">
+ <span class="site-footer-owner"><a href="https://github.com/ecell/ecell4">E-Cell System version 4</a> is maintained by <a href="https://github.com/ecell">ecell</a>.</span>
+
+ <span class="site-footer-credits">This page was generated by <a href="https://pages.github.com">GitHub Pages</a> using the <a href="https://github.com/jasonlong/cayman-theme">Cayman theme</a> by <a href="https://twitter.com/jasonlong">Jason Long</a>.</span>
+ </footer>
+
+ </section>
+
+ </body>
+</html>
diff --git a/docs/javascripts/main.js b/docs/javascripts/main.js
new file mode 100755
index 0000000..d8135d3
--- /dev/null
+++ b/docs/javascripts/main.js
@@ -0,0 +1 @@
+console.log('This would be the main JS file.');
diff --git a/docs/params.json b/docs/params.json
new file mode 100755
index 0000000..393c8d2
--- /dev/null
+++ b/docs/params.json
@@ -0,0 +1,7 @@
+{
+ "name": "E-Cell System version 4",
+ "tagline": "A multi-algorithm, multi-timescale, multi-spatial-representation biochemical simulation environment",
+ "body": "# Hello E-Cell4\r\n\r\nE-Cell System is, a software platform for modeling, simulation and analysis of complex, heterogeneous and multi-scale systems like the cell.\r\n\r\n```python\r\nfrom ecell4 import *\r\n\r\nwith reaction_rules():\r\n A + B == C | (0.01, 0.3)\r\n\r\nrun_simulation(10, {'A': 60, 'B': 60}, solver='gillespie')\r\n```\r\n\r\n![gillespie](https://raw.githubusercontent.com/ecell/ecell4/master/docs/images/intro_31_0.png)\r\n\r\n# Features\r\n\r\n# Examples\r\n [...]
+ "google": "",
+ "note": "Don't delete this file! It's used internally to help with page regeneration."
+}
\ No newline at end of file
diff --git a/docs/stylesheets/github-dark.css b/docs/stylesheets/github-dark.css
new file mode 100755
index 0000000..0c393bf
--- /dev/null
+++ b/docs/stylesheets/github-dark.css
@@ -0,0 +1,116 @@
+/*
+ Copyright 2014 GitHub Inc.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+*/
+
+.pl-c /* comment */ {
+ color: #969896;
+}
+
+.pl-c1 /* constant, markup.raw, meta.diff.header, meta.module-reference, meta.property-name, support, support.constant, support.variable, variable.other.constant */,
+.pl-s .pl-v /* string variable */ {
+ color: #0099cd;
+}
+
+.pl-e /* entity */,
+.pl-en /* entity.name */ {
+ color: #9774cb;
+}
+
+.pl-s .pl-s1 /* string source */,
+.pl-smi /* storage.modifier.import, storage.modifier.package, storage.type.java, variable.other, variable.parameter.function */ {
+ color: #ddd;
+}
+
+.pl-ent /* entity.name.tag */ {
+ color: #7bcc72;
+}
+
+.pl-k /* keyword, storage, storage.type */ {
+ color: #cc2372;
+}
+
+.pl-pds /* punctuation.definition.string, string.regexp.character-class */,
+.pl-s /* string */,
+.pl-s .pl-pse .pl-s1 /* string punctuation.section.embedded source */,
+.pl-sr /* string.regexp */,
+.pl-sr .pl-cce /* string.regexp constant.character.escape */,
+.pl-sr .pl-sra /* string.regexp string.regexp.arbitrary-repitition */,
+.pl-sr .pl-sre /* string.regexp source.ruby.embedded */ {
+ color: #3c66e2;
+}
+
+.pl-v /* variable */ {
+ color: #fb8764;
+}
+
+.pl-id /* invalid.deprecated */ {
+ color: #e63525;
+}
+
+.pl-ii /* invalid.illegal */ {
+ background-color: #e63525;
+ color: #f8f8f8;
+}
+
+.pl-sr .pl-cce /* string.regexp constant.character.escape */ {
+ color: #7bcc72;
+ font-weight: bold;
+}
+
+.pl-ml /* markup.list */ {
+ color: #c26b2b;
+}
+
+.pl-mh /* markup.heading */,
+.pl-mh .pl-en /* markup.heading entity.name */,
+.pl-ms /* meta.separator */ {
+ color: #264ec5;
+ font-weight: bold;
+}
+
+.pl-mq /* markup.quote */ {
+ color: #00acac;
+}
+
+.pl-mi /* markup.italic */ {
+ color: #ddd;
+ font-style: italic;
+}
+
+.pl-mb /* markup.bold */ {
+ color: #ddd;
+ font-weight: bold;
+}
+
+.pl-md /* markup.deleted, meta.diff.header.from-file */ {
+ background-color: #ffecec;
+ color: #bd2c00;
+}
+
+.pl-mi1 /* markup.inserted, meta.diff.header.to-file */ {
+ background-color: #eaffea;
+ color: #55a532;
+}
+
+.pl-mdr /* meta.diff.range */ {
+ color: #9774cb;
+ font-weight: bold;
+}
+
+.pl-mo /* meta.output */ {
+ color: #264ec5;
+}
+
diff --git a/docs/stylesheets/github-light.css b/docs/stylesheets/github-light.css
new file mode 100755
index 0000000..872a6f4
--- /dev/null
+++ b/docs/stylesheets/github-light.css
@@ -0,0 +1,116 @@
+/*
+ Copyright 2014 GitHub Inc.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+*/
+
+.pl-c /* comment */ {
+ color: #969896;
+}
+
+.pl-c1 /* constant, markup.raw, meta.diff.header, meta.module-reference, meta.property-name, support, support.constant, support.variable, variable.other.constant */,
+.pl-s .pl-v /* string variable */ {
+ color: #0086b3;
+}
+
+.pl-e /* entity */,
+.pl-en /* entity.name */ {
+ color: #795da3;
+}
+
+.pl-s .pl-s1 /* string source */,
+.pl-smi /* storage.modifier.import, storage.modifier.package, storage.type.java, variable.other, variable.parameter.function */ {
+ color: #333;
+}
+
+.pl-ent /* entity.name.tag */ {
+ color: #63a35c;
+}
+
+.pl-k /* keyword, storage, storage.type */ {
+ color: #a71d5d;
+}
+
+.pl-pds /* punctuation.definition.string, string.regexp.character-class */,
+.pl-s /* string */,
+.pl-s .pl-pse .pl-s1 /* string punctuation.section.embedded source */,
+.pl-sr /* string.regexp */,
+.pl-sr .pl-cce /* string.regexp constant.character.escape */,
+.pl-sr .pl-sra /* string.regexp string.regexp.arbitrary-repitition */,
+.pl-sr .pl-sre /* string.regexp source.ruby.embedded */ {
+ color: #183691;
+}
+
+.pl-v /* variable */ {
+ color: #ed6a43;
+}
+
+.pl-id /* invalid.deprecated */ {
+ color: #b52a1d;
+}
+
+.pl-ii /* invalid.illegal */ {
+ background-color: #b52a1d;
+ color: #f8f8f8;
+}
+
+.pl-sr .pl-cce /* string.regexp constant.character.escape */ {
+ color: #63a35c;
+ font-weight: bold;
+}
+
+.pl-ml /* markup.list */ {
+ color: #693a17;
+}
+
+.pl-mh /* markup.heading */,
+.pl-mh .pl-en /* markup.heading entity.name */,
+.pl-ms /* meta.separator */ {
+ color: #1d3e81;
+ font-weight: bold;
+}
+
+.pl-mq /* markup.quote */ {
+ color: #008080;
+}
+
+.pl-mi /* markup.italic */ {
+ color: #333;
+ font-style: italic;
+}
+
+.pl-mb /* markup.bold */ {
+ color: #333;
+ font-weight: bold;
+}
+
+.pl-md /* markup.deleted, meta.diff.header.from-file */ {
+ background-color: #ffecec;
+ color: #bd2c00;
+}
+
+.pl-mi1 /* markup.inserted, meta.diff.header.to-file */ {
+ background-color: #eaffea;
+ color: #55a532;
+}
+
+.pl-mdr /* meta.diff.range */ {
+ color: #795da3;
+ font-weight: bold;
+}
+
+.pl-mo /* meta.output */ {
+ color: #1d3e81;
+}
+
diff --git a/docs/stylesheets/normalize.css b/docs/stylesheets/normalize.css
new file mode 100755
index 0000000..30366a6
--- /dev/null
+++ b/docs/stylesheets/normalize.css
@@ -0,0 +1,424 @@
+/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
+
+/**
+ * 1. Set default font family to sans-serif.
+ * 2. Prevent iOS text size adjust after orientation change, without disabling
+ * user zoom.
+ */
+
+html {
+ font-family: sans-serif; /* 1 */
+ -ms-text-size-adjust: 100%; /* 2 */
+ -webkit-text-size-adjust: 100%; /* 2 */
+}
+
+/**
+ * Remove default margin.
+ */
+
+body {
+ margin: 0;
+}
+
+/* HTML5 display definitions
+ ========================================================================== */
+
+/**
+ * Correct `block` display not defined for any HTML5 element in IE 8/9.
+ * Correct `block` display not defined for `details` or `summary` in IE 10/11
+ * and Firefox.
+ * Correct `block` display not defined for `main` in IE 11.
+ */
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+menu,
+nav,
+section,
+summary {
+ display: block;
+}
+
+/**
+ * 1. Correct `inline-block` display not defined in IE 8/9.
+ * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
+ */
+
+audio,
+canvas,
+progress,
+video {
+ display: inline-block; /* 1 */
+ vertical-align: baseline; /* 2 */
+}
+
+/**
+ * Prevent modern browsers from displaying `audio` without controls.
+ * Remove excess height in iOS 5 devices.
+ */
+
+audio:not([controls]) {
+ display: none;
+ height: 0;
+}
+
+/**
+ * Address `[hidden]` styling not present in IE 8/9/10.
+ * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
+ */
+
+[hidden],
+template {
+ display: none;
+}
+
+/* Links
+ ========================================================================== */
+
+/**
+ * Remove the gray background color from active links in IE 10.
+ */
+
+a {
+ background-color: transparent;
+}
+
+/**
+ * Improve readability when focused and also mouse hovered in all browsers.
+ */
+
+a:active,
+a:hover {
+ outline: 0;
+}
+
+/* Text-level semantics
+ ========================================================================== */
+
+/**
+ * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
+ */
+
+abbr[title] {
+ border-bottom: 1px dotted;
+}
+
+/**
+ * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
+ */
+
+b,
+strong {
+ font-weight: bold;
+}
+
+/**
+ * Address styling not present in Safari and Chrome.
+ */
+
+dfn {
+ font-style: italic;
+}
+
+/**
+ * Address variable `h1` font-size and margin within `section` and `article`
+ * contexts in Firefox 4+, Safari, and Chrome.
+ */
+
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0;
+}
+
+/**
+ * Address styling not present in IE 8/9.
+ */
+
+mark {
+ background: #ff0;
+ color: #000;
+}
+
+/**
+ * Address inconsistent and variable font size in all browsers.
+ */
+
+small {
+ font-size: 80%;
+}
+
+/**
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
+ */
+
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+
+sup {
+ top: -0.5em;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+/* Embedded content
+ ========================================================================== */
+
+/**
+ * Remove border when inside `a` element in IE 8/9/10.
+ */
+
+img {
+ border: 0;
+}
+
+/**
+ * Correct overflow not hidden in IE 9/10/11.
+ */
+
+svg:not(:root) {
+ overflow: hidden;
+}
+
+/* Grouping content
+ ========================================================================== */
+
+/**
+ * Address margin not present in IE 8/9 and Safari.
+ */
+
+figure {
+ margin: 1em 40px;
+}
+
+/**
+ * Address differences between Firefox and other browsers.
+ */
+
+hr {
+ box-sizing: content-box;
+ height: 0;
+}
+
+/**
+ * Contain overflow in all browsers.
+ */
+
+pre {
+ overflow: auto;
+}
+
+/**
+ * Address odd `em`-unit font size rendering in all browsers.
+ */
+
+code,
+kbd,
+pre,
+samp {
+ font-family: monospace, monospace;
+ font-size: 1em;
+}
+
+/* Forms
+ ========================================================================== */
+
+/**
+ * Known limitation: by default, Chrome and Safari on OS X allow very limited
+ * styling of `select`, unless a `border` property is set.
+ */
+
+/**
+ * 1. Correct color not being inherited.
+ * Known issue: affects color of disabled elements.
+ * 2. Correct font properties not being inherited.
+ * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
+ */
+
+button,
+input,
+optgroup,
+select,
+textarea {
+ color: inherit; /* 1 */
+ font: inherit; /* 2 */
+ margin: 0; /* 3 */
+}
+
+/**
+ * Address `overflow` set to `hidden` in IE 8/9/10/11.
+ */
+
+button {
+ overflow: visible;
+}
+
+/**
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * All other form control elements do not inherit `text-transform` values.
+ * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
+ * Correct `select` style inheritance in Firefox.
+ */
+
+button,
+select {
+ text-transform: none;
+}
+
+/**
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ * and `video` controls.
+ * 2. Correct inability to style clickable `input` types in iOS.
+ * 3. Improve usability and consistency of cursor style between image-type
+ * `input` and others.
+ */
+
+button,
+html input[type="button"], /* 1 */
+input[type="reset"],
+input[type="submit"] {
+ -webkit-appearance: button; /* 2 */
+ cursor: pointer; /* 3 */
+}
+
+/**
+ * Re-set default cursor for disabled elements.
+ */
+
+button[disabled],
+html input[disabled] {
+ cursor: default;
+}
+
+/**
+ * Remove inner padding and border in Firefox 4+.
+ */
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+
+/**
+ * Address Firefox 4+ setting `line-height` on `input` using `!important` in
+ * the UA stylesheet.
+ */
+
+input {
+ line-height: normal;
+}
+
+/**
+ * It's recommended that you don't attempt to style these elements.
+ * Firefox's implementation doesn't respect box-sizing, padding, or width.
+ *
+ * 1. Address box sizing set to `content-box` in IE 8/9/10.
+ * 2. Remove excess padding in IE 8/9/10.
+ */
+
+input[type="checkbox"],
+input[type="radio"] {
+ box-sizing: border-box; /* 1 */
+ padding: 0; /* 2 */
+}
+
+/**
+ * Fix the cursor style for Chrome's increment/decrement buttons. For certain
+ * `font-size` values of the `input`, it causes the cursor style of the
+ * decrement button to change from `default` to `text`.
+ */
+
+input[type="number"]::-webkit-inner-spin-button,
+input[type="number"]::-webkit-outer-spin-button {
+ height: auto;
+}
+
+/**
+ * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
+ * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
+ * (include `-moz` to future-proof).
+ */
+
+input[type="search"] {
+ -webkit-appearance: textfield; /* 1 */ /* 2 */
+ box-sizing: content-box;
+}
+
+/**
+ * Remove inner padding and search cancel button in Safari and Chrome on OS X.
+ * Safari (but not Chrome) clips the cancel button when the search input has
+ * padding (and `textfield` appearance).
+ */
+
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+/**
+ * Define consistent border, margin, and padding.
+ */
+
+fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * 1. Correct `color` not being inherited in IE 8/9/10/11.
+ * 2. Remove padding so people aren't caught out if they zero out fieldsets.
+ */
+
+legend {
+ border: 0; /* 1 */
+ padding: 0; /* 2 */
+}
+
+/**
+ * Remove default vertical scrollbar in IE 8/9/10/11.
+ */
+
+textarea {
+ overflow: auto;
+}
+
+/**
+ * Don't inherit the `font-weight` (applied by a rule above).
+ * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
+ */
+
+optgroup {
+ font-weight: bold;
+}
+
+/* Tables
+ ========================================================================== */
+
+/**
+ * Remove most spacing between table cells.
+ */
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0;
+}
+
+td,
+th {
+ padding: 0;
+}
diff --git a/docs/stylesheets/print.css b/docs/stylesheets/print.css
new file mode 100755
index 0000000..4b19b67
--- /dev/null
+++ b/docs/stylesheets/print.css
@@ -0,0 +1,228 @@
+html, body, div, span, applet, object, iframe,
+h1, h2, h3, h4, h5, h6, p, blockquote, pre,
+a, abbr, acronym, address, big, cite, code,
+del, dfn, em, img, ins, kbd, q, s, samp,
+small, strike, strong, sub, sup, tt, var,
+b, u, i, center,
+dl, dt, dd, ol, ul, li,
+fieldset, form, label, legend,
+table, caption, tbody, tfoot, thead, tr, th, td,
+article, aside, canvas, details, embed,
+figure, figcaption, footer, header, hgroup,
+menu, nav, output, ruby, section, summary,
+time, mark, audio, video {
+ padding: 0;
+ margin: 0;
+ font: inherit;
+ font-size: 100%;
+ vertical-align: baseline;
+ border: 0;
+}
+/* HTML5 display-role reset for older browsers */
+article, aside, details, figcaption, figure,
+footer, header, hgroup, menu, nav, section {
+ display: block;
+}
+body {
+ line-height: 1;
+}
+ol, ul {
+ list-style: none;
+}
+blockquote, q {
+ quotes: none;
+}
+blockquote:before, blockquote:after,
+q:before, q:after {
+ content: '';
+ content: none;
+}
+table {
+ border-spacing: 0;
+ border-collapse: collapse;
+}
+body {
+ font-family: 'Helvetica Neue', Helvetica, Arial, serif;
+ font-size: 13px;
+ line-height: 1.5;
+ color: #000;
+}
+
+a {
+ font-weight: bold;
+ color: #d5000d;
+}
+
+header {
+ padding-top: 35px;
+ padding-bottom: 10px;
+}
+
+header h1 {
+ font-size: 48px;
+ font-weight: bold;
+ line-height: 1.2;
+ color: #303030;
+ letter-spacing: -1px;
+}
+
+header h2 {
+ font-size: 24px;
+ font-weight: normal;
+ line-height: 1.3;
+ color: #aaa;
+ letter-spacing: -1px;
+}
+#downloads {
+ display: none;
+}
+#main_content {
+ padding-top: 20px;
+}
+
+code, pre {
+ margin-bottom: 30px;
+ font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal;
+ font-size: 12px;
+ color: #222;
+}
+
+code {
+ padding: 0 3px;
+}
+
+pre {
+ padding: 20px;
+ overflow: auto;
+ border: solid 1px #ddd;
+}
+pre code {
+ padding: 0;
+}
+
+ul, ol, dl {
+ margin-bottom: 20px;
+}
+
+
+/* COMMON STYLES */
+
+table {
+ width: 100%;
+ border: 1px solid #ebebeb;
+}
+
+th {
+ font-weight: 500;
+}
+
+td {
+ font-weight: 300;
+ text-align: center;
+ border: 1px solid #ebebeb;
+}
+
+form {
+ padding: 20px;
+ background: #f2f2f2;
+
+}
+
+
+/* GENERAL ELEMENT TYPE STYLES */
+
+h1 {
+ font-size: 2.8em;
+}
+
+h2 {
+ margin-bottom: 8px;
+ font-size: 22px;
+ font-weight: bold;
+ color: #303030;
+}
+
+h3 {
+ margin-bottom: 8px;
+ font-size: 18px;
+ font-weight: bold;
+ color: #d5000d;
+}
+
+h4 {
+ font-size: 16px;
+ font-weight: bold;
+ color: #303030;
+}
+
+h5 {
+ font-size: 1em;
+ color: #303030;
+}
+
+h6 {
+ font-size: .8em;
+ color: #303030;
+}
+
+p {
+ margin-bottom: 20px;
+ font-weight: 300;
+}
+
+a {
+ text-decoration: none;
+}
+
+p a {
+ font-weight: 400;
+}
+
+blockquote {
+ padding: 0 0 0 30px;
+ margin-bottom: 20px;
+ font-size: 1.6em;
+ border-left: 10px solid #e9e9e9;
+}
+
+ul li {
+ list-style-position: inside;
+ list-style: disc;
+ padding-left: 20px;
+}
+
+ol li {
+ list-style-position: inside;
+ list-style: decimal;
+ padding-left: 3px;
+}
+
+dl dd {
+ font-style: italic;
+ font-weight: 100;
+}
+
+footer {
+ padding-top: 20px;
+ padding-bottom: 30px;
+ margin-top: 40px;
+ font-size: 13px;
+ color: #aaa;
+}
+
+footer a {
+ color: #666;
+}
+
+/* MISC */
+.clearfix:after {
+ display: block;
+ height: 0;
+ clear: both;
+ visibility: hidden;
+ content: '.';
+}
+
+.clearfix {display: inline-block;}
+* html .clearfix {height: 1%;}
+.clearfix {display: block;}
diff --git a/docs/stylesheets/stylesheet.css b/docs/stylesheets/stylesheet.css
new file mode 100755
index 0000000..0d2c8d5
--- /dev/null
+++ b/docs/stylesheets/stylesheet.css
@@ -0,0 +1,283 @@
+* {
+ box-sizing: border-box; }
+
+body {
+ padding: 0;
+ margin: 0;
+ font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 16px;
+ line-height: 1.5;
+ color: #606c71; }
+
+a {
+ color: #1e6bb8;
+ text-decoration: none; }
+ a:hover {
+ text-decoration: underline; }
+
+.btn {
+ display: inline-block;
+ margin-bottom: 1rem;
+ color: rgba(255, 255, 255, 0.7);
+ background-color: rgba(255, 255, 255, 0.08);
+ border-color: rgba(255, 255, 255, 0.2);
+ border-style: solid;
+ border-width: 1px;
+ border-radius: 0.3rem;
+ transition: color 0.2s, background-color 0.2s, border-color 0.2s; }
+ .btn + .btn {
+ margin-left: 1rem; }
+
+.btn:hover {
+ color: rgba(255, 255, 255, 0.8);
+ text-decoration: none;
+ background-color: rgba(255, 255, 255, 0.2);
+ border-color: rgba(255, 255, 255, 0.3); }
+
+ at media screen and (min-width: 64em) {
+ .btn {
+ padding: 0.75rem 1rem; } }
+
+ at media screen and (min-width: 42em) and (max-width: 64em) {
+ .btn {
+ padding: 0.6rem 0.9rem;
+ font-size: 0.9rem; } }
+
+ at media screen and (max-width: 42em) {
+ .btn {
+ display: block;
+ width: 100%;
+ padding: 0.75rem;
+ font-size: 0.9rem; }
+ .btn + .btn {
+ margin-top: 1rem;
+ margin-left: 0; } }
+
+.page-header {
+ color: #fff;
+ text-align: center;
+ background-color: #159957;
+ background-image: linear-gradient(120deg, #155799, #159957); }
+
+ at media screen and (min-width: 64em) {
+ .page-header {
+ padding: 3rem 6rem; } }
+
+ at media screen and (min-width: 42em) and (max-width: 64em) {
+ .page-header {
+ padding: 2rem 4rem; } }
+
+ at media screen and (max-width: 42em) {
+ .page-header {
+ padding: 1rem 1rem; } }
+
+.project-name {
+ margin-top: 0;
+ margin-bottom: 0.1rem; }
+
+ at media screen and (min-width: 64em) {
+ .project-name {
+ font-size: 3.25rem; } }
+
+ at media screen and (min-width: 42em) and (max-width: 64em) {
+ .project-name {
+ font-size: 2.25rem; } }
+
+ at media screen and (max-width: 42em) {
+ .project-name {
+ font-size: 1.75rem; } }
+
+.project-tagline {
+ margin-bottom: 2rem;
+ font-weight: normal;
+ opacity: 0.7; }
+
+ at media screen and (min-width: 64em) {
+ .project-tagline {
+ font-size: 1.25rem; } }
+
+ at media screen and (min-width: 42em) and (max-width: 64em) {
+ .project-tagline {
+ font-size: 1.15rem; } }
+
+ at media screen and (max-width: 42em) {
+ .project-tagline {
+ font-size: 1rem; } }
+
+.main-content :first-child {
+ margin-top: 0; }
+.main-content img {
+ max-width: 100%; }
+.main-content h1, .main-content h2, .main-content h3, .main-content h4, .main-content h5, .main-content h6 {
+ text-align: center;
+ margin-top: 2rem;
+ margin-bottom: 1rem;
+ font-weight: normal;
+ color: #159957; }
+.main-content p {
+ margin-bottom: 1em; }
+.main-content code {
+ padding: 2px 4px;
+ font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
+ font-size: 0.9rem;
+ color: #383e41;
+ background-color: #f3f6fa;
+ border-radius: 0.3rem; }
+.main-content pre {
+ padding: 0.8rem;
+ margin-top: 0;
+ margin-bottom: 1rem;
+ font: 1rem Consolas, "Liberation Mono", Menlo, Courier, monospace;
+ color: #567482;
+ word-wrap: normal;
+ background-color: #f3f6fa;
+ border: solid 1px #dce6f0;
+ border-radius: 0.3rem; }
+ .main-content pre > code {
+ padding: 0;
+ margin: 0;
+ font-size: 0.9rem;
+ color: #567482;
+ word-break: normal;
+ white-space: pre;
+ background: transparent;
+ border: 0; }
+.main-content .highlight {
+ margin-bottom: 1rem; }
+ .main-content .highlight pre {
+ margin-bottom: 0;
+ word-break: normal; }
+.main-content .highlight pre, .main-content pre {
+ padding: 0.8rem;
+ overflow: auto;
+ font-size: 0.9rem;
+ line-height: 1.45;
+ border-radius: 0.3rem; }
+.main-content pre code, .main-content pre tt {
+ display: inline;
+ max-width: initial;
+ padding: 0;
+ margin: 0;
+ overflow: initial;
+ line-height: inherit;
+ word-wrap: normal;
+ background-color: transparent;
+ border: 0; }
+ .main-content pre code:before, .main-content pre code:after, .main-content pre tt:before, .main-content pre tt:after {
+ content: normal; }
+.main-content ul, .main-content ol {
+ margin-top: 0; }
+.main-content blockquote {
+ padding: 0 1rem;
+ margin-left: 0;
+ color: #819198;
+ border-left: 0.3rem solid #dce6f0; }
+ .main-content blockquote > :first-child {
+ margin-top: 0; }
+ .main-content blockquote > :last-child {
+ margin-bottom: 0; }
+.main-content table {
+ display: block;
+ width: 100%;
+ overflow: auto;
+ word-break: normal;
+ word-break: keep-all; }
+ .main-content table th {
+ font-weight: bold; }
+ .main-content table th, .main-content table td {
+ padding: 0.5rem 1rem;
+ border: 1px solid #e9ebec; }
+.main-content dl {
+ padding: 0; }
+ .main-content dl dt {
+ padding: 0;
+ margin-top: 1rem;
+ font-size: 1rem;
+ font-weight: bold; }
+ .main-content dl dd {
+ padding: 0;
+ margin-bottom: 1rem; }
+.main-content hr {
+ height: 2px;
+ padding: 0;
+ margin: 1rem 0;
+ background-color: #eff0f1;
+ border: 0; }
+
+.main-content div.feature-tile {
+ position: relative;
+ height: 14em;
+ min-width: 200px;
+ /* background-color: #38A3DB; */
+ padding: 0.8em;
+ float: left; }
+
+ at media screen and (min-width: 64em) {
+ div.feature-tile {
+ width: 33%; } }
+
+ at media screen and (min-width: 42em) and (max-width: 64em) {
+ div.feature-tile {
+ width: 50%; } }
+
+ at media screen and (max-width: 42em) {
+ div.feature-tile {
+ width: 100%; } }
+
+.main-content div.example-tile {
+ position: relative;
+ height: 20em;
+ min-width: 200px;
+ /* background-color: #38A3DB; */
+ padding: 0.8em;
+ text-align: center;
+ float: left; }
+
+ at media screen and (min-width: 64em) {
+ div.example-tile {
+ width: 50%; } }
+
+ at media screen and (max-width: 64em) {
+ div.example-tile {
+ width: 100%; } }
+
+ at media screen and (min-width: 64em) {
+ .main-content {
+ max-width: 64rem;
+ padding: 2rem 6rem;
+ margin: 0 auto;
+ font-size: 1.1rem; } }
+
+ at media screen and (min-width: 42em) and (max-width: 64em) {
+ .main-content {
+ padding: 2rem 4rem;
+ font-size: 1.1rem; } }
+
+ at media screen and (max-width: 42em) {
+ .main-content {
+ padding: 2rem 1rem;
+ font-size: 1rem; } }
+
+.site-footer {
+ padding-top: 2rem;
+ margin-top: 2rem;
+ border-top: solid 1px #eff0f1; }
+
+.site-footer-owner {
+ display: block;
+ font-weight: bold; }
+
+.site-footer-credits {
+ color: #819198; }
+
+ at media screen and (min-width: 64em) {
+ .site-footer {
+ font-size: 1rem; } }
+
+ at media screen and (min-width: 42em) and (max-width: 64em) {
+ .site-footer {
+ font-size: 1rem; } }
+
+ at media screen and (max-width: 42em) {
+ .site-footer {
+ font-size: 0.9rem; } }
diff --git a/ecell4/CMakeLists.txt b/ecell4/CMakeLists.txt
new file mode 100644
index 0000000..d82cc18
--- /dev/null
+++ b/ecell4/CMakeLists.txt
@@ -0,0 +1,11 @@
+add_subdirectory(core)
+add_subdirectory(egfrd)
+add_subdirectory(gillespie)
+add_subdirectory(ode)
+add_subdirectory(bd)
+add_subdirectory(meso)
+add_subdirectory(spatiocyte)
+
+if (NOT NO_SHARED)
+ set(ECELL4_SHARED_DIRS ${ECELL4_SHARED_DIRS} PARENT_SCOPE)
+endif()
diff --git a/ecell4/bd/BDFactory.hpp b/ecell4/bd/BDFactory.hpp
new file mode 100644
index 0000000..6faafe6
--- /dev/null
+++ b/ecell4/bd/BDFactory.hpp
@@ -0,0 +1,119 @@
+#ifndef __ECELL4_BD_BD_FACTORY_HPP
+#define __ECELL4_BD_BD_FACTORY_HPP
+
+#include <ecell4/core/SimulatorFactory.hpp>
+#include <ecell4/core/RandomNumberGenerator.hpp>
+
+#include "BDWorld.hpp"
+#include "BDSimulator.hpp"
+
+
+namespace ecell4
+{
+
+namespace bd
+{
+
+class BDFactory:
+ public SimulatorFactory<BDWorld, BDSimulator>
+{
+public:
+
+ typedef SimulatorFactory<BDWorld, BDSimulator> base_type;
+
+public:
+
+ BDFactory(const Integer3& matrix_sizes = default_matrix_sizes(), Real bd_dt_factor = default_bd_dt_factor())
+ : base_type(), rng_(), matrix_sizes_(matrix_sizes), bd_dt_factor_(bd_dt_factor)
+ {
+ ; // do nothing
+ }
+
+ static inline const Integer3 default_matrix_sizes()
+ {
+ return Integer3(3, 3, 3);
+ }
+
+ static inline const Real default_bd_dt_factor()
+ {
+ return -1.0;
+ }
+
+ virtual ~BDFactory()
+ {
+ ; // do nothing
+ }
+
+ BDFactory& rng(const boost::shared_ptr<RandomNumberGenerator>& rng)
+ {
+ rng_ = rng;
+ return (*this);
+ }
+
+ inline BDFactory* rng_ptr(const boost::shared_ptr<RandomNumberGenerator>& rng)
+ {
+ return &(this->rng(rng)); //XXX: == this
+ }
+
+ virtual BDWorld* create_world(const std::string filename) const
+ {
+ return new BDWorld(filename);
+ }
+
+ virtual BDWorld* create_world(
+ const Real3& edge_lengths = Real3(1, 1, 1)) const
+ {
+ if (rng_)
+ {
+ return new BDWorld(edge_lengths, matrix_sizes_, rng_);
+ }
+ else
+ {
+ return new BDWorld(edge_lengths, matrix_sizes_);
+ }
+ }
+
+ virtual BDWorld* create_world(const boost::shared_ptr<Model>& m) const
+ {
+ return extras::generate_world_from_model(*this, m);
+ }
+
+ virtual BDSimulator* create_simulator(
+ const boost::shared_ptr<Model>& model,
+ const boost::shared_ptr<world_type>& world) const
+ {
+ if (bd_dt_factor_ > 0)
+ {
+ return new BDSimulator(model, world, bd_dt_factor_);
+ }
+ else
+ {
+ return new BDSimulator(model, world);
+ }
+ }
+
+ virtual BDSimulator* create_simulator(
+ const boost::shared_ptr<world_type>& world) const
+ {
+ if (bd_dt_factor_ > 0)
+ {
+ return new BDSimulator(world, bd_dt_factor_);
+ }
+ else
+ {
+ return new BDSimulator(world);
+ }
+ }
+
+protected:
+
+ boost::shared_ptr<RandomNumberGenerator> rng_;
+ Integer3 matrix_sizes_;
+ Real bd_dt_factor_;
+};
+
+} // bd
+
+} // ecell4
+
+#endif /* __ECELL4_BD_BD_FACTORY_HPP */
diff --git a/ecell4/bd/BDPropagator.cpp b/ecell4/bd/BDPropagator.cpp
new file mode 100644
index 0000000..2fa3726
--- /dev/null
+++ b/ecell4/bd/BDPropagator.cpp
@@ -0,0 +1,304 @@
+#include <iterator>
+
+#include <ecell4/core/exceptions.hpp>
+#include <ecell4/core/Species.hpp>
+
+#include "BDPropagator.hpp"
+
+
+namespace ecell4
+{
+
+namespace bd
+{
+
+bool BDPropagator::operator()()
+{
+ if (queue_.empty())
+ {
+ return false;
+ }
+
+ const ParticleID pid(queue_.back().first);
+ queue_.pop_back();
+ Particle particle(world_.get_particle(pid).second);
+
+ if (attempt_reaction(pid, particle))
+ {
+ return true;
+ }
+
+ const Real D(particle.D());
+ if (D == 0)
+ {
+ return true;
+ }
+
+ const Real3 newpos(
+ world_.apply_boundary(
+ particle.position() + draw_displacement(particle)));
+ Particle particle_to_update(
+ particle.species(), newpos, particle.radius(), particle.D());
+ // Particle particle_to_update(
+ // particle.species_serial(), newpos, particle.radius(), particle.D());
+ std::vector<std::pair<std::pair<ParticleID, Particle>, Real> >
+ overlapped(world_.list_particles_within_radius(
+ newpos, particle.radius(), pid));
+
+ switch (overlapped.size())
+ {
+ case 0:
+ world_.update_particle_without_checking(pid, particle_to_update);
+ return true;
+ case 1:
+ {
+ std::pair<ParticleID, Particle> closest(
+ (*(overlapped.begin())).first);
+ if (attempt_reaction(
+ pid, particle_to_update, closest.first, closest.second))
+ {
+ return true;
+ }
+ }
+ return true;
+ default:
+ return true;
+ }
+}
+
+bool BDPropagator::attempt_reaction(
+ const ParticleID& pid, const Particle& particle)
+{
+ std::vector<ReactionRule> reaction_rules(
+ model_.query_reaction_rules(particle.species()));
+ if (reaction_rules.size() == 0)
+ {
+ return false;
+ }
+
+ const Real rnd(rng().uniform(0, 1));
+ Real prob(0);
+ for (std::vector<ReactionRule>::const_iterator i(reaction_rules.begin());
+ i != reaction_rules.end(); ++i)
+ {
+ const ReactionRule& rr(*i);
+ prob += rr.k() * dt();
+ if (prob > rnd)
+ {
+ const ReactionRule::product_container_type& products(rr.products());
+ reaction_info_type ri(world_.t() + dt_, reaction_info_type::container_type(1, std::make_pair(pid, particle)), reaction_info_type::container_type());
+
+ switch (products.size())
+ {
+ case 0:
+ remove_particle(pid);
+ last_reactions_.push_back(std::make_pair(rr, ri));
+ break;
+ case 1:
+ {
+ const Species species_new(
+ model_.apply_species_attributes(*(products.begin())));
+ const BDWorld::molecule_info_type
+ info(world_.get_molecule_info(species_new));
+ const Real radius_new(info.radius);
+ const Real D_new(info.D);
+
+ std::vector<std::pair<std::pair<ParticleID, Particle>, Real> >
+ overlapped(world_.list_particles_within_radius(
+ particle.position(), radius_new, pid));
+ if (overlapped.size() > 0)
+ {
+ // throw NoSpace("");
+ return false;
+ }
+
+ Particle particle_to_update(
+ species_new, particle.position(), radius_new, D_new);
+ world_.update_particle(pid, particle_to_update);
+
+ ri.add_product(std::make_pair(pid, particle_to_update));
+ last_reactions_.push_back(std::make_pair(rr, ri));
+ }
+ break;
+ case 2:
+ {
+ ReactionRule::product_container_type::const_iterator
+ it(products.begin());
+ const Species species_new1(
+ model_.apply_species_attributes(*it));
+ const Species species_new2(
+ model_.apply_species_attributes(*(++it)));
+
+ const BDWorld::molecule_info_type
+ info1(world_.get_molecule_info(species_new1)),
+ info2(world_.get_molecule_info(species_new2));
+ const Real radius1(info1.radius),
+ radius2(info2.radius);
+ const Real D1(info1.D), D2(info2.D);
+
+ const Real D12(D1 + D2);
+ const Real r12(radius1 + radius2);
+ Real3 newpos1, newpos2;
+ Integer i(max_retry_count_);
+ while (true)
+ {
+ if (--i < 0)
+ {
+ // throw NoSpace("")
+ return false;
+ }
+
+ const Real3 ipv(draw_ipv(r12, dt(), D12));
+
+ newpos1 = world_.apply_boundary(
+ particle.position() + ipv * (D1 / D12));
+ newpos2 = world_.apply_boundary(
+ particle.position() - ipv * (D2 / D12));
+ std::vector<
+ std::pair<std::pair<ParticleID, Particle>, Real> >
+ overlapped1(world_.list_particles_within_radius(
+ newpos1, radius1, pid));
+ std::vector<
+ std::pair<std::pair<ParticleID, Particle>, Real> >
+ overlapped2(world_.list_particles_within_radius(
+ newpos2, radius2, pid));
+ if (overlapped1.size() == 0 && overlapped2.size() == 0)
+ {
+ break;
+ }
+ }
+
+ Particle particle_to_update1(
+ species_new1, newpos1, radius1, D1);
+ Particle particle_to_update2(
+ species_new2, newpos2, radius2, D2);
+ world_.update_particle(pid, particle_to_update1);
+ std::pair<std::pair<ParticleID, Particle>, bool> retval = world_.new_particle(particle_to_update2);
+
+ ri.add_product(std::make_pair(pid, particle_to_update1));
+ ri.add_product(retval.first);
+ last_reactions_.push_back(std::make_pair(rr, ri));
+ }
+ break;
+ default:
+ throw NotImplemented(
+ "more than two products are not allowed");
+ break;
+ }
+ return true;
+ }
+ }
+
+ return false;
+}
+
+bool BDPropagator::attempt_reaction(
+ const ParticleID& pid1, const Particle& particle1,
+ const ParticleID& pid2, const Particle& particle2)
+{
+ std::vector<ReactionRule> reaction_rules(
+ model_.query_reaction_rules(
+ particle1.species(), particle2.species()));
+ if (reaction_rules.size() == 0)
+ {
+ return false;
+ }
+
+ const Real D1(particle1.D()), D2(particle2.D());
+ const Real r12(particle1.radius() + particle2.radius());
+ const Real rnd(rng().uniform(0, 1));
+ Real prob(0);
+
+ for (std::vector<ReactionRule>::const_iterator i(reaction_rules.begin());
+ i != reaction_rules.end(); ++i)
+ {
+ const ReactionRule& rr(*i);
+ prob += rr.k() * dt() / (
+ (Igbd_3d(r12, dt(), D1) + Igbd_3d(r12, dt(), D2)) * 4 * M_PI);
+
+ if (prob >= 1)
+ {
+ // throw std::runtime_error(
+ // "the total reaction probability exceeds 1."
+ // " the step interval is too long");
+ std::cerr <<
+ "the total reaction probability exceeds 1."
+ " the step interval is too long" << std::endl;
+ }
+ if (prob > rnd)
+ {
+ const ReactionRule::product_container_type& products(rr.products());
+ reaction_info_type ri(world_.t() + dt_, reaction_info_type::container_type(1, std::make_pair(pid1, particle1)), reaction_info_type::container_type());
+ ri.add_reactant(std::make_pair(pid2, particle2));
+
+ switch (products.size())
+ {
+ case 0:
+ remove_particle(pid1);
+ remove_particle(pid2);
+
+ last_reactions_.push_back(std::make_pair(rr, ri));
+ break;
+ case 1:
+ {
+ const Species sp(*(products.begin()));
+ const BDWorld::molecule_info_type
+ info(world_.get_molecule_info(sp));
+ const Real radius_new(info.radius);
+ const Real D_new(info.D);
+
+ const Real3 pos1(particle1.position());
+ const Real3 pos2(
+ world_.periodic_transpose(particle2.position(), pos1));
+ const Real D1(particle1.D()), D2(particle2.D());
+ const Real D12(D1 + D2);
+ const Real3 newpos(
+ world_.apply_boundary((pos1 * D2 + pos2 * D1) / D12));
+
+ std::vector<std::pair<std::pair<ParticleID, Particle>, Real> >
+ overlapped(world_.list_particles_within_radius(
+ newpos, radius_new, pid1, pid2));
+ if (overlapped.size() > 0)
+ {
+ // throw NoSpace("");
+ return false;
+ }
+
+ const Particle particle_to_update(
+ sp, newpos, radius_new, D_new);
+ remove_particle(pid2);
+ // world_.update_particle(pid1, particle_to_update);
+ remove_particle(pid1);
+ std::pair<std::pair<ParticleID, Particle>, bool> retval = world_.new_particle(particle_to_update);
+
+ ri.add_product(retval.first);
+ last_reactions_.push_back(std::make_pair(rr, ri));
+ }
+ break;
+ default:
+ throw NotImplemented(
+ "more than one product is not allowed");
+ break;
+ }
+ return true;
+ }
+ }
+
+ return false;
+}
+
+void BDPropagator::remove_particle(const ParticleID& pid)
+{
+ world_.remove_particle(pid);
+ particle_finder cmp(pid);
+ std::vector<std::pair<ParticleID, Particle> >::iterator
+ i(std::find_if(queue_.begin(), queue_.end(), cmp));
+ if (i != queue_.end())
+ {
+ queue_.erase(i);
+ }
+}
+
+} // bd
+
+} // ecell4
diff --git a/ecell4/bd/BDPropagator.hpp b/ecell4/bd/BDPropagator.hpp
new file mode 100644
index 0000000..0946108
--- /dev/null
+++ b/ecell4/bd/BDPropagator.hpp
@@ -0,0 +1,152 @@
+#ifndef __ECELL4_BD_BD_PROPAGATOR_HPP
+#define __ECELL4_BD_BD_PROPAGATOR_HPP
+
+#include <ecell4/core/RandomNumberGenerator.hpp>
+#include <ecell4/core/Model.hpp>
+
+#include "functions3d.hpp"
+#include "BDWorld.hpp"
+
+
+namespace ecell4
+{
+
+namespace bd
+{
+
+class ReactionInfo
+{
+public:
+
+ typedef std::pair<ParticleID, Particle> particle_id_pair_type;
+ typedef std::vector<particle_id_pair_type> container_type;
+
+public:
+
+ ReactionInfo(
+ const Real t,
+ const container_type& reactants,
+ const container_type& products)
+ : t_(t), reactants_(reactants), products_(products)
+ {}
+
+ ReactionInfo(const ReactionInfo& another)
+ : t_(another.t()), reactants_(another.reactants()), products_(another.products())
+ {}
+
+ Real t() const
+ {
+ return t_;
+ }
+
+ const container_type& reactants() const
+ {
+ return reactants_;
+ }
+
+ void add_reactant(const particle_id_pair_type& pid_pair)
+ {
+ reactants_.push_back(pid_pair);
+ }
+
+ const container_type& products() const
+ {
+ return products_;
+ }
+
+ void add_product(const particle_id_pair_type& pid_pair)
+ {
+ products_.push_back(pid_pair);
+ }
+
+protected:
+
+ Real t_;
+ container_type reactants_, products_;
+};
+
+class BDPropagator
+{
+public:
+
+ typedef ReactionInfo reaction_info_type;
+
+public:
+
+ BDPropagator(
+ Model& model, BDWorld& world, RandomNumberGenerator& rng, const Real& dt,
+ std::vector<std::pair<ReactionRule, reaction_info_type> >& last_reactions)
+ : model_(model), world_(world), rng_(rng), dt_(dt),
+ last_reactions_(last_reactions), max_retry_count_(1)
+ {
+ queue_ = world_.list_particles();
+ shuffle(rng_, queue_);
+ }
+
+ bool operator()();
+
+ inline Real dt() const
+ {
+ return dt_;
+ }
+
+ inline RandomNumberGenerator& rng()
+ {
+ return rng_;
+ }
+
+ bool attempt_reaction(const ParticleID& pid, const Particle& particle);
+ bool attempt_reaction(
+ const ParticleID& pid1, const Particle& particle1,
+ const ParticleID& pid2, const Particle& particle2);
+
+ class particle_finder
+ : public std::unary_function<std::pair<ParticleID, Particle>, bool>
+ {
+ public:
+
+ particle_finder(const ParticleID& pid)
+ : pid_(pid)
+ {
+ ;
+ }
+
+ bool operator()(std::pair<ParticleID, Particle> pid_particle_pair)
+ {
+ return (pid_particle_pair.first == pid_);
+ }
+
+ protected:
+
+ ParticleID pid_;
+ };
+
+ void remove_particle(const ParticleID& pid);
+
+ inline Real3 draw_displacement(const Particle& particle)
+ {
+ return random_displacement_3d(rng(), dt(), particle.D());
+ }
+
+ inline Real3 draw_ipv(const Real& sigma, const Real& t, const Real& D)
+ {
+ return random_ipv_3d(rng(), sigma, t, D);
+ }
+
+protected:
+
+ Model& model_;
+ BDWorld& world_;
+ RandomNumberGenerator& rng_;
+ Real dt_;
+ std::vector<std::pair<ReactionRule, reaction_info_type> >& last_reactions_;
+ Integer max_retry_count_;
+
+ BDWorld::particle_container_type queue_;
+};
+
+} // bd
+
+} // ecell4
+
+#endif /* __ECELL4_BD_BD_PROPAGATOR_HPP */
diff --git a/ecell4/bd/BDSimulator.cpp b/ecell4/bd/BDSimulator.cpp
new file mode 100644
index 0000000..9e70000
--- /dev/null
+++ b/ecell4/bd/BDSimulator.cpp
@@ -0,0 +1,54 @@
+#include "BDSimulator.hpp"
+
+#include <boost/scoped_array.hpp>
+
+#include <cstring>
+
+namespace ecell4
+{
+
+namespace bd
+{
+
+void BDSimulator::step()
+{
+ last_reactions_.clear();
+
+ {
+ BDPropagator propagator(*model_, *world_, *rng(), dt(), last_reactions_);
+ while (propagator())
+ {
+ ; // do nothing here
+ }
+ }
+
+ set_t(t() + dt());
+ num_steps_++;
+}
+
+bool BDSimulator::step(const Real& upto)
+{
+ const Real t0(t()), dt0(dt()), tnext(next_time());
+
+ if (upto <= t0)
+ {
+ return false;
+ }
+
+ if (upto >= tnext)
+ {
+ step();
+ return true;
+ }
+ else
+ {
+ set_dt(upto - t0);
+ step();
+ set_dt(dt0);
+ return false;
+ }
+}
+
+} // bd
+
+} // ecell4
diff --git a/ecell4/bd/BDSimulator.hpp b/ecell4/bd/BDSimulator.hpp
new file mode 100644
index 0000000..0972c31
--- /dev/null
+++ b/ecell4/bd/BDSimulator.hpp
@@ -0,0 +1,128 @@
+#ifndef __ECELL4_BD_BD_SIMULATOR_HPP
+#define __ECELL4_BD_BD_SIMULATOR_HPP
+
+#include <stdexcept>
+#include <boost/shared_ptr.hpp>
+
+#include <ecell4/core/Model.hpp>
+#include <ecell4/core/SimulatorBase.hpp>
+
+#include "BDWorld.hpp"
+#include "BDPropagator.hpp"
+
+
+namespace ecell4
+{
+
+namespace bd
+{
+
+class BDSimulator
+ : public SimulatorBase<Model, BDWorld>
+{
+public:
+
+ typedef SimulatorBase<Model, BDWorld> base_type;
+ typedef BDPropagator::reaction_info_type reaction_info_type;
+
+public:
+
+ BDSimulator(boost::shared_ptr<Model> model,
+ boost::shared_ptr<BDWorld> world, Real bd_dt_factor = 1e-5)
+ : base_type(model, world), dt_(0), bd_dt_factor_(bd_dt_factor)
+ {
+ initialize();
+ }
+
+ BDSimulator(boost::shared_ptr<BDWorld> world, Real bd_dt_factor = 1e-5)
+ : base_type(world), dt_(0), bd_dt_factor_(bd_dt_factor)
+ {
+ initialize();
+ }
+
+ // SimulatorTraits
+
+ void initialize()
+ {
+ last_reactions_.clear();
+ dt_ = determine_dt();
+ }
+
+ Real determine_dt() const
+ {
+ const std::vector<Species> splist(world_->list_species());
+
+ Real rmin(inf), Dmax(0.0);
+ for (std::vector<Species>::const_iterator i(splist.begin());
+ i != splist.end(); ++i)
+ {
+ const BDWorld::molecule_info_type
+ info(world_->get_molecule_info(*i));
+ if (rmin > info.radius)
+ {
+ rmin = info.radius;
+ }
+ if (Dmax < info.D)
+ {
+ Dmax = info.D;
+ }
+ }
+
+ const Real dt(rmin < inf && Dmax > 0.0
+ ? 4.0 * rmin * rmin / (2.0 * Dmax) * bd_dt_factor_
+ // ? rmin * rmin / (6.0 * Dmax) * bd_dt_factor_
+ : inf);
+ return dt;
+ }
+
+ Real dt() const
+ {
+ return dt_;
+ }
+
+ void step();
+ bool step(const Real& upto);
+
+ // Optional members
+
+ virtual bool check_reaction() const
+ {
+ return last_reactions_.size() > 0;
+ }
+
+ std::vector<std::pair<ReactionRule, reaction_info_type> >
+ last_reactions() const
+ {
+ return last_reactions_;
+ }
+
+ void set_dt(const Real& dt)
+ {
+ if (dt <= 0)
+ {
+ throw std::invalid_argument("The step size must be positive.");
+ }
+ dt_ = dt;
+ }
+
+ inline boost::shared_ptr<RandomNumberGenerator> rng()
+ {
+ return (*world_).rng();
+ }
+
+protected:
+
+ /**
+ * the protected internal state of BDSimulator.
+ * they are needed to be saved/loaded with Visitor pattern.
+ */
+ Real dt_;
+ const Real bd_dt_factor_;
+ std::vector<std::pair<ReactionRule, reaction_info_type> > last_reactions_;
+};
+
+} // bd
+
+} // ecell4
+
+#endif /* __ECELL4_BD_BD_SIMULATOR_HPP */
diff --git a/ecell4/bd/BDWorld.hpp b/ecell4/bd/BDWorld.hpp
new file mode 100644
index 0000000..6519c07
--- /dev/null
+++ b/ecell4/bd/BDWorld.hpp
@@ -0,0 +1,420 @@
+#ifndef __ECELL4_BD_BD_WORLD_HPP
+#define __ECELL4_BD_BD_WORLD_HPP
+
+#include <boost/scoped_ptr.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/weak_ptr.hpp>
+#include <sstream>
+
+#include <ecell4/core/extras.hpp>
+#include <ecell4/core/RandomNumberGenerator.hpp>
+#include <ecell4/core/SerialIDGenerator.hpp>
+#include <ecell4/core/ParticleSpace.hpp>
+#include <ecell4/core/ParticleSpaceCellListImpl.hpp>
+#include <ecell4/core/Model.hpp>
+
+
+namespace ecell4
+{
+
+namespace bd
+{
+
+struct MoleculeInfo
+{
+ const Real radius;
+ const Real D;
+};
+
+class BDWorld
+ : public Space
+{
+public:
+
+ typedef MoleculeInfo molecule_info_type;
+ typedef ParticleSpaceCellListImpl particle_space_type;
+ // typedef ParticleSpaceVectorImpl particle_space_type;
+ typedef particle_space_type::particle_container_type particle_container_type;
+
+public:
+
+ BDWorld(const Real3& edge_lengths = Real3(1, 1, 1),
+ const Integer3& matrix_sizes = Integer3(3, 3, 3))
+ : ps_(new particle_space_type(edge_lengths, matrix_sizes))
+ {
+ rng_ = boost::shared_ptr<RandomNumberGenerator>(
+ new GSLRandomNumberGenerator());
+ (*rng_).seed();
+ }
+
+ BDWorld(
+ const Real3& edge_lengths, const Integer3& matrix_sizes,
+ boost::shared_ptr<RandomNumberGenerator> rng)
+ : ps_(new particle_space_type(edge_lengths, matrix_sizes)), rng_(rng)
+ {
+ ;
+ }
+
+ BDWorld(const std::string& filename)
+ : ps_(new particle_space_type(Real3(1, 1, 1)))
+ {
+ rng_ = boost::shared_ptr<RandomNumberGenerator>(
+ new GSLRandomNumberGenerator());
+ this->load(filename);
+ }
+
+ /**
+ * create and add a new particle
+ * @param p a particle
+ * @return a pair of a pair of pid (a particle id) and p (a particle)
+ * and bool (if it's succeeded or not)
+ */
+ std::pair<std::pair<ParticleID, Particle>, bool>
+ new_particle(const Particle& p)
+ {
+ ParticleID pid(pidgen_());
+ // if (has_particle(pid))
+ // {
+ // throw AlreadyExists("particle already exists");
+ // }
+ if (list_particles_within_radius(p.position(), p.radius()).size() == 0)
+ {
+ (*ps_).update_particle(pid, p); //XXX: DONOT call this->update_particle
+ return std::make_pair(std::make_pair(pid, p), true);
+ }
+ else
+ {
+ return std::make_pair(std::make_pair(pid, p), false);
+ }
+ }
+
+ std::pair<std::pair<ParticleID, Particle>, bool>
+ new_particle(const Species& sp, const Real3& pos)
+ {
+ const MoleculeInfo info(get_molecule_info(sp));
+ return new_particle(Particle(sp, pos, info.radius, info.D));
+ }
+
+ /**
+ * draw attributes of species and return it as a molecule info.
+ * @param sp a species
+ * @return info a molecule info
+ */
+ MoleculeInfo get_molecule_info(const Species& sp) const
+ {
+ Real radius(0.0), D(0.0);
+
+ if (sp.has_attribute("radius") && sp.has_attribute("D"))
+ {
+ radius = std::atof(sp.get_attribute("radius").c_str());
+ D = std::atof(sp.get_attribute("D").c_str());
+ }
+ else if (boost::shared_ptr<Model> bound_model = lock_model())
+ {
+ Species attributed(bound_model->apply_species_attributes(sp));
+ if (attributed.has_attribute("radius")
+ && attributed.has_attribute("D"))
+ {
+ radius = std::atof(
+ attributed.get_attribute("radius").c_str());
+ D = std::atof(attributed.get_attribute("D").c_str());
+ }
+ }
+
+ MoleculeInfo info = {radius, D};
+ return info;
+ }
+
+ // SpaceTraits
+
+ const Real t() const
+ {
+ return (*ps_).t();
+ }
+
+ void set_t(const Real& t)
+ {
+ (*ps_).set_t(t);
+ }
+
+ // ParticleSpaceTraits
+
+ const Real3& edge_lengths() const
+ {
+ return (*ps_).edge_lengths();
+ }
+
+ Integer num_particles() const
+ {
+ return (*ps_).num_particles();
+ }
+
+ Integer num_particles(const Species& species) const
+ {
+ return (*ps_).num_particles(species);
+ }
+
+ Integer num_particles_exact(const Species& species) const
+ {
+ return (*ps_).num_particles_exact(species);
+ }
+
+ bool has_particle(const ParticleID& pid) const
+ {
+ return (*ps_).has_particle(pid);
+ }
+
+ std::vector<std::pair<ParticleID, Particle> > list_particles() const
+ {
+ return (*ps_).list_particles();
+ }
+
+ std::vector<std::pair<ParticleID, Particle> >
+ list_particles(const Species& sp) const
+ {
+ return (*ps_).list_particles(sp);
+ }
+
+ std::vector<std::pair<ParticleID, Particle> >
+ list_particles_exact(const Species& sp) const
+ {
+ return (*ps_).list_particles_exact(sp);
+ }
+
+ std::vector<Species> list_species() const
+ {
+ return (*ps_).list_species();
+ }
+
+ virtual Real get_value(const Species& sp) const
+ {
+ return static_cast<Real>(num_molecules(sp));
+ }
+
+ virtual Real get_value_exact(const Species& sp) const
+ {
+ return static_cast<Real>(num_molecules_exact(sp));
+ }
+
+ // ParticleSpace member functions
+
+ bool update_particle_without_checking(const ParticleID& pid, const Particle& p)
+ {
+ return (*ps_).update_particle(pid, p);
+ }
+
+ bool update_particle(const ParticleID& pid, const Particle& p)
+ {
+ if (list_particles_within_radius(p.position(), p.radius(), pid).size()
+ == 0)
+ {
+ return (*ps_).update_particle(pid, p);
+ }
+ else
+ {
+ return true;
+ }
+ }
+
+ std::pair<ParticleID, Particle>
+ get_particle(const ParticleID& pid) const
+ {
+ return (*ps_).get_particle(pid);
+ }
+
+ void remove_particle(const ParticleID& pid)
+ {
+ (*ps_).remove_particle(pid);
+ }
+
+ std::vector<std::pair<std::pair<ParticleID, Particle>, Real> >
+ list_particles_within_radius(
+ const Real3& pos, const Real& radius) const
+ {
+ return (*ps_).list_particles_within_radius(pos, radius);
+ }
+
+ std::vector<std::pair<std::pair<ParticleID, Particle>, Real> >
+ list_particles_within_radius(
+ const Real3& pos, const Real& radius, const ParticleID& ignore) const
+ {
+ return (*ps_).list_particles_within_radius(pos, radius, ignore);
+ }
+
+ std::vector<std::pair<std::pair<ParticleID, Particle>, Real> >
+ list_particles_within_radius(
+ const Real3& pos, const Real& radius,
+ const ParticleID& ignore1, const ParticleID& ignore2) const
+ {
+ return (*ps_).list_particles_within_radius(pos, radius, ignore1, ignore2);
+ }
+
+ inline Real3 periodic_transpose(
+ const Real3& pos1, const Real3& pos2) const
+ {
+ return (*ps_).periodic_transpose(pos1, pos2);
+ }
+
+ inline Real3 apply_boundary(const Real3& pos) const
+ {
+ return (*ps_).apply_boundary(pos);
+ }
+
+ inline Real distance_sq(const Real3& pos1, const Real3& pos2) const
+ {
+ return (*ps_).distance_sq(pos1, pos2);
+ }
+
+ inline Real distance(const Real3& pos1, const Real3& pos2) const
+ {
+ return (*ps_).distance(pos1, pos2);
+ }
+
+ // CompartmentSpaceTraits
+
+ Integer num_molecules(const Species& sp) const
+ {
+ return (*ps_).num_molecules(sp);
+ }
+
+ Integer num_molecules_exact(const Species& sp) const
+ {
+ return (*ps_).num_molecules_exact(sp);
+ }
+
+ void add_molecules(const Species& sp, const Integer& num)
+ {
+ extras::throw_in_particles(*this, sp, num, rng());
+ }
+
+ void add_molecules(const Species& sp, const Integer& num, const boost::shared_ptr<Shape> shape)
+ {
+ extras::throw_in_particles(*this, sp, num, shape, rng());
+ }
+
+ void remove_molecules(const Species& sp, const Integer& num)
+ {
+ if (num < 0)
+ {
+ throw std::invalid_argument(
+ "The number of molecules must be positive.");
+ }
+
+ std::vector<std::pair<ParticleID, Particle> >
+ particles(list_particles(sp));
+ const Integer num_particles(particles.size());
+ if (num_particles < num)
+ {
+ throw std::invalid_argument(
+ "The number of molecules cannot be negative.");
+ }
+
+ shuffle((*rng_), particles);
+ for (std::vector<std::pair<ParticleID, Particle> >::const_iterator
+ i(particles.begin()); i != particles.begin() + num; ++i)
+ {
+ remove_particle((*i).first);
+ }
+ }
+
+ const Real volume() const
+ {
+ const Real3& lengths(edge_lengths());
+ return lengths[0] * lengths[1] * lengths[2];
+ }
+
+ // Optional members
+
+ inline boost::shared_ptr<RandomNumberGenerator>& rng()
+ {
+ return rng_;
+ }
+
+ const particle_container_type& particles() const
+ {
+ return (*ps_).particles();
+ }
+
+ void save(const std::string& filename) const
+ {
+#ifdef WITH_HDF5
+ boost::scoped_ptr<H5::H5File>
+ fout(new H5::H5File(filename.c_str(), H5F_ACC_TRUNC));
+ rng_->save(fout.get());
+ pidgen_.save(fout.get());
+ boost::scoped_ptr<H5::Group>
+ group(new H5::Group(fout->createGroup("ParticleSpace")));
+ ps_->save_hdf5(group.get());
+ extras::save_version_information(fout.get(), std::string("ecell4-bd-") + std::string(ECELL4_VERSION));
+#else
+ throw NotSupported(
+ "This method requires HDF5. The HDF5 support is turned off.");
+#endif
+ }
+
+ void load(const std::string& filename)
+ {
+#ifdef WITH_HDF5
+ boost::scoped_ptr<H5::H5File>
+ fin(new H5::H5File(filename.c_str(), H5F_ACC_RDONLY));
+
+ const std::string required = "ecell4-bd-4.1.0";
+ try
+ {
+ const std::string version = extras::load_version_information(*fin);
+ if (!extras::check_version_information(version, required))
+ {
+ std::stringstream ss;
+ ss << "The version of the given file [" << version
+ << "] is too old. [" << required << "] or later is required.";
+ throw NotSupported(ss.str());
+ }
+ }
+ catch(H5::GroupIException not_found_error)
+ {
+ throw NotFound("No version information was found.");
+ }
+
+ const H5::Group group(fin->openGroup("ParticleSpace"));
+ ps_->load_hdf5(group);
+ pidgen_.load(*fin);
+ rng_->load(*fin);
+#else
+ throw NotSupported(
+ "This method requires HDF5. The HDF5 support is turned off.");
+#endif
+ }
+
+ void bind_to(boost::shared_ptr<Model> model)
+ {
+ if (boost::shared_ptr<Model> bound_model = lock_model())
+ {
+ if (bound_model.get() != model.get())
+ {
+ std::cerr << "Warning: Model already bound to BDWorld"
+ << std::endl;
+ }
+ }
+
+ model_ = model;
+ }
+
+ boost::shared_ptr<Model> lock_model() const
+ {
+ return model_.lock();
+ }
+
+protected:
+
+ boost::scoped_ptr<ParticleSpace> ps_;
+ boost::shared_ptr<RandomNumberGenerator> rng_;
+ SerialIDGenerator<ParticleID> pidgen_;
+
+ boost::weak_ptr<Model> model_;
+};
+
+} // bd
+
+} // ecell4
+
+#endif /* __ECELL4_BD_BD_WORLD_HPP */
diff --git a/ecell4/bd/CMakeLists.txt b/ecell4/bd/CMakeLists.txt
new file mode 100644
index 0000000..492580d
--- /dev/null
+++ b/ecell4/bd/CMakeLists.txt
@@ -0,0 +1,20 @@
+if (NO_SHARED)
+ return()
+endif()
+
+set(CPP_FILES
+ BDSimulator.cpp BDPropagator.cpp functions3d.cpp)
+
+set(HPP_FILES
+ BDSimulator.hpp BDWorld.hpp BDPropagator.hpp functions3d.hpp BDFactory.hpp)
+
+add_library(ecell4-bd SHARED ${CPP_FILES} ${HPP_FILES})
+target_link_libraries(ecell4-bd ecell4-core)
+
+set(ECELL4_SHARED_DIRS ${CMAKE_CURRENT_BINARY_DIR}:${ECELL4_SHARED_DIRS} PARENT_SCOPE)
+
+add_subdirectory(tests)
+add_subdirectory(samples)
+
+install(TARGETS ecell4-bd DESTINATION lib)
+install(FILES ${HPP_FILES} DESTINATION "include/ecell4/bd")
diff --git a/ecell4/bd/functions3d.cpp b/ecell4/bd/functions3d.cpp
new file mode 100644
index 0000000..8485a16
--- /dev/null
+++ b/ecell4/bd/functions3d.cpp
@@ -0,0 +1,154 @@
+#include <gsl/gsl_roots.h>
+#include <gsl/gsl_sf_erf.h>
+
+#include "functions3d.hpp"
+
+
+namespace ecell4
+{
+
+namespace bd
+{
+
+Real3 random_spherical_uniform(
+ RandomNumberGenerator& rng, const Real& r)
+{
+ Real a(0), b(0), r2(1);
+ while (r2 > 0.25)
+ {
+ a = rng.uniform(0, 1) - 0.5;
+ b = rng.uniform(0, 1) - 0.5;
+ r2 = a * a + b * b;
+ }
+
+ const Real scale(8 * r * std::sqrt(0.25 - r2));
+ return Real3(a * scale, b * scale, r * (8 * r2 - 1));
+}
+
+Real3 random_displacement_3d(
+ RandomNumberGenerator& rng, const Real& t, const Real& D)
+{
+ const Real sigma(std::sqrt(2 * D * t));
+ return Real3(
+ rng.gaussian(sigma), rng.gaussian(sigma), rng.gaussian(sigma));
+}
+
+Real Igbd_3d(const Real& sigma, const Real& t, const Real& D)
+{
+ const Real sqrtPi(std::sqrt(M_PI));
+
+ const Real Dt(D * t);
+ const Real Dt2(Dt + Dt);
+ const Real sqrtDt(std::sqrt(Dt));
+ const Real sigmasq(sigma * sigma);
+
+ const Real term1(1 / (3 * sqrtPi));
+ const Real term2(sigmasq - Dt2);
+ const Real term3(Dt2 - 3 * sigmasq);
+ const Real term4(sqrtPi * sigmasq * sigma * gsl_sf_erfc(sigma / sqrtDt));
+
+ const Real result(
+ term1 * (-sqrtDt * (term2 * std::exp(-sigmasq / Dt) + term3) + term4));
+ return result;
+}
+
+Real Igbd_r_3d(Real r, Real sigma, Real t, Real D)
+{
+ const Real sqrtPi(std::sqrt(M_PI));
+
+ const Real Dt(D * t);
+ const Real Dt2(Dt + Dt);
+ const Real Dt4(Dt2 + Dt2);
+ const Real sqrtDt(std::sqrt(Dt));
+ // const Real sqrtDt4(std::sqrt(Dt4));
+ const Real sqrtDt4(2 * sqrtDt);
+ const Real sigmasq(sigma * sigma);
+
+ const Real sigmacb(sigmasq * sigma);
+ const Real rcb(pow_3(r));
+
+ const Real rsigma(r * sigma);
+
+ const Real rps_sq(pow_2(r + sigma)), rms_sq(pow_2(r - sigma));
+
+ const Real term1(-2 * sqrtDt / sqrtPi);
+ const Real term2(std::exp(-sigmasq / Dt) * (sigmasq - Dt2));
+ const Real term3(-std::exp(-rps_sq / Dt4) * (rms_sq + rsigma - Dt2));
+ const Real term4(std::exp(-rms_sq / Dt4) * (rps_sq - rsigma - Dt2));
+ const Real term5(-sigmasq * 3 + Dt2);
+
+ const Real term6((sigmacb - rcb) * gsl_sf_erf((r - sigma) / sqrtDt4));
+ const Real term7(-(sigmacb + sigmacb) * gsl_sf_erf(sigma / sqrtDt));
+ const Real term8((sigmacb + rcb) * gsl_sf_erf((r + sigma) / sqrtDt4));
+
+ const Real result(
+ (term1 * (term2 + term3 + term4 + term5) + term6 + term7 + term8) / 6);
+ return result;
+}
+
+static Real Igbd_r_3d_F(Real r, const Igbd_r_3d_params* params)
+{
+ return Igbd_r_3d(r, params->sigma, params->t, params->D) - params->target;
+}
+
+Real random_ipv_length_3d(
+ RandomNumberGenerator& rng, const Real& sigma, const Real& t, const Real& D)
+{
+ const Real epsabs(1e-18), epsrel(1e-12);
+
+ const Real ptot(Igbd_3d(sigma, t, D));
+
+ Igbd_r_3d_params params = {sigma, t, D, rng.uniform(0, 1) * ptot};
+#ifndef WIN32_MSC
+ gsl_function F = {
+ reinterpret_cast<typeof(F.function)>(&Igbd_r_3d_F), ¶ms};
+#else
+ gsl_function F = {
+ reinterpret_cast<double (__cdecl *)(double,void *)>(&Igbd_r_3d_F), ¶ms};
+#endif
+
+ Real low(sigma), high(sigma + 10 * std::sqrt(6 * D * t));
+
+ gsl_root_fsolver* solver(gsl_root_fsolver_alloc(gsl_root_fsolver_brent));
+ gsl_root_fsolver_set(solver, &F, low, high);
+
+ const unsigned int max_num_iter(100);
+ unsigned int i(0);
+ while (true)
+ {
+ gsl_root_fsolver_iterate(solver);
+
+ low = gsl_root_fsolver_x_lower(solver);
+ high = gsl_root_fsolver_x_upper(solver);
+ int status(gsl_root_test_interval(low, high, epsabs, epsrel));
+
+ if (status == GSL_CONTINUE)
+ {
+ if (i >= max_num_iter)
+ {
+ gsl_root_fsolver_free(solver);
+ throw std::runtime_error("failed to converge");
+ }
+ }
+ else
+ {
+ break;
+ }
+
+ ++i;
+ }
+
+ gsl_root_fsolver_free(solver);
+ return low;
+}
+
+Real3 random_ipv_3d(
+ RandomNumberGenerator& rng, const Real& sigma, const Real& t, const Real& D)
+{
+ const Real r(random_ipv_length_3d(rng, sigma, t, D));
+ return random_spherical_uniform(rng, r);
+}
+
+} // bd
+
+} // ecell4
diff --git a/ecell4/bd/functions3d.hpp b/ecell4/bd/functions3d.hpp
new file mode 100644
index 0000000..672e605
--- /dev/null
+++ b/ecell4/bd/functions3d.hpp
@@ -0,0 +1,57 @@
+#ifndef __ECELL4_BD_FUNCTIONS_3D_HPP
+#define __ECELL4_BD_FUNCTIONS_3D_HPP
+
+#include <ecell4/core/config.h>
+#include <ecell4/core/types.hpp>
+#include <ecell4/core/Real3.hpp>
+#include <ecell4/core/RandomNumberGenerator.hpp>
+
+namespace ecell4
+{
+
+namespace bd
+{
+
+/**
+ * $\int_0^\infty r^2dr\,g\left(r,\Delta t\right),$
+ * where $g\left(r,\Delta t\right)$ is a probability that a pair, which is
+ * initially separated by a length $r$, overlaps after the time $\Delta t$:
+ * $g\left(r,\Delta t\right)\equiv\int_0^\sigma r'^2dr'\int_0^\pi\sin\theta
+ * d\theta\int_0^{2\pi}d\phi\,p\left({\bf r'},t+\Delta t;{\bf r},t\right).$
+ * see Eqs. (20-21) in (Morelli & ten Wolde, J. Chem. Phys., 2008).
+ * @param sigma a radius of the excluded volume, $\sigma$.
+ * @param t a step interval, $\Delta t$.
+ * @param D a diffusion coefficient, $D$.
+ */
+Real Igbd_3d(const Real& sigma, const Real& t, const Real& D);
+
+/**
+ * $\int_0^R r^2dr\,g\left(r,\Delta t\right).$
+ * see Eqs. (20-21) in (Morelli & ten Wolde, J. Chem. Phys., 2008).
+ * @param an upper limit of the integration, $R$.
+ * @param sigma a radius of the excluded volume, $\sigma$.
+ * @param t a step interval, $\Delta t$.
+ * @param D a diffusion coefficient, $D$.
+ */
+Real Igbd_r_3d(Real r, Real sigma, Real t, Real D);
+
+Real3 random_spherical_uniform(RandomNumberGenerator& rng, const Real& r);
+Real3 random_displacement_3d(
+ RandomNumberGenerator& rng, const Real& t, const Real& D);
+
+Real3 random_ipv_3d(
+ RandomNumberGenerator& rng, const Real& sigma, const Real& t, const Real& D);
+
+struct Igbd_r_3d_params
+{
+ const Real sigma;
+ const Real t;
+ const Real D;
+ const Real target;
+};
+
+} // bd
+
+} // ecell4
+
+#endif /* __ECELL4_BD_FUNCTIONS_3D_HPP */
diff --git a/ecell4/bd/samples/CMakeLists.txt b/ecell4/bd/samples/CMakeLists.txt
new file mode 100644
index 0000000..bdee110
--- /dev/null
+++ b/ecell4/bd/samples/CMakeLists.txt
@@ -0,0 +1,2 @@
+add_executable(hardbody hardbody.cpp)
+target_link_libraries(hardbody ecell4-bd)
diff --git a/ecell4/bd/samples/hardbody.cpp b/ecell4/bd/samples/hardbody.cpp
new file mode 100644
index 0000000..e0b6c2c
--- /dev/null
+++ b/ecell4/bd/samples/hardbody.cpp
@@ -0,0 +1,68 @@
+#include <string>
+
+#include <ecell4/core/types.hpp>
+#include <ecell4/core/Species.hpp>
+#include <ecell4/core/Real3.hpp>
+#include <ecell4/core/NetworkModel.hpp>
+
+#include <ecell4/bd/BDSimulator.hpp>
+
+using namespace ecell4;
+using namespace ecell4::bd;
+
+/**
+ * a simple function to dump particle position(s)
+ */
+void print_particle_position(const BDWorld& world, const ParticleID& pid)
+{
+ const Real3 pos(world.get_particle(pid).second.position());
+ std::cout << std::setprecision(12) << world.t() << " : " << pos << std::endl;
+}
+
+/**
+ * main function
+ */
+int main(int argc, char** argv)
+{
+ /// simulation parameters
+ const Real L(1e-6);
+ std::string D("5e-12"), radius("5e-9");
+ const Real3 edge_lengths(L, L, L);
+ const Integer3 matrix_sizes(3, 3, 3);
+
+ /// instantiate NetworkModel
+ boost::shared_ptr<NetworkModel> model(new NetworkModel());
+
+ /// create a Species, and set its attributes
+ Species sp1("A");
+ sp1.set_attribute("D", D);
+ sp1.set_attribute("radius", radius);
+ (*model).add_species_attribute(sp1);
+
+ boost::shared_ptr<RandomNumberGenerator> rng(new GSLRandomNumberGenerator());
+
+ /// instantiate BDWorld
+ boost::shared_ptr<BDWorld> world(new BDWorld(edge_lengths, matrix_sizes, rng));
+ world->bind_to(model);
+
+ /// create a Particle, and inject it into BDWorld
+ BDWorld::molecule_info_type info1((*world).get_molecule_info(Species("A")));
+ const Particle p1(
+ sp1, Real3(0, 0, 0), info1.radius, info1.D);
+ const ParticleID pid1((*world).new_particle(p1).first.first);
+ world->save("test_bd.h5");
+
+ /// instatiate BDSimulator
+ BDSimulator sim(model, world);
+ sim.set_dt(1e-6);
+
+ /// run and log by the millisecond
+ for (unsigned int i(0); i <= 10; ++i)
+ {
+ while (sim.step(1e-3 * i))
+ {
+ ; // do nothing
+ }
+ print_particle_position(*world, pid1);
+ }
+}
diff --git a/ecell4/bd/tests/BDSimulator_test.cpp b/ecell4/bd/tests/BDSimulator_test.cpp
new file mode 100644
index 0000000..add8cee
--- /dev/null
+++ b/ecell4/bd/tests/BDSimulator_test.cpp
@@ -0,0 +1,61 @@
+#define BOOST_TEST_MODULE "BDSimulator_test"
+
+#ifdef UNITTEST_FRAMEWORK_LIBRARY_EXIST
+# include <boost/test/unit_test.hpp>
+#else
+# define BOOST_TEST_NO_LIB
+# include <boost/test/included/unit_test.hpp>
+#endif
+
+#include <ecell4/core/NetworkModel.hpp>
+#include "../BDSimulator.hpp"
+
+using namespace ecell4;
+using namespace ecell4::bd;
+
+
+BOOST_AUTO_TEST_CASE(BDSimulator_test_constructor)
+{
+ const Real L(1e-6);
+ const Real3 edge_lengths(L, L, L);
+ const Integer3 matrix_sizes(3, 3, 3);
+ boost::shared_ptr<RandomNumberGenerator> rng(new GSLRandomNumberGenerator());
+
+ boost::shared_ptr<NetworkModel> model(new NetworkModel());
+ boost::shared_ptr<BDWorld> world(new BDWorld(edge_lengths, matrix_sizes, rng));
+
+ BDSimulator target(model, world);
+}
+
+BOOST_AUTO_TEST_CASE(BDSimulator_test_step1)
+{
+ const Real L(1e-6);
+ const Real3 edge_lengths(L, L, L);
+ const Integer3 matrix_sizes(3, 3, 3);
+ boost::shared_ptr<RandomNumberGenerator> rng(new GSLRandomNumberGenerator());
+
+ boost::shared_ptr<NetworkModel> model(new NetworkModel());
+ boost::shared_ptr<BDWorld> world(new BDWorld(edge_lengths, matrix_sizes, rng));
+
+ BDSimulator target(model, world);
+ target.step();
+}
+
+BOOST_AUTO_TEST_CASE(BDSimulator_test_step2)
+{
+ const Real L(1e-6);
+ const Real3 edge_lengths(L, L, L);
+ const Integer3 matrix_sizes(3, 3, 3);
+ boost::shared_ptr<RandomNumberGenerator> rng(new GSLRandomNumberGenerator());
+
+ boost::shared_ptr<NetworkModel> model(new NetworkModel());
+ Species sp1("A", "2.5e-9", "1e-12");
+ model->add_species_attribute(sp1);
+
+ boost::shared_ptr<BDWorld> world(new BDWorld(edge_lengths, matrix_sizes, rng));
+ world->new_particle(Particle(sp1, Real3(0, 0, 0), 2.5e-9, 1e-12));
+ world->add_molecules(sp1, 10);
+
+ BDSimulator target(model, world);
+ target.step();
+}
diff --git a/ecell4/bd/tests/BDWorld_test.cpp b/ecell4/bd/tests/BDWorld_test.cpp
new file mode 100644
index 0000000..1480a80
--- /dev/null
+++ b/ecell4/bd/tests/BDWorld_test.cpp
@@ -0,0 +1,41 @@
+#define BOOST_TEST_MODULE "BDWorld_test"
+
+#ifdef UNITTEST_FRAMEWORK_LIBRARY_EXIST
+# include <boost/test/unit_test.hpp>
+#else
+# define BOOST_TEST_NO_LIB
+# include <boost/test/included/unit_test.hpp>
+#endif
+
+#include "../BDWorld.hpp"
+
+using namespace ecell4;
+using namespace ecell4::bd;
+
+
+BOOST_AUTO_TEST_CASE(BDWorld_test_constructor)
+{
+ const Real L(1e-6);
+ const Real3 edge_lengths(L, L, L);
+ const Integer3 matrix_sizes(3, 3, 3);
+ boost::shared_ptr<RandomNumberGenerator> rng(new GSLRandomNumberGenerator());
+
+ BDWorld target(edge_lengths, matrix_sizes, rng);
+}
+
+BOOST_AUTO_TEST_CASE(BDWorld_test_edge_lengths)
+{
+ const Real L(1e-6);
+ const Real3 input(L, L, L);
+ const Integer3 matrix_sizes(3, 3, 3);
+ boost::shared_ptr<RandomNumberGenerator> rng(new GSLRandomNumberGenerator());
+
+ BDWorld target(input, matrix_sizes, rng);
+
+ const Real3& output(target.edge_lengths());
+ for (Real3::size_type dim(0); dim < 3; ++dim)
+ {
+ BOOST_CHECK(output[dim] > 0);
+ BOOST_CHECK_EQUAL(output[dim], input[dim]);
+ }
+}
diff --git a/ecell4/bd/tests/CMakeLists.txt b/ecell4/bd/tests/CMakeLists.txt
new file mode 100644
index 0000000..6effedd
--- /dev/null
+++ b/ecell4/bd/tests/CMakeLists.txt
@@ -0,0 +1,16 @@
+set(TEST_NAMES
+ BDSimulator_test BDWorld_test)
+
+set(test_library_dependencies)
+find_library(BOOST_UNITTEST_FRAMEWORK_LIBRARY boost_unit_test_framework)
+if (BOOST_UNITTEST_FRAMEWORK_LIBRARY)
+ add_definitions(-DBOOST_TEST_DYN_LINK)
+ add_definitions(-DUNITTEST_FRAMEWORK_LIBRARY_EXIST)
+ set(test_library_dependencies boost_unit_test_framework)
+endif()
+
+foreach(TEST_NAME ${TEST_NAMES})
+ add_executable(${TEST_NAME} ${TEST_NAME}.cpp)
+ target_link_libraries(${TEST_NAME} ecell4-bd ${test_library_dependencies})
+ add_test(NAME ${TEST_NAME} COMMAND ${TEST_NAME})
+endforeach(TEST_NAME)
diff --git a/ecell4/core/AABB.cpp b/ecell4/core/AABB.cpp
new file mode 100644
index 0000000..7d05818
--- /dev/null
+++ b/ecell4/core/AABB.cpp
@@ -0,0 +1,46 @@
+#include "AABB.hpp"
+#include "collision.hpp"
+
+
+namespace ecell4
+{
+
+Real AABB::distance_sq(const Real3 pos) const
+{
+ return collision::distance_sq_point_AABB(pos, *this);
+}
+
+Real AABB::distance(const Real3& pos) const
+{
+ return sqrt(distance_sq(pos));
+}
+
+Real3 AABB::draw_position(
+ boost::shared_ptr<RandomNumberGenerator>& rng) const
+{
+ const Real3 pos(
+ rng->uniform(lower_[0], upper_[0]),
+ rng->uniform(lower_[1], upper_[1]),
+ rng->uniform(lower_[2], upper_[2]));
+ return pos;
+}
+
+bool AABB::test_AABB(const Real3& l, const Real3& u) const
+{
+ return collision::test_AABB_AABB(lower_, upper_, l, u);
+}
+
+bool AABB::test_segment(const Real3& p0, const Real3& p1) const
+{
+ return collision::test_segment_AABB(p0, p1, lower_, upper_);
+}
+
+std::pair<bool, Real> AABB::intersect_ray(const Real3& p, const Real3& d) const
+{
+ Real tmin;
+ Real3 q;
+ const bool retval(collision::intersect_ray_AABB(p, d, lower_, upper_, tmin, q));
+ return std::make_pair(retval, tmin);
+}
+
+}
diff --git a/ecell4/core/AABB.hpp b/ecell4/core/AABB.hpp
new file mode 100644
index 0000000..a69ad47
--- /dev/null
+++ b/ecell4/core/AABB.hpp
@@ -0,0 +1,96 @@
+#ifndef __ECELL4_AABB_HPP
+#define __ECELL4_AABB_HPP
+
+#include "Shape.hpp"
+#include "shape_operators.hpp"
+
+namespace ecell4
+{
+
+struct AABB
+ : public Shape
+{
+ AABB()
+ : lower_(), upper_()
+ {
+ ;
+ }
+
+ AABB(const Real3& lower, const Real3& upper)
+ : lower_(lower), upper_(upper)
+ {
+ ;
+ }
+
+ AABB(const AABB& rhs)
+ : lower_(rhs.lower()), upper_(rhs.upper())
+ {
+ ;
+ }
+
+ const Real3& lower() const
+ {
+ return lower_;
+ }
+
+ const Real3& upper() const
+ {
+ return upper_;
+ }
+
+ const Real3 center() const
+ {
+ return multiply(upper_ + lower_, 0.5);
+ }
+
+ const Real3 radius() const
+ {
+ return multiply(upper_ - lower_, 0.5);
+ }
+
+ Real distance_sq(const Real3 pos) const;
+ Real distance(const Real3& pos) const;
+
+ Real is_inside(const Real3& coord) const
+ {
+ return distance(coord);
+ }
+
+ Real3 draw_position(
+ boost::shared_ptr<RandomNumberGenerator>& rng) const;
+ bool test_AABB(const Real3& l, const Real3& u) const;
+ bool test_segment(const Real3& p0, const Real3& p1) const;
+ std::pair<bool, Real> intersect_ray(const Real3& p, const Real3& d) const;
+
+ bool test_ray(const Real3& p, const Real3& d) const
+ {
+ return intersect_ray(p, d).first;
+ }
+
+ inline Real3 corner(const int& n) const
+ {
+ const Real3 p(
+ ((n & 1) ? upper_[0] : lower_[0]),
+ ((n & 2) ? upper_[1] : lower_[1]),
+ ((n & 4) ? upper_[2] : lower_[2]));
+ return p;
+ }
+
+ dimension_kind dimension() const
+ {
+ return THREE;
+ }
+
+ Surface surface() const
+ {
+ return Surface(boost::shared_ptr<Shape>(new AABB(*this)));
+ }
+
+protected:
+
+ Real3 lower_, upper_;
+};
+
+}// ecell4
+
+#endif /* __ECELL4_AABB_HPP */
diff --git a/ecell4/core/AABBSurface.cpp b/ecell4/core/AABBSurface.cpp
new file mode 100644
index 0000000..de7dec6
--- /dev/null
+++ b/ecell4/core/AABBSurface.cpp
@@ -0,0 +1,138 @@
+#include "AABB.hpp"
+#include "AABBSurface.hpp"
+#include "collision.hpp"
+
+
+namespace ecell4
+{
+
+Real AABBSurface::distance_sq(const Real3 pos) const
+{
+ if(this->_is_inside(pos))
+ {
+ const Real3 dupper = upper_ - pos;
+ const Real3 dlower = lower_ - pos;
+ const Real du = std::min(std::min(dupper[0], dupper[1]), dupper[2]);
+ const Real dl = std::min(std::min(dlower[0], dlower[1]), dlower[2]);
+ const Real dmin = std::min(du, dl);
+ return dmin * dmin;
+ }
+ else
+ {
+ return collision::distance_sq_point_AABB(pos, AABB(lower_, upper_));
+ }
+}
+
+Real AABBSurface::distance(const Real3& pos) const
+{
+ if(this->_is_inside(pos))
+ {
+ const Real3 dupper = upper_ - pos;
+ const Real3 dlower = lower_ - pos;
+ const Real du = std::min(std::min(dupper[0], dupper[1]), dupper[2]);
+ const Real dl = std::min(std::min(dlower[0], dlower[1]), dlower[2]);
+ return std::min(du, dl);
+ }
+ else
+ {
+ return sqrt(collision::distance_sq_point_AABB(pos, AABB(lower_, upper_)));
+ }
+}
+
+Real3 AABBSurface::draw_position(
+ boost::shared_ptr<RandomNumberGenerator>& rng) const
+{
+ const Real Sxy = (upper_[0] - lower_[0]) * (upper_[1] - lower_[1]);
+ const Real Syz = (upper_[1] - lower_[1]) * (upper_[2] - lower_[2]);
+ const Real Szx = (upper_[1] - lower_[1]) * (upper_[0] - lower_[0]);
+ const Real Stot = (Sxy + Syz + Szx) * 2;
+ Real rnd = rng->uniform(0., Stot);
+
+ if((rnd -= Sxy) < 0.)
+ {
+ return Real3(rng->uniform(lower_[0], upper_[0]),
+ rng->uniform(lower_[1], upper_[1]),
+ lower_[2]);
+ }
+ else if((rnd -= Sxy) < 0.)
+ {
+ return Real3(rng->uniform(lower_[0], upper_[0]),
+ rng->uniform(lower_[1], upper_[1]),
+ upper_[2]);
+ }
+ else if((rnd -= Syz) < 0.)
+ {
+ return Real3(lower_[0],
+ rng->uniform(lower_[1], upper_[1]),
+ rng->uniform(lower_[2], upper_[2]));
+ }
+ else if((rnd -= Syz) < 0.)
+ {
+ return Real3(upper_[0],
+ rng->uniform(lower_[1], upper_[1]),
+ rng->uniform(lower_[2], upper_[2]));
+ }
+ else if((rnd -= Szx) < 0.)
+ {
+ return Real3(rng->uniform(lower_[0], upper_[0]),
+ lower_[1],
+ rng->uniform(lower_[2], upper_[2]));
+ }
+ else if((rnd -= Szx) < 0.)
+ {
+ return Real3(rng->uniform(lower_[0], upper_[0]),
+ upper_[1],
+ rng->uniform(lower_[2], upper_[2]));
+ }
+ else
+ {
+ throw std::logic_error("invalid random number");
+ }
+}
+
+bool AABBSurface::test_AABB(const Real3& l, const Real3& u) const
+{// same as AABB case?
+ return collision::test_AABB_AABB(lower_, upper_, l, u);
+}
+
+bool AABBSurface::test_segment(const Real3& p0, const Real3& p1) const
+{
+ if(this->_is_inside(p0) && this->_is_inside(p1))
+ {
+ return false;
+ }
+ else if(this->_is_inside(p0) || this->_is_inside(p1))
+ {
+ return true;
+ }
+ else
+ {
+ return collision::test_segment_AABB(p0, p1, lower_, upper_);
+ }
+}
+
+std::pair<bool, Real> AABBSurface::intersect_ray(const Real3& p, const Real3& d) const
+{
+ if(this->_is_inside(p))
+ {
+ Real tmin = inf;
+ for(std::size_t i=0; i<3; ++i)
+ {
+ if(std::abs(d[i]) < epsilon) continue;
+ const Real tmp = (d[i] > 0) ? (this->upper_[i] - p[i]) / d[i] :
+ (this->lower_[i] - p[i]) / d[i] ;
+ tmin = std::min(tmin, tmp);
+ }
+ bool retval(tmin <= 1.0);
+ return std::make_pair(retval, tmin);
+ }
+ else
+ {
+ Real tmin;
+ Real3 q;
+ const bool retval(collision::intersect_ray_AABB(p, d, lower_, upper_, tmin, q));
+ return std::make_pair(retval, tmin);
+ }
+}
+
+}// ecell4
diff --git a/ecell4/core/AABBSurface.hpp b/ecell4/core/AABBSurface.hpp
new file mode 100644
index 0000000..53492ac
--- /dev/null
+++ b/ecell4/core/AABBSurface.hpp
@@ -0,0 +1,105 @@
+#ifndef __ECELL4_AABB_SURFACE_HPP
+#define __ECELL4_AABB_SURFACE_HPP
+
+#include "Shape.hpp"
+#include "shape_operators.hpp"
+
+namespace ecell4
+{
+
+struct AABBSurface
+ : public Shape
+{
+ AABBSurface()
+ : lower_(), upper_()
+ {
+ ;
+ }
+
+ AABBSurface(const Real3& lower, const Real3& upper)
+ : lower_(lower), upper_(upper)
+ {
+ ;
+ }
+
+ AABBSurface(const AABBSurface& rhs)
+ : lower_(rhs.lower()), upper_(rhs.upper())
+ {
+ ;
+ }
+
+ const Real3& lower() const
+ {
+ return lower_;
+ }
+
+ const Real3& upper() const
+ {
+ return upper_;
+ }
+
+ const Real3 center() const
+ {
+ return multiply(upper_ + lower_, 0.5);
+ }
+
+ const Real3 radius() const
+ {
+ return multiply(upper_ - lower_, 0.5);
+ }
+
+ Real distance_sq(const Real3 pos) const;
+ Real distance(const Real3& pos) const;
+
+ Real is_inside(const Real3& coord) const
+ {
+ if(this->_is_inside(coord))
+ return -1. * this->distance(coord);
+ else
+ return this->distance(coord);
+ }
+
+ bool _is_inside(const Real3& coord) const
+ {
+ return (lower_[0] <= coord[0] && coord[0] <= upper_[0]) &&
+ (lower_[1] <= coord[1] && coord[1] <= upper_[1]) &&
+ (lower_[2] <= coord[2] && coord[2] <= upper_[2]);
+ }
+
+ Real3 draw_position(boost::shared_ptr<RandomNumberGenerator>& rng) const;
+ bool test_AABB(const Real3& l, const Real3& u) const;
+ bool test_segment(const Real3& p0, const Real3& p1) const;
+ std::pair<bool, Real> intersect_ray(const Real3& p, const Real3& d) const;
+
+ bool test_ray(const Real3& p, const Real3& d) const
+ {
+ return intersect_ray(p, d).first;
+ }
+
+ inline Real3 corner(const int& n) const
+ {
+ const Real3 p(
+ ((n & 1) ? upper_[0] : lower_[0]),
+ ((n & 2) ? upper_[1] : lower_[1]),
+ ((n & 4) ? upper_[2] : lower_[2]));
+ return p;
+ }
+
+ dimension_kind dimension() const
+ {
+ return TWO;
+ }
+
+ Surface surface() const
+ {
+ return Surface(boost::shared_ptr<Shape>(new AABBSurface(*this)));
+ }
+
+protected:
+
+ Real3 lower_, upper_;
+};
+
+}// ecell4
+
+#endif /* __ECELL4_AABB_SURFACE_HPP */
diff --git a/ecell4/core/CMakeLists.txt b/ecell4/core/CMakeLists.txt
new file mode 100644
index 0000000..8acb66b
--- /dev/null
+++ b/ecell4/core/CMakeLists.txt
@@ -0,0 +1,63 @@
+# SET(CPACK_GENERATOR "DEB")
+# SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libgsl0-dev (>= 1.16+dfsg-1ubuntu1), libhdf5-serial-dev (>= 1.8.11-5ubuntu7), libboost-dev (>= 1.54.0.1ubuntu1)")
+# SET(CPACK_PACKAGE_CONTACT "Kozo Nishida <knishida at riken.jp>")
+# SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "Kozo Nishida <knishida at riken.jp>")
+# INCLUDE(CPack)
+
+set(ECELL4_VERSION ${PROJECT_VERSION})
+
+configure_file(
+ ${CMAKE_CURRENT_SOURCE_DIR}/config.h.in
+ ${CMAKE_CURRENT_BINARY_DIR}/config.h)
+
+if (NO_SHARED)
+ return()
+endif()
+
+# set(CPP_FILES
+# CompartmentSpace.cpp Context.cpp Integer3.cpp Journal.cpp ReactionRule.cpp
+# LatticeSpace.cpp Model.cpp NetworkModel.cpp NetfreeModel.cpp ParticleSpace.cpp
+# Real3.cpp RandomNumberGenerator.cpp Species.cpp UnitSpecies.cpp
+# Sphere.cpp Cylinder.cpp SubvolumeSpace.cpp ParticleSpaceCellListImpl.cpp
+# LatticeSpaceCellListImpl.cpp collision.cpp Rod.cpp AABB.cpp AABBSurface.cpp
+# PlanarSurface.cpp Mesh.cpp observers.cpp extras.cpp)
+
+# set(HPP_FILES
+# CompartmentSpace.hpp DynamicPriorityQueue.hpp LatticeSpace.hpp
+# MolecularType.hpp Particle.hpp Real3.hpp ReactionRule.hpp Space.hpp
+# VacantType.hpp extras.hpp linear_algebra.hpp CompartmentSpaceHDF5Writer.hpp
+# EventScheduler.hpp Identifier.hpp LatticeSpaceHDF5Writer.hpp
+# SubvolumeSpace.hpp SubvolumeSpaceHDF5Writer.hpp
+# MolecularTypeBase.hpp ParticleSpace.hpp RandomNumberGenerator.hpp
+# SerialIDGenerator.hpp Species.hpp Voxel.hpp functions.hpp swap.hpp ModelWrapper.hpp
+# Context.hpp Integer3.hpp Journal.hpp Model.hpp NetworkModel.hpp NetfreeModel.hpp
+# ParticleSpaceHDF5Writer.hpp Reaction.hpp Simulator.hpp SimulatorBase.hpp
+# UnitSpecies.hpp observers.hpp exceptions.hpp get_mapper_mf.hpp types.hpp
+# Shape.hpp Sphere.hpp Cylinder.hpp AABB.hpp AABBSurface.hpp StructureType.hpp
+# ParticleSpaceCellListImpl.hpp LatticeSpaceCellListImpl.hpp
+# PlanarSurface.hpp Rod.hpp collision.hpp
+# comparators.hpp SimulatorFactory.hpp Mesh.hpp shape_operators.hpp)
+
+file(GLOB CPP_FILES *.cpp)
+file(GLOB HPP_FILES *.hpp)
+
+add_library(ecell4-core SHARED
+ ${CPP_FILES} ${HPP_FILES} "${CMAKE_CURRENT_BINARY_DIR}/config.h")
+
+set(ECELL4_SHARED_DIRS ${CMAKE_CURRENT_BINARY_DIR}:${ECELL4_SHARED_DIRS} PARENT_SCOPE)
+
+if(WITH_VTK AND NOT VTK_LIBRARIES)
+ target_link_libraries(ecell4-core
+ ${HDF5_LIBRARIES} ${Boost_LIBRARIES} ${GSL_LIBRARIES} ${GSL_CBLAS_LIBRARIES}
+ vtkHybrid vtkWidgets)
+else()
+ target_link_libraries(ecell4-core
+ ${HDF5_LIBRARIES} ${Boost_LIBRARIES} ${GSL_LIBRARIES} ${GSL_CBLAS_LIBRARIES}
+ ${VTK_LIBRARIES})
+endif()
+
+add_subdirectory(tests)
+
+install(TARGETS ecell4-core DESTINATION lib)
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/config.h" ${HPP_FILES}
+ DESTINATION "include/ecell4/core")
diff --git a/ecell4/core/CompartmentSpace.cpp b/ecell4/core/CompartmentSpace.cpp
new file mode 100644
index 0000000..95e77ae
--- /dev/null
+++ b/ecell4/core/CompartmentSpace.cpp
@@ -0,0 +1,159 @@
+#include <stdexcept>
+#include <numeric>
+
+#include "exceptions.hpp"
+#include "functions.hpp"
+#include "Context.hpp"
+#include "CompartmentSpace.hpp"
+
+
+namespace ecell4
+{
+
+const Real CompartmentSpaceVectorImpl::volume() const
+{
+ return volume_;
+}
+
+std::vector<Species> CompartmentSpaceVectorImpl::list_species() const
+{
+ return species_; // return a copy
+}
+
+bool CompartmentSpaceVectorImpl::has_species(const Species& sp) const
+{
+ return std::find(species_.begin(), species_.end(), sp) != species_.end();
+}
+
+void CompartmentSpaceVectorImpl::set_volume(const Real& volume)
+{
+ if (volume <= 0)
+ {
+ throw std::invalid_argument("The volume must be positive.");
+ }
+
+ volume_ = volume;
+ const Real L(cbrt(volume));
+ edge_lengths_ = Real3(L, L, L);
+}
+
+void CompartmentSpaceVectorImpl::reserve_species(const Species& sp)
+{
+ species_map_type::const_iterator i(index_map_.find(sp));
+ if (i != index_map_.end())
+ {
+ throw AlreadyExists("Species already exists");
+ }
+
+ index_map_.insert(std::make_pair(sp, num_molecules_.size()));
+ species_.push_back(sp);
+ num_molecules_.push_back(0);
+}
+
+void CompartmentSpaceVectorImpl::release_species(const Species& sp)
+{
+ species_map_type::iterator i(index_map_.find(sp));
+ if (i == index_map_.end())
+ {
+ std::ostringstream message;
+ message << "Speices [" << sp.serial() << "] not found";
+ throw NotFound(message.str()); // use boost::format if it's allowed
+ }
+
+ species_map_type::mapped_type
+ idx((*i).second), last_idx(num_molecules_.size() - 1);
+ if (idx != last_idx)
+ {
+ species_container_type::size_type const
+ idx_(static_cast<species_container_type::size_type>(idx)),
+ last_idx_(static_cast<species_container_type::size_type>(last_idx));
+ const Species& last_sp(species_[last_idx_]);
+ species_[idx_] = last_sp;
+ num_molecules_[idx] = num_molecules_[last_idx];
+ index_map_[last_sp] = idx;
+ }
+
+ species_.pop_back();
+ num_molecules_.pop_back();
+ index_map_.erase(sp);
+}
+
+Integer CompartmentSpaceVectorImpl::num_molecules(const Species& sp) const
+{
+ SpeciesExpressionMatcher sexp(sp);
+ Integer retval(0);
+ for (species_map_type::const_iterator i(index_map_.begin());
+ i != index_map_.end(); ++i)
+ {
+ if (sexp.match((*i).first))
+ {
+ do
+ {
+ retval += num_molecules_[(*i).second];
+ } while (sexp.next());
+ }
+ }
+ return retval;
+}
+
+Integer CompartmentSpaceVectorImpl::num_molecules_exact(const Species& sp) const
+{
+ species_map_type::const_iterator i(index_map_.find(sp));
+ if (i == index_map_.end())
+ {
+ // throw NotFound("Species not found");
+ return 0;
+ }
+ return num_molecules_[(*i).second];
+}
+
+void CompartmentSpaceVectorImpl::add_molecules(
+ const Species& sp, const Integer& num)
+{
+ if (num < 0)
+ {
+ std::ostringstream message;
+ message << "The number of molecules must be positive. [" << sp.serial() << "]";
+ throw std::invalid_argument(message.str());
+ }
+
+ species_map_type::const_iterator i(index_map_.find(sp));
+ if (i == index_map_.end())
+ {
+ // throw NotFound("Species not found");
+ reserve_species(sp);
+ i = index_map_.find(sp);
+ }
+
+ num_molecules_[(*i).second] += num;
+}
+
+void CompartmentSpaceVectorImpl::remove_molecules(
+ const Species& sp, const Integer& num)
+{
+ if (num < 0)
+ {
+ std::ostringstream message;
+ message << "The number of molecules must be positive. [" << sp.serial() << "]";
+ throw std::invalid_argument(message.str());
+ }
+
+ species_map_type::const_iterator i(index_map_.find(sp));
+ if (i == index_map_.end())
+ {
+ std::ostringstream message;
+ message << "Speices [" << sp.serial() << "] not found";
+ throw NotFound(message.str()); // use boost::format if it's allowed
+ }
+
+ if (num_molecules_[(*i).second] < num)
+ {
+ std::ostringstream message;
+ message << "The number of molecules cannot be negative. [" << sp.serial() << "]";
+ throw std::invalid_argument(message.str());
+ }
+
+ num_molecules_[(*i).second] -= num;
+}
+
+} // ecell4
diff --git a/ecell4/core/CompartmentSpace.hpp b/ecell4/core/CompartmentSpace.hpp
new file mode 100644
index 0000000..9cc6eb9
--- /dev/null
+++ b/ecell4/core/CompartmentSpace.hpp
@@ -0,0 +1,261 @@
+#ifndef __ECELL4_COMPARTMENT_SPACE_HPP
+#define __ECELL4_COMPARTMENT_SPACE_HPP
+
+#include "get_mapper_mf.hpp"
+#include "types.hpp"
+#include "exceptions.hpp"
+#include "Species.hpp"
+#include "Space.hpp"
+
+#ifdef WITH_HDF5
+#include "CompartmentSpaceHDF5Writer.hpp"
+#endif
+
+namespace ecell4
+{
+
+class CompartmentSpace
+ : public Space
+{
+public:
+
+ CompartmentSpace()
+ : t_(0.0)
+ {
+ ;
+ }
+
+ virtual ~CompartmentSpace()
+ {
+ ; // do nothing
+ }
+
+ // SpaceTraits
+
+ const Real t() const
+ {
+ return t_;
+ }
+
+ void set_t(const Real& t)
+ {
+ if (t < 0.0)
+ {
+ throw std::invalid_argument("the time must be positive.");
+ }
+ t_ = t;
+ }
+
+ // CompartmentSpaceTraits
+
+ virtual const Real3& edge_lengths() const
+ {
+ throw NotImplemented("edge_lengths() not implemented");
+ }
+
+ virtual void reset(const Real3& edge_lengths)
+ {
+ throw NotImplemented(
+ "reset(const Real3&) not implemented");
+ }
+
+ /**
+ * get volume.
+ * this function is a part of the trait of CompartmentSpace.
+ * @return a volume (m^3) Real
+ */
+ virtual const Real volume() const
+ {
+ throw NotImplemented("volume() not implemented");
+ }
+
+ /**
+ * get the number of molecules
+ * this function is a part of the trait of CompartmentSpace.
+ * @param sp a species
+ * @return a number of molecules Integer
+ */
+
+ virtual Integer num_molecules(const Species& sp) const
+ {
+ return num_molecules_exact(sp);
+ }
+
+ virtual Integer num_molecules_exact(const Species& sp) const
+ {
+ throw NotImplemented("num_molecules_exact(const Species&) not implemented");
+ }
+
+ virtual Real get_value(const Species& sp) const
+ {
+ return static_cast<Real>(num_molecules(sp));
+ }
+
+ virtual Real get_value_exact(const Species& sp) const
+ {
+ return static_cast<Real>(num_molecules_exact(sp));
+ }
+
+ /**
+ * get all species whitin the space.
+ * this function is a part of the trait of CompartmentSpace.
+ * @return a list of species
+ */
+ virtual std::vector<Species> list_species() const
+ {
+ throw NotImplemented("list_species() not implemented");
+ }
+
+ virtual bool has_species(const Species& sp) const
+ {
+ throw NotImplemented("has_species(const Species&) not implemented");
+ }
+
+ // CompartSpace member functions
+
+ /**
+ * set volume.
+ * this function is a member of CompartmentSpace.
+ * @param volume a nonzero positive Real value
+ */
+ virtual void set_volume(const Real& volume) = 0;
+
+ /**
+ * increase the number of molecules.
+ * this function is a member of CompartmentSpace.
+ * @param sp a species
+ * @param num a number of molecules
+ */
+ virtual void add_molecules(const Species& sp, const Integer& num) = 0;
+
+ /**
+ * decrease the number of molecules.
+ * this function is a member of CompartmentSpace.
+ * @param sp a species
+ * @param num a number of molecules
+ */
+ virtual void remove_molecules(const Species& sp, const Integer& num) = 0;
+
+ virtual void set_value(const Species& sp, const Real value)
+ {
+ const Integer num1 = static_cast<Integer>(value);
+ const Integer num2 = num_molecules_exact(sp);
+ if (num1 > num2)
+ {
+ add_molecules(sp, num1 - num2);
+ }
+ else if (num1 < num2)
+ {
+ remove_molecules(sp, num2 - num1);
+ }
+ }
+
+#ifdef WITH_HDF5
+ // Optional members
+
+ virtual void save_hdf5(H5::Group* root) const = 0;
+ virtual void load_hdf5(const H5::Group& root) = 0;
+#endif
+
+protected:
+
+ Real t_;
+};
+
+class CompartmentSpaceVectorImpl
+ : public CompartmentSpace
+{
+protected:
+
+ typedef CompartmentSpace base_type;
+ typedef std::vector<Integer> num_molecules_container_type;
+ typedef std::vector<Species> species_container_type;
+ typedef utils::get_mapper_mf<
+ Species, num_molecules_container_type::size_type>::type species_map_type;
+
+public:
+
+ CompartmentSpaceVectorImpl(const Real3& edge_lengths)
+ {
+ reset(edge_lengths);
+ }
+
+ const Real3& edge_lengths() const
+ {
+ return edge_lengths_;
+ }
+
+ void reset(const Real3& edge_lengths)
+ {
+ base_type::t_ = 0.0;
+ index_map_.clear();
+ num_molecules_.clear();
+ species_.clear();
+
+ for (Real3::size_type dim(0); dim < 3; ++dim)
+ {
+ if (edge_lengths[dim] <= 0)
+ {
+ throw std::invalid_argument("the edge length must be positive.");
+ }
+ }
+
+ edge_lengths_ = edge_lengths;
+ volume_ = edge_lengths[0] * edge_lengths[1] * edge_lengths[2];
+ }
+
+ // CompartmentSpaceTraits
+
+ const Real volume() const;
+ Integer num_molecules(const Species& sp) const;
+ Integer num_molecules_exact(const Species& sp) const;
+ bool has_species(const Species& sp) const;
+
+ // CompartmentSpace member functions
+
+ void set_volume(const Real& volume);
+ void add_molecules(const Species& sp, const Integer& num);
+ void remove_molecules(const Species& sp, const Integer& num);
+
+ // Optional members
+
+ std::vector<Species> list_species() const;
+
+ virtual void save(const std::string& filename) const
+ {
+ throw NotSupported(
+ "save(const std::string) is not supported by this space class");
+ }
+
+#ifdef WITH_HDF5
+ void save_hdf5(H5::Group* root) const
+ {
+ typedef CompartmentSpaceHDF5Traits<CompartmentSpaceVectorImpl> traits_type;
+ save_compartment_space<traits_type>(*this, root);
+ }
+
+ void load_hdf5(const H5::Group& root)
+ {
+ typedef CompartmentSpaceHDF5Traits<CompartmentSpaceVectorImpl> traits_type;
+ load_compartment_space<traits_type>(root, this);
+ }
+#endif
+
+protected:
+
+ void reserve_species(const Species& sp);
+ void release_species(const Species& sp);
+
+protected:
+
+ Real3 edge_lengths_;
+ Real volume_;
+
+ num_molecules_container_type num_molecules_;
+ species_container_type species_;
+ species_map_type index_map_;
+};
+
+} // ecell4
+
+#endif /* __ECELL4_COMPARTMENT_SPACE_HPP */
diff --git a/ecell4/core/CompartmentSpaceHDF5Writer.hpp b/ecell4/core/CompartmentSpaceHDF5Writer.hpp
new file mode 100644
index 0000000..f4a54dc
--- /dev/null
+++ b/ecell4/core/CompartmentSpaceHDF5Writer.hpp
@@ -0,0 +1,253 @@
+#ifndef __ECELL4_COMPARTMENT_SPACE_HDF5_WRITER_HPP
+#define __ECELL4_COMPARTMENT_SPACE_HDF5_WRITER_HPP
+
+#include <cstring>
+#include <boost/scoped_ptr.hpp>
+#include <boost/scoped_array.hpp>
+
+#include <hdf5.h>
+#include <H5Cpp.h>
+
+#include "get_mapper_mf.hpp"
+#include "types.hpp"
+#include "Species.hpp"
+
+
+namespace ecell4
+{
+
+struct H5DataTypeTraits_uint32_t
+{
+ typedef uint32_t type;
+
+ static const H5::DataType& get()
+ {
+ return H5::PredType::STD_I32LE;
+ }
+};
+
+struct H5DataTypeTraits_double
+{
+ typedef double type;
+
+ static const H5::DataType& get()
+ {
+ return H5::PredType::IEEE_F64LE;
+ }
+};
+
+template<typename Tspace_, typename Tdata_>
+struct CompartmentSpaceHDF5TraitsBase
+{
+ typedef Tspace_ space_type;
+ typedef Tdata_ num_molecules_traits_type;
+ typedef typename num_molecules_traits_type::type num_molecules_type;
+
+ typedef struct species_id_table_struct {
+ uint32_t sid;
+ char serial[32]; // species' serial may exceed the limit
+ } species_id_table_struct;
+
+ static H5::CompType get_species_id_table_struct_memtype()
+ {
+ H5::CompType mtype_id_table_struct(sizeof(species_id_table_struct));
+ // const H5std_string name1("sid");
+ // const H5std_string name2("serial");
+ // mtype_id_table_struct.insertMember(
+ // name1, HOFFSET(species_id_table_struct, sid),
+ // H5::PredType::STD_I32LE);
+ // mtype_id_table_struct.insertMember(
+ // name2, HOFFSET(species_id_table_struct, serial),
+ // H5::StrType(H5::PredType::C_S1, 32));
+#define INSERT_MEMBER(member, type) \
+ H5Tinsert(mtype_id_table_struct.getId(), #member,\
+ HOFFSET(species_id_table_struct, member), type.getId())
+ INSERT_MEMBER(sid, H5::PredType::STD_I32LE);
+ INSERT_MEMBER(serial, H5::StrType(H5::PredType::C_S1, 32));
+#undef INSERT_MEMBER
+ return mtype_id_table_struct;
+ }
+
+ typedef struct species_num_struct {
+ uint32_t sid;
+ num_molecules_type num_molecules;
+ } species_num_struct;
+
+ static H5::CompType get_species_num_struct_memtype()
+ {
+ H5::CompType mtype_num_struct(sizeof(species_num_struct));
+ // const H5std_string name1("sid");
+ // const H5std_string name2("num_molecules");
+ // mtype_num_struct.insertMember(
+ // name1, HOFFSET(species_num_struct, sid),
+ // H5::PredType::STD_I32LE);
+ // mtype_num_struct.insertMember(
+ // name2,
+ // HOFFSET(species_num_struct, num_molecules),
+ // num_molecules_traits_type::get());
+#define INSERT_MEMBER(member, type) \
+ H5Tinsert(mtype_num_struct.getId(), #member,\
+ HOFFSET(species_num_struct, member), type.getId())
+ INSERT_MEMBER(sid, H5::PredType::STD_I32LE);
+ INSERT_MEMBER(num_molecules, num_molecules_traits_type::get());
+#undef INSERT_MEMBER
+ return mtype_num_struct;
+ }
+
+ virtual num_molecules_type getter(
+ const space_type& space, const Species& sp) const = 0;
+ virtual void setter(
+ space_type& space, const Species& sp, const num_molecules_type& value) const = 0;
+};
+
+template<typename Tspace_>
+struct CompartmentSpaceHDF5Traits
+ : public CompartmentSpaceHDF5TraitsBase<Tspace_, H5DataTypeTraits_uint32_t>
+{
+ typedef CompartmentSpaceHDF5TraitsBase<Tspace_, H5DataTypeTraits_uint32_t> base_type;
+ typedef typename base_type::num_molecules_type num_molecules_type;
+ typedef typename base_type::space_type space_type;
+
+ num_molecules_type getter(const space_type& space, const Species& sp) const
+ {
+ return space.num_molecules_exact(sp);
+ }
+
+ void setter(
+ Tspace_& space, const Species& sp, const num_molecules_type& value) const
+ {
+ space.add_molecules(sp, value);
+ }
+};
+
+// template<typename Tspace_, typename Tdata_>
+template<typename Ttraits_>
+void save_compartment_space(const typename Ttraits_::space_type& space, H5::Group* root)
+{
+ // typedef CompartmentSpaceHDF5Traits<Tdata_> traits_type;
+ typedef Ttraits_ traits_type;
+ typedef typename traits_type::species_id_table_struct species_id_table_struct;
+ typedef typename traits_type::species_num_struct species_num_struct;
+
+ // attributes
+ const uint32_t space_type = static_cast<uint32_t>(Space::COMPARTMENT);
+ H5::Attribute attr_space_type(
+ root->createAttribute(
+ "type", H5::PredType::STD_I32LE, H5::DataSpace(H5S_SCALAR)));
+ attr_space_type.write(H5::PredType::STD_I32LE, &space_type);
+
+ const double t(space.t());
+ H5::Attribute attr_t(root->createAttribute(
+ "t", H5DataTypeTraits_double::get(), H5::DataSpace(H5S_SCALAR)));
+ attr_t.write(attr_t.getDataType(), &t);
+
+ const double volume(space.volume());
+ H5::Attribute attr_volume(root->createAttribute(
+ "volume", H5DataTypeTraits_double::get(), H5::DataSpace(H5S_SCALAR)));
+ attr_volume.write(attr_volume.getDataType(), &volume);
+
+ const std::vector<Species> species_list(space.list_species());
+ const std::vector<Species>::size_type num_species(species_list.size());
+
+ boost::scoped_array<species_id_table_struct>
+ species_id_table(new species_id_table_struct[num_species]);
+ boost::scoped_array<species_num_struct>
+ species_num_table(new species_num_struct[num_species]);
+
+ for(unsigned int i(0); i < num_species; ++i)
+ {
+ species_id_table[i].sid = i + 1;
+ std::strcpy(
+ species_id_table[i].serial, species_list[i].serial().c_str());
+
+ species_num_table[i].sid = i + 1;
+ species_num_table[i].num_molecules =
+ space.num_molecules(species_list[i]);
+ }
+
+ const int RANK = 1;
+ hsize_t dim[1];
+ dim[0] = num_species;
+ H5::DataSpace dataspace(RANK, dim);
+
+ boost::scoped_ptr<H5::DataSet> dataset_id_table(new H5::DataSet(
+ root->createDataSet(
+ "species", traits_type::get_species_id_table_struct_memtype(),
+ dataspace)));
+ boost::scoped_ptr<H5::DataSet> dataset_num_table(new H5::DataSet(
+ root->createDataSet(
+ "num_molecules", traits_type::get_species_num_struct_memtype(),
+ dataspace)));
+ dataset_id_table->write(
+ species_id_table.get(), dataset_id_table->getDataType());
+ dataset_num_table->write(
+ species_num_table.get(), dataset_num_table->getDataType());
+
+ const Real3 edge_lengths = space.edge_lengths();
+ const hsize_t dims[] = {3};
+ const H5::ArrayType lengths_type(H5::PredType::NATIVE_DOUBLE, 1, dims);
+ H5::Attribute attr_lengths(
+ root->createAttribute(
+ "edge_lengths", lengths_type, H5::DataSpace(H5S_SCALAR)));
+ double lengths[] = {edge_lengths[0], edge_lengths[1], edge_lengths[2]};
+ attr_lengths.write(lengths_type, lengths);
+}
+
+// template<typename Tspace_, typename Tdata_>
+template<typename Ttraits_>
+void load_compartment_space(const H5::Group& root, typename Ttraits_::space_type* space)
+{
+ // typedef CompartmentSpaceHDF5Traits<Tdata_> traits_type;
+ typedef Ttraits_ traits_type;
+ typedef typename traits_type::num_molecules_type num_molecules_type;
+ typedef typename traits_type::species_id_table_struct species_id_table_struct;
+ typedef typename traits_type::species_num_struct species_num_struct;
+
+ Real3 edge_lengths;
+ const hsize_t dims[] = {3};
+ const H5::ArrayType lengths_type(H5::PredType::NATIVE_DOUBLE, 1, dims);
+ root.openAttribute("edge_lengths").read(lengths_type, &edge_lengths);
+ space->reset(edge_lengths);
+
+ double t;
+ root.openAttribute("t").read(H5DataTypeTraits_double::get(), &t);
+ space->set_t(t);
+
+ {
+ H5::DataSet species_dset(root.openDataSet("species"));
+ const unsigned int num_species(
+ species_dset.getSpace().getSimpleExtentNpoints());
+ boost::scoped_array<species_id_table_struct> species_id_table(
+ new species_id_table_struct[num_species]);
+ species_dset.read(
+ species_id_table.get(),
+ traits_type::get_species_id_table_struct_memtype());
+ species_dset.close();
+
+ H5::DataSet num_dset(root.openDataSet("num_molecules"));
+ boost::scoped_array<species_num_struct> species_num_table(
+ new species_num_struct[num_species]);
+ num_dset.read(
+ species_num_table.get(),
+ traits_type::get_species_num_struct_memtype());
+ num_dset.close();
+
+ typename utils::get_mapper_mf<uint32_t, num_molecules_type>::type
+ num_molecules_cache;
+ for (unsigned int i(0); i < num_species; ++i)
+ {
+ num_molecules_cache[species_num_table[i].sid]
+ = species_num_table[i].num_molecules;
+ }
+ for (unsigned int i(0); i < num_species; ++i)
+ {
+ space->add_molecules(
+ Species(species_id_table[i].serial),
+ num_molecules_cache[species_id_table[i].sid]);
+ }
+ }
+}
+
+} // ecell4
+
+#endif /* __ECELL4_COMPARTMENT_SPACE_HDF5_WRITER_HPP */
diff --git a/ecell4/core/Context.cpp b/ecell4/core/Context.cpp
new file mode 100644
index 0000000..56e7688
--- /dev/null
+++ b/ecell4/core/Context.cpp
@@ -0,0 +1,791 @@
+#include "Context.hpp"
+#include <string>
+
+
+namespace ecell4
+{
+
+bool is_wildcard(const std::string& name)
+{
+ return (name.size() > 0 && name[0] == '_');
+}
+
+bool is_unnamed_wildcard(const std::string& name)
+{
+ return name == "_";
+}
+
+bool is_named_wildcard(const std::string& name)
+{
+ return (name.size() > 1 && name[0] == '_' && !is_pass_wildcard(name));
+}
+
+bool is_pass_wildcard(const std::string& name)
+{
+ return name == "_0";
+}
+
+std::pair<bool, MatchObject::context_type> uspmatch(
+ const UnitSpecies& pttrn, const UnitSpecies& usp,
+ const MatchObject::context_type& org)
+{
+ std::pair<bool, MatchObject::context_type>
+ retval(std::make_pair(false, org));
+ MatchObject::context_type& ctx(retval.second);
+
+ if (is_wildcard(pttrn.name()))
+ {
+ if (is_pass_wildcard(pttrn.name()))
+ {
+ throw NotSupported(
+ "A pass wildcard '_0' is not allowed to be a name of Species.");
+ }
+ else if (is_named_wildcard(pttrn.name()))
+ {
+ MatchObject::context_type::variable_container_type::const_iterator
+ itr(ctx.globals.find(pttrn.name()));
+ if (itr == ctx.globals.end())
+ {
+ ctx.globals[pttrn.name()] = usp.name();
+ }
+ else if ((*itr).second != usp.name())
+ {
+ return retval;
+ }
+ }
+ }
+ else if (pttrn.name() != usp.name())
+ {
+ return retval;
+ }
+
+ for (UnitSpecies::container_type::const_iterator j(pttrn.begin());
+ j != pttrn.end(); ++j)
+ {
+ if (usp.has_site((*j).first))
+ {
+ const UnitSpecies::site_type& site(usp.get_site((*j).first));
+
+ if ((*j).second.first != "")
+ {
+ if (site.first == "")
+ {
+ return retval;
+ }
+ else if (is_pass_wildcard((*j).second.first))
+ {
+ throw NotSupported(
+ "A pass wildcard '_0' is not allowed to be a state.");
+ }
+ else if (is_unnamed_wildcard((*j).second.first))
+ {
+ ; // do nothing
+ }
+ else if (is_named_wildcard((*j).second.first))
+ {
+ MatchObject::context_type::variable_container_type::const_iterator
+ itr(ctx.globals.find((*j).second.first));
+ if (itr == ctx.globals.end())
+ {
+ ctx.globals[(*j).second.first] = site.first;
+ }
+ else if ((*itr).second != site.first)
+ {
+ return retval;
+ }
+ }
+ else if ((*j).second.first != site.first)
+ {
+ return retval;
+ }
+ }
+
+ if (is_pass_wildcard((*j).second.second))
+ {
+ ; // just skip checking
+ }
+ else if ((*j).second.second == "")
+ {
+ if (site.second != "")
+ {
+ return retval;
+ }
+ }
+ else
+ {
+ if (site.second == "")
+ {
+ return retval;
+ }
+ else if (is_unnamed_wildcard((*j).second.second))
+ {
+ continue;
+ }
+ else if (is_named_wildcard((*j).second.second))
+ {
+ throw NotSupported(
+ "A named wildcard is not allowed to be a bond.");
+ }
+
+ MatchObject::context_type::variable_container_type::const_iterator
+ itr(ctx.locals.find((*j).second.second));
+ if (itr == ctx.locals.end())
+ {
+ ctx.locals[(*j).second.second] = site.second;
+ }
+ else if ((*itr).second != site.second)
+ {
+ return retval;
+ }
+
+ }
+ }
+ else
+ {
+ return retval;
+ }
+ }
+
+ retval.first = true;
+ return retval;
+}
+
+bool __spmatch(
+ Species::container_type::const_iterator itr,
+ const Species::container_type::const_iterator& end,
+ const Species& sp, const MatchObject::context_type& ctx)
+{
+ if (itr == end)
+ {
+ // for (MatchObject::context_type::iterator_container_type::const_iterator
+ // i(ctx.iterators.begin()); i != ctx.iterators.end(); ++i)
+ // std::cout << *i << " ";
+ // std::cout << std::endl;
+ return true;
+ }
+
+ MatchObject obj(*itr);
+ ++itr;
+
+ std::pair<bool, MatchObject::context_type> retval(obj.match(sp, ctx));
+ while (retval.first)
+ {
+ if (__spmatch(itr, end, sp, retval.second))
+ {
+ return true;
+ }
+ retval = obj.next();
+ }
+ return false;
+}
+
+bool spmatch(const Species& pttrn, const Species& sp)
+{
+ SpeciesExpressionMatcher sexp(pttrn);
+ return sexp.match(sp);
+ // MatchObject::context_type ctx;
+ // return __spmatch(pttrn.begin(), pttrn.end(), sp, ctx);
+}
+
+Integer count_spmatches(const Species& pttrn, const Species& sp)
+{
+ MatchObject::context_type::variable_container_type globals;
+ return count_spmatches(pttrn, sp, globals);
+}
+
+Integer count_spmatches(const Species& pttrn, const Species& sp,
+ const MatchObject::context_type::variable_container_type& globals)
+{
+ SpeciesExpressionMatcher sexp(pttrn);
+ if (!sexp.match(sp, globals))
+ {
+ return 0;
+ }
+ Integer n(1);
+ while (sexp.next())
+ {
+ ++n;
+ }
+ return n;
+}
+
+std::pair<bool, MatchObject::context_type> __rrmatch(
+ const ReactionRule& rr,
+ const ReactionRule::reactant_container_type& reactants,
+ const MatchObject::context_type::variable_container_type& globals,
+ ReactionRule::reactant_container_type::const_iterator i,
+ ReactionRule::reactant_container_type::const_iterator j)
+{
+ SpeciesExpressionMatcher m(*i);
+ if (!m.match(*j, globals))
+ {
+ return std::make_pair(false, MatchObject::context_type());
+ }
+
+ ++i;
+ ++j;
+ if (i == rr.reactants().end() || j == reactants.end())
+ {
+ return std::make_pair(true, m.context());
+ }
+
+ do
+ {
+ if (__rrmatch(rr, reactants, m.context().globals, i, j).first)
+ {
+ return std::make_pair(true, m.context());
+ }
+ } while (m.next());
+ return std::make_pair(false, MatchObject::context_type());
+}
+
+bool is_correspondent(const UnitSpecies& usp1, const UnitSpecies& usp2)
+{
+ if (usp1.name() != usp2.name() || usp1.num_sites() != usp2.num_sites())
+ {
+ return false;
+ }
+
+ UnitSpecies::container_type::const_iterator i(usp1.begin()), j(usp2.begin());
+ while (i != usp1.end() && j != usp2.end())
+ {
+ if ((*i).first != (*j).first)
+ {
+ return false;
+ }
+
+ ++i;
+ ++j;
+ }
+ return true;
+}
+
+std::string itos(unsigned int val)
+{
+ std::stringstream ss;
+ ss << val;
+ return ss.str();
+}
+
+unsigned int __tag_units(
+ std::vector<unsigned int>& retval,
+ const unsigned int& group_id, const unsigned int& idx,
+ const std::vector<UnitSpecies>& units,
+ const std::vector<std::vector<std::vector<UnitSpecies>::size_type> >& adj)
+{
+ if (retval[idx] != units.size())
+ {
+ // assert(retval[idx] < group_id);
+ return group_id;
+ }
+
+ retval[idx] = group_id;
+ for (std::vector<std::vector<UnitSpecies>::size_type>::const_iterator
+ i(adj[idx].begin()); i != adj[idx].end(); ++i)
+ {
+ __tag_units(retval, group_id, *i, units, adj);
+ }
+
+ return group_id + 1;
+}
+
+std::pair<std::vector<unsigned int>, unsigned int> tag_units(
+ const std::vector<UnitSpecies>& units,
+ const std::vector<std::vector<std::vector<UnitSpecies>::size_type> >& adj)
+{
+ std::pair<std::vector<unsigned int>, unsigned int> retval;
+ retval.first.resize(units.size(), units.size());
+ retval.second = 0;
+ for (unsigned int idx(0); idx != units.size(); ++idx)
+ {
+ // std::cout << idx << " connects with ";
+ // for (std::vector<std::vector<UnitSpecies>::size_type>::const_iterator
+ // i(adj[idx].begin()); i != adj[idx].end(); ++i)
+ // {
+ // std::cout << *i;
+ // }
+ // std::cout << std::endl;
+
+ retval.second = __tag_units(
+ retval.first, retval.second, idx, units, adj);
+ }
+
+ return retval;
+}
+
+void check_correspondences(
+ const std::vector<UnitSpecies>& reactant_units,
+ const std::vector<UnitSpecies>& product_units,
+ std::vector<std::vector<UnitSpecies>::size_type>& correspo,
+ std::vector<std::vector<UnitSpecies>::size_type>& removed)
+{
+ correspo.clear();
+ removed.clear();
+
+ std::vector<UnitSpecies>::size_type num_units(reactant_units.size());
+ std::vector<UnitSpecies>::size_type idx1(0), idx2(0);
+ for (std::vector<UnitSpecies>::const_iterator i(product_units.begin());
+ i != product_units.end(); ++i, ++idx1)
+ {
+ idx2 = 0;
+ for (std::vector<UnitSpecies>::const_iterator j(reactant_units.begin());
+ j != reactant_units.end(); ++j, ++idx2)
+ {
+ if (is_correspondent(*i, *j))
+ {
+ if (correspo.size() > idx1)
+ {
+ ; //WARN: multiple correspondence found
+ }
+ else if (std::find(correspo.begin(), correspo.end(), idx2)
+ != correspo.end())
+ {
+ ; //WARN: multiple correspondence skipped
+ }
+ else
+ {
+ correspo.push_back(idx2);
+ }
+ }
+ }
+
+ if (correspo.size() == idx1)
+ {
+ correspo.push_back(num_units);
+ ++num_units;
+ }
+ }
+
+ for (std::vector<UnitSpecies>::size_type i(0);
+ i < reactant_units.size(); ++i)
+ {
+ if (std::find(correspo.begin(), correspo.end(), i)
+ == correspo.end())
+ {
+ removed.push_back(i);
+ }
+ }
+}
+
+int concatenate_units(std::vector<UnitSpecies>& units1, const Species& sp, const int bond_stride)
+{
+ const std::vector<UnitSpecies> units2 = sp.units();
+ units1.reserve(units1.size() + units2.size());
+
+ int bond_ministride = 0;
+ for (Species::container_type::const_iterator j(units2.begin());
+ j != units2.end(); ++j)
+ {
+ units1.push_back(*j);
+
+ for (UnitSpecies::container_type::const_iterator
+ k((*j).begin()); k != (*j).end(); ++k)
+ {
+ const std::string& bond((*k).second.second);
+ if (bond != "" && !is_wildcard(bond))
+ {
+ const int bondi = atoi(bond.c_str());
+ // assert(bondi > 0);
+ const std::string newbond = itos(bondi + bond_stride);
+ units1.back().at(std::distance((*j).begin(), k)).second.second = newbond;
+ bond_ministride = std::max(bond_ministride, bondi);
+ }
+ }
+ }
+ return bond_ministride;
+}
+
+std::vector<Species> group_units(
+ const std::vector<UnitSpecies>& units, const ReactionRule::policy_type& policy)
+{
+ const unsigned int maxidx = units.size();
+ utils::get_mapper_mf<std::string, std::pair<std::string, unsigned int> >::type tmp;
+ std::vector<std::vector<std::vector<UnitSpecies>::size_type> > adj;
+ adj.resize(maxidx);
+
+ for (std::vector<UnitSpecies>::const_iterator i(units.begin());
+ i != units.end(); ++i)
+ {
+ const unsigned int idx(std::distance(units.begin(), i));
+
+ for (UnitSpecies::container_type::const_iterator j((*i).begin());
+ j != (*i).end(); ++j)
+ {
+ const std::string bond((*j).second.second);
+ if (bond == "" || is_wildcard(bond))
+ {
+ continue;
+ }
+
+ utils::get_mapper_mf<std::string, std::pair<std::string, unsigned int> >::type::iterator
+ itr(tmp.find(bond));
+ if (itr == tmp.end())
+ {
+ tmp[bond] = std::make_pair((*j).first, idx);
+ }
+ else
+ {
+ if (tmp[bond].second == maxidx)
+ {
+ ; //WARN: a duplicated bond found
+ }
+
+ adj[idx].push_back((*itr).second.second);
+ adj[(*itr).second.second].push_back(idx);
+ tmp[bond].second = units.size(); // This means the bond is already assigned.
+ }
+ }
+ }
+
+ if ((policy & ReactionRule::STRICT) && !(policy & (ReactionRule::DESTROY | ReactionRule::IMPLICIT)))
+ {
+ for (utils::get_mapper_mf<std::string, std::pair<std::string, unsigned int> >::type::const_iterator
+ i(tmp.begin()); i != tmp.end(); ++i)
+ {
+ if ((*i).second.second != maxidx)
+ {
+ throw IllegalState("A bond is not resolved.");
+ }
+ }
+ }
+
+ std::pair<std::vector<unsigned int>, unsigned int>
+ group_ids_pair(tag_units(units, adj));
+
+ std::vector<Species> products;
+ products.resize(group_ids_pair.second);
+ // for (std::vector<UnitSpecies>::iterator i(units.begin());
+ // i != units.end(); ++i)
+ // {
+ // products[group_ids_pair.first[std::distance(units.begin(), i)]].add_unit(*i);
+ // }
+ for (unsigned int idx(0); idx != group_ids_pair.second; ++idx)
+ {
+ utils::get_mapper_mf<std::string, std::string>::type new_bonds;
+ unsigned int stride(1);
+
+ for (std::vector<unsigned int>::iterator
+ i(group_ids_pair.first.begin()); i != group_ids_pair.first.end(); ++i)
+ {
+ if (idx != *i)
+ {
+ continue;
+ }
+
+ UnitSpecies usp(
+ units[std::distance(group_ids_pair.first.begin(), i)]); //XXX: copy
+ for (UnitSpecies::container_type::size_type j(0);
+ j != usp.num_sites(); ++j)
+ {
+ UnitSpecies::container_type::value_type&
+ site(usp.at(j));
+ const std::string bond(site.second.second);
+ if (bond == "" || is_wildcard(bond))
+ {
+ continue;
+ }
+
+ if ((policy & ReactionRule::IMPLICIT) && tmp[bond].second != maxidx)
+ {
+ site.second.second = "";
+ }
+ else
+ {
+ utils::get_mapper_mf<std::string, std::string>::type::const_iterator
+ itr(new_bonds.find(bond));
+ if (itr == new_bonds.end())
+ {
+ const std::string new_bond(itos(stride));
+ ++stride;
+ new_bonds[bond] = new_bond;
+ site.second.second = new_bond;
+ }
+ else
+ {
+ site.second.second = (*itr).second;
+ }
+ }
+ }
+
+ products[idx].add_unit(usp);
+ }
+
+ // products[idx] = format_species(products[idx]);
+ }
+
+ if (policy & ReactionRule::DESTROY)
+ {
+ std::vector<unsigned int> removed;
+ for (utils::get_mapper_mf<std::string, std::pair<std::string, unsigned int> >::type::const_iterator
+ i(tmp.begin()); i != tmp.end(); ++i)
+ {
+ if ((*i).second.second != maxidx)
+ {
+ removed.push_back(group_ids_pair.first[(*i).second.second]);
+ }
+ }
+ std::sort(removed.begin(), removed.end());
+ removed.erase(std::unique(removed.begin(), removed.end()), removed.end());
+
+ for (std::vector<unsigned int>::const_reverse_iterator
+ i(removed.rbegin()); i != removed.rend(); ++i)
+ {
+ products.erase(products.begin() + *i);
+ }
+ }
+
+ return products;
+}
+
+std::vector<Species> ReactionRuleExpressionMatcher::generate()
+{
+ if (itr_ != matchers_.end())
+ {
+ return std::vector<Species>();
+ }
+ else if (pttrn_.reactants().size() == 0)
+ {
+ return pttrn_.products(); // XXX: zero-th order reaction
+ }
+
+ const context_type ctx(context());
+
+ std::vector<UnitSpecies> reactant_units, product_units;
+
+ for (ReactionRule::reactant_container_type::const_iterator
+ i(pttrn_.reactants().begin()); i != pttrn_.reactants().end(); ++i)
+ {
+ std::vector<UnitSpecies> units = (*i).units();
+ reactant_units.reserve(reactant_units.size() + units.size());
+ std::copy(units.begin(), units.end(), std::back_inserter(reactant_units));
+ }
+
+ for (ReactionRule::reactant_container_type::const_iterator
+ i(pttrn_.products().begin()); i != pttrn_.products().end(); ++i)
+ {
+ std::vector<UnitSpecies> units = (*i).units();
+ product_units.reserve(product_units.size() + units.size());
+ std::copy(units.begin(), units.end(), std::back_inserter(product_units));
+ }
+
+ std::vector<std::vector<UnitSpecies>::size_type> correspo, removed;
+ check_correspondences(reactant_units, product_units, correspo, removed);
+
+ int bond_stride = 0;
+ std::vector<UnitSpecies> units;
+ // for (ReactionRule::reactant_container_type::const_iterator
+ // i(target_.begin()); i != target_.end(); ++i)
+ // {
+ // bond_stride += concatenate_units(units, *i, bond_stride);
+ // }
+ for (std::vector<reactant_container_type::size_type>::const_iterator
+ i(permutation_.begin()); i != permutation_.end(); ++i)
+ {
+ bond_stride += concatenate_units(units, target_[*i], bond_stride);
+ }
+ // for (context_type::iterator_container_type::const_iterator
+ // i(ctx.iterators.begin()); i != ctx.iterators.end(); ++i)
+ // {
+ // std::cout << (*i);
+ // }
+ // std::cout << std::endl;
+
+ std::vector<UnitSpecies>::size_type idx1(0);
+ utils::get_mapper_mf<unsigned int, std::string>::type bond_cache;
+ for (std::vector<UnitSpecies>::iterator itr1(product_units.begin());
+ itr1 != product_units.end(); ++itr1, ++idx1)
+ {
+ std::vector<UnitSpecies>::size_type tgt(0);
+ std::vector<UnitSpecies>::size_type idx2(correspo[idx1]);
+ if (idx2 >= reactant_units.size())
+ {
+ tgt = units.size();
+ units.push_back(*itr1);
+ if (is_named_wildcard((*itr1).name()))
+ {
+ context_type::variable_container_type::const_iterator
+ itr(ctx.globals.find((*itr1).name()));
+ if (itr == ctx.globals.end())
+ {
+ ; //XXX: an invalid global name given
+ }
+ else
+ {
+ units.back().set_name((*itr).second);
+ }
+ }
+
+ // continue;
+ }
+ else
+ {
+ tgt = ctx.iterators[idx2];
+ }
+ // std::cout << "(" << idx2 << "," << tgt << ")";
+
+ UnitSpecies::container_type::const_iterator i((*itr1).begin());
+ while (i != (*itr1).end())
+ {
+ UnitSpecies::container_type::value_type&
+ site(units[tgt].at((*i).first));
+
+ if ((*i).second.first == "")
+ {
+ ; // do nothing
+ }
+ else if (is_wildcard((*i).second.first))
+ {
+ if ((*i).second.first.size() != 1)
+ {
+ context_type::variable_container_type::const_iterator
+ itr(ctx.globals.find((*i).second.first));
+ if (itr == ctx.globals.end())
+ {
+ ; //XXX: an invalid global name given
+ std::cerr << "An invalid global name given ["
+ << (*i).second.first << "]" << std::endl;
+ }
+ else
+ {
+ site.second.first = (*itr).second;
+ }
+ }
+ }
+ else
+ {
+ site.second.first = (*i).second.first;
+ }
+
+ if ((*i).second.second == "")
+ {
+ site.second.second = "";
+ }
+ else if (is_wildcard((*i).second.second))
+ {
+ if ((*i).second.second.size() != 1)
+ {
+ ; //XXX: no named wildcard is allowed here
+ ; //XXX: how about the pass wildcard?
+ }
+
+ ; // do nothing
+ }
+ else
+ {
+ unsigned int stride(0), label(0);
+ for (ReactionRule::product_container_type::const_iterator
+ j(pttrn_.products().begin()); j != pttrn_.products().end(); ++j)
+ {
+ stride += (*j).units().size();
+ if (stride > idx1)
+ {
+ label = atoi((*i).second.second.c_str()) * pttrn_.products().size()
+ + std::distance(pttrn_.products().begin(), j);
+ break;
+ }
+ }
+
+ utils::get_mapper_mf<unsigned int, std::string>::type::const_iterator
+ itr(bond_cache.find(label));
+ if (itr != bond_cache.end())
+ {
+ site.second.second = (*itr).second;
+ }
+ else
+ {
+ ++bond_stride;
+ site.second.second = itos(bond_stride);
+ bond_cache[label] = site.second.second;
+ }
+ }
+
+ ++i;
+ }
+ }
+
+ std::vector<std::vector<UnitSpecies>::size_type> removed_new;
+ for (std::vector<std::vector<UnitSpecies>::size_type>::const_iterator
+ i(removed.begin()); i != removed.end(); ++i)
+ {
+ removed_new.push_back(ctx.iterators[(*i)]);
+ }
+ std::sort(removed_new.begin(), removed_new.end());
+
+ for (std::vector<std::vector<UnitSpecies>::size_type>::const_reverse_iterator
+ i(removed_new.rbegin()); i != removed_new.rend(); ++i)
+ {
+ units.erase(units.begin() + *i);
+ }
+
+ return group_units(units, pttrn_.policy());
+ // std::cout << std::endl << "before: ";
+ // for (ReactionRule::reactant_container_type::const_iterator i(target_.begin());
+ // i != target_.end(); ++i)
+ // {
+ // std::cout << (*i).serial() << ".";
+ // }
+ // std::cout << std::endl;
+ // std::cout << "after: ";
+ // for (std::vector<UnitSpecies>::const_iterator i(units.begin());
+ // i != units.end(); ++i)
+ // {
+ // std::cout << (*i).serial() << ".";
+ // }
+ // std::cout << std::endl;
+ // std::cout << "after: ";
+ // for (std::vector<unsigned int>::const_iterator i(group_ids_pair.first.begin());
+ // i != group_ids_pair.first.end(); ++i)
+ // {
+ // std::cout << (*i) << ".";
+ // }
+ // std::cout << std::endl;
+ // std::cout << "products: ";
+ // for (std::vector<Species>::const_iterator i(products.begin());
+ // i != products.end(); ++i)
+ // {
+ // std::cout << (*i).serial() << ", ";
+ // }
+ // std::cout << std::endl;
+ // return products;
+}
+
+std::pair<bool, MatchObject::context_type> MatchObject::next()
+{
+ std::vector<UnitSpecies>::const_iterator itr_start = target_.begin();
+ for (; itr_ != target_.end(); ++itr_)
+ {
+ const Species::container_type::difference_type
+ pos(distance(itr_start, itr_));
+ if (std::find(ctx_.iterators.begin(), ctx_.iterators.end(), pos)
+ != ctx_.iterators.end())
+ {
+ continue;
+ }
+
+ const UnitSpecies& usp(*itr_);
+ std::pair<bool, MatchObject::context_type>
+ retval(uspmatch(pttrn_, usp, ctx_));
+ if (retval.first)
+ {
+ retval.second.iterators.push_back(pos);
+ ++itr_;
+ return retval;
+ }
+ }
+ return std::make_pair(false, MatchObject::context_type());
+}
+
+// ReactionRule create_reaction_rule_formatted(
+// const ReactionRule::reactant_container_type& reactants,
+// const ReactionRule::product_container_type& products, const Real k)
+// {
+// ReactionRule rr(reactants, ReactionRule::product_container_type(), k);
+// for (ReactionRule::product_container_type::const_iterator i(products.begin());
+// i != products.end(); ++i)
+// {
+// rr.add_product(format_species(*i));
+// }
+// return rr;
+// }
+
+} // ecell4
diff --git a/ecell4/core/Context.hpp b/ecell4/core/Context.hpp
new file mode 100644
index 0000000..548ab24
--- /dev/null
+++ b/ecell4/core/Context.hpp
@@ -0,0 +1,467 @@
+#ifndef __ECELL4_CONTEXT_HPP
+#define __ECELL4_CONTEXT_HPP
+
+#include "get_mapper_mf.hpp"
+#include "Species.hpp"
+#include "ReactionRule.hpp"
+#include <boost/array.hpp>
+
+
+namespace ecell4
+{
+
+class MatchObject
+{
+public:
+
+ typedef struct
+ {
+ typedef std::vector<Species::container_type::difference_type>
+ iterator_container_type;
+ typedef utils::get_mapper_mf<std::string, std::string>::type
+ variable_container_type;
+
+ iterator_container_type iterators;
+ variable_container_type locals;
+ variable_container_type globals;
+ } context_type;
+
+public:
+
+ MatchObject(const UnitSpecies& pttrn)
+ : pttrn_(pttrn)
+ {
+ ;
+ }
+
+ virtual ~MatchObject()
+ {
+ ;
+ }
+
+ std::pair<bool, context_type> match(
+ const Species& sp, const context_type& ctx)
+ {
+ // target_ = sp;
+ target_ = sp.units();
+ itr_ = target_.begin();
+ ctx_ = ctx;
+ return next();
+ }
+
+ std::pair<bool, context_type> match(
+ const std::vector<UnitSpecies>& target, const context_type& ctx)
+ {
+ target_ = target;
+ itr_ = target_.begin();
+ ctx_ = ctx;
+ return next();
+ }
+
+ std::pair<bool, context_type> next();
+
+protected:
+
+ UnitSpecies pttrn_;
+ // Species target_;
+ std::vector<UnitSpecies> target_;
+ Species::container_type::const_iterator itr_;
+ context_type ctx_;
+};
+
+bool is_wildcard(const std::string& name);
+bool is_unnamed_wildcard(const std::string& name);
+bool is_named_wildcard(const std::string& name);
+bool is_pass_wildcard(const std::string& name);
+
+std::pair<bool, MatchObject::context_type>
+uspmatch(const UnitSpecies& pttrn, const UnitSpecies& sp,
+ const MatchObject::context_type& org);
+bool __spmatch(
+ Species::container_type::const_iterator itr,
+ const Species::container_type::const_iterator& end,
+ const Species& sp, const MatchObject::context_type& ctx);
+bool spmatch(const Species& pttrn, const Species& sp);
+Integer count_spmatches(const Species& pttrn, const Species& sp);
+Integer count_spmatches(
+ const Species& pttrn, const Species& sp,
+ const MatchObject::context_type::variable_container_type& globals);
+
+// ReactionRule create_reaction_rule_formatted(
+// const ReactionRule::reactant_container_type& reactants,
+// const ReactionRule::product_container_type& products, const Real k);
+
+// inline ReactionRule create_reaction_rule_formatted(const ReactionRule& rr)
+// {
+// return create_reaction_rule_formatted(rr.reactants(), rr.products(), rr.k());
+// }
+
+class SpeciesExpressionMatcher
+{
+public:
+
+ typedef MatchObject::context_type context_type;
+
+public:
+
+ SpeciesExpressionMatcher(const Species& pttrn)
+ : pttrn_(pttrn.units())
+ {
+ ;
+ }
+
+ virtual ~SpeciesExpressionMatcher()
+ {
+ ;
+ }
+
+ bool match(const Species& sp)
+ {
+ context_type::variable_container_type globals;
+ return match(sp, globals);
+ }
+
+ bool match(
+ const Species& sp, const context_type::variable_container_type& globals)
+ {
+ matches_.clear();
+ for (Species::container_type::const_iterator i(pttrn_.begin());
+ i != pttrn_.end(); ++i)
+ {
+ matches_.push_back(MatchObject(*i));
+ }
+
+ // target_ = sp;
+ target_ = sp.units();
+ itr_ = matches_.begin();
+ context_type ctx;
+ ctx.globals = globals;
+ return __match(ctx);
+ }
+
+ bool __match(const context_type& ctx)
+ {
+ if (itr_ == matches_.end())
+ {
+ ctx_ = ctx;
+ return true;
+ }
+
+ std::pair<bool, context_type> retval((*itr_).match(target_, ctx));
+ while (retval.first)
+ {
+ ++itr_;
+ const bool succeeded(__match(retval.second));
+ if (succeeded)
+ {
+ return true;
+ }
+ --itr_;
+ retval = (*itr_).next();
+ }
+ return false;
+ }
+
+ bool next()
+ {
+ if (itr_ != matches_.end())
+ {
+ return false;
+ }
+ else if (matches_.size() == 0)
+ {
+ return true;
+ }
+
+ do
+ {
+ --itr_;
+ std::pair<bool, context_type> retval((*itr_).next());
+ while (retval.first)
+ {
+ ++itr_;
+ const bool succeeded(__match(retval.second));
+ if (succeeded)
+ {
+ return true;
+ }
+ --itr_;
+ retval = (*itr_).next();
+ }
+ }
+ while (itr_ != matches_.begin());
+ return false;
+ }
+
+ Integer count(const Species& sp)
+ {
+ context_type::variable_container_type globals;
+ if (!match(sp, globals))
+ {
+ return 0;
+ }
+ Integer n(1);
+ while (next())
+ {
+ ++n;
+ }
+ return n;
+ }
+
+ const context_type& context() const
+ {
+ return ctx_;
+ }
+
+protected:
+
+ // Species pttrn_;
+ // Species target_;
+ std::vector<UnitSpecies> pttrn_;
+ std::vector<UnitSpecies> target_;
+ std::vector<MatchObject> matches_;
+ std::vector<MatchObject>::iterator itr_;
+ context_type ctx_;
+};
+
+class ReactionRuleExpressionMatcher
+{
+public:
+
+ typedef MatchObject::context_type context_type;
+ typedef ReactionRule::reactant_container_type reactant_container_type;
+
+public:
+
+ ReactionRuleExpressionMatcher(const ReactionRule& pttrn)
+ : pttrn_(pttrn)
+ {
+ ;
+ }
+
+ virtual ~ReactionRuleExpressionMatcher()
+ {
+ ;
+ }
+
+ bool match(const Species& sp)
+ {
+ reactant_container_type reactants;
+ reactants.push_back(sp);
+ permutation_.clear();
+ permutation_.push_back(0);
+ return __match(reactants);
+ }
+
+ bool match(const Species& sp1, const Species& sp2)
+ {
+ reactant_container_type reactants;
+ reactants.push_back(sp1);
+ reactants.push_back(sp2);
+ permutation_.clear();
+ permutation_.push_back(0);
+ permutation_.push_back(1);
+ return __match(reactants);
+ }
+
+ bool match_reversed(const Species& sp1, const Species& sp2)
+ {
+ reactant_container_type reactants;
+ reactants.push_back(sp2);
+ reactants.push_back(sp1);
+ permutation_.clear();
+ permutation_.push_back(1);
+ permutation_.push_back(0);
+ return __match(reactants);
+ }
+
+ bool match(const reactant_container_type& reactants,
+ const std::vector<reactant_container_type::size_type>& permutation)
+ {
+ permutation_ = permutation;
+ return __match(reactants);
+ }
+
+ bool match(const reactant_container_type& reactants)
+ {
+ permutation_.clear();
+ permutation_.reserve(reactants.size());
+ for (std::vector<reactant_container_type::size_type>::size_type i(0);
+ i != reactants.size(); ++i)
+ {
+ permutation_.push_back(i);
+ }
+ return __match(reactants);
+ }
+
+ bool __match(const reactant_container_type& reactants)
+ {
+ if (pttrn_.reactants().size() != reactants.size())
+ {
+ return false;
+ }
+
+ matchers_.clear();
+ for (reactant_container_type::const_iterator
+ i(pttrn_.reactants().begin()); i != pttrn_.reactants().end(); ++i)
+ {
+ matchers_.push_back(SpeciesExpressionMatcher(*i));
+ }
+
+ target_ = reactants; //XXX: copy?
+ itr_ = matchers_.begin();
+ context_type::variable_container_type globals;
+ return __submatch(globals);
+ }
+
+ bool __submatch(const context_type::variable_container_type& globals)
+ {
+ if (itr_ == matchers_.end())
+ {
+ return true;
+ }
+
+ bool retval((*itr_).match(
+ target_[std::distance(matchers_.begin(), itr_)],
+ globals));
+ while (retval)
+ {
+ const context_type::variable_container_type&
+ globals_prev((*itr_).context().globals);
+ ++itr_;
+ const bool succeeded(__submatch(globals_prev));
+ if (succeeded)
+ {
+ return true;
+ }
+ --itr_;
+ retval = (*itr_).next();
+ }
+ return false;
+ }
+
+ bool next()
+ {
+ if (itr_ != matchers_.end() || pttrn_.reactants().size() == 0)
+ {
+ return false;
+ }
+ else if (matchers_.size() == 0)
+ {
+ return true;
+ }
+
+ do
+ {
+ --itr_;
+ bool retval((*itr_).next());
+ while (retval)
+ {
+ const context_type::variable_container_type&
+ globals_prev((*itr_).context().globals);
+ ++itr_;
+ const bool succeeded(__submatch(globals_prev));
+ if (succeeded)
+ {
+ return true;
+ }
+ --itr_;
+ retval = (*itr_).next();
+ }
+ }
+ while (itr_ != matchers_.begin());
+ return false;
+ }
+
+ std::pair<bool, context_type> __match(
+ const context_type::variable_container_type& globals,
+ reactant_container_type::const_iterator i,
+ reactant_container_type::const_iterator j)
+ {
+ SpeciesExpressionMatcher m(*i);
+ if (!m.match(*j, globals))
+ {
+ return std::make_pair(false, context_type());
+ }
+
+ ++i;
+ ++j;
+ if (i == pttrn_.reactants().end() || j == target_.end())
+ {
+ return std::make_pair(true, m.context());
+ }
+
+ do
+ {
+ if (__match(m.context().globals, i, j).first)
+ {
+ return std::make_pair(true, m.context());
+ }
+ } while (m.next());
+ return std::make_pair(false, context_type());
+ }
+
+ context_type context() const
+ {
+ context_type ctx;
+ if (matchers_.size() == 0)
+ {
+ return ctx;
+ }
+
+ ctx.globals = matchers_.back().context().globals;
+ // Species::container_type::difference_type stride(0);
+ // for (std::vector<SpeciesExpressionMatcher>::const_iterator
+ // i(matchers_.begin()); i != matchers_.end(); ++i)
+ // {
+ // for (context_type::iterator_container_type::const_iterator
+ // j((*i).context().iterators.begin());
+ // j != (*i).context().iterators.end(); ++j)
+ // {
+ // ctx.iterators.push_back((*j) + stride);
+ // }
+ // stride += target_[std::distance(matchers_.begin(), i)].units().size();
+ // }
+ Species::container_type::difference_type totstride(0);
+ std::vector<Species::container_type::difference_type> strides(matchers_.size());
+ for (std::vector<reactant_container_type::size_type>::const_iterator
+ i(permutation_.begin()); i != permutation_.end(); ++i)
+ {
+ strides[(*i)] = totstride;
+ totstride += target_[(*i)].units().size();
+ }
+
+ for (std::vector<SpeciesExpressionMatcher>::const_iterator
+ i(matchers_.begin()); i != matchers_.end(); ++i)
+ {
+ const Species::container_type::difference_type stride
+ = strides[std::distance(matchers_.begin(), i)];
+ for (context_type::iterator_container_type::const_iterator
+ j((*i).context().iterators.begin());
+ j != (*i).context().iterators.end(); ++j)
+ {
+ ctx.iterators.push_back((*j) + stride);
+ }
+ }
+ return ctx;
+ }
+
+ std::vector<Species> generate();
+
+ const reactant_container_type& reactants() const
+ {
+ return target_;
+ }
+
+protected:
+
+ const ReactionRule pttrn_;
+ reactant_container_type target_;
+ std::vector<reactant_container_type::size_type> permutation_;
+ std::vector<SpeciesExpressionMatcher> matchers_;
+ std::vector<SpeciesExpressionMatcher>::iterator itr_;
+};
+
+} // ecell4
+
+#endif /* __ECELL4_CONTEXT_HPP */
diff --git a/ecell4/core/Cylinder.cpp b/ecell4/core/Cylinder.cpp
new file mode 100644
index 0000000..b0030b7
--- /dev/null
+++ b/ecell4/core/Cylinder.cpp
@@ -0,0 +1,142 @@
+#include "Cylinder.hpp"
+#include "exceptions.hpp"
+#include "collision.hpp"
+
+
+namespace ecell4
+{
+
+Cylinder::Cylinder()
+ : center_(), radius_(), axis_(), half_height_()
+{
+ ;
+}
+
+Cylinder::Cylinder(const Real3& center, const Real radius,
+ const Real3& axis, const Real half_height)
+ : center_(center), radius_(radius), axis_(axis), half_height_(half_height)
+{
+ ;
+}
+
+Cylinder::Cylinder(const Cylinder& rhs)
+ : center_(rhs.center()), radius_(rhs.radius()),
+ axis_(rhs.axis()), half_height_(rhs.half_height_)
+{
+ ;
+}
+
+const Real& Cylinder::radius() const
+{
+ return radius_;
+}
+
+const Real3& Cylinder::center() const
+{
+ return center_;
+}
+
+const Real& Cylinder::half_height() const
+{
+ return half_height_;
+}
+
+const Real3& Cylinder::axis() const
+{
+ return axis_;
+}
+
+Real Cylinder::distance(const Real3& coord) const
+{
+ return collision::distance_point_cylinder(coord, *this);
+}
+
+Real Cylinder::is_inside(const Real3& coord) const
+{
+ return distance(coord);
+}
+
+CylindricalSurface Cylinder::surface() const
+{
+ return CylindricalSurface(center_, radius_, axis_, half_height_);
+}
+
+Real3 Cylinder::draw_position(
+ boost::shared_ptr<RandomNumberGenerator>& rng) const
+{
+ throw NotImplemented("not implemented yet.");
+}
+
+bool Cylinder::test_AABB(const Real3& l, const Real3& u) const
+{
+ throw NotImplemented("not implemented yet.");
+}
+
+CylindricalSurface::CylindricalSurface()
+ : center_(), radius_(), axis_(), half_height_()
+{
+ ;
+}
+
+CylindricalSurface::CylindricalSurface(const Real3& center, const Real radius,
+ const Real3& axis, const Real half_height)
+ : center_(center), radius_(radius), axis_(axis), half_height_(half_height)
+{
+ ;
+}
+
+CylindricalSurface::CylindricalSurface(const CylindricalSurface& rhs)
+ : center_(rhs.center()), radius_(rhs.radius()),
+ axis_(rhs.axis()), half_height_(rhs.half_height_)
+{
+ ;
+}
+
+const Real& CylindricalSurface::radius() const
+{
+ return radius_;
+}
+
+const Real3& CylindricalSurface::center() const
+{
+ return center_;
+}
+
+const Real& CylindricalSurface::half_height() const
+{
+ return half_height_;
+}
+
+const Real3& CylindricalSurface::axis() const
+{
+ return axis_;
+}
+
+Real CylindricalSurface::distance(const Real3& coord) const
+{
+ return inside().distance(coord); //XXX: This is too slow.
+}
+
+Real CylindricalSurface::is_inside(const Real3& coord) const
+{
+ return distance(coord);
+}
+
+Cylinder CylindricalSurface::inside() const
+{
+ return Cylinder(center_, radius_, axis_, half_height_);
+}
+
+Real3 CylindricalSurface::draw_position(
+ boost::shared_ptr<RandomNumberGenerator>& rng) const
+{
+ throw NotImplemented("not implemented yet.");
+}
+
+bool CylindricalSurface::test_AABB(const Real3& l, const Real3& u) const
+{
+ throw NotImplemented("not implemented yet.");
+}
+
+} // ecell4
+
diff --git a/ecell4/core/Cylinder.hpp b/ecell4/core/Cylinder.hpp
new file mode 100644
index 0000000..4fb2922
--- /dev/null
+++ b/ecell4/core/Cylinder.hpp
@@ -0,0 +1,119 @@
+#ifndef __ECELL4_CYLINDER_HPP
+#define __ECELL4_CYLINDER_HPP
+
+#include <ostream>
+#include "Shape.hpp"
+
+namespace ecell4
+{
+
+struct CylindricalSurface;
+
+struct Cylinder
+ : public Shape
+{
+public:
+
+ /** for epdp
+ */
+ typedef Real3 position_type;
+ typedef position_type::value_type length_type;
+ typedef position_type::value_type value_type;
+
+public:
+
+ Cylinder();
+ Cylinder(const Real3& center, const Real radius,
+ const Real3& axis, const Real half_height);
+ Cylinder(const Cylinder& rhs);
+
+ const Real& radius() const;
+ const Real3& center() const;
+ const Real& half_height() const;
+ const Real3& axis() const;
+
+ Real is_inside(const Real3& coord) const;
+ Real distance(const Real3& pos) const;
+ bool test_AABB(const Real3& l, const Real3& u) const;
+ CylindricalSurface surface() const;
+ Real3 draw_position(
+ boost::shared_ptr<RandomNumberGenerator>& rng) const;
+
+ inline const Real3& position() const
+ {
+ return center();
+ }
+
+ Real3& position()
+ {
+ return center_;
+ }
+
+ inline const Real& size() const
+ {
+ return radius_;
+ }
+
+ Real& size()
+ {
+ return radius_;
+ }
+
+ inline std::pair<Real, Real> to_internal(const Real3& pos) const
+ {
+ const Real3 v(pos - center_);
+ const Real z(dot_product(v, axis_));
+ const Real r(length(v - multiply(axis_, z)));
+ return std::make_pair(r, z);
+ }
+
+ dimension_kind dimension() const
+ {
+ return THREE;
+ }
+
+protected:
+
+ Real3 center_;
+ Real radius_;
+ Real3 axis_;
+ Real half_height_;
+};
+
+struct CylindricalSurface
+ : public Shape
+{
+ CylindricalSurface();
+ CylindricalSurface(const Real3& center, const Real radius,
+ const Real3& axis, const Real half_height);
+ CylindricalSurface(const CylindricalSurface& rhs);
+
+ const Real& radius() const;
+ const Real3& center() const;
+ const Real& half_height() const;
+ const Real3& axis() const;
+
+ Real is_inside(const Real3& coord) const;
+ Real distance(const Real3& pos) const;
+ Cylinder inside() const;
+ Real3 draw_position(
+ boost::shared_ptr<RandomNumberGenerator>& rng) const;
+ bool test_AABB(const Real3& l, const Real3& u) const;
+
+ dimension_kind dimension() const
+ {
+ return TWO;
+ }
+
+protected:
+
+ Real3 center_;
+ Real radius_;
+ Real3 axis_;
+ Real half_height_;
+};
+
+} // ecell4
+
+#endif /* __ECELL4_CYLINDER_HPP */
+
diff --git a/ecell4/core/Doxyfile b/ecell4/core/Doxyfile
new file mode 100644
index 0000000..83ba8bd
--- /dev/null
+++ b/ecell4/core/Doxyfile
@@ -0,0 +1,1813 @@
+# Doxyfile 1.7.6.1
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+# TAG = value [value, ...]
+# For lists items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the config file
+# that follow. The default is UTF-8 which is also the encoding used for all
+# text before the first occurrence of this tag. Doxygen uses libiconv (or the
+# iconv built into libc) for the transcoding. See
+# http://www.gnu.org/software/libiconv for the list of possible encodings.
+
+DOXYFILE_ENCODING = UTF-8
+
+# The PROJECT_NAME tag is a single word (or sequence of words) that should
+# identify the project. Note that if you do not use Doxywizard you need
+# to put quotes around the project name if it contains spaces.
+
+PROJECT_NAME = ecell4
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
+# if some version control system is used.
+
+PROJECT_NUMBER = 0.1
+
+# Using the PROJECT_BRIEF tag one can provide an optional one line description
+# for a project that appears at the top of each page and should give viewer
+# a quick idea about the purpose of the project. Keep the description short.
+
+PROJECT_BRIEF = ecell4
+
+# With the PROJECT_LOGO tag one can specify an logo or icon that is
+# included in the documentation. The maximum height of the logo should not
+# exceed 55 pixels and the maximum width should not exceed 200 pixels.
+# Doxygen will copy the logo to the output directory.
+
+PROJECT_LOGO =
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# If a relative path is entered, it will be relative to the location
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY = ../docs
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
+# 4096 sub-directories (in 2 levels) under the output directory of each output
+# format and will distribute the generated files over these directories.
+# Enabling this option can be useful when feeding doxygen a huge amount of
+# source files, where putting all generated files in the same directory would
+# otherwise cause performance problems for the file system.
+
+CREATE_SUBDIRS = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# The default language is English, other supported languages are:
+# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
+# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
+# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
+# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
+# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak,
+# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
+
+OUTPUT_LANGUAGE = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+# include brief member descriptions after the members that are listed in
+# the file and class documentation (similar to JavaDoc).
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
+# the brief description of a member or function before the detailed description.
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator
+# that is used to form the text in various listings. Each string
+# in this list, if found as the leading text of the brief description, will be
+# stripped from the text and the result after processing the whole list, is
+# used as the annotated text. Otherwise, the brief description is used as-is.
+# If left blank, the following values are used ("$name" is automatically
+# replaced with the name of the entity): "The $name class" "The $name widget"
+# "The $name file" "is" "provides" "specifies" "contains"
+# "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF = "The $name class" \
+ "The $name widget" \
+ "The $name file" \
+ is \
+ provides \
+ specifies \
+ contains \
+ represents \
+ a \
+ an \
+ the
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# Doxygen will generate a detailed section even if there is only a brief
+# description.
+
+ALWAYS_DETAILED_SEC = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+# inherited members of a class in the documentation of that class as if those
+# members were ordinary class members. Constructors, destructors and assignment
+# operators of the base classes will not be shown.
+
+INLINE_INHERITED_MEMB = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
+# path before files name in the file list and in the header files. If set
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES = YES
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
+# can be used to strip a user-defined part of the path. Stripping is
+# only done if one of the specified strings matches the left-hand part of
+# the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the
+# path to strip.
+
+STRIP_FROM_PATH =
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
+# the path mentioned in the documentation of a class, which tells
+# the reader which header file to include in order to use a class.
+# If left blank only the name of the header file containing the class
+# definition is used. Otherwise one should specify the include paths that
+# are normally passed to the compiler using the -I flag.
+
+STRIP_FROM_INC_PATH =
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
+# (but less readable) file names. This can be useful if your file system
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the JavaDoc
+# comments will behave just like regular Qt-style comments
+# (thus requiring an explicit @brief command for a brief description.)
+
+JAVADOC_AUTOBRIEF = NO
+
+# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
+# interpret the first line (until the first dot) of a Qt-style
+# comment as the brief description. If set to NO, the comments
+# will behave just like regular Qt-style comments (thus requiring
+# an explicit \brief command for a brief description.)
+
+QT_AUTOBRIEF = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
+# treat a multi-line C++ special comment block (i.e. a block of //! or ///
+# comments) as a brief description. This used to be the default behaviour.
+# The new default is to treat a multi-line C++ comment block as a detailed
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
+# re-implements.
+
+INHERIT_DOCS = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
+# a new page for each member. If set to NO, the documentation of a member will
+# be part of the file/class/namespace that contains it.
+
+SEPARATE_MEMBER_PAGES = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE = 8
+
+# This tag can be used to specify a number of aliases that acts
+# as commands in the documentation. An alias has the form "name=value".
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
+# put the command \sideeffect (or @sideeffect) in the documentation, which
+# will result in a user-defined paragraph with heading "Side Effects:".
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES =
+
+# This tag can be used to specify a number of word-keyword mappings (TCL only).
+# A mapping has the form "name=value". For example adding
+# "class=itcl::class" will allow you to use the command class in the
+# itcl::class meaning.
+
+TCL_SUBST =
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
+# sources only. Doxygen will then generate output that is more tailored for C.
+# For instance, some of the names that are used will be different. The list
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
+# sources only. Doxygen will then generate output that is more tailored for
+# Java. For instance, namespaces will be presented as packages, qualified
+# scopes will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA = NO
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
+# sources only. Doxygen will then generate output that is more tailored for
+# Fortran.
+
+OPTIMIZE_FOR_FORTRAN = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
+# sources. Doxygen will then generate output that is tailored for
+# VHDL.
+
+OPTIMIZE_OUTPUT_VHDL = NO
+
+# Doxygen selects the parser to use depending on the extension of the files it
+# parses. With this tag you can assign which parser to use for a given extension.
+# Doxygen has a built-in mapping, but you can override or extend it using this
+# tag. The format is ext=language, where ext is a file extension, and language
+# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C,
+# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make
+# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
+# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions
+# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
+
+EXTENSION_MAPPING =
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
+# to include (a tag file for) the STL sources as input, then you should
+# set this tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
+# func(std::string) {}). This also makes the inheritance and collaboration
+# diagrams that involve STL classes more complete and accurate.
+
+BUILTIN_STL_SUPPORT = NO
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+
+CPP_CLI_SUPPORT = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
+# Doxygen will parse them like normal C++ but will assume all classes use public
+# instead of private inheritance when no explicit protection keyword is present.
+
+SIP_SUPPORT = NO
+
+# For Microsoft's IDL there are propget and propput attributes to indicate getter
+# and setter methods for a property. Setting this option to YES (the default)
+# will make doxygen replace the get and set methods by a property in the
+# documentation. This will only work if the methods are indeed getting or
+# setting a simple type. If this is not the case, or you want to show the
+# methods anyway, you should set this option to NO.
+
+IDL_PROPERTY_SUPPORT = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
+# the same type (for instance a group of public functions) to be put as a
+# subgroup of that type (e.g. under the Public Functions section). Set it to
+# NO to prevent subgrouping. Alternatively, this can be done per class using
+# the \nosubgrouping command.
+
+SUBGROUPING = YES
+
+# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and
+# unions are shown inside the group in which they are included (e.g. using
+# @ingroup) instead of on a separate page (for HTML and Man pages) or
+# section (for LaTeX and RTF).
+
+INLINE_GROUPED_CLASSES = NO
+
+# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and
+# unions with only public data fields will be shown inline in the documentation
+# of the scope in which they are defined (i.e. file, namespace, or group
+# documentation), provided this scope is documented. If set to NO (the default),
+# structs, classes, and unions are shown on a separate page (for HTML and Man
+# pages) or section (for LaTeX and RTF).
+
+INLINE_SIMPLE_STRUCTS = NO
+
+# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
+# is documented as struct, union, or enum with the name of the typedef. So
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+# with name TypeT. When disabled the typedef will appear as a member of a file,
+# namespace, or class. And the struct will be named TypeS. This can typically
+# be useful for C code in case the coding convention dictates that all compound
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+
+TYPEDEF_HIDES_STRUCT = NO
+
+# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
+# determine which symbols to keep in memory and which to flush to disk.
+# When the cache is full, less often used symbols will be written to disk.
+# For small to medium size projects (<1000 input files) the default value is
+# probably good enough. For larger projects a too small cache size can cause
+# doxygen to be busy swapping symbols to and from disk most of the time
+# causing a significant performance penalty.
+# If the system has enough physical memory increasing the cache will improve the
+# performance by keeping more symbols in memory. Note that the value works on
+# a logarithmic scale so increasing the size by one will roughly double the
+# memory usage. The cache size is given by this formula:
+# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
+# corresponding to a cache size of 2^16 = 65536 symbols.
+
+SYMBOL_CACHE_SIZE = 0
+
+# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be
+# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given
+# their name and scope. Since this can be an expensive process and often the
+# same symbol appear multiple times in the code, doxygen keeps a cache of
+# pre-resolved symbols. If the cache is too small doxygen will become slower.
+# If the cache is too large, memory is wasted. The cache size is given by this
+# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0,
+# corresponding to a cache size of 2^16 = 65536 symbols.
+
+LOOKUP_CACHE_SIZE = 0
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
+# will be included in the documentation.
+
+EXTRACT_PRIVATE = NO
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
+# will be included in the documentation.
+
+EXTRACT_STATIC = NO
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
+# defined locally in source files will be included in the documentation.
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES = YES
+
+# This flag is only useful for Objective-C code. When set to YES local
+# methods, which are defined in the implementation section but not in
+# the interface are included in the documentation.
+# If set to NO (the default) only methods in the interface are included.
+
+EXTRACT_LOCAL_METHODS = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be
+# extracted and appear in the documentation as a namespace called
+# 'anonymous_namespace{file}', where file will be replaced with the base
+# name of the file that contains the anonymous namespace. By default
+# anonymous namespaces are hidden.
+
+EXTRACT_ANON_NSPACES = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these classes will be included in the various
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
+# friend (class|struct|union) declarations.
+# If set to NO (the default) these declarations will be included in the
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
+# documentation blocks found inside the body of a function.
+# If set to NO (the default) these blocks will be appended to the
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS = NO
+
+# The INTERNAL_DOCS tag determines if documentation
+# that is typed after a \internal command is included. If the tag is set
+# to NO (the default) then the documentation will be excluded.
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
+# file names in lower-case letters. If set to YES upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# and Mac users are advised to set this option to NO.
+
+CASE_SENSE_NAMES = NO
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
+# will show members with their full class and namespace scopes in the
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES = NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
+# will put a list of the files that are included by a file in the documentation
+# of that file.
+
+SHOW_INCLUDE_FILES = YES
+
+# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
+# will list include files with double quotes in the documentation
+# rather than with sharp brackets.
+
+FORCE_LOCAL_INCLUDES = NO
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
+# is inserted in the documentation for inline members.
+
+INLINE_INFO = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
+# will sort the (detailed) documentation of file and class members
+# alphabetically by member name. If set to NO the members will appear in
+# declaration order.
+
+SORT_MEMBER_DOCS = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
+# brief documentation of file, namespace and class members alphabetically
+# by member name. If set to NO (the default) the members will appear in
+# declaration order.
+
+SORT_BRIEF_DOCS = NO
+
+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen
+# will sort the (brief and detailed) documentation of class members so that
+# constructors and destructors are listed first. If set to NO (the default)
+# the constructors will appear in the respective orders defined by
+# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS.
+# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO
+# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
+
+SORT_MEMBERS_CTORS_1ST = NO
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
+# hierarchy of group names into alphabetical order. If set to NO (the default)
+# the group names will appear in their defined order.
+
+SORT_GROUP_NAMES = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
+# sorted by fully-qualified names, including namespaces. If set to
+# NO (the default), the class list will be sorted only by class name,
+# not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the
+# alphabetical list.
+
+SORT_BY_SCOPE_NAME = NO
+
+# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to
+# do proper type resolution of all parameters of a function it will reject a
+# match between the prototype and the implementation of a member function even
+# if there is only one candidate or it is obvious which candidate to choose
+# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen
+# will still accept a match between prototype and implementation in such cases.
+
+STRICT_PROTO_MATCHING = NO
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or
+# disable (NO) the todo list. This list is created by putting \todo
+# commands in the documentation.
+
+GENERATE_TODOLIST = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or
+# disable (NO) the test list. This list is created by putting \test
+# commands in the documentation.
+
+GENERATE_TESTLIST = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
+# disable (NO) the bug list. This list is created by putting \bug
+# commands in the documentation.
+
+GENERATE_BUGLIST = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
+# disable (NO) the deprecated list. This list is created by putting
+# \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
+# the initial value of a variable or macro consists of for it to appear in
+# the documentation. If the initializer consists of more lines than specified
+# here it will be hidden. Use a value of 0 to hide initializers completely.
+# The appearance of the initializer of individual variables and macros in the
+# documentation can be controlled using \showinitializer or \hideinitializer
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
+# at the bottom of the documentation of classes and structs. If set to YES the
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES = YES
+
+# If the sources in your project are distributed over multiple directories
+# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
+# in the documentation. The default is NO.
+
+SHOW_DIRECTORIES = NO
+
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
+# This will remove the Files entry from the Quick Index and from the
+# Folder Tree View (if specified). The default is YES.
+
+SHOW_FILES = YES
+
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
+# Namespaces page. This will remove the Namespaces entry from the Quick Index
+# and from the Folder Tree View (if specified). The default is YES.
+
+SHOW_NAMESPACES = YES
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
+# doxygen should invoke to get the current version for each file (typically from
+# the version control system). Doxygen will invoke the program by executing (via
+# popen()) the command <command> <input-file>, where <command> is the value of
+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
+# provided by doxygen. Whatever the program writes to standard output
+# is used as the file version. See the manual for examples.
+
+FILE_VERSION_FILTER =
+
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
+# by doxygen. The layout file controls the global structure of the generated
+# output files in an output format independent way. The create the layout file
+# that represents doxygen's defaults, run doxygen with the -l option.
+# You can optionally specify a file name after the option, if omitted
+# DoxygenLayout.xml will be used as the name of the layout file.
+
+LAYOUT_FILE =
+
+# The CITE_BIB_FILES tag can be used to specify one or more bib files
+# containing the references data. This must be a list of .bib files. The
+# .bib extension is automatically appended if omitted. Using this command
+# requires the bibtex tool to be installed. See also
+# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style
+# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this
+# feature you need bibtex and perl available in the search path.
+
+CITE_BIB_FILES =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated by doxygen. Possible values are YES and NO. If left blank
+# NO is used.
+
+WARNINGS = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED = YES
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some
+# parameters in a documented function, or documenting parameters that
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR = YES
+
+# The WARN_NO_PARAMDOC option can be enabled to get warnings for
+# functions that are documented, but have no documentation for their parameters
+# or return value. If set to NO (the default) doxygen will only warn about
+# wrong or incomplete parameter documentation, but not about the absence of
+# documentation.
+
+WARN_NO_PARAMDOC = NO
+
+# The WARN_FORMAT tag determines the format of the warning messages that
+# doxygen can produce. The string should contain the $file, $line, and $text
+# tags, which will be replaced by the file and line number from which the
+# warning originated and the warning text. Optionally the format may contain
+# $version, which will be replaced by the version of the file (if it could
+# be obtained via FILE_VERSION_FILTER)
+
+WARN_FORMAT = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning
+# and error messages should be written. If left blank the output is written
+# to stderr.
+
+WARN_LOGFILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
+# with spaces.
+
+INPUT = /home/knishida/projects/ecell4
+
+# This tag can be used to specify the character encoding of the source files
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
+# also the default input encoding. Doxygen uses libiconv (or the iconv built
+# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
+# the list of possible encodings.
+
+INPUT_ENCODING = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank the following patterns are tested:
+# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh
+# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py
+# *.f90 *.f *.for *.vhd *.vhdl
+
+FILE_PATTERNS = *.c \
+ *.cc \
+ *.cxx \
+ *.cpp \
+ *.c++ \
+ *.d \
+ *.java \
+ *.ii \
+ *.ixx \
+ *.ipp \
+ *.i++ \
+ *.inl \
+ *.h \
+ *.hh \
+ *.hxx \
+ *.hpp \
+ *.h++ \
+ *.idl \
+ *.odl \
+ *.cs \
+ *.php \
+ *.php3 \
+ *.inc \
+ *.m \
+ *.mm \
+ *.dox \
+ *.py \
+ *.f90 \
+ *.f \
+ *.for \
+ *.vhd \
+ *.vhdl
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
+# should be searched for input files as well. Possible values are YES and NO.
+# If left blank NO is used.
+
+RECURSIVE = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should be
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+# Note that relative paths are relative to the directory from which doxygen is
+# run.
+
+EXCLUDE =
+
+# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
+# directories that are symbolic links (a Unix file system feature) are excluded
+# from the input.
+
+EXCLUDE_SYMLINKS = NO
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories. Note that the wildcards are matched
+# against the file with absolute path, so to exclude all test directories
+# for example use the pattern */test/*
+
+EXCLUDE_PATTERNS =
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+# (namespaces, classes, functions, etc.) that should be excluded from the
+# output. The symbol name can be a fully qualified name, a word, or if the
+# wildcard * is used, a substring. Examples: ANamespace, AClass,
+# AClass::ANamespace, ANamespace::*Test
+
+EXCLUDE_SYMBOLS =
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or
+# directories that contain example code fragments that are included (see
+# the \include command).
+
+EXAMPLE_PATH =
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank all files are included.
+
+EXAMPLE_PATTERNS = *
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude
+# commands irrespective of the value of the RECURSIVE tag.
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or
+# directories that contain image that are included in the documentation (see
+# the \image command).
+
+IMAGE_PATH =
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command <filter> <input-file>, where <filter>
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
+# input file. Doxygen will then use the output that the filter program writes
+# to standard output. If FILTER_PATTERNS is specified, this tag will be
+# ignored.
+
+INPUT_FILTER =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis. Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match. The filters are a list of the form:
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
+# info on how filters are used. If FILTER_PATTERNS is empty or if
+# non of the patterns match the file name, INPUT_FILTER is applied.
+
+FILTER_PATTERNS =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will be used to filter the input files when producing source
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES = NO
+
+# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
+# pattern. A pattern will override the setting for FILTER_PATTERN (if any)
+# and it is also possible to disable source filtering for a specific pattern
+# using *.ext= (so without naming a filter). This option only has effect when
+# FILTER_SOURCE_FILES is enabled.
+
+FILTER_SOURCE_PATTERNS =
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
+# Note: To get rid of all source code in the generated output, make sure also
+# VERBATIM_HEADERS is set to NO.
+
+SOURCE_BROWSER = NO
+
+# Setting the INLINE_SOURCES tag to YES will include the body
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES
+# then for each documented function all documented
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = NO
+
+# If the REFERENCES_RELATION tag is set to YES
+# then for each documented function all documented entities
+# called/used by that function will be listed.
+
+REFERENCES_RELATION = NO
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
+# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
+# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
+# link to the source code. Otherwise they will link to the documentation.
+
+REFERENCES_LINK_SOURCE = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code
+# will point to the HTML generated by the htags(1) tool instead of doxygen
+# built-in source browser. The htags tool is part of GNU's global source
+# tagging system (see http://www.gnu.org/software/global/global.html). You
+# will need version 4.8.6 or higher.
+
+USE_HTAGS = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
+# of all compounds will be generated. Enable this if the project
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX = YES
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX = 5
+
+# In case all classes in a project start with a common prefix, all
+# classes will be put under the same header in the alphabetical index.
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
+# generate HTML output.
+
+GENERATE_HTML = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard header. Note that when using a custom header you are responsible
+# for the proper inclusion of any scripts and style sheets that doxygen
+# needs, which is dependent on the configuration options used.
+# It is advised to generate a default header using "doxygen -w html
+# header.html footer.html stylesheet.css YourConfigFile" and then modify
+# that header. Note that the header is subject to change so you typically
+# have to redo this when upgrading to a newer version of doxygen or when
+# changing the value of configuration settings such as GENERATE_TREEVIEW!
+
+HTML_HEADER =
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard footer.
+
+HTML_FOOTER =
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
+# style sheet that is used by each HTML page. It can be used to
+# fine-tune the look of the HTML output. If the tag is left blank doxygen
+# will generate a default style sheet. Note that doxygen will try to copy
+# the style sheet file to the HTML output directory, so don't put your own
+# style sheet in the HTML output directory as well, or it will be erased!
+
+HTML_STYLESHEET =
+
+# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
+# other source files which should be copied to the HTML output directory. Note
+# that these files will be copied to the base HTML output directory. Use the
+# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
+# files. In the HTML_STYLESHEET file, use the file name only. Also note that
+# the files will be copied as-is; there are no commands or markers available.
+
+HTML_EXTRA_FILES =
+
+# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
+# Doxygen will adjust the colors in the style sheet and background images
+# according to this color. Hue is specified as an angle on a colorwheel,
+# see http://en.wikipedia.org/wiki/Hue for more information.
+# For instance the value 0 represents red, 60 is yellow, 120 is green,
+# 180 is cyan, 240 is blue, 300 purple, and 360 is red again.
+# The allowed range is 0 to 359.
+
+HTML_COLORSTYLE_HUE = 220
+
+# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of
+# the colors in the HTML output. For a value of 0 the output will use
+# grayscales only. A value of 255 will produce the most vivid colors.
+
+HTML_COLORSTYLE_SAT = 100
+
+# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to
+# the luminance component of the colors in the HTML output. Values below
+# 100 gradually make the output lighter, whereas values above 100 make
+# the output darker. The value divided by 100 is the actual gamma applied,
+# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2,
+# and 100 does not change the gamma.
+
+HTML_COLORSTYLE_GAMMA = 80
+
+# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
+# page will contain the date and time when the page was generated. Setting
+# this to NO can help when comparing the output of multiple runs.
+
+HTML_TIMESTAMP = YES
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+# files or namespaces will be aligned in HTML using tables. If set to
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS = YES
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+# documentation will contain sections that can be hidden and shown after the
+# page has loaded. For this to work a browser that supports
+# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
+# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
+
+HTML_DYNAMIC_SECTIONS = NO
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files
+# will be generated that can be used as input for Apple's Xcode 3
+# integrated development environment, introduced with OSX 10.5 (Leopard).
+# To create a documentation set, doxygen will generate a Makefile in the
+# HTML output directory. Running make will produce the docset in that
+# directory and running "make install" will install the docset in
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
+# it at startup.
+# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
+# for more information.
+
+GENERATE_DOCSET = NO
+
+# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
+# feed. A documentation feed provides an umbrella under which multiple
+# documentation sets from a single provider (such as a company or product suite)
+# can be grouped.
+
+DOCSET_FEEDNAME = "Doxygen generated docs"
+
+# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
+# should uniquely identify the documentation set bundle. This should be a
+# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
+# will append .docset to the name.
+
+DOCSET_BUNDLE_ID = org.doxygen.Project
+
+# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify
+# the documentation publisher. This should be a reverse domain-name style
+# string, e.g. com.mycompany.MyDocSet.documentation.
+
+DOCSET_PUBLISHER_ID = org.doxygen.Publisher
+
+# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
+
+DOCSET_PUBLISHER_NAME = Publisher
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
+# will be generated that can be used as input for tools like the
+# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
+# be used to specify the file name of the resulting .chm file. You
+# can add a path in front of the file if the result should not be
+# written to the html output directory.
+
+CHM_FILE =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
+# be used to specify the location (absolute path including file name) of
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
+# the HTML help compiler on the generated index.hhp.
+
+HHC_LOCATION =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+# controls if a separate .chi index file is generated (YES) or that
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
+# is used to encode HtmlHelp index (hhk), content (hhc) and project file
+# content.
+
+CHM_INDEX_ENCODING =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
+# controls whether a binary table of contents is generated (YES) or a
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members
+# to the contents of the HTML help documentation and to the tree view.
+
+TOC_EXPAND = NO
+
+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
+# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated
+# that can be used as input for Qt's qhelpgenerator to generate a
+# Qt Compressed Help (.qch) of the generated HTML documentation.
+
+GENERATE_QHP = NO
+
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
+# be used to specify the file name of the resulting .qch file.
+# The path specified is relative to the HTML output folder.
+
+QCH_FILE =
+
+# The QHP_NAMESPACE tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#namespace
+
+QHP_NAMESPACE = org.doxygen.Project
+
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#virtual-folders
+
+QHP_VIRTUAL_FOLDER = doc
+
+# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to
+# add. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#custom-filters
+
+QHP_CUST_FILTER_NAME =
+
+# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the
+# custom filter to add. For more information please see
+# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">
+# Qt Help Project / Custom Filters</a>.
+
+QHP_CUST_FILTER_ATTRS =
+
+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
+# project's
+# filter section matches.
+# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">
+# Qt Help Project / Filter Attributes</a>.
+
+QHP_SECT_FILTER_ATTRS =
+
+# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
+# be used to specify the location of Qt's qhelpgenerator.
+# If non-empty doxygen will try to run qhelpgenerator on the generated
+# .qhp file.
+
+QHG_LOCATION =
+
+# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
+# will be generated, which together with the HTML files, form an Eclipse help
+# plugin. To install this plugin and make it available under the help contents
+# menu in Eclipse, the contents of the directory containing the HTML and XML
+# files needs to be copied into the plugins directory of eclipse. The name of
+# the directory within the plugins directory should be the same as
+# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before
+# the help appears.
+
+GENERATE_ECLIPSEHELP = NO
+
+# A unique identifier for the eclipse help plugin. When installing the plugin
+# the directory name containing the HTML and XML files should also have
+# this name.
+
+ECLIPSE_DOC_ID = org.doxygen.Project
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs)
+# at top of each HTML page. The value NO (the default) enables the index and
+# the value YES disables it. Since the tabs have the same information as the
+# navigation tree you can set this option to NO if you already set
+# GENERATE_TREEVIEW to YES.
+
+DISABLE_INDEX = NO
+
+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
+# structure should be generated to display hierarchical information.
+# If the tag value is set to YES, a side panel will be generated
+# containing a tree-like index structure (just like the one that
+# is generated for HTML Help). For this to work a browser that supports
+# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
+# Windows users are probably better off using the HTML help feature.
+# Since the tree basically has the same information as the tab index you
+# could consider to set DISABLE_INDEX to NO when enabling this option.
+
+GENERATE_TREEVIEW = NO
+
+# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values
+# (range [0,1..20]) that doxygen will group on one line in the generated HTML
+# documentation. Note that a value of 0 will completely suppress the enum
+# values from appearing in the overview section.
+
+ENUM_VALUES_PER_LINE = 4
+
+# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
+# and Class Hierarchy pages using a tree view instead of an ordered list.
+
+USE_INLINE_TREES = NO
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
+# used to set the initial width (in pixels) of the frame in which the tree
+# is shown.
+
+TREEVIEW_WIDTH = 250
+
+# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open
+# links to external symbols imported via tag files in a separate window.
+
+EXT_LINKS_IN_WINDOW = NO
+
+# Use this tag to change the font size of Latex formulas included
+# as images in the HTML documentation. The default is 10. Note that
+# when you change the font size after a successful doxygen run you need
+# to manually remove any form_*.png images from the HTML output directory
+# to force them to be regenerated.
+
+FORMULA_FONTSIZE = 10
+
+# Use the FORMULA_TRANPARENT tag to determine whether or not the images
+# generated for formulas are transparent PNGs. Transparent PNGs are
+# not supported properly for IE 6.0, but are supported on all modern browsers.
+# Note that when changing this option you need to delete any form_*.png files
+# in the HTML output before the changes have effect.
+
+FORMULA_TRANSPARENT = YES
+
+# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax
+# (see http://www.mathjax.org) which uses client side Javascript for the
+# rendering instead of using prerendered bitmaps. Use this if you do not
+# have LaTeX installed or if you want to formulas look prettier in the HTML
+# output. When enabled you also need to install MathJax separately and
+# configure the path to it using the MATHJAX_RELPATH option.
+
+USE_MATHJAX = NO
+
+# When MathJax is enabled you need to specify the location relative to the
+# HTML output directory using the MATHJAX_RELPATH option. The destination
+# directory should contain the MathJax.js script. For instance, if the mathjax
+# directory is located at the same level as the HTML output directory, then
+# MATHJAX_RELPATH should be ../mathjax. The default value points to the
+# mathjax.org site, so you can quickly see the result without installing
+# MathJax, but it is strongly recommended to install a local copy of MathJax
+# before deployment.
+
+MATHJAX_RELPATH = http://www.mathjax.org/mathjax
+
+# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension
+# names that should be enabled during MathJax rendering.
+
+MATHJAX_EXTENSIONS =
+
+# When the SEARCHENGINE tag is enabled doxygen will generate a search box
+# for the HTML output. The underlying search engine uses javascript
+# and DHTML and should work on any modern browser. Note that when using
+# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets
+# (GENERATE_DOCSET) there is already a search function so this one should
+# typically be disabled. For large projects the javascript based search engine
+# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
+
+SEARCHENGINE = YES
+
+# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
+# implemented using a PHP enabled web server instead of at the web client
+# using Javascript. Doxygen will generate the search PHP script and index
+# file to put on the web server. The advantage of the server
+# based approach is that it scales better to large projects and allows
+# full text search. The disadvantages are that it is more difficult to setup
+# and does not have live searching capabilities.
+
+SERVER_BASED_SEARCH = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
+# generate Latex output.
+
+GENERATE_LATEX = YES
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked. If left blank `latex' will be used as the default command name.
+# Note that when enabling USE_PDFLATEX this option is only used for
+# generating bitmaps for formulas in the HTML output, but not in the
+# Makefile that is written to the output directory.
+
+LATEX_CMD_NAME = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
+# generate index for LaTeX. If left blank `makeindex' will be used as the
+# default command name.
+
+MAKEINDEX_CMD_NAME = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
+# LaTeX documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_LATEX = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used
+# by the printer. Possible values are: a4, letter, legal and
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE = a4
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
+# the generated latex document. The header should contain everything until
+# the first chapter. If it is left blank doxygen will generate a
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER =
+
+# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for
+# the generated latex document. The footer should contain everything after
+# the last chapter. If it is left blank doxygen will generate a
+# standard footer. Notice: only use this tag if you know what you are doing!
+
+LATEX_FOOTER =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
+# contain links (just like the HTML output) instead of page references
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS = YES
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
+# plain latex in the generated Makefile. Set this option to YES to get a
+# higher quality PDF documentation.
+
+USE_PDFLATEX = YES
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
+# command to the generated LaTeX files. This will instruct LaTeX to keep
+# running if errors occur, instead of asking the user for help.
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE = NO
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not
+# include the index chapters (such as File Index, Compound Index, etc.)
+# in the output.
+
+LATEX_HIDE_INDICES = NO
+
+# If LATEX_SOURCE_CODE is set to YES then doxygen will include
+# source code with syntax highlighting in the LaTeX output.
+# Note that which sources are shown also depends on other settings
+# such as SOURCE_BROWSER.
+
+LATEX_SOURCE_CODE = NO
+
+# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
+# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See
+# http://en.wikipedia.org/wiki/BibTeX for more info.
+
+LATEX_BIB_STYLE = plain
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
+# The RTF output is optimized for Word 97 and may not look very pretty with
+# other RTF readers or editors.
+
+GENERATE_RTF = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
+# RTF documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_RTF = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
+# will contain hyperlink fields. The RTF file will
+# contain links (just like the HTML output) instead of page references.
+# This makes the output suitable for online browsing using WORD or other
+# programs which support those fields.
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS = NO
+
+# Load style sheet definitions from file. Syntax is similar to doxygen's
+# config file, i.e. a series of assignments. You only have to provide
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE =
+
+# Set optional variables used in the generation of an rtf document.
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
+# generate man pages
+
+GENERATE_MAN = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT = man
+
+# The MAN_EXTENSION tag determines the extension that is added to
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION = .3
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will
+# generate an XML file that captures the structure of
+# the code including all documentation.
+
+GENERATE_XML = YES
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `xml' will be used as the default path.
+
+XML_OUTPUT = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_SCHEMA =
+
+# The XML_DTD tag can be used to specify an XML DTD,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_DTD =
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
+# dump the program listings (including syntax highlighting
+# and cross-referencing information) to the XML output. Note that
+# enabling this will significantly increase the size of the XML output.
+
+XML_PROGRAMLISTING = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
+# generate an AutoGen Definitions (see autogen.sf.net) file
+# that captures the structure of the code including all
+# documentation. Note that this feature is still experimental
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will
+# generate a Perl module file that captures the structure of
+# the code including all documentation. Note that this
+# feature is still experimental and incomplete at the
+# moment.
+
+GENERATE_PERLMOD = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
+# nicely formatted so it can be parsed by a human reader. This is useful
+# if you want to understand what is going on. On the other hand, if this
+# tag is set to NO the size of the Perl module output will be much smaller
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY = YES
+
+# The names of the make variables in the generated doxyrules.make file
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
+# This is useful so different doxyrules.make files included by the same
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
+# evaluate all C-preprocessor directives found in the sources and include
+# files.
+
+ENABLE_PREPROCESSING = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
+# names in the source code. If set to NO (the default) only conditional
+# compilation will be performed. Macro expansion can be done in a controlled
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
+# then the macro expansion is limited to the macros specified with the
+# PREDEFINED and EXPAND_AS_DEFINED tags.
+
+EXPAND_ONLY_PREDEF = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
+# pointed to by INCLUDE_PATH will be searched when a #include is found.
+
+SEARCH_INCLUDES = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by
+# the preprocessor.
+
+INCLUDE_PATH =
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will
+# be used.
+
+INCLUDE_FILE_PATTERNS =
+
+# The PREDEFINED tag can be used to specify one or more macro names that
+# are defined before the preprocessor is started (similar to the -D option of
+# gcc). The argument of the tag is a list of macros of the form: name
+# or name=definition (no spaces). If the definition and the = are
+# omitted =1 is assumed. To prevent a macro definition from being
+# undefined via #undef or recursively expanded use the := operator
+# instead of the = operator.
+
+PREDEFINED =
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
+# this tag can be used to specify a list of macro names that should be expanded.
+# The macro definition that is found in the sources will be used.
+# Use the PREDEFINED tag if you want to use a different macro definition that
+# overrules the definition found in the source code.
+
+EXPAND_AS_DEFINED =
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
+# doxygen's preprocessor will remove all references to function-like macros
+# that are alone on a line, have an all uppercase name, and do not end with a
+# semicolon, because these will confuse the parser if not removed.
+
+SKIP_FUNCTION_MACROS = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES option can be used to specify one or more tagfiles.
+# Optionally an initial location of the external documentation
+# can be added for each tagfile. The format of a tag file without
+# this location is as follows:
+# TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+# TAGFILES = file1=loc1 "file2 = loc2" ...
+# where "loc1" and "loc2" can be relative or absolute paths or
+# URLs. If a location is present for each tag, the installdox tool
+# does not have to be run to correct the links.
+# Note that each tag file must have a unique name
+# (where the name does NOT include the path)
+# If a tag file is not located in the directory in which doxygen
+# is run, you must also specify the path to the tagfile here.
+
+TAGFILES =
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE =
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
+# in the class index. If set to NO only the inherited external classes
+# will be listed.
+
+ALLEXTERNALS = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will
+# be listed.
+
+EXTERNAL_GROUPS = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
+# or super classes. Setting the tag to NO turns the diagrams off. Note that
+# this option also works with HAVE_DOT disabled, but it is recommended to
+# install and use dot, since it yields more powerful graphs.
+
+CLASS_DIAGRAMS = YES
+
+# You can define message sequence charts within doxygen comments using the \msc
+# command. Doxygen will then run the mscgen tool (see
+# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
+# documentation. The MSCGEN_PATH tag allows you to specify the directory where
+# the mscgen tool resides. If left empty the tool is assumed to be found in the
+# default search path.
+
+MSCGEN_PATH =
+
+# If set to YES, the inheritance and collaboration graphs will hide
+# inheritance and usage relations if the target is undocumented
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz, a graph visualization
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT = NO
+
+# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is
+# allowed to run in parallel. When set to 0 (the default) doxygen will
+# base this on the number of processors available in the system. You can set it
+# explicitly to a value larger than 0 to get control over the balance
+# between CPU load and processing speed.
+
+DOT_NUM_THREADS = 0
+
+# By default doxygen will use the Helvetica font for all dot files that
+# doxygen generates. When you want a differently looking font you can specify
+# the font name using DOT_FONTNAME. You need to make sure dot is able to find
+# the font, which can be done by putting it in a standard location or by setting
+# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the
+# directory containing the font.
+
+DOT_FONTNAME = Helvetica
+
+# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
+# The default size is 10pt.
+
+DOT_FONTSIZE = 10
+
+# By default doxygen will tell dot to use the Helvetica font.
+# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to
+# set the path where dot can find it.
+
+DOT_FONTPATH =
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect inheritance relations. Setting this tag to YES will force the
+# CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect implementation dependencies (inheritance, containment, and
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH = YES
+
+# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for groups, showing the direct groups dependencies
+
+GROUP_GRAPHS = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
+# Language.
+
+UML_LOOK = NO
+
+# If set to YES, the inheritance and collaboration graphs will show the
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS = NO
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
+# tags are set to YES then doxygen will generate a graph for each documented
+# file showing the direct and indirect include dependencies of the file with
+# other documented files.
+
+INCLUDE_GRAPH = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
+# documented header file showing the documented files that directly or
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH = YES
+
+# If the CALL_GRAPH and HAVE_DOT options are set to YES then
+# doxygen will generate a call dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable call graphs
+# for selected functions only using the \callgraph command.
+
+CALL_GRAPH = NO
+
+# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
+# doxygen will generate a caller dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable caller
+# graphs for selected functions only using the \callergraph command.
+
+CALLER_GRAPH = NO
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
+# will generate a graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY = YES
+
+# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
+# then doxygen will show the dependencies a directory has on other directories
+# in a graphical way. The dependency relations are determined by the #include
+# relations between the files in the directories.
+
+DIRECTORY_GRAPH = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# generated by dot. Possible values are svg, png, jpg, or gif.
+# If left blank png will be used. If you choose svg you need to set
+# HTML_FILE_EXTENSION to xhtml in order to make the SVG files
+# visible in IE 9+ (other browsers do not have this requirement).
+
+DOT_IMAGE_FORMAT = png
+
+# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
+# enable generation of interactive SVG images that allow zooming and panning.
+# Note that this requires a modern browser other than Internet Explorer.
+# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you
+# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files
+# visible. Older versions of IE do not have SVG support.
+
+INTERACTIVE_SVG = NO
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found in the path.
+
+DOT_PATH =
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the
+# \dotfile command).
+
+DOTFILE_DIRS =
+
+# The MSCFILE_DIRS tag can be used to specify one or more directories that
+# contain msc files that are included in the documentation (see the
+# \mscfile command).
+
+MSCFILE_DIRS =
+
+# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
+# nodes that will be shown in the graph. If the number of nodes in a graph
+# becomes larger than this value, doxygen will truncate the graph, which is
+# visualized by representing a node as a red box. Note that doxygen if the
+# number of direct children of the root node in a graph is already larger than
+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
+# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+
+DOT_GRAPH_MAX_NODES = 50
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
+# graphs generated by dot. A depth value of 3 means that only nodes reachable
+# from the root by following a path via at most 3 edges will be shown. Nodes
+# that lay further from the root node will be omitted. Note that setting this
+# option to 1 or 2 may greatly reduce the computation time needed for large
+# code bases. Also note that the size of a graph can be further restricted by
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+
+MAX_DOT_GRAPH_DEPTH = 0
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
+# background. This is disabled by default, because dot on Windows does not
+# seem to support this out of the box. Warning: Depending on the platform used,
+# enabling this option may lead to badly anti-aliased labels on the edges of
+# a graph (i.e. they become hard to read).
+
+DOT_TRANSPARENT = NO
+
+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
+# files in one run (i.e. multiple -o and -T options on the command line). This
+# makes dot run faster, but since only newer versions of dot (>1.8.10)
+# support this, this feature is disabled by default.
+
+DOT_MULTI_TARGETS = NO
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
+# generate a legend page explaining the meaning of the various boxes and
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
+# remove the intermediate dot files that are used to generate
+# the various graphs.
+
+DOT_CLEANUP = YES
diff --git a/ecell4/core/DynamicPriorityQueue.hpp b/ecell4/core/DynamicPriorityQueue.hpp
new file mode 100644
index 0000000..d029772
--- /dev/null
+++ b/ecell4/core/DynamicPriorityQueue.hpp
@@ -0,0 +1,585 @@
+#ifndef __ECELL4_DYNAMICPRIORITYQUEUE_HPP
+#define __ECELL4_DYNAMICPRIORITYQUEUE_HPP
+//
+// written by Koichi Takahashi based on the initial version by Eiichiro Adachi.
+// modified by Mozoyoshi Koizumi
+//
+
+#include <ecell4/core/config.h>
+
+#include <functional>
+#include <vector>
+#include <algorithm>
+#include <utility>
+#include <stdexcept>
+#include <cstring>
+
+#include <boost/format.hpp>
+#include <boost/lexical_cast.hpp>
+
+//#define HAVE_TR1_UNORDERED_MAP
+
+#if HAVE_UNORDERED_MAP
+#include <unordered_map>
+#elif HAVE_TR1_UNORDERED_MAP
+#include <tr1/unordered_map>
+#elif HAVE_BOOST_UNORDERED_MAP_HPP
+#include <boost/unordered_map.hpp>
+#else
+#include <map>
+#endif /* HAVE_UNORDERED_MAP */
+
+#ifdef DEBUG
+#include <iostream>
+#endif
+
+#include "swap.hpp"
+
+
+namespace ecell4
+{
+
+template<typename Tid_>
+struct default_id_generator
+{
+ typedef Tid_ identifier_type;
+
+ default_id_generator(): next_() {}
+
+ default_id_generator(identifier_type const& first): next_(first) {}
+
+ identifier_type operator()()
+ {
+ return ++next_;
+ }
+
+protected:
+ identifier_type next_;
+};
+
+
+template<typename Tid_ = unsigned long long,
+ typename Tindex_ = std::size_t,
+ typename Tidgen_ = default_id_generator<Tid_> >
+class persistent_id_policy
+{
+public:
+ typedef Tid_ identifier_type;
+ typedef Tindex_ index_type;
+ typedef Tidgen_ identifier_generator;
+
+protected:
+ struct hasher
+ : public std::unary_function<identifier_type, std::size_t>
+ {
+ std::size_t operator()(identifier_type value) const
+ {
+ return static_cast<std::size_t>(value) ^
+ static_cast<std::size_t>(
+ value >> (sizeof(identifier_type) * 8 / 2));
+ }
+ };
+#if HAVE_UNORDERED_MAP
+ typedef std::unordered_map<identifier_type, index_type, hasher> index_map;
+#elif HAVE_TR1_UNORDERED_MAP
+ typedef std::tr1::unordered_map<identifier_type, index_type, hasher> index_map;
+#elif HAVE_BOOST_UNORDERED_MAP_HPP
+ typedef boost::unordered_map<identifier_type, index_type, hasher> index_map;
+#else
+ typedef std::map<identifier_type, index_type> index_map;
+#endif
+
+public:
+ index_type index(identifier_type const& id) const
+ {
+ typename index_map::const_iterator i(index_map_.find(id));
+ if (i == index_map_.end())
+ {
+ throw std::out_of_range((boost::format("%s: Key not found (%s)")
+ % __FUNCTION__ % boost::lexical_cast<std::string>(id)).str());
+ // throw std::out_of_range((boost::format("%s: Key not found (%s)")
+ // % __PRETTY_FUNCTION__ % boost::lexical_cast<std::string>(id)).str());
+ }
+ return (*i).second;
+ }
+
+ identifier_type push(index_type index)
+ {
+ const identifier_type id(idgen_());
+ index_map_.insert(typename index_map::value_type(id, index));
+ return id;
+ }
+
+ void pop(index_type index, identifier_type id, identifier_type last_item_id)
+ {
+ index_map_[last_item_id] = index;
+ index_map_.erase(id);
+ }
+
+ void clear()
+ {
+ index_map_.clear();
+ }
+
+private:
+ index_map index_map_;
+ identifier_generator idgen_;
+};
+
+template<typename Tindex_ = std::size_t>
+class volatile_id_policy
+{
+public:
+ typedef Tindex_ identifier_type;
+ typedef Tindex_ index_type;
+
+ index_type index(identifier_type const& id) const
+ {
+ return id;
+ }
+
+ identifier_type push(index_type index)
+ {
+ return index;
+ }
+
+ void pop(index_type, identifier_type, identifier_type) {}
+
+ void clear() {}
+};
+
+
+/**
+ Dynamic priority queue for items of type Titem_.
+
+ When Tpolicy_ template parameter is persistent_id_policy, identifier_types assigned
+ to pushed items are persistent for the life time of this priority
+ queue.
+
+ When Volatileidentifier_typePolicy template parameter is used as the Tpolicy_,
+ identifier_types are valid only until the next call of pop or push methods.
+ However, Volatileidentifier_typePolicy saves some memory and eliminates the
+ overhead incurred in pop/push methods.
+*/
+
+template<typename Titem_, typename Tcomparator = std::less_equal<Titem_>, class Tpolicy_ = persistent_id_policy<> >
+class DynamicPriorityQueue: private Tpolicy_
+{
+public:
+ typedef Tpolicy_ policy_type;
+ typedef typename policy_type::identifier_type identifier_type;
+ typedef typename policy_type::index_type index_type;
+ typedef Titem_ element_type;
+ typedef std::pair<identifier_type, element_type> value_type;
+ typedef Tcomparator comparator_type;
+
+protected:
+ typedef std::vector<value_type> value_vector;
+ typedef std::vector<index_type> index_vector;
+
+public:
+ typedef typename value_vector::size_type size_type;
+ typedef typename value_vector::const_iterator iterator;
+ typedef typename value_vector::const_iterator const_iterator;
+
+public:
+ bool empty() const
+ {
+ return items_.empty();
+ }
+
+ size_type size() const
+ {
+ return items_.size();
+ }
+
+ void clear();
+
+ value_type const& top() const
+ {
+ return items_[top_index()];
+ }
+
+ value_type const& second() const
+ {
+ return items_[second_index()];
+ }
+
+ element_type const& get(identifier_type id) const
+ {
+ return items_[policy_type::index(id)].second;
+ }
+
+ void pop()
+ {
+ pop_by_index(top_index());
+ }
+
+ void pop(identifier_type id)
+ {
+ pop_by_index(policy_type::index(id));
+ }
+
+ void replace(value_type const& item);
+
+ identifier_type push(element_type const& item);
+
+ element_type const& operator[](identifier_type id) const
+ {
+ return get(id);
+ }
+
+ const_iterator begin() const
+ {
+ return items_.begin();
+ }
+
+ const_iterator end() const
+ {
+ return items_.end();
+ }
+
+ // self-diagnostic methods
+ bool check() const; // check all
+ bool check_size() const;
+ bool check_position_mapping() const;
+ bool check_heap() const;
+
+
+protected:
+ index_type top_index() const
+ {
+ return heap_[0];
+ }
+
+ index_type second_index() const
+ {
+ if (size() <= 1)
+ {
+ throw std::out_of_range("DynamicPriorityQueue::second_index():"
+ " item count less than 2.");
+ }
+
+ const index_type index1(heap_[1]);
+
+ if (size() == 2)
+ {
+ return index1;
+ }
+
+ const index_type index2(heap_[2]);
+ if (comp(items_[index1].second, items_[index2].second))
+ {
+ return index1;
+ }
+ else
+ {
+ return index2;
+ }
+ }
+
+ void pop_by_index(index_type index);
+
+ void move(index_type index)
+ {
+ const index_type pos(position_vector_[index]);
+ move_pos(pos);
+ }
+
+ void move_top()
+ {
+ move_down_pos(0);
+ }
+
+ void move_pos(index_type pos);
+
+ void move_up(index_type index)
+ {
+ const index_type position(position_vector_[index]);
+ move_up_pos(position);
+ }
+
+ void move_down(index_type index)
+ {
+ const index_type position(position_vector_[index]);
+ move_down_pos(position);
+ }
+
+
+ void move_up_pos(index_type position, index_type start = 0);
+ void move_down_pos(index_type position);
+
+ void move_up_pos_impl(index_type position, index_type start = 0);
+ void move_down_pos_impl(index_type position);
+
+private:
+ value_vector items_;
+ index_vector heap_;
+ index_vector position_vector_;
+
+ comparator_type comp;
+};
+
+template<typename Titem_, typename Tcomparator_, typename Tpolicy_>
+inline void DynamicPriorityQueue<Titem_, Tcomparator_, Tpolicy_>::clear()
+{
+ items_.clear();
+ heap_.clear();
+ position_vector_.clear();
+ policy_type::clear();
+}
+
+
+template<typename Titem_, typename Tcomparator_, typename Tpolicy_>
+inline void DynamicPriorityQueue<Titem_, Tcomparator_, Tpolicy_>::move_pos(index_type pos)
+{
+ const index_type index(heap_[pos]);
+ const value_type& item(items_[index]);
+ const index_type succ(2 * pos + 1);
+ if (succ < size())
+ {
+ if (comp(items_[heap_[succ]].second, item.second) || (succ + 1 < size() && comp(items_[heap_[succ + 1]].second, item.second)))
+ {
+ move_down_pos_impl(pos);
+ return;
+ }
+ }
+
+ move_up_pos(pos);
+}
+
+template<typename Titem_, typename Tcomparator_, typename Tpolicy_>
+inline void DynamicPriorityQueue<Titem_, Tcomparator_, Tpolicy_>::move_up_pos(index_type position, index_type start)
+{
+ if (position == 0)
+ return;
+
+ const index_type index(heap_[position]);
+ const value_type& item(items_[index]);
+
+ const index_type pred((position - 1) / 2);
+ const index_type predindex_type(heap_[pred]);
+
+ if (comp(item.second, items_[predindex_type].second))
+ {
+ move_up_pos_impl(position, start);
+ }
+}
+
+
+template<typename Titem_, typename Tcomparator_, typename Tpolicy_>
+inline void DynamicPriorityQueue<Titem_, Tcomparator_, Tpolicy_>::move_down_pos(index_type position)
+{
+ const index_type index(heap_[position]);
+ const value_type& item(items_[index]);
+
+ const index_type succ(2 * position + 1);
+ if (succ < size())
+ {
+ if (comp(items_[heap_[succ]].second, item.second) || (succ + 1 < size() && comp(items_[heap_[succ + 1]].second, item.second)))
+ {
+ move_down_pos_impl(position);
+ }
+ }
+}
+
+template<typename Titem_, typename Tcomparator_, typename Tpolicy_>
+inline void DynamicPriorityQueue<Titem_, Tcomparator_, Tpolicy_>::move_up_pos_impl(index_type position, index_type start)
+{
+ const index_type index(heap_[position]);
+ const value_type& item(items_[index]);
+
+ if (position <= start)
+ {
+ return;
+ }
+
+ index_type pos(position);
+ index_type pred((pos - 1) / 2);
+ index_type predindex_type(heap_[pred]);
+
+ do
+ {
+ heap_[pos] = predindex_type;
+ position_vector_[predindex_type] = pos;
+ pos = pred;
+
+ if (pos <= start)
+ {
+ break;
+ }
+
+ pred = (pos - 1) / 2;
+ predindex_type = heap_[pred];
+
+ } while (! comp(items_[predindex_type].second, item.second));
+
+ heap_[pos] = index;
+ position_vector_[index] = pos;
+}
+
+
+template<typename Titem_, typename Tcomparator_, typename Tpolicy_>
+inline void DynamicPriorityQueue<Titem_, Tcomparator_, Tpolicy_>::move_down_pos_impl(index_type position)
+{
+ const index_type index(heap_[position]);
+
+ index_type succ(2 * position + 1);
+ index_type pos(position);
+ while (succ < size())
+ {
+ const index_type right_pos(succ + 1);
+ if (right_pos < size() && !comp(items_[heap_[succ]].second, items_[heap_[right_pos]].second))
+ {
+ succ = right_pos;
+ }
+
+ heap_[pos] = heap_[succ];
+ position_vector_[heap_[pos]] = pos;
+ pos = succ;
+ succ = 2 * pos + 1;
+ }
+
+ heap_[pos] = index;
+ position_vector_[index] = pos;
+
+ move_up_pos(pos, position);
+}
+
+
+
+template<typename Titem_, typename Tcomparator_, typename Tpolicy_>
+inline typename DynamicPriorityQueue<Titem_, Tcomparator_, Tpolicy_>::identifier_type
+DynamicPriorityQueue<Titem_, Tcomparator_, Tpolicy_>::push(Titem_ const& item)
+{
+ const index_type index(items_.size());
+ const identifier_type id(policy_type::push(index));
+ items_.push_back(value_type(id, item));
+ // index == pos at this time.
+ heap_.push_back(index);
+ position_vector_.push_back(index);
+ move_up_pos(index);
+ return id;
+}
+
+
+template<typename Titem_, typename Tcomparator_, typename Tpolicy_>
+inline void DynamicPriorityQueue<Titem_, Tcomparator_, Tpolicy_>::pop_by_index(index_type index)
+{
+ value_type& item(items_[index]);
+ // 1. update index<->identifier_type mapping.
+ policy_type::pop(index, item.first, items_.back().first);
+
+ // 2. pop the item from the items_.
+ blit_swap(item, items_.back());
+ items_.pop_back();
+
+ const index_type removed_pos(position_vector_[index]);
+ const index_type moved_pos(position_vector_.back());
+
+ // 3. swap position_vector_[end] and position_vector_[index]
+ position_vector_[index] = moved_pos;
+ heap_[moved_pos] = index;
+
+ // 4. if heap_[end] and heap_[removed] do not overlap,
+ // swap these, pop back, and update the heap_.
+ if (removed_pos != heap_.size() - 1)
+ {
+ heap_[removed_pos] = heap_.back();
+ position_vector_[heap_.back()] = removed_pos;
+
+ position_vector_.pop_back();
+ heap_.pop_back();
+
+ move_pos(removed_pos);
+ }
+ else // if heap_[end] and heap_[removed] are the same, simply pop back.
+ {
+ position_vector_.pop_back();
+ heap_.pop_back();
+ }
+}
+
+template<typename Titem_, typename Tcomparator_, typename Tpolicy_>
+inline void DynamicPriorityQueue<Titem_, Tcomparator_, Tpolicy_>::replace(value_type const& value)
+{
+ const index_type index(policy_type::index(value.first));
+ items_[index].second = value.second;
+ move(index);
+}
+
+template<typename Titem_, typename Tcomparator_, typename Tpolicy_>
+inline bool DynamicPriorityQueue<Titem_, Tcomparator_, Tpolicy_>::check() const
+{
+ bool result(true);
+
+ result = result && check_size();
+ result = result && check_position_mapping();
+ result = result && check_heap();
+
+ return result;
+}
+
+
+template<typename Titem_, typename Tcomparator_, typename Tpolicy_>
+inline bool DynamicPriorityQueue<Titem_, Tcomparator_, Tpolicy_>::check_size() const
+{
+ bool result(true);
+
+ // check sizes of data structures.
+ result = result && items_.size() == size();
+ result = result && heap_.size() == size();
+ result = result && position_vector_.size() == size();
+
+ return result;
+}
+
+
+template<typename Titem_, typename Tcomparator_, typename Tpolicy_>
+inline bool DynamicPriorityQueue<Titem_, Tcomparator_, Tpolicy_>::check_position_mapping() const
+{
+ bool result(true);
+
+ // assert correct mapping between the heap_ and the position_vector_.
+ for (index_type i(0); i < size(); ++i)
+ {
+ result = result && heap_[i] < size();
+ result = result && position_vector_[i] < size();
+ result = result && heap_[position_vector_[i]] == i;
+ }
+
+ return result;
+}
+
+template<typename Titem_, typename Tcomparator_, typename Tpolicy_>
+inline bool DynamicPriorityQueue<Titem_, Tcomparator_, Tpolicy_>::check_heap() const
+{
+ bool result(true);
+
+ // assert correct ordering of items in the heap_.
+
+ for (index_type pos(0); pos < size(); ++pos)
+ {
+ const value_type& item(items_[heap_[pos]]);
+
+ const index_type succ(pos * 2 + 1);
+ if (succ < size())
+ {
+ result = result &&
+ comp(item.second, items_[heap_[succ]].second);
+
+ const index_type right_pos(succ + 1);
+ if (right_pos < size())
+ {
+ result = result && comp(item.second, items_[heap_[right_pos]].second);
+ }
+ }
+
+ }
+
+ return result;
+}
+
+} // ecell4
+
+#endif // __ECELL4_DYNAMICPRIORITYQUEUE_HPP
diff --git a/ecell4/core/EventScheduler.hpp b/ecell4/core/EventScheduler.hpp
new file mode 100644
index 0000000..b843f2e
--- /dev/null
+++ b/ecell4/core/EventScheduler.hpp
@@ -0,0 +1,168 @@
+#ifndef __ECELL4_EVENTSCHEDULER_HPP
+#define __ECELL4_EVENTSCHEDULER_HPP
+
+#include <boost/range/iterator_range.hpp>
+#include <boost/shared_ptr.hpp>
+#include <stdexcept>
+
+#include "types.hpp"
+#include "DynamicPriorityQueue.hpp"
+
+
+namespace ecell4
+{
+
+struct Event
+{
+public:
+
+ Event(Real const& time) : time_(time) {}
+
+ virtual ~Event() {}
+
+ virtual void fire() {}
+
+ Real const& time() const
+ {
+ return time_;
+ }
+
+ //XXX: deprecate me
+ Real const& dt() const
+ {
+ return dt_;
+ }
+
+ virtual void interrupt(Real const& t) {}
+
+protected:
+
+ Real time_;
+ //XXX: deprecate me
+ Real dt_;
+};
+
+
+template <class EventType>
+class EventSchedulerBase
+{
+protected:
+
+ struct event_comparator
+ {
+ bool operator()(boost::shared_ptr<EventType> const& lhs,
+ boost::shared_ptr<EventType> const& rhs) const
+ {
+ return lhs->time() <= rhs->time();
+ }
+ };
+
+ typedef DynamicPriorityQueue<boost::shared_ptr<EventType>, event_comparator>
+ EventPriorityQueue;
+
+public:
+
+ typedef typename EventPriorityQueue::size_type size_type;
+ typedef typename EventPriorityQueue::identifier_type identifier_type;
+ typedef typename EventPriorityQueue::value_type value_type;
+ typedef boost::iterator_range<typename EventPriorityQueue::const_iterator>
+ events_range;
+
+public:
+
+ EventSchedulerBase() : time_(0.0) {}
+
+ ~EventSchedulerBase() {}
+
+ Real time() const
+ {
+ return time_;
+ }
+
+ size_type size() const
+ {
+ return eventPriorityQueue_.size();
+ }
+
+ value_type const& top() const
+ {
+ return eventPriorityQueue_.top();
+ }
+
+ value_type pop()
+ {
+ if (eventPriorityQueue_.empty())
+ {
+ throw std::out_of_range("queue is empty");
+ }
+ const value_type top(eventPriorityQueue_.top());
+ eventPriorityQueue_.pop();
+ time_ = top.second->time();
+ return top;
+ }
+
+ value_type const& second() const
+ {
+ return eventPriorityQueue_.second();
+ }
+
+ boost::shared_ptr<EventType> get(identifier_type const& id) const
+ {
+ return eventPriorityQueue_.get(id);
+ }
+
+ void clear()
+ {
+ time_ = 0.0;
+ eventPriorityQueue_.clear();
+ }
+
+ identifier_type add(boost::shared_ptr<EventType> const& event)
+ {
+ return eventPriorityQueue_.push(event);
+ }
+
+ void remove(identifier_type const& id)
+ {
+ eventPriorityQueue_.pop(id);
+ }
+
+ void update(value_type const& pair)
+ {
+ eventPriorityQueue_.replace(pair);
+ }
+
+ bool check() const
+ {
+ return eventPriorityQueue_.check();
+ }
+
+ events_range events() const
+ {
+ return boost::make_iterator_range(
+ eventPriorityQueue_.begin(), eventPriorityQueue_.end());
+ }
+
+ const Real next_time() const
+ {
+ if (size() > 0)
+ {
+ return top().second->time();
+ }
+ else
+ {
+ return inf;
+ }
+ }
+
+protected:
+
+ EventPriorityQueue eventPriorityQueue_;
+ Real time_;
+};
+
+typedef EventSchedulerBase<Event> EventScheduler;
+
+} // ecell4
+
+#endif /* __ECELL4_EVENTSCHEDULER_HPP */
diff --git a/ecell4/core/Identifier.hpp b/ecell4/core/Identifier.hpp
new file mode 100644
index 0000000..cfe383c
--- /dev/null
+++ b/ecell4/core/Identifier.hpp
@@ -0,0 +1,278 @@
+#ifndef __ECELL4_IDENTIFIER_HPP
+#define __ECELL4_IDENTIFIER_HPP
+
+#include <ostream>
+#include <utility>
+#include <ecell4/core/config.h>
+#include "hash.hpp"
+
+namespace ecell4
+{
+
+struct DefaultLot
+{
+ DefaultLot& operator=(const DefaultLot&)
+ {
+ return *this;
+ }
+
+ operator bool() const
+ {
+ return false;
+ }
+
+ bool operator!() const
+ {
+ return true;
+ }
+
+ DefaultLot& operator++()
+ {
+ return *this;
+ }
+
+ DefaultLot operator++(int)
+ {
+ return DefaultLot();
+ }
+
+ DefaultLot& operator--()
+ {
+ return *this;
+ }
+
+ DefaultLot operator--(int)
+ {
+ return DefaultLot();
+ }
+
+ bool operator==(const DefaultLot& rhs) const
+ {
+ return true;
+ }
+
+ bool operator!=(const DefaultLot& rhs) const
+ {
+ return false;
+ }
+
+ bool operator<(const DefaultLot& rhs) const
+ {
+ return false;
+ }
+
+ bool operator>=(const DefaultLot& rhs) const
+ {
+ return false;
+ }
+
+ bool operator>(const DefaultLot& rhs) const
+ {
+ return false;
+ }
+
+ bool operator<=(const DefaultLot& rhs) const
+ {
+ return false;
+ }
+};
+
+template<typename Tbase_, typename Tserial_, typename Tlot_ = DefaultLot>
+struct Identifier
+{
+public:
+
+ typedef Tlot_ lot_type;
+ typedef Tserial_ serial_type;
+ typedef std::pair<lot_type, serial_type> value_type;
+
+public:
+
+ Identifier(const value_type& value)
+ : value_(value)
+ {
+ ;
+ }
+
+ Tbase_ lot_add(const lot_type& rhs) const
+ {
+ return value_type(value_.first + rhs, value_.second);
+ }
+
+ Tbase_ lot_subtract(const lot_type& rhs) const
+ {
+ return value_type(value_.first - rhs, value_.second);
+ }
+
+ Tbase_& lot_advance(const lot_type& rhs)
+ {
+ value_.first += rhs;
+ return static_cast<Tbase_&>(*this);
+ }
+
+ Tbase_& lot_retrace(const lot_type& rhs)
+ {
+ value_.first -= rhs;
+ return static_cast<Tbase_&>(*this);
+ }
+
+ Tbase_ serial_add(const serial_type& rhs) const
+ {
+ return value_type(value_.first, value_.second + rhs);
+ }
+
+ Tbase_ seral_subtract(const serial_type& rhs) const
+ {
+ return value_type(value_.first, value_.second - rhs);
+ }
+
+ Tbase_& serial_advance(const serial_type& rhs)
+ {
+ value_.second += rhs;
+ return static_cast<Tbase_&>(*this);
+ }
+
+ Tbase_& serial_retrace(const serial_type& rhs)
+ {
+ value_.second -= rhs;
+ return static_cast<Tbase_&>(*this);
+ }
+
+ Tbase_& operator=(const Tbase_& rhs)
+ {
+ value_.first = rhs.value_.first;
+ value_.second = rhs.value_.second;
+ return (*reinterpret_cast<Tbase_*>(this));
+ }
+
+ // operator bool() const
+ // {
+ // return value_.second != 0;
+ // }
+
+ // bool operator!() const
+ // {
+ // return value_.second == 0;
+ // }
+
+ bool is_initialized() const
+ {
+ return value_.second != 0;
+ }
+
+ bool operator==(const Tbase_& rhs) const
+ {
+ return value_.first == rhs.value_.first &&
+ value_.second == rhs.value_.second;
+ }
+
+ bool operator!=(const Tbase_& rhs) const
+ {
+ return value_.first != rhs.value_.first
+ || value_.second != rhs.value_.second;
+ }
+
+ bool operator<(const Tbase_& rhs) const
+ {
+ return value_.second < rhs.value_.second
+ || (value_.second == rhs.value_.second &&
+ value_.first < rhs.value_.first);
+ }
+
+ bool operator>=(const Tbase_& rhs) const
+ {
+ return value_.second > rhs.value_.second
+ || (value_.second == rhs.value_.second &&
+ value_.first >= rhs.value_.first);
+ }
+
+ bool operator>(const Tbase_& rhs) const
+ {
+ return value_.second > rhs.value_.second
+ || (value_.second == rhs.value_.second &&
+ value_.first > rhs.value_.first);
+ }
+
+ bool operator<=(const Tbase_& rhs) const
+ {
+ return value_.second < rhs.value_.second
+ || (value_.second == rhs.value_.second &&
+ value_.first <= rhs.value_.first);
+ }
+
+ operator value_type() const
+ {
+ return value_;
+ }
+
+ const value_type& operator()() const
+ {
+ return value_;
+ }
+
+ lot_type& lot()
+ {
+ return value_.first;
+ }
+
+ const lot_type& lot() const
+ {
+ return value_.first;
+ }
+
+ serial_type& serial()
+ {
+ return value_.second;
+ }
+
+ const serial_type& serial() const
+ {
+ return value_.second;
+ }
+
+ value_type& operator()()
+ {
+ return value_;
+ }
+
+protected:
+
+ value_type value_;
+};
+
+struct ParticleID:
+ public Identifier<ParticleID, unsigned long long, int>
+{
+ typedef Identifier<ParticleID, unsigned long long, int> base_type;
+
+ ParticleID(const value_type& value = value_type(0, 0))
+ : base_type(value)
+ {
+ ;
+ }
+};
+
+template<typename Tstrm_, typename Ttraits_>
+inline std::basic_ostream<Tstrm_, Ttraits_>& operator<<(std::basic_ostream<Tstrm_, Ttraits_>& strm,
+ const ParticleID& v)
+{
+ strm << "PID(" << v().first << ":" << v().second << ")";
+ return strm;
+}
+
+} // ecell4
+
+ECELL4_DEFINE_HASH_BEGIN()
+
+template<>
+struct hash<ecell4::ParticleID>
+{
+ std::size_t operator()(const ecell4::ParticleID& val) const
+ {
+ return static_cast<std::size_t>(val().first ^ val().second);
+ }
+};
+
+ECELL4_DEFINE_HASH_END()
+
+#endif /* __ECELL4_IDENTIFIER_HPP */
diff --git a/ecell4/core/Integer3.cpp b/ecell4/core/Integer3.cpp
new file mode 100644
index 0000000..8505004
--- /dev/null
+++ b/ecell4/core/Integer3.cpp
@@ -0,0 +1,65 @@
+#include "Integer3.hpp"
+
+namespace ecell4 {
+
+Integer3& Integer3::operator+=(const Integer3& rhs)
+{
+ *this = add(*this, rhs);
+ return *this;
+}
+
+Integer3& Integer3::operator-=(const Integer3& rhs)
+{
+ *this = subtract(*this, rhs);
+ return *this;
+}
+
+Integer3& Integer3::operator*=(const Integer3::value_type& rhs)
+{
+ *this = multiply(*this, rhs);
+ return *this;
+}
+
+Integer3 Integer3::east() const
+{
+ Integer3 retval(*this);
+ retval.col += 1;
+ return retval;
+}
+
+Integer3 Integer3::west() const
+{
+ Integer3 retval(*this);
+ retval.col -= 1;
+ return retval;
+}
+
+Integer3 Integer3::south() const
+{
+ Integer3 retval(*this);
+ retval.row += 1;
+ return retval;
+}
+
+Integer3 Integer3::north() const
+{
+ Integer3 retval(*this);
+ retval.row -= 1;
+ return retval;
+}
+
+Integer3 Integer3::dorsal() const
+{
+ Integer3 retval(*this);
+ retval.layer += 1;
+ return retval;
+}
+
+Integer3 Integer3::ventral() const
+{
+ Integer3 retval(*this);
+ retval.layer -= 1;
+ return retval;
+}
+
+} // ecell4
diff --git a/ecell4/core/Integer3.hpp b/ecell4/core/Integer3.hpp
new file mode 100644
index 0000000..3407c2d
--- /dev/null
+++ b/ecell4/core/Integer3.hpp
@@ -0,0 +1,180 @@
+#ifndef __ECELL4__GLOBAL_HPP
+#define __ECELL4__GLOBAL_HPP
+
+#include <ostream>
+#include <iomanip>
+#include <vector>
+
+#include "types.hpp"
+#include "exceptions.hpp"
+#include "functions.hpp"
+
+
+namespace ecell4
+{
+
+struct Integer3
+{
+ typedef Integer value_type;
+ typedef std::size_t size_type;
+
+ value_type col;
+ value_type row;
+ value_type layer;
+
+ Integer3()
+ {
+ this->col = 0;
+ this->row = 0;
+ this->layer = 0;
+ }
+
+ Integer3(value_type col, value_type row, value_type layer)
+ {
+ this->col = col;
+ this->row = row;
+ this->layer = layer;
+ }
+
+ Integer3(const Integer3& global)
+ {
+ this->col = global.col;
+ this->row = global.row;
+ this->layer = global.layer;
+ }
+
+ Integer3 east() const;
+ Integer3 west() const;
+ Integer3 south() const;
+ Integer3 north() const;
+ Integer3 dorsal() const;
+ Integer3 ventral() const;
+
+ Integer3& operator+=(const Integer3& rhs);
+ Integer3& operator-=(const Integer3& rhs);
+ Integer3& operator*=(const Integer3::value_type& rhs);
+
+ value_type& operator[](size_type i)
+ {
+ switch (i)
+ {
+ case 0:
+ return this->col;
+ case 1:
+ return this->row;
+ case 2:
+ return this->layer;
+ }
+ throw NotSupported("out of range");
+ }
+
+ const value_type& operator[](size_type i) const
+ {
+ switch (i)
+ {
+ case 0:
+ return this->col;
+ case 1:
+ return this->row;
+ case 2:
+ return this->layer;
+ }
+ throw NotSupported("out of range");
+ }
+};
+
+inline Integer3 add(const Integer3& g1, const Integer3& g2)
+{
+ Integer3 retval;
+ retval.col = g1.col + g2.col;
+ retval.row = g1.row + g2.row;
+ retval.layer = g1.layer + g2.layer;
+ return retval;
+}
+
+inline Integer3 subtract(const Integer3& g1, const Integer3& g2)
+{
+ Integer3 retval;
+ retval.col = g1.col - g2.col;
+ retval.row = g1.row - g2.row;
+ retval.layer = g1.layer - g2.layer;
+ return retval;
+}
+
+inline Integer3 abs(const Integer3& g1)
+{
+ Integer3 retval;
+ retval.col = abs(g1.col);
+ retval.row = abs(g1.row);
+ retval.layer = abs(g1.layer);
+ return retval;
+}
+
+inline Integer3 multiply(const Integer3& p1, const Integer3::value_type& p2)
+{
+ Integer3 retval;
+ retval[0] = p1[0] * p2;
+ retval[1] = p1[1] * p2;
+ retval[2] = p1[2] * p2;
+ return retval;
+}
+
+inline Integer3::value_type length_sq(const Integer3& r)
+{
+ return pow_2(r[0]) + pow_2(r[1]) + pow_2(r[2]);
+}
+
+inline Real length(const Integer3& r)
+{
+ return std::sqrt(static_cast<Real>(length_sq(r)));
+}
+
+inline Integer3::value_type dot_product(
+ const Integer3& p1, const Integer3& p2)
+{
+ return p1[0] * p2[0] + p1[1] * p2[1] + p1[2] * p2[2];
+}
+
+inline Integer3 operator+(const Integer3& lhs, const Integer3& rhs)
+{
+ return add(lhs, rhs);
+}
+
+inline Integer3 operator-(const Integer3& lhs, const Integer3& rhs)
+{
+ return subtract(lhs, rhs);
+}
+
+inline bool operator<(const Integer3& lhs, const Integer3& rhs)
+{
+ return (lhs.col < rhs.col ? true :
+ (lhs.row < rhs.row ? true : (lhs.layer < rhs.layer ? true : false)));
+}
+
+inline bool operator>(const Integer3& lhs, const Integer3& rhs)
+{
+ return (lhs.col > rhs.col ? true :
+ (lhs.row > rhs.row ? true : (lhs.layer > rhs.layer ? true : false)));
+}
+
+inline bool operator==(const Integer3& lhs, const Integer3& rhs)
+{
+ return (lhs.col == rhs.col && lhs.row == rhs.row && lhs.layer == rhs.layer);
+}
+
+inline bool operator!=(const Integer3& lhs, const Integer3& rhs)
+{
+ return (lhs.col != rhs.col || lhs.row != rhs.row || lhs.layer != rhs.layer);
+}
+
+template<typename Tstrm_, typename Ttraits_>
+inline std::basic_ostream<Tstrm_, Ttraits_>& operator<<(
+ std::basic_ostream<Tstrm_, Ttraits_>& strm, const Integer3& g)
+{
+ strm << "{" << g.col << ", " << g.row << ", " << g.layer << "}";
+ return strm;
+}
+
+} // ecell4
+
+#endif
diff --git a/ecell4/core/InterfaceType.hpp b/ecell4/core/InterfaceType.hpp
new file mode 100644
index 0000000..de13e92
--- /dev/null
+++ b/ecell4/core/InterfaceType.hpp
@@ -0,0 +1,53 @@
+#ifndef __ECELL4_INTERFACE_TYPE_HPP
+#define __ECELL4_INTERFACE_TYPE_HPP
+
+#include "VoxelPool.hpp"
+
+
+namespace ecell4
+{
+
+class InterfaceType
+ : public VoxelPool
+{
+public:
+
+ typedef VoxelPool base_type;
+ typedef base_type::coordinate_id_pair_type coordinate_id_pair_type;
+ typedef base_type::coordinate_type coordinate_type;
+ typedef base_type::voxel_type_type voxel_type_type;
+
+public:
+
+ InterfaceType(
+ const Species& sp, VoxelPool* location,
+ const Real& radius = 0, const Shape::dimension_kind& dimension=Shape::UNDEF)
+ : base_type(sp, location, radius, 0),
+ dimension_(std::min(dimension, location->get_dimension()))
+ {
+ ;
+ }
+
+ ~InterfaceType()
+ {
+ ; // do nothing
+ }
+
+ voxel_type_type const voxel_type() const
+ {
+ return INTERFACE;
+ }
+
+ const Shape::dimension_kind get_dimension() const
+ {
+ return dimension_;
+ }
+
+private:
+
+ const Shape::dimension_kind dimension_;
+};
+
+} // ecell4
+
+#endif /* __ECELL4_INTERFACE_TYPE_HPP */
diff --git a/ecell4/core/Journal.cpp b/ecell4/core/Journal.cpp
new file mode 100644
index 0000000..7b85842
--- /dev/null
+++ b/ecell4/core/Journal.cpp
@@ -0,0 +1,83 @@
+#include <cstdio>
+#include <cstring>
+
+#include "Journal.hpp"
+
+
+namespace ecell4
+{
+
+Journal::Journal(char const* name)
+ : name_(name)
+{
+ ;
+}
+
+Journal::~Journal()
+{
+ ;
+}
+
+void Journal::level(enum Journal::level level)
+{
+ ensure_initialized();
+ level_ = level;
+}
+
+enum Journal::level Journal::level() const
+{
+ const_cast<Journal*>(this)->ensure_initialized();
+ return level_;
+}
+
+void Journal::logv(enum level lv, char const* format, va_list ap)
+{
+ ensure_initialized();
+
+ if (lv < level_)
+ return;
+
+ using namespace std;
+
+ char buf[1024];
+ vsnprintf(buf, sizeof(buf), format, ap);
+
+ std::fprintf(stderr, "%s: %-8s ", name_.c_str(), stringize_error_level(lv));
+ std::fwrite(buf, sizeof(char), std::strlen(buf), stderr);
+ std::fputc('\n', stderr);
+}
+
+void Journal::flush()
+{
+ ensure_initialized();
+
+ std::fflush(stderr);
+}
+
+char const* Journal::stringize_error_level(enum level lv)
+{
+ static char const* names[] = {
+ "OFF",
+ "DEBUG",
+ "INFO",
+ "WARN",
+ "ERROR",
+ "FATAL"
+ };
+
+ return (static_cast<std::size_t>(lv) >= sizeof(names) / sizeof(*names)
+ ? "???": names[lv]);
+}
+
+
+// Journal& Journal::get_journal(char const* name)
+// {
+// ;
+// }
+
+inline void Journal::ensure_initialized()
+{
+ ; // not implemented yet
+}
+
+} // ecell4
diff --git a/ecell4/core/Journal.hpp b/ecell4/core/Journal.hpp
new file mode 100644
index 0000000..8c6b0ce
--- /dev/null
+++ b/ecell4/core/Journal.hpp
@@ -0,0 +1,106 @@
+#ifndef __ECELL4_JOURNAL_HPP
+#define __ECELL4_JOURNAL_HPP
+
+#include <cstdarg>
+#include <string>
+
+
+namespace ecell4
+{
+
+class Journal
+{
+public:
+
+ enum level
+ {
+ L_OFF = 0,
+ L_DEBUG = 1,
+ L_INFO = 2,
+ L_WARNING = 3,
+ L_ERROR = 4,
+ L_FATAL = 5
+ };
+
+public:
+
+ Journal(char const* name);
+
+ ~Journal();
+
+ void level(enum level level);
+ enum level level() const;
+
+ char const* name() const
+ {
+ return name_.c_str();
+ }
+
+ void debug(char const* format, ...)
+ {
+ va_list ap;
+ va_start(ap, format);
+ logv(L_DEBUG, format, ap);
+ va_end(ap);
+ }
+
+ void info(char const* format, ...)
+ {
+ va_list ap;
+ va_start(ap, format);
+ logv(L_INFO, format, ap);
+ va_end(ap);
+ }
+
+ void warn(char const* format, ...)
+ {
+ va_list ap;
+ va_start(ap, format);
+ logv(L_WARNING, format, ap);
+ va_end(ap);
+ }
+
+ void error(char const* format, ...)
+ {
+ va_list ap;
+ va_start(ap, format);
+ logv(L_ERROR, format, ap);
+ va_end(ap);
+ }
+
+ void fatal(char const* format, ...)
+ {
+ va_list ap;
+ va_start(ap, format);
+ logv(L_FATAL, format, ap);
+ va_end(ap);
+ }
+
+ void log(enum level lv, char const* format, ...)
+ {
+ va_list ap;
+ va_start(ap, format);
+ logv(lv, format, ap);
+ va_end(ap);
+ }
+
+ void logv(enum level lv, char const* format, va_list ap);
+ void flush();
+
+ static char const* stringize_error_level(enum level lv);
+
+ // static Journal& get_journal(char const* name);
+
+private:
+
+ void ensure_initialized();
+
+protected:
+
+ const std::string name_;
+ enum level level_;
+};
+
+} // ecell4
+
+#endif /* __ECELL4_JOURNAL_HPP */
diff --git a/ecell4/core/LatticeSpace.cpp b/ecell4/core/LatticeSpace.cpp
new file mode 100644
index 0000000..f0c7eb0
--- /dev/null
+++ b/ecell4/core/LatticeSpace.cpp
@@ -0,0 +1,86 @@
+#include "LatticeSpace.hpp"
+// #include <cmath>
+// #include <sstream>
+// #include <algorithm>
+
+namespace ecell4
+{
+
+bool LatticeSpace::can_move(const coordinate_type& src,
+ const coordinate_type& dest) const
+{
+ return false;
+}
+
+bool LatticeSpace::make_structure_type(const Species& sp,
+ Shape::dimension_kind dimension, const std::string loc)
+{
+ return false;
+}
+
+bool LatticeSpace::make_interface_type(const Species& sp,
+ Shape::dimension_kind dimension, const std::string loc)
+{
+ return false;
+}
+
+std::vector<std::pair<ParticleID, Particle> >
+LatticeSpace::list_particles() const
+{
+ const std::vector<std::pair<ParticleID, Voxel> > voxels(list_voxels());
+
+ std::vector<std::pair<ParticleID, Particle> > retval;
+ retval.reserve(voxels.size());
+ for (std::vector<std::pair<ParticleID, Voxel> >::const_iterator
+ i(voxels.begin()); i != voxels.end(); ++i)
+ {
+ const ParticleID& pid((*i).first);
+ const Particle p(particle_at((*i).second.coordinate()));
+ retval.push_back(std::make_pair(pid, p));
+ }
+ return retval;
+}
+
+std::vector<std::pair<ParticleID, Particle> >
+LatticeSpace::list_particles(const Species& sp) const
+{
+ const std::vector<std::pair<ParticleID, Voxel> > voxels(list_voxels(sp));
+
+ std::vector<std::pair<ParticleID, Particle> > retval;
+ retval.reserve(voxels.size());
+ for (std::vector<std::pair<ParticleID, Voxel> >::const_iterator
+ i(voxels.begin()); i != voxels.end(); ++i)
+ {
+ const ParticleID& pid((*i).first);
+ const Particle p(particle_at((*i).second.coordinate()));
+ retval.push_back(std::make_pair(pid, p));
+ }
+ return retval;
+}
+
+std::vector<std::pair<ParticleID, Particle> >
+LatticeSpace::list_particles_exact(const Species& sp) const
+{
+ const std::vector<std::pair<ParticleID, Voxel> >
+ voxels(list_voxels_exact(sp));
+
+ std::vector<std::pair<ParticleID, Particle> > retval;
+ retval.reserve(voxels.size());
+ for (std::vector<std::pair<ParticleID, Voxel> >::const_iterator
+ i(voxels.begin()); i != voxels.end(); ++i)
+ {
+ const ParticleID& pid((*i).first);
+ const Particle p(particle_at((*i).second.coordinate()));
+ retval.push_back(std::make_pair(pid, p));
+ }
+ return retval;
+}
+
+std::pair<ParticleID, Particle> LatticeSpace::get_particle(const ParticleID& pid) const
+{
+ const Voxel v(get_voxel(pid).second);
+ return std::make_pair(pid, Particle(
+ v.species(), coordinate2position(v.coordinate()), v.radius(), v.D()));
+}
+
+} // ecell4
diff --git a/ecell4/core/LatticeSpace.hpp b/ecell4/core/LatticeSpace.hpp
new file mode 100644
index 0000000..ab5aa45
--- /dev/null
+++ b/ecell4/core/LatticeSpace.hpp
@@ -0,0 +1,280 @@
+#ifndef __ECELL4_LATTICE_SPACE_HPP
+#define __ECELL4_LATTICE_SPACE_HPP
+
+#include <vector>
+#include <set>
+#include <map>
+#include <stdexcept>
+
+#include "Shape.hpp"
+#include "Space.hpp"
+#include "Integer3.hpp"
+#include "get_mapper_mf.hpp"
+
+#ifdef WITH_HDF5
+#include "LatticeSpaceHDF5Writer.hpp"
+#endif
+
+#include "VoxelPool.hpp"
+#include "Voxel.hpp"
+
+namespace ecell4
+{
+
+#ifdef WIN32_MSC
+double rint(const double x);
+double round(const double x);
+#endif
+
+class LatticeSpace
+ : public Space
+{
+public:
+
+ typedef Voxel::coordinate_type coordinate_type;
+ typedef VoxelPool::coordinate_id_pair_type coordinate_id_pair_type;
+
+public:
+
+ LatticeSpace(const Real& voxel_radius)
+ : t_(0.0), voxel_radius_(voxel_radius)
+ {
+ ;
+ }
+
+ virtual ~LatticeSpace()
+ {
+ ; // do nothing
+ }
+
+ // SpaceTraits
+
+ const Real t() const
+ {
+ return t_;
+ }
+
+ void set_t(const Real& t)
+ {
+ if (t < 0.0)
+ {
+ throw std::invalid_argument("the time must be positive.");
+ }
+ t_ = t;
+ }
+
+ Real voxel_radius() const
+ {
+ return voxel_radius_;
+ }
+
+ /**
+ * static members
+ */
+
+ static inline Real calculate_voxel_volume(const Real r)
+ {
+ return 4.0 * sqrt(2.0) * r * r * r;
+ }
+
+ static inline Real3 calculate_hcp_lengths(const Real voxel_radius)
+ {
+ return Real3(
+ voxel_radius / sqrt(3.0), // HCP_L
+ voxel_radius * sqrt(8.0 / 3.0), // HCP_X
+ voxel_radius * sqrt(3.0)); // HCP_Y
+ }
+
+ static inline Integer3 calculate_shape(const Real3& edge_lengths, const Real& voxel_radius, const bool is_periodic)
+ {
+ const Real3 hcpLXY = calculate_hcp_lengths(voxel_radius);
+ const Real lengthX = edge_lengths[0];
+ const Real lengthY = edge_lengths[1];
+ const Real lengthZ = edge_lengths[2];
+
+ Integer col_size = (Integer)rint(lengthX / hcpLXY[1]) + 1;
+ Integer layer_size = (Integer)rint(lengthY / hcpLXY[2]) + 1;
+ Integer row_size = (Integer)rint((lengthZ / 2) / voxel_radius) + 1;
+
+ if (is_periodic)
+ {
+ // The number of voxels in each axis must be even for a periodic boundary.
+ col_size = (col_size % 2 == 0 ? col_size : col_size + 1);
+ layer_size = (layer_size % 2 == 0 ? layer_size : layer_size + 1);
+ row_size = (row_size % 2 == 0 ? row_size : row_size + 1);
+ }
+
+ return Integer3(col_size, row_size, layer_size);
+ }
+
+ static inline Real calculate_volume(const Real3& edge_lengths, const Real& voxel_radius, const bool is_periodic)
+ {
+ const Integer3 shape = calculate_shape(edge_lengths, voxel_radius, is_periodic);
+ return static_cast<Real>(shape[0] * shape[1] * shape[2]) * calculate_voxel_volume(voxel_radius);
+ }
+
+ Real voxel_volume() const
+ {
+ return calculate_voxel_volume(voxel_radius_);
+ }
+
+ Real unit_area() const
+ {
+ const Real r(voxel_radius_);
+ return 2.0 * sqrt(3.0) * r * r;
+ }
+
+ Real get_volume(const Species& sp) const
+ {
+ return voxel_volume() * num_voxels_exact(sp);
+ // return inner_size() * voxel_volume();
+ }
+
+ virtual Real3 actual_lengths() const = 0; // XXX should be owned by LatticeSpaceBase?
+
+ virtual void save(const std::string& filename) const
+ {
+ throw NotSupported(
+ "save(const std::string) is not supported by this space class");
+ }
+
+#ifdef WITH_HDF5
+ virtual void save_hdf5(H5::Group* root) const
+ {
+ throw NotSupported(
+ "load(H5::Group* root) is not supported by this space class");
+ }
+
+ virtual void load_hdf5(const H5::Group& root)
+ {
+ throw NotSupported(
+ "load(const H5::Group& root) is not supported by this space class");
+ }
+#endif
+
+ virtual std::vector<Species> list_species() const = 0;
+
+ virtual Integer num_voxels_exact(const Species& sp) const = 0;
+ virtual Integer num_voxels(const Species& sp) const = 0;
+ virtual Integer num_voxels() const = 0;
+ virtual bool has_voxel(const ParticleID& pid) const = 0;
+
+ virtual std::vector<std::pair<ParticleID, Voxel> > list_voxels() const = 0;
+ virtual std::vector<std::pair<ParticleID, Voxel> > list_voxels(const Species& sp) const = 0;
+ virtual std::vector<std::pair<ParticleID, Voxel> > list_voxels_exact(const Species& sp) const = 0;
+
+ virtual std::pair<ParticleID, Voxel> get_voxel(const ParticleID& pid) const = 0;
+ virtual std::pair<ParticleID, Voxel> get_voxel_at(const coordinate_type& coord) const = 0;
+
+ virtual const Particle particle_at(const coordinate_type& coord) const = 0;
+
+ virtual bool update_voxel(const ParticleID& pid, const Voxel& v) = 0;
+ virtual bool remove_voxel(const ParticleID& pid) = 0;
+ virtual bool remove_voxel(const coordinate_type& coord) = 0;
+
+ virtual bool can_move(const coordinate_type& src, const coordinate_type& dest) const;
+ virtual bool move(
+ const coordinate_type& src, const coordinate_type& dest,
+ const std::size_t candidate=0) = 0;
+ virtual std::pair<coordinate_type, bool> move_to_neighbor(
+ VoxelPool* const& from, VoxelPool* const& loc,
+ coordinate_id_pair_type& info, const Integer nrand) = 0;
+
+ /*
+ * find_voxel_pool
+ */
+ virtual VoxelPool* get_voxel_pool_at(const coordinate_type& coord) const = 0;
+ virtual VoxelPool* find_voxel_pool(const Species& sp) = 0;
+ virtual const VoxelPool* find_voxel_pool(const Species& sp) const = 0;
+
+ virtual bool has_molecule_pool(const Species& sp) const = 0;
+
+ virtual MoleculePool* find_molecule_pool(const Species& sp) = 0;
+ virtual const MoleculePool* find_molecule_pool(const Species& sp) const = 0;
+
+ /*
+ * Structure
+ */
+
+ virtual bool on_structure(const Voxel& v) = 0;
+ virtual bool
+ make_structure_type(const Species& sp, Shape::dimension_kind dimension, const std::string loc);
+ virtual bool
+ make_interface_type(const Species& sp, Shape::dimension_kind dimension, const std::string loc);
+
+ /**
+ Coordinate transformations: See LatticeSpaceBase for the implementation
+ */
+
+ /*
+ * for LatticeSpaceBase
+ */
+ virtual coordinate_type inner2coordinate(const coordinate_type inner) const = 0;
+
+ virtual Real3 coordinate2position(const coordinate_type& coord) const = 0;
+ virtual coordinate_type position2coordinate(const Real3& pos) const = 0;
+
+ virtual Integer num_neighbors(const coordinate_type& coord) const = 0;
+ virtual coordinate_type get_neighbor(
+ const coordinate_type& coord, const Integer& nrand) const = 0;
+ virtual coordinate_type get_neighbor_boundary(
+ const coordinate_type& coord, const Integer& nrand) const = 0;
+
+ /**
+ */
+
+ virtual Integer num_molecules(const Species& sp) const = 0; //XXX:
+
+ virtual Integer num_molecules_exact(const Species& sp) const
+ {
+ return num_voxels_exact(sp);
+ }
+
+ Integer num_particles() const
+ {
+ return num_voxels();
+ }
+
+ Integer num_particles(const Species& sp) const
+ {
+ return num_voxels(sp);
+ }
+
+ Integer num_particles_exact(const Species& sp) const
+ {
+ return num_voxels_exact(sp);
+ }
+
+ bool has_particle(const ParticleID& pid) const
+ {
+ return has_voxel(pid);
+ }
+
+ virtual bool remove_particle(const ParticleID& pid)
+ {
+ return remove_voxel(pid);
+ }
+
+ virtual std::pair<ParticleID, Particle>
+ get_particle(const ParticleID& pid) const;
+
+ virtual std::vector<std::pair<ParticleID, Particle> >
+ list_particles() const;
+ virtual std::vector<std::pair<ParticleID, Particle> >
+ list_particles(const Species& sp) const;
+ virtual std::vector<std::pair<ParticleID, Particle> >
+ list_particles_exact(const Species& sp) const;
+
+ virtual Integer size() const = 0;
+ virtual Integer3 shape() const = 0;
+ virtual Integer inner_size() const = 0;
+
+protected:
+
+ Real t_;
+ Real voxel_radius_;
+};
+
+} // ecell4
+
+#endif /* __ECELL4_LATTICE_SPACE_HPP */
diff --git a/ecell4/core/LatticeSpaceBase.cpp b/ecell4/core/LatticeSpaceBase.cpp
new file mode 100644
index 0000000..a4400b7
--- /dev/null
+++ b/ecell4/core/LatticeSpaceBase.cpp
@@ -0,0 +1,51 @@
+#include "LatticeSpaceBase.hpp"
+
+#include <cmath>
+
+#ifdef WIN32_MSC
+#include <boost/numeric/interval/detail/msvc_rounding_control.hpp>
+#endif
+
+namespace ecell4 {
+
+#ifdef WIN32_MSC
+double rint(const double x)
+{
+ return boost::numeric::interval_lib::detail::rint(x);
+}
+
+double round(const double x)
+{
+ return floor(x + 0.5);
+}
+#endif
+
+void LatticeSpaceBase::set_lattice_properties(const bool is_periodic)
+{
+ //XXX: derived from SpatiocyteStepper::setLatticeProperties()
+ HCP_L = voxel_radius_ / sqrt(3.0);
+ HCP_X = voxel_radius_ * sqrt(8.0 / 3.0); // Lx
+ HCP_Y = voxel_radius_ * sqrt(3.0); // Ly
+
+ const Real lengthX = edge_lengths_[0];
+ const Real lengthY = edge_lengths_[1];
+ const Real lengthZ = edge_lengths_[2];
+
+ col_size_ = (Integer)rint(lengthX / HCP_X) + 1;
+ layer_size_ = (Integer)rint(lengthY / HCP_Y) + 1;
+ row_size_ = (Integer)rint((lengthZ / 2) / voxel_radius_) + 1;
+
+ if (is_periodic)
+ {
+ // The number of voxels in each axis must be even for a periodic boundary.
+ col_size_ = (col_size_ % 2 == 0 ? col_size_ : col_size_ + 1);
+ layer_size_ = (layer_size_ % 2 == 0 ? layer_size_ : layer_size_ + 1);
+ row_size_ = (row_size_ % 2 == 0 ? row_size_ : row_size_ + 1);
+ }
+
+ row_size_ += 2;
+ layer_size_ += 2;
+ col_size_ += 2;
+}
+
+} // ecell4
diff --git a/ecell4/core/LatticeSpaceBase.hpp b/ecell4/core/LatticeSpaceBase.hpp
new file mode 100644
index 0000000..76b29d3
--- /dev/null
+++ b/ecell4/core/LatticeSpaceBase.hpp
@@ -0,0 +1,250 @@
+#ifndef __ECELL4_LATTICE_SPACE_BASE_HPP
+#define __ECELL4_LATTICE_SPACE_BASE_HPP
+
+#include "LatticeSpace.hpp"
+
+namespace ecell4
+{
+
+class LatticeSpaceBase
+ : public LatticeSpace
+{
+public:
+
+ typedef LatticeSpace base_type;
+
+public:
+
+ LatticeSpaceBase(const Real3& edge_lengths, const Real& voxel_radius, const bool is_periodic)
+ : base_type(voxel_radius), edge_lengths_(edge_lengths)
+ {
+ set_lattice_properties(is_periodic);
+ }
+
+ virtual ~LatticeSpaceBase()
+ {
+ ; // do nothing
+ }
+
+ virtual void reset(const Real3& edge_lengths, const Real& voxel_radius, const bool is_periodic)
+ {
+ edge_lengths_ = edge_lengths;
+ voxel_radius_ = voxel_radius;
+
+ set_lattice_properties(is_periodic);
+ }
+
+ void set_lattice_properties(const bool is_periodic);
+
+ /**
+ * Primitives
+ */
+
+ const Real3& edge_lengths() const
+ {
+ return edge_lengths_;
+ }
+
+ const Real volume() const
+ {
+ return edge_lengths_[0] * edge_lengths_[1] * edge_lengths_[2];
+ }
+
+ virtual const Integer col_size() const
+ {
+ return col_size_ - 2;
+ }
+
+ virtual const Integer row_size() const
+ {
+ return row_size_ - 2;
+ }
+
+ virtual const Integer layer_size() const
+ {
+ return layer_size_ - 2;
+ }
+
+ virtual Real3 actual_lengths() const
+ {
+ return Real3(
+ col_size() * HCP_X,
+ layer_size() * HCP_Y,
+ row_size() * voxel_radius() * 2);
+ }
+
+ /**
+ Coordinate transformations
+ */
+
+ coordinate_type inner2coordinate(const coordinate_type inner) const {
+ const Integer num_row(row_size());
+ const Integer num_col(col_size());
+
+ const Integer NUM_COLROW(num_row * num_col);
+ const Integer LAYER(inner / NUM_COLROW);
+ const Integer SURPLUS(inner - LAYER * NUM_COLROW);
+ const Integer COL(SURPLUS / num_row);
+ const Integer3 g(COL, SURPLUS - COL * num_row, LAYER);
+
+ return global2coordinate(g);
+ }
+
+ coordinate_type global2coordinate(const Integer3& global) const
+ {
+ const Integer3 g(global.col + 1, global.row + 1, global.layer + 1);
+ return g.row + row_size_ * (g.col + col_size_ * g.layer);
+ }
+
+ Integer3 coordinate2global(const coordinate_type& coord) const
+ {
+ const Integer NUM_COLROW(row_size_ * col_size_);
+ const Integer LAYER(coord / NUM_COLROW);
+ const Integer SURPLUS(coord - LAYER * NUM_COLROW);
+ const Integer COL(SURPLUS / row_size_);
+ const Integer3 global(COL, SURPLUS - COL * row_size_, LAYER);
+ const Integer3 retval(
+ global.col - 1, global.row - 1, global.layer - 1);
+ return retval;
+ }
+
+ Real3 coordinate2position(const coordinate_type& coord) const
+ {
+ return global2position(coordinate2global(coord));
+ }
+
+ coordinate_type position2coordinate(const Real3& pos) const
+ {
+ return global2coordinate(position2global(pos));
+ }
+
+ Real3 global2position(const Integer3& global) const
+ {
+ // the center point of a voxel
+ const Real3 pos(
+ global.col * HCP_X,
+ (global.col % 2) * HCP_L + HCP_Y * global.layer,
+ (global.row * 2 + (global.layer + global.col) % 2)
+ * voxel_radius_);
+ return pos;
+ }
+
+ Integer3 position2global(const Real3& pos) const
+ {
+ const Integer col(round(pos[0] / HCP_X));
+ const Integer layer(round((pos[1] - (col % 2) * HCP_L) / HCP_Y));
+ const Integer row(round(
+ (pos[2] / voxel_radius_ - ((layer + col) % 2)) / 2));
+ const Integer3 global(col, row, layer);
+ return global;
+ }
+
+ Integer num_neighbors(const coordinate_type& coord) const
+ {
+ if (!is_inside(coord)) return 0;
+ return 12;
+ }
+
+ coordinate_type get_neighbor(
+ const coordinate_type& coord, const Integer& nrand) const
+ {
+ const Integer NUM_COLROW(col_size_ * row_size_);
+ const Integer NUM_ROW(row_size_);
+ const bool odd_col(((coord % NUM_COLROW) / NUM_ROW) & 1);
+ const bool odd_lay((coord / NUM_COLROW) & 1);
+
+ if (!is_inside(coord))
+ throw NotFound("There is no neighbor voxel.");
+
+ switch (nrand)
+ {
+ case 0:
+ return coord - 1;
+ case 1:
+ return coord + 1;
+ case 2:
+ return coord + (odd_col ^ odd_lay) - NUM_ROW - 1;
+ case 3:
+ return coord + (odd_col ^ odd_lay) - NUM_ROW;
+ case 4:
+ return coord + (odd_col ^ odd_lay) + NUM_ROW - 1;
+ case 5:
+ return coord + (odd_col ^ odd_lay) + NUM_ROW;
+ case 6:
+ return coord - (2 * odd_col - 1) * NUM_COLROW - NUM_ROW;
+ case 7:
+ return coord - (2 * odd_col - 1) * NUM_COLROW + NUM_ROW;
+ case 8:
+ return coord + (odd_col ^ odd_lay) - NUM_COLROW - 1;
+ case 9:
+ return coord + (odd_col ^ odd_lay) - NUM_COLROW;
+ case 10:
+ return coord + (odd_col ^ odd_lay) + NUM_COLROW - 1;
+ case 11:
+ return coord + (odd_col ^ odd_lay) + NUM_COLROW;
+ }
+ throw NotFound("Invalid argument: nrand");
+ }
+
+ coordinate_type periodic_transpose(
+ const coordinate_type& coord) const
+ {
+ Integer3 global(coordinate2global(coord));
+
+ global.col = global.col % col_size();
+ global.row = global.row % row_size();
+ global.layer = global.layer % layer_size();
+
+ global.col = global.col < 0 ? global.col + col_size() : global.col;
+ global.row = global.row < 0 ? global.row + row_size() : global.row;
+ global.layer = global.layer < 0 ? global.layer + layer_size() : global.layer;
+
+ return global2coordinate(global);
+ }
+
+public:
+
+ bool is_in_range(const coordinate_type& coord) const
+ {
+ return coord >= 0 && coord < row_size_ * col_size_ * layer_size_;
+ }
+
+ bool is_inside(const coordinate_type& coord) const
+ {
+ const Integer3 global(coordinate2global(coord));
+ return global.col >= 0 && global.col < col_size()
+ && global.row >= 0 && global.row < row_size()
+ && global.layer >= 0 && global.layer < layer_size();
+ }
+
+ virtual Integer size() const
+ {
+ return row_size_ * col_size_ * layer_size_;
+ }
+
+ virtual Integer3 shape() const
+ {
+ return Integer3(col_size_, row_size_, layer_size_);
+ }
+
+ virtual Integer inner_size() const
+ {
+ return col_size() * row_size() * layer_size();
+ }
+
+ inline Integer3 inner_shape() const
+ {
+ return Integer3(col_size(), row_size(), layer_size());
+ }
+
+
+protected:
+
+ Real3 edge_lengths_;
+ Real HCP_L, HCP_X, HCP_Y;
+ Integer row_size_, layer_size_, col_size_;
+};
+
+} // ecell4
+
+#endif /* __ECELL4_LATTICE_SPACE_BASE_HPP */
diff --git a/ecell4/core/LatticeSpaceCellListImpl.cpp b/ecell4/core/LatticeSpaceCellListImpl.cpp
new file mode 100644
index 0000000..84c5816
--- /dev/null
+++ b/ecell4/core/LatticeSpaceCellListImpl.cpp
@@ -0,0 +1,419 @@
+#include "LatticeSpaceCellListImpl.hpp"
+#include "StructureType.hpp"
+
+
+namespace ecell4
+{
+
+Integer LatticeSpaceCellListImpl::num_molecules(const Species& sp) const
+{
+ Integer count(0);
+ SpeciesExpressionMatcher sexp(sp);
+
+ // for (voxel_pool_map_type::const_iterator itr(voxel_pools_.begin());
+ // itr != voxel_pools_.end(); ++itr)
+ // {
+ // const Integer cnt(sexp.count((*itr).first));
+ // if (cnt > 0)
+ // {
+ // const boost::shared_ptr<VoxelPool>& vp((*itr).second);
+ // count += count_voxels(vp) * cnt;
+ // }
+ // }
+
+ for (molecule_pool_map_type::const_iterator itr(molecule_pools_.begin());
+ itr != molecule_pools_.end(); ++itr)
+ {
+ const Integer cnt(sexp.count((*itr).first));
+ if (cnt > 0)
+ {
+ const boost::shared_ptr<MoleculePool>& vp((*itr).second);
+ count += vp->size() * cnt;
+ }
+ }
+ return count;
+}
+
+/*
+ * Change the Species and coordinate of a Voxel with ParticleID, pid, to
+ * v.species() and v.coordinate() respectively and return false.
+ * If no Voxel with pid is found, create a new Voxel at v.coordiante() and return ture.
+ */
+bool LatticeSpaceCellListImpl::update_voxel(const ParticleID& pid, const Voxel& v)
+{
+ const coordinate_type& to_coord(v.coordinate());
+ if (!is_in_range(to_coord))
+ {
+ throw NotSupported("Out of bounds");
+ }
+
+ VoxelPool* new_vp(get_voxel_pool(v)); //XXX: need MoleculeInfo
+ VoxelPool* dest_vp(get_voxel_pool_at(to_coord));
+
+ if (dest_vp != new_vp->location())
+ {
+ throw NotSupported("Mismatch in the location.");
+ }
+
+ if (pid != ParticleID())
+ {
+ const std::pair<VoxelPool*, coordinate_type>
+ target(__get_coordinate(pid));
+ const coordinate_type& from_coord(target.second);
+ if (from_coord != -1)
+ {
+ // move
+ VoxelPool* src_vp(target.first);
+ src_vp->remove_voxel_if_exists(from_coord);
+
+ //XXX: use location?
+ dest_vp->replace_voxel(to_coord, from_coord);
+
+ new_vp->add_voxel(coordinate_id_pair_type(pid, to_coord));
+
+ if (!dest_vp->is_vacant())
+ {
+ update_matrix(from_coord, dest_vp);
+ update_matrix(to_coord, new_vp);
+ }
+ else
+ {
+ update_matrix(from_coord, to_coord, new_vp);
+ }
+ return true;
+ }
+ }
+
+ // new
+ dest_vp->remove_voxel_if_exists(to_coord);
+
+ new_vp->add_voxel(coordinate_id_pair_type(pid, to_coord));
+ update_matrix(to_coord, new_vp);
+ return true;
+}
+
+std::pair<VoxelPool*, LatticeSpaceCellListImpl::coordinate_type>
+ LatticeSpaceCellListImpl::__get_coordinate(const ParticleID& pid)
+{
+ for (molecule_pool_map_type::iterator itr(molecule_pools_.begin());
+ itr != molecule_pools_.end(); ++itr)
+ {
+ const boost::shared_ptr<MoleculePool>& vp((*itr).second);
+ MoleculePool::container_type::const_iterator j(vp->find(pid));
+ if (j != vp->end())
+ {
+ return std::pair<VoxelPool*, coordinate_type>(
+ vp.get(), (*j).coordinate);
+ }
+ }
+ return std::make_pair<VoxelPool*, coordinate_type>(NULL, -1); //XXX: a bit dirty way
+}
+
+std::pair<const VoxelPool*, LatticeSpaceCellListImpl::coordinate_type>
+ LatticeSpaceCellListImpl::__get_coordinate(const ParticleID& pid) const
+{
+ for (molecule_pool_map_type::const_iterator itr(molecule_pools_.begin());
+ itr != molecule_pools_.end(); ++itr)
+ {
+ const boost::shared_ptr<MoleculePool>& vp((*itr).second);
+ MoleculePool::container_type::const_iterator j(vp->find(pid));
+ if (j != vp->end())
+ {
+ return std::pair<const VoxelPool*, coordinate_type>(
+ vp.get(), (*j).coordinate);
+ }
+ }
+ return std::make_pair<const VoxelPool*, coordinate_type>(NULL, -1); //XXX: a bit dirty way
+}
+
+VoxelPool* LatticeSpaceCellListImpl::get_voxel_pool_at(
+ const LatticeSpaceCellListImpl::coordinate_type& coord) const
+{
+ /**
+ XXX: This may not work
+ */
+ if (!is_in_range(coord))
+ {
+ throw NotSupported("Out of bounds");
+ }
+
+ if (!is_inside(coord))
+ {
+ if (is_periodic_)
+ {
+ return periodic_;
+ }
+ else
+ {
+ return border_;
+ }
+ }
+
+ // for (spmap::iterator itr(spmap_.begin());
+ // itr != spmap_.end(); ++itr)
+ // {
+ // VoxelPool& vp((*itr).second);
+ // if (vp.is_vacant())
+ // {
+ // continue;
+ // }
+
+ // VoxelPool::container_type::const_iterator j(vp.find(coord));
+ // if (j != vp.end())
+ // {
+ // return (&vp);
+ // }
+ // }
+
+ const cell_type& cell(matrix_[coordinate2index(coord)]);
+ if (cell.size() == 0)
+ {
+ return vacant_;
+ }
+
+ cell_type::const_iterator i(find_from_cell(coord, cell));
+ if (i != cell.end())
+ {
+ return (*i).first;
+ }
+
+ return vacant_;
+}
+
+VoxelPool* LatticeSpaceCellListImpl::get_voxel_pool(const Voxel& v)
+{
+ const Species& sp(v.species());
+
+ {
+ voxel_pool_map_type::iterator itr(voxel_pools_.find(sp));
+ if (itr != voxel_pools_.end())
+ {
+ return (*itr).second.get();
+ }
+ }
+
+ {
+ molecule_pool_map_type::iterator itr(molecule_pools_.find(sp));
+ if (itr != molecule_pools_.end())
+ {
+ return (*itr).second.get(); // upcast
+ }
+ }
+
+ const bool suc = make_molecular_type(sp, v.radius(), v.D(), v.loc());
+ if (!suc)
+ {
+ throw IllegalState("never reach here");
+ }
+
+ molecule_pool_map_type::iterator i = molecule_pools_.find(sp);
+ if (i == molecule_pools_.end())
+ {
+ throw IllegalState("never reach here");
+ }
+ return (*i).second.get(); // upcast
+}
+
+bool LatticeSpaceCellListImpl::make_molecular_type(const Species& sp, Real radius, Real D, const std::string loc)
+{
+ molecule_pool_map_type::iterator itr(molecule_pools_.find(sp));
+ if (itr != molecule_pools_.end())
+ {
+ return false;
+ }
+ else if (voxel_pools_.find(sp) != voxel_pools_.end())
+ {
+ throw IllegalState(
+ "The given species is already assigned to the VoxelPool with no voxels.");
+ }
+
+ VoxelPool* location;
+ if (loc == "")
+ {
+ location = vacant_;
+ }
+ else
+ {
+ const Species locsp(loc);
+ try
+ {
+ location = find_voxel_pool(locsp);
+ }
+ catch (const NotFound& err)
+ {
+ // XXX: A VoxelPool for the structure (location) must be allocated
+ // XXX: before the allocation of a Species on the structure.
+ // XXX: The VoxelPool cannot be automatically allocated at the time
+ // XXX: because its MoleculeInfo is unknown.
+ // XXX: LatticeSpaceVectorImpl::load will raise a problem about this issue.
+ // XXX: In this implementation, the VoxelPool for a structure is
+ // XXX: created with default arguments.
+ boost::shared_ptr<MoleculePool>
+ locmt(new MolecularType(locsp, vacant_, voxel_radius_, 0));
+ std::pair<molecule_pool_map_type::iterator, bool>
+ locval(molecule_pools_.insert(
+ molecule_pool_map_type::value_type(locsp, locmt)));
+ if (!locval.second)
+ {
+ throw AlreadyExists(
+ "never reach here. find_voxel_pool seems wrong.");
+ }
+ location = (*locval.first).second.get();
+ }
+ }
+
+ boost::shared_ptr<MoleculePool>
+ vp(new MolecularType(sp, location, radius, D));
+ std::pair<molecule_pool_map_type::iterator, bool>
+ retval(molecule_pools_.insert(
+ molecule_pool_map_type::value_type(sp, vp)));
+ if (!retval.second)
+ {
+ throw AlreadyExists("never reach here.");
+ }
+ return retval.second;
+}
+
+std::pair<LatticeSpaceCellListImpl::coordinate_type, bool>
+ LatticeSpaceCellListImpl::move_to_neighbor(
+ VoxelPool* const& from_vp, VoxelPool* const& loc,
+ LatticeSpaceCellListImpl::coordinate_id_pair_type& info, const Integer nrand)
+{
+ const coordinate_type from(info.coordinate);
+ coordinate_type to(get_neighbor(from, nrand));
+
+ VoxelPool* to_vp(get_voxel_pool_at(to));
+
+ if (to_vp != loc)
+ {
+ if (to_vp == border_)
+ {
+ return std::make_pair(from, false);
+ }
+ else if (to_vp != periodic_)
+ {
+ return std::make_pair(to, false);
+ }
+
+ // to_vp == periodic_
+ to = periodic_transpose(to);
+ to_vp = get_voxel_pool_at(to);
+
+ if (to_vp != loc)
+ {
+ return std::make_pair(to, false);
+ }
+ }
+
+ info.coordinate = to; //XXX: updating data
+
+ to_vp->replace_voxel(to, from);
+
+ if (to_vp != vacant_) // (!to_vp->is_vacant())
+ {
+ update_matrix(from, to_vp);
+ update_matrix(to, from_vp);
+ }
+ else
+ {
+ update_matrix(from, to, from_vp);
+ }
+ return std::make_pair(to, true);
+}
+
+bool LatticeSpaceCellListImpl::make_structure_type(
+ const Species& sp, Shape::dimension_kind dimension, const std::string loc)
+{
+ voxel_pool_map_type::iterator itr(voxel_pools_.find(sp));
+ if (itr != voxel_pools_.end())
+ {
+ return false;
+ }
+ else if (molecule_pools_.find(sp) != molecule_pools_.end())
+ {
+ throw IllegalState(
+ "The given species is already assigned to the MoleculePool.");
+ }
+
+ VoxelPool* location;
+ if (loc == "")
+ {
+ location = vacant_;
+ }
+ else
+ {
+ const Species locsp(loc);
+ try
+ {
+ location = find_voxel_pool(locsp);
+ }
+ catch (const NotFound& err)
+ {
+ // XXX: A VoxelPool for the structure (location) must be allocated
+ // XXX: before the allocation of a Species on the structure.
+ // XXX: The VoxelPool cannot be automatically allocated at the time
+ // XXX: because its MoleculeInfo is unknown.
+ // XXX: LatticeSpaceVectorImpl::load will raise a problem about this issue.
+ // XXX: In this implementation, the VoxelPool for a structure is
+ // XXX: created with default arguments.
+ boost::shared_ptr<MoleculePool>
+ locmt(new MolecularType(locsp, vacant_, voxel_radius_, 0));
+ std::pair<molecule_pool_map_type::iterator, bool>
+ locval(molecule_pools_.insert(
+ molecule_pool_map_type::value_type(locsp, locmt)));
+ if (!locval.second)
+ {
+ throw AlreadyExists(
+ "never reach here. make_structure_type seems wrong.");
+ }
+ location = (*locval.first).second.get();
+ }
+ }
+
+ boost::shared_ptr<VoxelPool>
+ vp(new StructureType(sp, location, voxel_radius_, dimension));
+ std::pair<voxel_pool_map_type::iterator, bool>
+ retval(voxel_pools_.insert(voxel_pool_map_type::value_type(sp, vp)));
+ if (!retval.second)
+ {
+ throw AlreadyExists("never reach here.");
+ }
+ return retval.second;
+}
+
+void LatticeSpaceCellListImpl::add_structure(const Species& sp,
+ const boost::shared_ptr<const Shape>& s, const std::string loc)
+{
+ make_structure_type(sp, s->dimension(), loc);
+
+ structure_container_type::const_iterator i(structures_.find(sp));
+ if (i != structures_.end())
+ {
+ throw NotSupported("not supported yet.");
+ }
+ structures_.insert(std::make_pair(sp, s));
+}
+
+const boost::shared_ptr<const Shape>& LatticeSpaceCellListImpl::get_structure(
+ const Species& sp) const
+{
+ structure_container_type::const_iterator i(structures_.find(sp));
+ if (i == structures_.end())
+ {
+ throw NotFound("not found.");
+ }
+ return (*i).second;
+}
+
+const Shape::dimension_kind LatticeSpaceCellListImpl::get_structure_dimension(
+ const Species& sp) const
+{
+ structure_container_type::const_iterator i(structures_.find(sp));
+ if (i == structures_.end())
+ {
+ return Shape::THREE; // Default value (ex. for VACANT type)
+ }
+ return (*i).second->dimension();
+}
+
+} // ecell4
diff --git a/ecell4/core/LatticeSpaceCellListImpl.hpp b/ecell4/core/LatticeSpaceCellListImpl.hpp
new file mode 100644
index 0000000..163e18c
--- /dev/null
+++ b/ecell4/core/LatticeSpaceCellListImpl.hpp
@@ -0,0 +1,742 @@
+#ifndef __ECELL4_LATTICE_SPACE_CELL_LIST_IMPL_HPP
+#define __ECELL4_LATTICE_SPACE_CELL_LIST_IMPL_HPP
+
+#include "Context.hpp"
+#include "MolecularType.hpp"
+#include "VacantType.hpp"
+// #include <cmath>
+#include <sstream>
+
+#include "comparators.hpp"
+#include "LatticeSpaceBase.hpp"
+
+namespace ecell4
+{
+
+inline unsigned int ceilint(const unsigned int x, const unsigned int y)
+{
+ return x / y + (x % y != 0);
+}
+
+class LatticeSpaceCellListImpl
+ : public LatticeSpaceBase
+{
+public:
+
+ typedef LatticeSpaceBase base_type;
+
+ typedef base_type::coordinate_id_pair_type coordinate_id_pair_type;
+ typedef base_type::coordinate_type coordinate_type;
+
+ typedef std::vector<std::pair<VoxelPool*, coordinate_type> >
+ cell_type;
+ typedef std::vector<cell_type> matrix_type;
+ typedef std::map<Species, boost::shared_ptr<const Shape> > structure_container_type;
+
+protected:
+
+ typedef utils::get_mapper_mf<
+ Species, boost::shared_ptr<VoxelPool> >::type voxel_pool_map_type;
+ typedef utils::get_mapper_mf<
+ Species, boost::shared_ptr<MoleculePool> >::type molecule_pool_map_type;
+ // typedef std::map<
+ // Species, boost::shared_ptr<VoxelPool> > voxel_pool_map_type;
+ // typedef std::map<
+ // Species, boost::shared_ptr<MoleculePool> > molecule_pool_map_type;
+
+public:
+
+ LatticeSpaceCellListImpl(
+ const Real3& edge_lengths, const Real& voxel_radius,
+ const Integer3& matrix_sizes, const bool is_periodic = true)
+ : base_type(edge_lengths, voxel_radius, is_periodic), is_periodic_(is_periodic),
+ matrix_sizes_(matrix_sizes),
+ matrix_(matrix_sizes_[0] * matrix_sizes_[1] * matrix_sizes_[2])
+ {
+ cell_sizes_[0] = ceilint(col_size_, matrix_sizes_[0]);
+ cell_sizes_[1] = ceilint(row_size_, matrix_sizes_[1]);
+ cell_sizes_[2] = ceilint(layer_size_, matrix_sizes_[2]);
+
+ vacant_ = &(VacantType::getInstance());
+ std::stringstream ss;
+ ss << voxel_radius_;
+ border_ = new MolecularType(Species("Border", ss.str(), "0"));
+ periodic_ = new MolecularType(Species("Periodic", ss.str(), "0"));
+ }
+
+ virtual ~LatticeSpaceCellListImpl()
+ {
+ delete border_;
+ delete periodic_;
+ }
+
+ /**
+ */
+
+ inline matrix_type::size_type coordinate2index(const coordinate_type& coord) const
+ {
+ return global2index(coordinate2global(coord));
+ }
+
+ inline matrix_type::size_type global2index(const Integer3& g) const
+ {
+ return (g.col / cell_sizes_[0]) + matrix_sizes_[0] * ((g.row / cell_sizes_[1]) + matrix_sizes_[1] * (g.layer / cell_sizes_[2]));
+ }
+
+ cell_type::iterator find_from_cell(
+ const coordinate_type& coord, cell_type& cell)
+ {
+ return std::find_if(cell.begin(), cell.end(),
+ utils::pair_second_element_unary_predicator<
+ VoxelPool*, coordinate_type>(coord));
+ // cell_type::iterator i(cell.begin());
+ // for (; i != cell.end(); ++i)
+ // {
+ // if ((*i).second == coord)
+ // {
+ // return i;
+ // }
+ // }
+ // return i;
+ }
+
+ cell_type::const_iterator find_from_cell(
+ const coordinate_type& coord, const cell_type& cell) const
+ {
+ return std::find_if(cell.begin(), cell.end(),
+ utils::pair_second_element_unary_predicator<
+ VoxelPool*, coordinate_type>(coord));
+ // cell_type::const_iterator i(cell.begin());
+ // for (; i != cell.end(); ++i)
+ // {
+ // if ((*i).second == coord)
+ // {
+ // return i;
+ // }
+ // }
+ // return i;
+ }
+
+ void update_matrix(const coordinate_type& coord, VoxelPool* vp)
+ {
+ cell_type& cell(matrix_[coordinate2index(coord)]);
+ cell_type::iterator i(find_from_cell(coord, cell));
+
+ if (i != cell.end())
+ {
+ if (vp->is_vacant())
+ {
+ cell.erase(i);
+ }
+ else
+ {
+ (*i).first = vp;
+ }
+ }
+ else if (!vp->is_vacant())
+ {
+ cell.push_back(std::make_pair(vp, coord));
+ }
+ else
+ {
+ throw NotFound("1");
+ }
+ }
+
+ void update_matrix(const coordinate_type& from_coord,
+ const coordinate_type& to_coord,
+ VoxelPool* vp)
+ {
+ const matrix_type::size_type from_idx(coordinate2index(from_coord)),
+ to_idx(coordinate2index(to_coord));
+ if (from_idx == to_idx)
+ {
+ cell_type& cell(matrix_[from_idx]);
+ cell_type::iterator i(find_from_cell(from_coord, cell));
+ if (i == cell.end())
+ {
+ throw NotFound("2");
+ }
+ (*i).first = vp;
+ (*i).second = to_coord;
+ }
+ else
+ {
+ cell_type& cell(matrix_[from_idx]);
+ cell_type::iterator i(find_from_cell(from_coord, cell));
+ if (i == cell.end())
+ {
+ throw NotFound("3");
+ }
+ cell.erase(i);
+ matrix_[to_idx].push_back(std::make_pair(vp, to_coord));
+ }
+ }
+
+ void dump_matrix()
+ {
+ std::cout << "=====================" << std::endl;
+ for (matrix_type::size_type i(0); i != matrix_.size(); ++i)
+ {
+ cell_type& c(matrix_[i]);
+ if (c.size() == 0)
+ {
+ continue;
+ }
+
+ std::cout << i << " : ";
+ for (cell_type::const_iterator j(c.begin()); j != c.end(); ++j)
+ {
+ std::cout << (*j).second << " ";
+ }
+ std::cout << std::endl;
+ }
+ std::cout << "=====================" << std::endl;
+ }
+
+ /**
+ */
+
+ virtual std::vector<Species> list_species() const
+ {
+ std::vector<Species> keys;
+ utils::retrieve_keys(voxel_pools_, keys);
+ utils::retrieve_keys(molecule_pools_, keys);
+ return keys;
+ }
+
+ Integer count_voxels(
+ const boost::shared_ptr<VoxelPool>& vp) const
+ {
+ Integer count(0);
+ utils::pair_first_element_unary_predicator<
+ VoxelPool*, coordinate_type> pred(vp.get());
+
+ for (matrix_type::const_iterator i(matrix_.begin());
+ i != matrix_.end(); ++i)
+ {
+ count += static_cast<Integer>(
+ std::count_if((*i).begin(), (*i).end(), pred));
+ }
+ return count;
+ }
+
+ virtual Integer num_voxels_exact(const Species& sp) const
+ {
+ // {
+ // voxel_pool_map_type::const_iterator itr(voxel_pools_.find(sp));
+ // if (itr != voxel_pools_.end())
+ // {
+ // const boost::shared_ptr<VoxelPool>& vp((*itr).second);
+ // return count_voxels(vp);
+ // }
+ // }
+
+ {
+ molecule_pool_map_type::const_iterator itr(molecule_pools_.find(sp));
+ if (itr != molecule_pools_.end())
+ {
+ const boost::shared_ptr<MoleculePool>& vp((*itr).second);
+ return vp->size(); // upcast
+ }
+ }
+
+ return 0;
+ }
+
+ virtual Integer num_voxels(const Species& sp) const
+ {
+ Integer count(0);
+ SpeciesExpressionMatcher sexp(sp);
+
+ // for (voxel_pool_map_type::const_iterator itr(voxel_pools_.begin());
+ // itr != voxel_pools_.end(); ++itr)
+ // {
+ // if (sexp.match((*itr).first))
+ // {
+ // const boost::shared_ptr<VoxelPool>& vp((*itr).second);
+ // count += count_voxels(vp);
+ // }
+ // }
+
+ for (molecule_pool_map_type::const_iterator itr(molecule_pools_.begin());
+ itr != molecule_pools_.end(); ++itr)
+ {
+ if (sexp.match((*itr).first))
+ {
+ const boost::shared_ptr<MoleculePool>& vp((*itr).second);
+ count += vp->size();
+ }
+ }
+ return count;
+ }
+
+ virtual Integer num_voxels() const
+ {
+ Integer count(0);
+
+ // for (voxel_pool_map_type::const_iterator itr(voxel_pools_.begin());
+ // itr != voxel_pools_.end(); ++itr)
+ // {
+ // const boost::shared_ptr<VoxelPool>& vp((*itr).second);
+ // count += count_voxels(vp);
+ // }
+
+ for (molecule_pool_map_type::const_iterator itr(molecule_pools_.begin());
+ itr != molecule_pools_.end(); ++itr)
+ {
+ const boost::shared_ptr<MoleculePool>& vp((*itr).second);
+ count += vp->size();
+ }
+ return count;
+ }
+
+ virtual bool has_voxel(const ParticleID& pid) const
+ {
+ for (molecule_pool_map_type::const_iterator itr(molecule_pools_.begin());
+ itr != molecule_pools_.end(); ++itr)
+ {
+ const boost::shared_ptr<MoleculePool>& vp((*itr).second);
+ if (vp->find(pid) != vp->end())
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ virtual std::vector<std::pair<ParticleID, Voxel> > list_voxels() const
+ {
+ std::vector<std::pair<ParticleID, Voxel> > retval;
+
+ for (molecule_pool_map_type::const_iterator itr(molecule_pools_.begin());
+ itr != molecule_pools_.end(); ++itr)
+ {
+ const boost::shared_ptr<MoleculePool>& vp((*itr).second);
+
+ const std::string loc((vp->location()->is_vacant())
+ ? "" : vp->location()->species().serial());
+ const Species& sp(vp->species());
+
+ for (MoleculePool::const_iterator i(vp->begin());
+ i != vp->end(); ++i)
+ {
+ retval.push_back(std::make_pair(
+ (*i).pid,
+ Voxel(sp, (*i).coordinate, vp->radius(), vp->D(), loc)));
+ }
+ }
+
+ // for (voxel_pool_map_type::const_iterator itr(voxel_pools_.begin());
+ // itr != voxel_pools_.end(); ++itr)
+ // {
+ // const boost::shared_ptr<VoxelPool>& vp((*itr).second);
+
+ // const std::string loc((vp->location()->is_vacant())
+ // ? "" : vp->location()->species().serial());
+ // const Species& sp(vp->species());
+
+ // for (voxel_container::const_iterator i(voxels_.begin());
+ // i != voxels_.end(); ++i)
+ // {
+ // if (*i != vp.get())
+ // {
+ // continue;
+ // }
+
+ // const coordinate_type
+ // coord(std::distance(voxels_.begin(), i));
+ // retval.push_back(std::make_pair(
+ // ParticleID(),
+ // Voxel(sp, coord, vp->radius(), vp->D(), loc)));
+ // }
+ // }
+ return retval;
+ }
+
+ virtual std::vector<std::pair<ParticleID, Voxel> >
+ list_voxels(const Species& sp) const
+ {
+ std::vector<std::pair<ParticleID, Voxel> > retval;
+ SpeciesExpressionMatcher sexp(sp);
+
+ // for (voxel_pool_map_type::const_iterator itr(voxel_pools_.begin());
+ // itr != voxel_pools_.end(); ++itr)
+ // {
+ // if (!sexp.match((*itr).first))
+ // {
+ // continue;
+ // }
+
+ // const boost::shared_ptr<VoxelPool>& vp((*itr).second);
+ // const std::string loc((vp->location()->is_vacant())
+ // ? "" : vp->location()->species().serial());
+ // for (voxel_container::const_iterator i(voxels_.begin());
+ // i != voxels_.end(); ++i)
+ // {
+ // if (*i != vp.get())
+ // {
+ // continue;
+ // }
+
+ // const coordinate_type
+ // coord(std::distance(voxels_.begin(), i));
+ // retval.push_back(std::make_pair(
+ // ParticleID(),
+ // Voxel(sp, coord, vp->radius(), vp->D(), loc)));
+ // }
+ // }
+
+ for (molecule_pool_map_type::const_iterator itr(molecule_pools_.begin());
+ itr != molecule_pools_.end(); ++itr)
+ {
+ if (!sexp.match((*itr).first))
+ {
+ continue;
+ }
+
+ const boost::shared_ptr<MoleculePool>& vp((*itr).second);
+ const std::string loc((vp->location()->is_vacant())
+ ? "" : vp->location()->species().serial());
+ for (MoleculePool::const_iterator i(vp->begin());
+ i != vp->end(); ++i)
+ {
+ retval.push_back(std::make_pair(
+ (*i).pid,
+ Voxel(sp, (*i).coordinate, vp->radius(), vp->D(), loc)));
+ }
+ }
+
+ return retval;
+ }
+
+ virtual std::vector<std::pair<ParticleID, Voxel> >
+ list_voxels_exact(const Species& sp) const
+ {
+ std::vector<std::pair<ParticleID, Voxel> > retval;
+
+ // {
+ // voxel_pool_map_type::const_iterator itr(voxel_pools_.find(sp));
+ // if (itr != voxel_pools_.end())
+ // {
+ // const boost::shared_ptr<VoxelPool>& vp((*itr).second);
+ // const std::string loc((vp->location()->is_vacant())
+ // ? "" : vp->location()->species().serial());
+ // for (voxel_container::const_iterator i(voxels_.begin());
+ // i != voxels_.end(); ++i)
+ // {
+ // if (*i != vp.get())
+ // {
+ // continue;
+ // }
+
+ // const coordinate_type
+ // coord(std::distance(voxels_.begin(), i));
+ // retval.push_back(std::make_pair(
+ // ParticleID(),
+ // Voxel(sp, coord, vp->radius(), vp->D(), loc)));
+ // }
+ // return retval;
+ // }
+ // }
+
+ {
+ molecule_pool_map_type::const_iterator itr(molecule_pools_.find(sp));
+ if (itr != molecule_pools_.end())
+ {
+ const boost::shared_ptr<MoleculePool>& vp((*itr).second);
+ const std::string loc((vp->location()->is_vacant())
+ ? "" : vp->location()->species().serial());
+ for (MoleculePool::const_iterator i(vp->begin());
+ i != vp->end(); ++i)
+ {
+ retval.push_back(std::make_pair(
+ (*i).pid,
+ Voxel(sp, (*i).coordinate, vp->radius(), vp->D(), loc)));
+ }
+ return retval;
+ }
+ }
+ return retval; // an empty vector
+ }
+
+ // /**
+ // * Change the Species at v.coordinate() to v.species.
+ // * The ParticleID must be kept after this update.
+ // */
+ // virtual void update_voxel(const Voxel& v)
+ // {
+ // const coordinate_type coord(v.coordinate());
+ // // VoxelPool* src_vp(get_voxel_pool(coord));
+ // VoxelPool* src_vp(find_voxel_pool(coord));
+ // VoxelPool* new_vp(get_voxel_pool(v));
+
+ // if (src_vp->with_voxels() != new_vp->with_voxels())
+ // {
+ // throw NotSupported("ParticleID is needed/lost.");
+ // }
+
+ // new_vp->add_voxel(src_vp->pop(coord));
+ // update_matrix(coord, new_vp);
+ // }
+
+ virtual bool update_voxel(const ParticleID& pid, const Voxel& v);
+
+ virtual std::pair<ParticleID, Voxel> get_voxel(const ParticleID& pid) const
+ {
+ const std::pair<const VoxelPool*, coordinate_type>
+ target(__get_coordinate(pid));
+ if (target.second == -1)
+ {
+ throw NotFound("voxel not found.");
+ }
+
+ const VoxelPool* vp(target.first);
+ const std::string loc((vp->location()->is_vacant())
+ ? "" : vp->location()->species().serial());
+ return std::make_pair(
+ pid, Voxel(vp->species(), target.second, vp->radius(), vp->D(), loc));
+ }
+
+ virtual std::pair<ParticleID, Voxel> get_voxel_at(const coordinate_type& coord) const
+ {
+ const VoxelPool* vp(get_voxel_pool_at(coord));
+ const std::string loc((vp->location()->is_vacant())
+ ? "" : vp->location()->species().serial());
+ return std::make_pair(
+ vp->get_particle_id(coord),
+ Voxel(vp->species(), coord, vp->radius(), vp->D(), loc));
+ }
+
+ virtual bool remove_voxel(const ParticleID& pid)
+ {
+ std::pair<VoxelPool*, coordinate_type>
+ target(__get_coordinate(pid));
+ if (target.second != -1)
+ {
+ VoxelPool* vp(target.first);
+ const coordinate_type coord(target.second);
+ if (!vp->remove_voxel_if_exists(coord))
+ {
+ return false;
+ }
+
+ vp->location()->add_voxel(coordinate_id_pair_type(ParticleID(), coord));
+ update_matrix(coord, vp->location());
+ return true;
+ }
+ return false;
+ }
+
+ virtual bool remove_voxel(const coordinate_type& coord)
+ {
+ VoxelPool* vp(get_voxel_pool_at(coord));
+ if (vp->is_vacant())
+ {
+ return false;
+ }
+
+ if (vp->remove_voxel_if_exists(coord))
+ {
+ // ???
+ update_matrix(coord, vacant_);
+ return true;
+ }
+ return true;
+ }
+
+ virtual bool move(
+ const coordinate_type& src, const coordinate_type& dest,
+ const std::size_t candidate=0)
+ {
+ coordinate_type tmp_dest(dest);
+ if (src == tmp_dest)
+ {
+ return false;
+ }
+
+ VoxelPool* src_vp(get_voxel_pool_at(src));
+ if (src_vp->is_vacant())
+ {
+ return true;
+ }
+
+ VoxelPool* dest_vp(get_voxel_pool_at(tmp_dest));
+ if (dest_vp == border_)
+ {
+ return false;
+ }
+ else if (dest_vp == periodic_)
+ {
+ tmp_dest = periodic_transpose(tmp_dest);
+ dest_vp = get_voxel_pool_at(tmp_dest);
+ }
+
+ if (dest_vp != src_vp->location())
+ {
+ return false;
+ }
+
+ src_vp->replace_voxel(src, tmp_dest);
+ dest_vp->replace_voxel(tmp_dest, src);
+ if (!dest_vp->is_vacant())
+ {
+ update_matrix(src, dest_vp);
+ update_matrix(tmp_dest, src_vp);
+ }
+ else
+ {
+ update_matrix(src, tmp_dest, src_vp);
+ }
+ return true;
+ }
+
+ virtual const Particle particle_at(const coordinate_type& coord) const
+ {
+ const VoxelPool* vp(get_voxel_pool_at(coord));
+ return Particle(
+ vp->species(), coordinate2position(coord), vp->radius(), vp->D());
+ }
+
+ virtual bool has_molecule_pool(const Species& sp) const
+ {
+ molecule_pool_map_type::const_iterator itr(molecule_pools_.find(sp));
+ return (itr != molecule_pools_.end());
+ }
+
+ virtual VoxelPool* find_voxel_pool(const Species& sp)
+ {
+ voxel_pool_map_type::iterator itr(voxel_pools_.find(sp));
+ if (itr != voxel_pools_.end())
+ {
+ return (*itr).second.get();
+ }
+ return find_molecule_pool(sp); // upcast
+ }
+
+ virtual const VoxelPool* find_voxel_pool(const Species& sp) const
+ {
+ voxel_pool_map_type::const_iterator itr(voxel_pools_.find(sp));
+ if (itr != voxel_pools_.end())
+ {
+ return (*itr).second.get();
+ }
+ return find_molecule_pool(sp); // upcast
+ }
+
+ virtual MoleculePool* find_molecule_pool(const Species& sp)
+ {
+ molecule_pool_map_type::iterator itr(molecule_pools_.find(sp));
+ if (itr != molecule_pools_.end())
+ {
+ return (*itr).second.get(); // upcast
+ }
+ throw NotFound("MoleculePool not found.");
+ }
+
+ virtual const MoleculePool* find_molecule_pool(const Species& sp) const
+ {
+ molecule_pool_map_type::const_iterator itr(molecule_pools_.find(sp));
+ if (itr != molecule_pools_.end())
+ {
+ return (*itr).second.get(); // upcast
+ }
+ throw NotFound("MoleculePool not found.");
+ }
+
+ VoxelPool* get_voxel_pool_at(const coordinate_type& coord) const;
+
+ virtual bool on_structure(const Voxel& v)
+ {
+ return (get_voxel_pool_at(v.coordinate())
+ != get_voxel_pool(v)->location()); //XXX: == ???
+ }
+
+ coordinate_type get_neighbor_boundary(
+ const coordinate_type& coord, const Integer& nrand) const
+ {
+ coordinate_type const dest = get_neighbor(coord, nrand);
+ return (!is_periodic_ || is_inside(dest) ? dest : periodic_transpose(dest));
+ }
+
+ virtual void add_structure(const Species& sp,
+ const boost::shared_ptr<const Shape>& s, const std::string loc);
+ virtual const boost::shared_ptr<const Shape>& get_structure(const Species& sp) const;
+ virtual const Shape::dimension_kind get_structure_dimension(const Species& sp) const;
+
+ virtual std::pair<coordinate_type, bool> move_to_neighbor(
+ VoxelPool* const& from_vp, VoxelPool* const& loc,
+ coordinate_id_pair_type& info, const Integer nrand);
+
+ virtual Integer num_molecules(const Species& sp) const;
+
+ /**
+ */
+
+ virtual Real get_value(const Species& sp) const
+ {
+ return static_cast<Real>(num_molecules(sp));
+ }
+
+ virtual Real get_value_exact(const Species& sp) const
+ {
+ return static_cast<Real>(num_molecules_exact(sp));
+ }
+
+ bool has_species(const Species& sp) const
+ {
+ return (voxel_pools_.find(sp) != voxel_pools_.end()
+ || molecule_pools_.find(sp) != molecule_pools_.end());
+ }
+
+#ifdef WITH_HDF5
+ /*
+ * HDF5 Save
+ */
+ void save_hdf5(H5::Group* root) const
+ {
+ // save_lattice_space(*this, root, "LatticeSpaceCellListImpl");
+ throw NotSupported("LatticeSpaceCellListImpl::save_hdf5 is not supported yet.");
+ }
+
+ void load_hdf5(const H5::Group& root)
+ {
+ // load_lattice_space(root, this);
+ // load_lattice_space(root, this, "LatticeSpaceCellListImpl");
+ throw NotSupported("LatticeSpaceCellListImpl::load_hdf5 is not supported yet.");
+ }
+#endif
+
+protected:
+
+ VoxelPool* get_voxel_pool(const Voxel& v);
+
+ std::pair<VoxelPool*, coordinate_type>
+ __get_coordinate(const ParticleID& pid);
+ std::pair<const VoxelPool*, coordinate_type>
+ __get_coordinate(const ParticleID& pid) const;
+
+ bool make_molecular_type(
+ const Species& sp, Real radius, Real D, const std::string loc);
+ bool make_structure_type(
+ const Species& sp, Shape::dimension_kind dimension, const std::string loc);
+
+protected:
+
+ bool is_periodic_;
+
+ voxel_pool_map_type voxel_pools_;
+ molecule_pool_map_type molecule_pools_;
+
+ VoxelPool* vacant_;
+ VoxelPool* border_;
+ VoxelPool* periodic_;
+
+ Integer3 matrix_sizes_, cell_sizes_;
+ matrix_type matrix_;
+ structure_container_type structures_;
+};
+
+} // ecell4
+
+#endif /* __ECELL4_LATTICE_SPACE_CELL_LIST_IMPL_HPP */
diff --git a/ecell4/core/LatticeSpaceHDF5Writer.hpp b/ecell4/core/LatticeSpaceHDF5Writer.hpp
new file mode 100644
index 0000000..8d3de00
--- /dev/null
+++ b/ecell4/core/LatticeSpaceHDF5Writer.hpp
@@ -0,0 +1,320 @@
+#ifndef __ECELL4_LATTICE_SPACE_HDF5_WRITER_HPP
+#define __ECELL4_LATTICE_SPACE_HDF5_WRITER_HPP
+
+#include <cstring>
+#include <iostream>
+#include <sstream>
+#include <map>
+#include <boost/scoped_ptr.hpp>
+#include <boost/scoped_array.hpp>
+#include <boost/lexical_cast.hpp>
+
+#include <hdf5.h>
+#include <H5Cpp.h>
+
+#include "types.hpp"
+#include "Species.hpp"
+#include "Voxel.hpp"
+#include "VoxelPool.hpp"
+#include "MolecularType.hpp"
+#include "StructureType.hpp"
+#include "VacantType.hpp"
+
+
+namespace ecell4
+{
+
+struct LatticeSpaceHDF5Traits
+{
+ struct h5_species_struct {
+ double radius;
+ double D;
+ // H5std_string location;
+ char location[32];
+ uint32_t is_structure;
+ uint32_t dimension;
+ };
+
+ struct h5_voxel_struct {
+ uint32_t lot;
+ uint32_t serial;
+ uint64_t coordinate;
+ };
+
+ static H5::CompType get_voxel_comp()
+ {
+ H5::CompType voxel_comp_type(sizeof(h5_voxel_struct));
+#define INSERT_MEMBER(member, type) \
+ H5Tinsert(voxel_comp_type.getId(), #member,\
+ HOFFSET(h5_voxel_struct, member), type.getId())
+ INSERT_MEMBER(lot, H5::PredType::NATIVE_INT);
+ INSERT_MEMBER(serial, H5::PredType::NATIVE_INT);
+ INSERT_MEMBER(coordinate, H5::PredType::STD_I64LE);
+#undef INSERT_MEMBER
+ return voxel_comp_type;
+ }
+
+ static void save_voxel_pool(const VoxelPool* mtb,
+ std::vector<std::pair<ParticleID, Voxel> > voxels, H5::Group* group)
+ {
+ const Species species(mtb->species());
+ boost::scoped_ptr<H5::Group> mtgroup(
+ new H5::Group(group->createGroup(species.serial().c_str())));
+
+ h5_species_struct property;
+ property.radius = mtb->radius();
+ property.D = mtb->D();
+ const VoxelPool* loc(mtb->location());
+ // if (loc->is_vacant())
+ // property.location = H5std_string("");
+ // else
+ // property.location = H5std_string(loc->species().serial().c_str());
+ if (loc->is_vacant())
+ std::strcpy(property.location, "");
+ else
+ std::strcpy(property.location, loc->species().serial().c_str());
+ property.is_structure = mtb->is_structure() ? 1 : 0;
+ property.dimension = mtb->get_dimension();
+
+ mtgroup->createAttribute("radius", H5::PredType::IEEE_F64LE, H5::DataSpace(H5S_SCALAR)
+ ).write(H5::PredType::IEEE_F64LE, &property.radius);
+ mtgroup->createAttribute("D", H5::PredType::IEEE_F64LE, H5::DataSpace(H5S_SCALAR)
+ ).write(H5::PredType::IEEE_F64LE, &property.D);
+ mtgroup->createAttribute("location", H5::StrType(H5::PredType::C_S1, 32), H5::DataSpace(H5S_SCALAR)
+ ).write(H5::StrType(H5::PredType::C_S1, 32), &property.location);
+ // mtgroup->createAttribute("location", H5::StrType(0, H5T_VARIABLE), H5::DataSpace(H5S_SCALAR)
+ // ).write(H5::StrType(0, H5T_VARIABLE), &property.location);
+ mtgroup->createAttribute("is_structure", H5::PredType::STD_I32LE, H5::DataSpace(H5S_SCALAR)
+ ).write(H5::PredType::STD_I32LE, &property.is_structure);
+ mtgroup->createAttribute("dimension", H5::PredType::STD_I32LE, H5::DataSpace(H5S_SCALAR)
+ ).write(H5::PredType::STD_I32LE, &property.dimension);
+
+ // Save voxels
+ const Integer num_voxels(voxels.size());
+ std::size_t vidx(0);
+ boost::scoped_array<h5_voxel_struct> h5_voxel_array(new h5_voxel_struct[num_voxels]);
+ for (std::vector<std::pair<ParticleID, Voxel> >::const_iterator itr(voxels.begin());
+ itr != voxels.end(); ++itr)
+ {
+ h5_voxel_array[vidx].lot = (*itr).first.lot();
+ h5_voxel_array[vidx].serial = (*itr).first.serial();
+ h5_voxel_array[vidx].coordinate = (*itr).second.coordinate();
+ ++vidx;
+ }
+
+ H5::CompType voxel_comp_type(get_voxel_comp());
+ hsize_t dims[] = {(hsize_t) num_voxels};
+ H5::DataSpace dspace(/* RANK= */1, dims);
+ boost::scoped_ptr<H5::DataSet> dset(new H5::DataSet(
+ mtgroup->createDataSet("voxels", voxel_comp_type, dspace)));
+ dset->write(h5_voxel_array.get(), dset->getDataType());
+ }
+
+ template<typename Tspace_>
+ static void save_voxel_pool_recursively(const Species& location,
+ std::multimap<Species, const VoxelPool*>& location_map,
+ Tspace_& space, H5::Group* root)
+ {
+ std::multimap<Species, const VoxelPool*>::iterator itr;
+ while ((itr = location_map.find(location)) != location_map.end())
+ {
+ const VoxelPool* mtb((*itr).second);
+ const Species species(mtb->species());
+ save_voxel_pool(mtb, space.list_voxels_exact(species), root);
+ save_voxel_pool_recursively(species, location_map, space, root);
+ location_map.erase(itr);
+ }
+ }
+
+ static void sort_by_location(std::multimap<std::string, Species> location_map,
+ std::vector<Species>& species, const std::string location="")
+ {
+ std::multimap<std::string, Species>::iterator itr;
+ while ((itr = location_map.find(location)) != location_map.end())
+ {
+ const Species sp((*itr).second);
+ species.push_back(sp);
+ sort_by_location(location_map, species, sp.serial());
+ location_map.erase(itr);
+ }
+ }
+
+};
+
+template<typename Tspace_>
+void save_lattice_space(const Tspace_& space, H5::Group* root, const std::string& impl = "")
+{
+ typedef LatticeSpaceHDF5Traits traits_type;
+
+ boost::scoped_ptr<H5::Group> spgroup(new H5::Group(root->createGroup("species")));
+
+ const std::vector<Species> species(space.list_species());
+ std::multimap<Species, const VoxelPool*> location_map;
+ for (std::vector<Species>::const_iterator itr(species.begin());
+ itr != species.end(); ++itr)
+ {
+ const VoxelPool *mtb(space.find_voxel_pool(*itr));
+ Species location(mtb->location()->species());
+ location_map.insert(std::make_pair(location, mtb));
+ }
+ traits_type::save_voxel_pool_recursively(VacantType::getInstance().species(),
+ location_map, space, spgroup.get());
+
+ const hsize_t dims[] = {3};
+ const H5::ArrayType lengths_type(H5::PredType::NATIVE_DOUBLE, 1, dims);
+ const Real3 lengths(space.edge_lengths());
+
+ const uint32_t space_type(static_cast<uint32_t>(Space::LATTICE));
+ const double t(space.t());
+ const double voxel_radius(space.voxel_radius());
+ const uint32_t is_periodic(space.is_periodic()? 1 : 0);
+ double edge_lengths[] = {lengths[0], lengths[1], lengths[2]};
+
+ char implementation[32];
+ std::strcpy(implementation, impl.c_str());
+
+#define CREATE_ATTRIBUTE(attribute, type) \
+ root->createAttribute(#attribute, type,\
+ H5::DataSpace(H5S_SCALAR)).write(type, &attribute)
+ CREATE_ATTRIBUTE(space_type, H5::PredType::STD_I32LE);
+ CREATE_ATTRIBUTE(t, H5::PredType::IEEE_F64LE);
+ CREATE_ATTRIBUTE(voxel_radius, H5::PredType::IEEE_F64LE);
+ CREATE_ATTRIBUTE(is_periodic, H5::PredType::STD_I32LE);
+ CREATE_ATTRIBUTE(edge_lengths, lengths_type);
+ // CREATE_ATTRIBUTE(impl, H5::StrType(0, H5T_VARIABLE));
+ CREATE_ATTRIBUTE(implementation, H5::StrType(H5::PredType::C_S1, 32));
+#undef CREATE_ATTRIBUTE
+}
+
+template<typename Tspace_>
+void load_lattice_space(const H5::Group& root, Tspace_* space, const std::string& implementation = "")
+{
+ typedef LatticeSpaceHDF5Traits traits_type;
+
+ uint32_t space_type; // not use
+ double t;
+ double voxel_radius;
+ Real3 edge_lengths;
+ const hsize_t dims[] = {3};
+ uint32_t is_periodic;
+ char impl_C[32];
+ // std::string impl = "";
+
+#define OPEN_ATTRIBUTE(attribute, type) \
+ root.openAttribute(#attribute).read(type, &attribute)
+ OPEN_ATTRIBUTE(space_type, H5::PredType::STD_I32LE);
+ OPEN_ATTRIBUTE(t, H5::PredType::IEEE_F64LE);
+ OPEN_ATTRIBUTE(voxel_radius, H5::PredType::IEEE_F64LE);
+ OPEN_ATTRIBUTE(edge_lengths, H5::ArrayType(H5::PredType::NATIVE_DOUBLE, 1, dims));
+ OPEN_ATTRIBUTE(is_periodic, H5::PredType::STD_I32LE);
+#undef OPEN_ATTRIBUTE
+
+ // if (root.attrExists("implementation"))
+ // root.openAttribute("implementation").read(
+ // H5::StrType(0, H5T_VARIABLE), impl); //XXX: '&' is not needed for HDF5std_string
+ if (root.attrExists("implementation"))
+ root.openAttribute("implementation").read(
+ H5::StrType(H5::PredType::C_S1, 32), impl_C);
+ const std::string impl(impl_C);
+
+ if (implementation != "" && implementation != impl)
+ {
+ std::ostringstream oss;
+ oss << "Implementation mismatch between LatticeSpaces given and saved in the HDF5 ['"
+ << implementation << "' != '" << impl << "']." << std::endl;
+ throw NotSupported(oss.str());
+ }
+
+ space->set_t(t);
+ space->reset(edge_lengths, voxel_radius, (is_periodic != 0));
+
+ std::map<Species, traits_type::h5_species_struct> struct_map;
+ std::map<Species, std::vector<std::pair<ParticleID, Integer> > > voxels_map;
+ std::multimap<std::string, Species> location_map;
+
+ std::map<Species, std::pair<traits_type::h5_species_struct,
+ std::vector<std::pair<ParticleID, Integer> > > > tmp_map;
+
+ H5::Group spgroup(root.openGroup("species"));
+ char name_C[32 + 1];
+ for (hsize_t idx(0); idx < spgroup.getNumObjs(); ++idx)
+ {
+ // const H5std_string name = spgroup.getObjnameByIdx(idx);
+ // H5::Group group(spgroup.openGroup(name.c_str()));
+
+ memset(name_C, 0, 32 + 1); // clear buffer
+ H5Lget_name_by_idx(spgroup.getLocId(), ".", H5_INDEX_NAME, H5_ITER_INC, idx, name_C, 32, H5P_DEFAULT);
+ H5::Group group(spgroup.openGroup(name_C));
+ const std::string name(name_C);
+ Species species(name);
+
+ // const H5std_string serial = spgroup.getObjnameByIdx(idx);
+ // H5::Group group(spgroup.openGroup(serial.c_str()));
+ // Species species(std::string(serial.c_str()));
+
+ traits_type::h5_species_struct property;
+ // group.openAttribute("property").read(
+ // traits_type::get_property_comp(), &property);
+ // group.openDataSet("property").read(
+ // &property, traits_type::get_property_comp());
+ // H5::Attribute attr = group.openAttribute("property");
+ // H5::DataType dtype = attr.getDataType();
+ // attr.read(dtype, &property);
+
+ group.openAttribute("radius").read(H5::PredType::IEEE_F64LE, &property.radius);
+ group.openAttribute("D").read(H5::PredType::IEEE_F64LE, &property.D);
+ // group.openAttribute("location").read(H5::StrType(0, H5T_VARIABLE), property.location); //XXX: NEVER use "&" for H5std_string when reading.
+ group.openAttribute("location").read(H5::StrType(H5::PredType::C_S1, 32), property.location);
+ group.openAttribute("is_structure").read(H5::PredType::STD_I32LE, &property.is_structure);
+ group.openAttribute("dimension").read(H5::PredType::STD_I32LE, &property.dimension);
+
+ // std::cout << "load_property(" << name << "," << property.radius << "," << property.D << "," << property.location << ");" << std::endl;
+
+ struct_map.insert(std::make_pair(species, property));
+ location_map.insert(std::make_pair(std::string(property.location), species));
+ // location_map.insert(std::make_pair(property.location, species));
+
+ H5::DataSet voxel_dset(group.openDataSet("voxels"));
+ const unsigned int num_voxels(
+ voxel_dset.getSpace().getSimpleExtentNpoints());
+ boost::scoped_array<traits_type::h5_voxel_struct> h5_voxel_array(
+ new traits_type::h5_voxel_struct[num_voxels]);
+ voxel_dset.read(
+ h5_voxel_array.get(), traits_type::get_voxel_comp());
+ voxel_dset.close();
+ group.close();
+
+ std::vector<std::pair<ParticleID, Integer> > voxels;
+ for (unsigned int idx(0); idx < num_voxels; ++idx)
+ {
+ voxels.push_back(std::make_pair(
+ ParticleID(std::make_pair(h5_voxel_array[idx].lot, h5_voxel_array[idx].serial)),
+ h5_voxel_array[idx].coordinate));
+ }
+ voxels_map.insert(std::make_pair(species, voxels));
+ }
+ spgroup.close();
+
+ std::vector<Species> sp_list;
+ traits_type::sort_by_location(location_map, sp_list);
+ for (std::vector<Species>::iterator itr(sp_list.begin());
+ itr != sp_list.end(); ++itr)
+ {
+ Species species(*itr);
+ traits_type::h5_species_struct property((*struct_map.find(species)).second);
+ std::vector<std::pair<ParticleID, Integer> > voxels((*voxels_map.find(species)).second);
+ // if (property.is_structure == 0)
+ // space->make_molecular_type(species, property.radius, property.D, property.location);
+ // else
+ // space->make_structure_type(species, static_cast<Shape::dimension_kind>(property.dimension), property.location);
+ if (property.is_structure == 0)
+ space->make_molecular_type(species, property.radius, property.D, std::string(property.location));
+ else
+ space->make_structure_type(species, static_cast<Shape::dimension_kind>(property.dimension), std::string(property.location));
+ space->add_voxels(species, voxels);
+ }
+}
+
+} // ecell4
+
+#endif /* __ECELL4_LATTICE_SPACE_HDF5_WRITER_HPP */
diff --git a/ecell4/core/LatticeSpaceVectorImpl.cpp b/ecell4/core/LatticeSpaceVectorImpl.cpp
new file mode 100644
index 0000000..00ae99b
--- /dev/null
+++ b/ecell4/core/LatticeSpaceVectorImpl.cpp
@@ -0,0 +1,1088 @@
+#include "Context.hpp"
+#include "MolecularType.hpp"
+#include "VacantType.hpp"
+#include "StructureType.hpp"
+#include "InterfaceType.hpp"
+#include "LatticeSpaceVectorImpl.hpp"
+
+namespace ecell4 {
+
+LatticeSpaceVectorImpl::LatticeSpaceVectorImpl(
+ const Real3& edge_lengths, const Real& voxel_radius,
+ const bool is_periodic) :
+ base_type(edge_lengths, voxel_radius, is_periodic), is_periodic_(is_periodic)
+{
+ vacant_ = &(VacantType::getInstance());
+ std::stringstream ss;
+ ss << voxel_radius_;
+ border_ = new MolecularType(Species("Border", ss.str(), "0"));
+ periodic_ = new MolecularType(Species("Periodic", ss.str(), "0"));
+
+ initialize_voxels(is_periodic_);
+}
+
+LatticeSpaceVectorImpl::~LatticeSpaceVectorImpl()
+{
+ delete border_;
+ delete periodic_;
+}
+
+void LatticeSpaceVectorImpl::initialize_voxels(const bool is_periodic)
+{
+ const coordinate_type voxel_size(
+ col_size_ * row_size_ * layer_size_);
+ // std::cout << "voxel_size = " << voxel_size << std::endl;
+
+ voxel_pools_.clear();
+ molecule_pools_.clear();
+ voxels_.clear();
+ voxels_.reserve(voxel_size);
+ for (coordinate_type coord(0); coord < voxel_size; ++coord)
+ {
+ if (!is_inside(coord))
+ {
+ if (is_periodic)
+ {
+ voxels_.push_back(periodic_);
+ }
+ else
+ {
+ voxels_.push_back(border_);
+ }
+ }
+ else
+ {
+ voxels_.push_back(vacant_);
+ }
+ }
+}
+
+Integer LatticeSpaceVectorImpl::num_species() const
+{
+ return voxel_pools_.size() + molecule_pools_.size();
+}
+
+Integer LatticeSpaceVectorImpl::num_molecules(const Species& sp) const
+{
+ Integer count(0);
+ SpeciesExpressionMatcher sexp(sp);
+
+ for (voxel_pool_map_type::const_iterator itr(voxel_pools_.begin());
+ itr != voxel_pools_.end(); ++itr)
+ {
+ const Integer cnt(sexp.count((*itr).first));
+ if (cnt > 0)
+ {
+ const boost::shared_ptr<VoxelPool>& vp((*itr).second);
+ count += count_voxels(vp) * cnt;
+ }
+ }
+
+ for (molecule_pool_map_type::const_iterator itr(molecule_pools_.begin());
+ itr != molecule_pools_.end(); ++itr)
+ {
+ const Integer cnt(sexp.count((*itr).first));
+ if (cnt > 0)
+ {
+ const boost::shared_ptr<MoleculePool>& vp((*itr).second);
+ count += vp->size() * cnt;
+ }
+ }
+ return count;
+}
+
+bool LatticeSpaceVectorImpl::has_voxel(const ParticleID& pid) const
+{
+ for (molecule_pool_map_type::const_iterator itr(molecule_pools_.begin());
+ itr != molecule_pools_.end(); ++itr)
+ {
+ const boost::shared_ptr<MoleculePool>& vp((*itr).second);
+ if (vp->find(pid) != vp->end())
+ {
+ return true;
+ }
+ }
+ return false;
+}
+
+std::pair<ParticleID, Voxel>
+LatticeSpaceVectorImpl::get_voxel(const ParticleID& pid) const
+{
+ for (molecule_pool_map_type::const_iterator itr(molecule_pools_.begin());
+ itr != molecule_pools_.end(); ++itr)
+ {
+ const boost::shared_ptr<MoleculePool>& vp((*itr).second);
+ MoleculePool::container_type::const_iterator j(vp->find(pid));
+ if (j != vp->end())
+ {
+ const std::string loc((vp->location()->is_vacant())
+ ? "" : vp->location()->species().serial());
+ return std::make_pair(pid,
+ Voxel((*itr).first, (*j).coordinate, vp->radius(), vp->D(), loc));
+ }
+ }
+ throw NotFound("voxel not found.");
+}
+
+std::pair<ParticleID, Voxel>
+LatticeSpaceVectorImpl::get_voxel_at(const coordinate_type& coord) const
+{
+ const VoxelPool* vp(voxels_[coord]);
+ const std::string loc((vp->location()->is_vacant())
+ ? "" : vp->location()->species().serial());
+ return std::make_pair(
+ vp->get_particle_id(coord),
+ Voxel(vp->species(), coord, vp->radius(), vp->D(), loc));
+}
+
+bool LatticeSpaceVectorImpl::update_structure(const Particle& p)
+{
+ //XXX: Particle does not have a location.
+ Voxel v(p.species(), position2coordinate(p.position()), p.radius(), p.D());
+ return update_voxel(ParticleID(), v);
+}
+
+/*
+ * original methods
+ */
+
+std::vector<Species> LatticeSpaceVectorImpl::list_species() const
+{
+ std::vector<Species> keys;
+ utils::retrieve_keys(voxel_pools_, keys);
+ utils::retrieve_keys(molecule_pools_, keys);
+ return keys;
+}
+
+const Species& LatticeSpaceVectorImpl::find_species(std::string name) const
+{
+ for (voxel_pool_map_type::const_iterator itr(voxel_pools_.begin());
+ itr != voxel_pools_.end(); ++itr)
+ {
+ if ((*itr).first.serial() == name)
+ {
+ return (*itr).first;
+ }
+ }
+
+ for (molecule_pool_map_type::const_iterator itr(molecule_pools_.begin());
+ itr != molecule_pools_.end(); ++itr)
+ {
+ if ((*itr).first.serial() == name)
+ {
+ return (*itr).first;
+ }
+ }
+ throw NotFound(name);
+}
+
+std::vector<LatticeSpaceVectorImpl::coordinate_type>
+LatticeSpaceVectorImpl::list_coords_exact(const Species& sp) const
+{
+ std::vector<coordinate_type> retval;
+
+ molecule_pool_map_type::const_iterator itr(molecule_pools_.find(sp));
+ if (itr == molecule_pools_.end())
+ {
+ return retval;
+ }
+
+ const boost::shared_ptr<MoleculePool>& vp((*itr).second);
+
+ for (MoleculePool::const_iterator itr(vp->begin()); itr != vp->end(); ++itr)
+ {
+ retval.push_back((*itr).coordinate);
+ }
+ return retval;
+}
+
+std::vector<LatticeSpaceVectorImpl::coordinate_type>
+LatticeSpaceVectorImpl::list_coords(const Species& sp) const
+{
+ std::vector<coordinate_type> retval;
+ for (molecule_pool_map_type::const_iterator itr(molecule_pools_.begin());
+ itr != molecule_pools_.end(); ++itr)
+ {
+ if (!spmatch(sp, (*itr).first))
+ {
+ continue;
+ }
+
+ const boost::shared_ptr<MoleculePool>& vp((*itr).second);
+
+ for (MoleculePool::const_iterator vitr(vp->begin());
+ vitr != vp->end(); ++vitr)
+ {
+ retval.push_back((*vitr).coordinate);
+ }
+ }
+ return retval;
+}
+
+std::vector<std::pair<ParticleID, Voxel> >
+LatticeSpaceVectorImpl::list_voxels() const
+{
+ std::vector<std::pair<ParticleID, Voxel> > retval;
+
+ for (molecule_pool_map_type::const_iterator itr(molecule_pools_.begin());
+ itr != molecule_pools_.end(); ++itr)
+ {
+ const boost::shared_ptr<MoleculePool>& vp((*itr).second);
+
+ const std::string loc((vp->location()->is_vacant())
+ ? "" : vp->location()->species().serial());
+ const Species& sp(vp->species());
+
+ for (MoleculePool::const_iterator i(vp->begin());
+ i != vp->end(); ++i)
+ {
+ retval.push_back(std::make_pair(
+ (*i).pid,
+ Voxel(sp, (*i).coordinate, vp->radius(), vp->D(), loc)));
+ }
+ }
+
+ for (voxel_pool_map_type::const_iterator itr(voxel_pools_.begin());
+ itr != voxel_pools_.end(); ++itr)
+ {
+ const boost::shared_ptr<VoxelPool>& vp((*itr).second);
+
+ const std::string loc((vp->location()->is_vacant())
+ ? "" : vp->location()->species().serial());
+ const Species& sp(vp->species());
+
+ for (voxel_container::const_iterator i(voxels_.begin());
+ i != voxels_.end(); ++i)
+ {
+ if (*i != vp.get())
+ {
+ continue;
+ }
+
+ const coordinate_type
+ coord(std::distance(voxels_.begin(), i));
+ retval.push_back(std::make_pair(
+ ParticleID(),
+ Voxel(sp, coord, vp->radius(), vp->D(), loc)));
+ }
+ }
+ return retval;
+}
+
+std::vector<std::pair<ParticleID, Voxel> >
+LatticeSpaceVectorImpl::list_voxels_exact(const Species& sp) const
+{
+ std::vector<std::pair<ParticleID, Voxel> > retval;
+
+ {
+ voxel_pool_map_type::const_iterator itr(voxel_pools_.find(sp));
+ if (itr != voxel_pools_.end())
+ {
+ const boost::shared_ptr<VoxelPool>& vp((*itr).second);
+ const std::string loc((vp->location()->is_vacant())
+ ? "" : vp->location()->species().serial());
+ for (voxel_container::const_iterator i(voxels_.begin());
+ i != voxels_.end(); ++i)
+ {
+ if (*i != vp.get())
+ {
+ continue;
+ }
+
+ const coordinate_type
+ coord(std::distance(voxels_.begin(), i));
+ retval.push_back(std::make_pair(
+ ParticleID(),
+ Voxel(sp, coord, vp->radius(), vp->D(), loc)));
+ }
+ return retval;
+ }
+ }
+
+ {
+ molecule_pool_map_type::const_iterator itr(molecule_pools_.find(sp));
+ if (itr != molecule_pools_.end())
+ {
+ const boost::shared_ptr<MoleculePool>& vp((*itr).second);
+ const std::string loc((vp->location()->is_vacant())
+ ? "" : vp->location()->species().serial());
+ for (MoleculePool::const_iterator i(vp->begin());
+ i != vp->end(); ++i)
+ {
+ retval.push_back(std::make_pair(
+ (*i).pid,
+ Voxel(sp, (*i).coordinate, vp->radius(), vp->D(), loc)));
+ }
+ return retval;
+ }
+ }
+ return retval; // an empty vector
+}
+
+std::vector<std::pair<ParticleID, Voxel> >
+LatticeSpaceVectorImpl::list_voxels(const Species& sp) const
+{
+ std::vector<std::pair<ParticleID, Voxel> > retval;
+ SpeciesExpressionMatcher sexp(sp);
+
+ for (voxel_pool_map_type::const_iterator itr(voxel_pools_.begin());
+ itr != voxel_pools_.end(); ++itr)
+ {
+ if (!sexp.match((*itr).first))
+ {
+ continue;
+ }
+
+ const boost::shared_ptr<VoxelPool>& vp((*itr).second);
+ const std::string loc((vp->location()->is_vacant())
+ ? "" : vp->location()->species().serial());
+ for (voxel_container::const_iterator i(voxels_.begin());
+ i != voxels_.end(); ++i)
+ {
+ if (*i != vp.get())
+ {
+ continue;
+ }
+
+ const coordinate_type
+ coord(std::distance(voxels_.begin(), i));
+ retval.push_back(std::make_pair(
+ ParticleID(),
+ Voxel(sp, coord, vp->radius(), vp->D(), loc)));
+ }
+ }
+
+ for (molecule_pool_map_type::const_iterator itr(molecule_pools_.begin());
+ itr != molecule_pools_.end(); ++itr)
+ {
+ if (!sexp.match((*itr).first))
+ {
+ continue;
+ }
+
+ const boost::shared_ptr<MoleculePool>& vp((*itr).second);
+ const std::string loc((vp->location()->is_vacant())
+ ? "" : vp->location()->species().serial());
+ for (MoleculePool::const_iterator i(vp->begin());
+ i != vp->end(); ++i)
+ {
+ retval.push_back(std::make_pair(
+ (*i).pid,
+ Voxel(sp, (*i).coordinate, vp->radius(), vp->D(), loc)));
+ }
+ }
+
+ return retval;
+}
+
+VoxelPool* LatticeSpaceVectorImpl::get_voxel_pool(const Voxel& v)
+{
+ const Species& sp(v.species());
+
+ {
+ voxel_pool_map_type::iterator itr(voxel_pools_.find(sp));
+ if (itr != voxel_pools_.end())
+ {
+ return (*itr).second.get();
+ }
+ }
+
+ {
+ molecule_pool_map_type::iterator itr(molecule_pools_.find(sp));
+ if (itr != molecule_pools_.end())
+ {
+ return (*itr).second.get(); // upcast
+ }
+ }
+
+ const bool suc = make_molecular_type(sp, v.radius(), v.D(), v.loc());
+ if (!suc)
+ {
+ throw IllegalState("never reach here");
+ }
+
+ molecule_pool_map_type::iterator i = molecule_pools_.find(sp);
+ if (i == molecule_pools_.end())
+ {
+ throw IllegalState("never reach here");
+ }
+ return (*i).second.get(); // upcast
+}
+
+VoxelPool* LatticeSpaceVectorImpl::find_voxel_pool(const Species& sp)
+{
+ voxel_pool_map_type::iterator itr(voxel_pools_.find(sp));
+ if (itr != voxel_pools_.end())
+ {
+ return (*itr).second.get();
+ }
+ return find_molecule_pool(sp); // upcast
+}
+
+const VoxelPool* LatticeSpaceVectorImpl::find_voxel_pool(const Species& sp) const
+{
+ voxel_pool_map_type::const_iterator itr(voxel_pools_.find(sp));
+ if (itr != voxel_pools_.end())
+ {
+ return (*itr).second.get();
+ }
+ return find_molecule_pool(sp); // upcast
+}
+
+MoleculePool* LatticeSpaceVectorImpl::find_molecule_pool(const Species& sp)
+{
+ molecule_pool_map_type::iterator itr(molecule_pools_.find(sp));
+ if (itr != molecule_pools_.end())
+ {
+ return (*itr).second.get(); // upcast
+ }
+ throw NotFound("MoleculePool not found.");
+}
+
+const MoleculePool* LatticeSpaceVectorImpl::find_molecule_pool(const Species& sp) const
+{
+ molecule_pool_map_type::const_iterator itr(molecule_pools_.find(sp));
+ if (itr != molecule_pools_.end())
+ {
+ return (*itr).second.get(); // upcast
+ }
+ throw NotFound("MoleculePool not found.");
+}
+
+bool LatticeSpaceVectorImpl::on_structure(const Voxel& v)
+{
+ // return find_voxel_pool(v.coordinate()) != get_voxel_pool(v)->location();
+ return voxels_.at(v.coordinate()) != get_voxel_pool(v)->location();
+}
+
+/*
+ * Protected functions
+ */
+
+LatticeSpaceVectorImpl::coordinate_type LatticeSpaceVectorImpl::get_coord(
+ const ParticleID& pid) const
+{
+ for (molecule_pool_map_type::const_iterator itr(molecule_pools_.begin());
+ itr != molecule_pools_.end(); ++itr)
+ {
+ const boost::shared_ptr<MoleculePool>& vp((*itr).second);
+ for (MoleculePool::const_iterator vitr(vp->begin());
+ vitr != vp->end(); ++vitr)
+ {
+ if ((*vitr).pid == pid)
+ {
+ return (*vitr).coordinate;
+ }
+ }
+ }
+ return -1; //XXX: a bit dirty way
+}
+
+VoxelPool* LatticeSpaceVectorImpl::get_voxel_pool_at(const coordinate_type& coord) const
+{
+ return voxels_.at(coord);
+}
+
+// bool LatticeSpaceVectorImpl::has_species_exact(const Species& sp) const
+// {
+// return spmap_.find(sp) != spmap_.end();
+// }
+
+bool LatticeSpaceVectorImpl::has_species(const Species& sp) const
+{
+ return (voxel_pools_.find(sp) != voxel_pools_.end()
+ || molecule_pools_.find(sp) != molecule_pools_.end());
+}
+
+bool LatticeSpaceVectorImpl::remove_voxel(const ParticleID& pid)
+{
+ for (molecule_pool_map_type::iterator i(molecule_pools_.begin());
+ i != molecule_pools_.end(); ++i)
+ {
+ const boost::shared_ptr<MoleculePool>& vp((*i).second);
+ MoleculePool::const_iterator j(vp->find(pid));
+ if (j != vp->end())
+ {
+ const coordinate_type coord((*j).coordinate);
+ if (!vp->remove_voxel_if_exists(coord))
+ {
+ return false;
+ }
+
+ voxel_container::iterator itr(voxels_.begin() + coord);
+ (*itr) = vp->location();
+ vp->location()->add_voxel(
+ coordinate_id_pair_type(ParticleID(), coord));
+ return true;
+ }
+ }
+ return false;
+}
+
+bool LatticeSpaceVectorImpl::remove_voxel(const coordinate_type& coord)
+{
+ voxel_container::iterator itr(voxels_.begin() + coord);
+ VoxelPool* vp(*itr);
+ if (vp->is_vacant())
+ {
+ return false;
+ }
+ if (vp->remove_voxel_if_exists(coord))
+ {
+ (*itr) = vp->location();
+ vp->location()->add_voxel(
+ coordinate_id_pair_type(ParticleID(), coord));
+ return true;
+ }
+ return false;
+}
+
+bool LatticeSpaceVectorImpl::move(
+ const coordinate_type& src, const coordinate_type& dest, const std::size_t candidate)
+{
+ return move_(src, dest, candidate).second;
+}
+
+bool LatticeSpaceVectorImpl::can_move(
+ const coordinate_type& src, const coordinate_type& dest) const
+{
+ if (src == dest)
+ return false;
+
+ const VoxelPool* src_vp(voxels_.at(src));
+ if (src_vp->is_vacant())
+ return false;
+
+ VoxelPool* dest_vp(voxels_.at(dest));
+
+ if (dest_vp == border_)
+ return false;
+
+ if (dest_vp == periodic_)
+ dest_vp = voxels_.at(apply_boundary_(dest));
+
+ return (dest_vp == src_vp->location());
+}
+
+std::pair<LatticeSpaceVectorImpl::coordinate_type, bool>
+ LatticeSpaceVectorImpl::move_to_neighbor(
+ coordinate_type coord, Integer nrand)
+{
+ const coordinate_type neighbor(get_neighbor(coord, nrand));
+ return move_(coord, neighbor);
+}
+
+std::pair<LatticeSpaceVectorImpl::coordinate_type, bool>
+ LatticeSpaceVectorImpl::move_to_neighbor(
+ coordinate_id_pair_type& info, Integer nrand)
+{
+ const coordinate_type neighbor(get_neighbor(info.coordinate, nrand));
+ return move_(info, neighbor);
+}
+
+std::pair<LatticeSpaceVectorImpl::coordinate_type, bool>
+ LatticeSpaceVectorImpl::move_(
+ coordinate_type from, coordinate_type to,
+ const std::size_t candidate)
+{
+ if (from == to)
+ {
+ // std::cerr << " from == to ";
+ return std::pair<coordinate_type, bool>(from, false);
+ }
+
+ VoxelPool* from_vp(voxels_.at(from));
+ if (from_vp->is_vacant())
+ {
+ return std::pair<coordinate_type, bool>(from, true);
+ }
+
+ VoxelPool* to_vp(voxels_.at(to));
+
+ if (to_vp == border_)
+ {
+ // std::cerr << " to_vp is border ";
+ return std::pair<coordinate_type, bool>(from, false);
+ }
+ else if (to_vp == periodic_)
+ {
+ to = apply_boundary_(to);
+ to_vp = voxels_.at(to);
+ }
+
+ if (to_vp != from_vp->location())
+ {
+ // std::cerr << " to_vp is " << to_vp->species().serial() << " ";
+ return std::pair<coordinate_type, bool>(to, false);
+ }
+
+ from_vp->replace_voxel(from, to, candidate);
+ voxel_container::iterator from_itr(voxels_.begin() + from);
+ (*from_itr) = to_vp;
+
+ // to_vp->replace_voxel(to, coordinate_id_pair_type(ParticleID(), from));
+ to_vp->replace_voxel(to, from);
+ voxel_container::iterator to_itr(voxels_.begin() + to);
+ (*to_itr) = from_vp;
+
+ return std::pair<coordinate_type, bool>(to, true);
+}
+
+std::pair<LatticeSpaceVectorImpl::coordinate_type, bool>
+ LatticeSpaceVectorImpl::move_(
+ coordinate_id_pair_type& info, coordinate_type to)
+{
+ const coordinate_type from(info.coordinate);
+ if (from == to)
+ {
+ return std::pair<coordinate_type, bool>(from, false);
+ }
+
+ VoxelPool* from_vp(voxels_.at(from));
+ if (from_vp->is_vacant())
+ {
+ return std::pair<coordinate_type, bool>(from, true);
+ }
+
+ VoxelPool* to_vp(voxels_.at(to));
+
+ if (to_vp == border_)
+ {
+ return std::pair<coordinate_type, bool>(from, false);
+ }
+ else if (to_vp == periodic_)
+ {
+ to = apply_boundary_(to);
+ to_vp = voxels_.at(to);
+ }
+
+ if (to_vp != from_vp->location())
+ {
+ return std::pair<coordinate_type, bool>(to, false);
+ }
+
+ info.coordinate = to;
+ voxel_container::iterator from_itr(voxels_.begin() + from);
+ (*from_itr) = to_vp;
+
+ // to_vp->replace_voxel(to, coordinate_id_pair_type(ParticleID(), from));
+ to_vp->replace_voxel(to, from);
+ voxel_container::iterator to_itr(voxels_.begin() + to);
+ (*to_itr) = from_vp;
+
+ return std::pair<coordinate_type, bool>(to, true);
+}
+
+std::pair<LatticeSpaceVectorImpl::coordinate_type, bool>
+ LatticeSpaceVectorImpl::move_to_neighbor(
+ VoxelPool* const& from_vp, VoxelPool* const& loc,
+ coordinate_id_pair_type& info, const Integer nrand)
+{
+ const coordinate_type from(info.coordinate);
+ coordinate_type to(get_neighbor(from, nrand));
+
+ //XXX: assert(from != to);
+ //XXX: assert(from_vp == voxels_[from]);
+ //XXX: assert(from_vp != vacant_);
+
+ VoxelPool* to_vp(voxels_[to]);
+
+ if (to_vp != loc)
+ {
+ if (to_vp == border_)
+ {
+ return std::make_pair(from, false);
+ }
+ else if (to_vp != periodic_)
+ {
+ return std::make_pair(to, false);
+ }
+
+ // to_vp == periodic_
+ to = apply_boundary_(to);
+ to_vp = voxels_[to];
+
+ if (to_vp != loc)
+ {
+ return std::make_pair(to, false);
+ }
+ }
+
+ voxels_[from] = to_vp;
+ voxels_[to] = from_vp;
+ info.coordinate = to; //XXX: updating data
+
+ to_vp->replace_voxel(to, from);
+ // if (to_vp != vacant_) // (!to_vp->is_vacant())
+ // {
+ // to_vp->replace_voxel(
+ // to, coordinate_id_pair_type(ParticleID(), from));
+ // }
+ return std::make_pair(to, true);
+}
+
+const Particle LatticeSpaceVectorImpl::particle_at(
+ const coordinate_type& coord) const
+{
+ const VoxelPool* vp(voxels_.at(coord));
+ return Particle(
+ vp->species(),
+ coordinate2position(coord),
+ vp->radius(), vp->D());
+}
+
+Integer LatticeSpaceVectorImpl::num_voxels_exact(const Species& sp) const
+{
+ {
+ voxel_pool_map_type::const_iterator itr(voxel_pools_.find(sp));
+ if (itr != voxel_pools_.end())
+ {
+ const boost::shared_ptr<VoxelPool>& vp((*itr).second);
+ return count_voxels(vp);
+ }
+ }
+
+ {
+ molecule_pool_map_type::const_iterator itr(molecule_pools_.find(sp));
+ if (itr != molecule_pools_.end())
+ {
+ const boost::shared_ptr<MoleculePool>& vp((*itr).second);
+ return vp->size(); // upcast
+ }
+ }
+
+ return 0;
+}
+
+Integer LatticeSpaceVectorImpl::num_voxels(const Species& sp) const
+{
+ Integer count(0);
+ SpeciesExpressionMatcher sexp(sp);
+
+ for (voxel_pool_map_type::const_iterator itr(voxel_pools_.begin());
+ itr != voxel_pools_.end(); ++itr)
+ {
+ if (sexp.match((*itr).first))
+ {
+ const boost::shared_ptr<VoxelPool>& vp((*itr).second);
+ count += count_voxels(vp);
+ }
+ }
+
+ for (molecule_pool_map_type::const_iterator itr(molecule_pools_.begin());
+ itr != molecule_pools_.end(); ++itr)
+ {
+ if (sexp.match((*itr).first))
+ {
+ const boost::shared_ptr<MoleculePool>& vp((*itr).second);
+ count += vp->size();
+ }
+ }
+ return count;
+}
+
+Integer LatticeSpaceVectorImpl::num_voxels() const
+{
+ Integer count(0);
+
+ for (voxel_pool_map_type::const_iterator itr(voxel_pools_.begin());
+ itr != voxel_pools_.end(); ++itr)
+ {
+ const boost::shared_ptr<VoxelPool>& vp((*itr).second);
+ count += count_voxels(vp);
+ }
+
+ for (molecule_pool_map_type::const_iterator itr(molecule_pools_.begin());
+ itr != molecule_pools_.end(); ++itr)
+ {
+ const boost::shared_ptr<MoleculePool>& vp((*itr).second);
+ count += vp->size();
+ }
+ return count;
+}
+
+// /**
+// * Change the Species at v.coordinate() to v.species.
+// * The ParticleID must be kept after this update.
+// */
+// void LatticeSpaceVectorImpl::update_voxel(const Voxel& v)
+// {
+// const coordinate_type coord(v.coordinate());
+// VoxelPool* src_vp(voxels_.at(coord));
+// VoxelPool* new_vp(get_voxel_pool(v)); //XXX: need MoleculeInfo
+//
+// if (src_vp->with_voxels() != new_vp->with_voxels())
+// {
+// throw NotSupported("ParticleID is needed/lost.");
+// }
+//
+// new_vp->add_voxel(src_vp->pop(coord));
+// voxel_container::iterator itr(voxels_.begin() + coord);
+// (*itr) = new_vp;
+// }
+
+/*
+ * Change the Species and coordinate of a Voxel with ParticleID, pid, to
+ * v.species() and v.coordinate() respectively and return false.
+ * If no Voxel with pid is found, create a new Voxel at v.coordiante() and return ture.
+ */
+bool LatticeSpaceVectorImpl::update_voxel(const ParticleID& pid, const Voxel& v)
+{
+ const LatticeSpaceVectorImpl::coordinate_type& to_coord(v.coordinate());
+ if (!is_in_range(to_coord))
+ {
+ throw NotSupported("Out of bounds");
+ }
+
+ VoxelPool* new_vp(get_voxel_pool(v)); //XXX: need MoleculeInfo
+ VoxelPool* dest_vp(get_voxel_pool_at(to_coord));
+
+ if (dest_vp != new_vp->location())
+ {
+ throw NotSupported(
+ "Mismatch in the location. Failed to place '"
+ + new_vp->species().serial() + "' to '"
+ + dest_vp->species().serial() + "'.");
+ }
+
+ const LatticeSpaceVectorImpl::coordinate_type
+ from_coord(pid != ParticleID() ? get_coord(pid) : -1);
+ if (from_coord != -1)
+ {
+ // move
+ VoxelPool* src_vp(voxels_.at(from_coord));
+ src_vp->remove_voxel_if_exists(from_coord);
+
+ //XXX: use location?
+ dest_vp->replace_voxel(to_coord, from_coord);
+ voxel_container::iterator from_itr(voxels_.begin() + from_coord);
+ (*from_itr) = dest_vp;
+
+ new_vp->add_voxel(coordinate_id_pair_type(pid, to_coord));
+ voxel_container::iterator to_itr(voxels_.begin() + to_coord);
+ (*to_itr) = new_vp;
+ return false;
+ }
+
+ // new
+ dest_vp->remove_voxel_if_exists(to_coord);
+
+ new_vp->add_voxel(coordinate_id_pair_type(pid, to_coord));
+ voxel_container::iterator to_itr(voxels_.begin() + to_coord);
+ (*to_itr) = new_vp;
+ return true;
+}
+
+bool LatticeSpaceVectorImpl::make_structure_type(const Species& sp,
+ Shape::dimension_kind dimension, const std::string loc)
+{
+ voxel_pool_map_type::iterator itr(voxel_pools_.find(sp));
+ if (itr != voxel_pools_.end())
+ {
+ return false;
+ }
+ else if (molecule_pools_.find(sp) != molecule_pools_.end())
+ {
+ throw IllegalState(
+ "The given species is already assigned to the MoleculePool.");
+ }
+
+ VoxelPool* location;
+ if (loc == "")
+ {
+ location = vacant_;
+ }
+ else
+ {
+ const Species locsp(loc);
+ try
+ {
+ location = find_voxel_pool(locsp);
+ }
+ catch (const NotFound& err)
+ {
+ // XXX: A VoxelPool for the structure (location) must be allocated
+ // XXX: before the allocation of a Species on the structure.
+ // XXX: The VoxelPool cannot be automatically allocated at the time
+ // XXX: because its MoleculeInfo is unknown.
+ // XXX: LatticeSpaceVectorImpl::load will raise a problem about this issue.
+ // XXX: In this implementation, the VoxelPool for a structure is
+ // XXX: created with default arguments.
+ boost::shared_ptr<MoleculePool>
+ locmt(new MolecularType(locsp, vacant_, voxel_radius_, 0));
+ std::pair<molecule_pool_map_type::iterator, bool>
+ locval(molecule_pools_.insert(
+ molecule_pool_map_type::value_type(locsp, locmt)));
+ if (!locval.second)
+ {
+ throw AlreadyExists(
+ "never reach here. make_structure_type seems wrong.");
+ }
+ location = (*locval.first).second.get();
+ }
+ }
+
+ boost::shared_ptr<VoxelPool>
+ vp(new StructureType(sp, location, voxel_radius_, dimension));
+ std::pair<voxel_pool_map_type::iterator, bool>
+ retval(voxel_pools_.insert(voxel_pool_map_type::value_type(sp, vp)));
+ if (!retval.second)
+ {
+ throw AlreadyExists("never reach here.");
+ }
+ return retval.second;
+}
+
+bool LatticeSpaceVectorImpl::make_interface_type(const Species& sp,
+ Shape::dimension_kind dimension, const std::string loc)
+{
+ voxel_pool_map_type::iterator itr(voxel_pools_.find(sp));
+ if (itr != voxel_pools_.end())
+ {
+ return false;
+ }
+ else if (molecule_pools_.find(sp) != molecule_pools_.end())
+ {
+ throw IllegalState(
+ "The given species is already assigned to the MoleculePool.");
+ }
+
+ VoxelPool* location;
+ if (loc == "")
+ {
+ location = vacant_;
+ }
+ else
+ {
+ const Species locsp(loc);
+ try
+ {
+ location = find_voxel_pool(locsp);
+ }
+ catch (const NotFound& err)
+ {
+ // XXX: A VoxelPool for the structure (location) must be allocated
+ // XXX: before the allocation of a Species on the structure.
+ // XXX: The VoxelPool cannot be automatically allocated at the time
+ // XXX: because its MoleculeInfo is unknown.
+ // XXX: LatticeSpaceVectorImpl::load will raise a problem about this issue.
+ // XXX: In this implementation, the VoxelPool for a structure is
+ // XXX: created with default arguments.
+ boost::shared_ptr<MoleculePool>
+ locmt(new MolecularType(locsp, vacant_, voxel_radius_, 0));
+ std::pair<molecule_pool_map_type::iterator, bool>
+ locval(molecule_pools_.insert(
+ molecule_pool_map_type::value_type(locsp, locmt)));
+ if (!locval.second)
+ {
+ throw AlreadyExists(
+ "never reach here. make_interface_type seems wrong.");
+ }
+ location = (*locval.first).second.get();
+ }
+ }
+
+ boost::shared_ptr<VoxelPool>
+ vp(new InterfaceType(sp, location, voxel_radius_, dimension));
+ std::pair<voxel_pool_map_type::iterator, bool>
+ retval(voxel_pools_.insert(voxel_pool_map_type::value_type(sp, vp)));
+ if (!retval.second)
+ {
+ throw AlreadyExists("never reach here.");
+ }
+ return retval.second;
+}
+
+bool LatticeSpaceVectorImpl::make_molecular_type(const Species& sp, Real radius, Real D, const std::string loc)
+{
+ molecule_pool_map_type::iterator itr(molecule_pools_.find(sp));
+ if (itr != molecule_pools_.end())
+ {
+ return false;
+ }
+ else if (voxel_pools_.find(sp) != voxel_pools_.end())
+ {
+ throw IllegalState(
+ "The given species is already assigned to the VoxelPool with no voxels.");
+ }
+
+ VoxelPool* location;
+ if (loc == "")
+ {
+ location = vacant_;
+ }
+ else
+ {
+ const Species locsp(loc);
+ try
+ {
+ location = find_voxel_pool(locsp);
+ }
+ catch (const NotFound& err)
+ {
+ // XXX: A VoxelPool for the structure (location) must be allocated
+ // XXX: before the allocation of a Species on the structure.
+ // XXX: The VoxelPool cannot be automatically allocated at the time
+ // XXX: because its MoleculeInfo is unknown.
+ // XXX: LatticeSpaceVectorImpl::load will raise a problem about this issue.
+ // XXX: In this implementation, the VoxelPool for a structure is
+ // XXX: created with default arguments.
+ boost::shared_ptr<MoleculePool>
+ locmt(new MolecularType(locsp, vacant_, voxel_radius_, 0));
+ std::pair<molecule_pool_map_type::iterator, bool>
+ locval(molecule_pools_.insert(
+ molecule_pool_map_type::value_type(locsp, locmt)));
+ if (!locval.second)
+ {
+ throw AlreadyExists(
+ "never reach here. find_voxel_pool seems wrong.");
+ }
+ location = (*locval.first).second.get();
+ }
+ }
+
+ boost::shared_ptr<MoleculePool>
+ vp(new MolecularType(sp, location, radius, D));
+ std::pair<molecule_pool_map_type::iterator, bool>
+ retval(molecule_pools_.insert(
+ molecule_pool_map_type::value_type(sp, vp)));
+ if (!retval.second)
+ {
+ throw AlreadyExists("never reach here.");
+ }
+ return retval.second;
+}
+
+bool LatticeSpaceVectorImpl::add_voxels(const Species sp, std::vector<std::pair<ParticleID, coordinate_type> > voxels)
+{
+ // this function doesn't check location.
+ VoxelPool *mtb;
+ try
+ {
+ mtb = find_voxel_pool(sp);
+ }
+ catch (NotFound &e)
+ {
+ return false;
+ }
+ for (std::vector<std::pair<ParticleID, coordinate_type> >::iterator itr(voxels.begin());
+ itr != voxels.end(); ++itr)
+ {
+ const ParticleID pid((*itr).first);
+ const coordinate_type coord((*itr).second);
+ VoxelPool* src_vp(get_voxel_pool_at(coord));
+ src_vp->remove_voxel_if_exists(coord);
+ mtb->add_voxel(coordinate_id_pair_type(pid, coord));
+ voxel_container::iterator vitr(voxels_.begin() + coord);
+ (*vitr) = mtb;
+ }
+ return true;
+}
+
+Integer LatticeSpaceVectorImpl::count_voxels(const boost::shared_ptr<VoxelPool>& vp) const
+{
+ return static_cast<Integer>(
+ std::count(voxels_.begin(), voxels_.end(), vp.get()));
+}
+
+} // ecell4
diff --git a/ecell4/core/LatticeSpaceVectorImpl.hpp b/ecell4/core/LatticeSpaceVectorImpl.hpp
new file mode 100644
index 0000000..28b4187
--- /dev/null
+++ b/ecell4/core/LatticeSpaceVectorImpl.hpp
@@ -0,0 +1,205 @@
+#ifndef __ECELL4_LATTICE_SPACE_VECTOR_IMPL_HPP
+#define __ECELL4_LATTICE_SPACE_VECTOR_IMPL_HPP
+
+#include "LatticeSpaceBase.hpp"
+
+namespace ecell4 {
+
+class LatticeSpaceVectorImpl
+ : public LatticeSpaceBase
+{
+public:
+
+ typedef LatticeSpaceBase base_type;
+
+ typedef base_type::coordinate_id_pair_type coordinate_id_pair_type;
+ typedef base_type::coordinate_type coordinate_type;
+
+ typedef std::vector<VoxelPool*> voxel_container;
+
+protected:
+
+ typedef utils::get_mapper_mf<
+ Species, boost::shared_ptr<VoxelPool> >::type voxel_pool_map_type;
+ typedef utils::get_mapper_mf<
+ Species, boost::shared_ptr<MoleculePool> >::type molecule_pool_map_type;
+
+public:
+
+ LatticeSpaceVectorImpl(
+ const Real3& edge_lengths, const Real& voxel_radius,
+ const bool is_periodic = true);
+ ~LatticeSpaceVectorImpl();
+
+ /*
+ * Space APIs
+ *
+ * using ParticleID, Species and Posision3
+ */
+
+ Integer num_species() const;
+
+ virtual Real get_value(const Species& sp) const
+ {
+ return static_cast<Real>(num_molecules(sp));
+ }
+
+ virtual Real get_value_exact(const Species& sp) const
+ {
+ return static_cast<Real>(num_molecules_exact(sp));
+ }
+
+ bool has_species(const Species& sp) const;
+ // bool has_species_exact(const Species& sp) const;
+ virtual bool has_voxel(const ParticleID& pid) const;
+
+ virtual bool remove_voxel(const ParticleID& pid);
+ virtual bool remove_voxel(const coordinate_type& coord);
+
+ bool update_structure(const Particle& p);
+
+ /*
+ * for Simulator
+ *
+ * using Species and coordinate_type
+ */
+ std::vector<std::pair<ParticleID, Voxel> >
+ list_voxels() const;
+ std::vector<std::pair<ParticleID, Voxel> >
+ list_voxels(const Species& sp) const;
+ std::vector<std::pair<ParticleID, Voxel> >
+ list_voxels_exact(const Species& sp) const;
+
+ virtual std::pair<ParticleID, Voxel> get_voxel(const ParticleID& pid) const;
+ virtual std::pair<ParticleID, Voxel> get_voxel_at(const coordinate_type& coord) const;
+
+ virtual Integer num_voxels_exact(const Species& sp) const;
+ virtual Integer num_voxels(const Species& sp) const;
+ virtual Integer num_voxels() const;
+
+ virtual Integer num_molecules(const Species& sp) const; //XXX:
+
+ // virtual void update_voxel(const Voxel& v);
+ virtual bool update_voxel(const ParticleID& pid, const Voxel& v);
+
+ bool add_voxels(const Species species, std::vector<std::pair<ParticleID, coordinate_type> > voxels);
+
+ std::vector<Species> list_species() const;
+ const Species& find_species(std::string name) const;
+ std::vector<coordinate_type> list_coords(const Species& sp) const;
+ std::vector<coordinate_type> list_coords_exact(const Species& sp) const;
+
+ virtual bool has_molecule_pool(const Species& sp) const
+ {
+ molecule_pool_map_type::const_iterator itr(molecule_pools_.find(sp));
+ return (itr != molecule_pools_.end());
+ }
+
+ virtual VoxelPool* find_voxel_pool(const Species& sp);
+ virtual const VoxelPool* find_voxel_pool(const Species& sp) const;
+ virtual MoleculePool* find_molecule_pool(const Species& sp);
+ virtual const MoleculePool* find_molecule_pool(const Species& sp) const;
+ // VoxelPool* find_voxel_pool(const std::string name);
+ virtual VoxelPool* get_voxel_pool_at(const coordinate_type& coord) const;
+
+ // bool update_molecule(coordinate_type coord, const Species& species);
+ // bool add_molecule(const Species& sp, coordinate_type coord, const ParticleID& pid);
+ virtual bool move(
+ const coordinate_type& src, const coordinate_type& dest,
+ const std::size_t candidate=0);
+ virtual bool can_move(const coordinate_type& src, const coordinate_type& dest) const;
+
+ std::pair<coordinate_type, bool> move_to_neighbor(
+ coordinate_type coord, Integer nrand);
+ std::pair<coordinate_type, bool> move_to_neighbor(
+ coordinate_id_pair_type& info, Integer nrand);
+ std::pair<coordinate_type, bool> move_to_neighbor(
+ VoxelPool* const& from_vp, VoxelPool* const& loc,
+ coordinate_id_pair_type& info, const Integer nrand);
+
+ coordinate_type get_neighbor_boundary(
+ const coordinate_type& coord, const Integer& nrand) const
+ {
+ coordinate_type const dest = get_neighbor(coord, nrand);
+ VoxelPool* dest_vp(voxels_.at(dest));
+ return (dest_vp != periodic_ ? dest : periodic_transpose(dest));
+ }
+
+ inline bool is_periodic() const
+ {
+ return is_periodic_;
+ }
+
+#ifdef WITH_HDF5
+ /*
+ * HDF5 Save
+ */
+ void save_hdf5(H5::Group* root) const
+ {
+ save_lattice_space(*this, root, "LatticeSpaceVectorImpl");
+ }
+
+ void load_hdf5(const H5::Group& root)
+ {
+ load_lattice_space(root, this);
+ // load_lattice_space(root, this, "LatticeSpaceVectorImpl");
+ }
+#endif
+
+ void reset(const Real3& edge_lengths, const Real& voxel_radius,
+ const bool is_periodic)
+ {
+ base_type::reset(edge_lengths, voxel_radius, is_periodic);
+
+ is_periodic_ = is_periodic;
+ initialize_voxels(is_periodic_);
+ }
+
+ virtual const Particle particle_at(const coordinate_type& coord) const;
+
+ coordinate_type apply_boundary_(
+ const coordinate_type& coord) const
+ {
+ return periodic_transpose(coord);
+ }
+
+ virtual bool make_structure_type(const Species& sp,
+ Shape::dimension_kind dimension, const std::string loc);
+ virtual bool make_interface_type(const Species& sp,
+ Shape::dimension_kind dimension, const std::string loc);
+ bool make_molecular_type(const Species& sp,
+ Real radius, Real D, const std::string loc);
+
+ virtual bool on_structure(const Voxel& v);
+
+protected:
+
+ VoxelPool* get_voxel_pool(const Voxel& v);
+
+ void initialize_voxels(const bool is_periodic);
+
+ std::pair<coordinate_type, bool> move_(
+ coordinate_type from, coordinate_type to,
+ const std::size_t candidate=0);
+ std::pair<coordinate_type, bool> move_(
+ coordinate_id_pair_type& info, coordinate_type to);
+ coordinate_type get_coord(const ParticleID& pid) const;
+
+ Integer count_voxels(const boost::shared_ptr<VoxelPool>& vp) const;
+
+protected:
+
+ bool is_periodic_;
+
+ voxel_pool_map_type voxel_pools_;
+ molecule_pool_map_type molecule_pools_;
+ voxel_container voxels_;
+
+ VoxelPool* vacant_;
+ VoxelPool* border_;
+ VoxelPool* periodic_;
+};
+
+} // ecell4
+
+#endif
diff --git a/ecell4/core/Mesh.cpp b/ecell4/core/Mesh.cpp
new file mode 100644
index 0000000..63b0fa2
--- /dev/null
+++ b/ecell4/core/Mesh.cpp
@@ -0,0 +1,150 @@
+#include <numeric>
+#include "Mesh.hpp"
+#include "exceptions.hpp"
+
+namespace ecell4
+{
+
+MeshSurface::MeshSurface(const std::string filename, const Real3& edge_lengths)
+ : filename_(filename), edge_lengths_(edge_lengths)
+{
+#ifdef HAVE_VTK
+ {
+ reader_ = vtkSmartPointer<vtkSTLReader>::New();
+ reader_->SetFileName(filename_.c_str());
+ reader_->Update();
+ // tree_ = vtkSmartPointer<vtkOBBTree>::New();
+ // tree_->SetDataSet(reader_->GetOutput());
+ // tree_->BuildLocator();
+ }
+
+ {
+ Real bounds[6];
+ reader_->GetOutput()->GetBounds(bounds);
+
+ const Real xratio(edge_lengths_[0] / (bounds[1] - bounds[0]));
+ const Real yratio(edge_lengths_[1] / (bounds[3] - bounds[2]));
+ const Real zratio(edge_lengths_[2] / (bounds[5] - bounds[4]));
+ ratio_ = std::min(std::min(xratio, yratio), zratio);
+ shift_ = Real3(-bounds[0], -bounds[2], -bounds[4]); //XXX: align origin
+ }
+#endif
+}
+
+MeshSurface::MeshSurface(const MeshSurface& rhs)
+ : filename_(rhs.filename()), edge_lengths_(rhs.edge_lengths())
+{
+#ifdef HAVE_VTK
+ {
+ reader_ = vtkSmartPointer<vtkSTLReader>::New();
+ reader_->SetFileName(filename_.c_str());
+ reader_->Update();
+ // tree_ = vtkSmartPointer<vtkOBBTree>::New();
+ // tree_->SetDataSet(reader_->GetOutput());
+ // tree_->BuildLocator();
+ }
+
+ {
+ Real bounds[6];
+ reader_->GetOutput()->GetBounds(bounds);
+
+ const Real xratio(edge_lengths_[0] / (bounds[1] - bounds[0]));
+ const Real yratio(edge_lengths_[1] / (bounds[3] - bounds[2]));
+ const Real zratio(edge_lengths_[2] / (bounds[5] - bounds[4]));
+ ratio_ = std::min(std::min(xratio, yratio), zratio);
+ shift_ = Real3(-bounds[0], -bounds[2], -bounds[4]); //XXX: align origin
+ }
+#endif
+}
+
+Real MeshSurface::is_inside(const Real3& pos) const
+{
+#ifdef HAVE_VTK
+ double lineP0[3];
+ lineP0[0] = pos[0] / ratio_ - shift_[0];
+ lineP0[1] = pos[1] / ratio_ - shift_[1];
+ lineP0[2] = pos[2] / ratio_ - shift_[2];
+ vtkSmartPointer<vtkPoints> points = vtkSmartPointer<vtkPoints>::New();
+ points->InsertNextPoint(lineP0);
+
+ vtkSmartPointer<vtkPolyData> pointsPolydata = vtkSmartPointer<vtkPolyData>::New();
+ pointsPolydata->SetPoints(points);
+ vtkSmartPointer<vtkSelectEnclosedPoints> selectEnclosedPoints
+ = vtkSmartPointer<vtkSelectEnclosedPoints>::New();
+ selectEnclosedPoints->SetInput(pointsPolydata);
+ selectEnclosedPoints->SetSurface(reader_->GetOutput());
+ selectEnclosedPoints->Update();
+ return (selectEnclosedPoints->IsInside(0) ? 0.0 : inf);
+
+ // double lineP0[3];
+ // lineP0[0] = pos[0] / ratio_ - shift_[0];
+ // lineP0[1] = pos[1] / ratio_ - shift_[1];
+ // lineP0[2] = pos[2] / ratio_ - shift_[2];
+ // double lineP1[3];
+ // lineP1[0] = 0.0 / ratio_ - shift_[0];
+ // lineP1[1] = pos[1] / ratio_ - shift_[1];
+ // lineP1[2] = pos[2] / ratio_ - shift_[2];
+ // vtkSmartPointer<vtkPoints> intersectPoints = vtkSmartPointer<vtkPoints>::New();
+ // tree_->IntersectWithLine(lineP0, lineP1, intersectPoints, NULL);
+ // return (intersectPoints->GetNumberOfPoints() % 2 == 1 ? 0.0 : inf);
+#else
+ throw NotImplemented("not implemented yet.");
+#endif
+}
+
+Real3 MeshSurface::draw_position(boost::shared_ptr<RandomNumberGenerator>& rng) const
+{
+#ifdef HAVE_VTK
+ vtkPolyData* polydata = reader_->GetOutput();
+ std::vector<double> areas(polydata->GetNumberOfCells());
+ for (vtkIdType i(0); i < polydata->GetNumberOfCells(); i++)
+ {
+ vtkCell* cell = polydata->GetCell(i);
+ vtkTriangle* triangle = dynamic_cast<vtkTriangle*>(cell);
+ double p0[3];
+ double p1[3];
+ double p2[3];
+ triangle->GetPoints()->GetPoint(0, p0);
+ triangle->GetPoints()->GetPoint(1, p1);
+ triangle->GetPoints()->GetPoint(2, p2);
+ const double area = vtkTriangle::TriangleArea(p0, p1, p2);
+ // std::cout << "p0: " << p0[0] << " " << p0[1] << " " << p0[2] << std::endl;
+ // std::cout << "p1: " << p1[0] << " " << p1[1] << " " << p1[2] << std::endl;
+ // std::cout << "p2: " << p2[0] << " " << p2[1] << " " << p2[2] << std::endl;
+ // std::cout << "area of triangle " << i << ": " << area << std::endl;
+ areas[i] = area;
+ }
+ const double rnd = rng->uniform(0.0, std::accumulate(areas.begin(), areas.end(), 0.0));
+ double totarea = 0.0;
+ for (vtkIdType i(0); i < polydata->GetNumberOfCells(); i++)
+ {
+ totarea += areas[i];
+ if (rnd < totarea)
+ {
+ vtkCell* cell = polydata->GetCell(i);
+ vtkTriangle* triangle = dynamic_cast<vtkTriangle*>(cell);
+ double p0[3];
+ double p1[3];
+ double p2[3];
+ triangle->GetPoints()->GetPoint(0, p0);
+ triangle->GetPoints()->GetPoint(1, p1);
+ triangle->GetPoints()->GetPoint(2, p2);
+ const Real3 P0(p0[0], p0[1], p0[2]);
+ const Real3 P1(p1[0], p1[1], p1[2]);
+ const Real3 P2(p2[0], p2[1], p2[2]);
+ const Real p(rng->uniform(0.0, 1.0)), q(rng->uniform(0.0, 1.0 - p));
+ return (((P1 - P0) * p + (P2 - P0) * q + P0) + shift_) * ratio_;
+ }
+ }
+ throw IllegalState("Never reach here.");
+#else
+ throw NotImplemented("not implemented yet.");
+#endif
+}
+
+bool MeshSurface::test_AABB(const Real3& l, const Real3& u) const
+{
+ throw NotImplemented("not implemented yet.");
+}
+
+} // ecell4
diff --git a/ecell4/core/Mesh.hpp b/ecell4/core/Mesh.hpp
new file mode 100644
index 0000000..1371f82
--- /dev/null
+++ b/ecell4/core/Mesh.hpp
@@ -0,0 +1,80 @@
+#ifndef __ECELL4_MESH_HPP
+#define __ECELL4_MESH_HPP
+
+#include <ecell4/core/config.h>
+#include "Shape.hpp"
+
+#ifdef HAVE_VTK
+#include <vtkSmartPointer.h>
+#include <vtkCellLocator.h>
+#include <vtkSTLReader.h>
+#include <vtkOBBTree.h>
+#include <vtkPolyData.h>
+#include <vtkSelectEnclosedPoints.h>
+#include <vtkPoints.h>
+#include <vtkTriangle.h>
+#endif
+
+namespace ecell4
+{
+
+struct MeshSurface
+ : public Shape
+{
+public:
+
+ MeshSurface(const std::string filename, const Real3& edge_lengths);
+ MeshSurface(const MeshSurface& rhs);
+
+ std::string filename() const
+ {
+ return filename_;
+ }
+
+ Real3 edge_lengths() const
+ {
+ return edge_lengths_;
+ }
+
+ virtual dimension_kind dimension() const
+ {
+ return TWO;
+ }
+
+ virtual Real is_inside(const Real3& pos) const;
+ virtual Real3 draw_position(
+ boost::shared_ptr<RandomNumberGenerator>& rng) const;
+ virtual bool test_AABB(const Real3& l, const Real3& u) const;
+
+#ifdef HAVE_VTK
+ virtual void bounding_box(
+ const Real3& edge_lengths, Real3& lower, Real3& upper) const
+ {
+ double bounds[6];
+ reader_->GetOutput()->GetBounds(bounds);
+
+ const Real xlim(ratio_ * (bounds[1] - bounds[0]));
+ const Real ylim(ratio_ * (bounds[3] - bounds[2]));
+ const Real zlim(ratio_ * (bounds[5] - bounds[4]));
+
+ lower = Real3(0.0, 0.0, 0.0);
+ upper = Real3(xlim, ylim, zlim);
+ }
+#endif
+
+protected:
+
+ std::string filename_;
+ Real3 edge_lengths_;
+ Real ratio_;
+ Real3 shift_;
+
+#ifdef HAVE_VTK
+ vtkSmartPointer<vtkSTLReader> reader_;
+ // vtkSmartPointer<vtkOBBTree> tree_;
+#endif
+};
+
+} // ecell4
+
+#endif /* __ECELL4_MESH_HPP */
diff --git a/ecell4/core/Model.cpp b/ecell4/core/Model.cpp
new file mode 100644
index 0000000..1bb9bf8
--- /dev/null
+++ b/ecell4/core/Model.cpp
@@ -0,0 +1,68 @@
+#include "Model.hpp"
+
+namespace ecell4
+{
+
+ReactionRule create_degradation_reaction_rule(
+ const Species& reactant1, const Real& k)
+{
+ ReactionRule rr;
+ rr.set_k(k);
+ rr.add_reactant(reactant1);
+ return rr;
+}
+
+ReactionRule create_synthesis_reaction_rule(
+ const Species& product1, const Real& k)
+{
+ ReactionRule rr;
+ rr.set_k(k);
+ rr.add_product(product1);
+ return rr;
+}
+
+ReactionRule create_unimolecular_reaction_rule(
+ const Species& reactant1, const Species& product1, const Real& k)
+{
+ ReactionRule rr;
+ rr.set_k(k);
+ rr.add_reactant(reactant1);
+ rr.add_product(product1);
+ return rr;
+}
+
+ReactionRule create_binding_reaction_rule(
+ const Species& reactant1, const Species& reactant2, const Species& product1,
+ const Real& k)
+{
+ ReactionRule rr;
+ rr.set_k(k);
+ rr.add_reactant(reactant1);
+ rr.add_reactant(reactant2);
+ rr.add_product(product1);
+ return rr;
+}
+
+ReactionRule create_unbinding_reaction_rule(
+ const Species& reactant1, const Species& product1, const Species& product2,
+ const Real& k)
+{
+ ReactionRule rr;
+ rr.set_k(k);
+ rr.add_reactant(reactant1);
+ rr.add_product(product1);
+ rr.add_product(product2);
+ return rr;
+}
+
+// ReactionRule create_repulsive_reaction_rule(
+// const Species& reactant1, const Species& reactant2)
+// {
+// ReactionRule rr;
+// rr.set_k(0.0);
+// rr.add_reactant(reactant1);
+// rr.add_reactant(reactant2);
+// return rr;
+// }
+
+} // ecell4
diff --git a/ecell4/core/Model.hpp b/ecell4/core/Model.hpp
new file mode 100644
index 0000000..b5f4501
--- /dev/null
+++ b/ecell4/core/Model.hpp
@@ -0,0 +1,224 @@
+#ifndef __ECELL4_MODEL_HPP
+#define __ECELL4_MODEL_HPP
+
+#include "types.hpp"
+#include "Species.hpp"
+#include "ReactionRule.hpp"
+#include "exceptions.hpp"
+
+
+namespace ecell4
+{
+
+ReactionRule create_unimolecular_reaction_rule(
+ const Species& reactant1, const Species& product1, const Real& k);
+
+ReactionRule create_binding_reaction_rule(
+ const Species& reactant1, const Species& reactant2, const Species& product1,
+ const Real& k);
+
+ReactionRule create_unbinding_reaction_rule(
+ const Species& reactant1, const Species& product1, const Species& product2,
+ const Real& k);
+
+ReactionRule create_degradation_reaction_rule(
+ const Species& reactant1, const Real& k);
+
+ReactionRule create_synthesis_reaction_rule(
+ const Species& product1, const Real& k);
+
+// ReactionRule create_repulsive_reaction_rule(
+// const Species& reactant1, const Species& reactant2);
+
+class Model
+{
+public:
+
+ typedef std::vector<Species> species_container_type;
+ typedef std::vector<ReactionRule> reaction_rule_container_type;
+
+public:
+
+ virtual ~Model()
+ {
+ ;
+ }
+
+ // ModelTraits
+
+ /**
+ * a fundamental function to query unimolecular reaction rules from a reactant.
+ * this must be overloaded by any sub classes of Model.
+ * @param species Species of a reactant
+ * @return the vector of ReactionRule(s)
+ */
+ virtual std::vector<ReactionRule> query_reaction_rules(
+ const Species& sp) const = 0;
+
+ /**
+ * a fundamental function to query bimolecular reaction rules from reactants.
+ * this must be overloaded by any sub classes of Model.
+ * @param species1 Species of the first reactant
+ * @param species2 Species of the second reactant
+ * @return the vector of ReactionRule(s)
+ */
+ virtual std::vector<ReactionRule> query_reaction_rules(
+ const Species& sp1, const Species& sp2) const = 0;
+
+ virtual Integer apply(const Species& pttrn, const Species& sp) const = 0;
+ virtual std::vector<ReactionRule> apply(
+ const ReactionRule& rr,
+ const ReactionRule::reactant_container_type& reactants) const = 0;
+
+ // NetworkModelTraits
+
+ virtual bool is_static() const
+ {
+ return false;
+ }
+
+ /**
+ * add attributes of species to the model.
+ * this function is a part of the trait of Model.
+ * @param species a new Species
+ */
+ virtual void add_species_attribute(const Species& sp)
+ {
+ throw NotSupported(
+ "add_species_attribute is not supported in this model class");
+ }
+
+ /**
+ * return if a species attribute is in the model, or not.
+ * this function is a part of the trait of Model.
+ * @param species a Species
+ * @return if the species exists, or not
+ */
+ virtual bool has_species_attribute(const Species& sp) const
+ {
+ throw NotSupported(
+ "has_species_attribute is not supported in this model class");
+ }
+
+ /**
+ * remove attributes of species in the model.
+ * this function is a part of the trait of Model.
+ * @param species a new Species
+ */
+ virtual void remove_species_attribute(const Species& sp)
+ {
+ throw NotSupported(
+ "remove_species_attribute is not supported in this model class");
+ }
+
+ /**
+ * apply attributes of species to the given species.
+ * this function is a part of the trait of Model.
+ * @param species an original Species
+ */
+ virtual Species apply_species_attributes(const Species& sp) const
+ {
+ throw NotSupported(
+ "apply_species_attributes is not supported in this model class");
+ }
+
+ Species create_species(const std::string& name) const
+ {
+ return apply_species_attributes(Species(name));
+ }
+
+ /**
+ * add a reaction rule to the model.
+ * this function is a part of the trait of Model.
+ * @param rr a new ReactionRule
+ * @return if the reaction rule is not registered yet.
+ */
+ virtual void add_reaction_rule(const ReactionRule& rr)
+ {
+ throw NotSupported(
+ "add_reaction_rule is not supported in this model class");
+ }
+
+ /**
+ * remove a reaction rule in the model.
+ * this function is a part of the trait of Model.
+ * @param rr a new ReactionRule
+ */
+ virtual void remove_reaction_rule(const ReactionRule& rr)
+ {
+ throw NotSupported(
+ "remove_reaction_rule is not supported in this model class");
+ }
+
+ /**
+ * return if a reaction rule is in the model, or not.
+ * this function is a part of the trait of Model.
+ * @param rr a reaction rule
+ * @return if the reaction rule exists, or not
+ */
+ virtual bool has_reaction_rule(const ReactionRule& rr) const
+ {
+ throw NotSupported(
+ "has_reaction_rule is not supported in this model class");
+ }
+
+ virtual const reaction_rule_container_type& reaction_rules() const = 0;
+ virtual const species_container_type& species_attributes() const = 0;
+
+ const Integer num_reaction_rules() const
+ {
+ return this->reaction_rules().size();
+ }
+
+ virtual boost::shared_ptr<Model> expand(
+ const std::vector<Species>& sp, const Integer max_itr,
+ const std::map<Species, Integer>& max_stoich) const = 0;
+ virtual boost::shared_ptr<Model> expand(
+ const std::vector<Species>& sp, const Integer max_itr) const = 0;
+ virtual boost::shared_ptr<Model> expand(
+ const std::vector<Species>& sp) const = 0;
+
+ const std::vector<Species> list_species() const
+ {
+ std::vector<Species> retval;
+ const reaction_rule_container_type& rrs(reaction_rules());
+ for (reaction_rule_container_type::const_iterator i(rrs.begin());
+ i != rrs.end(); ++i)
+ {
+ const ReactionRule::reactant_container_type&
+ reactants((*i).reactants());
+ const ReactionRule::product_container_type&
+ products((*i).products());
+ std::copy(reactants.begin(), reactants.end(),
+ std::back_inserter(retval));
+ std::copy(products.begin(), products.end(),
+ std::back_inserter(retval));
+ }
+ std::sort(retval.begin(), retval.end());
+ retval.erase(
+ std::unique(retval.begin(), retval.end()), retval.end());
+ return retval;
+ }
+
+ void add_species_attributes(const std::vector<Species>& attrs)
+ {
+ for (std::vector<Species>::const_iterator i(attrs.begin());
+ i != attrs.end(); ++i)
+ {
+ add_species_attribute(*i);
+ }
+ }
+
+ void add_reaction_rules(const std::vector<ReactionRule>& rrs)
+ {
+ for (std::vector<ReactionRule>::const_iterator i(rrs.begin());
+ i != rrs.end(); ++i)
+ {
+ add_reaction_rule(*i);
+ }
+ }
+};
+
+} // ecell4
+
+#endif /* __ECELL4_MODEL_HPP */
diff --git a/ecell4/core/ModelWrapper.hpp b/ecell4/core/ModelWrapper.hpp
new file mode 100644
index 0000000..77da08e
--- /dev/null
+++ b/ecell4/core/ModelWrapper.hpp
@@ -0,0 +1,129 @@
+#include "Model.hpp"
+
+
+namespace ecell4
+{
+
+class ModelWrapper
+{
+public:
+
+ typedef Model::species_container_type species_container_type;
+ typedef Model::reaction_rule_container_type reaction_rule_container_type;
+
+protected:
+
+ typedef utils::get_mapper_mf<Species::serial_type, Species>::type
+ species_attribute_cache_type;
+ typedef std::map<Species::serial_type, std::vector<ReactionRule> >
+ first_order_reaction_rules_map_type;
+ typedef std::map<std::pair<Species::serial_type, Species::serial_type>,
+ std::vector<ReactionRule> >
+ second_order_reaction_rules_map_type;
+
+public:
+
+ ModelWrapper(const boost::shared_ptr<Model>& m)
+ : model_(m), species_attribute_cache_(), // species_cache_(),
+ first_order_reaction_rules_map_(), second_order_reaction_rules_map_()
+ {
+ ;
+ }
+
+ virtual ~ModelWrapper()
+ {
+ ;
+ }
+
+ const boost::shared_ptr<Model>& backend() const
+ {
+ return model_;
+ }
+
+ void initialize()
+ {
+ // species_cache_.clear();
+ species_attribute_cache_.clear();
+ first_order_reaction_rules_map_.clear();
+ second_order_reaction_rules_map_.clear();
+ }
+
+ Integer apply(const Species& pttrn, const Species& sp)
+ {
+ return model_->apply(pttrn, sp);
+ }
+
+ std::vector<ReactionRule> apply(
+ const ReactionRule& rr,
+ const ReactionRule::reactant_container_type& reactants)
+ {
+ return model_->apply(rr, reactants);
+ }
+
+ Species apply_species_attributes(const Species& sp)
+ {
+ species_attribute_cache_type::const_iterator
+ itr(species_attribute_cache_.find(sp.serial()));
+ if (itr != species_attribute_cache_.end())
+ {
+ return (*itr).second;
+ }
+
+ Species retval(model_->apply_species_attributes(sp));
+ species_attribute_cache_[sp.serial()] = retval;
+ return retval;
+ }
+
+ std::vector<ReactionRule> query_reaction_rules(const Species& sp)
+ {
+ first_order_reaction_rules_map_type::const_iterator
+ i(first_order_reaction_rules_map_.find(sp.serial()));
+ if (i != first_order_reaction_rules_map_.end())
+ {
+ return (*i).second;
+ }
+
+ std::vector<ReactionRule> retval(model_->query_reaction_rules(sp));
+ first_order_reaction_rules_map_.insert(std::make_pair(sp.serial(), retval));
+ return retval;
+ }
+
+ std::vector<ReactionRule> query_reaction_rules(
+ const Species& sp1, const Species& sp2)
+ {
+ const std::pair<Species::serial_type, Species::serial_type>
+ key(sp1.serial() < sp2.serial()?
+ std::make_pair(sp1.serial(), sp2.serial()):
+ std::make_pair(sp2.serial(), sp1.serial()));
+ second_order_reaction_rules_map_type::const_iterator
+ i(second_order_reaction_rules_map_.find(key));
+ if (i != second_order_reaction_rules_map_.end())
+ {
+ return (*i).second;
+ }
+
+ std::vector<ReactionRule> retval(model_->query_reaction_rules(sp1, sp2));
+ second_order_reaction_rules_map_.insert(std::make_pair(key, retval));
+ return retval;
+ }
+
+ // const std::vector<Species> list_species()
+ // {
+ // if (species_cache_.size() == 0)
+ // {
+ // species_cache_ = model_->list_species();
+ // }
+ // return species_cache_;
+ // }
+
+protected:
+
+ boost::shared_ptr<Model> model_;
+
+ // species_container_type species_cache_;
+ species_attribute_cache_type species_attribute_cache_;
+ first_order_reaction_rules_map_type first_order_reaction_rules_map_;
+ second_order_reaction_rules_map_type second_order_reaction_rules_map_;
+};
+
+} // ecell4
diff --git a/ecell4/core/MolecularType.hpp b/ecell4/core/MolecularType.hpp
new file mode 100644
index 0000000..3a9e4b2
--- /dev/null
+++ b/ecell4/core/MolecularType.hpp
@@ -0,0 +1,62 @@
+#ifndef __ECELL4_MOLECULAR_TYPE_HPP
+#define __ECELL4_MOLECULAR_TYPE_HPP
+
+#include "VoxelPool.hpp"
+#include "VacantType.hpp"
+
+namespace ecell4
+{
+
+class MolecularType
+ : public MoleculePool
+{
+public:
+
+ typedef MoleculePool base_type;
+ typedef base_type::coordinate_id_pair_type coordinate_id_pair_type;
+ typedef base_type::coordinate_type coordinate_type;
+ typedef base_type::container_type container_type;
+ typedef base_type::iterator iterator;
+ typedef base_type::const_iterator const_iterator;
+ typedef base_type::voxel_type_type voxel_type_type;
+
+public:
+
+ MolecularType(const std::string& name = "")
+ : base_type(Species(name), &(VacantType::getInstance()), 0, 0)
+ {
+ ;
+ }
+
+ MolecularType(const Species& species, const Real& radius = 0.0, const Real& D = 0.0)
+ : base_type(species, &(VacantType::getInstance()), radius, D)
+ {
+ ;
+ }
+
+ MolecularType(const Species& species, VoxelPool* location,
+ const Real& radius = 0.0, const Real& D = 0.0)
+ : base_type(species, location, radius, D)
+ {
+ ;
+ }
+
+ ~MolecularType()
+ {
+ ;
+ }
+
+ voxel_type_type const voxel_type() const
+ {
+ return DEFAULT;
+ }
+
+ virtual const Shape::dimension_kind get_dimension() const
+ {
+ return location()->get_dimension();
+ }
+};
+
+} // ecell4
+
+#endif /* __ECELL4_MOLECULAR_TYPE_HPP */
diff --git a/ecell4/core/NetfreeModel.cpp b/ecell4/core/NetfreeModel.cpp
new file mode 100644
index 0000000..ae3178b
--- /dev/null
+++ b/ecell4/core/NetfreeModel.cpp
@@ -0,0 +1,575 @@
+#include <algorithm>
+
+#include "exceptions.hpp"
+#include "NetfreeModel.hpp"
+
+
+namespace ecell4
+{
+
+std::vector<ReactionRule> NetfreeModel::query_reaction_rules(
+ const Species& sp) const
+{
+ ReactionRule::reactant_container_type reactants(1, sp);
+ std::vector<ReactionRule> retval;
+ for (reaction_rule_container_type::const_iterator i(reaction_rules_.begin());
+ i != reaction_rules_.end(); ++i)
+ {
+ const std::vector<ReactionRule> generated = (*i).generate(reactants);
+ // retval.insert(retval.end(), generated.begin(), generated.end());
+ retval.reserve(retval.size() + generated.size());
+ for (std::vector<ReactionRule>::const_iterator j(generated.begin());
+ j != generated.end(); ++j)
+ {
+ // const ReactionRule rr = create_reaction_rule_formatted(*j);
+ const ReactionRule rr = format_reaction_rule_with_nosort(*j);
+ std::vector<ReactionRule>::iterator
+ it = std::find(retval.begin(), retval.end(), rr);
+ if (it == retval.end())
+ {
+ retval.push_back(rr);
+ }
+ else
+ {
+ (*it).set_k((*it).k() + rr.k());
+ }
+ }
+ }
+ return retval;
+}
+
+struct reaction_rule_product_unary_predicator
+{
+ typedef ReactionRule element_type;
+
+ reaction_rule_product_unary_predicator(const element_type& target)
+ : target_(target)
+ {
+ ; // do nothing
+ }
+
+ bool operator()(const element_type& v)
+ {
+ return v.products() == target_.products();
+ }
+
+protected:
+
+ element_type target_;
+};
+
+std::vector<ReactionRule> generate_reaction_rules(
+ const ReactionRule& org, const Species& sp1, const Species& sp2)
+{
+ std::vector<ReactionRule> retval;
+ ReactionRule::reactant_container_type reactants(2);
+ reactants[0] = sp1;
+ reactants[1] = sp2;
+ ReactionRuleExpressionMatcher rrexp(org);
+ if (rrexp.match(sp1, sp2))
+ {
+ do
+ {
+ const ReactionRule rr(reactants, rrexp.generate(), org.k());
+ std::vector<ReactionRule>::const_iterator
+ i(std::find_if(retval.begin(), retval.end(),
+ reaction_rule_product_unary_predicator(rr)));
+ if (i != retval.end())
+ {
+ ;
+ }
+ else
+ {
+ retval.push_back(rr);
+ }
+ }
+ while (rrexp.next());
+ }
+
+ if (rrexp.match_reversed(sp1, sp2))
+ {
+ do
+ {
+ const ReactionRule rr(reactants, rrexp.generate(), org.k());
+ std::vector<ReactionRule>::const_iterator
+ i(std::find_if(retval.begin(), retval.end(),
+ reaction_rule_product_unary_predicator(rr)));
+ if (i != retval.end())
+ {
+ ;
+ }
+ else
+ {
+ retval.push_back(rr);
+ }
+ }
+ while (rrexp.next());
+ }
+
+ return retval;
+}
+
+std::vector<ReactionRule> NetfreeModel::query_reaction_rules(
+ const Species& sp1, const Species& sp2) const
+{
+ std::vector<ReactionRule> retval;
+ for (reaction_rule_container_type::const_iterator i(reaction_rules_.begin());
+ i != reaction_rules_.end(); ++i)
+ {
+ const std::vector<ReactionRule> generated = generate_reaction_rules(*i, sp1, sp2);
+ // retval.insert(retval.end(), generated.begin(), generated.end());
+ retval.reserve(retval.size() + generated.size());
+ for (std::vector<ReactionRule>::const_iterator j(generated.begin());
+ j != generated.end(); ++j)
+ {
+ // const ReactionRule rr = create_reaction_rule_formatted(*j);
+ const ReactionRule rr = format_reaction_rule_with_nosort(*j);
+ std::vector<ReactionRule>::iterator
+ it = std::find(retval.begin(), retval.end(), rr);
+ if (it == retval.end())
+ {
+ retval.push_back(rr);
+ }
+ else
+ {
+ (*it).set_k((*it).k() + rr.k());
+ }
+ }
+ }
+
+ if (effective_)
+ {
+ for (std::vector<ReactionRule>::iterator i(retval.begin()); i != retval.end(); ++i)
+ {
+ const ReactionRule& rr(*i);
+ if (rr.reactants()[0] == rr.reactants()[1])
+ {
+ (*i).set_k(rr.k() * 0.5);
+ }
+ }
+ }
+ return retval;
+}
+
+Integer NetfreeModel::apply(const Species& pttrn, const Species& sp) const
+{
+ return pttrn.count(sp);
+}
+
+std::vector<ReactionRule> NetfreeModel::apply(
+ const ReactionRule& rr, const ReactionRule::reactant_container_type& reactants) const
+{
+ return rr.generate(reactants);
+}
+
+void NetfreeModel::add_species_attribute(const Species& sp)
+{
+ if (has_species_attribute_exact(sp))
+ {
+ throw AlreadyExists("species already exists");
+ }
+ species_attributes_.push_back(sp);
+}
+
+void NetfreeModel::remove_species_attribute(const Species& sp)
+{
+ species_container_type::iterator i(
+ std::find(species_attributes_.begin(), species_attributes_.end(), sp));
+ if (i == species_attributes_.end())
+ {
+ std::ostringstream message;
+ message << "Speices [" << sp.serial() << "] not found";
+ throw NotFound(message.str()); // use boost::format if it's allowed
+ }
+ species_attributes_.erase(i);
+}
+
+bool NetfreeModel::has_species_attribute(const Species& sp) const
+{
+ return has_species_attribute_exact(sp);
+}
+
+bool NetfreeModel::has_species_attribute_exact(const Species& sp) const
+{
+ species_container_type::const_iterator i(
+ std::find(species_attributes_.begin(), species_attributes_.end(), sp));
+ return (i != species_attributes_.end());
+}
+
+void NetfreeModel::add_reaction_rule(const ReactionRule& rr)
+{
+ reaction_rule_container_type::const_iterator
+ i(std::find(reaction_rules_.begin(), reaction_rules_.end(), rr));
+ if (i != reaction_rules_.end())
+ {
+ throw AlreadyExists("reaction rule already exists");
+ }
+
+ // const reaction_rule_container_type::size_type idx(reaction_rules_.size());
+ reaction_rules_.push_back(rr);
+
+ // if (rr.reactants().size() == 1)
+ // {
+ // first_order_reaction_rules_map_[rr.reactants()[0].serial()].push_back(idx);
+ // }
+ // else if (rr.reactants().size() == 2)
+ // {
+ // const Species::serial_type
+ // serial1(rr.reactants()[0].serial()),
+ // serial2(rr.reactants()[1].serial());
+ // const std::pair<Species::serial_type, Species::serial_type>
+ // key(serial1 < serial2?
+ // std::make_pair(serial1, serial2):
+ // std::make_pair(serial2, serial1));
+ // second_order_reaction_rules_map_[key].push_back(idx);
+ // }
+ // else
+ // {
+ // ;
+ // }
+}
+
+void NetfreeModel::remove_reaction_rule(const ReactionRule& rr)
+{
+ reaction_rule_container_type::iterator
+ i(std::find(reaction_rules_.begin(), reaction_rules_.end(), rr));
+ if (i == reaction_rules_.end())
+ {
+ throw NotFound("reaction rule not found");
+ }
+ reaction_rules_.erase(i);
+
+ // reaction_rule_container_type::size_type const
+ // idx(i - reaction_rules_.begin()), last_idx(reaction_rules_.size() - 1);
+ // if (rr.reactants().size() == 1)
+ // {
+ // first_order_reaction_rules_map_type::iterator
+ // j(first_order_reaction_rules_map_.find(rr.reactants()[0].serial()));
+ // if (j == first_order_reaction_rules_map_.end())
+ // {
+ // throw IllegalState("no corresponding map key found");
+ // }
+
+ // first_order_reaction_rules_map_type::mapped_type::iterator
+ // k(std::remove((*j).second.begin(), (*j).second.end(), idx));
+ // if (k == (*j).second.end())
+ // {
+ // throw IllegalState("no corresponding map value found");
+ // }
+ // else
+ // {
+ // (*j).second.erase(k, (*j).second.end());
+ // }
+ // }
+ // else if (rr.reactants().size() == 2)
+ // {
+ // second_order_reaction_rules_map_type::iterator
+ // j(second_order_reaction_rules_map_.find(std::make_pair(
+ // rr.reactants()[0].serial(), rr.reactants()[1].serial())));
+ // if (j == second_order_reaction_rules_map_.end())
+ // {
+ // throw IllegalState("no corresponding map key found");
+ // }
+
+ // second_order_reaction_rules_map_type::mapped_type::iterator
+ // k(std::remove((*j).second.begin(), (*j).second.end(), idx));
+ // if (k == (*j).second.end())
+ // {
+ // throw IllegalState("no corresponding map value found");
+ // }
+ // else
+ // {
+ // (*j).second.erase(k, (*j).second.end());
+ // }
+ // }
+
+ // if (idx < last_idx)
+ // {
+ // reaction_rule_container_type::value_type const
+ // last_value(reaction_rules_[last_idx]);
+ // (*i) = last_value;
+
+ // if (last_value.reactants().size() == 1)
+ // {
+ // first_order_reaction_rules_map_type::iterator
+ // j(first_order_reaction_rules_map_.find(
+ // last_value.reactants()[0].serial()));
+ // if (j == first_order_reaction_rules_map_.end())
+ // {
+ // throw IllegalState("no corresponding map key for the last found");
+ // }
+
+ // first_order_reaction_rules_map_type::mapped_type::iterator
+ // k(std::remove((*j).second.begin(), (*j).second.end(), last_idx));
+ // if (k == (*j).second.end())
+ // {
+ // throw IllegalState("no corresponding map value found");
+ // }
+ // else
+ // {
+ // (*j).second.erase(k, (*j).second.end());
+ // }
+ // (*j).second.push_back(idx);
+ // }
+ // else if (last_value.reactants().size() == 2)
+ // {
+ // second_order_reaction_rules_map_type::iterator
+ // j(second_order_reaction_rules_map_.find(std::make_pair(
+ // last_value.reactants()[0].serial(),
+ // last_value.reactants()[1].serial())));
+ // if (j == second_order_reaction_rules_map_.end())
+ // {
+ // throw IllegalState("no corresponding map key for the last found");
+ // }
+ // second_order_reaction_rules_map_type::mapped_type::iterator
+ // k(std::remove((*j).second.begin(), (*j).second.end(), last_idx));
+ // if (k == (*j).second.end())
+ // {
+ // throw IllegalState("no corresponding map value found");
+ // }
+ // else
+ // {
+ // (*j).second.erase(k, (*j).second.end());
+ // }
+ // (*j).second.push_back(idx);
+ // }
+ // }
+
+ // reaction_rules_.pop_back();
+}
+
+bool NetfreeModel::has_reaction_rule(const ReactionRule& rr) const
+{
+ reaction_rule_container_type::const_iterator
+ i(std::find(reaction_rules_.begin(), reaction_rules_.end(), rr));
+ return (i != reaction_rules_.end());
+}
+
+boost::shared_ptr<Model> NetfreeModel::expand(
+ const std::vector<Species>& sp, const Integer max_itr,
+ const std::map<Species, Integer>& max_stoich) const
+{
+ return extras::generate_network_from_netfree_model(
+ *this, sp, max_itr, max_stoich).first;
+}
+
+
+boost::shared_ptr<Model> NetfreeModel::expand(
+ const std::vector<Species>& sp, const Integer max_itr) const
+{
+ return extras::generate_network_from_netfree_model(
+ *this, sp, max_itr).first;
+}
+
+boost::shared_ptr<Model> NetfreeModel::expand(
+ const std::vector<Species>& sp) const
+{
+ const Integer max_itr(30);
+ std::pair<boost::shared_ptr<NetworkModel>, bool>
+ retval(extras::generate_network_from_netfree_model(*this, sp, max_itr));
+ if (retval.second)
+ {
+ return retval.first;
+ }
+ else
+ {
+ return boost::shared_ptr<NetworkModel>(); // return null
+ }
+}
+
+namespace extras
+{
+
+bool check_stoichiometry(const Species& sp,
+ const std::map<Species, Integer>& max_stoich)
+{
+ for (std::map<Species, Integer>::const_iterator i(max_stoich.begin());
+ i != max_stoich.end(); ++i)
+ {
+ if ((*i).first.count(sp) > (*i).second)
+ {
+ return false;
+ }
+ }
+ return true;
+}
+
+bool check_stoichiometry(const ReactionRule& rr,
+ const std::map<Species, Integer>& max_stoich)
+{
+ for (ReactionRule::product_container_type::const_iterator
+ i(rr.products().begin()); i != rr.products().end(); ++i)
+ {
+ if (!check_stoichiometry(*i, max_stoich))
+ {
+ return false;
+ }
+ }
+ return true;
+}
+
+void __add_reaction_rules(
+ const std::vector<ReactionRule>& reaction_rules,
+ std::vector<ReactionRule>& reactions, std::vector<Species>& newseeds,
+ const std::vector<Species>& seeds,
+ const std::map<Species, Integer>& max_stoich)
+{
+ for (std::vector<ReactionRule>::const_iterator i(reaction_rules.begin());
+ i != reaction_rules.end(); ++i)
+ {
+ const ReactionRule& rr(*i);
+ if (!check_stoichiometry(rr, max_stoich))
+ {
+ continue;
+ }
+
+ reactions.push_back(rr);
+
+ for (ReactionRule::product_container_type::const_iterator
+ j(rr.products().begin()); j != rr.products().end(); ++j)
+ {
+ const Species sp(format_species(*j));
+ if (std::find(newseeds.begin(), newseeds.end(), sp)
+ == newseeds.end()
+ && std::find(seeds.begin(), seeds.end(), sp)
+ == seeds.end())
+ {
+ newseeds.push_back(sp);
+ }
+ }
+ }
+}
+
+void __generate_recurse(
+ const NetfreeModel& nfm, std::vector<ReactionRule>& reactions,
+ std::vector<Species>& seeds1, std::vector<Species>& seeds2,
+ const std::map<Species, Integer>& max_stoich)
+{
+ std::vector<Species> newseeds;
+ seeds2.insert(seeds2.begin(), seeds1.begin(), seeds1.end());
+
+ for (NetfreeModel::reaction_rule_container_type::const_iterator
+ i(nfm.reaction_rules().begin()); i != nfm.reaction_rules().end(); ++i)
+ {
+ const ReactionRule& rr(*i);
+
+ switch (rr.reactants().size())
+ {
+ case 0:
+ continue;
+ case 1:
+ for (std::vector<Species>::const_iterator j(seeds1.begin());
+ j != seeds1.end(); ++j)
+ {
+ ReactionRule::reactant_container_type reactants(1);
+ reactants[0] = *j;
+ __add_reaction_rules(
+ rr.generate(reactants), reactions, newseeds, seeds2, max_stoich);
+ }
+ break;
+ case 2:
+ for (std::vector<Species>::const_iterator j(seeds1.begin());
+ j != seeds1.end(); ++j)
+ {
+ const std::vector<Species>::const_iterator start(
+ seeds2.begin()
+ + std::distance<std::vector<Species>::const_iterator>(
+ seeds1.begin(), j));
+ for (std::vector<Species>::const_iterator
+ k(start); k != seeds2.end(); ++k)
+ {
+ __add_reaction_rules(
+ generate_reaction_rules(rr, *j, *k),
+ reactions, newseeds, seeds2, max_stoich);
+ }
+ }
+ break;
+ default:
+ throw NotImplemented(
+ "No reaction rule with more than two reactants is accepted.");
+ }
+ }
+
+ seeds1.swap(newseeds);
+}
+
+std::pair<boost::shared_ptr<NetworkModel>, bool> generate_network_from_netfree_model(
+ const NetfreeModel& nfm, const std::vector<Species>& seeds, const Integer max_itr,
+ const std::map<Species, Integer>& max_stoich)
+{
+ std::vector<ReactionRule> reactions;
+ std::vector<Species> seeds1(seeds);
+ std::vector<Species> seeds2;
+
+ for (NetfreeModel::reaction_rule_container_type::const_iterator
+ i(nfm.reaction_rules().begin()); i != nfm.reaction_rules().end(); ++i)
+ {
+ const ReactionRule& rr(*i);
+ if (rr.reactants().size() == 0 && check_stoichiometry(rr, max_stoich))
+ {
+ reactions.push_back(rr);
+ for (ReactionRule::product_container_type::const_iterator
+ j(rr.products().begin()); j != rr.products().end(); ++j)
+ {
+ const Species sp(format_species(*j));
+ if (std::find(seeds1.begin(), seeds1.end(), sp)
+ == seeds1.end())
+ {
+ seeds1.push_back(sp);
+ }
+ }
+ }
+ }
+
+ Integer cnt(0);
+ while (seeds1.size() > 0 && cnt < max_itr)
+ {
+ __generate_recurse(nfm, reactions, seeds1, seeds2, max_stoich);
+ cnt += 1;
+ }
+
+ bool is_completed;
+ if (seeds1.size() != 0)
+ {
+ is_completed = false;
+ seeds2.insert(seeds2.begin(), seeds1.begin(), seeds1.end());
+ }
+ else
+ {
+ is_completed = true;
+ }
+
+ boost::shared_ptr<NetworkModel> nwm(new NetworkModel());
+ for (std::vector<Species>::const_iterator i(seeds2.begin());
+ i != seeds2.end(); ++i)
+ {
+ (*nwm).add_species_attribute(nfm.apply_species_attributes(*i));
+ }
+ if (nfm.effective())
+ {
+ for (std::vector<ReactionRule>::const_iterator i(reactions.begin());
+ i != reactions.end(); ++i)
+ {
+ ReactionRule rr(format_reaction_rule(*i));
+ if (rr.reactants().size() == 2 && rr.reactants()[0] == rr.reactants()[1])
+ {
+ rr.set_k(rr.k() * 0.5);
+ }
+
+ (*nwm).add_reaction_rule(rr);
+ }
+ }
+ else
+ {
+ for (std::vector<ReactionRule>::const_iterator i(reactions.begin());
+ i != reactions.end(); ++i)
+ {
+ (*nwm).add_reaction_rule(format_reaction_rule(*i));
+ }
+ }
+ return std::make_pair(nwm, is_completed);
+}
+
+} // extras
+
+} // ecell4
diff --git a/ecell4/core/NetfreeModel.hpp b/ecell4/core/NetfreeModel.hpp
new file mode 100644
index 0000000..7102a85
--- /dev/null
+++ b/ecell4/core/NetfreeModel.hpp
@@ -0,0 +1,148 @@
+#ifndef __ECELL4_NETFREE_MODEL_HPP
+#define __ECELL4_NETFREE_MODEL_HPP
+
+// #include "get_mapper_mf.hpp"
+
+#include <map>
+#include <set>
+#include <algorithm>
+#include <iterator>
+#include <boost/shared_ptr.hpp>
+
+#include "types.hpp"
+#include "Species.hpp"
+#include "ReactionRule.hpp"
+#include "Model.hpp"
+
+#include "Context.hpp"
+#include "NetworkModel.hpp"
+
+
+namespace ecell4
+{
+
+class NetfreeModel
+ : public Model
+{
+public:
+
+ typedef Model base_type;
+ typedef base_type::species_container_type species_container_type;
+ typedef base_type::reaction_rule_container_type reaction_rule_container_type;
+
+public:
+
+ NetfreeModel()
+ : base_type(), species_attributes_(), reaction_rules_(), effective_(false)
+ {
+ ;
+ }
+
+ virtual ~NetfreeModel()
+ {
+ ;
+ }
+
+ // ModelTraits
+
+ std::vector<ReactionRule> query_reaction_rules(const Species& sp) const;
+ std::vector<ReactionRule> query_reaction_rules(
+ const Species& sp1, const Species& sp2) const;
+
+ std::vector<ReactionRule> query_reaction_rules(
+ const std::vector<Species>& splist, const std::vector<Species>::size_type n) const;
+
+ inline std::vector<ReactionRule> query_reaction_rules(
+ const std::vector<Species>& reactants) const
+ {
+ return this->query_reaction_rules(reactants, reactants.size());
+ }
+
+ Integer apply(const Species& pttrn, const Species& sp) const;
+ std::vector<ReactionRule> apply(
+ const ReactionRule& rr,
+ const ReactionRule::reactant_container_type& reactants) const;
+
+ Species apply_species_attributes(const Species& sp) const
+ {
+ for (species_container_type::const_iterator
+ i(species_attributes_.begin()); i != species_attributes_.end(); ++i)
+ {
+ if (spmatch(*i, sp))
+ {
+ Species retval(sp);
+ retval.set_attributes(*i);
+ return retval;
+ }
+ }
+ return sp;
+ }
+
+ // NetfreeModelTraits
+
+ void add_species_attribute(const Species& sp);
+ bool has_species_attribute(const Species& sp) const;
+ bool has_species_attribute_exact(const Species& sp) const;
+ void remove_species_attribute(const Species& sp);
+
+ void add_reaction_rule(const ReactionRule& rr);
+ void remove_reaction_rule(const ReactionRule& rr);
+ bool has_reaction_rule(const ReactionRule& rr) const;
+
+ // Optional functions
+
+ const reaction_rule_container_type& reaction_rules() const
+ {
+ return reaction_rules_;
+ }
+
+ const species_container_type& species_attributes() const
+ {
+ return species_attributes_;
+ }
+
+ boost::shared_ptr<Model> expand(
+ const std::vector<Species>& sp, const Integer max_itr,
+ const std::map<Species, Integer>& max_stoich) const;
+ boost::shared_ptr<Model> expand(
+ const std::vector<Species>& sp, const Integer max_itr) const;
+ boost::shared_ptr<Model> expand(const std::vector<Species>& sp) const;
+
+ void set_effective(const bool effective)
+ {
+ effective_ = effective;
+ }
+
+ const bool effective() const
+ {
+ return effective_;
+ }
+
+protected:
+
+ species_container_type species_attributes_;
+ reaction_rule_container_type reaction_rules_;
+
+ bool effective_;
+};
+
+namespace extras
+{
+
+std::pair<boost::shared_ptr<NetworkModel>, bool> generate_network_from_netfree_model(
+ const NetfreeModel& nfm, const std::vector<Species>& seeds, const Integer max_itr,
+ const std::map<Species, Integer>& max_stoich);
+
+inline std::pair<boost::shared_ptr<NetworkModel>, bool> generate_network_from_netfree_model(
+ const NetfreeModel& nfm, const std::vector<Species>& seeds, const Integer max_itr)
+{
+ const std::map<Species, Integer> max_stoich;
+ return generate_network_from_netfree_model(
+ nfm, seeds, max_itr, max_stoich);
+}
+
+} // extras
+
+} // ecell4
+
+#endif /* __ECELL4_NETFREE_MODEL_HPP */
diff --git a/ecell4/core/NetworkModel.cpp b/ecell4/core/NetworkModel.cpp
new file mode 100644
index 0000000..0ff85dd
--- /dev/null
+++ b/ecell4/core/NetworkModel.cpp
@@ -0,0 +1,258 @@
+#include <algorithm>
+
+#include "exceptions.hpp"
+#include "NetworkModel.hpp"
+
+
+namespace ecell4
+{
+
+std::vector<ReactionRule> NetworkModel::query_reaction_rules(
+ const Species& sp) const
+{
+ first_order_reaction_rules_map_type::const_iterator
+ i(first_order_reaction_rules_map_.find(sp.serial()));
+
+ std::vector<ReactionRule> retval;
+ if (i != first_order_reaction_rules_map_.end())
+ {
+ retval.reserve((*i).second.size());
+ for (first_order_reaction_rules_map_type::mapped_type::const_iterator
+ j((*i).second.begin()); j != (*i).second.end(); ++j)
+ {
+ retval.push_back(reaction_rules_[*j]);
+ }
+ }
+ return retval;
+}
+
+std::vector<ReactionRule> NetworkModel::query_reaction_rules(
+ const Species& sp1, const Species& sp2) const
+{
+ std::vector<ReactionRule> retval;
+ const std::pair<Species::serial_type, Species::serial_type>
+ key(sp1.serial() < sp2.serial()?
+ std::make_pair(sp1.serial(), sp2.serial()):
+ std::make_pair(sp2.serial(), sp1.serial()));
+
+ second_order_reaction_rules_map_type::const_iterator
+ i(second_order_reaction_rules_map_.find(key));
+ if (i != second_order_reaction_rules_map_.end())
+ {
+ retval.reserve((*i).second.size());
+ for (second_order_reaction_rules_map_type::mapped_type::const_iterator
+ j((*i).second.begin()); j != (*i).second.end(); ++j)
+ {
+ retval.push_back(reaction_rules_[*j]);
+ }
+ }
+ return retval;
+}
+
+Integer NetworkModel::apply(const Species& pttrn, const Species& sp) const
+{
+ return (pttrn == sp ? 1 : 0);
+}
+
+std::vector<ReactionRule> NetworkModel::apply(
+ const ReactionRule& rr, const ReactionRule::reactant_container_type& reactants) const
+{
+ if (rr.reactants().size() != reactants.size())
+ {
+ return std::vector<ReactionRule>();
+ }
+
+ ReactionRule::reactant_container_type::const_iterator
+ i(rr.reactants().begin()), j(reactants.begin());
+ for (; i != rr.reactants().end(); ++i, ++j)
+ {
+ if (*i != *j)
+ {
+ return std::vector<ReactionRule>();
+ }
+ }
+ return std::vector<ReactionRule>(1, rr);
+}
+
+void NetworkModel::add_species_attribute(const Species& sp)
+{
+ if (has_species_attribute(sp))
+ {
+ throw AlreadyExists("species already exists");
+ }
+ species_attributes_.push_back(sp);
+}
+
+void NetworkModel::remove_species_attribute(const Species& sp)
+{
+ species_container_type::iterator i(
+ std::find(species_attributes_.begin(), species_attributes_.end(), sp));
+ if (i == species_attributes_.end())
+ {
+ std::ostringstream message;
+ message << "Speices [" << sp.serial() << "] not found";
+ throw NotFound(message.str()); // use boost::format if it's allowed
+ }
+ species_attributes_.erase(i);
+}
+
+bool NetworkModel::has_species_attribute(const Species& sp) const
+{
+ species_container_type::const_iterator i(
+ std::find(species_attributes_.begin(), species_attributes_.end(), sp));
+ return (i != species_attributes_.end());
+}
+
+void NetworkModel::add_reaction_rule(const ReactionRule& rr)
+{
+ reaction_rule_container_type::iterator
+ i(std::find(reaction_rules_.begin(), reaction_rules_.end(), rr));
+ if (i != reaction_rules_.end())
+ {
+ // throw AlreadyExists("reaction rule already exists");
+ // std::cerr << "WARN: reaction rule ["
+ // << rr.as_string() << "] already exists." << std::endl;
+ (*i).set_k((*i).k() + rr.k());
+ return;
+ }
+
+ const reaction_rule_container_type::size_type idx(reaction_rules_.size());
+ reaction_rules_.push_back(rr);
+
+ if (rr.reactants().size() == 1)
+ {
+ first_order_reaction_rules_map_[rr.reactants()[0].serial()].push_back(idx);
+ }
+ else if (rr.reactants().size() == 2)
+ {
+ const Species::serial_type
+ serial1(rr.reactants()[0].serial()),
+ serial2(rr.reactants()[1].serial());
+ const std::pair<Species::serial_type, Species::serial_type>
+ key(serial1 < serial2?
+ std::make_pair(serial1, serial2):
+ std::make_pair(serial2, serial1));
+ second_order_reaction_rules_map_[key].push_back(idx);
+ }
+ else
+ {
+ ;
+ }
+}
+
+void NetworkModel::remove_reaction_rule(const ReactionRule& rr)
+{
+ reaction_rule_container_type::iterator
+ i(std::find(reaction_rules_.begin(), reaction_rules_.end(), rr));
+ if (i == reaction_rules_.end())
+ {
+ throw NotFound("reaction rule not found");
+ }
+
+ reaction_rule_container_type::size_type const
+ idx(i - reaction_rules_.begin()), last_idx(reaction_rules_.size() - 1);
+ if (rr.reactants().size() == 1)
+ {
+ first_order_reaction_rules_map_type::iterator
+ j(first_order_reaction_rules_map_.find(rr.reactants()[0].serial()));
+ if (j == first_order_reaction_rules_map_.end())
+ {
+ throw IllegalState("no corresponding map key found");
+ }
+
+ first_order_reaction_rules_map_type::mapped_type::iterator
+ k(std::remove((*j).second.begin(), (*j).second.end(), idx));
+ if (k == (*j).second.end())
+ {
+ throw IllegalState("no corresponding map value found");
+ }
+ else
+ {
+ (*j).second.erase(k, (*j).second.end());
+ }
+ }
+ else if (rr.reactants().size() == 2)
+ {
+ second_order_reaction_rules_map_type::iterator
+ j(second_order_reaction_rules_map_.find(std::make_pair(
+ rr.reactants()[0].serial(), rr.reactants()[1].serial())));
+ if (j == second_order_reaction_rules_map_.end())
+ {
+ throw IllegalState("no corresponding map key found");
+ }
+
+ second_order_reaction_rules_map_type::mapped_type::iterator
+ k(std::remove((*j).second.begin(), (*j).second.end(), idx));
+ if (k == (*j).second.end())
+ {
+ throw IllegalState("no corresponding map value found");
+ }
+ else
+ {
+ (*j).second.erase(k, (*j).second.end());
+ }
+ }
+
+ if (idx < last_idx)
+ {
+ reaction_rule_container_type::value_type const
+ last_value(reaction_rules_[last_idx]);
+ (*i) = last_value;
+
+ if (last_value.reactants().size() == 1)
+ {
+ first_order_reaction_rules_map_type::iterator
+ j(first_order_reaction_rules_map_.find(
+ last_value.reactants()[0].serial()));
+ if (j == first_order_reaction_rules_map_.end())
+ {
+ throw IllegalState("no corresponding map key for the last found");
+ }
+
+ first_order_reaction_rules_map_type::mapped_type::iterator
+ k(std::remove((*j).second.begin(), (*j).second.end(), last_idx));
+ if (k == (*j).second.end())
+ {
+ throw IllegalState("no corresponding map value found");
+ }
+ else
+ {
+ (*j).second.erase(k, (*j).second.end());
+ }
+ (*j).second.push_back(idx);
+ }
+ else if (last_value.reactants().size() == 2)
+ {
+ second_order_reaction_rules_map_type::iterator
+ j(second_order_reaction_rules_map_.find(std::make_pair(
+ last_value.reactants()[0].serial(),
+ last_value.reactants()[1].serial())));
+ if (j == second_order_reaction_rules_map_.end())
+ {
+ throw IllegalState("no corresponding map key for the last found");
+ }
+ second_order_reaction_rules_map_type::mapped_type::iterator
+ k(std::remove((*j).second.begin(), (*j).second.end(), last_idx));
+ if (k == (*j).second.end())
+ {
+ throw IllegalState("no corresponding map value found");
+ }
+ else
+ {
+ (*j).second.erase(k, (*j).second.end());
+ }
+ (*j).second.push_back(idx);
+ }
+ }
+
+ reaction_rules_.pop_back();
+}
+
+bool NetworkModel::has_reaction_rule(const ReactionRule& rr) const
+{
+ reaction_rule_container_type::const_iterator
+ i(std::find(reaction_rules_.begin(), reaction_rules_.end(), rr));
+ return (i != reaction_rules_.end());
+}
+
+} // ecell4
diff --git a/ecell4/core/NetworkModel.hpp b/ecell4/core/NetworkModel.hpp
new file mode 100644
index 0000000..217aa5a
--- /dev/null
+++ b/ecell4/core/NetworkModel.hpp
@@ -0,0 +1,137 @@
+#ifndef __ECELL4_NETWORK_MODEL_HPP
+#define __ECELL4_NETWORK_MODEL_HPP
+
+// #include "get_mapper_mf.hpp"
+
+#include <map>
+#include <set>
+#include <algorithm>
+#include <iterator>
+#include <boost/shared_ptr.hpp>
+
+#include "types.hpp"
+#include "Species.hpp"
+#include "ReactionRule.hpp"
+#include "Model.hpp"
+
+#include "Context.hpp"
+
+
+namespace ecell4
+{
+
+class NetworkModel
+ : public Model
+{
+public:
+
+ typedef Model base_type;
+ typedef base_type::species_container_type species_container_type;
+ typedef base_type::reaction_rule_container_type reaction_rule_container_type;
+
+protected:
+
+ typedef std::map<Species::serial_type,
+ std::vector<reaction_rule_container_type::size_type> >
+ first_order_reaction_rules_map_type;
+ typedef std::map<std::pair<Species::serial_type, Species::serial_type>,
+ std::vector<reaction_rule_container_type::size_type> >
+ second_order_reaction_rules_map_type;
+
+public:
+
+ NetworkModel()
+ : base_type(), species_attributes_(), reaction_rules_(),
+ first_order_reaction_rules_map_(), second_order_reaction_rules_map_()
+ {
+ ;
+ }
+
+ virtual ~NetworkModel()
+ {
+ ;
+ }
+
+ // ModelTraits
+
+ std::vector<ReactionRule> query_reaction_rules(const Species& sp) const;
+ std::vector<ReactionRule> query_reaction_rules(
+ const Species& sp1, const Species& sp2) const;
+
+ Integer apply(const Species& pttrn, const Species& sp) const;
+ std::vector<ReactionRule> apply(
+ const ReactionRule& rr,
+ const ReactionRule::reactant_container_type& reactants) const;
+
+ Species apply_species_attributes(const Species& sp) const
+ {
+ for (species_container_type::const_iterator
+ i(species_attributes_.begin()); i != species_attributes_.end(); ++i)
+ {
+ if (sp == *i)
+ {
+ Species retval(sp);
+ retval.set_attributes(*i);
+ return retval;
+ }
+ }
+ return sp;
+ }
+
+ boost::shared_ptr<Model> expand(
+ const std::vector<Species>& sp, const Integer max_itr,
+ const std::map<Species, Integer>& max_stoich) const
+ {
+ return boost::shared_ptr<Model>(new NetworkModel(*this));
+ }
+
+ boost::shared_ptr<Model> expand(
+ const std::vector<Species>& sp, const Integer max_itr) const
+ {
+ return boost::shared_ptr<Model>(new NetworkModel(*this));
+ }
+
+ boost::shared_ptr<Model> expand(const std::vector<Species>& sp) const
+ {
+ return boost::shared_ptr<Model>(new NetworkModel(*this));
+ }
+
+ // NetworkModelTraits
+
+ bool is_static() const
+ {
+ return true;
+ }
+
+ void add_species_attribute(const Species& sp);
+ bool has_species_attribute(const Species& sp) const;
+ void remove_species_attribute(const Species& sp);
+
+ void add_reaction_rule(const ReactionRule& rr);
+ void remove_reaction_rule(const ReactionRule& rr);
+ bool has_reaction_rule(const ReactionRule& rr) const;
+
+ // Optional functions
+
+ const reaction_rule_container_type& reaction_rules() const
+ {
+ return reaction_rules_;
+ }
+
+ const species_container_type& species_attributes() const
+ {
+ return species_attributes_;
+ }
+
+protected:
+
+ species_container_type species_attributes_;
+ reaction_rule_container_type reaction_rules_;
+
+ first_order_reaction_rules_map_type first_order_reaction_rules_map_;
+ second_order_reaction_rules_map_type second_order_reaction_rules_map_;
+};
+
+} // ecell4
+
+#endif /* __ECELL4_NETWORK_MODEL_HPP */
diff --git a/ecell4/core/OffLatticeSpace.cpp b/ecell4/core/OffLatticeSpace.cpp
new file mode 100644
index 0000000..b8388c3
--- /dev/null
+++ b/ecell4/core/OffLatticeSpace.cpp
@@ -0,0 +1,476 @@
+#include <algorithm>
+#include "Context.hpp"
+#include "OffLatticeSpace.hpp"
+
+namespace ecell4 {
+
+OffLatticeSpace::OffLatticeSpace(const Real& voxel_radius)
+ : base_type(voxel_radius), voxels_(), positions_(), adjoinings_(),
+ vacant_(&(VacantType::getInstance()))
+{
+}
+
+OffLatticeSpace::OffLatticeSpace(
+ const Real& voxel_radius,
+ const position_container& positions,
+ const coordinate_pair_list_type& adjoining_pairs)
+ : base_type(voxel_radius), voxels_(), positions_(), adjoinings_(),
+ vacant_(&(VacantType::getInstance()))
+{
+ reset(positions, adjoining_pairs);
+}
+
+OffLatticeSpace::~OffLatticeSpace() {}
+
+void OffLatticeSpace::reset(
+ const position_container& positions,
+ const coordinate_pair_list_type& adjoining_pairs)
+{
+ voxels_.clear();
+ positions_.clear();
+ adjoinings_.clear();
+
+ const std::size_t size(positions.size());
+
+ voxels_.resize(size, vacant_);
+ positions_.resize(size);
+ adjoinings_.resize(size);
+
+ std::copy(positions.begin(), positions.end(), positions_.begin());
+
+ for (coordinate_pair_list_type::const_iterator itr(adjoining_pairs.begin());
+ itr != adjoining_pairs.end(); ++itr)
+ {
+ const coordinate_type coord0((*itr).first);
+ const coordinate_type coord1((*itr).second);
+
+ if (is_in_range(coord0) && is_in_range(coord1))
+ {
+ adjoinings_.at(coord0).push_back(coord1);
+ adjoinings_.at(coord1).push_back(coord0);
+ }
+ else
+ {
+ throw IllegalState("A given pair is invalid.");
+ }
+ }
+}
+
+bool OffLatticeSpace::is_in_range(const coordinate_type& coord) const
+{
+ return 0 <= coord && coord < voxels_.size();
+}
+
+VoxelPool* OffLatticeSpace::get_voxel_pool(const Voxel& v)
+{
+ const Species& sp(v.species());
+
+ {
+ voxel_pool_map_type::iterator itr(voxel_pools_.find(sp));
+ if (itr != voxel_pools_.end())
+ {
+ return (*itr).second.get();
+ }
+ }
+
+ {
+ molecule_pool_map_type::iterator itr(molecule_pools_.find(sp));
+ if (itr != molecule_pools_.end())
+ {
+ return (*itr).second.get(); // upcast
+ }
+ }
+
+ // Create a new molecular pool
+
+ const bool suc = make_molecular_pool(sp, v.radius(), v.D(), v.loc());
+ if (!suc)
+ {
+ throw IllegalState("never reach here");
+ }
+
+ molecule_pool_map_type::iterator i = molecule_pools_.find(sp);
+ if (i == molecule_pools_.end())
+ {
+ throw IllegalState("never reach here");
+ }
+ return (*i).second.get(); // upcast
+}
+
+OffLatticeSpace::coordinate_type
+OffLatticeSpace::get_coord(const ParticleID& pid) const
+{
+ for (molecule_pool_map_type::const_iterator itr(molecule_pools_.begin());
+ itr != molecule_pools_.end(); ++itr)
+ {
+ const boost::shared_ptr<MoleculePool>& vp((*itr).second);
+ for (MoleculePool::const_iterator vitr(vp->begin());
+ vitr != vp->end(); ++vitr)
+ {
+ if ((*vitr).pid == pid)
+ {
+ return (*vitr).coordinate;
+ }
+ }
+ }
+ // throw NotFound("A corresponding particle is not found");
+ return -1;
+}
+
+bool OffLatticeSpace::make_molecular_pool(
+ const Species& sp, Real radius, Real D, const std::string loc)
+{
+ molecule_pool_map_type::iterator itr(molecule_pools_.find(sp));
+ if (itr != molecule_pools_.end())
+ {
+ return false;
+ }
+ else if (voxel_pools_.find(sp) != voxel_pools_.end())
+ {
+ throw IllegalState(
+ "The given species is already assigned to the VoxelPool with no voxels.");
+ }
+
+ VoxelPool* location;
+ if (loc == "")
+ {
+ location = vacant_;
+ }
+ else
+ {
+ const Species locsp(loc);
+ try
+ {
+ location = find_voxel_pool(locsp);
+ }
+ catch (const NotFound& err)
+ {
+ // XXX: A VoxelPool for the structure (location) must be allocated
+ // XXX: before the allocation of a Species on the structure.
+ // XXX: The VoxelPool cannot be automatically allocated at the time
+ // XXX: because its MoleculeInfo is unknown.
+ // XXX: LatticeSpaceVectorImpl::load will raise a problem about this issue.
+ // XXX: In this implementation, the VoxelPool for a structure is
+ // XXX: created with default arguments.
+ boost::shared_ptr<MoleculePool>
+ locmt(new MolecularType(locsp, vacant_, voxel_radius_, 0));
+ std::pair<molecule_pool_map_type::iterator, bool>
+ locval(molecule_pools_.insert(
+ molecule_pool_map_type::value_type(locsp, locmt)));
+ if (!locval.second)
+ {
+ throw AlreadyExists(
+ "never reach here. find_voxel_pool seems wrong.");
+ }
+ location = (*locval.first).second.get();
+ }
+ }
+
+ boost::shared_ptr<MoleculePool>
+ vp(new MolecularType(sp, location, radius, D));
+ std::pair<molecule_pool_map_type::iterator, bool>
+ retval(molecule_pools_.insert(
+ molecule_pool_map_type::value_type(sp, vp)));
+ if (!retval.second)
+ {
+ throw AlreadyExists("never reach here.");
+ }
+ return retval.second;
+}
+
+Integer OffLatticeSpace::count_voxels(const boost::shared_ptr<VoxelPool>& vp) const
+{
+ return static_cast<Integer>(std::count(voxels_.begin(), voxels_.end(), vp.get()));
+}
+
+
+/*
+ * public functions
+ */
+
+// Same as LatticeSpaceVectorImpl
+std::pair<ParticleID, Voxel>
+OffLatticeSpace::get_voxel_at(const coordinate_type& coord) const
+{
+ const VoxelPool* vp(voxels_.at(coord));
+ const std::string loc(vp->is_vacant() || vp->location()->is_vacant() ?
+ "" : vp->location()->species().serial());
+ return std::make_pair(vp->get_particle_id(coord),
+ Voxel(vp->species(), coord, vp->radius(), vp->D(), loc));
+}
+
+// Same as LatticeSpaceVectorImpl
+const Particle OffLatticeSpace::particle_at(const coordinate_type& coord) const
+{
+ const VoxelPool* vp(voxels_.at(coord));
+ return Particle(
+ vp->species(),
+ coordinate2position(coord),
+ vp->radius(), vp->D());
+}
+
+// Same as LatticeSpaceVectorImpl
+bool OffLatticeSpace::update_voxel(const ParticleID& pid, const Voxel& v)
+{
+ const coordinate_type& to_coord(v.coordinate());
+ if (!is_in_range(to_coord))
+ throw NotSupported("Out of bounds");
+
+ VoxelPool* new_vp(get_voxel_pool(v)); //XXX: need MoleculeInfo
+ VoxelPool* dest_vp(get_voxel_pool_at(to_coord));
+
+ if (dest_vp != new_vp->location())
+ {
+ throw NotSupported(
+ "Mismatch in the location. Failed to place '"
+ + new_vp->species().serial() + "' to '"
+ + dest_vp->species().serial() + "'.");
+ }
+
+ const coordinate_type from_coord(pid != ParticleID() ? get_coord(pid) : -1);
+ if (from_coord != -1)
+ {
+ // move
+ VoxelPool* src_vp(voxels_.at(from_coord));
+ src_vp->remove_voxel_if_exists(from_coord);
+
+ //XXX: use location?
+ dest_vp->replace_voxel(to_coord, from_coord);
+ voxel_container::iterator from_itr(voxels_.begin() + from_coord);
+ (*from_itr) = dest_vp;
+
+ new_vp->add_voxel(coordinate_id_pair_type(pid, to_coord));
+ voxel_container::iterator to_itr(voxels_.begin() + to_coord);
+ (*to_itr) = new_vp;
+ return false;
+ }
+
+ // new
+ dest_vp->remove_voxel_if_exists(to_coord);
+
+ new_vp->add_voxel(coordinate_id_pair_type(pid, to_coord));
+ voxel_container::iterator to_itr(voxels_.begin() + to_coord);
+ (*to_itr) = new_vp;
+ return true;
+}
+// Same as LatticeSpaceVectorImpl
+bool OffLatticeSpace::remove_voxel(const ParticleID& pid)
+{
+ for (molecule_pool_map_type::iterator i(molecule_pools_.begin());
+ i != molecule_pools_.end(); ++i)
+ {
+ const boost::shared_ptr<MoleculePool>& vp((*i).second);
+ MoleculePool::const_iterator j(vp->find(pid));
+ if (j != vp->end())
+ {
+ const coordinate_type coord((*j).coordinate);
+ if (!vp->remove_voxel_if_exists(coord))
+ {
+ return false;
+ }
+
+ voxel_container::iterator itr(voxels_.begin() + coord);
+ (*itr) = vp->location();
+ vp->location()->add_voxel(
+ coordinate_id_pair_type(ParticleID(), coord));
+ return true;
+ }
+ }
+ return false;
+}
+
+// Same as LatticeSpaceVectorImpl
+bool OffLatticeSpace::remove_voxel(const coordinate_type& coord)
+{
+ voxel_container::iterator itr(voxels_.begin() + coord);
+ VoxelPool* vp(*itr);
+ if (vp->is_vacant())
+ {
+ return false;
+ }
+ if (vp->remove_voxel_if_exists(coord))
+ {
+ (*itr) = vp->location();
+ vp->location()->add_voxel(
+ coordinate_id_pair_type(ParticleID(), coord));
+ return true;
+ }
+ return false;
+}
+
+bool OffLatticeSpace::can_move(const coordinate_type& src, const coordinate_type& dest) const
+{
+ if (src == dest) return false;
+
+ const VoxelPool* src_vp(voxels_.at(src));
+ if (src_vp->is_vacant()) return false;
+
+ VoxelPool* dest_vp(voxels_.at(dest));
+
+ return (voxels_.at(dest) == src_vp->location());
+}
+
+bool OffLatticeSpace::move(const coordinate_type& src, const coordinate_type& dest,
+ const std::size_t candidate)
+{
+ if (src == dest) return false;
+
+ VoxelPool* src_vp(voxels_.at(src));
+ if (src_vp->is_vacant()) return true;
+
+ VoxelPool* dest_vp(voxels_.at(dest));
+ if (dest_vp != src_vp->location()) return false;
+
+ src_vp->replace_voxel(src, dest, candidate);
+ voxel_container::iterator src_itr(voxels_.begin() + src);
+ (*src_itr) = dest_vp;
+
+ dest_vp->replace_voxel(dest, src);
+ voxel_container::iterator dest_itr(voxels_.begin() + dest);
+ (*dest_itr) = src_vp;
+
+ return true;
+}
+
+std::pair<OffLatticeSpace::coordinate_type, bool>
+OffLatticeSpace::move_to_neighbor(
+ VoxelPool* const& src_vp, VoxelPool* const& loc,
+ coordinate_id_pair_type& info, const Integer nrand)
+{
+ const coordinate_type src(info.coordinate);
+ coordinate_type dest(get_neighbor(src, nrand));
+
+ VoxelPool* dest_vp(voxels_.at(dest));
+
+ if (dest_vp != loc)
+ return std::make_pair(dest, false);
+
+ voxels_.at(src) = loc; // == dest_vp
+ voxels_.at(dest) = src_vp;
+
+ src_vp->replace_voxel(src, dest);
+ dest_vp->replace_voxel(dest, src);
+ return std::make_pair(dest, true);
+}
+
+// Same as LatticeSpaceVectorImpl
+VoxelPool* OffLatticeSpace::get_voxel_pool_at(const coordinate_type& coord) const
+{
+ return voxels_.at(coord);
+}
+
+// Same as LatticeSpaceVectorImpl
+bool OffLatticeSpace::on_structure(const Voxel& v)
+{
+ return voxels_.at(v.coordinate()) != get_voxel_pool(v)->location();
+}
+
+OffLatticeSpace::coordinate_type OffLatticeSpace::inner2coordinate(const coordinate_type inner) const
+{
+ throw NotSupported("OffLatticeSpace::inner2coordinate() is not supported.");
+}
+
+Real3 OffLatticeSpace::coordinate2position(const coordinate_type& coord) const
+{
+ return positions_.at(coord);
+}
+
+OffLatticeSpace::coordinate_type
+OffLatticeSpace::position2coordinate(const Real3& pos) const
+{
+ coordinate_type coordinate(0);
+ Real shortest_length = length(positions_.at(0) - pos);
+
+ for (coordinate_type coord(1); coord < size(); ++coord)
+ {
+ const Real len(length(positions_.at(coord) - pos));
+ if (len < shortest_length)
+ {
+ coordinate = coord;
+ shortest_length = len;
+ }
+ }
+
+ return coordinate;
+}
+
+Integer OffLatticeSpace::num_neighbors(const coordinate_type& coord) const
+{
+ return adjoinings_.at(coord).size();
+}
+
+// the second argument should be RandomNumberGenerator rather than Integer.
+OffLatticeSpace::coordinate_type
+OffLatticeSpace::get_neighbor(const coordinate_type& coord, const Integer& nrand) const
+{
+ return adjoinings_.at(coord).at(nrand);
+}
+
+OffLatticeSpace::coordinate_type
+OffLatticeSpace::get_neighbor_boundary(const coordinate_type& coord, const Integer& nrand) const
+{
+ return get_neighbor(coord, nrand);
+}
+
+Integer OffLatticeSpace::num_molecules(const Species& sp) const
+{
+ Integer count(0);
+ SpeciesExpressionMatcher sexp(sp);
+
+ for (voxel_pool_map_type::const_iterator itr(voxel_pools_.begin());
+ itr != voxel_pools_.end(); ++itr)
+ {
+ const Integer cnt(sexp.count((*itr).first));
+ if (cnt > 0)
+ {
+ const boost::shared_ptr<VoxelPool>& vp((*itr).second);
+ count += count_voxels(vp) * cnt;
+ }
+ }
+
+ for (molecule_pool_map_type::const_iterator itr(molecule_pools_.begin());
+ itr != molecule_pools_.end(); ++itr)
+ {
+ const Integer cnt(sexp.count((*itr).first));
+ if (cnt > 0)
+ {
+ const boost::shared_ptr<MoleculePool>& vp((*itr).second);
+ count += vp->size() * cnt;
+ }
+ }
+ return count;
+}
+
+Real3 OffLatticeSpace::actual_lengths() const
+{
+ throw NotSupported("OffLatticeSpace::actual_lengths() is not supported.");
+}
+
+Integer OffLatticeSpace::size() const
+{
+ return voxels_.size();
+}
+
+Integer3 OffLatticeSpace::shape() const
+{
+ throw NotSupported("OffLatticeSpace::shape() is not supported.");
+}
+
+Integer OffLatticeSpace::inner_size() const
+{
+ return size();
+}
+
+#ifdef WITH_HDF5
+void OffLatticeSpace::save_hdf5(H5::Group* root) const
+{
+ throw NotSupported("OffLatticeSpace::save_hdf5 is not supported yet.");
+}
+
+void OffLatticeSpace::load_hdf5(const H5::Group& root)
+{
+ throw NotSupported("OffLatticeSpace::load_hdf5 is not supported yet.");
+}
+#endif
+
+} // ecell4
diff --git a/ecell4/core/OffLatticeSpace.hpp b/ecell4/core/OffLatticeSpace.hpp
new file mode 100644
index 0000000..020314c
--- /dev/null
+++ b/ecell4/core/OffLatticeSpace.hpp
@@ -0,0 +1,102 @@
+#ifndef __ECELL4_OFFLATTICE_SPACE_HPP
+#define __ECELL4_OFFLATTICE_SPACE_HPP
+
+#include "VoxelSpaceBase.hpp"
+
+namespace ecell4
+{
+
+class OffLatticeSpace : public VoxelSpaceBase
+{
+protected:
+
+ typedef VoxelSpaceBase base_type;
+ typedef std::vector<VoxelPool*> voxel_container;
+ typedef std::vector<std::vector<coordinate_type> > adjoining_container;
+
+public:
+ typedef std::pair<coordinate_type, coordinate_type> coordinate_pair_type;
+ typedef std::vector<Real3> position_container;
+ typedef std::vector<coordinate_pair_type> coordinate_pair_list_type;
+
+ OffLatticeSpace(const Real& voxel_radius);
+ OffLatticeSpace(const Real& voxel_radius,
+ const position_container& positions,
+ const coordinate_pair_list_type& adjoining_pairs);
+ virtual ~OffLatticeSpace();
+
+ virtual std::pair<ParticleID, Voxel> get_voxel_at(const coordinate_type& coord) const;
+
+ virtual const Particle particle_at(const coordinate_type& coord) const;
+
+ virtual bool update_voxel(const ParticleID& pid, const Voxel& v);
+ virtual bool remove_voxel(const ParticleID& pid);
+ virtual bool remove_voxel(const coordinate_type& coord);
+
+ virtual bool can_move(const coordinate_type& src,
+ const coordinate_type& dest) const;
+ virtual bool move(const coordinate_type& src,
+ const coordinate_type& dest,
+ const std::size_t candidate=0);
+ virtual std::pair<coordinate_type, bool> move_to_neighbor(
+ VoxelPool* const& from,
+ VoxelPool* const& loc,
+ coordinate_id_pair_type& info,
+ const Integer nrand);
+
+ virtual VoxelPool* get_voxel_pool_at(const coordinate_type& coord) const;
+
+ /*
+ * Structure
+ */
+ virtual bool on_structure(const Voxel& v);
+
+ virtual coordinate_type inner2coordinate(const coordinate_type inner) const;
+
+ virtual Real3 coordinate2position(const coordinate_type& coord) const;
+ virtual coordinate_type position2coordinate(const Real3& pos) const;
+
+ virtual Integer num_neighbors(const coordinate_type& coord) const;
+ virtual coordinate_type get_neighbor(const coordinate_type& coord,
+ const Integer& nrand) const;
+ virtual coordinate_type get_neighbor_boundary(const coordinate_type& coord,
+ const Integer& nrand) const;
+
+ virtual Integer num_molecules(const Species& sp) const;
+
+ virtual Real3 actual_lengths() const;
+
+ virtual Integer size() const;
+ virtual Integer3 shape() const;
+ virtual Integer inner_size() const;
+
+#ifdef WITH_HDF5
+ virtual void save_hdf5(H5::Group* root) const;
+ virtual void load_hdf5(const H5::Group& root);
+#endif
+
+protected:
+
+ void reset(const position_container& positions,
+ const coordinate_pair_list_type& adjoining_pairs);
+ bool is_in_range(const coordinate_type& coord) const;
+ VoxelPool* get_voxel_pool(const Voxel& v);
+ coordinate_type get_coord(const ParticleID& pid) const;
+ bool make_molecular_pool(const Species& sp,
+ Real radius,
+ Real D,
+ const std::string loc);
+ Integer count_voxels(const boost::shared_ptr<VoxelPool>& vp) const;
+
+protected:
+
+ voxel_container voxels_;
+ position_container positions_;
+ adjoining_container adjoinings_;
+
+ VoxelPool* vacant_;
+};
+
+} // ecell4
+
+#endif /* __ECELL4_OFFLATTICE_SPACE_HPP */
diff --git a/ecell4/core/Particle.hpp b/ecell4/core/Particle.hpp
new file mode 100644
index 0000000..26993a9
--- /dev/null
+++ b/ecell4/core/Particle.hpp
@@ -0,0 +1,171 @@
+#ifndef __ECELL4_PARTICLE_HPP
+#define __ECELL4_PARTICLE_HPP
+
+#include <map>
+
+#include <ecell4/core/config.h>
+
+#include "types.hpp"
+#include "Real3.hpp"
+#include "Species.hpp"
+#include "Identifier.hpp"
+
+#include "hash.hpp"
+
+namespace ecell4
+{
+
+class Particle;
+
+template<typename Tstrm_, typename Ttraits_>
+inline std::basic_ostream<Tstrm_, Ttraits_>& operator<<(std::basic_ostream<Tstrm_, Ttraits_>& strm, const Particle& p);
+
+class Particle
+{
+public:
+
+ typedef Real3 position_type;
+ typedef Real length_type;
+ typedef Real D_type;
+ typedef Species species_type;
+ typedef species_type::serial_type species_serial_type;
+
+public:
+
+ Particle()
+ {
+ ;
+ }
+
+ explicit Particle(
+ const Species& sp, const Real3& pos, const Real& radius,
+ const Real& D)
+ : species_(sp), position_(pos), radius_(radius), D_(D)
+ {
+ ;
+ }
+
+ Particle(
+ const species_serial_type& sid, const Real3& pos,
+ const Real& radius, const Real& D)
+ : species_(sid), position_(pos), radius_(radius), D_(D)
+ {
+ ;
+ }
+
+ Real3& position()
+ {
+ return position_;
+ }
+
+ const Real3& position() const
+ {
+ return position_;
+ }
+
+ Real& radius()
+ {
+ return radius_;
+ }
+
+ const Real& radius() const
+ {
+ return radius_;
+ }
+
+ Real& D()
+ {
+ return D_;
+ }
+
+ const Real& D() const
+ {
+ return D_;
+ }
+
+ Species& species()
+ {
+ return species_;
+ }
+
+ const Species& species() const
+ {
+ return species_;
+ }
+
+ Species::serial_type species_serial()
+ {
+ return species_.serial();
+ }
+
+ const Species::serial_type species_serial() const
+ {
+ return species_.serial();
+ }
+
+ inline Species::serial_type sid()
+ {
+ return species_serial();
+ }
+
+ inline const Species::serial_type sid() const
+ {
+ return species_serial();
+ }
+
+ bool operator==(Particle const& rhs) const
+ {
+ return (this->sid() == rhs.sid() &&
+ this->radius() == rhs.radius() &&
+ this->position() == rhs.position());
+ }
+
+ bool operator!=(Particle const& rhs) const
+ {
+ return !operator==(rhs);
+ }
+
+ std::string show(int precision)
+ {
+ std::ostringstream strm;
+ strm.precision(precision);
+ strm << *this;
+ return strm.str();
+ }
+
+private:
+
+ Species species_;
+ Real3 position_;
+ Real radius_, D_;
+};
+
+template<typename Tstrm_, typename Ttraits_>
+inline std::basic_ostream<Tstrm_, Ttraits_>& operator<<(std::basic_ostream<Tstrm_, Ttraits_>& strm, const Particle& p)
+{
+ strm << "Particle(" << "{ " << p.position() << ", " << p.radius() << "}, " << ", D=" << p.D() << ", " << p.sid() << ")";
+ return strm;
+}
+
+} // ecell4
+
+ECELL4_DEFINE_HASH_BEGIN()
+
+template<>
+struct hash<ecell4::Particle>
+{
+ typedef ecell4::Particle argument_type;
+
+ std::size_t operator()(argument_type const& val)
+ {
+ return hash<argument_type::position_type>()(val.position()) ^
+ hash<argument_type::length_type>()(val.radius()) ^
+ hash<argument_type::D_type>()(val.D()) ^
+ // hash<argument_type::species_type>()(val.species());
+ hash<argument_type::species_serial_type>()(val.sid());
+ }
+};
+
+ECELL4_DEFINE_HASH_END()
+
+#endif /* __ECELL4_PARTICLE_HPP */
diff --git a/ecell4/core/ParticleSpace.cpp b/ecell4/core/ParticleSpace.cpp
new file mode 100644
index 0000000..28841e4
--- /dev/null
+++ b/ecell4/core/ParticleSpace.cpp
@@ -0,0 +1,233 @@
+#include <cmath>
+#include <stdexcept>
+
+#include "exceptions.hpp"
+#include "Context.hpp"
+#include "comparators.hpp"
+#include "ParticleSpace.hpp"
+
+
+namespace ecell4
+{
+
+Integer ParticleSpaceVectorImpl::num_particles() const
+{
+ return static_cast<Integer>(particles_.size());
+}
+
+Integer ParticleSpaceVectorImpl::num_particles(const Species& sp) const
+{
+ return static_cast<Integer>(list_particles(sp).size());
+}
+
+Integer ParticleSpaceVectorImpl::num_molecules(const Species& sp) const
+{
+ Integer retval(0);
+ SpeciesExpressionMatcher sexp(sp);
+ for (particle_container_type::const_iterator i(particles_.begin());
+ i != particles_.end(); ++i)
+ {
+ retval += sexp.count((*i).second.species());
+ }
+ return retval;
+}
+
+Integer ParticleSpaceVectorImpl::num_molecules_exact(const Species& sp) const
+{
+ return num_particles_exact(sp);
+}
+
+Integer ParticleSpaceVectorImpl::num_particles_exact(const Species& sp) const
+{
+ return static_cast<Integer>(list_particles_exact(sp).size());
+}
+
+bool ParticleSpaceVectorImpl::has_particle(const ParticleID& pid) const
+{
+ particle_map_type::const_iterator i(index_map_.find(pid));
+ return (i != index_map_.end());
+}
+
+/**
+ * update or add a particle.
+ * @return true if adding a new particle
+ */
+bool ParticleSpaceVectorImpl::update_particle(
+ const ParticleID& pid, const Particle& p)
+{
+ particle_map_type::const_iterator i(index_map_.find(pid));
+ if (i == index_map_.end())
+ {
+ particle_container_type::size_type idx(particles_.size());
+ index_map_[pid] = idx;
+ particles_.push_back(std::make_pair(pid, p));
+ return true;
+ }
+ else
+ {
+ particles_[(*i).second] = std::make_pair(pid, p);
+ return false;
+ }
+}
+
+void ParticleSpaceVectorImpl::remove_particle(const ParticleID& pid)
+{
+ particle_map_type::const_iterator i(index_map_.find(pid));
+ if (i == index_map_.end())
+ {
+ throw NotFound("particle not found");
+ }
+
+ particle_map_type::mapped_type
+ idx((*i).second),last_idx(particles_.size() - 1);
+ if (idx != last_idx)
+ {
+ const std::pair<ParticleID, Particle>& last(particles_[last_idx]);
+ particles_[idx] = last;
+ index_map_[last.first] = idx;
+ }
+
+ particles_.pop_back();
+ index_map_.erase((*i).first);
+}
+
+std::pair<ParticleID, Particle> ParticleSpaceVectorImpl::get_particle(
+ const ParticleID& pid) const
+{
+ particle_map_type::const_iterator i(index_map_.find(pid));
+ if (i == index_map_.end())
+ {
+ throw NotFound("particle not found");
+ }
+
+ return particles_[(*i).second];
+}
+
+std::vector<std::pair<ParticleID, Particle> >
+ParticleSpaceVectorImpl::list_particles() const
+{
+ return particles_;
+}
+
+std::vector<std::pair<ParticleID, Particle> >
+ParticleSpaceVectorImpl::list_particles(const Species& sp) const
+{
+ std::vector<std::pair<ParticleID, Particle> > retval;
+ SpeciesExpressionMatcher sexp(sp);
+
+ for (particle_container_type::const_iterator i(particles_.begin());
+ i != particles_.end(); ++i)
+ {
+ if (sexp.match((*i).second.species()))
+ {
+ retval.push_back(*i);
+ }
+ }
+ return retval;
+}
+
+std::vector<std::pair<ParticleID, Particle> >
+ParticleSpaceVectorImpl::list_particles_exact(const Species& sp) const
+{
+ std::vector<std::pair<ParticleID, Particle> > retval;
+
+ for (particle_container_type::const_iterator i(particles_.begin());
+ i != particles_.end(); ++i)
+ {
+ if ((*i).second.species() == sp)
+ {
+ retval.push_back(*i);
+ }
+ }
+
+ return retval;
+}
+
+std::vector<std::pair<std::pair<ParticleID, Particle>, Real> >
+ParticleSpaceVectorImpl::list_particles_within_radius(
+ const Real3& pos, const Real& radius) const
+{
+ std::vector<std::pair<std::pair<ParticleID, Particle>, Real> > retval;
+
+ for (particle_container_type::const_iterator i(particles_.begin());
+ i != particles_.end(); ++i)
+ {
+ const Real dist(distance((*i).second.position(), pos) - (*i).second.radius());
+ if (dist <= radius)
+ {
+ retval.push_back(std::make_pair(*i, dist));
+ }
+ }
+
+ std::sort(retval.begin(), retval.end(),
+ utils::pair_second_element_comparator<std::pair<ParticleID, Particle>, Real>());
+ return retval;
+}
+
+std::vector<std::pair<std::pair<ParticleID, Particle>, Real> >
+ParticleSpaceVectorImpl::list_particles_within_radius(
+ const Real3& pos, const Real& radius, const ParticleID& ignore) const
+{
+ std::vector<std::pair<std::pair<ParticleID, Particle>, Real> > retval;
+
+ for (particle_container_type::const_iterator i(particles_.begin());
+ i != particles_.end(); ++i)
+ {
+ const Real dist(distance((*i).second.position(), pos) - (*i).second.radius());
+ if (dist <= radius)
+ {
+ if ((*i).first != ignore)
+ {
+ retval.push_back(std::make_pair(*i, dist));
+ }
+ }
+ }
+
+ std::sort(retval.begin(), retval.end(),
+ utils::pair_second_element_comparator<std::pair<ParticleID, Particle>, Real>());
+ return retval;
+}
+
+std::vector<std::pair<std::pair<ParticleID, Particle>, Real> >
+ParticleSpaceVectorImpl::list_particles_within_radius(
+ const Real3& pos, const Real& radius,
+ const ParticleID& ignore1, const ParticleID& ignore2) const
+{
+ std::vector<std::pair<std::pair<ParticleID, Particle>, Real> > retval;
+
+ for (particle_container_type::const_iterator i(particles_.begin());
+ i != particles_.end(); ++i)
+ {
+ const Real dist(distance((*i).second.position(), pos) - (*i).second.radius());
+ if (dist <= radius)
+ {
+ if ((*i).first != ignore1 && (*i).first != ignore2)
+ {
+ retval.push_back(std::make_pair(*i, dist));
+ }
+ }
+ }
+
+ std::sort(retval.begin(), retval.end(),
+ utils::pair_second_element_comparator<std::pair<ParticleID, Particle>, Real>());
+ return retval;
+}
+
+void ParticleSpaceVectorImpl::reset(const Real3& edge_lengths)
+{
+ base_type::t_ = 0.0;
+ particles_.clear();
+ index_map_.clear();
+
+ for (Real3::size_type dim(0); dim < 3; ++dim)
+ {
+ if (edge_lengths[dim] <= 0)
+ {
+ throw std::invalid_argument("the edge length must be positive.");
+ }
+ }
+
+ edge_lengths_ = edge_lengths;
+}
+
+} // ecell4
diff --git a/ecell4/core/ParticleSpace.hpp b/ecell4/core/ParticleSpace.hpp
new file mode 100644
index 0000000..6dd3da4
--- /dev/null
+++ b/ecell4/core/ParticleSpace.hpp
@@ -0,0 +1,434 @@
+#ifndef __ECELL4_PARTICLE_SPACE_HPP
+#define __ECELL4_PARTICLE_SPACE_HPP
+
+#include <cmath>
+
+#include "get_mapper_mf.hpp"
+#include "types.hpp"
+#include "functions.hpp"
+#include "exceptions.hpp"
+#include "Real3.hpp"
+#include "Particle.hpp"
+#include "Species.hpp"
+#include "Space.hpp"
+
+#ifdef WITH_HDF5
+#include "ParticleSpaceHDF5Writer.hpp"
+#endif
+
+namespace ecell4
+{
+
+class ParticleSpace
+ : public Space
+{
+public:
+
+ typedef std::vector<std::pair<ParticleID, Particle> >
+ particle_container_type;
+
+public:
+
+ ParticleSpace()
+ : t_(0.0)
+ {
+ ;
+ }
+
+ virtual ~ParticleSpace()
+ {
+ ; // do nothing
+ }
+
+ // SpaceTraits
+
+ const Real t() const
+ {
+ return t_;
+ }
+
+ void set_t(const Real& t)
+ {
+ if (t < 0.0)
+ {
+ throw std::invalid_argument("the time must be positive.");
+ }
+ t_ = t;
+ }
+
+ // ParticleSpaceTraits
+
+ /**
+ * get the axes lengths of a cuboidal region.
+ * this function is a part of the trait of ParticleSpace.
+ * @return edge lengths Real3
+ */
+ virtual const Real3& edge_lengths() const
+ {
+ throw NotImplemented("edge_lengths() not implemented");
+ }
+
+ /**
+ * get the number of particles.
+ * this function is a part of the trait of ParticleSpace.
+ * @return a number of particles Integer
+ */
+ virtual Integer num_particles() const
+ {
+ throw NotImplemented("num_particles() not implemented");
+ }
+
+ /**
+ * get the number of particles.
+ * this function is a part of the trait of ParticleSpace.
+ * @param sp a species
+ * @return a number of particles Integer
+ */
+ virtual Integer num_particles(const Species& sp) const
+ {
+ return num_particles_exact(sp);
+ }
+
+ virtual Integer num_particles_exact(const Species& sp) const
+ {
+ throw NotImplemented("num_particles_exact(const Species&) not implemented");
+ }
+
+ /**
+ * get all particles.
+ * this function is a part of the trait of ParticleSpace.
+ * @return a list of particles
+ */
+ virtual std::vector<std::pair<ParticleID, Particle> >
+ list_particles() const
+ {
+ throw NotImplemented("list_particles() not implemented");
+ }
+
+ /**
+ * get particles.
+ * this function is a part of the trait of ParticleSpace.
+ * @param sp a species
+ * @return a list of particles
+ */
+ virtual std::vector<std::pair<ParticleID, Particle> >
+ list_particles(const Species& sp) const
+ {
+ return list_particles_exact(sp);
+ }
+
+ virtual std::vector<std::pair<ParticleID, Particle> >
+ list_particles_exact(const Species& sp) const
+ {
+ throw NotImplemented("list_particles_exact(const Species&) not implemented");
+ }
+
+ /**
+ * check if the particle exists.
+ * this function is a part of the trait of ParticleSpace.
+ * @param pid an ID for the particle
+ * @return if the particle exists or not bool
+ */
+ virtual bool has_particle(const ParticleID& pid) const
+ {
+ throw NotImplemented("has_particle(const ParticleID&) not implemented.");
+ }
+
+ virtual std::vector<Species> list_species() const
+ {
+ const particle_container_type& pcont(particles());
+ std::vector<Species> retval;
+ for (particle_container_type::const_iterator i(pcont.begin());
+ i != pcont.end(); ++i)
+ {
+ const Species& sp((*i).second.species());
+ if (std::find(retval.begin(), retval.end(), sp)
+ == retval.end())
+ {
+ retval.push_back(sp);
+ }
+ }
+ return retval;
+ }
+
+#ifdef WITH_HDF5
+ virtual void save_hdf5(H5::Group* root) const = 0;
+ virtual void load_hdf5(const H5::Group& root) = 0;
+#endif
+
+ // ParticleSpace member functions
+
+ /**
+ * update a particle specified by its ID.
+ * if the particle does not exist, create a new particle.
+ * this function is a member of ParticleSpace
+ * @param pid ParticleID
+ * @param p Particle
+ * @return if the particle does not exist or not bool
+ */
+ virtual bool update_particle(const ParticleID& pid, const Particle& p) = 0;
+
+ /**
+ * get a particle specified with an ID.
+ * this function is a member of ParticleSpace
+ * @param pid ParticleID
+ * @return a pair of ParticleID and Particle
+ */
+ virtual std::pair<ParticleID, Particle>
+ get_particle(const ParticleID& pid) const = 0;
+
+ /**
+ * remove a particle
+ * this function is a member of ParticleSpace
+ * @param pid ParticleID
+ */
+ virtual void remove_particle(const ParticleID& pid) = 0;
+
+ /**
+ * get particles within a spherical region.
+ * this function is a part of the trait of ParticleSpace.
+ * @param pos a center position of the sphere
+ * @param radius a radius of the sphere
+ * @return a list of particles
+ */
+ virtual std::vector<std::pair<std::pair<ParticleID, Particle>, Real> >
+ list_particles_within_radius(
+ const Real3& pos, const Real& radius) const = 0;
+
+ /**
+ * get particles within a spherical region except for ignore(s).
+ * this function is a part of the trait of ParticleSpace.
+ * @param pos a center position of the sphere
+ * @param radius a radius of the sphere
+ * @param ignore an ignored ID
+ * @return a list of particles
+ */
+ virtual std::vector<std::pair<std::pair<ParticleID, Particle>, Real> >
+ list_particles_within_radius(
+ const Real3& pos, const Real& radius,
+ const ParticleID& ignore) const = 0;
+
+ /**
+ * get particles within a spherical region except for ignore(s).
+ * this function is a part of the trait of ParticleSpace.
+ * @param pos a center position of the sphere
+ * @param radius a radius of the sphere
+ * @param ignore1 an ignored ID
+ * @param ignore2 an ignored ID
+ * @return a list of particles
+ */
+ virtual std::vector<std::pair<std::pair<ParticleID, Particle>, Real> >
+ list_particles_within_radius(
+ const Real3& pos, const Real& radius,
+ const ParticleID& ignore1, const ParticleID& ignore2) const = 0;
+
+ /**
+ * transpose a position based on the periodic boundary condition.
+ * this function is a part of the trait of ParticleSpace.
+ * @param pos1 a target position
+ * @param pos2 a reference position
+ * @return a transposed position Real3
+ */
+ Real3 periodic_transpose(
+ const Real3& pos1, const Real3& pos2) const
+ {
+ Real3 retval(pos1);
+ const Real3& edges(edge_lengths());
+ for (Real3::size_type dim(0); dim < 3; ++dim)
+ {
+ const Real edge_length(edges[dim]);
+ const Real diff(pos2[dim] - pos1[dim]), half(edge_length * 0.5);
+
+ if (diff > half)
+ {
+ retval[dim] += edge_length;
+ }
+ else if (diff < -half)
+ {
+ retval[dim] -= edge_length;
+ }
+ }
+ return retval;
+ }
+
+ /**
+ * transpose a position based on the periodic boundary condition.
+ * if the position is in the region, returns the original position.
+ * this function is a part of the trait of ParticleSpace.
+ * @param pos a target position
+ * @return a transposed position Real3
+ */
+ inline Real3 apply_boundary(const Real3& pos) const
+ {
+ return modulo(pos, edge_lengths());
+ }
+
+ /**
+ * calculate a square of the distance between positions
+ * this function is a part of the trait of ParticleSpace.
+ * @param pos1
+ * @param pos2
+ * @return a square of the distance
+ */
+ Real distance_sq(
+ const Real3& pos1, const Real3& pos2) const
+ {
+ // Real retval(0);
+ // const Real3& edges(edge_lengths());
+ // for (Real3::size_type dim(0); dim < 3; ++dim)
+ // {
+ // const Real edge_length(edges[dim]);
+ // const Real diff(pos2[dim] - pos1[dim]), half(edge_length * 0.5);
+
+ // if (diff > half)
+ // {
+ // retval += pow_2(diff - edge_length);
+ // }
+ // else if (diff < -half)
+ // {
+ // retval += pow_2(diff + edge_length);
+ // }
+ // else
+ // {
+ // retval += pow_2(diff);
+ // }
+ // }
+ // return retval;
+
+ return length_sq(subtract(pos1, periodic_transpose(pos2, pos1)));
+ }
+
+ /**
+ * calculate the distance between positions
+ * this function is a part of the trait of ParticleSpace.
+ * @param pos1
+ * @param pos2
+ * @return the distance
+ */
+ inline Real distance(const Real3& pos1, const Real3& pos2) const
+ {
+ return std::sqrt(distance_sq(pos1, pos2));
+ }
+
+ // Optional members
+
+ virtual const particle_container_type& particles() const = 0;
+
+ virtual Real get_value(const Species& sp) const
+ {
+ return static_cast<Real>(num_molecules(sp));
+ }
+
+ virtual Real get_value_exact(const Species& sp) const
+ {
+ return static_cast<Real>(num_molecules_exact(sp));
+ }
+
+ virtual const Real volume() const
+ {
+ const Real3& size(edge_lengths());
+ return size[0] * size[1] * size[2];
+ }
+
+protected:
+
+ Real t_;
+};
+
+class ParticleSpaceVectorImpl
+ : public ParticleSpace
+{
+public:
+
+ typedef ParticleSpace base_type;
+ typedef ParticleSpace::particle_container_type particle_container_type;
+
+protected:
+
+ typedef utils::get_mapper_mf<
+ ParticleID, particle_container_type::size_type>::type particle_map_type;
+
+public:
+
+ ParticleSpaceVectorImpl(const Real3& edge_lengths)
+ {
+ reset(edge_lengths);
+ }
+
+ // ParticleSpaceTraits
+
+ const Real3& edge_lengths() const
+ {
+ return edge_lengths_;
+ }
+
+ Integer num_particles() const;
+ Integer num_particles(const Species& sp) const;
+ Integer num_particles_exact(const Species& sp) const;
+ std::vector<std::pair<ParticleID, Particle> > list_particles() const;
+ std::vector<std::pair<ParticleID, Particle> >
+ list_particles(const Species& sp) const;
+ std::vector<std::pair<ParticleID, Particle> >
+ list_particles_exact(const Species& sp) const;
+ bool has_particle(const ParticleID& pid) const;
+
+ // ParticleSpace member functions
+
+ bool update_particle(const ParticleID& pid, const Particle& p);
+ std::pair<ParticleID, Particle> get_particle(const ParticleID& pid) const;
+ void remove_particle(const ParticleID& pid);
+
+ std::vector<std::pair<std::pair<ParticleID, Particle>, Real> >
+ list_particles_within_radius(
+ const Real3& pos, const Real& radius) const;
+ std::vector<std::pair<std::pair<ParticleID, Particle>, Real> >
+ list_particles_within_radius(
+ const Real3& pos, const Real& radius,
+ const ParticleID& ignore) const;
+ std::vector<std::pair<std::pair<ParticleID, Particle>, Real> >
+ list_particles_within_radius(
+ const Real3& pos, const Real& radius,
+ const ParticleID& ignore1, const ParticleID& ignore2) const;
+
+ // CompartmentSpaceTraits
+
+ Integer num_molecules(const Species& sp) const;
+ Integer num_molecules_exact(const Species& sp) const;
+
+ // Optional members
+
+ const particle_container_type& particles() const
+ {
+ return particles_;
+ }
+
+ virtual void save(const std::string& filename) const
+ {
+ throw NotSupported(
+ "save(const std::string) is not supported by this space class");
+ }
+
+#ifdef WITH_HDF5
+ void save_hdf5(H5::Group* root) const
+ {
+ save_particle_space(*this, root);
+ }
+
+ void load_hdf5(const H5::Group& root)
+ {
+ load_particle_space(root, this);
+ }
+#endif
+
+ void reset(const Real3& edge_lengths);
+
+protected:
+
+ Real3 edge_lengths_;
+ particle_container_type particles_;
+ particle_map_type index_map_;
+};
+
+} // ecell4
+
+#endif /* __ECELL4_PARTICLE_SPACE_HPP */
diff --git a/ecell4/core/ParticleSpaceCellListImpl.cpp b/ecell4/core/ParticleSpaceCellListImpl.cpp
new file mode 100644
index 0000000..f169206
--- /dev/null
+++ b/ecell4/core/ParticleSpaceCellListImpl.cpp
@@ -0,0 +1,346 @@
+#include "ParticleSpaceCellListImpl.hpp"
+#include "Context.hpp"
+#include "comparators.hpp"
+
+
+namespace ecell4
+{
+
+void ParticleSpaceCellListImpl::reset(const Real3& edge_lengths)
+{
+ base_type::t_ = 0.0;
+ particles_.clear();
+ rmap_.clear();
+ particle_pool_.clear();
+
+ for (matrix_type::size_type i(0); i < matrix_.shape()[0]; ++i)
+ {
+ for (matrix_type::size_type j(0); j < matrix_.shape()[1]; ++j)
+ {
+ for (matrix_type::size_type k(0); k < matrix_.shape()[2]; ++k)
+ {
+ matrix_[i][j][k].clear();
+ }
+ }
+ }
+
+ for (Real3::size_type dim(0); dim < 3; ++dim)
+ {
+ if (edge_lengths[dim] <= 0)
+ {
+ throw std::invalid_argument("the edge length must be positive.");
+ }
+ }
+
+ edge_lengths_ = edge_lengths;
+ // throw NotImplemented("Not implemented yet.");
+}
+
+bool ParticleSpaceCellListImpl::update_particle(
+ const ParticleID& pid, const Particle& p)
+{
+ particle_container_type::iterator i(find(pid));
+ if (i != particles_.end())
+ {
+ if ((*i).second.species() != p.species())
+ {
+ particle_pool_[(*i).second.species_serial()].erase((*i).first);
+ particle_pool_[p.species_serial()].insert(pid);
+ }
+ this->update(i, std::make_pair(pid, p));
+ return false;
+ }
+
+ this->update(std::make_pair(pid, p));
+ // const bool succeeded(this->update(std::make_pair(pid, p)).second);
+ // BOOST_ASSERT(succeeded);
+
+ particle_pool_[p.species_serial()].insert(pid);
+ return true;
+}
+
+std::pair<ParticleID, Particle> ParticleSpaceCellListImpl::get_particle(
+ const ParticleID& pid) const
+{
+ particle_container_type::const_iterator i(this->find(pid));
+ if (i == particles_.end())
+ {
+ throw NotFound("No such particle.");
+ }
+ return (*i);
+}
+
+bool ParticleSpaceCellListImpl::has_particle(const ParticleID& pid) const
+{
+ return (this->find(pid) != particles_.end());
+}
+
+void ParticleSpaceCellListImpl::remove_particle(const ParticleID& pid)
+{
+ //XXX: In contrast to the original ParticleContainer in epdp,
+ //XXX: this remove_particle throws an error when no corresponding
+ //XXX: particle is found.
+ std::pair<ParticleID, Particle> pp(get_particle(pid)); //XXX: may raise an error.
+ particle_pool_[pp.second.species_serial()].erase(pid);
+ this->erase(pid);
+}
+
+Integer ParticleSpaceCellListImpl::num_particles() const
+{
+ return particles_.size();
+}
+
+Integer ParticleSpaceCellListImpl::num_particles(const Species& sp) const
+{
+ Integer retval(0);
+ SpeciesExpressionMatcher sexp(sp);
+ for (per_species_particle_id_set::const_iterator i(particle_pool_.begin());
+ i != particle_pool_.end(); ++i)
+ {
+ const Species tgt((*i).first);
+ if (sexp.match(tgt))
+ {
+ retval += (*i).second.size();
+ }
+ }
+ return retval;
+}
+
+Integer ParticleSpaceCellListImpl::num_particles_exact(const Species& sp) const
+{
+ per_species_particle_id_set::const_iterator i(particle_pool_.find(sp.serial()));
+ if (i == particle_pool_.end())
+ {
+ return 0;
+ }
+ return (*i).second.size();
+}
+
+Integer ParticleSpaceCellListImpl::num_molecules(const Species& sp) const
+{
+ Integer retval(0);
+ SpeciesExpressionMatcher sexp(sp);
+ for (per_species_particle_id_set::const_iterator i(particle_pool_.begin());
+ i != particle_pool_.end(); ++i)
+ {
+ const Species tgt((*i).first);
+ retval += sexp.count(tgt) * (*i).second.size();
+ }
+ return retval;
+}
+
+Integer ParticleSpaceCellListImpl::num_molecules_exact(const Species& sp) const
+{
+ return num_particles_exact(sp);
+}
+
+std::vector<std::pair<ParticleID, Particle> >
+ ParticleSpaceCellListImpl::list_particles() const
+{
+ return particles_;
+}
+
+std::vector<std::pair<ParticleID, Particle> >
+ ParticleSpaceCellListImpl::list_particles(const Species& sp) const
+{
+ std::vector<std::pair<ParticleID, Particle> > retval;
+ SpeciesExpressionMatcher sexp(sp);
+
+ for (particle_container_type::const_iterator i(particles_.begin());
+ i != particles_.end(); ++i)
+ {
+ if (sexp.match((*i).second.species()))
+ {
+ retval.push_back(*i);
+ }
+ }
+ return retval;
+}
+
+std::vector<std::pair<ParticleID, Particle> >
+ ParticleSpaceCellListImpl::list_particles_exact(const Species& sp) const
+{
+ std::vector<std::pair<ParticleID, Particle> > retval;
+
+ // per_species_particle_id_set::const_iterator
+ // i(particle_pool_.find(sp.serial()));
+ // if (i == particle_pool_.end())
+ // {
+ // //XXX: In the original, this raises an error,
+ // //XXX: but returns an empty vector here.
+ // return retval;
+ // }
+ // retval.reserve((*i).second.size());
+
+ for (particle_container_type::const_iterator i(particles_.begin());
+ i != particles_.end(); ++i)
+ {
+ if ((*i).second.species() == sp)
+ {
+ retval.push_back(*i);
+ }
+ }
+ return retval;
+}
+
+std::vector<std::pair<std::pair<ParticleID, Particle>, Real> >
+ ParticleSpaceCellListImpl::list_particles_within_radius(
+ const Real3& pos, const Real& radius) const
+{
+ std::vector<std::pair<std::pair<ParticleID, Particle>, Real> > retval;
+
+ // MatrixSpace::each_neighbor_cyclic
+ if (particles_.size() == 0)
+ {
+ return retval;
+ }
+
+ cell_index_type idx(this->index(pos));
+
+ // MatrixSpace::each_neighbor_cyclic_loops
+ cell_offset_type off;
+ for (off[2] = -1; off[2] <= 1; ++off[2])
+ {
+ for (off[1] = -1; off[1] <= 1; ++off[1])
+ {
+ for (off[0] = -1; off[0] <= 1; ++off[0])
+ {
+ cell_index_type newidx(idx);
+ const Real3 stride(this->offset_index_cyclic(newidx, off));
+ const cell_type& c(this->cell(newidx));
+ for (cell_type::const_iterator i(c.begin()); i != c.end(); ++i)
+ {
+ // neighbor_filter::operator()
+ particle_container_type::const_iterator
+ itr(particles_.begin() + (*i));
+ // particle_container_type::const_iterator itr = particles_.begin();
+ // std::advance(itr, *i);
+
+ const Real dist(
+ length((*itr).second.position() + stride - pos)
+ - (*itr).second.radius());
+ if (dist < radius)
+ {
+ // overlap_checker::operator()
+ retval.push_back(
+ std::make_pair(*itr, dist));
+ }
+ }
+ }
+ }
+ }
+
+ std::sort(retval.begin(), retval.end(),
+ utils::pair_second_element_comparator<std::pair<ParticleID, Particle>, Real>());
+ return retval;
+}
+
+std::vector<std::pair<std::pair<ParticleID, Particle>, Real> >
+ ParticleSpaceCellListImpl::list_particles_within_radius(
+ const Real3& pos, const Real& radius,
+ const ParticleID& ignore) const
+{
+ std::vector<std::pair<std::pair<ParticleID, Particle>, Real> > retval;
+
+ // MatrixSpace::each_neighbor_cyclic
+ if (particles_.size() == 0)
+ {
+ return retval;
+ }
+
+ cell_index_type idx(this->index(pos));
+
+ // MatrixSpace::each_neighbor_cyclic_loops
+ cell_offset_type off;
+ for (off[2] = -1; off[2] <= 1; ++off[2])
+ {
+ for (off[1] = -1; off[1] <= 1; ++off[1])
+ {
+ for (off[0] = -1; off[0] <= 1; ++off[0])
+ {
+ cell_index_type newidx(idx);
+ const Real3 stride(this->offset_index_cyclic(newidx, off));
+ const cell_type& c(this->cell(newidx));
+ for (cell_type::const_iterator i(c.begin()); i != c.end(); ++i)
+ {
+ // neighbor_filter::operator()
+ particle_container_type::const_iterator
+ itr(particles_.begin() + (*i));
+
+ const Real dist(
+ length((*itr).second.position() + stride - pos)
+ - (*itr).second.radius());
+ if (dist < radius)
+ {
+ // overlap_checker::operator()
+ if ((*itr).first != ignore)
+ {
+ retval.push_back(
+ std::make_pair(*itr, dist));
+ }
+ }
+ }
+ }
+ }
+ }
+
+ std::sort(retval.begin(), retval.end(),
+ utils::pair_second_element_comparator<std::pair<ParticleID, Particle>, Real>());
+ return retval;
+}
+
+std::vector<std::pair<std::pair<ParticleID, Particle>, Real> >
+ ParticleSpaceCellListImpl::list_particles_within_radius(
+ const Real3& pos, const Real& radius,
+ const ParticleID& ignore1, const ParticleID& ignore2) const
+{
+ std::vector<std::pair<std::pair<ParticleID, Particle>, Real> > retval;
+
+ // MatrixSpace::each_neighbor_cyclic
+ if (particles_.size() == 0)
+ {
+ return retval;
+ }
+
+ cell_index_type idx(this->index(pos));
+
+ // MatrixSpace::each_neighbor_cyclic_loops
+ cell_offset_type off;
+ for (off[2] = -1; off[2] <= 1; ++off[2])
+ {
+ for (off[1] = -1; off[1] <= 1; ++off[1])
+ {
+ for (off[0] = -1; off[0] <= 1; ++off[0])
+ {
+ cell_index_type newidx(idx);
+ const Real3 stride(this->offset_index_cyclic(newidx, off));
+ const cell_type& c(this->cell(newidx));
+ for (cell_type::const_iterator i(c.begin()); i != c.end(); ++i)
+ {
+ // neighbor_filter::operator()
+ particle_container_type::const_iterator
+ itr(particles_.begin() + (*i));
+
+ const Real dist(
+ length((*itr).second.position() + stride - pos)
+ - (*itr).second.radius());
+ if (dist < radius)
+ {
+ // overlap_checker::operator()
+ if ((*itr).first != ignore1 && (*itr).first != ignore2)
+ {
+ retval.push_back(
+ std::make_pair(*itr, dist));
+ }
+ }
+ }
+ }
+ }
+ }
+
+ std::sort(retval.begin(), retval.end(),
+ utils::pair_second_element_comparator<std::pair<ParticleID, Particle>, Real>());
+ return retval;
+}
+
+};
diff --git a/ecell4/core/ParticleSpaceCellListImpl.hpp b/ecell4/core/ParticleSpaceCellListImpl.hpp
new file mode 100644
index 0000000..2ebe9dd
--- /dev/null
+++ b/ecell4/core/ParticleSpaceCellListImpl.hpp
@@ -0,0 +1,500 @@
+#ifndef __ECELL4_PARTICLE_SPACE_CELL_LIST_IMPL_HPP
+#define __ECELL4_PARTICLE_SPACE_CELL_LIST_IMPL_HPP
+
+#include <set>
+#include <boost/multi_array.hpp>
+
+#include "ParticleSpace.hpp"
+
+#ifdef WITH_HDF5
+#include "ParticleSpaceHDF5Writer.hpp"
+#endif
+
+#include "Integer3.hpp"
+
+
+namespace ecell4
+{
+
+class ParticleSpaceCellListImpl
+ : public ParticleSpace
+{
+public:
+
+ typedef ParticleSpace base_type;
+ typedef ParticleSpace::particle_container_type particle_container_type;
+
+ typedef utils::get_mapper_mf<ParticleID, particle_container_type::size_type>::type
+ key_to_value_map_type;
+
+ typedef std::set<ParticleID> particle_id_set;
+ typedef std::map<Species::serial_type, particle_id_set> per_species_particle_id_set;
+
+ typedef std::vector<particle_container_type::size_type> cell_type; // sorted
+ typedef boost::multi_array<cell_type, 3> matrix_type;
+ typedef boost::array<matrix_type::size_type, 3> cell_index_type;
+ typedef boost::array<matrix_type::difference_type, 3> cell_offset_type;
+
+public:
+
+ ParticleSpaceCellListImpl(const Real3& edge_lengths)
+ : base_type(), edge_lengths_(edge_lengths), matrix_(boost::extents[3][3][3])
+ {
+ cell_sizes_[0] = edge_lengths_[0] / matrix_.shape()[0];
+ cell_sizes_[1] = edge_lengths_[1] / matrix_.shape()[1];
+ cell_sizes_[2] = edge_lengths_[2] / matrix_.shape()[2];
+ }
+
+ ParticleSpaceCellListImpl(
+ const Real3& edge_lengths, const Integer3& matrix_sizes)
+ : base_type(), edge_lengths_(edge_lengths),
+ matrix_(boost::extents[matrix_sizes.col][matrix_sizes.row][matrix_sizes.layer])
+ {
+ cell_sizes_[0] = edge_lengths_[0] / matrix_.shape()[0];
+ cell_sizes_[1] = edge_lengths_[1] / matrix_.shape()[1];
+ cell_sizes_[2] = edge_lengths_[2] / matrix_.shape()[2];
+ }
+
+ void diagnosis() const
+ {
+ for (matrix_type::size_type i(0); i < matrix_.shape()[0]; ++i)
+ {
+ for (matrix_type::size_type j(0); j < matrix_.shape()[1]; ++j)
+ {
+ for (matrix_type::size_type k(0); k < matrix_.shape()[2]; ++k)
+ {
+ const cell_type& c = matrix_[i][j][k];
+ for (cell_type::const_iterator it(c.begin()); it != c.end(); ++it)
+ {
+ if (*it >= particles_.size())
+ {
+ throw IllegalState("out of bounds.");
+ }
+ }
+ }
+ }
+ }
+ }
+
+ // Space
+
+ virtual Integer num_species() const
+ {
+ return particle_pool_.size();
+ }
+ virtual bool has_species(const Species& sp) const
+ {
+ return (particle_pool_.find(sp.serial()) != particle_pool_.end());
+ }
+
+ virtual std::vector<Species> list_species() const
+ {
+ std::vector<Species> retval;
+ for (per_species_particle_id_set::const_iterator
+ i(particle_pool_.begin()); i != particle_pool_.end(); ++i)
+ {
+ retval.push_back(Species((*i).first));
+ }
+ return retval;
+ }
+
+ // ParticleSpaceTraits
+
+ const Real3& edge_lengths() const
+ {
+ return edge_lengths_;
+ }
+
+ const Real3& cell_sizes() const
+ {
+ return cell_sizes_;
+ }
+
+ const Integer3 matrix_sizes() const
+ {
+ return Integer3(matrix_.shape()[0], matrix_.shape()[1], matrix_.shape()[2]);
+ }
+
+ void reset(const Real3& edge_lengths);
+
+ bool update_particle(const ParticleID& pid, const Particle& p);
+
+ const particle_container_type& particles() const
+ {
+ return particles_;
+ }
+
+ std::pair<ParticleID, Particle> get_particle(const ParticleID& pid) const;
+ bool has_particle(const ParticleID& pid) const;
+ void remove_particle(const ParticleID& pid);
+
+ Integer num_particles() const;
+ Integer num_particles(const Species& sp) const;
+ Integer num_particles_exact(const Species& sp) const;
+ Integer num_molecules(const Species& sp) const;
+ Integer num_molecules_exact(const Species& sp) const;
+
+ std::vector<std::pair<ParticleID, Particle> >
+ list_particles() const;
+ std::vector<std::pair<ParticleID, Particle> >
+ list_particles(const Species& sp) const;
+ std::vector<std::pair<ParticleID, Particle> >
+ list_particles_exact(const Species& sp) const;
+
+ virtual void save(const std::string& filename) const
+ {
+ throw NotSupported(
+ "save(const std::string) is not supported by this space class");
+ }
+
+#ifdef WITH_HDF5
+ void save_hdf5(H5::Group* root) const
+ {
+ save_particle_space(*this, root);
+ }
+
+ void load_hdf5(const H5::Group& root)
+ {
+ load_particle_space(root, this);
+ }
+#endif
+
+ std::vector<std::pair<std::pair<ParticleID, Particle>, Real> >
+ list_particles_within_radius(
+ const Real3& pos, const Real& radius) const;
+ std::vector<std::pair<std::pair<ParticleID, Particle>, Real> >
+ list_particles_within_radius(
+ const Real3& pos, const Real& radius,
+ const ParticleID& ignore) const;
+ std::vector<std::pair<std::pair<ParticleID, Particle>, Real> >
+ list_particles_within_radius(
+ const Real3& pos, const Real& radius,
+ const ParticleID& ignore1, const ParticleID& ignore2) const;
+
+protected:
+
+ // inline cell_index_type index(const Real3& pos, double t = 1e-10) const
+ inline cell_index_type index(const Real3& pos) const
+ {
+ cell_index_type retval = {{
+ static_cast<matrix_type::size_type>(
+ pos[0] / cell_sizes_[0]) % matrix_.shape()[0],
+ static_cast<matrix_type::size_type>(
+ pos[1] / cell_sizes_[1]) % matrix_.shape()[1],
+ static_cast<matrix_type::size_type>(
+ pos[2] / cell_sizes_[2]) % matrix_.shape()[2]
+ }}; // boost::array<matrix_type::size_type, 3>
+ return retval;
+ }
+
+ inline Real3 offset_index_cyclic(
+ cell_index_type& i, const cell_offset_type& o) const
+ {
+ Real3 retval;
+
+ if (o[0] < 0 &&
+ static_cast<matrix_type::size_type>(-o[0]) > i[0])
+ {
+ matrix_type::size_type t(
+ (i[0] + matrix_.shape()[0] - (-o[0] % matrix_.shape()[0]))
+ % matrix_.shape()[0]);
+ retval[0] = (o[0] - static_cast<matrix_type::difference_type>(t - i[0]))
+ * cell_sizes_[0];
+ i[0] = t;
+ }
+ else if (matrix_.shape()[0] - o[0] <= i[0])
+ {
+ matrix_type::size_type
+ t((i[0] + (o[0] % matrix_.shape()[0])) % matrix_.shape()[0]);
+ retval[0] = (o[0] - static_cast<matrix_type::difference_type>(t - i[0]))
+ * cell_sizes_[0];
+ i[0] = t;
+ }
+ else
+ {
+ i[0] += o[0];
+ }
+
+ if (o[1] < 0 &&
+ static_cast<matrix_type::size_type>(-o[1]) > i[1])
+ {
+ matrix_type::size_type t(
+ (i[1] + matrix_.shape()[1] - (-o[1] % matrix_.shape()[1]))
+ % matrix_.shape()[1]);
+ retval[1] = (o[1] - static_cast<matrix_type::difference_type>(t - i[1]))
+ * cell_sizes_[1];
+ i[1] = t;
+ }
+ else if (matrix_.shape()[1] - o[1] <= i[1])
+ {
+ matrix_type::size_type
+ t((i[1] + (o[1] % matrix_.shape()[1])) % matrix_.shape()[1]);
+ retval[1] = (o[1] - static_cast<matrix_type::difference_type>(t - i[1]))
+ * cell_sizes_[1];
+ i[1] = t;
+ }
+ else
+ {
+ i[1] += o[1];
+ }
+
+ if (o[2] < 0 &&
+ static_cast<matrix_type::size_type>(-o[2]) > i[2])
+ {
+ matrix_type::size_type
+ t((i[2] + matrix_.shape()[2] - (-o[2] % matrix_.shape()[2]))
+ % matrix_.shape()[2]);
+ retval[2] = (o[2] - static_cast<matrix_type::difference_type>(t - i[2]))
+ * cell_sizes_[2];
+ i[2] = t;
+ }
+ else if (matrix_.shape()[2] - o[2] <= i[2])
+ {
+ matrix_type::size_type t(
+ (i[2] + (o[2] % matrix_.shape()[2])) % matrix_.shape()[2]);
+ retval[2] = (o[2] - static_cast<matrix_type::difference_type>(t - i[2]))
+ * cell_sizes_[2];
+ i[2] = t;
+ }
+ else
+ {
+ i[2] += o[2];
+ }
+
+ return retval;
+ }
+
+ inline const cell_type& cell(const cell_index_type& i) const
+ {
+ return matrix_[i[0]][i[1]][i[2]];
+ }
+
+ inline cell_type& cell(const cell_index_type& i)
+ {
+ return matrix_[i[0]][i[1]][i[2]];
+ }
+
+ inline particle_container_type::iterator find(const ParticleID& k)
+ {
+ key_to_value_map_type::const_iterator p(rmap_.find(k));
+ if (rmap_.end() == p)
+ {
+ return particles_.end();
+ }
+ return particles_.begin() + (*p).second;
+ }
+
+ inline particle_container_type::const_iterator find(const ParticleID& k) const
+ {
+ key_to_value_map_type::const_iterator p(rmap_.find(k));
+ if (rmap_.end() == p)
+ {
+ return particles_.end();
+ }
+ return particles_.begin() + (*p).second;
+ }
+
+ inline particle_container_type::iterator update(
+ particle_container_type::iterator const& old_value,
+ const std::pair<ParticleID, Particle>& v)
+ {
+ cell_type* new_cell(&cell(index(v.second.position())));
+ cell_type* old_cell(0);
+
+ if (old_value != particles_.end())
+ {
+ old_cell = &cell(index((*old_value).second.position()));
+ }
+
+ if (new_cell == old_cell)
+ {
+ // reinterpret_cast<nonconst_value_type&>(*old_value) = v;
+ *old_value = v;
+ return old_value;
+ }
+ else
+ {
+ particle_container_type::size_type idx(0);
+
+ if (old_cell)
+ {
+ // reinterpret_cast<nonconst_value_type&>(*old_value) = v;
+ *old_value = v;
+
+ cell_type::iterator
+ i(find_in_cell(old_cell, old_value - particles_.begin()));
+ idx = *i;
+ erase_from_cell(old_cell, i);
+ push_into_cell(new_cell, idx);
+ }
+ else
+ {
+ idx = particles_.size();
+ particles_.push_back(v);
+ push_into_cell(new_cell, idx);
+ rmap_[v.first] = idx;
+ }
+ return particles_.begin() + idx;
+ }
+ }
+
+ inline std::pair<particle_container_type::iterator, bool> update(
+ const std::pair<ParticleID, Particle>& v)
+ {
+ cell_type* new_cell(&cell(index(v.second.position())));
+ particle_container_type::iterator old_value(particles_.end());
+ cell_type* old_cell(0);
+
+ {
+ key_to_value_map_type::const_iterator i(rmap_.find(v.first));
+ if (i != rmap_.end())
+ {
+ old_value = particles_.begin() + (*i).second;
+ old_cell = &cell(index(old_value->second.position()));
+ }
+ }
+
+ if (new_cell == old_cell)
+ {
+ // reinterpret_cast<nonconst_value_type&>(*old_value) = v;
+ *old_value = v;
+ // return std::pair<particle_container_type::iterator, bool>(old_value, false);
+ return std::make_pair(old_value, false);
+ }
+ else
+ {
+ particle_container_type::size_type idx(0);
+
+ if (old_cell)
+ {
+ // reinterpret_cast<nonconst_value_type&>(*old_value) = v;
+ *old_value = v;
+
+ cell_type::iterator
+ i(find_in_cell(old_cell, old_value - particles_.begin()));
+ idx = *i;
+ erase_from_cell(old_cell, i);
+ push_into_cell(new_cell, idx);
+ return std::pair<particle_container_type::iterator, bool>(
+ particles_.begin() + idx, false);
+ }
+ else
+ {
+ idx = particles_.size();
+ particles_.push_back(v);
+ push_into_cell(new_cell, idx);
+ rmap_[v.first] = idx;
+ return std::pair<particle_container_type::iterator, bool>(
+ particles_.begin() + idx, true);
+ }
+ }
+ }
+
+ inline bool erase(particle_container_type::iterator const& i)
+ {
+ if (particles_.end() == i)
+ {
+ return false;
+ }
+
+ particle_container_type::size_type old_idx(i - particles_.begin());
+ cell_type& old_cell(cell(index((*i).second.position())));
+ const bool succeeded(erase_from_cell(&old_cell, old_idx));
+ assert(succeeded);
+ // BOOST_ASSERT(succeeded);
+ rmap_.erase((*i).first);
+
+ particle_container_type::size_type const last_idx(particles_.size() - 1);
+
+ if (old_idx < last_idx)
+ {
+ const std::pair<ParticleID, Particle>& last(particles_[last_idx]);
+ cell_type& last_cell(cell(index(last.second.position())));
+ const bool tmp(erase_from_cell(&last_cell, last_idx));
+ // BOOST_ASSERT(tmp);
+ assert(succeeded);
+ push_into_cell(&last_cell, old_idx);
+ rmap_[last.first] = old_idx;
+ // reinterpret_cast<nonconst_value_type&>(*i) = last;
+ (*i) = last;
+ }
+ particles_.pop_back();
+ return true;
+ }
+
+ inline bool erase(const ParticleID& k)
+ {
+ key_to_value_map_type::const_iterator p(rmap_.find(k));
+ if (rmap_.end() == p)
+ {
+ return false;
+ }
+ return erase(particles_.begin() + (*p).second);
+ }
+
+ inline void erase_from_cell(cell_type* c, const cell_type::iterator& i)
+ {
+ c->erase(i);
+ }
+
+ inline cell_type::size_type erase_from_cell(
+ cell_type* c, const particle_container_type::size_type& v)
+ {
+ cell_type::iterator e(c->end());
+ std::pair<cell_type::iterator, cell_type::iterator>
+ i(std::equal_range(c->begin(), e, v));
+ const cell_type::size_type retval(i.second - i.first);
+ c->erase(i.first, i.second);
+ return retval;
+ }
+
+ inline void push_into_cell(
+ cell_type* c, const particle_container_type::size_type& v)
+ {
+ cell_type::iterator i(std::upper_bound(c->begin(), c->end(), v));
+ c->insert(i, v);
+ }
+
+ inline cell_type::iterator find_in_cell(
+ cell_type* c, const particle_container_type::size_type& v)
+ {
+ cell_type::iterator i(std::lower_bound(c->begin(), c->end(), v));
+ if (i != c->end() && *i == v)
+ {
+ return i;
+ }
+ else
+ {
+ return c->end();
+ }
+ }
+
+ inline cell_type::const_iterator find_in_cell(
+ cell_type* c, const particle_container_type::size_type& v) const
+ {
+ cell_type::iterator i(std::lower_bound(c->begin(), c->end(), v));
+ if (i != c->end() && *i == v)
+ {
+ return i;
+ }
+ else
+ {
+ return c->end();
+ }
+ }
+
+protected:
+
+ Real3 edge_lengths_;
+
+ particle_container_type particles_;
+ key_to_value_map_type rmap_;
+ per_species_particle_id_set particle_pool_;
+
+ matrix_type matrix_;
+ Real3 cell_sizes_;
+};
+
+}; // ecell4
+
+#endif /* __ECELL4_PARTICLE_SPACE_CELL_LIST_IMPL_HPP */
diff --git a/ecell4/core/ParticleSpaceHDF5Writer.hpp b/ecell4/core/ParticleSpaceHDF5Writer.hpp
new file mode 100644
index 0000000..904487b
--- /dev/null
+++ b/ecell4/core/ParticleSpaceHDF5Writer.hpp
@@ -0,0 +1,274 @@
+#ifndef __ECELL4_PARTICLE_SPACE_HDF5_WRITER_HPP
+#define __ECELL4_PARTICLE_SPACE_HDF5_WRITER_HPP
+
+#include <cstring>
+#include <boost/scoped_ptr.hpp>
+#include <boost/scoped_array.hpp>
+
+#include <hdf5.h>
+#include <H5Cpp.h>
+
+#include "types.hpp"
+#include "get_mapper_mf.hpp"
+#include "Species.hpp"
+#include "Particle.hpp"
+#include "Space.hpp"
+
+
+namespace ecell4
+{
+
+struct ParticleSpaceHDF5Traits
+{
+ typedef struct h5_species_struct {
+ uint32_t id;
+ char serial[32]; // species' serial may exceed the limit
+ } h5_species_struct;
+
+ typedef struct h5_particle_struct {
+ int lot;
+ int serial;
+ uint32_t sid;
+ double posx;
+ double posy;
+ double posz;
+ double radius;
+ double D;
+ } h5_particle_struct;
+
+ static H5::CompType get_particle_comp_type()
+ {
+ H5::CompType h5_particle_comp_type(sizeof(h5_particle_struct));
+#define INSERT_MEMBER(member, type) \
+ H5Tinsert(h5_particle_comp_type.getId(), #member,\
+ HOFFSET(h5_particle_struct, member), type.getId())
+ INSERT_MEMBER(lot, H5::PredType::NATIVE_INT);
+ INSERT_MEMBER(serial, H5::PredType::NATIVE_INT);
+ INSERT_MEMBER(sid, H5::PredType::STD_I32LE);
+ INSERT_MEMBER(posx, H5::PredType::NATIVE_DOUBLE);
+ INSERT_MEMBER(posy, H5::PredType::NATIVE_DOUBLE);
+ INSERT_MEMBER(posz, H5::PredType::NATIVE_DOUBLE);
+ INSERT_MEMBER(radius, H5::PredType::NATIVE_DOUBLE);
+ INSERT_MEMBER(D, H5::PredType::NATIVE_DOUBLE);
+#undef INSERT_MEMBER
+ // h5_particle_comp_type.insertMember(
+ // std::string("lot"), HOFFSET(h5_particle_struct, lot),
+ // H5::PredType::NATIVE_INT);
+ // h5_particle_comp_type.insertMember(
+ // std::string("serial"), HOFFSET(h5_particle_struct, serial),
+ // H5::PredType::NATIVE_INT);
+ // h5_particle_comp_type.insertMember(
+ // std::string("sid"), HOFFSET(h5_particle_struct, sid),
+ // H5::PredType::STD_I32LE);
+ // h5_particle_comp_type.insertMember(
+ // std::string("posx"), HOFFSET(h5_particle_struct, posx),
+ // H5::PredType::NATIVE_DOUBLE);
+ // h5_particle_comp_type.insertMember(
+ // std::string("posy"), HOFFSET(h5_particle_struct, posy),
+ // H5::PredType::NATIVE_DOUBLE);
+ // h5_particle_comp_type.insertMember(
+ // std::string("posz"), HOFFSET(h5_particle_struct, posz),
+ // H5::PredType::NATIVE_DOUBLE);
+ // h5_particle_comp_type.insertMember(
+ // std::string("radius"), HOFFSET(h5_particle_struct, radius),
+ // H5::PredType::NATIVE_DOUBLE);
+ // h5_particle_comp_type.insertMember(
+ // std::string("D"), HOFFSET(h5_particle_struct, D),
+ // H5::PredType::NATIVE_DOUBLE);
+ return h5_particle_comp_type;
+ }
+
+ static H5::CompType get_species_comp_type()
+ {
+ H5::CompType h5_species_comp_type(sizeof(h5_species_struct));
+#define INSERT_MEMBER(member, type) \
+ H5Tinsert(h5_species_comp_type.getId(), #member,\
+ HOFFSET(h5_species_struct, member), type.getId())
+ INSERT_MEMBER(id, H5::PredType::STD_I32LE);
+ INSERT_MEMBER(serial, H5::StrType(H5::PredType::C_S1, 32));
+#undef INSERT_MEMBER
+ // h5_species_comp_type.insertMember(
+ // std::string("id"), HOFFSET(h5_species_struct, id),
+ // H5::PredType::STD_I32LE);
+ // h5_species_comp_type.insertMember(
+ // std::string("serial"), HOFFSET(h5_species_struct, serial),
+ // H5::StrType(H5::PredType::C_S1, 32));
+ return h5_species_comp_type;
+ }
+};
+
+template<typename Tspace_>
+void save_particle_space(const Tspace_& space, H5::Group* root)
+{
+ typedef ParticleSpaceHDF5Traits traits_type;
+ typedef typename traits_type::h5_species_struct h5_species_struct;
+ typedef typename traits_type::h5_particle_struct h5_particle_struct;
+
+ typedef std::vector<std::pair<ParticleID, Particle> >
+ particle_container_type;
+ const particle_container_type& particles(space.list_particles());
+ const unsigned int num_particles(particles.size());
+
+ std::vector<Species> species;
+ typedef utils::get_mapper_mf<Species::serial_type, unsigned int>::type
+ species_id_map_type;
+ species_id_map_type species_id_map;
+
+ boost::scoped_array<h5_particle_struct>
+ h5_particle_table(new h5_particle_struct[num_particles]);
+ for (unsigned int i(0); i < num_particles; ++i)
+ {
+ species_id_map_type::const_iterator
+ it(species_id_map.find(particles[i].second.species_serial()));
+ if (it == species_id_map.end())
+ {
+ species.push_back(particles[i].second.species());
+ it = species_id_map.insert(
+ std::make_pair(particles[i].second.species_serial(),
+ species.size())).first;
+ }
+
+ h5_particle_table[i].lot = particles[i].first.lot();
+ h5_particle_table[i].serial = particles[i].first.serial();
+ h5_particle_table[i].sid = (*it).second;
+ h5_particle_table[i].posx = particles[i].second.position()[0];
+ h5_particle_table[i].posy = particles[i].second.position()[1];
+ h5_particle_table[i].posz = particles[i].second.position()[2];
+ h5_particle_table[i].radius = particles[i].second.radius();
+ h5_particle_table[i].D = particles[i].second.D();
+ }
+
+ boost::scoped_array<h5_species_struct>
+ h5_species_table(new h5_species_struct[species.size()]);
+ for (unsigned int i(0); i < species.size(); ++i)
+ {
+ h5_species_table[i].id = i + 1;
+ std::strcpy(h5_species_table[i].serial,
+ species[i].serial().c_str());
+ }
+
+ const int RANK = 1;
+ hsize_t dim1[] = {num_particles};
+ H5::DataSpace dataspace1(RANK, dim1);
+ boost::scoped_ptr<H5::DataSet> dataset1(new H5::DataSet(
+ root->createDataSet(
+ "particles", traits_type::get_particle_comp_type(), dataspace1)));
+
+ hsize_t dim2[] = {species.size()};
+ H5::DataSpace dataspace2(RANK, dim2);
+ boost::scoped_ptr<H5::DataSet> dataset2(new H5::DataSet(
+ root->createDataSet(
+ "species", traits_type::get_species_comp_type(), dataspace2)));
+
+ dataset1->write(h5_particle_table.get(), dataset1->getDataType());
+ dataset2->write(h5_species_table.get(), dataset2->getDataType());
+
+ const uint32_t space_type = static_cast<uint32_t>(Space::PARTICLE);
+ H5::Attribute attr_space_type(
+ root->createAttribute(
+ "type", H5::PredType::STD_I32LE, H5::DataSpace(H5S_SCALAR)));
+ attr_space_type.write(H5::PredType::STD_I32LE, &space_type);
+
+ const double t = space.t();
+ H5::Attribute attr_t(
+ root->createAttribute(
+ "t", H5::PredType::IEEE_F64LE, H5::DataSpace(H5S_SCALAR)));
+ attr_t.write(H5::PredType::IEEE_F64LE, &t);
+
+ const Real3 edge_lengths = space.edge_lengths();
+ const hsize_t dims[] = {3};
+ const H5::ArrayType lengths_type(H5::PredType::NATIVE_DOUBLE, 1, dims);
+ H5::Attribute attr_lengths(
+ root->createAttribute(
+ "edge_lengths", lengths_type, H5::DataSpace(H5S_SCALAR)));
+ double lengths[] = {edge_lengths[0], edge_lengths[1], edge_lengths[2]};
+ attr_lengths.write(lengths_type, lengths);
+}
+
+template<typename Tspace_>
+void load_particle_space(const H5::Group& root, Tspace_* space)
+{
+ typedef ParticleSpaceHDF5Traits traits_type;
+ typedef typename traits_type::h5_species_struct h5_species_struct;
+ typedef typename traits_type::h5_particle_struct h5_particle_struct;
+
+ Real3 edge_lengths;
+ const hsize_t dims[] = {3};
+ const H5::ArrayType lengths_type(H5::PredType::NATIVE_DOUBLE, 1, dims);
+ root.openAttribute("edge_lengths").read(lengths_type, &edge_lengths);
+ space->reset(edge_lengths);
+
+ double t;
+ root.openAttribute("t").read(H5::PredType::IEEE_F64LE, &t);
+ space->set_t(t);
+
+ {
+ H5::DataSet species_dset(root.openDataSet("species"));
+ const unsigned int num_species(
+ species_dset.getSpace().getSimpleExtentNpoints());
+ boost::scoped_array<h5_species_struct> h5_species_table(
+ new h5_species_struct[num_species]);
+ species_dset.read(
+ h5_species_table.get(), traits_type::get_species_comp_type());
+ species_dset.close();
+
+ H5::DataSet particle_dset(root.openDataSet("particles"));
+ const unsigned int num_particles(
+ particle_dset.getSpace().getSimpleExtentNpoints());
+ boost::scoped_array<h5_particle_struct> h5_particle_table(
+ new h5_particle_struct[num_particles]);
+ particle_dset.read(
+ h5_particle_table.get(), traits_type::get_particle_comp_type());
+ particle_dset.close();
+
+ typedef utils::get_mapper_mf<unsigned int, Species::serial_type>::type
+ species_id_map_type;
+ species_id_map_type species_id_map;
+ for (unsigned int i(0); i < num_species; ++i)
+ {
+ species_id_map[h5_species_table[i].id] = h5_species_table[i].serial;
+ }
+
+ for (unsigned int i(0); i < num_particles; ++i)
+ {
+ space->update_particle(ParticleID(std::make_pair(h5_particle_table[i].lot, h5_particle_table[i].serial)), Particle(Species(species_id_map[h5_particle_table[i].sid]), Real3(h5_particle_table[i].posx, h5_particle_table[i].posy, h5_particle_table[i].posz), h5_particle_table[i].radius, h5_particle_table[i].D));
+ }
+
+ // boost::scoped_array<h5_particle_struct>
+ // h5_particle_table(new h5_particle_struct[num_particles]);
+ // for (unsigned int i(0); i < num_particles; ++i)
+ // {
+ // species_id_map_type::const_iterator
+ // it(species_id_map.find(particles[i].second.species_serial()));
+ // if (it == species_id_map.end())
+ // {
+ // species.push_back(particles[i].second.species());
+ // it = species_id_map.insert(
+ // std::make_pair(particles[i].second.species_serial(),
+ // species.size())).first;
+ // }
+
+ // h5_particle_table[i].lot = particles[i].first.lot();
+ // h5_particle_table[i].serial = particles[i].first.serial();
+ // h5_particle_table[i].sid = (*it).second;
+ // h5_particle_table[i].posx = particles[i].second.position()[0];
+ // h5_particle_table[i].posy = particles[i].second.position()[1];
+ // h5_particle_table[i].posz = particles[i].second.position()[2];
+ // h5_particle_table[i].radius = particles[i].second.radius();
+ // h5_particle_table[i].D = particles[i].second.D();
+ // }
+
+ // boost::scoped_array<h5_species_struct>
+ // h5_species_table(new h5_species_struct[species.size()]);
+ // for (unsigned int i(0); i < species.size(); ++i)
+ // {
+ // h5_species_table[i].id = i + 1;
+ // std::strcpy(h5_species_table[i].serial,
+ // species[i].serial().c_str());
+ // }
+ }
+}
+
+} // ecell4
+
+#endif /* __ECELL4_PARTICLE_SPACE_HDF5_WRITER_HPP */
diff --git a/ecell4/core/PlanarSurface.cpp b/ecell4/core/PlanarSurface.cpp
new file mode 100644
index 0000000..16a7229
--- /dev/null
+++ b/ecell4/core/PlanarSurface.cpp
@@ -0,0 +1,84 @@
+#include "PlanarSurface.hpp"
+#include "collision.hpp"
+
+namespace ecell4
+{
+
+PlanarSurface::PlanarSurface()
+ : origin_(0, 0, 0), e0_(1, 0, 0), e1_(0, 1, 0), n_(0, 0, 1), d_(0.0)
+{
+ ;
+}
+
+PlanarSurface::PlanarSurface(
+ const Real3& origin, const Real3& e0, const Real3& e1)
+ : origin_(origin), e0_(e0), e1_(e1)
+{
+ n_ = cross_product(e0_, e1_);
+ n_ /= length(n_);
+ d_ = dot_product(origin_, n_);
+}
+
+PlanarSurface::PlanarSurface(const PlanarSurface& rhs)
+ : origin_(rhs.origin_), e0_(rhs.e0_), e1_(rhs.e1_), n_(rhs.n_), d_(rhs.d_)
+{
+ ;
+}
+
+Real PlanarSurface::is_inside(const Real3& coord) const
+{
+ return d_ - dot_product(coord, n_);
+}
+
+Real3 PlanarSurface::draw_position(
+ boost::shared_ptr<RandomNumberGenerator>& rng) const
+{
+ const Real a(rng->uniform(0, 1)),
+ b(rng->uniform(0, 1));
+ return origin_ + e0_ * a + e1_ * b;
+}
+
+bool PlanarSurface::test_AABB(const Real3& lower, const Real3& upper) const
+{
+ return collision::test_AABB_plane(AABB(lower, upper), *this);
+}
+
+void PlanarSurface::bounding_box(
+ const Real3& edge_lengths, Real3& lower, Real3& upper) const
+{
+ if (n_[0] > epsilon)
+ {
+ lower[0] = std::max(
+ (d_ - n_[1] * edge_lengths[1] - n_[2] * edge_lengths[2]) / n_[0], 0.0);
+ upper[0] = std::min(d_ / n_[0], edge_lengths[0]);
+ }
+ else
+ {
+ lower[0] = 0.0;
+ upper[0] = edge_lengths[0];
+ }
+ if (n_[1] > epsilon)
+ {
+ lower[1] = std::max(
+ (d_ - n_[0] * edge_lengths[0] - n_[2] * edge_lengths[2]) / n_[1], 0.0);
+ upper[1] = std::min(d_ / n_[1], edge_lengths[1]);
+ }
+ else
+ {
+ lower[1] = 0.0;
+ upper[1] = edge_lengths[1];
+ }
+ if (n_[2] > epsilon)
+ {
+ lower[2] = std::max(
+ (d_ - n_[1] * edge_lengths[1] - n_[0] * edge_lengths[0]) / n_[2], 0.0);
+ upper[2] = std::min(d_ / n_[2], edge_lengths[2]);
+ }
+ else
+ {
+ lower[2] = 0.0;
+ upper[2] = edge_lengths[2];
+ }
+}
+
+}
diff --git a/ecell4/core/PlanarSurface.hpp b/ecell4/core/PlanarSurface.hpp
new file mode 100644
index 0000000..14d7542
--- /dev/null
+++ b/ecell4/core/PlanarSurface.hpp
@@ -0,0 +1,71 @@
+#ifndef __ECELL4_PLANAR_SURFACE_HPP
+#define __ECELL4_PLANAR_SURFACE_HPP
+
+#include "Shape.hpp"
+
+namespace ecell4
+{
+
+struct PlanarSurface
+ : public Shape
+{
+
+ PlanarSurface();
+ PlanarSurface(const Real3& origin, const Real3& e0, const Real3& e1);
+ PlanarSurface(const PlanarSurface& rhs);
+ Real is_inside(const Real3& coord) const;
+ Real3 draw_position(
+ boost::shared_ptr<RandomNumberGenerator>& rng) const;
+ bool test_AABB(const Real3& lower, const Real3& upper) const;
+ void bounding_box(
+ const Real3& edge_lengths, Real3& lower, Real3& u) const;
+
+ const Real3& origin() const
+ {
+ return origin_;
+ }
+
+ const Real3& e0() const
+ {
+ return e0_;
+ }
+
+ const Real3& e1() const
+ {
+ return e1_;
+ }
+
+ const Real3& normal() const
+ {
+ return n_;
+ }
+
+ dimension_kind dimension() const
+ {
+ return TWO;
+ }
+
+protected:
+
+ Real3 origin_, e0_, e1_, n_;
+ Real d_;
+};
+
+inline PlanarSurface create_x_plane(const Real v)
+{
+ return PlanarSurface(Real3(v, 0.0, 0.0), Real3(0.0, 1.0, 0.0), Real3(0.0, 0.0, 1.0));
+}
+
+inline PlanarSurface create_y_plane(const Real v)
+{
+ return PlanarSurface(Real3(0.0, v, 0.0), Real3(1.0, 0.0, 0.0), Real3(0.0, 0.0, 1.0));
+}
+
+inline PlanarSurface create_z_plane(const Real v)
+{
+ return PlanarSurface(Real3(0.0, 0.0, v), Real3(1.0, 0.0, 0.0), Real3(0.0, 1.0, 0.0));
+}
+
+}
+
+#endif /* __ECELL4_PLANAR_SURFACE_HPP */
diff --git a/ecell4/core/RandomNumberGenerator.cpp b/ecell4/core/RandomNumberGenerator.cpp
new file mode 100644
index 0000000..c8a4866
--- /dev/null
+++ b/ecell4/core/RandomNumberGenerator.cpp
@@ -0,0 +1,121 @@
+#include <boost/scoped_ptr.hpp>
+#include <gsl/gsl_rng.h>
+#include <sstream>
+
+#include "RandomNumberGenerator.hpp"
+
+#ifdef WITH_HDF5
+#include "extras.hpp"
+#endif
+
+namespace ecell4
+{
+
+#ifdef WITH_HDF5
+void GSLRandomNumberGenerator::save(H5::CommonFG* root) const
+{
+ using namespace H5;
+
+ boost::scoped_ptr<DataType> optype(new DataType(H5T_OPAQUE, 1));
+ hsize_t bufsize(gsl_rng_size(rng_.get()));
+ DataSpace dataspace(1, &bufsize);
+ optype->setTag("GSLRandomNumberGenerator state type");
+ boost::scoped_ptr<DataSet> dataset(
+ new DataSet(root->createDataSet("rng", *optype, dataspace)));
+ dataset->write((unsigned char*)(gsl_rng_state(rng_.get())), *optype);
+}
+
+void GSLRandomNumberGenerator::load(const H5::CommonFG& root)
+{
+ using namespace H5;
+
+ const DataSet dataset(DataSet(root.openDataSet("rng")));
+ // size_t bufsize(gsl_rng_size(rng_.get()));
+ boost::scoped_ptr<DataType> optype(new DataType(H5T_OPAQUE, 1));
+ optype->setTag("GSLRandomNumberGenerator state type");
+ unsigned char* state = (unsigned char*)(gsl_rng_state(rng_.get()));
+ dataset.read(state, *optype);
+}
+
+void GSLRandomNumberGenerator::save(const std::string& filename) const
+{
+ boost::scoped_ptr<H5::H5File>
+ fout(new H5::H5File(filename.c_str(), H5F_ACC_TRUNC));
+ this->save(fout.get());
+ extras::save_version_information(fout.get(), std::string("ecell4-gsl_number_generator-") + std::string(ECELL4_VERSION));
+}
+
+void GSLRandomNumberGenerator::load(const std::string& filename)
+{
+ boost::scoped_ptr<H5::H5File>
+ fin(new H5::H5File(filename.c_str(), H5F_ACC_RDONLY));
+ this->load(*fin);
+}
+#endif
+
+Real GSLRandomNumberGenerator::random()
+{
+ return gsl_rng_uniform(rng_.get());
+}
+
+Real GSLRandomNumberGenerator::uniform(Real min, Real max)
+{
+ return gsl_rng_uniform(rng_.get()) * (max - min) + min;
+}
+
+Integer GSLRandomNumberGenerator::uniform_int(Integer min, Integer max)
+{
+ if (max < min)
+ {
+ throw std::invalid_argument(
+ "the max value must be larger than the min value.");
+ }
+
+ const unsigned long int n(max - min + 1);
+ const unsigned long int range(rng_->type->max - rng_->type->min);
+
+ if (n <= range)
+ {
+ return gsl_rng_uniform_int(rng_.get(), n) + min;
+ }
+ else
+ {
+ const Integer m((max - min) / range);
+ Integer k;
+ do
+ {
+ k = min + gsl_rng_uniform_int(rng_.get(), range)
+ + range * gsl_rng_uniform_int(rng_.get(), m + 1);
+ } while (k > max);
+ return k;
+ }
+}
+
+Real GSLRandomNumberGenerator::gaussian(Real sigma, Real mean)
+{
+ return gsl_ran_gaussian(rng_.get(), sigma) + mean;
+}
+
+Integer GSLRandomNumberGenerator::binomial(Real p, Integer n)
+{
+ return gsl_ran_binomial(rng_.get(), p, n);
+}
+
+Real3 GSLRandomNumberGenerator::direction3d(Real length)
+{
+ double x, y, z;
+ gsl_ran_dir_3d(rng_.get(), &x, &y, &z);
+ return Real3(x * length, y * length, z * length);
+}
+
+void GSLRandomNumberGenerator::seed(Integer val)
+{
+ gsl_rng_set(rng_.get(), val);
+}
+
+void GSLRandomNumberGenerator::seed()
+{
+ gsl_rng_set(rng_.get(), unsigned(std::time(0)));
+}
+
+} // ecell4
diff --git a/ecell4/core/RandomNumberGenerator.hpp b/ecell4/core/RandomNumberGenerator.hpp
new file mode 100644
index 0000000..bf3cdb0
--- /dev/null
+++ b/ecell4/core/RandomNumberGenerator.hpp
@@ -0,0 +1,135 @@
+#ifndef __ECELL4_RANDOM_NUMBER_GENERATOR_HPP
+#define __ECELL4_RANDOM_NUMBER_GENERATOR_HPP
+
+#include <ctime>
+#include <vector>
+#include <boost/shared_ptr.hpp>
+#include <gsl/gsl_rng.h>
+#include <gsl/gsl_randist.h>
+
+#include "types.hpp"
+#include "Real3.hpp"
+
+#ifdef WITH_HDF5
+#include <hdf5.h>
+#include <H5Cpp.h>
+#endif
+
+namespace ecell4
+{
+
+class RandomNumberGenerator
+{
+public:
+
+ virtual ~RandomNumberGenerator()
+ {
+ ;
+ }
+
+ virtual Real random() = 0;
+ virtual Real uniform(Real min, Real max) = 0;
+ virtual Integer uniform_int(Integer min, Integer max) = 0;
+ virtual Real gaussian(Real sigma, Real mean = 0.0) = 0;
+ virtual Integer binomial(Real p, Integer n) = 0;
+ virtual Real3 direction3d(Real length = 1.0) = 0;
+
+ virtual void seed(Integer val) = 0;
+ virtual void seed() = 0;
+
+#ifdef WITH_HDF5
+ virtual void save(H5::CommonFG* root) const = 0;
+ virtual void load(const H5::CommonFG& root) = 0;
+ virtual void save(const std::string& filename) const = 0;
+ virtual void load(const std::string& filename) = 0;
+#else
+ void save(const std::string& filename) const
+ {
+ throw NotSupported(
+ "This method requires HDF5. The HDF5 support is turned off.");
+ }
+
+ void load(const std::string& filename)
+ {
+ throw NotSupported(
+ "This method requires HDF5. The HDF5 support is turned off.");
+ }
+#endif
+
+};
+
+template<typename Telem_>
+inline void shuffle(RandomNumberGenerator& rng, std::vector<Telem_>& cont)
+{
+ typedef std::vector<Telem_> container_type;
+ for (typename container_type::size_type i(cont.size()); i > 0;)
+ {
+ --i;
+ typename container_type::size_type const j(rng.uniform_int(0, i));
+ std::swap(cont[i], cont[j]);
+ }
+}
+
+class GSLRandomNumberGenerator
+ : public RandomNumberGenerator
+{
+public:
+
+ typedef boost::shared_ptr<gsl_rng> rng_handle;
+
+public:
+
+ Real random();
+ Real uniform(Real min, Real max);
+ Integer uniform_int(Integer min, Integer max);
+ Real gaussian(Real sigma, Real mean = 0.0);
+ Integer binomial(Real p, Integer n);
+ Real3 direction3d(Real length);
+ void seed(Integer val);
+ void seed();
+
+#ifdef WITH_HDF5
+ void save(H5::CommonFG* root) const;
+ void load(const H5::CommonFG& root);
+ void save(const std::string& filename) const;
+ void load(const std::string& filename);
+#endif
+
+ GSLRandomNumberGenerator()
+ : rng_(gsl_rng_alloc(gsl_rng_mt19937), &gsl_rng_free)
+ {
+ ;
+ }
+
+ GSLRandomNumberGenerator(const Integer myseed)
+ : rng_(gsl_rng_alloc(gsl_rng_mt19937), &gsl_rng_free)
+ {
+ seed(myseed);
+ }
+
+ GSLRandomNumberGenerator(const std::string& filename)
+ : rng_(gsl_rng_alloc(gsl_rng_mt19937), &gsl_rng_free)
+ {
+ load(filename);
+ }
+
+ // GSLRandomNumberGenerator(rng_handle hdl)
+ // : rng_(hdl)
+ // {
+ // ;
+ // }
+
+ // GSLRandomNumberGenerator(gsl_rng* rng = gsl_rng_alloc(gsl_rng_mt19937))
+ // : rng_(rng, &gsl_rng_free)
+ // {
+ // ;
+ // }
+
+protected:
+
+ rng_handle rng_;
+};
+
+} // ecell4
+
+#endif /* __ECELL4_RANDOM_NUMBER_GENERATOR_HPP */
diff --git a/ecell4/core/ReactionRule.cpp b/ecell4/core/ReactionRule.cpp
new file mode 100644
index 0000000..28998c1
--- /dev/null
+++ b/ecell4/core/ReactionRule.cpp
@@ -0,0 +1,107 @@
+#include <sstream>
+#include <boost/algorithm/string.hpp>
+
+#include "ReactionRule.hpp"
+#include "Context.hpp"
+
+namespace ecell4
+{
+
+const std::string ReactionRule::as_string() const
+{
+ std::stringstream oss;
+ std::vector<std::string> tmp;
+ for (reactant_container_type::const_iterator i(reactants_.begin());
+ i != reactants_.end(); ++i)
+ {
+ tmp.push_back((*i).serial());
+ }
+ oss << boost::algorithm::join(tmp, "+") << ">";
+ tmp.clear();
+ for (product_container_type::const_iterator i(products_.begin());
+ i != products_.end(); ++i)
+ {
+ tmp.push_back((*i).serial());
+ }
+ oss << boost::algorithm::join(tmp, "+") << "|" << k_;
+ return oss.str();
+}
+
+std::vector<ReactionRule> ReactionRule::generate(const reactant_container_type& reactants) const
+{
+ ReactionRuleExpressionMatcher rrexp(*this);
+ std::vector<ReactionRule> retval;
+ if (!rrexp.match(reactants))
+ {
+ return retval;
+ }
+
+ do
+ {
+ const ReactionRule rr(reactants, rrexp.generate(), this->k());
+ std::vector<ReactionRule>::iterator
+ i(std::find(retval.begin(), retval.end(), rr));
+ if (i != retval.end())
+ {
+ ;
+ }
+ else
+ {
+ retval.push_back(rr);
+ }
+ }
+ while (rrexp.next());
+ return retval;
+}
+
+ReactionRule format_reaction_rule_with_nosort(const ReactionRule& rr)
+{
+ ReactionRule::reactant_container_type reactants;
+ reactants.reserve(rr.reactants().size());
+ for (ReactionRule::reactant_container_type::const_iterator i(rr.reactants().begin());
+ i != rr.reactants().end(); ++i)
+ {
+ reactants.push_back(format_species(*i));
+ }
+
+ ReactionRule::product_container_type products;
+ products.reserve(rr.products().size());
+ for (ReactionRule::product_container_type::const_iterator i(rr.products().begin());
+ i != rr.products().end(); ++i)
+ {
+ products.push_back(format_species(*i));
+ }
+
+ return ReactionRule(reactants, products, rr.k());
+}
+
+ReactionRule format_reaction_rule(const ReactionRule& rr)
+{
+ ReactionRule::reactant_container_type reactants;
+ reactants.reserve(rr.reactants().size());
+ for (ReactionRule::reactant_container_type::const_iterator i(rr.reactants().begin());
+ i != rr.reactants().end(); ++i)
+ {
+ reactants.push_back(format_species(*i));
+ }
+
+ ReactionRule::product_container_type products;
+ products.reserve(rr.products().size());
+ for (ReactionRule::product_container_type::const_iterator i(rr.products().begin());
+ i != rr.products().end(); ++i)
+ {
+ products.push_back(format_species(*i));
+ }
+
+ std::sort(reactants.begin(), reactants.end());
+ std::sort(products.begin(), products.end());
+ return ReactionRule(reactants, products, rr.k());
+ // ReactionRule::reactant_container_type reactants(rr.reactants());
+ // ReactionRule::product_container_type products(rr.products());
+ // std::sort(reactants.begin(), reactants.end());
+ // std::sort(products.begin(), products.end());
+ // return ReactionRule(reactants, products, rr.k());
+ // return rr;
+}
+
+}// ecell4
diff --git a/ecell4/core/ReactionRule.hpp b/ecell4/core/ReactionRule.hpp
new file mode 100644
index 0000000..3f1cb73
--- /dev/null
+++ b/ecell4/core/ReactionRule.hpp
@@ -0,0 +1,180 @@
+#ifndef __ECELL4_REACTION_RULE_HPP
+#define __ECELL4_REACTION_RULE_HPP
+
+// #include <set>
+#include <stdexcept>
+
+#include "types.hpp"
+#include "Species.hpp"
+//#include "Ratelaw.hpp"
+
+
+namespace ecell4
+{
+
+class ReactionRule
+{
+public:
+
+ /**
+ * a type of the container of reactants
+ * std::multiset allows multiple keys with equal values,
+ * but looses the original order at the registration.
+ * when changing this type into the ordered one,
+ * please modify NetworkModel too.
+ */
+ typedef std::vector<Species> reactant_container_type;
+ typedef std::vector<Species> product_container_type;
+
+public:
+
+ enum policy_type
+ {
+ STRICT = 1L << 0,
+ IMPLICIT = 1L << 1,
+ DESTROY = 1L << 2
+ };
+
+public:
+
+ ReactionRule()
+ : k_(0), reactants_(), products_(), policy_(STRICT)
+ {
+ ;
+ }
+
+ ReactionRule(
+ const reactant_container_type& reactants,
+ const product_container_type& products)
+ : k_(0), reactants_(reactants), products_(products), policy_(STRICT)
+ {
+ ;
+ }
+
+ ReactionRule(
+ const reactant_container_type& reactants,
+ const product_container_type& products,
+ const Real& k)
+ : k_(k), reactants_(reactants), products_(products), policy_(STRICT)
+ {
+ ;
+ }
+
+ ReactionRule(
+ const ReactionRule& rr)
+ : k_(rr.k()), reactants_(rr.reactants()), products_(rr.products()), policy_(rr.policy())
+ {
+ ;
+ }
+
+ Real k() const
+ {
+ return k_;
+ }
+
+ const reactant_container_type& reactants() const
+ {
+ return reactants_;
+ }
+
+ const product_container_type& products() const
+ {
+ return products_;
+ }
+
+ void set_k(const Real& k)
+ {
+ if (k < 0)
+ {
+ throw std::invalid_argument("a kinetic rate must be positive.");
+ }
+ k_ = k;
+ }
+
+ void add_reactant(const Species& sp)
+ {
+ reactants_.push_back(sp);
+ }
+
+ void add_product(const Species& sp)
+ {
+ products_.push_back(sp);
+ }
+
+ const policy_type policy() const
+ {
+ return policy_;
+ }
+
+ void set_policy(const policy_type policy)
+ {
+ policy_ = policy;
+ }
+
+ const std::string as_string() const;
+
+ inline Integer count(const reactant_container_type& reactants) const
+ {
+ return this->generate(reactants).size();
+ }
+
+ std::vector<ReactionRule> generate(const reactant_container_type& reactants) const;
+
+ /** Ratelaw related functions.
+ */
+ /*
+ void set_ratelaw(const boost::shared_ptr<Ratelaw> ratelaw)
+ {
+ this->ratelaw_ = ratelaw;
+ }
+
+ boost::shared_ptr<Ratelaw> get_ratelaw() const
+ {
+ return this->ratelaw_.lock();
+ }
+
+ bool has_ratelaw() const
+ {
+ return !(this->ratelaw_.expired());
+ }*/
+
+protected:
+
+ Real k_;
+ reactant_container_type reactants_;
+ product_container_type products_;
+
+ policy_type policy_;
+ //boost::weak_ptr<Ratelaw> ratelaw_;
+};
+
+inline bool operator<(const ReactionRule& lhs, const ReactionRule& rhs)
+{
+ if (lhs.reactants() < rhs.reactants())
+ {
+ return true;
+ }
+ else if (lhs.reactants() > rhs.reactants())
+ {
+ return false;
+ }
+ return (lhs.products() < rhs.products());
+}
+
+inline bool operator==(const ReactionRule& lhs, const ReactionRule& rhs)
+{
+ return ((lhs.reactants() == rhs.reactants())
+ && (lhs.products() == rhs.products()));
+}
+
+inline bool operator!=(const ReactionRule& lhs, const ReactionRule& rhs)
+{
+ return !(lhs == rhs);
+}
+
+ReactionRule format_reaction_rule_with_nosort(const ReactionRule& rr);
+ReactionRule format_reaction_rule(const ReactionRule& rr);
+
+} // ecell4
+
+#endif /* __ECELL4_REACTION_RULE_HPP */
diff --git a/ecell4/core/Real3.cpp b/ecell4/core/Real3.cpp
new file mode 100644
index 0000000..fc6ba55
--- /dev/null
+++ b/ecell4/core/Real3.cpp
@@ -0,0 +1,31 @@
+#include "Real3.hpp"
+
+
+namespace ecell4
+{
+
+Real3& Real3::operator+=(const Real3& rhs)
+{
+ *this = add(*this, rhs);
+ return *this;
+}
+
+Real3& Real3::operator-=(const Real3& rhs)
+{
+ *this = subtract(*this, rhs);
+ return *this;
+}
+
+Real3& Real3::operator*=(const Real3::value_type& rhs)
+{
+ *this = multiply(*this, rhs);
+ return *this;
+}
+
+Real3& Real3::operator/=(const Real3::value_type& rhs)
+{
+ *this = divide(*this, rhs);
+ return *this;
+}
+
+} // ecell4
diff --git a/ecell4/core/Real3.hpp b/ecell4/core/Real3.hpp
new file mode 100644
index 0000000..a5775ea
--- /dev/null
+++ b/ecell4/core/Real3.hpp
@@ -0,0 +1,231 @@
+#ifndef __ECELL4_POSITION3_HPP
+#define __ECELL4_POSITION3_HPP
+
+#include <ostream>
+#include <iomanip>
+#include <functional>
+#include <algorithm>
+#include <cmath>
+#include <boost/array.hpp>
+
+#include <ecell4/core/config.h>
+
+#include "types.hpp"
+#include "functions.hpp"
+
+#include "hash.hpp"
+
+namespace ecell4
+{
+
+struct Real3
+ : public boost::array<Real, 3>
+{
+ typedef boost::array<Real, 3> base_type;
+ typedef base_type::value_type value_type;
+ typedef base_type::size_type size_type;
+
+ Real3& operator+=(const Real3& rhs);
+ Real3& operator-=(const Real3& rhs);
+ Real3& operator*=(const Real3::value_type& rhs);
+ Real3& operator/=(const Real3::value_type& rhs);
+
+ Real3()
+ {
+ (*this)[0] = 0;
+ (*this)[1] = 0;
+ (*this)[2] = 0;
+ }
+
+ Real3(value_type p0, value_type p1, value_type p2)
+ {
+ (*this)[0] = p0;
+ (*this)[1] = p1;
+ (*this)[2] = p2;
+ }
+
+ Real3(const Real3 &rhs)
+ {
+ (*this)[0] = rhs[0];
+ (*this)[1] = rhs[1];
+ (*this)[2] = rhs[2];
+ }
+
+ // Real3(const Real (&a)[3])
+ // : base_type(*reinterpret_cast<const base_type*>(&a))
+ // {
+ // ;
+ // }
+
+ // Real3(const Real a[3])
+ // : base_type(*reinterpret_cast<const base_type*>(a))
+ // {
+ // ;
+ // }
+
+ // Real3(const base_type& a)
+ // : base_type(a)
+ // {
+ // ;
+ // }
+};
+
+inline Real3 add(const Real3& p1, const Real3& p2)
+{
+ Real3 retval;
+ retval[0] = p1[0] + p2[0];
+ retval[1] = p1[1] + p2[1];
+ retval[2] = p1[2] + p2[2];
+ return retval;
+}
+
+inline Real3 subtract(const Real3& p1, const Real3& p2)
+{
+ Real3 retval;
+ retval[0] = p1[0] - p2[0];
+ retval[1] = p1[1] - p2[1];
+ retval[2] = p1[2] - p2[2];
+ return retval;
+}
+
+inline Real3 divide(const Real3& p1, const Real3::value_type& p2)
+{
+ Real3 retval;
+ retval[0] = p1[0] / p2;
+ retval[1] = p1[1] / p2;
+ retval[2] = p1[2] / p2;
+ return retval;
+}
+
+inline Real3 multiply(const Real3& p1, const Real3::value_type& p2)
+{
+ Real3 retval;
+ retval[0] = p1[0] * p2;
+ retval[1] = p1[1] * p2;
+ retval[2] = p1[2] * p2;
+ return retval;
+}
+
+inline Real3 modulo(const Real3& p1, const Real3::value_type& p2)
+{
+ Real3 retval;
+ retval[0] = modulo(p1[0], p2);
+ retval[1] = modulo(p1[1], p2);
+ retval[2] = modulo(p1[2], p2);
+ return retval;
+}
+
+inline Real3 modulo(const Real3& p1, const Real3& p2)
+{
+ Real3 retval;
+ retval[0] = modulo(p1[0], p2[0]);
+ retval[1] = modulo(p1[1], p2[1]);
+ retval[2] = modulo(p1[2], p2[2]);
+ return retval;
+}
+
+inline Real3 abs(const Real3& v)
+{
+ Real3 retval;
+ retval[0] = abs(v[0]);
+ retval[1] = abs(v[1]);
+ retval[2] = abs(v[2]);
+ return retval;
+}
+
+inline Real3::value_type dot_product(
+ const Real3& p1, const Real3& p2)
+{
+ return p1[0] * p2[0] + p1[1] * p2[1] + p1[2] * p2[2];
+}
+
+inline Real3 cross_product(const Real3& p1, const Real3& p2)
+{
+ Real3 retval;
+ retval[0] = p1[1] * p2[2] - p1[2] * p2[1];
+ retval[1] = p1[2] * p2[0] - p1[0] * p2[2];
+ retval[2] = p1[0] * p2[1] - p1[1] * p2[0];
+ return retval;
+}
+
+inline Real3::value_type length_sq(const Real3& r)
+{
+ return pow_2(r[0]) + pow_2(r[1]) + pow_2(r[2]);
+}
+
+inline Real3::value_type length(const Real3& r)
+{
+ return std::sqrt(length_sq(r));
+}
+
+inline Real3 operator+(const Real3& lhs, const Real3& rhs)
+{
+ return add(lhs, rhs);
+}
+
+inline Real3 operator-(const Real3& lhs, const Real3& rhs)
+{
+ return subtract(lhs, rhs);
+}
+
+inline Real3 operator/(
+ const Real3& lhs, const Real3::value_type& rhs)
+{
+ return divide(lhs, rhs);
+}
+
+inline Real3 operator*(
+ const Real3& lhs, const Real3::value_type& rhs)
+{
+ return multiply(lhs, rhs);
+}
+
+template<typename Tstrm_, typename Ttraits_>
+inline std::basic_ostream<Tstrm_, Ttraits_>& operator<<(
+ std::basic_ostream<Tstrm_, Ttraits_>& strm, const Real3& v)
+{
+ strm << std::setprecision(12)
+ << "(" << v[0] << ", " << v[1] << ", " << v[2] << ")";
+ return strm;
+}
+
+inline Real3 ones()
+{
+ return Real3(1.0, 1.0, 1.0);
+}
+
+inline Real3 unitx()
+{
+ return Real3(1.0, 0.0, 0.0);
+}
+
+inline Real3 unity()
+{
+ return Real3(0.0, 1.0, 0.0);
+}
+
+inline Real3 unitz()
+{
+ return Real3(0.0, 0.0, 1.0);
+}
+
+} // ecell4
+
+ECELL4_DEFINE_HASH_BEGIN()
+
+template<>
+struct hash<ecell4::Real3>
+{
+ typedef ecell4::Real3 argument_type;
+
+ std::size_t operator()(argument_type const& val)
+ {
+ return hash<argument_type::value_type>()(val[0]) ^
+ hash<argument_type::value_type>()(val[1]) ^
+ hash<argument_type::value_type>()(val[2]);
+ }
+};
+
+ECELL4_DEFINE_HASH_END()
+
+#endif /* __ECELL4_POSITION3_HPP */
diff --git a/ecell4/core/Rod.cpp b/ecell4/core/Rod.cpp
new file mode 100644
index 0000000..cb06eac
--- /dev/null
+++ b/ecell4/core/Rod.cpp
@@ -0,0 +1,224 @@
+#include "Rod.hpp"
+#include "AABB.hpp"
+#include "exceptions.hpp"
+#include "collision.hpp"
+
+
+namespace ecell4
+{
+
+Rod::Rod()
+ : length_(0.5e-6), radius_(2.0e-6), origin_()
+{
+ ;
+}
+
+Rod::Rod(const Real& length, const Real& radius)
+ : length_(length), radius_(radius), origin_()
+{
+ //assert(length_ > 0);
+ //assert(radius_ > 0)
+}
+
+Rod::Rod(const Real& length, const Real& radius, const Real3& origin)
+ : length_(length), radius_(radius), origin_(origin)
+{
+ ;
+}
+
+Rod::Rod(const Rod& rhs)
+ : length_(rhs.length_), radius_(rhs.radius_), origin_(rhs.origin_)
+{
+ ;
+}
+
+const Real& Rod::lengthX() const
+{
+ return length_;
+}
+
+const Real& Rod::radius() const
+{
+ return radius_;
+}
+
+const Real3& Rod::origin() const
+{
+ return origin_;
+}
+
+void Rod::shift(const Real3& vec)
+{
+ origin_ += vec;
+}
+
+Real Rod::is_inside(const Real3& pos) const
+{
+ // if (pos[0] < origin_[0] - length_ * 0.5)
+ // {
+ // const Real3 edge(origin_[0] - length_ * 0.5, origin_[1], origin_[2]);
+ // return ecell4::length(pos - edge) - radius_;
+ // }
+ // else if (pos[0] > origin_[0] + length_ * 0.5)
+ // {
+ // const Real3 edge(origin_[0] + length_ * 0.5, origin_[1], origin_[2]);
+ // return ecell4::length(pos - edge) - radius_;
+ // }
+ // else
+ // {
+ // return sqrt(pow_2(pos[1] - origin_[1]) + pow_2(pos[2] - origin_[2])) - radius_;
+ // }
+ return distance(pos);
+}
+
+Real Rod::distance(const Real3& pos) const
+{
+ return collision::distance_point_capsule(pos, *this);
+}
+
+Real3 Rod::draw_position(boost::shared_ptr<RandomNumberGenerator>& rng) const
+{
+ // The Cylinder Part
+ if (rng->uniform(-4*radius_, 3*length_) >= 0)
+ {
+ const Real x(rng->uniform(-length_/2, length_/2));
+ const Real theta(rng->uniform(0, M_PI*2));
+ const Real r(sqrt(rng->uniform(0, pow(radius_, 2.0))));
+ return origin_ + Real3(x, r*cos(theta), r*sin(theta));
+ }
+
+ // The Terminal Part
+ const Real theta(rng->uniform(0, M_PI));
+ const Real phi(rng->uniform(0, M_PI));
+ const Real r(pow(rng->uniform(0, pow(radius_, 3.0)), 1.0/3.0));
+ const Real l(r*sin(phi));
+
+ const Integer sign(2*Integer(rng->uniform(0,2))-1);
+ return origin_ + Real3(sign*(length_/2+l*sin(theta)), l*cos(theta), r*cos(phi));
+}
+
+RodSurface Rod::surface() const
+{
+ return RodSurface(length_, radius_, origin_);
+}
+
+bool Rod::test_AABB(const Real3& lower, const Real3& upper) const
+{
+ const Real3 axis(1.0, 0.0, 0.0); //XXX: DEFAULT
+ const Real3 d(axis * length_);
+ const Real3 p0(origin_ - axis * (length_ * 0.5));
+
+ Real t;
+ return collision::intersect_moving_sphere_AABB(
+ Sphere(p0, radius_), d, AABB(lower, upper), t);
+}
+
+RodSurface::RodSurface()
+ : length_(0.5e-6), radius_(2.0e-6), origin_()
+{
+ ;
+}
+
+RodSurface::RodSurface(const Real& length, const Real& radius)
+ : length_(length), radius_(radius), origin_()
+{
+ //assert(length_ > 0);
+ //assert(radius_ > 0)
+}
+
+RodSurface::RodSurface(const Real& length, const Real& radius, const Real3& origin)
+ : length_(length), radius_(radius), origin_(origin)
+{
+ ;
+}
+
+RodSurface::RodSurface(const RodSurface& rhs)
+ : length_(rhs.length_), radius_(rhs.radius_), origin_(rhs.origin_)
+{
+ ;
+}
+
+const Real& RodSurface::lengthX() const
+{
+ return length_;
+}
+
+const Real& RodSurface::radius() const
+{
+ return radius_;
+}
+
+const Real3& RodSurface::origin() const
+{
+ return origin_;
+}
+
+void RodSurface::shift(const Real3& vec)
+{
+ origin_ += vec;
+}
+
+Real RodSurface::is_inside(const Real3& pos) const
+{
+ return distance(pos);
+}
+
+Real RodSurface::distance(const Real3& pos) const
+{
+ return collision::distance_point_capsule(pos, this->inside());
+}
+
+Real3 RodSurface::draw_position(boost::shared_ptr<RandomNumberGenerator>& rng) const
+{
+ // The Cylinder Part
+ if (rng->uniform(-2*radius_, length_) >= 0)
+ {
+ const Real x(rng->uniform(-length_/2, length_/2));
+ const Real theta(rng->uniform(0, M_PI*2));
+ return origin_ + Real3(x, radius_*sin(theta), radius_*cos(theta));
+ }
+
+ // The Terminal Part
+ const Real theta(rng->uniform(0, M_PI));
+ const Real phi(rng->uniform(0, M_PI));
+ const Real l(radius_*sin(phi));
+
+ const Integer sign(2*Integer(rng->uniform(0,2))-1);
+ return origin_ + Real3(sign*(length_/2+l*sin(theta)), l*cos(theta), radius_*cos(phi));
+}
+
+Rod RodSurface::inside() const
+{
+ return Rod(length_, radius_, origin_);
+}
+
+bool RodSurface::test_AABB(const Real3& lower, const Real3& upper) const
+{
+ // throw NotImplemented("not implemented yet.");
+
+ const Real3 axis(1.0, 0.0, 0.0); //XXX: DEFAULT
+ const Real3 d(axis * length_);
+ const Real3 p0(origin_ - axis * (length_ * 0.5));
+
+ Real t;
+ const AABB b(lower, upper);
+ const bool collide = collision::intersect_moving_sphere_AABB(
+ Sphere(p0, radius_), d, b, t);
+ if (collide)
+ {
+ for (int i(0); i < 8; ++i)
+ {
+ if (is_inside(b.corner(i)) > 0)
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+ else
+ {
+ return false;
+ }
+}
+
+} // ecell4
diff --git a/ecell4/core/Rod.hpp b/ecell4/core/Rod.hpp
new file mode 100644
index 0000000..ecc9f19
--- /dev/null
+++ b/ecell4/core/Rod.hpp
@@ -0,0 +1,92 @@
+#ifndef __ECELL4_ROD_HPP
+#define __ECELL4_ROD_HPP
+
+#include "Shape.hpp"
+
+namespace ecell4
+{
+
+struct RodSurface;
+
+// A Rod is parallel with the x-axis.
+// The center of a Rod is the origin.
+struct Rod
+ : public Shape
+{
+public:
+
+ Rod();
+ Rod(const Real& length, const Real& radius);
+ Rod(const Real& length, const Real& radius, const Real3& origin);
+ Rod(const Rod& rhs);
+ const Real& lengthX() const;
+ const Real& radius() const;
+ const Real3& origin() const;
+ void shift(const Real3& vec);
+ Real is_inside(const Real3& pos) const;
+ Real distance(const Real3& pos) const;
+ Real3 draw_position(boost::shared_ptr<RandomNumberGenerator>& rng) const;
+ RodSurface surface() const;
+ bool test_AABB(const Real3& l, const Real3& u) const;
+
+ const Real half_length() const
+ {
+ return length_ * 0.5;
+ }
+
+ inline const Real& length() const
+ {
+ return lengthX();
+ }
+
+ dimension_kind dimension() const
+ {
+ return THREE;
+ }
+
+protected:
+
+ Real length_; // LengthX
+ Real radius_; // LengthY/2
+ Real3 origin_;
+};
+
+struct RodSurface
+ : public Shape
+{
+public:
+
+ RodSurface();
+ RodSurface(const Real& length, const Real& radius);
+ RodSurface(const Real& length, const Real& radius, const Real3& origin);
+ RodSurface(const RodSurface& rhs);
+ const Real& lengthX() const;
+ const Real& radius() const;
+ const Real3& origin() const;
+ void shift(const Real3& vec);
+ Real is_inside(const Real3& pos) const;
+ Real distance(const Real3& pos) const;
+ Real3 draw_position(boost::shared_ptr<RandomNumberGenerator>& rng) const;
+ Rod inside() const;
+ bool test_AABB(const Real3& l, const Real3& u) const;
+
+ dimension_kind dimension() const
+ {
+ return TWO;
+ }
+
+ inline const Real& length() const
+ {
+ return lengthX();
+ }
+
+protected:
+
+ Real length_; // LengthX
+ Real radius_; // LengthY/2
+ Real3 origin_; // origin
+};
+
+} // ecell4
+
+#endif /* __ECELL4_ROD_HPP */
diff --git a/ecell4/core/SerialIDGenerator.hpp b/ecell4/core/SerialIDGenerator.hpp
new file mode 100644
index 0000000..04ef342
--- /dev/null
+++ b/ecell4/core/SerialIDGenerator.hpp
@@ -0,0 +1,360 @@
+#ifndef __ECELL4_SERIAL_ID_GENERATOR_HPP
+#define __ECELL4_SERIAL_ID_GENERATOR_HPP
+
+#include <functional>
+#include <boost/type_traits/is_integral.hpp>
+#include <boost/scoped_ptr.hpp>
+
+#include <ecell4/core/config.h>
+
+#ifdef WITH_HDF5
+#include <hdf5.h>
+#include <H5Cpp.h>
+#endif
+
+
+namespace ecell4
+{
+
+namespace detail
+{
+
+template<bool Vis_integral, typename Tid_>
+struct identifier_lot_helper
+{
+ typedef typename Tid_::lot_type type;
+};
+
+template<typename Tid_>
+struct identifier_lot_helper<true, Tid_>
+{
+ typedef Tid_ type;
+};
+
+template<bool Vis_integral, typename Tid_>
+struct identifier_lot_adder_helper
+ : public std::binary_function<Tid_, typename Tid_::lot_type, Tid_>
+{
+ Tid_ operator()(const Tid_& lhs, typename Tid_::lot_type rhs)
+ {
+ return lhs.lot_add(rhs);
+ }
+};
+
+template<typename Tid_>
+struct identifier_lot_adder_helper<true, Tid_>
+ : public std::binary_function<Tid_, Tid_, Tid_>
+{
+ Tid_ operator()(const Tid_& lhs, const Tid_& rhs)
+ {
+ return lhs + rhs;
+ }
+};
+
+template<bool Vis_integral, typename Tid_>
+struct identifier_lot_advancer_helper
+ : public std::binary_function<Tid_&, typename Tid_::lot_type, Tid_&>
+{
+ Tid_& operator()(Tid_& lhs, const typename Tid_::lot_type& rhs)
+ {
+ lhs.lot_advance(rhs);
+ return lhs;
+ }
+};
+
+template<typename Tid_>
+struct identifier_lot_advancer_helper<true, Tid_>
+ : public std::binary_function<Tid_&, Tid_, Tid_&>
+{
+ Tid_& operator()(Tid_& lhs, const Tid_& rhs)
+ {
+ lhs += rhs;
+ return lhs;
+ }
+};
+
+template<bool Vis_integral, typename Tid_>
+struct identifier_lot_retracer_helper
+ : public std::binary_function<Tid_&, typename Tid_::lot_type, Tid_&>
+{
+ Tid_& operator()(Tid_& lhs, const typename Tid_::lot_type& rhs)
+ {
+ lhs.lot_retrace(rhs);
+ return lhs;
+ }
+};
+
+template<typename Tid_>
+struct identifier_lot_retracer_helper<true, Tid_>
+ : public std::binary_function<Tid_, Tid_, Tid_>
+{
+ Tid_& operator()(Tid_& lhs, const Tid_& rhs)
+ {
+ lhs -= rhs;
+ return lhs;
+ }
+};
+
+template<bool Vis_integral, typename Tid_>
+struct identifier_lot_retriever_helper
+ : public std::binary_function<Tid_&, typename Tid_::lot_type, Tid_&>
+{
+ const typename identifier_lot_helper<Vis_integral, Tid_>::type&
+ operator()(const Tid_& lhs)
+ {
+ return lhs.lot();
+ }
+};
+
+template<typename Tid_>
+struct identifier_lot_retriever_helper<true, Tid_>
+ : public std::binary_function<Tid_, Tid_, Tid_>
+{
+ typename identifier_lot_helper<true, Tid_>::type& operator()(Tid_& lhs)
+ {
+ return lhs;
+ }
+};
+
+template<bool Vis_integral, typename Tid_>
+struct identifier_serial_helper
+{
+ typedef typename Tid_::serial_type type;
+};
+
+template<typename Tid_>
+struct identifier_serial_helper<true, Tid_>
+{
+ typedef Tid_ type;
+};
+
+template<bool Vis_integral, typename Tid_>
+struct identifier_serial_advancer_helper
+ : public std::binary_function<Tid_&, typename Tid_::serial_type, Tid_&>
+{
+ Tid_& operator()(Tid_& lhs, const typename Tid_::serial_type& rhs)
+ {
+ lhs.serial_advance(rhs);
+ return lhs;
+ }
+};
+
+template<typename Tid_>
+struct identifier_serial_advancer_helper<true, Tid_>
+ : public std::binary_function<Tid_&, Tid_, Tid_&>
+{
+ Tid_& operator()(Tid_& lhs, const Tid_& rhs)
+ {
+ lhs += rhs;
+ return lhs;
+ }
+};
+
+template<bool Vis_integral, typename Tid_>
+struct identifier_serial_retracer_helper
+ : public std::binary_function<Tid_&, typename Tid_::serial_type, Tid_&>
+{
+ Tid_& operator()(Tid_& lhs, const typename Tid_::serial_type& rhs)
+ {
+ lhs.serial_retrace(rhs);
+ return lhs;
+ }
+};
+
+template<typename Tid_>
+struct identifier_serial_retracer_helper<true, Tid_>
+ : public std::binary_function<Tid_, Tid_, Tid_>
+{
+ Tid_& operator()(Tid_& lhs, const Tid_& rhs)
+ {
+ lhs -= rhs;
+ return lhs;
+ }
+};
+
+template<bool Vis_integral, typename Tid_>
+struct identifier_serial_retriever_helper
+ : public std::binary_function<Tid_&, typename Tid_::serial_type, Tid_&>
+{
+ const typename identifier_serial_helper<Vis_integral, Tid_>::type&
+ operator()(const Tid_& lhs)
+ {
+ return lhs.serial();
+ }
+};
+
+template<typename Tid_>
+struct identifier_serial_retriever_helper<true, Tid_>
+ : public std::binary_function<Tid_, Tid_, Tid_>
+{
+ typename identifier_serial_helper<true, Tid_>::type& operator()(Tid_& lhs)
+ {
+ return lhs;
+ }
+};
+
+} // namespace detail
+
+template<typename Tid_>
+struct identifier_lot
+ : public detail::identifier_lot_helper<boost::is_integral<Tid_>::value, Tid_>
+{
+};
+
+template<typename Tid_>
+struct identifier_lot_adder
+ : public detail::identifier_lot_adder_helper<
+ boost::is_integral<Tid_>::value, Tid_>
+{
+};
+
+template<typename Tid_>
+struct identifier_lot_advancer
+ : public detail::identifier_lot_advancer_helper<
+ boost::is_integral<Tid_>::value, Tid_>
+{
+};
+
+template<typename Tid_>
+struct identifier_lot_retracer
+ : public detail::identifier_lot_retracer_helper<
+ boost::is_integral<Tid_>::value, Tid_>
+{
+};
+
+template<typename Tid_>
+struct identifier_lot_retriever
+ : public detail::identifier_lot_retriever_helper<
+ boost::is_integral<Tid_>::value, Tid_>
+{
+};
+
+template<typename Tid_>
+struct identifier_serial
+ : public detail::identifier_serial_helper<
+ boost::is_integral<Tid_>::value, Tid_>
+{
+};
+
+template<typename Tid_>
+struct identifier_serial_advancer
+ : public detail::identifier_serial_advancer_helper<
+ boost::is_integral<Tid_>::value, Tid_>
+{
+};
+
+template<typename Tid_>
+struct identifier_serial_retracer
+ : public detail::identifier_serial_retracer_helper<
+ boost::is_integral<Tid_>::value, Tid_>
+{
+};
+
+template<typename Tid_>
+struct identifier_serial_retriever
+ : public detail::identifier_serial_retriever_helper<
+ boost::is_integral<Tid_>::value, Tid_>
+{
+};
+
+template<typename Tid_>
+Tid_ lot_add(const Tid_& lhs, const typename identifier_lot<Tid_>::type& rhs)
+{
+ return identifier_lot_adder<Tid_>()(lhs, rhs);
+}
+
+template<typename Tid_>
+Tid_& lot_advance(Tid_& lhs, const typename identifier_lot<Tid_>::type& rhs)
+
+{
+ return identifier_lot_advancer<Tid_>()(lhs, rhs);
+}
+
+template<typename Tid_>
+Tid_& lot_retrace(Tid_& lhs, const typename identifier_lot<Tid_>::type& rhs)
+{
+ return identifier_lot_retracer<Tid_>()(lhs, rhs);
+}
+
+template<typename Tid_>
+typename identifier_lot<Tid_>::type lot(Tid_& lhs)
+{
+ return identifier_lot_retriever<Tid_>()(lhs);
+}
+
+template<typename Tid_>
+Tid_& serial_advance(
+ Tid_& lhs, const typename identifier_serial<Tid_>::type& rhs)
+{
+ return identifier_serial_advancer<Tid_>()(lhs, rhs);
+}
+
+template<typename Tid_>
+Tid_& serial_retrace(
+ Tid_& lhs, const typename identifier_serial<Tid_>::type& rhs)
+{
+ return identifier_serial_retracer<Tid_>()(lhs, rhs);
+}
+
+template<typename Tid_>
+typename identifier_serial<Tid_>::type serial(Tid_& lhs)
+{
+ return identifier_serial_retriever<Tid_>()(lhs);
+}
+
+template<typename Tid_>
+struct SerialIDGenerator
+{
+public:
+
+ typedef Tid_ identifier_type;
+ typedef typename identifier_lot<identifier_type>::type lot_type;
+
+public:
+
+ SerialIDGenerator(const lot_type& lot = lot_type())
+ : next_(lot_add(identifier_type(), lot))
+ {
+ ;
+ }
+
+ identifier_type operator()()
+ {
+ return serial_advance(next_, 1);
+ }
+
+#ifdef WITH_HDF5
+ void save(H5::CommonFG* root) const
+ {
+ using namespace H5;
+
+ boost::scoped_ptr<DataType> optype(new DataType(H5T_OPAQUE, 1));
+ hsize_t bufsize(sizeof(identifier_type));
+ DataSpace dataspace(1, &bufsize);
+ optype->setTag("SerialIDGenerator state type");
+ boost::scoped_ptr<DataSet> dataset(
+ new DataSet(root->createDataSet("idgen", *optype, dataspace)));
+ dataset->write((unsigned char*)(&next_), *optype);
+ }
+
+ void load(const H5::CommonFG& root)
+ {
+ using namespace H5;
+
+ const DataSet dataset(DataSet(root.openDataSet("idgen")));
+ boost::scoped_ptr<DataType> optype(new DataType(H5T_OPAQUE, 1));
+ optype->setTag("SerialIDGenerator state type");
+ identifier_type state;
+ dataset.read((unsigned char*)(&state), *optype);
+ next_ = state;
+ }
+#endif
+
+private:
+
+ identifier_type next_;
+};
+
+} // ecell4
+
+#endif /* __ECELL4_SERIAL_ID_GENERATOR_HPP */
diff --git a/ecell4/core/Shape.hpp b/ecell4/core/Shape.hpp
new file mode 100644
index 0000000..8f8124d
--- /dev/null
+++ b/ecell4/core/Shape.hpp
@@ -0,0 +1,47 @@
+#ifndef __ECELL4_SHAPE_HPP
+#define __ECELL4_SHAPE_HPP
+
+#include "Real3.hpp"
+#include "RandomNumberGenerator.hpp"
+
+
+namespace ecell4
+{
+
+struct Shape
+{
+ typedef enum
+ {
+ ONE = 1,
+ TWO = 2,
+ THREE = 3,
+ UNDEF = 4,
+ } dimension_kind;
+
+ virtual ~Shape()
+ {
+ ; // do nothing
+ }
+
+ virtual dimension_kind dimension() const = 0;
+ // virtual dimension_kind dimension() const
+ // {
+ // return THREE;
+ // }
+
+ virtual Real is_inside(const Real3& coord) const = 0;
+ virtual Real3 draw_position(
+ boost::shared_ptr<RandomNumberGenerator>& rng) const = 0;
+ virtual bool test_AABB(const Real3& l, const Real3& u) const = 0;
+
+ virtual void bounding_box(
+ const Real3& edge_lengths, Real3& lower, Real3& upper) const
+ {
+ lower = Real3(0.0, 0.0, 0.0);
+ upper = edge_lengths;
+ }
+};
+
+} // ecell4
+
+#endif /* __ECELL4_SHAPE_HPP */
diff --git a/ecell4/core/Simulator.hpp b/ecell4/core/Simulator.hpp
new file mode 100644
index 0000000..3ac3374
--- /dev/null
+++ b/ecell4/core/Simulator.hpp
@@ -0,0 +1,83 @@
+#ifndef __ECELL4_SIMULATOR_HPP
+#define __ECELL4_SIMULATOR_HPP
+
+#include <vector>
+#include "types.hpp"
+#include "ReactionRule.hpp"
+
+
+namespace ecell4
+{
+
+class Simulator
+{
+public:
+
+ virtual ~Simulator()
+ {
+ ; // do nothing
+ }
+
+ // SimulatorTraits
+
+ /**
+ * initialize
+ */
+ virtual void initialize() = 0;
+
+ /**
+ * get current time.
+ * @return time Real
+ */
+ virtual Real t() const = 0;
+
+ /**
+ * get step interval.
+ * @return dt Real
+ */
+ virtual Real dt() const = 0;
+
+ /**
+ * set step interval.
+ */
+ virtual void set_dt(const Real& dt) = 0;
+
+ /**
+ * get the number of steps.
+ * @return the number of steps Integer
+ */
+ virtual Integer num_steps() const = 0;
+
+ /**
+ * step.
+ */
+ virtual void step() = 0;
+
+ /**
+ * step and return true if the next time is less than upto.
+ * if not, step till upto and return false.
+ * @return if the simulator does not rearch upto
+ */
+ virtual bool step(const Real& upto) = 0;
+
+ /**
+ * get next time (t + dt).
+ * @return next time Real
+ */
+ inline Real next_time() const
+ {
+ return t() + dt();
+ }
+
+ /**
+ * @return if any reaction occurs at the last step or not
+ */
+ virtual bool check_reaction() const
+ {
+ return false;
+ }
+};
+
+}
+
+#endif /* __ECELL4_SIMULATOR_HPP */
diff --git a/ecell4/core/SimulatorBase.hpp b/ecell4/core/SimulatorBase.hpp
new file mode 100644
index 0000000..7e7e4e5
--- /dev/null
+++ b/ecell4/core/SimulatorBase.hpp
@@ -0,0 +1,250 @@
+#ifndef __ECELL4_SIMULATOR_BASE_HPP
+#define __ECELL4_SIMULATOR_BASE_HPP
+
+#include <time.h>
+
+#include "Simulator.hpp"
+#include "EventScheduler.hpp"
+#include "observers.hpp"
+
+
+namespace ecell4
+{
+
+template <typename Tmodel_, typename Tworld_>
+class SimulatorBase
+ : public Simulator
+{
+public:
+
+ typedef Tmodel_ model_type;
+ typedef Tworld_ world_type;
+
+protected:
+
+ struct ObserverEvent: Event
+ {
+ ObserverEvent(
+ SimulatorBase<model_type, world_type>* sim, Observer* obs, const Real& t)
+ : Event(t), sim_(sim), obs_(obs), running_(true)
+ {
+ time_ = obs_->next_time();
+ }
+
+ virtual ~ObserverEvent()
+ {
+ ;
+ }
+
+ virtual void fire()
+ {
+ const boost::shared_ptr<Space> space = sim_->world();
+ running_ = obs_->fire(sim_, space);
+ // running_ = obs_->fire(sim_, sim_->world());
+ // running_ = obs_->fire(sim_, static_cast<const Space*>(sim_->world().get()));
+ time_ = obs_->next_time();
+ }
+
+ bool running() const
+ {
+ return running_;
+ }
+
+ protected:
+
+ SimulatorBase<model_type, world_type>* sim_;
+ Observer* obs_;
+ bool running_;
+ };
+
+ struct observer_every
+ {
+ bool operator()(boost::shared_ptr<Observer> const& val) const
+ {
+ return val->every();
+ }
+ };
+
+public:
+
+ SimulatorBase(const boost::shared_ptr<model_type>& model,
+ const boost::shared_ptr<world_type>& world)
+ : model_(model), world_(world), num_steps_(0)
+ {
+ world_->bind_to(model_);
+ }
+
+ SimulatorBase(const boost::shared_ptr<world_type>& world)
+ : world_(world), num_steps_(0)
+ {
+ if (boost::shared_ptr<model_type> bound_model = world_->lock_model())
+ {
+ model_ = bound_model;
+ }
+ else
+ {
+ throw std::invalid_argument("A world must be bound to a model.");
+ }
+ }
+
+ virtual ~SimulatorBase()
+ {
+ ; // do nothing
+ }
+
+ const boost::shared_ptr<model_type>& model() const
+ {
+ return model_;
+ }
+
+ const boost::shared_ptr<world_type>& world() const
+ {
+ return world_;
+ }
+
+ /**
+ * get the number of steps.
+ * @return the number of steps Integer
+ */
+ Integer num_steps() const
+ {
+ return num_steps_;
+ }
+
+ virtual Real t() const
+ {
+ return (*world_).t();
+ }
+
+ virtual void set_t(const Real& t)
+ {
+ (*world_).set_t(t);
+ }
+
+ /**
+ * set step interval.
+ */
+ virtual void set_dt(const Real& dt)
+ {
+ std::cerr << "WARN: set_dt(const Real&) was just ignored." << std::endl;
+ }
+
+ void run(const Real& duration)
+ {
+ const Real upto(t() + duration);
+ while (step(upto))
+ {
+ ; // do nothing
+ }
+ }
+
+ void run(const Real& duration, const boost::shared_ptr<Observer>& observer)
+ {
+ std::vector<boost::shared_ptr<Observer> > observers;
+ observers.push_back(observer);
+ run(duration, observers);
+ }
+
+ bool fire_observers(
+ const std::vector<boost::shared_ptr<Observer> >::iterator begin,
+ const std::vector<boost::shared_ptr<Observer> >::iterator end)
+ {
+ bool retval = true;
+ for (std::vector<boost::shared_ptr<Observer> >::iterator
+ i(begin); i != end; ++i)
+ {
+ // if (!(*i)->fire(this, static_cast<const Space*>(world_.get())))
+ if (!(*i)->fire(this, world_))
+ {
+ retval = false;
+ }
+ }
+ return retval;
+ }
+
+ void run(const Real& duration, std::vector<boost::shared_ptr<Observer> > observers)
+ {
+ const Real upto(t() + duration);
+
+ std::vector<boost::shared_ptr<Observer> >::iterator
+ offset(std::partition(
+ observers.begin(), observers.end(), observer_every()));
+
+ for (std::vector<boost::shared_ptr<Observer> >::iterator i(observers.begin());
+ i != observers.end(); ++i)
+ {
+ // (*i)->initialize(world_.get());
+ (*i)->initialize(world_);
+ }
+
+ EventScheduler scheduler;
+ // for (std::vector<boost::shared_ptr<Observer> >::const_iterator
+ // i(offset); i != observers.end(); ++i)
+ for (std::vector<boost::shared_ptr<Observer> >::const_iterator
+ i(observers.begin()); i != observers.end(); ++i)
+ {
+ scheduler.add(boost::shared_ptr<Event>(
+ new ObserverEvent(this, (*i).get(), t())));
+ }
+
+ while (true)
+ {
+ bool running = true;
+ while (next_time() < std::min(scheduler.next_time(), upto))
+ {
+ step();
+
+ if (!fire_observers(observers.begin(), offset))
+ {
+ running = false;
+ break;
+ }
+ }
+
+ if (!running)
+ {
+ break;
+ }
+ else if (upto >= scheduler.next_time())
+ {
+ step(scheduler.next_time());
+ if (!fire_observers(observers.begin(), offset))
+ {
+ running = false;
+ }
+ EventScheduler::value_type top(scheduler.pop());
+ top.second->fire();
+ running = (
+ running && static_cast<ObserverEvent*>(top.second.get())->running());
+ scheduler.add(top.second);
+ if (!running)
+ {
+ break;
+ }
+ }
+ else
+ {
+ step(upto);
+ fire_observers(observers.begin(), offset);
+ break;
+ }
+ }
+
+ for (std::vector<boost::shared_ptr<Observer> >::iterator i(observers.begin());
+ i != observers.end(); ++i)
+ {
+ // (*i)->finalize(world_.get());
+ (*i)->finalize(world_);
+ }
+ }
+
+protected:
+
+ boost::shared_ptr<model_type> model_;
+ boost::shared_ptr<world_type> world_;
+ Integer num_steps_;
+};
+
+}
+
+#endif /* __ECELL4_SIMULATOR_BASE_HPP */
diff --git a/ecell4/core/SimulatorFactory.hpp b/ecell4/core/SimulatorFactory.hpp
new file mode 100644
index 0000000..ed0670f
--- /dev/null
+++ b/ecell4/core/SimulatorFactory.hpp
@@ -0,0 +1,49 @@
+#ifndef __ECELL4_SIMULATOR_FACTORY_HPP
+#define __ECELL4_SIMULATOR_FACTORY_HPP
+
+#include "Space.hpp"
+#include "Model.hpp"
+#include "Simulator.hpp"
+
+
+namespace ecell4
+{
+
+template <typename Tworld_, typename Tsim_>
+class SimulatorFactory
+{
+public:
+
+ typedef Tworld_ world_type;
+ typedef Tsim_ simulator_type;
+
+public:
+
+ SimulatorFactory()
+ {
+ ; // do nothing
+ }
+
+ virtual ~SimulatorFactory()
+ {
+ ; // do nothing
+ }
+
+ virtual Space* create_world(const std::string filename) const = 0;
+ virtual Space* create_world(const Real3& edge_lengths) const = 0;
+
+ virtual Space* create_world(const boost::shared_ptr<Model>& m) const
+ {
+ throw NotSupported("not supported yet");
+ }
+
+ virtual Simulator* create_simulator(
+ const boost::shared_ptr<Model>& model,
+ const boost::shared_ptr<world_type>& world) const = 0;
+ virtual Simulator* create_simulator(
+ const boost::shared_ptr<world_type>& world) const = 0;
+};
+
+} // ecell4
+
+#endif /* __ECELL4_SIMULATOR_FACTORY_HPP */
diff --git a/ecell4/core/Space.hpp b/ecell4/core/Space.hpp
new file mode 100644
index 0000000..04eb33f
--- /dev/null
+++ b/ecell4/core/Space.hpp
@@ -0,0 +1,248 @@
+#ifndef __ECELL4_SPACE_HPP
+#define __ECELL4_SPACE_HPP
+
+#include <stdexcept>
+
+#include "exceptions.hpp"
+#include "types.hpp"
+#include "Real3.hpp"
+#include "Species.hpp"
+#include "Particle.hpp"
+
+#include <iostream>
+
+namespace ecell4
+{
+
+class Space
+{
+public:
+
+ typedef enum
+ {
+ ELSE,
+ PARTICLE,
+ LATTICE,
+ COMPARTMENT,
+ SUBVOLUME
+ } space_kind;
+
+public:
+
+ Space()
+ {
+ ;
+ }
+
+ virtual ~Space()
+ {
+ ; // do nothing
+ }
+
+ // SpaceTraits
+
+ // virtual const Real t() const = 0; //XXX: This doesn't work with Python35 MSVC2015
+ virtual const Real t() const
+ {
+ return 0.0; //XXX: Just for debugging
+ }
+
+ virtual void set_t(const Real& t) = 0;
+
+ virtual void save(const std::string& filename) const = 0;
+ //XXX: This doesn't work with Python35 MSVC2015
+ // virtual void save(const std::string& filename) const
+ // {
+ // throw NotSupported(
+ // "save(const std::string) is not supported by this space class");
+ // }
+
+ virtual void load(const std::string& filename)
+ {
+ throw NotSupported(
+ "load(const std::string) is not supported by this space class");
+ }
+
+ // CompartmentSpaceTraits
+
+ /**
+ * get volume.
+ * this function is a part of the trait of CompartmentSpace.
+ * @return a volume (m^3) Real
+ */
+ virtual const Real volume() const
+ {
+ throw NotSupported("volume() is not supported by this space class");
+ }
+
+ /**
+ * get the number of species in this space.
+ * this function is a part of the trait of CompartmentSpace.
+ * @return a number of species Integer
+ */
+ virtual Integer num_species() const
+ {
+ throw NotSupported("num_species() is not supported by this space class");
+ }
+
+ /**
+ * return if the species is in this space or not.
+ * this function is a part of the trait of CompartmentSpace.
+ * @param sp a species
+ * @return if the species is in this space
+ */
+ virtual bool has_species(const Species& sp) const
+ {
+ throw NotSupported(
+ "has_species(const Species&) is not supported by this space class");
+ }
+
+ /**
+ * get the number of molecules
+ * this function is a part of the trait of CompartmentSpace.
+ * @param sp a species
+ * @return a number of molecules Integer
+ */
+ virtual Integer num_molecules(const Species& sp) const
+ {
+ throw NotSupported(
+ "num_molecules(const Species&) is not supported"
+ " by this space class");
+ }
+
+ virtual Integer num_molecules_exact(const Species& sp) const
+ {
+ throw NotSupported(
+ "num_molecules_exact(const Species&) is not supported"
+ " by this space class");
+ }
+
+ virtual Real get_value(const Species& sp) const
+ {
+ throw NotSupported(
+ "get_value(const Species&) is not supported"
+ " by this space class");
+ }
+
+ virtual Real get_value_exact(const Species& sp) const
+ {
+ throw NotSupported(
+ "get_value_exact(const Species&) is not supported"
+ " by this space class");
+ }
+
+ // ParticleSpaceTraits
+
+ /**
+ * get the axes lengths of a cuboidal region.
+ * this function is a part of the trait of ParticleSpace.
+ * @return edge lengths Real3
+ */
+ virtual const Real3& edge_lengths() const
+ {
+ throw NotSupported(
+ "edge_lengths() is not supported by this space class");
+ }
+
+ /**
+ * get the actual axes lengths of a cuboidal region.
+ * this function is a part of the trait of ParticleSpace.
+ * return edge lengths as a default.
+ * overload this function if the actual size is not equal to
+ * edge lengths.
+ * @return actual edge lengths Real3
+ */
+ virtual Real3 actual_lengths() const
+ {
+ return edge_lengths();
+ }
+
+ /**
+ * get the number of particles.
+ * this function is a part of the trait of ParticleSpace.
+ * @return a number of particles Integer
+ */
+ virtual Integer num_particles() const
+ {
+ throw NotSupported(
+ "num_particles() is not supported by this space class");
+ }
+
+ /**
+ * get the number of particles.
+ * this function is a part of the trait of ParticleSpace.
+ * @param sp a species
+ * @return a number of particles Integer
+ */
+ virtual Integer num_particles(const Species& sp) const
+ {
+ throw NotSupported(
+ "num_particles(const Species&) is not supported"
+ " by this space class");
+ }
+
+ virtual Integer num_particles_exact(const Species& sp) const
+ {
+ throw NotSupported(
+ "num_particles_exact(const Species&) is not supported"
+ " by this space class");
+ }
+
+ /**
+ * check if the particle exists.
+ * this function is a part of the trait of ParticleSpace.
+ * @param pid an ID for the particle
+ * @return if the particle exists or not bool
+ */
+ virtual bool has_particle(const ParticleID& pid) const
+ {
+ throw NotSupported(
+ "has_particle(const ParticleID&) is not supported"
+ " by this space class");
+ }
+
+ virtual std::pair<ParticleID, Particle> get_particle(const ParticleID& pid) const
+ {
+ throw NotSupported(
+ "get_particle(const ParticleID&) is not supported"
+ " by this space class");
+ }
+
+ /**
+ * get all particles.
+ * this function is a part of the trait of ParticleSpace.
+ * @return a list of particles
+ */
+ virtual std::vector<std::pair<ParticleID, Particle> >
+ list_particles() const
+ {
+ throw NotSupported(
+ "list_particles() is not supported by this space class.");
+ }
+
+ /**
+ * get particles.
+ * this function is a part of the trait of ParticleSpace.
+ * @param sp a species
+ * @return a list of particles
+ */
+ virtual std::vector<std::pair<ParticleID, Particle> >
+ list_particles(const Species& sp) const
+ {
+ throw NotSupported(
+ "list_particles(const Species&) is not supported"
+ " by this space class");
+ }
+
+ virtual std::vector<std::pair<ParticleID, Particle> >
+ list_particles_exact(const Species& sp) const
+ {
+ throw NotSupported(
+ "list_particles_exact(const Species&) is not supported"
+ " by this space class");
+ }
+};
+
+} // ecell4
+
+#endif /* __ECELL4_SPACE_HPP */
diff --git a/ecell4/core/Species.cpp b/ecell4/core/Species.cpp
new file mode 100644
index 0000000..27537a4
--- /dev/null
+++ b/ecell4/core/Species.cpp
@@ -0,0 +1,375 @@
+#include "Species.hpp"
+#include "Context.hpp"
+
+#include <algorithm>
+
+
+namespace ecell4
+{
+
+bool Species::operator==(const Species& rhs) const
+{
+ return (serial() == rhs.serial());
+}
+
+bool Species::operator!=(const Species& rhs) const
+{
+ return (serial() != rhs.serial());
+}
+
+bool Species::operator<(const Species& rhs) const
+{
+ return (serial() < rhs.serial());
+}
+
+bool Species::operator>(const Species& rhs) const
+{
+ return (serial() > rhs.serial());
+}
+
+Integer Species::count(const Species& sp) const
+{
+ return count_spmatches(*this, sp);
+}
+
+void Species::add_unit(const UnitSpecies& usp)
+{
+ if (usp.name() == "")
+ {
+ throw NotSupported("UnitSpecies must have a name.");
+ }
+ else if (serial_ != "")
+ {
+ serial_ += "." + usp.serial();
+ }
+ else
+ {
+ serial_ = usp.serial();
+ }
+}
+
+std::vector<std::pair<std::string, std::string> > Species::list_attributes() const
+{
+ std::vector<std::pair<std::string, std::string> > retval;
+ for (attributes_container_type::const_iterator
+ i(attributes_.begin()); i != attributes_.end(); ++i)
+ {
+ retval.push_back(*i);
+ }
+ return retval;
+}
+
+std::string Species::get_attribute(const std::string& name_attr) const
+{
+ attributes_container_type::const_iterator
+ i(attributes_.find(name_attr));
+ if (i == attributes_.end())
+ {
+ std::ostringstream message;
+ message << "attribute [" << name_attr << "] not found";
+ throw NotFound(message.str()); // use boost::format if it's allowed
+ }
+
+ return (*i).second;
+}
+
+void Species::set_attribute(const std::string& name_attr, const std::string& value)
+{
+ attributes_[name_attr] = value;
+}
+
+void Species::set_attributes(const Species& sp)
+{
+ attributes_ = sp.attributes();
+}
+
+void Species::overwrite_attributes(const Species& sp)
+{
+ const attributes_container_type& attrs(sp.attributes());
+ for (attributes_container_type::const_iterator i(attrs.begin());
+ i != attrs.end(); ++i)
+ {
+ this->set_attribute((*i).first, (*i).second);
+ }
+}
+
+void Species::remove_attribute(const std::string& name_attr)
+{
+ attributes_container_type::iterator
+ i(attributes_.find(name_attr));
+ if (i == attributes_.end())
+ {
+ std::ostringstream message;
+ message << "attribute [" << name_attr << "] not found";
+ throw NotFound(message.str()); // use boost::format if it's allowed
+ }
+
+ attributes_.erase(i);
+}
+
+bool Species::has_attribute(const std::string& name_attr) const
+{
+ return (attributes_.find(name_attr) != attributes_.end());
+}
+
+class unit_species_comparerator
+{
+public:
+
+ // typedef Species::container_type::size_type index_type;
+ typedef unsigned int index_type;
+ typedef std::pair<index_type, std::string> site_type;
+ typedef utils::get_mapper_mf<std::string, std::vector<site_type> >::type
+ connection_container_type;
+
+public:
+
+ unit_species_comparerator(const Species& sp)
+ : root_(sp.units())
+ {
+ initialize();
+ }
+
+ const std::vector<UnitSpecies>& units() const
+ {
+ return root_;
+ }
+
+ void initialize()
+ {
+ connections_.clear();
+ for (index_type idx(0); idx < root_.size(); ++idx)
+ {
+ const UnitSpecies usp(root_.at(idx));
+ for (UnitSpecies::container_type::const_iterator i(usp.begin());
+ i != usp.end(); ++i)
+ {
+ if ((*i).second.second == "" || is_wildcard((*i).second.second))
+ {
+ continue;
+ }
+
+ if (connections_.find((*i).second.second) == connections_.end())
+ {
+ connections_.insert(std::make_pair(
+ (*i).second.second, std::vector<site_type>()));
+ }
+ connections_[(*i).second.second].push_back(
+ std::make_pair(idx, (*i).first));
+ }
+ }
+ }
+
+ int compare(const index_type& val1, const index_type& val2)
+ {
+ if (val1 == val2)
+ {
+ return 0;
+ }
+
+ const std::pair<index_type, index_type> pair_key((val1 < val2)?
+ std::make_pair(val1, val2) : std::make_pair(val1, val2));
+ if (std::binary_search(ignores_.begin(), ignores_.end(), pair_key))
+ {
+ return 0;
+ }
+
+ const UnitSpecies& lhs(root_.at(val1));
+ const UnitSpecies& rhs(root_.at(val2));
+
+ if (lhs.name() != rhs.name())
+ {
+ return (lhs.name() < rhs.name()? 1 : -1);
+ }
+
+ UnitSpecies::container_type::const_iterator
+ i(lhs.begin()), j(rhs.begin());
+ while (i != lhs.end() && j != rhs.end())
+ {
+ if ((*i).first != (*j).first)
+ {
+ // std::cout << "[1] " << lhs.serial() << "(" << val1 << ") vs "
+ // << rhs.serial() << "(" << val2 << ") -> " << (*i).first
+ // << " < " << (*j).first << std::endl;
+ return ((*i).first < (*j).first? 1 : -1);
+ }
+ else if ((*i).second.first != (*j).second.first)
+ {
+ // std::cout << "[2] " << lhs.serial() << "(" << val1 << ") vs "
+ // << rhs.serial() << "(" << val2 << ")" << std::endl;
+ return ((*i).second.first < (*j).second.first? 1 : -1);
+ }
+ else if (((*i).second.second == "") != ((*j).second.second == ""))
+ {
+ // std::cout << "[3] " << lhs.serial() << "(" << val1 << ") vs "
+ // << rhs.serial() << "(" << val2 << ") -> '"
+ // << (*i).second.second << "' < '" << (*j).second.second
+ // << "'" << std::endl;
+ return ((*i).second.second == ""? 1 : -1);
+ }
+
+ ++i;
+ ++j;
+ }
+
+ if (lhs.num_sites() != rhs.num_sites())
+ {
+ return (lhs.num_sites() < rhs.num_sites()? 1 : -1);
+ }
+
+ ignores_.insert(
+ std::lower_bound(ignores_.begin(), ignores_.end(), pair_key),
+ pair_key);
+ i = lhs.begin();
+ j = rhs.begin();
+ while (i != lhs.end() && j != rhs.end())
+ {
+ if ((*i).second.second != "" && (*i).second.second != "")
+ {
+ const std::vector<site_type>&
+ pair1(connections_[(*i).second.second]);
+ const std::vector<site_type>&
+ pair2(connections_[(*j).second.second]);
+ const site_type& target1(
+ (pair1[0].first == val1 && pair1[0].second == (*i).first)?
+ pair1[1] : pair1[0]);
+ const site_type& target2(
+ (pair2[0].first == val2 && pair2[0].second == (*j).first)?
+ pair2[1] : pair2[0]);
+ if (target1.second != target2.second)
+ {
+ ignores_.pop_back();
+ return (target1.second < target2.second? 1 : -1);
+ }
+
+ const int retval(compare(target1.first, target2.first));
+ // std::cout << "[0] " << lhs.serial() << "(" << val1 << ") vs "
+ // << rhs.serial() << "(" << val2 << ") -> " << retval
+ // << std::endl;
+ if (retval != 0)
+ {
+ ignores_.pop_back();
+ return retval;
+ }
+ }
+
+ ++i;
+ ++j;
+ }
+ ignores_.pop_back();
+ return 0;
+ }
+
+ bool operator()(const index_type& val1, const index_type& val2)
+ {
+ // return val1 < val2;
+ ignores_.clear();
+ return 0 < compare(val1, val2);
+ }
+
+ void reorder_units(
+ std::vector<unsigned int>& unit_indices, const unsigned int& idx,
+ unsigned int& stride)
+ {
+ if (unit_indices[idx] != root_.size())
+ {
+ return;
+ }
+
+ const UnitSpecies& usp(root_.at(idx));
+
+ unit_indices[idx] = stride;
+ ++stride;
+
+ for (UnitSpecies::container_type::const_iterator i(usp.begin());
+ i != usp.end(); ++i)
+ {
+ if ((*i).second.second == "" || is_wildcard((*i).second.second))
+ {
+ continue;
+ }
+
+ // const std::vector<unit_species_comparerator::site_type>&
+ // pair((*connections_.find((*i).second.second)).second);
+ const std::vector<unit_species_comparerator::site_type>&
+ pair(connections_[(*i).second.second]);
+ const unit_species_comparerator::site_type&
+ tgt((pair[0].first == idx && pair[0].second == (*i).first)?
+ pair[1] : pair[0]);
+
+ reorder_units(unit_indices, tgt.first, stride);
+ }
+ }
+
+protected:
+
+ const std::vector<UnitSpecies> root_;
+ connection_container_type connections_;
+ std::vector<std::pair<index_type, index_type> > ignores_;
+};
+
+Species format_species(const Species& sp)
+{
+ unit_species_comparerator comp(sp);
+ const std::vector<UnitSpecies>::size_type num_units = comp.units().size();
+
+ std::vector<unit_species_comparerator::index_type> units;
+ for (unit_species_comparerator::index_type i(0); i < num_units; ++i)
+ {
+ units.push_back(i);
+ }
+
+ std::sort(units.begin(), units.end(), comp);
+
+ std::vector<unit_species_comparerator::index_type>
+ next(num_units, num_units);
+ unsigned int stride(0);
+ for (unit_species_comparerator::index_type i(0); i < num_units; ++i)
+ {
+ const unit_species_comparerator::index_type idx(units[i]);
+ comp.reorder_units(next, idx, stride);
+ }
+ for (unsigned int i(0); i < num_units; ++i)
+ {
+ units[next[i]] = i;
+ }
+
+ Species newsp;
+ utils::get_mapper_mf<std::string, std::string>::type cache;
+ stride = 1;
+ std::stringstream ss;
+ for (std::vector<unit_species_comparerator::index_type>::const_iterator
+ i(units.begin()); i != units.end(); ++i)
+ {
+ UnitSpecies usp(sp.units().at(*i));
+ for (UnitSpecies::container_type::size_type j(0);
+ j < static_cast<UnitSpecies::container_type::size_type>(usp.num_sites()); ++j)
+ {
+ UnitSpecies::container_type::value_type& site(usp.at(j));
+ if (site.second.second == "" || is_wildcard(site.second.second))
+ {
+ continue;
+ }
+
+ utils::get_mapper_mf<std::string, std::string>::type::const_iterator
+ it(cache.find(site.second.second));
+ if (it == cache.end())
+ {
+ ss << stride;
+ cache.insert(std::make_pair(site.second.second, ss.str()));
+ site.second.second = ss.str();
+ ++stride;
+ ss.clear();
+ ss.str("");
+ }
+ else
+ {
+ site.second.second = (*it).second;
+ }
+ }
+ newsp.add_unit(usp);
+ }
+ return newsp;
+}
+
+} // ecell4
diff --git a/ecell4/core/Species.hpp b/ecell4/core/Species.hpp
new file mode 100644
index 0000000..dc12771
--- /dev/null
+++ b/ecell4/core/Species.hpp
@@ -0,0 +1,193 @@
+#ifndef __ECELL4_SPECIES_HPP
+#define __ECELL4_SPECIES_HPP
+
+#include <string>
+#include <vector>
+#include <map>
+#include <sstream>
+#include <algorithm>
+#include <boost/algorithm/string.hpp>
+
+#include <ecell4/core/config.h>
+
+#include "hash.hpp"
+#include "get_mapper_mf.hpp"
+#include "types.hpp"
+#include "exceptions.hpp"
+#include "UnitSpecies.hpp"
+
+
+namespace ecell4
+{
+
+class Species
+{
+public:
+
+ typedef UnitSpecies::serial_type serial_type; //XXX: std::string
+ typedef std::vector<UnitSpecies> container_type;
+
+protected:
+
+ typedef utils::get_mapper_mf<std::string, std::string>::type
+ attributes_container_type;
+
+public:
+
+ Species()
+ : serial_(""), attributes_()
+ {
+ ; // do nothing
+ }
+
+ explicit Species(const serial_type& name)
+ : serial_(name), attributes_()
+ {
+ ;
+ }
+
+ Species(
+ const serial_type& name, const std::string& radius, const std::string& D,
+ const std::string location = "")
+ : serial_(name), attributes_()
+ {
+ set_attribute("radius", radius);
+ set_attribute("D", D);
+ set_attribute("location", location);
+ }
+
+ Species(const Species& another)
+ : serial_(another.serial()), attributes_()
+ {
+ const std::vector<std::pair<std::string, std::string> > attrs = another.list_attributes();
+ for (std::vector<std::pair<std::string, std::string> >::const_iterator
+ i(attrs.begin()); i != attrs.end(); i++)
+ {
+ set_attribute((*i).first, (*i).second);
+ }
+ }
+
+ const serial_type serial() const
+ {
+ return serial_;
+ }
+
+ void add_unit(const UnitSpecies& usp);
+
+ const std::vector<UnitSpecies> units() const
+ {
+ std::vector<std::string> unit_serials;
+ boost::split(unit_serials, serial_, boost::is_any_of("."));
+
+ std::vector<UnitSpecies> units_;
+ for (std::vector<std::string>::const_iterator i(unit_serials.begin());
+ i != unit_serials.end(); ++i)
+ {
+ UnitSpecies usp;
+ usp.deserialize(*i);
+ units_.insert(std::lower_bound(units_.begin(), units_.end(), usp), usp);
+ }
+ return units_;
+ }
+
+ const attributes_container_type& attributes() const
+ {
+ return attributes_;
+ }
+
+ std::vector<std::pair<std::string, std::string> > list_attributes() const;
+ std::string get_attribute(const std::string& name_attr) const;
+ void set_attribute(const std::string& name_attr, const std::string& value);
+ void set_attributes(const Species& sp);
+ void overwrite_attributes(const Species& sp);
+ void remove_attribute(const std::string& name_attr);
+ bool has_attribute(const std::string& name_attr) const;
+
+ bool operator==(const Species& rhs) const;
+ bool operator!=(const Species& rhs) const;
+ bool operator<(const Species& rhs) const;
+ bool operator>(const Species& rhs) const;
+
+ Integer count(const Species& sp) const;
+
+ /** Method chaining
+ */
+
+ Species& D(const std::string& value)
+ {
+ set_attribute("D", value);
+ return (*this);
+ }
+
+ inline Species* D_ptr(const std::string& value)
+ {
+ return &(this->D(value));
+ }
+
+ Species& radius(const std::string& value)
+ {
+ set_attribute("radius", value);
+ return (*this);
+ }
+
+ inline Species* radius_ptr(const std::string& value)
+ {
+ return &(this->radius(value));
+ }
+
+ Species& location(const std::string& value)
+ {
+ set_attribute("location", value);
+ return (*this);
+ }
+
+ inline Species* location_ptr(const std::string& value)
+ {
+ return &(this->location(value));
+ }
+
+ /** for epdp
+ */
+ serial_type name() const
+ {
+ return serial();
+ }
+
+protected:
+
+ serial_type serial_;
+ attributes_container_type attributes_;
+};
+
+Species format_species(const Species& sp);
+
+inline Species::serial_type unique_serial(const Species& sp)
+{
+ return format_species(sp).serial();
+}
+
+template<typename Tstrm_, typename Ttraits_>
+inline std::basic_ostream<Tstrm_, Ttraits_>& operator<<(
+ std::basic_ostream<Tstrm_, Ttraits_>& strm,
+ const ecell4::Species& sp)
+{
+ strm << sp.serial();
+ return strm;
+}
+
+} // ecell4
+
+ECELL4_DEFINE_HASH_BEGIN()
+
+template<>
+struct hash<ecell4::Species>
+{
+ std::size_t operator()(const ecell4::Species& val) const
+ {
+ return hash<ecell4::Species::serial_type>()(val.serial());
+ }
+};
+
+ECELL4_DEFINE_HASH_END()
+
+#endif /* __ECELL4_SPECIES_HPP */
diff --git a/ecell4/core/Sphere.cpp b/ecell4/core/Sphere.cpp
new file mode 100644
index 0000000..55d2a74
--- /dev/null
+++ b/ecell4/core/Sphere.cpp
@@ -0,0 +1,139 @@
+#include "Sphere.hpp"
+#include "collision.hpp"
+
+
+namespace ecell4
+{
+
+Sphere::Sphere()
+ : center_(), radius_()
+{
+ ;
+}
+
+Sphere::Sphere(const Real3& center, const Real radius)
+ : center_(center), radius_(radius)
+{
+ ;
+}
+
+Sphere::Sphere(const Sphere& rhs)
+ : center_(rhs.center()), radius_(rhs.radius())
+{
+ ;
+}
+
+const Real& Sphere::radius() const
+{
+ return radius_;
+}
+
+const Real3& Sphere::center() const
+{
+ return center_;
+}
+
+Real Sphere::distance(const Real3& coord) const
+{
+ return length(coord - center_) - radius_;
+}
+
+Real Sphere::is_inside(const Real3& coord) const
+{
+ return distance(coord);
+}
+
+SphericalSurface Sphere::surface() const
+{
+ return SphericalSurface(center_, radius_);
+}
+
+Real3 Sphere::draw_position(
+ boost::shared_ptr<RandomNumberGenerator>& rng) const
+{
+ if (radius_ <= 0.0)
+ {
+ return center_;
+ }
+
+ while (true)
+ {
+ const Real x(rng->uniform(-radius_, +radius_));
+ const Real y(rng->uniform(-radius_, +radius_));
+ const Real z(rng->uniform(-radius_, +radius_));
+ const Real3 dir(x, y, z);
+ const Real3 pos(dir + center_);
+ if (is_inside(pos) <= 0.0)
+ {
+ return pos;
+ }
+ }
+
+ ; // never reach here
+}
+
+bool Sphere::test_AABB(const Real3& l, const Real3& u) const
+{
+ return collision::test_sphere_AABB(*this, l, u);
+}
+
+SphericalSurface::SphericalSurface()
+ : center_(), radius_()
+{
+ ;
+}
+
+SphericalSurface::SphericalSurface(const Real3& center, const Real radius)
+ : center_(center), radius_(radius)
+{
+ ;
+}
+
+SphericalSurface::SphericalSurface(const SphericalSurface& rhs)
+ : center_(rhs.center()), radius_(rhs.radius())
+{
+ ;
+}
+
+const Real& SphericalSurface::radius() const
+{
+ return radius_;
+}
+
+const Real3& SphericalSurface::center() const
+{
+ return center_;
+}
+
+Real SphericalSurface::distance(const Real3& coord) const
+{
+ return length(coord - center_) - radius_;
+}
+
+Real SphericalSurface::is_inside(const Real3& coord) const
+{
+ return distance(coord);
+}
+
+Sphere SphericalSurface::inside() const
+{
+ return Sphere(center_, radius_);
+}
+
+Real3 SphericalSurface::draw_position(
+ boost::shared_ptr<RandomNumberGenerator>& rng) const
+{
+ if (radius_ <= 0.0)
+ {
+ return center_;
+ }
+
+ return rng->direction3d(radius_) + center_;
+}
+
+bool SphericalSurface::test_AABB(const Real3& l, const Real3& u) const
+{
+ return collision::test_shell_AABB(*this, l, u);
+}
+
+} // ecell4
diff --git a/ecell4/core/Sphere.hpp b/ecell4/core/Sphere.hpp
new file mode 100644
index 0000000..837b5a8
--- /dev/null
+++ b/ecell4/core/Sphere.hpp
@@ -0,0 +1,96 @@
+#ifndef __ECELL4_SPHERE_HPP
+#define __ECELL4_SPHERE_HPP
+
+#include <ostream>
+#include "Shape.hpp"
+
+namespace ecell4
+{
+
+struct SphericalSurface;
+
+struct Sphere
+ : public Shape
+{
+public:
+
+ /** for epdp
+ */
+ typedef Real3 position_type;
+ typedef position_type::value_type length_type;
+ typedef position_type::value_type value_type;
+
+public:
+
+ Sphere();
+ Sphere(const Real3& center, const Real radius);
+ Sphere(const Sphere& rhs);
+ const Real& radius() const;
+ const Real3& center() const;
+ Real is_inside(const Real3& coord) const;
+ Real distance(const Real3& pos) const;
+ SphericalSurface surface() const;
+ Real3 draw_position(
+ boost::shared_ptr<RandomNumberGenerator>& rng) const;
+ bool test_AABB(const Real3& l, const Real3& u) const;
+
+ inline const Real3& position() const
+ {
+ return center_;
+ }
+
+ Real3& position()
+ {
+ return center_;
+ }
+
+ inline const Real& size() const
+ {
+ return radius_;
+ }
+
+ Real& size()
+ {
+ return radius_;
+ }
+
+ dimension_kind dimension() const
+ {
+ return THREE;
+ }
+
+protected:
+
+ Real3 center_;
+ Real radius_;
+};
+
+struct SphericalSurface
+ : public Shape
+{
+ SphericalSurface();
+ SphericalSurface(const Real3& center, const Real radius);
+ SphericalSurface(const SphericalSurface& rhs);
+ const Real& radius() const;
+ const Real3& center() const;
+ Real is_inside(const Real3& coord) const;
+ Real distance(const Real3& pos) const;
+ Sphere inside() const;
+ Real3 draw_position(
+ boost::shared_ptr<RandomNumberGenerator>& rng) const;
+ bool test_AABB(const Real3& l, const Real3& u) const;
+
+ dimension_kind dimension() const
+ {
+ return TWO;
+ }
+
+protected:
+
+ Real3 center_;
+ Real radius_;
+};
+
+} // ecell4
+
+#endif /* __ECELL4_SPHERE_HPP */
diff --git a/ecell4/core/StructureType.hpp b/ecell4/core/StructureType.hpp
new file mode 100644
index 0000000..1cd6312
--- /dev/null
+++ b/ecell4/core/StructureType.hpp
@@ -0,0 +1,53 @@
+#ifndef __ECELL4_STRUCTURE_TYPE_HPP
+#define __ECELL4_STRUCTURE_TYPE_HPP
+
+#include "VoxelPool.hpp"
+
+
+namespace ecell4
+{
+
+class StructureType
+ : public VoxelPool
+{
+public:
+
+ typedef VoxelPool base_type;
+ typedef base_type::coordinate_id_pair_type coordinate_id_pair_type;
+ typedef base_type::coordinate_type coordinate_type;
+ typedef base_type::voxel_type_type voxel_type_type;
+
+public:
+
+ StructureType(
+ const Species& species, VoxelPool* location,
+ const Real& radius = 0.0, const Shape::dimension_kind& dimension=Shape::UNDEF)
+ : base_type(species, location, radius, 0),
+ dimension_(std::min(dimension, location->get_dimension()))
+ {
+ ;
+ }
+
+ virtual ~StructureType()
+ {
+ ;
+ }
+
+ virtual voxel_type_type const voxel_type() const
+ {
+ return STRUCTURE;
+ }
+
+ const Shape::dimension_kind get_dimension() const
+ {
+ return dimension_;
+ }
+
+private:
+
+ const Shape::dimension_kind dimension_;
+};
+
+} //ecell4
+
+#endif /* __ECELL4_STRUCTURE_TYPE_HPP */
diff --git a/ecell4/core/SubvolumeSpace.cpp b/ecell4/core/SubvolumeSpace.cpp
new file mode 100644
index 0000000..1651ec3
--- /dev/null
+++ b/ecell4/core/SubvolumeSpace.cpp
@@ -0,0 +1,401 @@
+#include <numeric>
+#include "SubvolumeSpace.hpp"
+#include "Context.hpp"
+
+namespace ecell4
+{
+
+Integer SubvolumeSpaceVectorImpl::num_molecules(const Species& sp) const
+{
+ SpeciesExpressionMatcher sexp(sp);
+ Integer retval(0);
+ for (matrix_type::const_iterator i(matrix_.begin());
+ i != matrix_.end(); ++i)
+ {
+ if (sexp.match((*i).first))
+ {
+ do
+ {
+ // retval += std::accumulate((*i).second.begin(), (*i).second.end(), 0);
+ retval += (*i).second->num_molecules();
+ } while (sexp.next());
+ }
+ }
+ return retval;
+}
+
+Integer SubvolumeSpaceVectorImpl::num_molecules_exact(const Species& sp) const
+{
+ matrix_type::const_iterator i(matrix_.find(sp));
+ if (i == matrix_.end())
+ {
+ return 0;
+ }
+ // return std::accumulate((*i).second.begin(), (*i).second.end(), 0);
+ return (*i).second->num_molecules();
+}
+
+Integer SubvolumeSpaceVectorImpl::num_molecules(
+ const Species& sp, const coordinate_type& c) const
+{
+ SpeciesExpressionMatcher sexp(sp);
+ Integer retval(0);
+ for (matrix_type::const_iterator i(matrix_.begin());
+ i != matrix_.end(); ++i)
+ {
+ if (sexp.match((*i).first))
+ {
+ do
+ {
+ // retval += (*i).second[c];
+ retval += (*i).second->num_molecules(c);
+ } while (sexp.next());
+ }
+ }
+ return retval;
+}
+
+Integer SubvolumeSpaceVectorImpl::num_molecules_exact(
+ const Species& sp, const coordinate_type& c) const
+{
+ matrix_type::const_iterator i(matrix_.find(sp));
+ if (i == matrix_.end())
+ {
+ return 0;
+ }
+ // return (*i).second[c];
+ return (*i).second->num_molecules(c);
+}
+
+const boost::shared_ptr<SubvolumeSpaceVectorImpl::PoolBase>&
+SubvolumeSpaceVectorImpl::get_pool(const Species& sp) const
+{
+ matrix_type::const_iterator i(matrix_.find(sp));
+ if (i == matrix_.end())
+ {
+ std::ostringstream message;
+ message << "Speices [" << sp.serial() << "] not found";
+ throw NotFound(message.str());
+ // return boost::shared_ptr<PoolBase>();
+ }
+ return (*i).second;
+}
+
+const boost::shared_ptr<SubvolumeSpaceVectorImpl::PoolBase>
+SubvolumeSpaceVectorImpl::reserve_pool(
+ const Species& sp, const Real D, const Species::serial_type& loc)
+{
+ matrix_type::const_iterator i(matrix_.find(sp));
+ if (i != matrix_.end())
+ {
+ throw AlreadyExists("Species already exists");
+ }
+ // matrix_.insert(std::make_pair(sp, std::vector<Integer>(num_subvolumes())));
+ const boost::shared_ptr<PoolBase> pool(new Pool(sp, D, loc, num_subvolumes()));
+ matrix_.insert(std::make_pair(sp, pool));
+ species_.push_back(sp);
+ return pool;
+}
+
+void SubvolumeSpaceVectorImpl::add_molecules(
+ const Species& sp, const Integer& num, const coordinate_type& c)
+{
+ matrix_type::iterator i(matrix_.find(sp));
+ if (i == matrix_.end())
+ {
+ if (has_structure(sp))
+ {
+ return;
+ }
+
+ // reserve_species(sp, c);
+ // i = matrix_.find(sp);
+ std::ostringstream message;
+ message << "Speices [" << sp.serial() << "] not found";
+ throw NotFound(message.str());
+ }
+ // (*i).second[c] += num;
+ (*i).second->add_molecules(num, c);
+}
+
+void SubvolumeSpaceVectorImpl::remove_molecules(
+ const Species& sp, const Integer& num, const coordinate_type& c)
+{
+ matrix_type::iterator i(matrix_.find(sp));
+ if (i == matrix_.end())
+ {
+ if (has_structure(sp))
+ {
+ return;
+ }
+
+ std::ostringstream message;
+ message << "Speices [" << sp.serial() << "] not found";
+ throw NotFound(message.str());
+ }
+
+ // if ((*i).second[c] < num)
+ if ((*i).second->num_molecules(c) < num)
+ {
+ std::ostringstream message;
+ message << "The number of molecules cannot be negative. [" << sp.serial() << "]";
+ throw std::invalid_argument(message.str());
+ }
+
+ // (*i).second[c] -= num;
+ (*i).second->remove_molecules(num, c);
+}
+
+SubvolumeSpaceVectorImpl::coordinate_type SubvolumeSpaceVectorImpl::get_neighbor(
+ const coordinate_type& c, const Integer rnd) const
+{
+ Integer3 g(coord2global(c));
+
+ switch (rnd)
+ {
+ case 0:
+ return global2coord(g.east());
+ case 1:
+ return global2coord(g.west());
+ case 2:
+ return global2coord(g.south());
+ case 3:
+ return global2coord(g.north());
+ case 4:
+ return global2coord(g.dorsal());
+ case 5:
+ return global2coord(g.ventral());
+ }
+
+ throw IllegalState("the number of neighbors is less than 6.");
+}
+
+std::vector<SubvolumeSpaceVectorImpl::coordinate_type>
+SubvolumeSpaceVectorImpl::list_coordinates(const Species& sp) const
+{
+ SpeciesExpressionMatcher sexp(sp);
+ std::vector<coordinate_type> retval;
+ for (matrix_type::const_iterator i(matrix_.begin());
+ i != matrix_.end(); ++i)
+ {
+ Integer cnt(sexp.count((*i).first));
+ if (cnt > 0)
+ {
+ const std::vector<coordinate_type> coords = (*i).second->list_coordinates();
+ for (; cnt > 0; --cnt)
+ {
+ retval.insert(retval.end(), coords.begin(), coords.end());
+ }
+ // for (cell_type::size_type j(0); j < (*i).second.size(); ++j)
+ // {
+ // if ((*i).second[j] > 0)
+ // {
+ // retval.resize(retval.size() + (*i).second[j] * cnt, j);
+ // }
+ // }
+ }
+ }
+ return retval;
+}
+
+std::vector<SubvolumeSpaceVectorImpl::coordinate_type>
+SubvolumeSpaceVectorImpl::list_coordinates_exact(const Species& sp) const
+{
+ std::vector<coordinate_type> retval;
+ matrix_type::const_iterator i(matrix_.find(sp));
+ if (i == matrix_.end())
+ {
+ return retval;
+ }
+ return (*i).second->list_coordinates();
+
+ // for (cell_type::size_type j(0); j < (*i).second.size(); ++j)
+ // {
+ // if ((*i).second[j] > 0)
+ // {
+ // retval.resize(retval.size() + (*i).second[j], j);
+ // }
+ // }
+ // return retval;
+}
+
+void SubvolumeSpaceVectorImpl::add_structure(
+ const Species& sp, const boost::shared_ptr<const Shape>& shape)
+{
+ structure_matrix_type::const_iterator it(structure_matrix_.find(sp.serial()));
+ if (it != structure_matrix_.end())
+ {
+ std::ostringstream message;
+ message << "The given structure [" << sp.serial() << "] is already defined.";
+ throw AlreadyExists(message.str());
+ }
+
+ switch (shape->dimension())
+ {
+ case Shape::THREE:
+ add_structure3(sp, shape);
+ return;
+ case Shape::TWO:
+ add_structure2(sp, shape);
+ return;
+ case Shape::ONE:
+ case Shape::UNDEF:
+ break;
+ }
+
+ throw NotSupported("The dimension of a shape must be two or three.");
+}
+
+void SubvolumeSpaceVectorImpl::add_structure3(
+ const Species& sp, const boost::shared_ptr<const Shape>& shape)
+{
+ structure_cell_type overlap(num_subvolumes());
+ for (structure_cell_type::size_type i(0); i != overlap.size(); ++i)
+ {
+ if (shape->is_inside(coord2position(i)) > 0)
+ {
+ overlap[i] = 0;
+ }
+ else
+ {
+ overlap[i] = 1;
+ }
+ }
+ // structures_.insert(std::make_pair(sp.serial(), Shape::THREE));
+ structure_matrix_.insert(std::make_pair(sp.serial(), overlap));
+}
+
+void SubvolumeSpaceVectorImpl::add_structure2(
+ const Species& sp, const boost::shared_ptr<const Shape>& shape)
+{
+ structure_cell_type overlap(num_subvolumes());
+ for (structure_cell_type::size_type i(0); i != overlap.size(); ++i)
+ {
+ if (is_surface_subvolume(i, shape))
+ {
+ // overlap[i] = 1;
+ overlap[i] = unit_area();
+ }
+ else
+ {
+ overlap[i] = 0;
+ }
+ }
+ // structures_.insert(std::make_pair(sp.serial(), Shape::TWO));
+ structure_matrix_.insert(std::make_pair(sp.serial(), overlap));
+}
+
+bool SubvolumeSpaceVectorImpl::is_surface_subvolume(
+ const coordinate_type& c, const boost::shared_ptr<const Shape>& shape)
+{
+ const Real3 lengths(subvolume_edge_lengths());
+ const Real3 center(coord2position(c));
+
+ if (shape->is_inside(center) > 0)
+ {
+ return false;
+ }
+
+ for (unsigned int dim(0); dim < 3 * 3 * 3; ++dim)
+ {
+ const int x(static_cast<int>(dim / 9));
+ const int y(static_cast<int>((dim - x * 9) / 3));
+ const int z(dim - (x * 3 + y) * 3);
+
+ if ((x == 1 && y == 1 && z == 1)
+ || (x != 1 && y != 1 && z != 1))
+ {
+ continue;
+ }
+
+ const Real3 shift(
+ (x - 1) * lengths[0], (y - 1) * lengths[1], (z - 1) * lengths[2]);
+ const Real3 neighbor = center + shift;
+ if (shape->is_inside(neighbor) > 0)
+ {
+ return true;
+ }
+ }
+ return false;
+}
+
+bool SubvolumeSpaceVectorImpl::check_structure(
+ const Species::serial_type& serial,
+ const SubvolumeSpaceVectorImpl::coordinate_type& coord) const
+{
+ if (serial == "")
+ {
+ ; // This is for default structure.
+ return true;
+ }
+
+ structure_matrix_type::const_iterator i(structure_matrix_.find(serial));
+ if (i == structure_matrix_.end())
+ {
+ return false;
+ }
+ return ((*i).second[coord] > 0);
+}
+
+void SubvolumeSpaceVectorImpl::update_structure(
+ const Species::serial_type& serial, const coordinate_type& coord,
+ const Real& value)
+{
+ structure_matrix_type::iterator i(structure_matrix_.find(serial));
+ if (i == structure_matrix_.end())
+ {
+ structure_cell_type overlap(num_subvolumes());
+ overlap[coord] = value;
+ structure_matrix_.insert(std::make_pair(serial, overlap));
+ // structures_.insert(std::make_pair(serial, Shape::THREE)); //XXX: as a default
+ }
+ else
+ {
+ (*i).second[coord] = value;
+ }
+}
+
+std::vector<Species::serial_type> SubvolumeSpaceVectorImpl::list_structures() const
+{
+ std::vector<Species::serial_type> retval;
+ for (structure_matrix_type::const_iterator i(structure_matrix_.begin());
+ i != structure_matrix_.end(); ++i)
+ {
+ retval.push_back((*i).first);
+ }
+ return retval;
+}
+
+Real SubvolumeSpaceVectorImpl::get_volume(const Species& sp) const
+{
+ structure_matrix_type::const_iterator i(structure_matrix_.find(sp.serial()));
+ if (i == structure_matrix_.end())
+ {
+ return 0.0;
+ }
+ const Real occupancy = std::accumulate((*i).second.begin(), (*i).second.end(), 0.0);
+ return subvolume() * occupancy;
+}
+
+const Integer SubvolumeSpaceVectorImpl::num_subvolumes(const Species& sp) const
+{
+ structure_matrix_type::const_iterator i(structure_matrix_.find(sp.serial()));
+ if (i == structure_matrix_.end())
+ {
+ return 0;
+ }
+
+ Integer num(0);
+ for (structure_cell_type::const_iterator j((*i).second.begin());
+ j != (*i).second.end(); ++j)
+ {
+ if (*j > 0)
+ {
+ ++num;
+ }
+ }
+ return num;
+ // return std::accumulate((*i).second.begin(), (*i).second.end(), 0);
+}
+
+} // ecell4
diff --git a/ecell4/core/SubvolumeSpace.hpp b/ecell4/core/SubvolumeSpace.hpp
new file mode 100644
index 0000000..36d5722
--- /dev/null
+++ b/ecell4/core/SubvolumeSpace.hpp
@@ -0,0 +1,562 @@
+#ifndef __ECELL4_SUBVOLUME_SPACE_HPP
+#define __ECELL4_SUBVOLUME_SPACE_HPP
+
+#include "get_mapper_mf.hpp"
+#include "types.hpp"
+#include "exceptions.hpp"
+#include "Species.hpp"
+#include "Space.hpp"
+#include "Integer3.hpp"
+#include "Shape.hpp"
+#include <numeric>
+
+#ifdef WITH_HDF5
+#include "SubvolumeSpaceHDF5Writer.hpp"
+#endif
+
+
+namespace ecell4
+{
+
+class SubvolumeSpace
+ : public Space
+{
+public:
+
+ typedef Integer coordinate_type;
+
+public:
+
+ class PoolBase
+ {
+ public:
+
+ PoolBase(const Species& sp, const Real D, const Species::serial_type& loc)
+ : sp_(sp), D_(D), loc_(loc)
+ {
+ ;
+ }
+
+ virtual ~PoolBase()
+ {
+ ;
+ }
+
+ const Species& species() const
+ {
+ return sp_;
+ }
+
+ const Real D() const
+ {
+ return D_;
+ }
+
+ const Species::serial_type& loc() const
+ {
+ return loc_;
+ }
+
+ virtual coordinate_type size() const = 0;
+ virtual Integer num_molecules(const coordinate_type& i) const = 0;
+ virtual Integer num_molecules() const = 0;
+ virtual void add_molecules(const Integer num, const coordinate_type& i) = 0;
+ virtual void remove_molecules(const Integer num, const coordinate_type& i) = 0;
+ virtual std::vector<coordinate_type> list_coordinates() const = 0;
+
+ protected:
+
+ Species sp_;
+ Real D_;
+ Species::serial_type loc_;
+ };
+
+public:
+
+ SubvolumeSpace()
+ : t_(0.0)
+ {
+ }
+
+ virtual ~SubvolumeSpace()
+ {
+ ;
+ }
+
+ // SpaceTraits
+
+ const Real t() const
+ {
+ return t_;
+ }
+
+ void set_t(const Real& t)
+ {
+ if (t < 0.0)
+ {
+ throw std::invalid_argument("the time must be positive.");
+ }
+ t_ = t;
+ }
+
+ virtual Integer num_molecules(const Species& sp) const
+ {
+ return num_molecules_exact(sp);
+ }
+
+ virtual Integer num_molecules_exact(const Species& sp) const
+ {
+ throw NotImplemented("num_molecules_exact(const Species&) not implemented");
+ }
+
+ virtual Real get_value(const Species& sp) const
+ {
+ return static_cast<Real>(num_molecules(sp));
+ }
+
+ virtual Real get_value_exact(const Species& sp) const
+ {
+ return static_cast<Real>(num_molecules_exact(sp));
+ }
+
+ virtual const Integer3 matrix_sizes() const = 0;
+ virtual const Real3 subvolume_edge_lengths() const = 0;
+ virtual const Integer num_subvolumes() const = 0;
+ virtual const Integer num_subvolumes(const Species& sp) const = 0;
+ virtual const Real subvolume() const = 0;
+
+ virtual coordinate_type global2coord(const Integer3& g) const = 0;
+ virtual Integer3 coord2global(const coordinate_type& c) const = 0;
+ virtual Integer3 position2global(const Real3& pos) const = 0;
+
+ inline Integer position2coordinate(const Real3& pos) const
+ {
+ return global2coord(position2global(pos));
+ }
+
+ virtual Integer num_molecules(
+ const Species& sp, const coordinate_type& c) const = 0;
+ virtual Integer num_molecules_exact(
+ const Species& sp, const coordinate_type& c) const = 0;
+ virtual void add_molecules(
+ const Species& sp, const Integer& num, const coordinate_type& c) = 0;
+ virtual void remove_molecules(
+ const Species& sp, const Integer& num, const coordinate_type& c) = 0;
+
+ virtual bool has_species(const Species& sp) const = 0;
+ virtual const std::vector<Species>& species() const = 0;
+ virtual std::vector<Species> list_species() const = 0;
+ virtual coordinate_type get_neighbor(
+ const coordinate_type& c, const Integer rnd) const = 0;
+
+ virtual Integer num_molecules(const Species& sp, const Integer3& g) const
+ {
+ return num_molecules(sp, global2coord(g));
+ }
+
+ virtual Integer num_molecules_exact(const Species& sp, const Integer3& g) const
+ {
+ return num_molecules_exact(sp, global2coord(g));
+ }
+
+ virtual std::vector<coordinate_type> list_coordinates(const Species& sp) const = 0;
+ virtual std::vector<coordinate_type> list_coordinates_exact(const Species& sp) const = 0;
+
+ virtual void add_structure(
+ const Species& sp, const boost::shared_ptr<const Shape>& shape) = 0;
+ virtual bool check_structure(
+ const Species::serial_type& serial, const coordinate_type& coord) const = 0;
+ virtual Real get_volume(const Species& sp) const = 0;
+ virtual std::vector<Species::serial_type> list_structures() const = 0;
+ virtual void update_structure(
+ const Species::serial_type& serial, const coordinate_type& coord,
+ const Real& value) = 0;
+ virtual bool has_structure(const Species& sp) const = 0;
+
+ virtual Real get_occupancy(const Species::serial_type& serial, const coordinate_type& coord) const = 0;
+
+ inline Real get_occupancy(const Species& sp, const coordinate_type& coord) const
+ {
+ return get_occupancy(sp.serial(), coord);
+ }
+
+ inline Real get_occupancy(const Species& sp, const Integer3& g) const
+ {
+ return get_occupancy(sp.serial(), global2coord(g));
+ }
+
+ // virtual Shape::dimension_kind get_dimension(const Species::serial_type& serial) const = 0;
+ // inline Shape::dimension_kind get_dimension(const Species& sp) const
+ // {
+ // return get_dimension(sp.serial());
+ // }
+
+ // virtual void set_dimension(
+ // const Species::serial_type& serial, const Shape::dimension_kind& ndim);
+
+ inline bool check_structure(const Species::serial_type& serial, const Integer3& g) const
+ {
+ return check_structure(serial, global2coord(g));
+ }
+
+ inline bool check_structure(const Species& sp, const Integer3& g) const
+ {
+ return check_structure(sp.serial(), g);
+ }
+
+ virtual void reset(const Real3& edge_lengths, const Integer3& matrix_sizes) = 0;
+
+ virtual void save(const std::string& filename) const
+ {
+ throw NotSupported(
+ "save(const std::string) is not supported by this space class");
+ }
+
+#ifdef WITH_HDF5
+ virtual void save_hdf5(H5::Group* root) const = 0;
+ virtual void load_hdf5(const H5::Group& root) = 0;
+#endif
+
+ virtual const boost::shared_ptr<PoolBase>& get_pool(const Species& sp) const = 0;
+ virtual const boost::shared_ptr<PoolBase> reserve_pool(const Species& sp, const Real D, const Species::serial_type& loc) = 0;
+
+protected:
+
+ double t_;
+};
+
+class SubvolumeSpaceVectorImpl
+ : public SubvolumeSpace
+{
+public:
+
+ typedef SubvolumeSpace base_type;
+ typedef base_type::coordinate_type coordinate_type;
+
+public:
+
+ typedef base_type::PoolBase PoolBase;
+
+ class Pool
+ : public PoolBase
+ {
+ public:
+
+ typedef PoolBase base_type;
+ typedef std::vector<Integer> container_type;
+
+ public:
+
+ Pool(const Species& sp, const Real D, const Species::serial_type& loc,
+ const container_type::size_type n)
+ : base_type(sp, D, loc), data_(n, 0)
+ {
+ ;
+ }
+
+ coordinate_type size() const
+ {
+ return data_.size();
+ }
+
+ Integer num_molecules() const
+ {
+ return std::accumulate(data_.begin(), data_.end(), 0);
+ }
+
+ Integer num_molecules(const coordinate_type& i) const
+ {
+ return data_.at(i);
+ }
+
+ void add_molecules(const Integer num, const coordinate_type& i)
+ {
+ data_[i] += num;
+ }
+
+ void remove_molecules(const Integer num, const coordinate_type& i)
+ {
+ data_[i] -= num;
+ }
+
+ std::vector<coordinate_type> list_coordinates() const
+ {
+ std::vector<coordinate_type> coords;
+ for (container_type::size_type i(0); i < data_.size(); ++i)
+ {
+ if (data_[i] > 0)
+ {
+ coords.resize(coords.size() + data_[i], i);
+ }
+ }
+ return coords;
+ }
+
+ protected:
+
+ container_type data_;
+ };
+
+public:
+
+ // typedef std::vector<Integer> cell_type;
+ // typedef utils::get_mapper_mf<Species, cell_type>::type matrix_type;
+ typedef utils::get_mapper_mf<Species, boost::shared_ptr<PoolBase> >::type matrix_type;
+
+ // typedef utils::get_mapper_mf<Species::serial_type, Shape::dimension_kind>::type structure_container_type;
+ typedef std::vector<Real> structure_cell_type;
+ typedef utils::get_mapper_mf<Species::serial_type, structure_cell_type>::type structure_matrix_type;
+
+public:
+
+ SubvolumeSpaceVectorImpl(
+ const Real3& edge_lengths, const Integer3 matrix_sizes)
+ : base_type()
+ {
+ matrix_sizes_[0] = matrix_sizes.col;
+ matrix_sizes_[1] = matrix_sizes.row;
+ matrix_sizes_[2] = matrix_sizes.layer;
+
+ reset(edge_lengths);
+ }
+
+ virtual ~SubvolumeSpaceVectorImpl()
+ {
+ ;
+ }
+
+ const Real3& edge_lengths() const
+ {
+ return edge_lengths_;
+ }
+
+ const Integer3 matrix_sizes() const
+ {
+ return Integer3(matrix_sizes_[0], matrix_sizes_[1], matrix_sizes_[2]);
+ }
+
+ const Real3 subvolume_edge_lengths() const
+ {
+ return Real3(
+ edge_lengths_[0] / matrix_sizes_[0],
+ edge_lengths_[1] / matrix_sizes_[1],
+ edge_lengths_[2] / matrix_sizes_[2]);
+ }
+
+ const Real volume() const
+ {
+ return edge_lengths_[0] * edge_lengths_[1] * edge_lengths_[2];
+ }
+
+ const Integer num_subvolumes() const
+ {
+ return matrix_sizes_[0] * matrix_sizes_[1] * matrix_sizes_[2];
+ }
+
+ const Integer num_subvolumes(const Species& sp) const;
+
+ const Real subvolume() const
+ {
+ return volume() / num_subvolumes();
+ }
+
+ coordinate_type global2coord(const Integer3& g) const
+ {
+ const coordinate_type coord(
+ modulo(g.col, matrix_sizes_[0])
+ + matrix_sizes_[0] * (modulo(g.row, matrix_sizes_[1])
+ + matrix_sizes_[1] * modulo(g.layer, matrix_sizes_[2])));
+ return coord;
+ }
+
+ Integer3 coord2global(const coordinate_type& c) const
+ {
+ const Integer rowcol(matrix_sizes_[0] * matrix_sizes_[1]);
+ const Integer layer(static_cast<Integer>(c / rowcol));
+ const Integer surplus(c - layer * rowcol);
+ const Integer row(static_cast<Integer>(surplus / matrix_sizes_[0]));
+ return Integer3(surplus - row * matrix_sizes_[0], row, layer);
+ }
+
+ Integer3 position2global(const Real3& pos) const
+ {
+ return Integer3(
+ static_cast<Integer>(floor(pos[0] * matrix_sizes_[0] / edge_lengths_[0])),
+ static_cast<Integer>(floor(pos[1] * matrix_sizes_[1] / edge_lengths_[1])),
+ static_cast<Integer>(floor(pos[2] * matrix_sizes_[2] / edge_lengths_[2])));
+ }
+
+ Real3 coord2position(const coordinate_type& c) const
+ {
+ const Real3 lengths(subvolume_edge_lengths());
+ const Integer3 g(coord2global(c));
+ const Real3 center(
+ lengths[0] * (g[0] + 0.5),
+ lengths[1] * (g[1] + 0.5),
+ lengths[2] * (g[2] + 0.5));
+ return center;
+ }
+
+ Integer num_molecules(const Species& sp) const;
+ Integer num_molecules_exact(const Species& sp) const;
+
+ Integer num_molecules(const Species& sp, const coordinate_type& c) const;
+ Integer num_molecules_exact(const Species& sp, const coordinate_type& c) const;
+ void add_molecules(const Species& sp, const Integer& num, const coordinate_type& c);
+ void remove_molecules(const Species& sp, const Integer& num, const coordinate_type& c);
+
+ std::vector<coordinate_type> list_coordinates(const Species& sp) const;
+ std::vector<coordinate_type> list_coordinates_exact(const Species& sp) const;
+
+ void add_structure(const Species& sp, const boost::shared_ptr<const Shape>& shape);
+ bool check_structure(const Species::serial_type& serial, const coordinate_type& coord) const;
+ Real get_volume(const Species& sp) const;
+ std::vector<Species::serial_type> list_structures() const;
+
+ void update_structure(
+ const Species::serial_type& serial, const coordinate_type& coord,
+ const Real& value);
+
+ bool has_structure(const Species& sp) const
+ {
+ structure_matrix_type::const_iterator i(structure_matrix_.find(sp.serial()));
+ if (i == structure_matrix_.end())
+ {
+ return false;
+ }
+ for (structure_cell_type::const_iterator j((*i).second.begin());
+ j != (*i).second.end(); ++j)
+ {
+ if ((*j) > 0)
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ inline Real unit_area() const
+ {
+ const Real3 l(subvolume_edge_lengths());
+ return (l[0] * l[1] + l[0] * l[2] + l[1] * l[2]) / (3 * l[0] * l[1] * l[2]);
+ }
+
+ Real get_occupancy(const Species::serial_type& serial, const coordinate_type& coord) const
+ {
+ structure_matrix_type::const_iterator i(structure_matrix_.find(serial));
+ if (i == structure_matrix_.end())
+ {
+ return 0.0;
+ }
+ return (*i).second[coord];
+ }
+
+ // Shape::dimension_kind get_dimension(const Species::serial_type& serial) const
+ // {
+ // structure_container_type::const_iterator i(structures_.find(serial));
+ // if (i == structures_.end())
+ // {
+ // throw NotFound("No correspoinding structure was found.");
+ // }
+ // return (*i).second;
+ // }
+
+ // void set_dimension(
+ // const Species::serial_type& serial, const Shape::dimension_kind& ndim)
+ // {
+ // structure_container_type::iterator i(structures_.find(serial));
+ // if (i == structures_.end())
+ // {
+ // throw NotFound("No correspoinding structure was found.");
+ // }
+ // else
+ // {
+ // (*i).second = ndim;
+ // }
+ // }
+
+ coordinate_type get_neighbor(const coordinate_type& c, const Integer rnd) const;
+
+ virtual bool has_species(const Species& sp) const
+ {
+ return matrix_.find(sp) != matrix_.end();
+ }
+
+ const std::vector<Species>& species() const
+ {
+ return species_;
+ }
+
+ std::vector<Species> list_species() const
+ {
+ // std::vector<Species> retval;
+ // for (matrix_type::const_iterator i(matrix_.begin()); i != matrix_.end(); ++i)
+ // {
+ // retval.push_back((*i).first);
+ // }
+ // return retval;
+ return species_;
+ }
+
+#ifdef WITH_HDF5
+ void save_hdf5(H5::Group* root) const
+ {
+ save_subvolume_space(*this, root);
+ }
+
+ void load_hdf5(const H5::Group& root)
+ {
+ load_subvolume_space(root, this);
+ }
+#endif
+
+ void reset(const Real3& edge_lengths)
+ {
+ reset(edge_lengths, matrix_sizes());
+ }
+
+ void reset(const Real3& edge_lengths, const Integer3& matrix_sizes)
+ {
+ base_type::t_ = 0.0;
+ matrix_.clear();
+ species_.clear();
+
+ for (Real3::size_type dim(0); dim < 3; ++dim)
+ {
+ if (edge_lengths[dim] <= 0)
+ {
+ throw std::invalid_argument("the edge length must be positive.");
+ }
+ }
+
+ edge_lengths_ = edge_lengths;
+
+ matrix_sizes_[0] = matrix_sizes.col;
+ matrix_sizes_[1] = matrix_sizes.row;
+ matrix_sizes_[2] = matrix_sizes.layer;
+ }
+
+ const boost::shared_ptr<PoolBase>& get_pool(const Species& sp) const;
+ const boost::shared_ptr<PoolBase> reserve_pool(
+ const Species& sp, const Real D, const Species::serial_type& loc);
+
+protected:
+
+ void add_structure3(const Species& sp, const boost::shared_ptr<const Shape>& shape);
+ void add_structure2(const Species& sp, const boost::shared_ptr<const Shape>& shape);
+ bool is_surface_subvolume(const coordinate_type& c, const boost::shared_ptr<const Shape>& shape);
+
+protected:
+
+ Real3 edge_lengths_;
+ boost::array<Integer, 3> matrix_sizes_;
+ matrix_type matrix_;
+ std::vector<Species> species_;
+
+ // structure_container_type structures_;
+ structure_matrix_type structure_matrix_;
+};
+
+} // ecell4
+
+#endif /* __ECELL4_SUBVOLUME_SPACE_HPP */
diff --git a/ecell4/core/SubvolumeSpaceHDF5Writer.hpp b/ecell4/core/SubvolumeSpaceHDF5Writer.hpp
new file mode 100644
index 0000000..14e8575
--- /dev/null
+++ b/ecell4/core/SubvolumeSpaceHDF5Writer.hpp
@@ -0,0 +1,316 @@
+#ifndef __ECELL4_SUBVOLUME_SPACE_HDF5_WRITER_HPP
+#define __ECELL4_SUBVOLUME_SPACE_HDF5_WRITER_HPP
+
+#include <cstring>
+#include <iostream>
+#include <sstream>
+#include <boost/scoped_ptr.hpp>
+#include <boost/scoped_array.hpp>
+#include <boost/multi_array.hpp>
+#include <boost/lexical_cast.hpp>
+
+#include <hdf5.h>
+#include <H5Cpp.h>
+
+#include "types.hpp"
+#include "Species.hpp"
+#include "Voxel.hpp"
+
+
+namespace ecell4
+{
+
+struct SubvolumeSpaceHDF5Traits
+{
+ typedef struct h5_species_struct {
+ uint32_t id;
+ char serial[32]; // species' serial may exceed the limit
+ double D;
+ char loc[32]; // species' loc may exceed the limit
+ } h5_species_struct;
+
+ static H5::CompType get_species_comp_type()
+ {
+ H5::CompType h5_species_comp_type(sizeof(h5_species_struct));
+#define INSERT_MEMBER(member, type) \
+ H5Tinsert(h5_species_comp_type.getId(), #member,\
+ HOFFSET(h5_species_struct, member), type.getId())
+ INSERT_MEMBER(id, H5::PredType::STD_I32LE);
+ INSERT_MEMBER(serial, H5::StrType(H5::PredType::C_S1, 32));
+ INSERT_MEMBER(D, H5::PredType::NATIVE_DOUBLE);
+ INSERT_MEMBER(loc, H5::StrType(H5::PredType::C_S1, 32));
+#undef INSERT_MEMBER
+ // h5_species_comp_type.insertMember(
+ // std::string("id"), HOFFSET(h5_species_struct, id),
+ // H5::PredType::STD_I32LE);
+ // h5_species_comp_type.insertMember(
+ // std::string("serial"), HOFFSET(h5_species_struct, serial),
+ // H5::StrType(H5::PredType::C_S1, 32));
+ // h5_species_comp_type.insertMember(
+ // std::string("D"), HOFFSET(h5_species_struct, D),
+ // H5::PredType::STD_I64LE); //XXX: -> NATIVE_DOUBLE?
+ // h5_species_comp_type.insertMember(
+ // std::string("loc"), HOFFSET(h5_species_struct, loc),
+ // H5::StrType(H5::PredType::C_S1, 32));
+ return h5_species_comp_type;
+ }
+
+ typedef struct h5_structures_struct {
+ uint32_t id;
+ char serial[32]; // structures' serial may exceed the limit
+ // uint32_t dimension;
+ } h5_structures_struct;
+
+ static H5::CompType get_structures_comp_type()
+ {
+ H5::CompType h5_structures_comp_type(sizeof(h5_structures_struct));
+#define INSERT_MEMBER(member, type) \
+ H5Tinsert(h5_structures_comp_type.getId(), #member,\
+ HOFFSET(h5_structures_struct, member), type.getId())
+ INSERT_MEMBER(id, H5::PredType::STD_I32LE);
+ INSERT_MEMBER(serial, H5::StrType(H5::PredType::C_S1, 32));
+ // INSERT_MEMBER(dimension, H5::PredType::STD_I32LE);
+#undef INSERT_MEMBER
+ // h5_structures_comp_type.insertMember(
+ // std::string("id"), HOFFSET(h5_structures_struct, id),
+ // H5::PredType::STD_I32LE);
+ // h5_structures_comp_type.insertMember(
+ // std::string("serial"), HOFFSET(h5_structures_struct, serial),
+ // H5::StrType(H5::PredType::C_S1, 32));
+ // // h5_species_comp_type.insertMember(
+ // // std::string("dimension"), HOFFSET(h5_structure_struct, dimension),
+ // // H5::PredType::STD_I32LE);
+ return h5_structures_comp_type;
+ }
+};
+
+template<typename Tspace_>
+void save_subvolume_space(const Tspace_& space, H5::Group* root)
+{
+ typedef SubvolumeSpaceHDF5Traits traits_type;
+ typedef typename traits_type::h5_species_struct h5_species_struct;
+ // typedef typename traits_type::h5_voxel_struct h5_voxel_struct;
+ typedef typename traits_type::h5_structures_struct h5_structures_struct;
+
+ // typedef std::vector<std::pair<ParticleID, Voxel> >
+ // voxel_container_type;
+
+ const unsigned int num_subvolumes(space.num_subvolumes());
+ const std::vector<Species> species(space.list_species());
+ boost::multi_array<int64_t, 2>
+ h5_num_table(boost::extents[species.size()][num_subvolumes]);
+ boost::scoped_array<h5_species_struct>
+ h5_species_table(new h5_species_struct[species.size()]);
+
+ for (unsigned int i(0); i < species.size(); ++i)
+ {
+ const unsigned int sid(i + 1);
+ h5_species_table[i].id = sid;
+ std::strcpy(h5_species_table[i].serial, species[i].serial().c_str());
+ const boost::shared_ptr<typename Tspace_::PoolBase>&
+ pool = space.get_pool(species[i]);
+ h5_species_table[i].D = pool->D();
+ std::strcpy(h5_species_table[i].loc, pool->loc().c_str());
+
+ for (unsigned int j(0); j < num_subvolumes; ++j)
+ {
+ h5_num_table[i][j] = space.num_molecules_exact(species[i], j);
+ }
+ }
+
+ const std::vector<Species::serial_type> structures(space.list_structures());
+ boost::multi_array<double, 2>
+ h5_stcoordinate_table(boost::extents[structures.size()][num_subvolumes]);
+ boost::scoped_array<h5_structures_struct>
+ h5_structures_table(new h5_structures_struct[structures.size()]);
+ for (unsigned int i(0); i < structures.size(); ++i)
+ {
+ const unsigned int sid(i + 1);
+ h5_structures_table[i].id = sid;
+ std::strcpy(h5_structures_table[i].serial, structures[i].c_str());
+ // h5_structures_table[i].dimension = space.get_dimension(structures[i]);
+ for (unsigned int j(0); j < num_subvolumes; ++j)
+ {
+ // const bool exist = space.check_structure(structures[i], j);
+ // h5_stcoordinate_table[i][j] = (exist ? 1 : 0);
+ h5_stcoordinate_table[i][j] = space.get_occupancy(structures[i], j);
+ }
+ }
+
+ const int RANK1 = 2;
+ const int RANK2 = 1;
+
+ hsize_t dim1[] = {species.size(), num_subvolumes};
+ H5::DataSpace dataspace1(RANK1, dim1);
+ boost::scoped_ptr<H5::DataSet> dataset1(new H5::DataSet(
+ root->createDataSet(
+ "num_molecules", H5::PredType::STD_I64LE, dataspace1)));
+
+ hsize_t dim2[] = {species.size()};
+ H5::DataSpace dataspace2(RANK2, dim2);
+ boost::scoped_ptr<H5::DataSet> dataset2(new H5::DataSet(
+ root->createDataSet(
+ "species", traits_type::get_species_comp_type(), dataspace2)));
+
+ hsize_t dim3[] = {structures.size(), num_subvolumes};
+ H5::DataSpace dataspace3(RANK1, dim3);
+ boost::scoped_ptr<H5::DataSet> dataset3(new H5::DataSet(
+ root->createDataSet(
+ "stcoordinates", H5::PredType::IEEE_F64LE, dataspace3)));
+
+ hsize_t dim4[] = {structures.size()};
+ H5::DataSpace dataspace4(RANK2, dim4);
+ boost::scoped_ptr<H5::DataSet> dataset4(new H5::DataSet(
+ root->createDataSet(
+ "structures", traits_type::get_structures_comp_type(), dataspace4)));
+
+ dataset1->write(h5_num_table.data(), dataset1->getDataType());
+ dataset2->write(h5_species_table.get(), dataset2->getDataType());
+ dataset3->write(h5_stcoordinate_table.data(), dataset3->getDataType());
+ dataset4->write(h5_structures_table.get(), dataset4->getDataType());
+
+ const uint32_t space_type = static_cast<uint32_t>(Space::SUBVOLUME);
+ H5::Attribute attr_space_type(
+ root->createAttribute(
+ "type", H5::PredType::STD_I32LE, H5::DataSpace(H5S_SCALAR)));
+ attr_space_type.write(H5::PredType::STD_I32LE, &space_type);
+
+ const double t = space.t();
+ H5::Attribute attr_t(
+ root->createAttribute(
+ "t", H5::PredType::IEEE_F64LE, H5::DataSpace(H5S_SCALAR)));
+ attr_t.write(H5::PredType::IEEE_F64LE, &t);
+
+ const Real3 edge_lengths = space.edge_lengths();
+ const hsize_t dims[] = {3};
+ const H5::ArrayType lengths_type(H5::PredType::NATIVE_DOUBLE, 1, dims);
+ H5::Attribute attr_lengths(
+ root->createAttribute(
+ "edge_lengths", lengths_type, H5::DataSpace(H5S_SCALAR)));
+ double lengths[] = {edge_lengths[0], edge_lengths[1], edge_lengths[2]};
+ attr_lengths.write(lengths_type, lengths);
+
+ const Integer3 matrix_sizes = space.matrix_sizes();
+ const H5::ArrayType sizes_type(H5::PredType::STD_I64LE, 1, dims);
+ H5::Attribute attr_sizes(
+ root->createAttribute(
+ "matrix_sizes", sizes_type, H5::DataSpace(H5S_SCALAR)));
+ int64_t sizes[] = {matrix_sizes.col, matrix_sizes.row, matrix_sizes.layer};
+ attr_sizes.write(sizes_type, sizes);
+}
+
+template<typename Tspace_>
+void load_subvolume_space(const H5::Group& root, Tspace_* space)
+{
+ typedef SubvolumeSpaceHDF5Traits traits_type;
+ typedef typename traits_type::h5_species_struct h5_species_struct;
+ typedef typename traits_type::h5_structures_struct h5_structures_struct;
+ // typedef typename traits_type::h5_voxel_struct h5_voxel_struct;
+
+ Real3 edge_lengths;
+ const hsize_t dims[] = {3};
+ const H5::ArrayType lengths_type(H5::PredType::NATIVE_DOUBLE, 1, dims);
+ root.openAttribute("edge_lengths").read(lengths_type, &edge_lengths);
+
+ int64_t sizes[3];
+ const H5::ArrayType sizes_type(H5::PredType::STD_I64LE, 1, dims);
+ root.openAttribute("matrix_sizes").read(sizes_type, sizes);
+ const Integer3 matrix_sizes(sizes[0], sizes[1], sizes[2]);
+
+ space->reset(edge_lengths, matrix_sizes);
+
+ double t;
+ root.openAttribute("t").read(H5::PredType::IEEE_F64LE, &t);
+ space->set_t(t);
+
+ {
+ H5::DataSet species_dset(root.openDataSet("species"));
+ const unsigned int num_species(
+ species_dset.getSpace().getSimpleExtentNpoints());
+ boost::scoped_array<h5_species_struct> h5_species_table(
+ new h5_species_struct[num_species]);
+ species_dset.read(
+ h5_species_table.get(), traits_type::get_species_comp_type());
+ species_dset.close();
+
+ H5::DataSet num_dset(root.openDataSet("num_molecules"));
+ hsize_t dims[2];
+ num_dset.getSpace().getSimpleExtentDims(dims);
+ assert(num_species == dims[0]);
+ const unsigned int num_subvolumes(dims[1]);
+ boost::multi_array<int64_t, 2>
+ h5_num_table(boost::extents[num_species][num_subvolumes]);
+ num_dset.read(
+ h5_num_table.data(), H5::PredType::STD_I64LE);
+ num_dset.close();
+
+ typedef utils::get_mapper_mf<unsigned int, unsigned int>::type
+ species_id_map_type;
+ species_id_map_type species_id_map;
+ for (unsigned int i(0); i < num_species; ++i)
+ {
+ // species_id_map[h5_species_table[i].id] = h5_species_table[i].serial;
+ species_id_map[h5_species_table[i].id] = i;
+ }
+
+ for (unsigned int i(0); i < num_species; ++i)
+ {
+ const uint32_t sid(i + 1);
+ const unsigned int k(species_id_map[sid]);
+
+ const Species sp(h5_species_table[k].serial);
+ const Real D(h5_species_table[k].D);
+ const Species::serial_type loc(h5_species_table[k].loc);
+ space->reserve_pool(sp, D, loc);
+
+ for (unsigned int j(0); j < num_subvolumes; ++j)
+ {
+ space->add_molecules(sp, h5_num_table[i][j], j);
+ }
+ }
+ }
+
+ {
+ H5::DataSet structures_dset(root.openDataSet("structures"));
+ const unsigned int num_structures(
+ structures_dset.getSpace().getSimpleExtentNpoints());
+ boost::scoped_array<h5_structures_struct> h5_structures_table(
+ new h5_structures_struct[num_structures]);
+ structures_dset.read(
+ h5_structures_table.get(), traits_type::get_structures_comp_type());
+ structures_dset.close();
+
+ H5::DataSet stcoordinate_dset(root.openDataSet("stcoordinates"));
+ hsize_t dims[2];
+ stcoordinate_dset.getSpace().getSimpleExtentDims(dims);
+ assert(num_structures == dims[0]);
+ const unsigned int num_subvolumes(dims[1]);
+ boost::multi_array<double, 2>
+ h5_stcoordinate_table(boost::extents[num_structures][num_subvolumes]);
+ stcoordinate_dset.read(
+ h5_stcoordinate_table.data(), H5::PredType::IEEE_F64LE);
+ stcoordinate_dset.close();
+
+ typedef utils::get_mapper_mf<unsigned int, Species::serial_type>::type
+ structures_id_map_type;
+ structures_id_map_type structures_id_map;
+ for (unsigned int i(0); i < num_structures; ++i)
+ {
+ structures_id_map[h5_structures_table[i].id] = h5_structures_table[i].serial;
+ }
+
+ for (unsigned int i(0); i < num_structures; ++i)
+ {
+ const uint32_t sid(i + 1);
+ const Species::serial_type serial(structures_id_map[sid]);
+ for (unsigned int j(0); j < num_subvolumes; ++j)
+ {
+ space->update_structure(serial, j, h5_stcoordinate_table[i][j]);
+ }
+ }
+ }
+}
+
+} // ecell4
+
+#endif /* __ECELL4_SUBVOLUME_SPACE_HDF5_WRITER_HPP */
diff --git a/ecell4/core/UnitSpecies.cpp b/ecell4/core/UnitSpecies.cpp
new file mode 100644
index 0000000..68165eb
--- /dev/null
+++ b/ecell4/core/UnitSpecies.cpp
@@ -0,0 +1,264 @@
+#include <stdexcept>
+#include <boost/algorithm/string.hpp>
+
+#include "UnitSpecies.hpp"
+
+#if defined(HAVE_BOOST_REGEX)
+#include <boost/regex.hpp>
+#elif defined(WIN32_MSC)
+#include <regex>
+#else
+#include <regex.h>
+#endif /* HAVE_BOOST_REGEX */
+
+
+namespace ecell4
+{
+
+void UnitSpecies::clear()
+{
+ name_ = "";
+ sites_.clear();
+}
+
+void UnitSpecies::deserialize(const UnitSpecies::serial_type& serial)
+{
+ clear();
+ if (serial == "")
+ {
+ return;
+ }
+
+#if defined(HAVE_BOOST_REGEX) || defined(WIN32_MSC)
+#if defined(HAVE_BOOST_REGEX)
+ using namespace boost;
+#else /* WIN32_MSC */
+ using namespace std::tr1;
+#endif /* HAVE_BOOST_REGEX */
+ regex r1(
+ "^\\s*(\\w+)\\s*(\\(\\s*([\\w\\s\\^=,]*)\\))?\\s*$");
+ smatch results1;
+ if (regex_match(serial, results1, r1))
+ {
+ name_ = std::string(results1.str(1).c_str());
+ if (results1.str(3).size() > 0)
+ {
+ regex r2(
+ "\\s*(\\w+)(\\s*=\\s*(\\w+))?(\\s*\\^\\s*(\\w+))?\\s*");
+ // match_results<std::string::const_iterator> results2;
+ smatch results2;
+ std::vector<std::string> sites;
+ boost::split(
+ sites, static_cast<const std::string>(results1.str(3)),
+ boost::is_any_of(","));
+ bool order(false);
+ for (std::vector<std::string>::const_iterator i(sites.begin());
+ i != sites.end(); ++i)
+ {
+ if (regex_match(*i, results2, r2))
+ {
+ if (results2.str(3).size() > 0)
+ {
+ order = true;
+ }
+ else if (order)
+ {
+ throw std::invalid_argument(
+ "non-keyword arg after keyword arg [" +
+ (*i) + "]"); //XXX:
+ }
+
+ add_site(
+ results2.str(1), results2.str(3), results2.str(5));
+ }
+ else
+ {
+ throw std::invalid_argument(
+ "a wrong site specification was given [" +
+ (*i) + "]"); //XXX:
+ }
+ }
+ }
+ }
+ else
+ {
+ throw std::invalid_argument(
+ "a wrong serial was given to UnitSpecies [" + serial + "]"); //XXX:
+ }
+#else /* regex.h */
+ regex_t reg1;
+ int errcode = regcomp(®1,
+ "^[[:blank:]]*([[:alnum:]_]+)[[:blank:]]*"
+ "(\\([[:blank:]]*([^\\(\\)[:blank:]][^\\(\\)]*)?\\))?[[:blank:]]*$",
+ REG_EXTENDED);
+ if (errcode != 0)
+ {
+ char errbuf[100];
+ regerror(errcode, ®1, errbuf, sizeof(errbuf));
+ std::cout << errbuf << std::endl; //XXX: never get here
+ }
+
+ regmatch_t match1[4];
+ errcode = regexec(®1, serial.c_str(), 4, match1, 0);
+ if (errcode != 0)
+ {
+ char errbuf[100];
+ regerror(errcode, ®1, errbuf, sizeof(errbuf));
+ throw std::invalid_argument(
+ "a wrong serial was given to UnitSpecies [" + serial + "]: "
+ + std::string(errbuf)); //XXX:
+ }
+
+ name_ = serial.substr(match1[1].rm_so, match1[1].rm_eo - match1[1].rm_so);
+
+ if (match1[3].rm_eo - match1[3].rm_so > 0)
+ {
+ std::string tmp(
+ serial.substr(match1[3].rm_so, match1[3].rm_eo - match1[3].rm_so));
+
+ regex_t reg2;
+ errcode = regcomp(®2,
+ "[[:blank:]]*([[:alnum:]_]+)[[:blank:]]*"
+ "(=[[:blank:]]*([[:alnum:]_]+))?[[:blank:]]*"
+ "(\\^[[:blank:]]*([[:alnum:]_]+))?[[:blank:]]*(,|$)",
+ REG_EXTENDED);
+ if (errcode != 0)
+ {
+ char errbuf[100];
+ regerror(errcode, ®2, errbuf, sizeof(errbuf));
+ std::cout << errbuf << std::endl; //XXX: never get here
+ }
+
+ regmatch_t match2[7];
+ bool order(false);
+
+ while (true)
+ {
+ errcode = regexec(®2, tmp.c_str(), 7, match2, 0);
+ if (errcode != 0)
+ {
+ char errbuf[100];
+ regerror(errcode, ®2, errbuf, sizeof(errbuf));
+ throw std::invalid_argument(
+ "wrong site specifiers are given to UnitSpecies ["
+ + serial + "]: " + std::string(errbuf)); //XXX:
+ }
+
+ if (match2[3].rm_so != -1)
+ {
+ order = true;
+ }
+ else if (order)
+ {
+ throw std::invalid_argument(
+ "non-keyword arg after keyword arg [" +
+ serial + "]"); //XXX:
+ }
+
+ const std::string site_name(
+ tmp.substr(match2[1].rm_so, match2[1].rm_eo - match2[1].rm_so));
+ const std::string state((match2[3].rm_so != -1)?
+ tmp.substr(match2[3].rm_so, match2[3].rm_eo - match2[3].rm_so)
+ : "");
+ const std::string bond((match2[5].rm_so != -1)?
+ tmp.substr(match2[5].rm_so, match2[5].rm_eo - match2[5].rm_so)
+ : "");
+
+ add_site(site_name, state, bond);
+
+ if (static_cast<size_t>(match2[0].rm_eo) == tmp.length())
+ {
+ break;
+ }
+ else
+ {
+ tmp = tmp.substr(match2[0].rm_eo);
+ }
+ }
+
+ regfree(®2);
+ }
+
+ regfree(®1);
+#endif /* HAVE_BOOST_REGEX */
+}
+
+UnitSpecies::serial_type UnitSpecies::serial() const
+{
+ if (sites_.size() == 0)
+ {
+ return name_;
+ }
+
+ std::vector<std::string> unstated, stated;
+ for (container_type::const_iterator i(sites_.begin());
+ i != sites_.end(); ++i)
+ {
+ const std::string&
+ state((*i).second.first), bond((*i).second.second);
+ if (state.size() > 0)
+ {
+ stated.push_back((*i).first + "="
+ + (bond.size() > 0? state + "^" + bond : state));
+ }
+ else
+ {
+ unstated.push_back(
+ bond.size() > 0? (*i).first + "^" + bond : (*i).first);
+ }
+ }
+ return name_ + "(" + boost::algorithm::join(unstated, ",")
+ + (unstated.size() > 0 && stated.size() > 0? "," : "")
+ + boost::algorithm::join(stated, ",") + ")";
+
+ // std::stringstream unstated, stated;
+ // bool is_unstated_empty(true), is_stated_empty(true);
+ // unstated << name_ << "(";
+ // for (container_type::const_iterator i(sites_.begin());
+ // i != sites_.end(); ++i)
+ // {
+ // const std::string& state((*i).second.first);
+ // const std::string& bond((*i).second.second);
+
+ // if (state.size() > 0)
+ // {
+ // if (is_stated_empty)
+ // {
+ // is_stated_empty = false;
+ // }
+ // else
+ // {
+ // stated << ",";
+ // }
+ // stated << (*i).first << "=" << state;
+ // if (bond.size() > 0)
+ // {
+ // stated << "^" << bond;
+ // }
+ // }
+ // else
+ // {
+ // if (is_unstated_empty)
+ // {
+ // is_unstated_empty = false;
+ // }
+ // else
+ // {
+ // unstated << ",";
+ // }
+ // unstated << (*i).first;
+ // if (bond.size() > 0)
+ // {
+ // unstated << "^" << bond;
+ // }
+ // }
+ // }
+ // if (!is_unstated_empty && !is_stated_empty)
+ // {
+ // unstated << ",";
+ // }
+ // unstated << stated.str() << ")";
+ // return unstated.str();
+}
+
+} // ecell4
diff --git a/ecell4/core/UnitSpecies.hpp b/ecell4/core/UnitSpecies.hpp
new file mode 100644
index 0000000..3a99125
--- /dev/null
+++ b/ecell4/core/UnitSpecies.hpp
@@ -0,0 +1,163 @@
+#ifndef __ECELL4_UNIT_SPECIES_HPP
+#define __ECELL4_UNIT_SPECIES_HPP
+
+#include <iostream>
+#include <string>
+
+#include <ecell4/core/config.h>
+
+#include "hash.hpp"
+
+#include "types.hpp"
+#include "get_mapper_mf.hpp"
+
+#include <vector>
+#include <algorithm>
+
+
+namespace ecell4
+{
+
+class UnitSpecies
+{
+public:
+
+ typedef std::string serial_type;
+ typedef std::pair<std::string, std::string> site_type;
+ typedef std::vector<std::pair<std::string, site_type> > container_type;
+
+protected:
+
+ typedef struct
+ {
+ typedef container_type::value_type value_type;
+
+ bool operator()(const value_type& val1, const value_type& val2)
+ {
+ return val1.first < val2.first;
+ }
+ } site_comparerator;
+
+public:
+
+ UnitSpecies(const std::string& name = "")
+ : name_(name)
+ {
+ ;
+ }
+
+ std::string name() const
+ {
+ return name_;
+ }
+
+ void set_name(const std::string& name)
+ {
+ name_ = name;
+ }
+
+ void deserialize(const serial_type& serial);
+
+ serial_type serial() const;
+
+ void clear();
+
+ bool add_site(const std::string& name,
+ const std::string& state, const std::string& bond)
+ {
+ std::pair<std::string, site_type> val(
+ std::make_pair(name, std::make_pair(state, bond)));
+ container_type::iterator it(
+ std::lower_bound(sites_.begin(), sites_.end(), val, site_comparerator()));
+ if (it == sites_.end() || (*it).first != name)
+ {
+ sites_.insert(it, val);
+ return true;
+ }
+ else
+ {
+ if (state != "")
+ {
+ (*it).second.first = state;
+ }
+ (*it).second.second = bond;
+ return false;
+ }
+ }
+
+ Integer num_sites() const
+ {
+ return sites_.size();
+ }
+
+ bool has_site(const std::string& name) const
+ {
+ return std::binary_search(sites_.begin(), sites_.end(),
+ std::make_pair(name, site_type()), site_comparerator());
+ }
+
+ const site_type& get_site(const std::string& name) const
+ {
+ return (*std::lower_bound(sites_.begin(), sites_.end(),
+ std::make_pair(name, site_type()), site_comparerator())).second;
+ }
+
+ inline container_type::const_iterator begin() const
+ {
+ return sites_.begin();
+ }
+
+ inline container_type::const_iterator end() const
+ {
+ return sites_.end();
+ }
+
+ bool operator==(const UnitSpecies& rhs) const
+ {
+ return (serial() == rhs.serial());
+ }
+
+ bool operator<(const UnitSpecies& rhs) const
+ {
+ return (serial() < rhs.serial());
+ }
+
+ bool operator>(const UnitSpecies& rhs) const
+ {
+ return (serial() > rhs.serial());
+ }
+
+ container_type::value_type& at(const container_type::size_type& idx)
+ {
+ return sites_.at(idx);
+ }
+
+ container_type::value_type& at(const std::string& name)
+ {
+ return (*std::lower_bound(sites_.begin(), sites_.end(),
+ std::make_pair(name, site_type()), site_comparerator()));
+ }
+
+protected:
+
+ std::string name_;
+ container_type sites_;
+};
+
+} // ecell4
+
+ECELL4_DEFINE_HASH_BEGIN()
+
+template<>
+struct hash<ecell4::UnitSpecies>
+{
+ std::size_t operator()(const ecell4::UnitSpecies& val) const
+ {
+ return hash<ecell4::UnitSpecies::serial_type>()(val.serial());
+ }
+};
+
+ECELL4_DEFINE_HASH_END()
+
+#endif /* __ECELL4_UNIT_SPECIES_HPP */
+
diff --git a/ecell4/core/VacantType.hpp b/ecell4/core/VacantType.hpp
new file mode 100644
index 0000000..5393e3d
--- /dev/null
+++ b/ecell4/core/VacantType.hpp
@@ -0,0 +1,53 @@
+#ifndef __ECELL4_VACANT_TYPE_HPP
+#define __ECELL4_VACANT_TYPE_HPP
+
+#include "VoxelPool.hpp"
+
+namespace ecell4
+{
+
+class VacantType
+ : public VoxelPool
+{
+public:
+
+ typedef VoxelPool base_type;
+ typedef base_type::coordinate_id_pair_type coordinate_id_pair_type;
+ typedef base_type::coordinate_type coordinate_type;
+ typedef base_type::voxel_type_type voxel_type_type;
+
+public:
+
+ ~VacantType()
+ {
+ ; // do nothing
+ }
+
+ virtual voxel_type_type const voxel_type() const
+ {
+ return VACANT;
+ }
+
+ static VacantType& getInstance()
+ {
+ static VacantType instance;
+ return instance;
+ }
+
+ const Shape::dimension_kind get_dimension() const
+ {
+ return Shape::THREE;
+ }
+
+private:
+
+ VacantType()
+ : base_type(Species("VACANT", "0", "0"), NULL, 0, 0)
+ {
+ ; // do nothing
+ }
+};
+
+} // ecell4
+
+#endif /* __ECELL4_VACANT_TYPE_HPP */
diff --git a/ecell4/core/Voxel.hpp b/ecell4/core/Voxel.hpp
new file mode 100644
index 0000000..d22bd19
--- /dev/null
+++ b/ecell4/core/Voxel.hpp
@@ -0,0 +1,86 @@
+#ifndef __ECELL4_VOXEL_HPP
+#define __ECELL4_VOXEL_HPP
+
+namespace ecell4
+{
+
+class Voxel
+{
+public:
+
+ typedef Integer coordinate_type;
+ // typedef LatticeSpace::coordinate_type coordinate_type;
+
+public:
+
+ Voxel()
+ {
+ ;
+ }
+
+ Voxel(const Species& sp, const coordinate_type& coord,
+ const Real& radius, const Real& D, const std::string& loc = "")
+ : species_(sp), coordinate_(coord), radius_(radius), D_(D), loc_(loc) {}
+
+ const Species& species() const
+ {
+ return species_;
+ }
+
+ Species& species()
+ {
+ return species_;
+ }
+
+ const coordinate_type& coordinate() const
+ {
+ return coordinate_;
+ }
+
+ coordinate_type& coordinate()
+ {
+ return coordinate_;
+ }
+
+ const Real& D() const
+ {
+ return D_;
+ }
+
+ Real& D()
+ {
+ return D_;
+ }
+
+ const Real& radius() const
+ {
+ return radius_;
+ }
+
+ Real& radius()
+ {
+ return radius_;
+ }
+
+ const std::string& loc() const
+ {
+ return loc_;
+ }
+
+ std::string& loc()
+ {
+ return loc_;
+ }
+
+private:
+
+ Species species_;
+ coordinate_type coordinate_;
+ Real radius_;
+ Real D_;
+ std::string loc_;
+};
+
+}
+
+#endif
diff --git a/ecell4/core/VoxelPool.hpp b/ecell4/core/VoxelPool.hpp
new file mode 100644
index 0000000..e73d144
--- /dev/null
+++ b/ecell4/core/VoxelPool.hpp
@@ -0,0 +1,435 @@
+#ifndef __ECELL4_MOLECULAR_TYPE_BASE_HPP
+#define __ECELL4_MOLECULAR_TYPE_BASE_HPP
+
+#include <vector>
+#include "Species.hpp"
+#include "Shape.hpp"
+#include "Identifier.hpp"
+#include "RandomNumberGenerator.hpp"
+#include "Voxel.hpp"
+
+
+namespace ecell4
+{
+
+class VoxelPool
+{
+public:
+
+ typedef Voxel::coordinate_type coordinate_type;
+
+ // typedef std::pair<coordinate_type, ParticleID> coordinate_id_pair_type;
+ typedef struct coordinate_id_pair_type
+ {
+ coordinate_id_pair_type(ParticleID const& pid, coordinate_type const& coordinate)
+ : coordinate(coordinate), pid(pid)
+ {}
+
+ coordinate_type coordinate;
+ ParticleID pid;
+
+ bool operator==(const coordinate_id_pair_type& rhs) const
+ {
+ return pid == rhs.pid &&
+ coordinate == rhs.coordinate;
+ }
+
+ bool operator!=(const coordinate_id_pair_type& rhs) const
+ {
+ return pid != rhs.pid
+ || coordinate != rhs.coordinate;
+ }
+
+ bool operator<(const coordinate_id_pair_type& rhs) const
+ {
+ return coordinate < rhs.coordinate
+ || (coordinate == rhs.coordinate &&
+ pid < rhs.pid);
+ }
+
+ bool operator>=(const coordinate_id_pair_type& rhs) const
+ {
+ return coordinate > rhs.coordinate
+ || (coordinate == rhs.coordinate &&
+ pid >= rhs.pid);
+ }
+
+ bool operator>(const coordinate_id_pair_type& rhs) const
+ {
+ return coordinate > rhs.coordinate
+ || (coordinate == rhs.coordinate &&
+ pid > rhs.pid);
+ }
+
+ bool operator<=(const coordinate_id_pair_type& rhs) const
+ {
+ return coordinate < rhs.coordinate
+ || (coordinate == rhs.coordinate &&
+ pid <= rhs.pid);
+ }
+ } coordinate_id_pair_type;
+
+public:
+
+ typedef enum
+ {
+ DEFAULT,
+ VACANT,
+ STRUCTURE,
+ INTERFACE
+ } voxel_type_type;
+
+public:
+
+ VoxelPool(
+ const Species& species, VoxelPool* location,
+ const Real& radius, const Real& D)
+ : species_(species), location_(location),
+ radius_(radius), D_(D)
+ {
+ ;
+ }
+
+
+ virtual ~VoxelPool()
+ {
+ ;
+ }
+
+ virtual voxel_type_type const voxel_type() const = 0;
+
+ virtual const Shape::dimension_kind get_dimension() const
+ {
+ return Shape::UNDEF;
+ }
+
+public:
+
+ bool is_vacant() const
+ {
+ return voxel_type() == VACANT;
+ }
+
+ bool is_structure() const
+ {
+ return voxel_type() == STRUCTURE;
+ }
+
+ bool is_interface() const
+ {
+ return voxel_type() == INTERFACE;
+ }
+
+ const Species& species() const
+ {
+ return species_;
+ }
+
+ VoxelPool* location() const
+ {
+ return location_;
+ }
+
+ Real& radius()
+ {
+ return radius_;
+ }
+
+ const Real& radius() const
+ {
+ return radius_;
+ }
+
+ Real& D()
+ {
+ return D_;
+ }
+
+ const Real& D() const
+ {
+ return D_;
+ }
+
+public:
+
+ virtual void add_voxel(const coordinate_id_pair_type& info)
+ {
+ if (info.pid != ParticleID())
+ {
+ throw NotSupported("No ParticleID is allowed.");
+ }
+
+ ; // do nothing
+ }
+
+ virtual void replace_voxel(
+ const coordinate_type& from_coord, const coordinate_type& to_coord,
+ const std::size_t candidate = 0)
+ {
+ ; // do nothing
+ }
+
+ virtual coordinate_id_pair_type pop(const coordinate_type& coord)
+ {
+ return coordinate_id_pair_type(ParticleID(), coord);
+ }
+
+ virtual bool remove_voxel_if_exists(const coordinate_type& coord)
+ {
+ return true;
+ }
+
+ virtual const ParticleID get_particle_id(const coordinate_type& coord) const
+ {
+ return ParticleID();
+ }
+
+protected:
+
+ const Species species_;
+ VoxelPool* location_;
+ Real radius_, D_;
+};
+
+class MoleculePool
+ : public VoxelPool
+{
+public:
+
+ typedef VoxelPool base_type;
+ typedef base_type::coordinate_type coordinate_type;
+ typedef base_type::coordinate_id_pair_type coordinate_id_pair_type;
+ typedef base_type::voxel_type_type voxel_type_type;
+
+ typedef std::vector<coordinate_id_pair_type> container_type;
+ typedef container_type::const_iterator const_iterator;
+ typedef container_type::iterator iterator;
+
+public:
+
+ MoleculePool(
+ const Species& species, VoxelPool* location,
+ const Real& radius, const Real& D)
+ : base_type(species, location, radius, D)
+ {
+ ;
+ }
+
+ virtual ~MoleculePool()
+ {
+ ;
+ }
+
+ // virtual voxel_type_type const voxel_type() const = 0;
+
+ // virtual const Shape::dimension_kind get_dimension() const = 0;
+
+public:
+
+ virtual void add_voxel(const coordinate_id_pair_type& info)
+ {
+ voxels_.push_back(info);
+ }
+
+ virtual void replace_voxel(
+ const coordinate_type& from_coord, const coordinate_type& to_coord,
+ const std::size_t candidate = 0)
+ {
+ container_type::iterator itr(find(from_coord, candidate));
+ if (itr == voxels_.end())
+ {
+ std::cerr << "from_coord = " << from_coord << std::endl;
+ throw NotFound("no corresponding coordinate was found.");
+ }
+
+ (*itr).coordinate = to_coord;
+ }
+
+ virtual bool remove_voxel_if_exists(const coordinate_type& coord)
+ {
+ container_type::iterator itr(find(coord));
+ if (itr != voxels_.end())
+ {
+ this->remove_voxel(itr);
+ return true;
+ }
+ return false;
+ }
+
+ virtual const ParticleID get_particle_id(const coordinate_type& coord) const
+ {
+ container_type::const_iterator i(this->find(coord));
+ if (i == voxels_.end())
+ {
+ throw NotFound("No corresponding ParticleID was found.");
+ }
+ return (*i).pid;
+ }
+
+public:
+
+ void remove_voxel(const container_type::iterator& position)
+ {
+ // voxels_.erase(position);
+ (*position) = voxels_.back();
+ voxels_.pop_back();
+ }
+
+ coordinate_id_pair_type pop(const coordinate_type& coord)
+ {
+ container_type::iterator position(this->find(coord));
+ const coordinate_id_pair_type info(*position);
+ this->remove_voxel(position);
+ return info;
+ }
+
+ void replace_voxel(
+ const coordinate_type& from_coord, const coordinate_id_pair_type& to_info)
+ {
+ container_type::iterator itr(find(from_coord));
+ if (itr == voxels_.end())
+ {
+ throw NotFound("no corresponding coordinate was found.");
+ }
+
+ (*itr) = to_info;
+ }
+
+ void swap(const container_type::iterator& a, const container_type::iterator& b)
+ {
+ if (a == b)
+ {
+ return;
+ }
+
+ const container_type::value_type info(*b);
+ (*b) = (*a);
+ (*a) = info;
+ }
+
+ coordinate_id_pair_type& at(const Integer& index)
+ {
+ return voxels_.at(index);
+ }
+
+ coordinate_id_pair_type const& at(const Integer& index) const
+ {
+ return voxels_.at(index);
+ }
+
+ coordinate_id_pair_type& operator[](const Integer& n)
+ {
+ return voxels_[n];
+ }
+
+ coordinate_id_pair_type const& operator[](const Integer& n) const
+ {
+ return voxels_[n];
+ }
+
+ const Integer size() const
+ {
+ return voxels_.size();
+ }
+
+ void shuffle(RandomNumberGenerator& rng)
+ {
+ ecell4::shuffle(rng, voxels_);
+ }
+
+ container_type::iterator begin()
+ {
+ return voxels_.begin();
+ }
+
+ container_type::const_iterator begin() const
+ {
+ return voxels_.begin();
+ }
+
+ container_type::iterator end()
+ {
+ return voxels_.end();
+ }
+
+ container_type::const_iterator end() const
+ {
+ return voxels_.end();
+ }
+
+ container_type::iterator find(const ParticleID& pid)
+ {
+ container_type::iterator itr;
+ for (itr = voxels_.begin(); itr != voxels_.end(); ++itr)
+ {
+ if ((*itr).pid == pid)
+ {
+ break;
+ }
+ }
+ return itr;
+ }
+
+ container_type::const_iterator find(const ParticleID& pid) const
+ {
+ container_type::const_iterator itr;
+ for (itr = voxels_.begin(); itr != voxels_.end(); ++itr)
+ {
+ if ((*itr).pid == pid)
+ {
+ break;
+ }
+ }
+ return itr;
+ }
+
+protected:
+
+ container_type::iterator find(
+ coordinate_type coord, const std::size_t candidate = 0)
+ {
+ container_type::iterator itr;
+ if (candidate < voxels_.size())
+ {
+ itr = voxels_.begin() + candidate;
+ if ((*itr).coordinate == coord)
+ return itr;
+ }
+ for (itr = voxels_.begin(); itr != voxels_.end(); ++itr)
+ {
+ if ((*itr).coordinate == coord)
+ {
+ break;
+ }
+ }
+ return itr;
+ }
+
+ container_type::const_iterator find(
+ coordinate_type coord, const std::size_t candidate = 0) const
+ {
+ container_type::const_iterator itr;
+ if (candidate < voxels_.size())
+ {
+ itr = voxels_.begin() + candidate;
+ if ((*itr).coordinate == coord)
+ return itr;
+ }
+ for (itr = voxels_.begin(); itr != voxels_.end(); ++itr)
+ {
+ if ((*itr).coordinate == coord)
+ {
+ break;
+ }
+ }
+ return itr;
+ }
+
+protected:
+
+ container_type voxels_;
+};
+
+} // ecell4
+
+#endif
diff --git a/ecell4/core/VoxelSpaceBase.cpp b/ecell4/core/VoxelSpaceBase.cpp
new file mode 100644
index 0000000..920d9a1
--- /dev/null
+++ b/ecell4/core/VoxelSpaceBase.cpp
@@ -0,0 +1,228 @@
+#include "VoxelSpaceBase.hpp"
+#include "Context.hpp"
+
+namespace ecell4
+{
+
+VoxelSpaceBase::VoxelSpaceBase(const Real& voxel_radius)
+ : base_type(voxel_radius)
+{
+}
+
+VoxelSpaceBase::~VoxelSpaceBase()
+{
+}
+
+std::vector<Species> VoxelSpaceBase::list_species() const
+{
+ std::vector<Species> keys;
+ utils::retrieve_keys(voxel_pools_, keys);
+ utils::retrieve_keys(molecule_pools_, keys);
+ return keys;
+}
+
+Integer VoxelSpaceBase::num_voxels_exact(const Species& sp) const
+{
+ {
+ voxel_pool_map_type::const_iterator itr(voxel_pools_.find(sp));
+ if (itr != voxel_pools_.end())
+ {
+ return count_voxels((*itr).second);
+ }
+ }
+
+ {
+ molecule_pool_map_type::const_iterator itr(molecule_pools_.find(sp));
+ if (itr != molecule_pools_.end())
+ {
+ const boost::shared_ptr<MoleculePool>& vp((*itr).second);
+ return vp->size(); // upcast
+ }
+ }
+
+ return 0;
+}
+
+Integer VoxelSpaceBase::num_voxels(const Species& sp) const
+{
+ Integer count(0);
+ SpeciesExpressionMatcher sexp(sp);
+
+ for (voxel_pool_map_type::const_iterator itr(voxel_pools_.begin());
+ itr != voxel_pools_.end(); ++itr)
+ {
+ if (sexp.match((*itr).first))
+ {
+ const boost::shared_ptr<VoxelPool>& vp((*itr).second);
+ count += count_voxels(vp);
+ }
+ }
+
+ for (molecule_pool_map_type::const_iterator itr(molecule_pools_.begin());
+ itr != molecule_pools_.end(); ++itr)
+ {
+ if (sexp.match((*itr).first))
+ {
+ const boost::shared_ptr<MoleculePool>& vp((*itr).second);
+ count += vp->size();
+ }
+ }
+ return count;
+}
+
+Integer VoxelSpaceBase::num_voxels() const
+{
+ Integer count(0);
+
+ for (voxel_pool_map_type::const_iterator itr(voxel_pools_.begin());
+ itr != voxel_pools_.end(); ++itr)
+ {
+ const boost::shared_ptr<VoxelPool>& vp((*itr).second);
+ count += count_voxels(vp);
+ }
+
+ for (molecule_pool_map_type::const_iterator itr(molecule_pools_.begin());
+ itr != molecule_pools_.end(); ++itr)
+ {
+ const boost::shared_ptr<MoleculePool>& vp((*itr).second);
+ count += vp->size();
+ }
+
+ return count;
+}
+
+bool VoxelSpaceBase::has_voxel(const ParticleID& pid) const
+{
+ for (molecule_pool_map_type::const_iterator itr(molecule_pools_.begin());
+ itr != molecule_pools_.end(); ++itr)
+ {
+ const boost::shared_ptr<MoleculePool>& vp((*itr).second);
+ if (vp->find(pid) != vp->end())
+ return true;
+ }
+ return false;
+}
+
+std::string VoxelSpaceBase::get_location_serial(
+ const boost::shared_ptr<MoleculePool>& voxel_pool) const
+{
+ return voxel_pool->location()->is_vacant() ?
+ "" : voxel_pool->location()->species().serial();
+}
+
+void VoxelSpaceBase::push_voxels(std::vector<std::pair<ParticleID, Voxel> >& voxels,
+ const boost::shared_ptr<MoleculePool>& voxel_pool,
+ const Species& species) const
+{
+ const std::string location_serial(get_location_serial(voxel_pool));
+ for (MoleculePool::const_iterator i(voxel_pool->begin()); i != voxel_pool->end(); ++i)
+ voxels.push_back(
+ std::make_pair(
+ (*i).pid,
+ Voxel(species, (*i).coordinate, voxel_pool->radius(),
+ voxel_pool->D(), location_serial)));
+}
+
+std::vector<std::pair<ParticleID, Voxel> >
+VoxelSpaceBase::list_voxels() const
+{
+ std::vector<std::pair<ParticleID, Voxel> > retval;
+
+ for (molecule_pool_map_type::const_iterator itr(molecule_pools_.begin());
+ itr != molecule_pools_.end(); ++itr)
+ {
+ const boost::shared_ptr<MoleculePool>& vp((*itr).second);
+ push_voxels(retval, vp, vp->species());
+ }
+
+ return retval;
+}
+
+std::vector<std::pair<ParticleID, Voxel> >
+VoxelSpaceBase::list_voxels(const Species& sp) const
+{
+ std::vector<std::pair<ParticleID, Voxel> > retval;
+ SpeciesExpressionMatcher sexp(sp);
+
+ for (molecule_pool_map_type::const_iterator itr(molecule_pools_.begin());
+ itr != molecule_pools_.end(); ++itr)
+ if (sexp.match((*itr).first))
+ push_voxels(retval, (*itr).second, sp);
+
+ return retval;
+}
+
+std::vector<std::pair<ParticleID, Voxel> >
+VoxelSpaceBase::list_voxels_exact(const Species& sp) const
+{
+ std::vector<std::pair<ParticleID, Voxel> > retval;
+
+ molecule_pool_map_type::const_iterator itr(molecule_pools_.find(sp));
+ if (itr != molecule_pools_.end())
+ push_voxels(retval, (*itr).second, sp);
+ return retval;
+}
+
+std::pair<ParticleID, Voxel>
+VoxelSpaceBase::get_voxel(const ParticleID& pid) const
+{
+ for (molecule_pool_map_type::const_iterator itr(molecule_pools_.begin());
+ itr != molecule_pools_.end(); ++itr)
+ {
+ const boost::shared_ptr<MoleculePool>& vp((*itr).second);
+ MoleculePool::container_type::const_iterator j(vp->find(pid));
+ if (j != vp->end())
+ return std::make_pair(
+ pid,
+ Voxel((*itr).first, (*j).coordinate, vp->radius(),
+ vp->D(), get_location_serial(vp)));
+ }
+ throw NotFound("voxel not found.");
+}
+
+VoxelPool* VoxelSpaceBase::find_voxel_pool(const Species& sp)
+{
+ voxel_pool_map_type::iterator itr(voxel_pools_.find(sp));
+ if (itr != voxel_pools_.end())
+ {
+ return (*itr).second.get();
+ }
+ return find_molecule_pool(sp); // upcast
+}
+
+const VoxelPool* VoxelSpaceBase::find_voxel_pool(const Species& sp) const
+{
+ voxel_pool_map_type::const_iterator itr(voxel_pools_.find(sp));
+ if (itr != voxel_pools_.end())
+ {
+ return (*itr).second.get();
+ }
+ return find_molecule_pool(sp); // upcast
+}
+
+bool VoxelSpaceBase::has_molecule_pool(const Species& sp) const
+{
+ return (molecule_pools_.find(sp) != molecule_pools_.end());
+}
+
+MoleculePool* VoxelSpaceBase::find_molecule_pool(const Species& sp)
+{
+ molecule_pool_map_type::iterator itr(molecule_pools_.find(sp));
+ if (itr != molecule_pools_.end())
+ {
+ return (*itr).second.get(); // upcast
+ }
+ throw NotFound("MoleculePool not found.");
+}
+
+const MoleculePool* VoxelSpaceBase::find_molecule_pool(const Species& sp) const
+{
+ molecule_pool_map_type::const_iterator itr(molecule_pools_.find(sp));
+ if (itr != molecule_pools_.end())
+ {
+ return (*itr).second.get(); // upcast
+ }
+ throw NotFound("MoleculePool not found.");
+}
+
+} // ecell4
diff --git a/ecell4/core/VoxelSpaceBase.hpp b/ecell4/core/VoxelSpaceBase.hpp
new file mode 100644
index 0000000..9517d18
--- /dev/null
+++ b/ecell4/core/VoxelSpaceBase.hpp
@@ -0,0 +1,86 @@
+#ifndef __ECELL4_VOXELSPACEBASE_HPP
+#define __ECELL4_VOXELSPACEBASE_HPP
+
+#include "LatticeSpace.hpp"
+
+namespace ecell4
+{
+
+class VoxelSpaceBase : public LatticeSpace
+{
+protected:
+
+ typedef LatticeSpace base_type;
+ typedef utils::get_mapper_mf<Species, boost::shared_ptr<VoxelPool> >::type
+ voxel_pool_map_type;
+ typedef utils::get_mapper_mf<Species, boost::shared_ptr<MoleculePool> >::type
+ molecule_pool_map_type;
+
+public:
+
+ VoxelSpaceBase(const Real& voxel_radius);
+ virtual ~VoxelSpaceBase();
+
+ std::vector<Species> list_species() const;
+
+ Integer num_voxels_exact(const Species& sp) const;
+ Integer num_voxels(const Species& sp) const;
+ Integer num_voxels() const;
+ bool has_voxel(const ParticleID& pid) const;
+
+ std::vector<std::pair<ParticleID, Voxel> > list_voxels() const;
+ std::vector<std::pair<ParticleID, Voxel> > list_voxels(const Species& sp) const;
+ std::vector<std::pair<ParticleID, Voxel> > list_voxels_exact(const Species& sp) const;
+
+ std::pair<ParticleID, Voxel> get_voxel(const ParticleID& pid) const;
+ VoxelPool* find_voxel_pool(const Species& sp);
+ const VoxelPool* find_voxel_pool(const Species& sp) const;
+ bool has_molecule_pool(const Species& sp) const;
+ MoleculePool* find_molecule_pool(const Species& sp);
+ const MoleculePool* find_molecule_pool(const Species& sp) const;
+
+ /*
+ * Virtual functions
+ */
+
+ virtual Real3 actual_lengths() const = 0;
+
+ virtual std::pair<ParticleID, Voxel> get_voxel_at(const coordinate_type& coord) const = 0;
+ virtual VoxelPool* get_voxel_pool_at(const coordinate_type& coord) const = 0;
+ virtual const Particle particle_at(const coordinate_type& coord) const = 0;
+
+ virtual bool update_voxel(const ParticleID& pid, const Voxel& v) = 0;
+ virtual bool remove_voxel(const ParticleID& pid) = 0;
+ virtual bool remove_voxel(const coordinate_type& coord) = 0;
+
+ virtual bool can_move(const coordinate_type& src, const coordinate_type& dest) const = 0;
+ virtual bool move(
+ const coordinate_type& src, const coordinate_type& dest,
+ const std::size_t candidate=0) = 0;
+ virtual std::pair<coordinate_type, bool> move_to_neighbor(
+ VoxelPool* const& from, VoxelPool* const& loc,
+ coordinate_id_pair_type& info, const Integer nrand) = 0;
+
+#ifdef WITH_HDF5
+ virtual void save_hdf5(H5::Group* root) const = 0;
+ virtual void load_hdf5(const H5::Group& root) = 0;
+#endif
+
+protected:
+
+ virtual Integer count_voxels(const boost::shared_ptr<VoxelPool>& vp) const = 0;
+ std::string get_location_serial(const boost::shared_ptr<MoleculePool>& voxel_pool) const;
+ void push_voxels(std::vector<std::pair<ParticleID, Voxel> >& voxels,
+ const boost::shared_ptr<MoleculePool>& voxel_pool,
+ const Species& species) const;
+
+protected:
+
+ voxel_pool_map_type voxel_pools_;
+ molecule_pool_map_type molecule_pools_;
+
+};
+
+} // ecell4
+
+#endif /* __ECELL4_VOXELSPACEBASE_HPP */
diff --git a/ecell4/core/collision.cpp b/ecell4/core/collision.cpp
new file mode 100644
index 0000000..c732673
--- /dev/null
+++ b/ecell4/core/collision.cpp
@@ -0,0 +1,388 @@
+#include "collision.hpp"
+
+
+namespace ecell4
+{
+
+namespace collision
+{
+
+Real distance_sq_point_AABB(const Real3& pos, const AABB& b)
+{
+ const Real3& upper(b.upper());
+ const Real3& lower(b.lower());
+
+ Real Lsq(0.0);
+ const unsigned int ndim(3);
+ for (unsigned int i(0); i < ndim; ++i)
+ {
+ const Real& v(pos[i]);
+ if (v < lower[i])
+ {
+ Lsq += pow_2(lower[i] - v);
+ }
+ else if (v > upper[i])
+ {
+ Lsq += pow_2(v - upper[i]);
+ }
+ }
+ return Lsq;
+}
+
+Real farthest_distance_sq_point_AABB(const Real3& pos, const AABB& b)
+{
+ const Real3 c(b.center());
+ const Real3& lower(b.lower());
+ const Real3& upper(b.upper());
+
+ const Real3 q(
+ pos[0] > c[0] ? lower[0] : upper[0],
+ pos[1] > c[1] ? lower[1] : upper[1],
+ pos[2] > c[2] ? lower[2] : upper[2]);
+ return length_sq(q - pos);
+}
+
+Real distance_point_cylinder(const Real3& pos, const Cylinder& c)
+{
+ /* First compute the (z,r) components of pos in a coordinate system
+ * defined by the vectors unitR and unit_z, where unitR is
+ * choosen such that unitR and unit_z define a plane in which
+ * pos lies. */
+ const Real& half_height(c.half_height());
+ const Real& radius(c.radius());
+ const std::pair<Real, Real> r_z(c.to_internal(pos));
+
+ /* Then compute distance to cylinder. */
+ const Real dz(std::fabs(r_z.second) - half_height);
+ const Real dr(r_z.first - radius);
+
+ if (dz > 0)
+ {
+ // pos is (either) to the right or to the left of the cylinder.
+ if (r_z.first > radius)
+ {
+ // Compute distance to edge.
+ return std::sqrt(dz * dz + dr * dr);
+ }
+ else
+ {
+ return dz;
+ }
+ }
+
+ if (dr > 0)
+ // if (dr > radius)
+ {
+ // pos is somewhere 'parallel' to the cylinder.
+ return dr;
+ }
+
+ // Inside cylinder.
+ return std::max(dr, dz);
+}
+
+Real distance_point_capsule(const Real3& pos, const Rod& r)
+{
+ const Real& half_length(r.half_length());
+ const Real& radius(r.radius());
+ const Real3 vec(pos - r.origin());
+
+ if (vec[0] > half_length)
+ {
+ return length(vec - Real3(half_length, 0, 0)) - radius;
+ }
+ else if (vec[0] < -half_length)
+ {
+ return length(vec + Real3(half_length, 0, 0)) - radius;
+ }
+ return length(vec - Real3(vec[0], 0, 0)) - radius;
+}
+
+Real closest_point_segment_segment(
+ const Real3& p1, const Real3& q1,
+ const Real3& p2, const Real3& q2,
+ Real& s, Real& t, Real3& c1, Real3& c2)
+{
+ const Real3 d1(q1 - p1);
+ const Real3 d2(q2 - p2);
+ const Real3 r(p1 - p2);
+ Real a(length_sq(d1));
+ Real e(length_sq(d2));
+ Real f(dot_product(d2, r));
+
+ if (a <= epsilon && e <= epsilon)
+ {
+ c1 = p1;
+ c2 = p2;
+ return length_sq(c1 - c2);
+ }
+
+ if (a <= epsilon)
+ {
+ s = 0.0;
+ t = f / e;
+ t = clamp(t, 0.0, 1.0);
+ }
+ else
+ {
+ Real c = dot_product(d1, r);
+ if (e <= epsilon)
+ {
+ t = 0.0;
+ s = clamp(-c / a, 0.0, 1.0);
+ }
+ else
+ {
+ Real b = dot_product(d1, d2);
+ Real denom = a * e - b * b;
+ if (denom != 0.0)
+ {
+ s = clamp((b * f - c * e)/ denom, 0.0, 1.0);
+ }
+ else
+ {
+ s = 0.0;
+ }
+
+ t = (b * s + f) / e;
+ if (t < 0.0)
+ {
+ t = 0.0;
+ s = clamp(-c / a, 0.0, 1.0);
+ }
+ else if (t > 1.0)
+ {
+ t = 1.0;
+ s = clamp((b - c) / a, 0.0, 1.0);
+ }
+ }
+ }
+
+ c1 = p1 + d1 * s;
+ c2 = p2 + d2 * t;
+ return length_sq(c1 - c2);
+}
+
+bool test_AABB_AABB(
+ const Real3& l1, const Real3& u1,
+ const Real3& l2, const Real3& u2)
+{
+ if (u1[0] < l2[0] || l1[0] > u2[0])
+ {
+ return false;
+ }
+ else if (u1[1] < l2[1] || l1[1] > u2[1])
+ {
+ return false;
+ }
+ else if (u1[2] < l2[2] || l1[2] > u2[2])
+ {
+ return false;
+ }
+ return true;
+}
+
+bool test_segment_AABB(
+ const Real3& p0, const Real3& p1, const Real3& lower, const Real3& upper)
+{
+ const Real3 c((upper + lower) * 0.5);
+ const Real3 e(upper - c);
+ Real3 m(multiply(p1 - p0, 0.5));
+ const Real3 d(p1 - m);
+ m = m - c;
+
+ Real adx(abs(d[0]));
+ if (abs(m[0]) > e[0] + adx)
+ {
+ return false;
+ }
+ Real ady(abs(d[1]));
+ if (abs(m[1]) > e[1] + ady)
+ {
+ return false;
+ }
+ Real adz(abs(d[2]));
+ if (abs(m[2]) > e[2] + adz)
+ {
+ return false;
+ }
+
+ adx += epsilon;
+ ady += epsilon;
+ adz += epsilon;
+ if (abs(m[1] * d[2] - m[2] * d[1]) > e[1] * adz + e[2] * ady)
+ {
+ return false;
+ }
+ if (abs(m[2] * d[0] - m[0] * d[2]) > e[0] * adz + e[2] * adx)
+ {
+ return false;
+ }
+ if (abs(m[0] * d[1] - m[1] * d[0]) > e[0] * ady + e[1] * adx)
+ {
+ return false;
+ }
+ return true;
+}
+
+bool test_AABB_plane(const AABB& b, const PlanarSurface& p)
+{
+ const Real3 c(b.center());
+ const Real3 e(b.radius());
+
+ const Real3& n(p.normal());
+ const Real d(dot_product(p.origin(), n));
+
+ const Real r(e[0] * abs(n[0]) + e[1] * abs(n[1]) + e[2] * abs(n[2]));
+ const Real s(dot_product(n, c) - d);
+ return (abs(s) <= r);
+}
+
+bool test_sphere_AABB(const Sphere& s, const AABB& b)
+{
+ const Real3& center(s.center());
+ const Real& r(s.radius());
+
+ const Real Lsq(distance_sq_point_AABB(center, b));
+ return (Lsq <= r * r);
+}
+
+bool test_shell_AABB(const SphericalSurface& s, const AABB& b)
+{
+ const Real r(s.radius());
+ const Real rsq(r * r);
+ const Real3& center(s.center());
+
+ if (distance_sq_point_AABB(center, b) > rsq)
+ {
+ return false;
+ }
+ else if (farthest_distance_sq_point_AABB(center, b) < rsq)
+ {
+ return false;
+ }
+ return true;
+}
+
+/**
+ * intersect_ray_AABB
+ * See RTCD p.180;
+ */
+bool intersect_ray_AABB(
+ const Real3& p, const Real3& d, const Real3& lower, const Real3& upper,
+ Real& tmin, Real3& q)
+{
+ tmin = 0.0;
+ Real tmax(inf);
+ const unsigned int ndim(3);
+ for (unsigned int i(0); i < ndim; ++i)
+ {
+ if (abs(d[i]) < epsilon)
+ {
+ if (p[i] < lower[i] || p[i] > upper[i])
+ {
+ return false;
+ }
+ }
+ else
+ {
+ Real ood = 1.0 / d[i];
+ Real t1 = (lower[i] - p[i]) * ood;
+ Real t2 = (upper[i] - p[i]) * ood;
+ if (t1 > t2)
+ {
+ const Real tmp(t1);
+ t1 = t2;
+ t2 = tmp;
+ }
+ tmin = std::max(tmin, t1);
+ tmax = std::min(tmax, t2);
+ if (tmin > tmax)
+ {
+ return false;
+ }
+ }
+ }
+
+ q = p + d * tmin;
+ return true;
+}
+
+bool intersect_segment_capsule(
+ const Real3& p1, const Real3& q1,
+ const Real3& p2, const Real3& q2,
+ const Real& radius, Real& s)
+{
+ Real t;
+ Real3 c1, c2;
+ const Real Lsq(closest_point_segment_segment(p1, q1, p2, q2, s, t, c1, c2));
+ return Lsq <= radius * radius;
+}
+
+bool intersect_moving_sphere_AABB(
+ const Sphere& s, const Real3& d, const AABB& b, Real& t)
+{
+ const Real3 p0(s.center());
+ const Real3 p1(p0 + d);
+ const Real& radius(s.radius());
+ const Real3& lower(b.lower());
+ const Real3& upper(b.upper());
+
+ const AABB e(
+ Real3(lower[0] - radius, lower[1] - radius, lower[2] - radius),
+ Real3(upper[0] + radius, upper[1] + radius, upper[2] + radius));
+
+ Real3 p;
+ if (!intersect_ray_AABB(p0, d, e, t, p) || t > 1.0)
+ {
+ return false;
+ }
+
+ int u(0), v(0);
+ if (p[0] < lower[0]) u |= 1;
+ if (p[0] > upper[0]) v |= 1;
+ if (p[1] < lower[1]) u |= 2;
+ if (p[1] > upper[1]) v |= 2;
+ if (p[2] < lower[2]) u |= 4;
+ if (p[2] > upper[2]) v |= 4;
+ const int m(u + v);
+
+ if (m == 7)
+ {
+ Real tmin(inf);
+ if (intersect_segment_capsule(
+ p0, p1, b.corner(v), b.corner(v^1), radius, t))
+ {
+ tmin = std::min(t, tmin);
+ }
+ if (intersect_segment_capsule(
+ p0, p1, b.corner(v), b.corner(v^2), radius, t))
+ {
+ tmin = std::min(t, tmin);
+ }
+ if (intersect_segment_capsule(
+ p0, p1, b.corner(v), b.corner(v^4), radius, t))
+ {
+ tmin = std::min(t, tmin);
+ }
+
+ if (tmin == inf)
+ {
+ return false;
+ }
+ t = tmin;
+ return true;
+ }
+
+ if ((m & (m - 1)) == 0)
+ {
+ return true;
+ }
+
+ return intersect_segment_capsule(
+ p0, p1, b.corner(u^7), b.corner(v), radius, t);
+}
+
+} // collision
+
+} // ecell4
diff --git a/ecell4/core/collision.hpp b/ecell4/core/collision.hpp
new file mode 100644
index 0000000..03dea21
--- /dev/null
+++ b/ecell4/core/collision.hpp
@@ -0,0 +1,105 @@
+#ifndef __ECELL4_COLLISION_HPP
+#define __ECELL4_COLLISION_HPP
+
+#include "types.hpp"
+#include "Real3.hpp"
+
+#include "AABB.hpp"
+#include "Cylinder.hpp"
+#include "PlanarSurface.hpp"
+#include "Sphere.hpp"
+#include "Rod.hpp"
+
+
+namespace ecell4
+{
+
+namespace collision
+{
+
+inline Real clamp(const Real n, const Real min, const Real max)
+{
+ if (n < min)
+ {
+ return min;
+ }
+ else if (n > max)
+ {
+ return max;
+ }
+ return n;
+}
+
+Real distance_sq_point_AABB(const Real3& pos, const AABB& b);
+Real farthest_distance_sq_point_AABB(const Real3& pos, const AABB& b);
+Real distance_point_cylinder(const Real3& pos, const Cylinder& c);
+Real distance_point_capsule(const Real3& pos, const Rod& r);
+
+inline Real distance_sq_point_cylinder(const Real3& pos, const Cylinder& c)
+{
+ const Real L(distance_point_cylinder(pos, c));
+ return L * L;
+}
+
+Real closest_point_segment_segment(
+ const Real3& p1, const Real3& q1,
+ const Real3& p2, const Real3& q2,
+ Real& s, Real& t, Real3& c1, Real3& c2);
+
+bool test_AABB_AABB(
+ const Real3& l1, const Real3& u1,
+ const Real3& l2, const Real3& u2);
+
+inline bool test_AABB_AABB(const AABB& b1, const AABB& b2)
+{
+ return test_AABB_AABB(b1.lower(), b1.upper(), b2.lower(), b2.upper());
+}
+
+bool test_segment_AABB(
+ const Real3& p0, const Real3& p1, const Real3& lower, const Real3& upper);
+
+inline bool test_segment_AABB(
+ const Real3& p0, const Real3& p1, const AABB& b)
+{
+ return test_segment_AABB(p0, p1, b.lower(), b.upper());
+}
+
+bool test_AABB_plane(const AABB& b, const PlanarSurface& p);
+bool test_shell_AABB(const SphericalSurface& s, const AABB& b);
+
+inline bool test_shell_AABB(const SphericalSurface& s, const Real3& l, const Real3& u)
+{
+ return test_shell_AABB(s, AABB(l, u));
+}
+
+bool test_sphere_AABB(const Sphere& s, const AABB& b);
+
+inline bool test_sphere_AABB(const Sphere& s, const Real3& l, const Real3& u)
+{
+ return test_sphere_AABB(s, AABB(l, u));
+}
+
+bool intersect_ray_AABB(
+ const Real3& p, const Real3& d, const Real3& lower, const Real3& upper,
+ Real& tmin, Real3& q);
+
+inline bool intersect_ray_AABB(
+ const Real3& p, const Real3& d, const AABB& b,
+ Real& tmin, Real3& q)
+{
+ return intersect_ray_AABB(p, d, b.lower(), b.upper(), tmin, q);
+}
+
+bool intersect_segment_capsule(
+ const Real3& p1, const Real3& q1,
+ const Real3& p2, const Real3& q2,
+ const Real& radius, Real& s);
+
+bool intersect_moving_sphere_AABB(
+ const Sphere& s, const Real3& d, const AABB& b, Real& t);
+
+} // collision
+
+} // ecell4
+
+#endif /* __ECELL4_COLLISION_HPP */
diff --git a/ecell4/core/comparators.hpp b/ecell4/core/comparators.hpp
new file mode 100644
index 0000000..13d5695
--- /dev/null
+++ b/ecell4/core/comparators.hpp
@@ -0,0 +1,95 @@
+#ifndef __ECELL4_COMPARATORS_HPP
+#define __ECELL4_COMPARATORS_HPP
+
+namespace ecell4
+{
+
+namespace utils
+{
+
+template<typename Tfirst_, typename Tsecond_>
+struct pair_first_element_unary_predicator
+{
+ typedef std::pair<Tfirst_, Tsecond_> element_type;
+
+ pair_first_element_unary_predicator(const Tfirst_& target)
+ : target_(target)
+ {
+ ; // do nothing
+ }
+
+ bool operator()(const element_type& v)
+ {
+ return v.first == target_;
+ }
+
+protected:
+
+ Tfirst_ target_;
+};
+
+template<typename Tfirst_, typename Tsecond_>
+struct pair_second_element_unary_predicator
+{
+ typedef std::pair<Tfirst_, Tsecond_> element_type;
+
+ pair_second_element_unary_predicator(const Tsecond_& target)
+ : target_(target)
+ {
+ ; // do nothing
+ }
+
+ bool operator()(const element_type& v)
+ {
+ return v.second == target_;
+ }
+
+protected:
+
+ Tsecond_ target_;
+};
+
+template<typename Tfirst_, typename Tsecond_>
+struct pair_first_element_binary_predicator
+ : public std::binary_function<
+ std::pair<Tfirst_, Tsecond_>, std::pair<Tfirst_, Tsecond_>, bool>
+{
+ typedef std::pair<Tfirst_, Tsecond_> element_type;
+
+ bool operator()(const element_type& v1, const element_type& v2)
+ {
+ return v1.first == v2.first;
+ }
+};
+
+template<typename Tfirst_, typename Tsecond_>
+struct pair_first_element_comparator
+ : public std::binary_function<
+ std::pair<Tfirst_, Tsecond_>, std::pair<Tfirst_, Tsecond_>, bool>
+{
+ typedef std::pair<Tfirst_, Tsecond_> element_type;
+
+ inline bool operator()(const element_type& v1, const element_type& v2)
+ {
+ return v1.first < v2.first;
+ }
+};
+
+template<typename Tfirst_, typename Tsecond_>
+struct pair_second_element_comparator
+ : public std::binary_function<
+ std::pair<Tfirst_, Tsecond_>, std::pair<Tfirst_, Tsecond_>, bool>
+{
+ typedef std::pair<Tfirst_, Tsecond_> element_type;
+
+ inline bool operator()(const element_type& v1, const element_type& v2)
+ {
+ return v1.second < v2.second;
+ }
+};
+
+} // utils
+
+} // ecell4
+
+#endif /* __ECELL4_COMPARATORS_HPP */
diff --git a/ecell4/core/config.h.in b/ecell4/core/config.h.in
new file mode 100644
index 0000000..4877f39
--- /dev/null
+++ b/ecell4/core/config.h.in
@@ -0,0 +1,31 @@
+/* WARNING! All changes made to this file will be lost! */
+#ifndef __ECELL4_CONFIG_H
+#define __ECELL4_CONFIG_H
+
+#cmakedefine ECELL4_VERSION "@ECELL4_VERSION@"
+
+#ifdef _MSC_BUILD
+#define WIN32_MSC 1
+#else
+/* #undef WIN32_MSC */
+#endif
+
+#ifdef WIN32_MSC
+/* The following is the default behavior on Windows environment. */
+// #define WITH_HDF5 1
+#define HAVE_BOOST_UNORDERED_MAP_HPP 1
+#define HAVE_BOOST_FUNCTIONAL_HASH_HPP 1
+#else
+#cmakedefine WITH_HDF5 1
+#cmakedefine HAVE_VTK 1
+#cmakedefine HAVE_BOOST_REGEX 1
+
+#cmakedefine HAVE_UNORDERED_MAP 1
+#cmakedefine HAVE_STD_HASH 1
+#cmakedefine HAVE_BOOST_UNORDERED_MAP_HPP 1
+#cmakedefine HAVE_BOOST_FUNCTIONAL_HASH_HPP 1
+#cmakedefine HAVE_TR1_UNORDERED_MAP 1
+#cmakedefine HAVE_TR1_FUNCTIONAL 1
+#endif
+
+#endif /* __ECELL4_CONFIG_H */
diff --git a/ecell4/core/exceptions.hpp b/ecell4/core/exceptions.hpp
new file mode 100644
index 0000000..1bffdf1
--- /dev/null
+++ b/ecell4/core/exceptions.hpp
@@ -0,0 +1,192 @@
+#ifndef __ECELL4_EXCEPTIONS_HPP
+#define __ECELL4_EXCEPTIONS_HPP
+
+#include <exception>
+#include <stdexcept>
+
+#include <string>
+
+namespace ecell4
+{
+
+class Exception
+ : public std::exception
+{
+public:
+
+ Exception()
+ {
+ ;
+ }
+
+ virtual ~Exception() throw()
+ {
+ ;
+ }
+
+ virtual const char* what() const throw()
+ {
+ return "";
+ }
+};
+
+class NotFound
+ : public Exception
+{
+public:
+
+ NotFound(const std::string& str)
+ : str_(str)
+ {
+ ;
+ }
+
+ virtual ~NotFound() throw()
+ {
+ ;
+ }
+
+ virtual const char* what() const throw()
+ {
+ return str_.c_str();
+ }
+
+private:
+
+ std::string str_;
+};
+
+class AlreadyExists
+ : public Exception
+{
+public:
+
+ AlreadyExists(const std::string& str)
+ : str_(str)
+ {
+ ;
+ }
+
+ virtual ~AlreadyExists() throw()
+ {
+ ;
+ }
+
+ virtual const char* what() const throw()
+ {
+ return str_.c_str();
+ }
+
+private:
+
+ std::string str_;
+};
+
+class NotImplemented
+ : public Exception
+{
+public:
+
+ NotImplemented(const std::string& str)
+ : str_(str)
+ {
+ ;
+ }
+
+ virtual ~NotImplemented() throw()
+ {
+ ;
+ }
+
+ virtual const char* what() const throw()
+ {
+ return str_.c_str();
+ }
+
+private:
+
+ std::string str_;
+};
+
+class NotSupported
+ : public Exception
+{
+public:
+
+ NotSupported(const std::string& str)
+ : str_(str)
+ {
+ ;
+ }
+
+ virtual ~NotSupported() throw()
+ {
+ ;
+ }
+
+ virtual const char* what() const throw()
+ {
+ return str_.c_str();
+ }
+
+private:
+
+ std::string str_;
+};
+
+class IllegalState
+ : public Exception
+{
+public:
+
+ IllegalState(const std::string& str)
+ : str_(str)
+ {
+ ;
+ }
+
+ virtual ~IllegalState() throw()
+ {
+ ;
+ }
+
+ virtual const char* what() const throw()
+ {
+ return str_.c_str();
+ }
+
+private:
+
+ std::string str_;
+};
+
+class IllegalArgument
+ : public Exception
+{
+public:
+
+ IllegalArgument(const std::string& str)
+ : str_(str)
+ {
+ ;
+ }
+
+
+ virtual ~IllegalArgument() throw()
+ {
+ ;
+ }
+
+ virtual const char* what() const throw()
+ {
+ return str_.c_str();
+ }
+
+private:
+
+ std::string str_;
+};
+
+}
+
+#endif /* __ECELL4_EXCEPTIONS_HPP */
diff --git a/ecell4/core/extras.cpp b/ecell4/core/extras.cpp
new file mode 100644
index 0000000..44d1cef
--- /dev/null
+++ b/ecell4/core/extras.cpp
@@ -0,0 +1,133 @@
+#include "extras.hpp"
+#include <iostream>
+#include <sstream>
+
+#if defined(HAVE_BOOST_REGEX)
+#include <boost/regex.hpp>
+#elif defined(WIN32_MSC)
+#include <regex>
+#else
+#include <regex.h>
+#endif /* HAVE_BOOST_REGEX */
+
+
+namespace ecell4
+{
+
+namespace extras
+{
+
+#ifdef WITH_HDF5
+void save_version_information(H5::CommonFG* root, const std::string& version)
+{
+ if (version.size() > 32)
+ {
+ throw IllegalArgument("Version info must be shorter than 32 characters.");
+ }
+ using namespace H5;
+ boost::scoped_ptr<DataSet> dataset(
+ new DataSet(root->createDataSet("version", H5::StrType(H5::PredType::C_S1, 32), H5::DataSpace(H5S_SCALAR))));
+ dataset->write(version.c_str(), dataset->getDataType());
+}
+
+std::string load_version_information(const H5::CommonFG& root)
+{
+ using namespace H5;
+ char buf[32];
+ const DataSet dataset(DataSet(root.openDataSet("version")));
+ dataset.read(buf, dataset.getDataType());
+ return std::string(buf);
+}
+#endif
+
+std::string load_version_information(const std::string& filename)
+{
+#ifdef WITH_HDF5
+ using namespace H5;
+ boost::scoped_ptr<H5::H5File>
+ fin(new H5::H5File(filename.c_str(), H5F_ACC_RDONLY));
+ return load_version_information(*fin);
+#else
+ return "";
+#endif
+}
+
+int mystoi(const std::string& s)
+{
+ std::stringstream ss;
+ ss << s;
+ int retval;
+ ss >> retval;
+ return retval;
+}
+
+VersionInformation parse_version_information(const std::string& version)
+{
+#if defined(HAVE_BOOST_REGEX) || defined(WIN32_MSC)
+#if defined(HAVE_BOOST_REGEX)
+ using namespace boost;
+#else /* WIN32_MSC */
+ using namespace std::tr1;
+#endif /* HAVE_BOOST_REGEX */
+ regex reg("^([^-\\.]+-[^-\\.]+-)([0123456789]+)\\.([0123456789]+)\\.([0123456789]+)$");
+ smatch result;
+ if (!regex_match(version, result, reg))
+ {
+ throw std::invalid_argument(
+ "a wrong version information was given [" + version + "]"); //XXX:
+ }
+
+ const std::string header = result.str(1);
+ const int majorno = mystoi(result.str(2));
+ const int minorno = mystoi(result.str(3));
+ const int patchno = mystoi(result.str(4));
+
+ return VersionInformation(header, majorno, minorno, patchno);
+#else /* regex.h */
+ regex_t reg;
+ int errcode = regcomp(
+ ®, "^([^-\\.]+-[^-\\.]+-)([0123456789]+)\\.([0123456789]+)\\.([0123456789]+)$",
+ REG_EXTENDED);
+ if (errcode != 0)
+ {
+ char errbuf[100];
+ regerror(errcode, ®, errbuf, sizeof(errbuf));
+ regfree(®);
+ std::cout << "regcompile error: " << errbuf << std::endl;
+ throw IllegalState("regcompile error.");
+ }
+
+ regmatch_t match[5];
+ errcode = regexec(®, version.c_str(), 5, match, 0);
+ if (errcode != 0)
+ {
+ char errbuf[100];
+ regerror(errcode, ®, errbuf, sizeof(errbuf));
+ regfree(®);
+ std::cout << "regexec error: " << errbuf << std::endl;
+ throw IllegalState("regexec error.");
+ }
+
+ const std::string header = version.substr(match[1].rm_so, match[1].rm_eo - match[1].rm_so);
+ const int majorno = mystoi(version.substr(match[2].rm_so, match[2].rm_eo - match[2].rm_so));
+ const int minorno = mystoi(version.substr(match[3].rm_so, match[3].rm_eo - match[3].rm_so));
+ const int patchno = mystoi(version.substr(match[4].rm_so, match[4].rm_eo - match[4].rm_so));
+
+ regfree(®);
+ return VersionInformation(header, majorno, minorno, patchno);
+#endif /* HAVE_BOOST_REGEX */
+}
+
+bool check_version_information(const std::string& version, const std::string& required)
+{
+ const VersionInformation vinfo1(parse_version_information(version));
+ const VersionInformation vinfo2(parse_version_information(required));
+ return (vinfo1.header == vinfo2.header
+ && vinfo1.majorno >= vinfo2.majorno
+ && vinfo1.minorno >= vinfo2.minorno
+ && vinfo1.patchno >= vinfo2.patchno);
+}
+
+} // extras
+
+} // ecell4
diff --git a/ecell4/core/extras.hpp b/ecell4/core/extras.hpp
new file mode 100644
index 0000000..27a48b0
--- /dev/null
+++ b/ecell4/core/extras.hpp
@@ -0,0 +1,112 @@
+#ifndef __ECELL4_EXTRAS_HPP
+#define __ECELL4_EXTRAS_HPP
+
+#include <boost/shared_ptr.hpp>
+#include <boost/scoped_ptr.hpp>
+
+#include <ecell4/core/config.h>
+
+#ifdef WITH_HDF5
+#include <hdf5.h>
+#include <H5Cpp.h>
+#endif
+
+#include "types.hpp"
+#include "Real3.hpp"
+#include "Species.hpp"
+#include "Particle.hpp"
+#include "AABB.hpp"
+#include "Model.hpp"
+
+
+namespace ecell4
+{
+
+namespace extras
+{
+
+template<typename Tworld_, typename Trng_>
+void throw_in_particles(
+ Tworld_& world, const Species& sp, const Integer& N,
+ const boost::shared_ptr<Shape> shape,
+ boost::shared_ptr<Trng_>& rng)
+{
+ typedef typename Tworld_::molecule_info_type molecule_info_type;
+ boost::shared_ptr<RandomNumberGenerator>
+ myrng(static_cast<boost::shared_ptr<RandomNumberGenerator> >(rng));
+
+ if (N < 0)
+ {
+ throw std::invalid_argument("the number of particles must be positive.");
+ }
+
+ // const Real3 edge_lengths(world.edge_lengths());
+ const molecule_info_type info(world.get_molecule_info(sp));
+
+ for (int i(0); i < N; ++i)
+ {
+ while (true)
+ {
+ // const Real3 pos(
+ // rng.uniform(0.0, edge_lengths[0]),
+ // rng.uniform(0.0, edge_lengths[1]),
+ // rng.uniform(0.0, edge_lengths[2]));
+ // if (world.list_particles_within_radius(pos, info.radius).size()
+ // == 0)
+ // {
+ // world.new_particle(Particle(sp, pos, info.radius, info.D));
+ // break;
+ // }
+ const Real3 pos(shape->draw_position(myrng));
+ if (world.new_particle(Particle(sp, pos, info.radius, info.D)).second)
+ {
+ break;
+ }
+ }
+ }
+}
+
+template<typename Tworld_, typename Trng_>
+void throw_in_particles(
+ Tworld_& world, const Species& sp, const Integer& N, boost::shared_ptr<Trng_>& rng)
+{
+ boost::shared_ptr<Shape> shape(new AABB(Real3(0, 0, 0), world.edge_lengths()));
+ throw_in_particles(world, sp, N, shape, rng);
+}
+
+template<typename Tfactory_>
+typename Tfactory_::world_type* generate_world_from_model(
+ const Tfactory_& f, const boost::shared_ptr<Model>& m)
+{
+ typename Tfactory_::world_type* w = f.create_world();
+ w->bind_to(m);
+ return w;
+}
+
+struct VersionInformation
+{
+ std::string header;
+ int majorno, minorno, patchno;
+
+ VersionInformation(
+ const std::string& header, const int majorno, const int minorno, const int patchno)
+ : header(header), majorno(majorno), minorno(minorno), patchno(patchno)
+ {
+ ;
+ }
+};
+
+VersionInformation parse_version_information(const std::string& version);
+bool check_version_information(const std::string& version, const std::string& required);
+
+#ifdef WITH_HDF5
+void save_version_information(H5::CommonFG* root, const std::string& version);
+std::string load_version_information(const H5::CommonFG& root);
+#endif
+std::string load_version_information(const std::string& filename);
+
+} // extras
+
+} // ecell4
+
+#endif // __ECELL4_EXTRAS_HPP
diff --git a/ecell4/core/functions.hpp b/ecell4/core/functions.hpp
new file mode 100644
index 0000000..8e26af2
--- /dev/null
+++ b/ecell4/core/functions.hpp
@@ -0,0 +1,116 @@
+#ifndef __ECELL4_FUNCTIONS_HPP
+#define __ECELL4_FUNCTIONS_HPP
+
+#include <cmath>
+#include <gsl/gsl_pow_int.h>
+
+#include <ecell4/core/config.h>
+
+#include "types.hpp"
+
+#include <sys/types.h>
+#include <sys/stat.h>
+
+#ifndef WIN32_MSC
+#include <string.h>
+#include <libgen.h>
+#else
+#include <io.h>
+#include <stdlib.h>
+#endif
+
+#include <iostream>
+#include <string>
+
+
+namespace ecell4
+{
+
+inline int64_t modulo(const int64_t& p1, const int64_t& p2)
+{
+ int64_t r = p1 % p2;
+ if (r != 0 && (r > 0) == (p2 < 0))
+ {
+ r += p2;
+ }
+ return r;
+}
+
+inline double modulo(const double& p1, const double& p2)
+{
+ double r = std::fmod(p1, p2);
+ if (r != 0 && (r > 0) == (p2 < 0))
+ {
+ r += p2;
+ }
+ return r;
+}
+
+inline int64_t abs(const int64_t& x)
+{
+ return (x > 0 ? x : -x);
+}
+
+inline double abs(const double& x)
+{
+ return std::fabs(x);
+}
+
+#ifndef WIN32_MSC
+inline double pow_2(const double x)
+{
+ return gsl_pow_2(x);
+}
+
+inline double pow_3(const double x)
+{
+ return gsl_pow_3(x);
+}
+
+inline double cbrt(const double x)
+{
+ return ::cbrt(x);
+}
+#else
+inline double pow_2(const double x)
+{
+ return x * x;
+}
+
+inline double pow_3(const double x)
+{
+ return x * x * x;
+}
+
+inline double cbrt(const double x)
+{
+ return pow(x, 1.0 / 3.0);
+}
+#endif
+
+/**
+ * Return if the root path of the given filename exists or not.
+ * boost::filesystem::is_directory might be better
+ * though it requires building.
+ */
+inline bool is_directory(const std::string& filename)
+{
+#ifndef WIN32_MSC
+ struct stat buf;
+ const int ret = stat(dirname(strdup(filename.c_str())), &buf);
+ return (ret == 0);
+#else
+ char drive[_MAX_DRIVE + 1], dir[_MAX_DIR + 1], path_dir[_MAX_PATH + 1], full[_MAX_PATH];
+ // struct _stat buf;
+ _fullpath(full, filename.c_str(), _MAX_PATH);
+ _splitpath(full, drive, dir, NULL, NULL);
+ _makepath(path_dir, drive, dir, NULL, NULL);
+ // const int ret = _stat(path_dir, &buf);
+ const int ret = _access(path_dir, 0);
+ return (ret == 0);
+#endif
+}
+
+}
+
+#endif /* __ECELL4_FUNCTIONS_HPP */
diff --git a/ecell4/core/get_mapper_mf.hpp b/ecell4/core/get_mapper_mf.hpp
new file mode 100644
index 0000000..8e3328c
--- /dev/null
+++ b/ecell4/core/get_mapper_mf.hpp
@@ -0,0 +1,60 @@
+#ifndef __ECELL4_UTILS_GET_MAPPER_MF_HPP
+#define __ECELL4_UTILS_GET_MAPPER_MF_HPP
+
+#include <ecell4/core/config.h>
+
+#if defined(HAVE_UNORDERED_MAP)
+#include <unordered_map>
+#elif defined(HAVE_TR1_UNORDERED_MAP)
+#include <tr1/unordered_map>
+#elif defined(HAVE_BOOST_UNORDERED_MAP_HPP)
+#include <boost/unordered_map.hpp>
+#else
+#include <map>
+#endif /* HAVE_UNORDERED_MAP */
+
+#include <vector>
+
+
+namespace ecell4
+{
+
+namespace utils
+{
+
+/**
+ a metafunction for generating a type for an efficient map algorithm.
+ in the current version of C++, the following line is not accepted:
+ template<typename Tkey_, typename Tval_>
+ typdef std::map<Tkey_, Tval_> map_type;
+ see http://www.boost.org/community/generic_programming.html#type_generator
+ */
+template<typename Tkey_, typename Tval_>
+struct get_mapper_mf
+{
+#if defined(HAVE_UNORDERED_MAP)
+ typedef std::unordered_map<Tkey_, Tval_> type;
+#elif defined(HAVE_TR1_UNORDERED_MAP)
+ typedef std::tr1::unordered_map<Tkey_, Tval_> type;
+#elif defined(HAVE_BOOST_UNORDERED_MAP_HPP)
+ typedef boost::unordered_map<Tkey_, Tval_> type;
+#else
+ typedef std::map<Tkey_, Tval_> type;
+#endif
+};
+
+template<typename Tmap_>
+void retrieve_keys(Tmap_ map, std::vector<typename Tmap_::key_type>& keys)
+{
+ for (typename Tmap_::const_iterator itr(map.begin());
+ itr != map.end(); ++itr)
+ {
+ keys.push_back(itr->first);
+ }
+}
+
+} // utils
+
+} // ecell4
+
+#endif /* __ECELL4_UTILS_GET_MAPPER_MF_HPP */
diff --git a/ecell4/core/hash.hpp b/ecell4/core/hash.hpp
new file mode 100644
index 0000000..ee829f1
--- /dev/null
+++ b/ecell4/core/hash.hpp
@@ -0,0 +1,29 @@
+#ifndef __ECELL4_HASH_HPP
+#define __ECELL4_HASH_HPP
+
+#if defined(HAVE_STD_HASH)
+
+#include <functional>
+#define ECELL4_DEFINE_HASH_BEGIN() namespace std {
+#define ECELL4_DEFINE_HASH_END() } // std
+
+#elif defined(HAVE_TR1_FUNCTIONAL)
+
+#include <tr1/functional>
+#define ECELL4_DEFINE_HASH_BEGIN() namespace std { namespace tr1 {
+#define ECELL4_DEFINE_HASH_END() } } // tr1 std
+
+#elif defined(HAVE_BOOST_FUNCTIONAL_HASH_HPP)
+
+#include <boost/functional/hash.hpp>
+#define ECELL4_DEFINE_HASH_BEGIN() namespace boost {
+#define ECELL4_DEFINE_HASH_END() } // boost
+
+#else
+
+#define ECELL4_DEFINE_HASH_BEGIN()
+#define ECELL4_DEFINE_HASH_END()
+
+#endif
+
+#endif /* __ECELL4_HASH_HPP */
diff --git a/ecell4/core/linear_algebra.hpp b/ecell4/core/linear_algebra.hpp
new file mode 100644
index 0000000..65577dc
--- /dev/null
+++ b/ecell4/core/linear_algebra.hpp
@@ -0,0 +1,48 @@
+#ifndef __ECELL4_LINEAR_ALGEBRA_HPP
+#define __ECELL4_LINEAR_ALGEBRA_HPP
+
+#include <algorithm>
+
+#include "Real3.hpp"
+
+namespace ecell4
+{
+
+/*
+
+#define CREATE_VECTOR_INNER_TPL(__z__, __n__, __d__) \
+ __d__[__n__] = BOOST_PP_CAT(p, __n__);
+
+#define CREATE_VECTOR_TPL(__z__, __n__, __d__) \
+
+template<typename T_> \
+inline T_ create_vector( \
+ BOOST_PP_ENUM_PARAMS(__n__, const typename element_type_of<T_>::type& p), \
+ typename boost::enable_if<is_vector<T_, __n__> >::type* = 0) \
+{ \
+ T_ retval; \
+ BOOST_PP_REPEAT_ ## __z__(__n__, CREATE_VECTOR_INNER_TPL, retval) \
+ return retval; \
+}
+
+BOOST_PP_REPEAT_FROM_TO(2, CREATE_VECTOR_LIMIT_REPEAT, CREATE_VECTOR_TPL, )
+
+#undef CREATE_VECTOR_TPL
+#undef CREATE_VECTOR_INNER_TPL
+
+template<typename T_>
+inline bool is_cartesian_vector(const Real3& vector)
+{
+ return (vector == create_vector<T_>(1, 0, 0) ||
+ vector == create_vector<T_>(0, 1, 0) ||
+ vector == create_vector<T_>(0, 0, 1) ||
+ vector == create_vector<T_>(-1, 0, 0) ||
+ vector == create_vector<T_>(0, -1, 0) ||
+ vector == create_vector<T_>(0, 0, -1));
+}
+
+*/
+
+} // ecell4
+
+#endif /* __ECELL4_LINEAR_ALGEBRA_HPP */
diff --git a/ecell4/core/observers.cpp b/ecell4/core/observers.cpp
new file mode 100644
index 0000000..86a43a0
--- /dev/null
+++ b/ecell4/core/observers.cpp
@@ -0,0 +1,629 @@
+#include "observers.hpp"
+
+
+namespace ecell4
+{
+
+const Real Observer::next_time() const
+{
+ return inf;
+}
+
+void Observer::initialize(const boost::shared_ptr<Space>& space)
+{
+ ;
+}
+
+void Observer::finalize(const boost::shared_ptr<Space>& space)
+{
+ ;
+}
+
+void Observer::reset()
+{
+ num_steps_ = 0;
+}
+
+bool Observer::fire(const Simulator* sim, const boost::shared_ptr<Space>& space)
+{
+ ++num_steps_;
+ return true;
+}
+
+const Integer Observer::num_steps() const
+{
+ return num_steps_;
+}
+
+const Real FixedIntervalObserver::next_time() const
+{
+ return t0_ + dt_ * count_;
+}
+
+const Integer FixedIntervalObserver::count() const
+{
+ return count_;
+}
+
+void FixedIntervalObserver::initialize(const boost::shared_ptr<Space>& space)
+{
+ base_type::initialize(space);
+
+ if (dt_ <= 0.0)
+ {
+ throw std::invalid_argument(
+ "A step interval of FixedIntervalObserver must be positive.");
+ }
+
+ if (count_ == 0)
+ {
+ t0_ = space->t();
+ }
+ else
+ {
+ while (next_time() < space->t())
+ {
+ ++count_;
+ }
+ }
+}
+
+bool FixedIntervalObserver::fire(const Simulator* sim, const boost::shared_ptr<Space>& space)
+{
+ ++count_;
+ return base_type::fire(sim, space);
+}
+
+void FixedIntervalObserver::reset()
+{
+ base_type::reset();
+ count_ = 0;
+ t0_ = 0.0; //DUMMY
+}
+
+void NumberLogger::log(const boost::shared_ptr<Space>& space)
+{
+ data_container_type::value_type tmp;
+ tmp.push_back(space->t());
+ for (species_container_type::const_iterator i(targets.begin());
+ i != targets.end(); ++i)
+ {
+ tmp.push_back(space->get_value(*i));
+ // tmp.push_back(space->num_molecules(*i));
+ }
+ data.push_back(tmp);
+}
+
+void NumberLogger::save(const std::string& filename) const
+{
+ if (!is_directory(filename))
+ {
+ throw NotFound("The output path does not exists.");
+ }
+
+ std::ofstream ofs(filename.c_str(), std::ios::out);
+ ofs << std::setprecision(17);
+
+ for (species_container_type::const_iterator i(targets.begin());
+ i != targets.end(); ++i)
+ {
+ ofs << ",\"" << (*i).serial() << "\"";
+ }
+ ofs << std::endl;
+
+ for (data_container_type::const_iterator i(data.begin());
+ i != data.end(); ++i)
+ {
+ std::vector<Real>::const_iterator j((*i).begin());
+ ofs << (*j);
+ ++j;
+
+ for (; j != (*i).end(); ++j)
+ {
+ ofs << "," << (*j);
+ }
+ ofs << std::endl;
+ }
+
+ ofs.close();
+}
+
+void FixedIntervalNumberObserver::initialize(const boost::shared_ptr<Space>& space)
+{
+ base_type::initialize(space);
+ logger_.initialize();
+}
+
+bool FixedIntervalNumberObserver::fire(const Simulator* sim, const boost::shared_ptr<Space>& space)
+{
+ logger_.log(space);
+ return base_type::fire(sim, space);
+}
+
+void FixedIntervalNumberObserver::reset()
+{
+ logger_.reset();
+ base_type::reset();
+}
+
+NumberLogger::data_container_type FixedIntervalNumberObserver::data() const
+{
+ return logger_.data;
+}
+
+NumberLogger::species_container_type FixedIntervalNumberObserver::targets() const
+{
+ return logger_.targets;
+}
+
+void NumberObserver::initialize(const boost::shared_ptr<Space>& space)
+{
+ base_type::initialize(space);
+ logger_.initialize();
+ logger_.log(space);
+}
+
+void NumberObserver::finalize(const boost::shared_ptr<Space>& space)
+{
+ if (logger_.data.size() == 0 || logger_.data.back()[0] != space->t())
+ {
+ logger_.log(space);
+ }
+ base_type::finalize(space);
+}
+
+bool NumberObserver::fire(const Simulator* sim, const boost::shared_ptr<Space>& space)
+{
+ if (sim->check_reaction())
+ {
+ logger_.log(space);
+ return base_type::fire(sim, space);
+ }
+ return true;
+}
+
+void NumberObserver::reset()
+{
+ logger_.reset();
+ base_type::reset();
+}
+
+NumberLogger::data_container_type NumberObserver::data() const
+{
+ return logger_.data;
+}
+
+NumberLogger::species_container_type NumberObserver::targets() const
+{
+ return logger_.targets;
+}
+
+const Real TimingObserver::next_time() const
+{
+ if (count_ >= static_cast<Integer>(t_.size()))
+ {
+ return inf;
+ }
+ return t_[count_];
+}
+
+void TimingObserver::initialize(const boost::shared_ptr<Space>& space)
+{
+ while (next_time() < space->t())
+ {
+ ++count_;
+ }
+}
+
+bool TimingObserver::fire(const Simulator* sim, const boost::shared_ptr<Space>& space)
+{
+ ++num_steps_;
+ ++count_;
+ return true;
+}
+
+void TimingObserver::reset()
+{
+ num_steps_ = 0;
+ count_ = 0;
+}
+
+void TimingNumberObserver::initialize(const boost::shared_ptr<Space>& space)
+{
+ base_type::initialize(space);
+ logger_.initialize();
+}
+
+bool TimingNumberObserver::fire(const Simulator* sim, const boost::shared_ptr<Space>& space)
+{
+ logger_.log(space);
+ return base_type::fire(sim, space);
+}
+
+void TimingNumberObserver::reset()
+{
+ logger_.reset();
+ base_type::reset();
+}
+
+NumberLogger::data_container_type TimingNumberObserver::data() const
+{
+ return logger_.data;
+}
+
+NumberLogger::species_container_type TimingNumberObserver::targets() const
+{
+ return logger_.targets;
+}
+
+void FixedIntervalHDF5Observer::initialize(const boost::shared_ptr<Space>& space)
+{
+ base_type::initialize(space);
+}
+
+bool FixedIntervalHDF5Observer::fire(const Simulator* sim, const boost::shared_ptr<Space>& space)
+{
+ if (!is_directory(filename()))
+ {
+ throw NotFound("The output path does not exists.");
+ }
+
+ space->save(filename());
+
+ return base_type::fire(sim, space);
+}
+
+const std::string FixedIntervalHDF5Observer::filename(const Integer idx) const
+{
+ boost::format fmt(prefix_);
+
+ if (fmt.expected_args() == 0)
+ {
+ return fmt.str();
+ }
+ else
+ {
+ return (fmt % idx).str();
+ }
+}
+
+void FixedIntervalCSVObserver::initialize(const boost::shared_ptr<Space>& space)
+{
+ base_type::initialize(space);
+ logger_.initialize();
+}
+
+bool FixedIntervalCSVObserver::fire(const Simulator* sim, const boost::shared_ptr<Space>& space)
+{
+ log(space);
+ return base_type::fire(sim, space);
+}
+
+void FixedIntervalCSVObserver::log(const boost::shared_ptr<Space>& space)
+{
+ if (!is_directory(filename()))
+ {
+ throw NotFound("The output path does not exists.");
+ }
+
+ std::ofstream ofs(filename().c_str(), std::ios::out);
+ logger_.save(ofs, space);
+ ofs.close();
+}
+
+const std::string FixedIntervalCSVObserver::filename() const
+{
+ boost::format fmt(prefix_);
+
+ if (fmt.expected_args() == 0)
+ {
+ return fmt.str();
+ }
+ else
+ {
+ return (fmt % num_steps()).str();
+ }
+}
+
+void FixedIntervalCSVObserver::reset()
+{
+ logger_.reset();
+ base_type::reset();
+}
+
+void CSVObserver::initialize(const boost::shared_ptr<Space>& space)
+{
+ base_type::initialize(space);
+ logger_.initialize();
+ log(space);
+}
+
+bool CSVObserver::fire(const Simulator* sim, const boost::shared_ptr<Space>& space)
+{
+ const bool retval = base_type::fire(sim, space); // Increment num_steps_ first.
+ log(space);
+ return retval;
+}
+
+void CSVObserver::log(const boost::shared_ptr<Space>& space)
+{
+ if (!is_directory(filename()))
+ {
+ throw NotFound("The output path does not exists.");
+ }
+
+ std::ofstream ofs(filename().c_str(), std::ios::out);
+ logger_.save(ofs, space);
+ ofs.close();
+}
+
+const std::string CSVObserver::filename() const
+{
+ boost::format fmt(prefix_);
+
+ if (fmt.expected_args() == 0)
+ {
+ return fmt.str();
+ }
+ else
+ {
+ return (fmt % num_steps()).str();
+ }
+}
+
+void CSVObserver::reset()
+{
+ logger_.reset();
+ base_type::reset();
+}
+
+void TimeoutObserver::initialize(const boost::shared_ptr<Space>& space)
+{
+ base_type::initialize(space);
+ duration_ = 0.0;
+ time(&tstart_);
+}
+
+void TimeoutObserver::finalize(const boost::shared_ptr<Space>& space)
+{
+ base_type::finalize(space);
+ acc_ += duration_;
+}
+
+bool TimeoutObserver::fire(const Simulator* sim, const boost::shared_ptr<Space>& space)
+{
+ time_t tnow;
+ time(&tnow);
+ duration_ = difftime(tnow, tstart_);
+ if (duration_ >= interval_)
+ {
+ return false;
+ }
+ return true;
+}
+
+void TimeoutObserver::reset()
+{
+ base_type::reset();
+ duration_ = 0.0;
+ acc_ = 0.0;
+ time(&tstart_);
+}
+
+const Real FixedIntervalTrackingObserver::next_time() const
+{
+ return std::min(event_.next_time(), subevent_.next_time());
+}
+
+const Integer FixedIntervalTrackingObserver::num_steps() const
+{
+ return event_.num_steps + subevent_.num_steps;
+}
+
+const Integer FixedIntervalTrackingObserver::count() const
+{
+ return event_.count;
+}
+
+void FixedIntervalTrackingObserver::initialize(const boost::shared_ptr<Space>& space)
+{
+ event_.initialize(space->t());
+ subevent_.initialize(space->t());
+
+ if (pids_.size() == 0)
+ {
+ typedef std::vector<std::pair<ParticleID, Particle> > particle_id_pairs;
+ for (std::vector<Species>::const_iterator i(species_.begin());
+ i != species_.end(); ++i)
+ {
+ const Species& sp(*i);
+ particle_id_pairs const particles(space->list_particles_exact(sp));
+ pids_.reserve(pids_.size() + particles.size());
+ for (particle_id_pairs::const_iterator j(particles.begin());
+ j != particles.end(); ++j)
+ {
+ pids_.push_back((*j).first);
+ }
+ }
+
+ prev_positions_.clear();
+ prev_positions_.resize(pids_.size(), Real3(0, 0, 0));
+ trajectories_.clear();
+ trajectories_.resize(pids_.size(), std::vector<Real3>());
+ strides_.clear();
+ strides_.resize(pids_.size(), Real3(0, 0, 0));
+ t_.clear();
+ }
+}
+
+bool FixedIntervalTrackingObserver::fire(
+ const Simulator* sim, const boost::shared_ptr<Space>& space)
+{
+ if (subevent_.next_time() <= event_.next_time())
+ {
+ fire_subevent(sim, space);
+ }
+ else
+ {
+ fire_event(sim, space);
+ }
+ return true;
+}
+
+void FixedIntervalTrackingObserver::fire_subevent(
+ const Simulator* sim, const boost::shared_ptr<Space>& space)
+{
+ typedef std::vector<std::pair<ParticleID, Particle> > particle_id_pairs;
+
+ const Real3& edge_lengths(space->edge_lengths());
+
+ std::vector<Real3>::iterator j(prev_positions_.begin());
+ std::vector<Real3>::iterator k(strides_.begin());
+ for (std::vector<ParticleID>::iterator i(pids_.begin());
+ i != pids_.end(); ++i, ++j, ++k)
+ {
+ if ((*i) == ParticleID() || space->has_particle(*i))
+ {
+ continue;
+ }
+
+ const Real3 pos((*j) - (*k));
+ Real Lmin(threshold_);
+ ParticleID newpid;
+
+ for (std::vector<Species>::const_iterator l(species_.begin());
+ l != species_.end(); ++l)
+ {
+ const Species& sp(*l);
+ particle_id_pairs const particles(space->list_particles_exact(sp));
+ for (particle_id_pairs::const_iterator m(particles.begin());
+ m != particles.end(); ++m)
+ {
+ if (std::find(pids_.begin(), pids_.end(), (*m).first) == pids_.end())
+ {
+ const Real L(distance(pos, (*m).second.position(), edge_lengths));
+ if (L < Lmin)
+ {
+ Lmin = L;
+ newpid = (*m).first;
+ }
+ }
+ }
+ }
+
+ (*i) = newpid;
+ }
+
+ if (resolve_boundary_)
+ {
+ const Real3 edge_lengths(space->actual_lengths());
+ std::vector<Real3>::iterator j(prev_positions_.begin());
+ std::vector<Real3>::iterator k(strides_.begin());
+ for (std::vector<ParticleID>::const_iterator i(pids_.begin());
+ i != pids_.end(); ++i, ++j, ++k)
+ {
+ if ((*i) != ParticleID() && space->has_particle(*i))
+ {
+ Real3& stride(*k);
+ Real3 pos(stride + space->get_particle(*i).second.position());
+ if (subevent_.num_steps > 0)
+ {
+ const Real3& prev(*j);
+ for (unsigned int dim(0); dim != 3; ++dim)
+ {
+ const Real L(edge_lengths[dim]);
+ if (pos[dim] - prev[dim] >= L * 0.5)
+ {
+ stride[dim] -= L;
+ pos[dim] -= L;
+ }
+ else if (pos[dim] - prev[dim] <= L * -0.5)
+ {
+ stride[dim] += L;
+ pos[dim] += L;
+ }
+ }
+ }
+ (*j) = pos;
+ }
+ }
+ }
+
+ subevent_.fire();
+}
+
+void FixedIntervalTrackingObserver::fire_event(
+ const Simulator* sim, const boost::shared_ptr<Space>& space)
+{
+ t_.push_back(space->t());
+
+ const Real3 edge_lengths(space->actual_lengths());
+ std::vector<Real3>::const_iterator j(prev_positions_.begin());
+ std::vector<Real3>::const_iterator k(strides_.begin());
+ std::vector<std::vector<Real3> >::iterator l(trajectories_.begin());
+ for (std::vector<ParticleID>::const_iterator i(pids_.begin());
+ i != pids_.end(); ++i)
+ {
+ if (space->has_particle(*i))
+ {
+ const Real3& stride(*k);
+ Real3 pos(stride + space->get_particle(*i).second.position());
+
+ if (resolve_boundary_ && subevent_.num_steps > 0)
+ {
+ const Real3& prev(*j);
+
+ for (unsigned int dim(0); dim != 3; ++dim)
+ {
+ const Real L(edge_lengths[dim]);
+ if (pos[dim] - prev[dim] >= L * 0.5)
+ {
+ pos[dim] -= L;
+ }
+ else if (pos[dim] - prev[dim] <= L * -0.5)
+ {
+ pos[dim] += L;
+ }
+ }
+ }
+
+ (*l).push_back(pos);
+ }
+ ++j;
+ ++k;
+ ++l;
+ }
+
+ event_.fire();
+}
+
+void FixedIntervalTrackingObserver::reset()
+{
+ event_.reset();
+ subevent_.reset();
+
+ prev_positions_.clear();
+ prev_positions_.resize(pids_.size(), Real3(0, 0, 0));
+ trajectories_.clear();
+ trajectories_.resize(pids_.size(), std::vector<Real3>());
+ strides_.clear();
+ strides_.resize(pids_.size(), Real3(0, 0, 0));
+ t_.clear();
+}
+
+const std::vector<std::vector<Real3> >& FixedIntervalTrackingObserver::data() const
+{
+ return trajectories_;
+}
+
+const Integer FixedIntervalTrackingObserver::num_tracers() const
+{
+ return pids_.size();
+}
+
+const std::vector<Real>& FixedIntervalTrackingObserver::t() const
+{
+ return t_;
+}
+
+} // ecell4
diff --git a/ecell4/core/observers.hpp b/ecell4/core/observers.hpp
new file mode 100644
index 0000000..a70d860
--- /dev/null
+++ b/ecell4/core/observers.hpp
@@ -0,0 +1,1096 @@
+#ifndef __ECELL4_OBSERVER_HPP
+#define __ECELL4_OBSERVER_HPP
+
+#include "types.hpp"
+#include "functions.hpp"
+#include "Space.hpp"
+#include "Simulator.hpp"
+
+#include <fstream>
+#include <boost/format.hpp>
+#include <time.h>
+
+
+namespace ecell4
+{
+
+class Observer
+{
+public:
+
+ Observer(const bool e)
+ : every_(e), num_steps_(0)
+ {
+ ;
+ }
+
+ virtual ~Observer()
+ {
+ ; // do nothing
+ }
+
+ virtual const Real next_time() const;
+ virtual void initialize(const boost::shared_ptr<Space>& space);
+ virtual void finalize(const boost::shared_ptr<Space>& space);
+ virtual void reset();
+
+ virtual bool fire(const Simulator* sim, const boost::shared_ptr<Space>& space);
+ // virtual bool fire(const Simulator* sim, const boost::shared_ptr<Space>& space) = 0;
+
+ const Integer num_steps() const;
+
+ bool every()
+ {
+ return every_;
+ }
+
+private:
+
+ const bool every_;
+
+protected:
+
+ Integer num_steps_;
+};
+
+class FixedIntervalObserver
+ : public Observer
+{
+public:
+
+ typedef Observer base_type;
+
+public:
+
+ FixedIntervalObserver(const Real& dt)
+ : base_type(false), t0_(0.0), dt_(dt), count_(0)
+ {
+ ;
+ }
+
+ virtual ~FixedIntervalObserver()
+ {
+ ;
+ }
+
+ const Real next_time() const;
+ const Integer count() const;
+ virtual void initialize(const boost::shared_ptr<Space>& space);
+ virtual bool fire(const Simulator* sim, const boost::shared_ptr<Space>& space);
+ virtual void reset();
+
+protected:
+
+ Real t0_, dt_;
+ Integer count_;
+};
+
+struct NumberLogger
+{
+ typedef std::vector<std::vector<Real> > data_container_type;
+ typedef std::vector<Species> species_container_type;
+
+ NumberLogger(const std::vector<std::string>& species)
+ {
+ targets.reserve(species.size());
+ for (std::vector<std::string>::const_iterator i(species.begin());
+ i != species.end(); ++i)
+ {
+ targets.push_back(Species(*i));
+ }
+ }
+
+ ~NumberLogger()
+ {
+ ;
+ }
+
+ void initialize()
+ {
+ ;
+ }
+
+ void reset()
+ {
+ data.clear();
+ }
+
+ void log(const boost::shared_ptr<Space>& space);
+ void save(const std::string& filename) const;
+
+ data_container_type data;
+ species_container_type targets;
+};
+
+class FixedIntervalNumberObserver
+ : public FixedIntervalObserver
+{
+public:
+
+ typedef FixedIntervalObserver base_type;
+
+public:
+
+ FixedIntervalNumberObserver(const Real& dt, const std::vector<std::string>& species)
+ : base_type(dt), logger_(species)
+ {
+ ;
+ }
+
+ virtual ~FixedIntervalNumberObserver()
+ {
+ ;
+ }
+
+ virtual void initialize(const boost::shared_ptr<Space>& space);
+ virtual bool fire(const Simulator* sim, const boost::shared_ptr<Space>& space);
+ virtual void reset();
+ NumberLogger::data_container_type data() const;
+ NumberLogger::species_container_type targets() const;
+
+ void save(const std::string& filename) const
+ {
+ logger_.save(filename);
+ }
+
+protected:
+
+ NumberLogger logger_;
+};
+
+class NumberObserver
+ : public Observer
+{
+public:
+
+ typedef Observer base_type;
+
+public:
+
+ NumberObserver(const std::vector<std::string>& species)
+ : base_type(true), logger_(species)
+ {
+ ;
+ }
+
+ virtual ~NumberObserver()
+ {
+ ;
+ }
+
+ virtual void initialize(const boost::shared_ptr<Space>& space);
+ virtual void finalize(const boost::shared_ptr<Space>& space);
+ virtual bool fire(const Simulator* sim, const boost::shared_ptr<Space>& space);
+ virtual void reset();
+ NumberLogger::data_container_type data() const;
+ NumberLogger::species_container_type targets() const;
+
+ void save(const std::string& filename) const
+ {
+ logger_.save(filename);
+ }
+
+protected:
+
+ NumberLogger logger_;
+};
+
+class TimingObserver
+ : public Observer
+{
+public:
+
+ typedef Observer base_type;
+
+public:
+
+ TimingObserver(const std::vector<Real>& t)
+ : base_type(false), t_(t), num_steps_(0), count_(0)
+ {
+ ;
+ }
+
+ virtual ~TimingObserver()
+ {
+ ;
+ }
+
+ const Real next_time() const;
+
+ const Integer num_steps() const
+ {
+ return num_steps_;
+ }
+
+ virtual void initialize(const boost::shared_ptr<Space>& space);
+ virtual bool fire(const Simulator* sim, const boost::shared_ptr<Space>& space);
+ virtual void reset();
+
+protected:
+
+ std::vector<Real> t_;
+ Integer num_steps_;
+ Integer count_;
+};
+
+class TimingNumberObserver
+ : public TimingObserver
+{
+public:
+
+ typedef TimingObserver base_type;
+
+public:
+
+ TimingNumberObserver(
+ const std::vector<Real>& t, const std::vector<std::string>& species)
+ : base_type(t), logger_(species)
+ {
+ ;
+ }
+
+ virtual ~TimingNumberObserver()
+ {
+ ;
+ }
+
+ virtual void initialize(const boost::shared_ptr<Space>& space);
+ virtual bool fire(const Simulator* sim, const boost::shared_ptr<Space>& space);
+ virtual void reset();
+ NumberLogger::data_container_type data() const;
+ NumberLogger::species_container_type targets() const;
+
+ void save(const std::string& filename) const
+ {
+ logger_.save(filename);
+ }
+
+protected:
+
+ NumberLogger logger_;
+};
+
+class FixedIntervalHDF5Observer
+ : public FixedIntervalObserver
+{
+public:
+
+ typedef FixedIntervalObserver base_type;
+
+public:
+
+ FixedIntervalHDF5Observer(const Real& dt, const std::string& filename)
+ : base_type(dt), prefix_(filename)
+ {
+ ;
+ }
+
+ virtual ~FixedIntervalHDF5Observer()
+ {
+ ;
+ }
+
+ virtual void initialize(const boost::shared_ptr<Space>& space);
+ virtual bool fire(const Simulator* sim, const boost::shared_ptr<Space>& space);
+
+ inline const std::string filename() const
+ {
+ return filename(num_steps());
+ }
+
+ const std::string filename(const Integer idx) const;
+
+ const std::string& prefix() const
+ {
+ return prefix_;
+ }
+
+protected:
+
+ std::string prefix_;
+};
+
+struct PositionLogger
+{
+ typedef std::vector<std::pair<ParticleID, Particle> >
+ particle_container_type;
+ typedef utils::get_mapper_mf<Species::serial_type, unsigned int>::type
+ serial_map_type;
+
+ PositionLogger(const std::vector<std::string>& species)
+ : species(species), header("x,y,z,r,sid"), formatter("%2%,%3%,%4%,%5%,%8%"), serials()
+ {
+ ;
+ }
+
+ PositionLogger()
+ : species(), header("x,y,z,r,sid"), formatter("%2%,%3%,%4%,%5%,%8%"), serials()
+ {
+ ;
+ }
+
+ ~PositionLogger()
+ {
+ ;
+ }
+
+ void initialize()
+ {
+ ;
+ }
+
+ void reset()
+ {
+ ;
+ }
+
+ void write_particles(
+ std::ofstream& ofs, const Real t, const particle_container_type& particles,
+ const Species::serial_type label = "")
+ {
+ for(particle_container_type::const_iterator i(particles.begin());
+ i != particles.end(); ++i)
+ {
+ const ParticleID& pid((*i).first);
+ const Real3 pos((*i).second.position());
+ const Real radius((*i).second.radius());
+ const Species::serial_type serial(
+ label == "" ? (*i).second.species_serial() : label);
+
+ unsigned int idx;
+ serial_map_type::iterator j(serials.find(serial));
+ if (j == serials.end())
+ {
+ idx = serials.size();
+ serials.insert(std::make_pair(serial, idx));
+ }
+ else
+ {
+ idx = (*j).second;
+ }
+
+ boost::format fmt(formatter);
+ ofs << (fmt % t % pos[0] % pos[1] % pos[2] % radius
+ % pid.lot() % pid.serial() % idx).str() << std::endl;
+ }
+ }
+
+ void save(std::ofstream& ofs, const boost::shared_ptr<Space>& space)
+ {
+ ofs << std::setprecision(17);
+
+ if (header.size() > 0)
+ {
+ ofs << header << std::endl;
+ }
+
+ if (species.size() == 0)
+ {
+ const particle_container_type particles(space->list_particles());
+ write_particles(ofs, space->t(), particles);
+ }
+ else
+ {
+ for (std::vector<std::string>::const_iterator i(species.begin());
+ i != species.end(); ++i)
+ {
+ const Species sp(*i);
+ const particle_container_type particles(space->list_particles(sp));
+ write_particles(ofs, space->t(), particles, *i);
+ }
+ }
+ }
+
+ std::vector<std::string> species;
+ std::string header, formatter;
+ serial_map_type serials;
+};
+
+class FixedIntervalCSVObserver
+ : public FixedIntervalObserver
+{
+public:
+
+ typedef FixedIntervalObserver base_type;
+
+ typedef std::vector<std::pair<ParticleID, Particle> >
+ particle_container_type;
+ typedef utils::get_mapper_mf<Species::serial_type, unsigned int>::type
+ serial_map_type;
+
+public:
+
+ FixedIntervalCSVObserver(
+ const Real& dt, const std::string& filename)
+ : base_type(dt), prefix_(filename), logger_()
+ {
+ ;
+ }
+
+ FixedIntervalCSVObserver(
+ const Real& dt, const std::string& filename,
+ const std::vector<std::string>& species)
+ : base_type(dt), prefix_(filename), logger_(species)
+ {
+ ;
+ }
+
+ virtual ~FixedIntervalCSVObserver()
+ {
+ ;
+ }
+
+ virtual void initialize(const boost::shared_ptr<Space>& space);
+ virtual bool fire(const Simulator* sim, const boost::shared_ptr<Space>& space);
+ void log(const boost::shared_ptr<Space>& space);
+ const std::string filename() const;
+ virtual void reset();
+
+ void set_header(const std::string& header)
+ {
+ logger_.header = header;
+ }
+
+ void set_formatter(const std::string& formatter)
+ {
+ logger_.formatter = formatter;
+ }
+
+protected:
+
+ std::string prefix_;
+ PositionLogger logger_;
+};
+
+class CSVObserver
+ : public Observer
+{
+public:
+
+ typedef Observer base_type;
+
+ typedef std::vector<std::pair<ParticleID, Particle> >
+ particle_container_type;
+ typedef utils::get_mapper_mf<Species::serial_type, unsigned int>::type
+ serial_map_type;
+
+public:
+
+ CSVObserver(
+ const std::string& filename)
+ : base_type(true), prefix_(filename), logger_()
+ {
+ ;
+ }
+
+ CSVObserver(
+ const std::string& filename,
+ const std::vector<std::string>& species)
+ : base_type(true), prefix_(filename), logger_(species)
+ {
+ ;
+ }
+
+ virtual ~CSVObserver()
+ {
+ ;
+ }
+
+ virtual void initialize(const boost::shared_ptr<Space>& space);
+ virtual bool fire(const Simulator* sim, const boost::shared_ptr<Space>& space);
+ void log(const boost::shared_ptr<Space>& space);
+ const std::string filename() const;
+ virtual void reset();
+
+ void set_header(const std::string& header)
+ {
+ logger_.header = header;
+ }
+
+ void set_formatter(const std::string& formatter)
+ {
+ logger_.formatter = formatter;
+ }
+
+protected:
+
+ std::string prefix_;
+ PositionLogger logger_;
+};
+
+struct TimingEvent
+{
+ TimingEvent(const std::vector<Real>& times)
+ : times(times), num_steps(0), count(0)
+ {
+ ;
+ }
+
+ TimingEvent()
+ : times(), num_steps(0), count(0)
+ {
+ ;
+ }
+
+ virtual ~TimingEvent()
+ {
+ ;
+ }
+
+ void set_times(const std::vector<Real>& value)
+ {
+ times = value;
+ }
+
+ const Real next_time() const
+ {
+ if (0 <= count && count < times.size())
+ {
+ return times[count];
+ }
+ return inf;
+ }
+
+ void reset()
+ {
+ num_steps = 0;
+ count = 0;
+ }
+
+ void initialize(const Real t)
+ {
+ while (next_time() < t)
+ {
+ ++count;
+ }
+ }
+
+ void fire()
+ {
+ ++num_steps;
+ ++count;
+ }
+
+public:
+
+ std::vector<Real> times;
+ Integer num_steps;
+ Integer count;
+};
+
+struct FixedIntervalEvent
+{
+ FixedIntervalEvent(const Real& dt = inf)
+ : t0(0.0), dt(dt), num_steps(0), count(0)
+ {
+ ;
+ }
+
+ virtual ~FixedIntervalEvent()
+ {
+ ;
+ }
+
+ void set_dt(const Real& value)
+ {
+ dt = value;
+ }
+
+ const Real next_time() const
+ {
+ return t0 + dt * count;
+ }
+
+ void reset()
+ {
+ num_steps = 0;
+ count = 0;
+ t0 = 0; //DUMMY
+ }
+
+ void initialize(const Real t)
+ {
+ if (dt <= 0.0)
+ {
+ throw std::invalid_argument(
+ "A step interval must be positive.");
+ }
+
+ if (count == 0)
+ {
+ t0 = t;
+ }
+ else
+ {
+ while (next_time() < t)
+ {
+ ++count;
+ }
+ }
+ }
+
+ void fire()
+ {
+ ++num_steps;
+ ++count;
+ }
+
+public:
+
+ Real t0, dt;
+ Integer num_steps;
+ Integer count;
+};
+
+template <typename Tevent_>
+class TrajectoryObserver
+ : public Observer
+{
+public:
+
+ typedef Observer base_type;
+ typedef Tevent_ event_type;
+
+public:
+
+ TrajectoryObserver(
+ const std::vector<ParticleID>& pids,
+ const bool resolve_boundary = default_resolve_boundary(),
+ const Real subdt = default_subdt())
+ : base_type(false), event_(), subevent_(subdt > 0 ? subdt : inf),
+ pids_(pids), resolve_boundary_(resolve_boundary), prev_positions_(),
+ trajectories_(pids.size()), strides_(pids.size()), t_()
+ {
+ ;
+ }
+
+ TrajectoryObserver(
+ const bool resolve_boundary = default_resolve_boundary(),
+ const Real subdt = default_subdt())
+ : base_type(false), event_(), subevent_(subdt > 0 ? subdt : inf),
+ pids_(), resolve_boundary_(resolve_boundary), prev_positions_(),
+ trajectories_(), strides_(), t_()
+ {
+ ;
+ }
+
+ virtual ~TrajectoryObserver()
+ {
+ ;
+ }
+
+ static inline bool default_resolve_boundary()
+ {
+ return true;
+ }
+
+ static inline const Real default_subdt()
+ {
+ return 0;
+ }
+
+ const Real next_time() const
+ {
+ return std::min(event_.next_time(), subevent_.next_time());
+ }
+
+ const Integer num_steps() const
+ {
+ return event_.num_steps + subevent_.num_steps;
+ }
+
+ const Integer count() const
+ {
+ return event_.count;
+ }
+
+ void initialize(const boost::shared_ptr<Space>& space)
+ {
+ event_.initialize(space->t());
+ subevent_.initialize(space->t());
+
+ typedef std::vector<std::pair<ParticleID, Particle> > particle_id_pairs;
+ if (pids_.size() == 0)
+ {
+ particle_id_pairs const particles(space->list_particles());
+ pids_.reserve(particles.size());
+ for (particle_id_pairs::const_iterator i(particles.begin());
+ i != particles.end(); ++i)
+ {
+ if ((*i).second.D() > 0)
+ {
+ pids_.push_back((*i).first);
+ }
+ }
+ }
+
+ prev_positions_.resize(pids_.size());
+ trajectories_.resize(pids_.size());
+ strides_.resize(pids_.size());
+ }
+
+ bool fire(const Simulator* sim, const boost::shared_ptr<Space>& space)
+ {
+ if (subevent_.next_time() <= event_.next_time())
+ {
+ fire_subevent(sim, space);
+ }
+ else
+ {
+ fire_event(sim, space);
+ }
+ return true;
+ }
+
+ void reset()
+ {
+ prev_positions_.clear();
+ prev_positions_.resize(pids_.size(), Real3(0, 0, 0));
+ trajectories_.clear();
+ trajectories_.resize(pids_.size(), std::vector<Real3>());
+ strides_.clear();
+ strides_.resize(pids_.size(), Real3(0, 0, 0));
+ t_.clear();
+ }
+
+ const std::vector<std::vector<Real3> >& data() const
+ {
+ return trajectories_;
+ }
+
+ const Integer num_tracers() const
+ {
+ return pids_.size();
+ }
+
+ const std::vector<Real>& t() const
+ {
+ return t_;
+ }
+
+protected:
+
+ void fire_event(const Simulator* sim, const boost::shared_ptr<Space>& space)
+ {
+ t_.push_back(space->t());
+
+ const Real3 edge_lengths(space->actual_lengths());
+ std::vector<Real3>::const_iterator j(prev_positions_.begin());
+ std::vector<Real3>::const_iterator k(strides_.begin());
+ std::vector<std::vector<Real3> >::iterator l(trajectories_.begin());
+ for (std::vector<ParticleID>::const_iterator i(pids_.begin());
+ i != pids_.end(); ++i)
+ {
+ if (space->has_particle(*i))
+ {
+ const Real3& stride(*k);
+ Real3 pos(stride + space->get_particle(*i).second.position());
+
+ if (resolve_boundary_ && subevent_.num_steps > 0)
+ {
+ const Real3& prev(*j);
+
+ for (unsigned int dim(0); dim != 3; ++dim)
+ {
+ const Real L(edge_lengths[dim]);
+ if (pos[dim] - prev[dim] >= L * 0.5)
+ {
+ pos[dim] -= L;
+ }
+ else if (pos[dim] - prev[dim] <= L * -0.5)
+ {
+ pos[dim] += L;
+ }
+ }
+ }
+
+ (*l).push_back(pos);
+ }
+ ++j;
+ ++k;
+ ++l;
+ }
+
+ event_.fire();
+ }
+
+ void fire_subevent(const Simulator* sim, const boost::shared_ptr<Space>& space)
+ {
+ if (resolve_boundary_)
+ {
+ const Real3 edge_lengths(space->actual_lengths());
+ std::vector<Real3>::iterator j(prev_positions_.begin());
+ std::vector<Real3>::iterator k(strides_.begin());
+ for (std::vector<ParticleID>::const_iterator i(pids_.begin());
+ i != pids_.end(); ++i)
+ {
+ if (space->has_particle(*i))
+ {
+ Real3& stride(*k);
+ Real3 pos(stride + space->get_particle(*i).second.position());
+ if (subevent_.num_steps > 0)
+ {
+ const Real3& prev(*j);
+ for (unsigned int dim(0); dim != 3; ++dim)
+ {
+ const Real L(edge_lengths[dim]);
+ if (pos[dim] - prev[dim] >= L * 0.5)
+ {
+ stride[dim] -= L;
+ pos[dim] -= L;
+ }
+ else if (pos[dim] - prev[dim] <= L * -0.5)
+ {
+ stride[dim] += L;
+ pos[dim] += L;
+ }
+ }
+ }
+ (*j) = pos;
+ }
+ ++j;
+ ++k;
+ }
+ }
+
+ subevent_.fire();
+ }
+
+protected:
+
+ event_type event_;
+ FixedIntervalEvent subevent_;
+
+ std::vector<ParticleID> pids_;
+ bool resolve_boundary_;
+ std::vector<Real3> prev_positions_;
+ std::vector<std::vector<Real3> > trajectories_;
+ std::vector<Real3> strides_;
+ std::vector<Real> t_;
+};
+
+class FixedIntervalTrajectoryObserver
+ : public TrajectoryObserver<FixedIntervalEvent>
+{
+public:
+
+ typedef TrajectoryObserver<FixedIntervalEvent> base_type;
+
+public:
+
+ FixedIntervalTrajectoryObserver(
+ const Real& dt, const std::vector<ParticleID>& pids,
+ const bool resolve_boundary = default_resolve_boundary(),
+ const Real subdt = default_subdt())
+ : base_type(pids, resolve_boundary, (subdt > 0 ? subdt : dt))
+ {
+ event_.set_dt(dt);
+ }
+
+ FixedIntervalTrajectoryObserver(
+ const Real& dt,
+ const bool resolve_boundary = default_resolve_boundary(),
+ const Real subdt = default_subdt())
+ : base_type(resolve_boundary, (subdt > 0 ? subdt : dt))
+ {
+ event_.set_dt(dt);
+ }
+
+ virtual ~FixedIntervalTrajectoryObserver()
+ {
+ ;
+ }
+};
+
+class TimingTrajectoryObserver
+ : public TrajectoryObserver<TimingEvent>
+{
+public:
+
+ typedef TrajectoryObserver<TimingEvent> base_type;
+
+public:
+
+ TimingTrajectoryObserver(
+ const std::vector<Real>& t, const std::vector<ParticleID>& pids,
+ const bool resolve_boundary = default_resolve_boundary(),
+ const Real subdt = default_subdt())
+ : base_type(pids, resolve_boundary, subdt)
+ {
+ event_.set_times(t);
+ }
+
+ TimingTrajectoryObserver(
+ const std::vector<Real>& t,
+ const bool resolve_boundary = default_resolve_boundary(),
+ const Real subdt = default_subdt())
+ : base_type(resolve_boundary, subdt)
+ {
+ event_.set_times(t);
+ }
+
+ virtual ~TimingTrajectoryObserver()
+ {
+ ;
+ }
+};
+
+class TimeoutObserver
+ : public Observer
+{
+public:
+
+ typedef Observer base_type;
+
+public:
+
+ TimeoutObserver(const Real interval)
+ : base_type(true), interval_(interval), duration_(0.0)
+ {
+ ;
+ }
+
+ TimeoutObserver()
+ : base_type(true), interval_(inf), duration_(0.0), acc_(0.0)
+ {
+ ;
+ }
+
+ virtual ~TimeoutObserver()
+ {
+ ;
+ }
+
+ virtual void initialize(const boost::shared_ptr<Space>& space);
+ virtual void finalize(const boost::shared_ptr<Space>& space);
+ virtual bool fire(const Simulator* sim, const boost::shared_ptr<Space>& space);
+ virtual void reset();
+
+ const Real interval() const
+ {
+ return interval_;
+ }
+
+ const Real duration() const
+ {
+ return duration_;
+ }
+
+ const Real accumulation() const
+ {
+ return acc_;
+ }
+
+protected:
+
+ Real interval_;
+ Real duration_;
+ Real acc_;
+ time_t tstart_;
+};
+
+class FixedIntervalTrackingObserver
+ : public Observer
+{
+public:
+
+ typedef Observer base_type;
+
+public:
+
+ FixedIntervalTrackingObserver(
+ const Real& dt, const std::vector<Species>& species,
+ const bool& resolve_boundary = default_resolve_boundary(), const Real subdt = default_subdt(),
+ const Real threshold = default_threshold())
+ : base_type(false), event_(dt), subevent_(subdt > 0 ? subdt : dt),
+ species_(species), resolve_boundary_(resolve_boundary),
+ threshold_(threshold > 0 ? threshold : inf),
+ prev_positions_(), strides_(), pids_(), trajectories_(), t_()
+ {
+ ;
+ }
+
+ virtual ~FixedIntervalTrackingObserver()
+ {
+ ;
+ }
+
+ static inline bool default_resolve_boundary()
+ {
+ return true;
+ }
+
+ static inline const Real default_subdt()
+ {
+ return 0;
+ }
+
+ static inline const Real default_threshold()
+ {
+ return 0;
+ }
+
+ const Real next_time() const;
+ const Integer num_steps() const;
+ const Integer count() const;
+ const Integer num_tracers() const;
+ virtual void initialize(const boost::shared_ptr<Space>& space);
+ virtual bool fire(const Simulator* sim, const boost::shared_ptr<Space>& space);
+ virtual void reset();
+
+ const std::vector<std::vector<Real3> >& data() const;
+ const std::vector<Real>& t() const;
+
+ Real distance_sq(
+ const Real3& pos1, const Real3& pos2, const Real3& edge_lengths) const
+ {
+ Real retval(0);
+ for (Real3::size_type dim(0); dim < 3; ++dim)
+ {
+ const Real edge_length(edge_lengths[dim]);
+ const Real diff(pos2[dim] - pos1[dim]), half(edge_length * 0.5);
+
+ if (diff > half)
+ {
+ retval += pow_2(diff - edge_length);
+ }
+ else if (diff < -half)
+ {
+ retval += pow_2(diff + edge_length);
+ }
+ else
+ {
+ retval += pow_2(diff);
+ }
+ }
+ return retval;
+ }
+
+ inline Real distance(const Real3& pos1, const Real3& pos2, const Real3& edge_lengths) const
+ {
+ return std::sqrt(distance_sq(pos1, pos2, edge_lengths));
+ }
+
+protected:
+
+ void fire_event(const Simulator* sim, const boost::shared_ptr<Space>& space);
+ void fire_subevent(const Simulator* sim, const boost::shared_ptr<Space>& space);
+
+protected:
+
+ FixedIntervalEvent event_, subevent_;
+
+ std::vector<Species> species_;
+ bool resolve_boundary_;
+ Real threshold_;
+
+ std::vector<ParticleID> pids_;
+ std::vector<Real3> prev_positions_;
+ std::vector<Real3> strides_;
+ std::vector<std::vector<Real3> > trajectories_;
+ std::vector<Real> t_;
+};
+
+} // ecell4
+
+#endif /* __ECELL4_OBSEVER_HPP */
diff --git a/ecell4/core/shape_operators.hpp b/ecell4/core/shape_operators.hpp
new file mode 100644
index 0000000..6607e0b
--- /dev/null
+++ b/ecell4/core/shape_operators.hpp
@@ -0,0 +1,441 @@
+#ifndef __ECELL4_SHAPE_OPERATORS
+#define __ECELL4_SHAPE_OPERATORS
+
+#include "exceptions.hpp"
+#include "Shape.hpp"
+
+namespace ecell4
+{
+
+struct Surface
+ : public Shape
+{
+public:
+
+ Surface()
+ {
+ ;
+ }
+
+ Surface(const boost::shared_ptr<const Shape>& root)
+ : root_(root)
+ {
+ ;
+ }
+
+ Surface(const Surface& other)
+ : root_(other.root_)
+ {
+ ;
+ }
+
+ ~Surface()
+ {
+ ; // do nothing
+ }
+
+ virtual dimension_kind dimension() const
+ {
+ return TWO;
+ }
+
+ virtual Real is_inside(const Real3& coord) const
+ {
+ return root_->is_inside(coord);
+ }
+
+ virtual Real3 draw_position(
+ boost::shared_ptr<RandomNumberGenerator>& rng) const
+ {
+ throw NotSupported("draw_position is not supported.");
+ }
+
+ virtual bool test_AABB(const Real3& l, const Real3& u) const
+ {
+ throw NotSupported("test_AABB is not supported.");
+ }
+
+ virtual void bounding_box(
+ const Real3& edge_lengths, Real3& lower, Real3& upper) const
+ {
+ root_->bounding_box(edge_lengths, lower, upper);
+ }
+
+protected:
+
+ const boost::shared_ptr<const Shape> root_;
+};
+
+struct Union
+ : public Shape
+{
+public:
+
+ Union(const boost::shared_ptr<const Shape>& a,
+ const boost::shared_ptr<const Shape>& b)
+ : a_(a), b_(b)
+ {
+ ;
+ }
+
+ Union(const Union& other)
+ : a_(other.a_), b_(other.b_)
+ {
+ ;
+ }
+
+ ~Union()
+ {
+ ; // do nothing
+ }
+
+ virtual dimension_kind dimension() const
+ {
+ return a_->dimension();
+ }
+
+ virtual Real is_inside(const Real3& coord) const
+ {
+ const Real retval1 = a_->is_inside(coord);
+ const Real retval2 = b_->is_inside(coord);
+ return std::min(retval1, retval2);
+ }
+
+ virtual Real3 draw_position(
+ boost::shared_ptr<RandomNumberGenerator>& rng) const
+ {
+ throw NotImplemented("not implemented yet");
+ }
+
+ virtual bool test_AABB(const Real3& l, const Real3& u) const
+ {
+ return (a_->test_AABB(l, u) || b_->test_AABB(l, u));
+ }
+
+ virtual void bounding_box(
+ const Real3& edge_lengths, Real3& lower, Real3& upper) const
+ {
+ a_->bounding_box(edge_lengths, lower, upper);
+
+ Real3 l, u;
+ b_->bounding_box(edge_lengths, l, u);
+ for (unsigned int dim(0); dim < 3; ++dim)
+ {
+ lower[dim] = std::min(lower[dim], l[dim]);
+ upper[dim] = std::max(upper[dim], u[dim]);
+ }
+ }
+
+ Surface surface() const
+ {
+ if (dimension() == TWO)
+ {
+ throw NotSupported("This union object is two-dimensional");
+ }
+ return Surface(boost::shared_ptr<Shape>(new Union(*this)));
+ }
+
+protected:
+
+ const boost::shared_ptr<const Shape> a_;
+ const boost::shared_ptr<const Shape> b_;
+};
+
+struct Complement
+ : public Shape
+{
+public:
+
+ Complement(const boost::shared_ptr<const Shape>& a,
+ const boost::shared_ptr<const Shape>& b)
+ : a_(a), b_(b)
+ {
+ ;
+ }
+
+ Complement(const Complement& other)
+ : a_(other.a_), b_(other.b_)
+ {
+ ;
+ }
+
+ ~Complement()
+ {
+ ; // do nothing
+ }
+
+ virtual dimension_kind dimension() const
+ {
+ return a_->dimension();
+ }
+
+ virtual Real is_inside(const Real3& coord) const
+ {
+ if (b_->is_inside(coord) > 0)
+ {
+ return a_->is_inside(coord);
+ }
+ else
+ {
+ return inf;
+ }
+ }
+
+ virtual Real3 draw_position(
+ boost::shared_ptr<RandomNumberGenerator>& rng) const
+ {
+ throw NotImplemented("not implemented yet");
+ }
+
+ virtual bool test_AABB(const Real3& l, const Real3& u) const
+ {
+ return (a_->test_AABB(l, u) && !b_->test_AABB(l, u));
+ }
+
+ virtual void bounding_box(
+ const Real3& edge_lengths, Real3& lower, Real3& upper) const
+ {
+ return a_->bounding_box(edge_lengths, lower, upper);
+ }
+
+ Surface surface() const
+ {
+ if (dimension() == TWO)
+ {
+ throw NotSupported("This complement object is two-dimensional");
+ }
+ return Surface(boost::shared_ptr<Shape>(new Complement(*this)));
+ }
+
+protected:
+
+ const boost::shared_ptr<const Shape> a_;
+ const boost::shared_ptr<const Shape> b_;
+};
+
+struct AffineTransformation
+ : public Shape
+{
+public:
+
+ AffineTransformation()
+ : root_(), a0_(1, 0, 0), a1_(0, 1, 0), a2_(0, 0, 1), b_()
+ {
+ ;
+ }
+
+ AffineTransformation(const boost::shared_ptr<const Shape>& root)
+ : root_(root), a0_(1, 0, 0), a1_(0, 1, 0), a2_(0, 0, 1), b_()
+ {
+ ;
+ }
+
+ AffineTransformation(const AffineTransformation& other)
+ : root_(other.root_),
+ a0_(other.a0_), a1_(other.a1_), a2_(other.a2_), b_(other.b_)
+ {
+ ;
+ }
+
+ ~AffineTransformation()
+ {
+ ; // do nothing
+ }
+
+ virtual dimension_kind dimension() const
+ {
+ return root_->dimension();
+ }
+
+ virtual Real is_inside(const Real3& pos) const
+ {
+ Real3 p(pos);
+ invmap(p);
+ return root_->is_inside(p);
+ }
+
+ virtual Real3 draw_position(
+ boost::shared_ptr<RandomNumberGenerator>& rng) const
+ {
+ Real3 pos = root_->draw_position(rng);
+ map(pos);
+ return pos;
+ }
+
+ virtual bool test_AABB(const Real3& l, const Real3& u) const
+ {
+ Real3 lower(l), upper(u);
+ invmap(lower);
+ invmap(upper);
+ return root_->test_AABB(lower, upper);
+ }
+
+ virtual void bounding_box(
+ const Real3& edge_lengths, Real3& lower, Real3& upper) const
+ {
+ root_->bounding_box(edge_lengths, lower, upper);
+ map(lower);
+ map(upper);
+ }
+
+ void translate(const Real3& b)
+ {
+ b_ += b;
+ }
+
+ void rescale(const Real3& a)
+ {
+ if (a[0] == 0 || a[1] == 0 || a[2] == 0)
+ {
+ throw std::invalid_argument(
+ "rescaling factors must be non-zero.");
+ }
+
+ a0_[0] *= a[0];
+ a0_[1] *= a[1];
+ a0_[2] *= a[2];
+ a1_[0] *= a[0];
+ a1_[1] *= a[1];
+ a1_[2] *= a[2];
+ a2_[0] *= a[0];
+ a2_[1] *= a[1];
+ a2_[2] *= a[2];
+ b_[0] *= a[0];
+ b_[1] *= a[1];
+ b_[2] *= a[2];
+ }
+
+ void xroll(const Real& theta)
+ {
+ const double c = cos(theta);
+ const double s = sin(theta);
+
+ double tmp;
+
+ tmp = a1_[0] * c - a2_[0] * s;
+ a2_[0] = a1_[0] * s + a2_[0] * c;
+ a1_[0] = tmp;
+
+ tmp = a1_[1] * c - a2_[1] * s;
+ a2_[1] = a1_[1] * s + a2_[1] * c;
+ a1_[1] = tmp;
+
+ tmp = a1_[2] * c - a2_[2] * s;
+ a2_[2] = a1_[2] * s + a2_[2] * c;
+ a1_[2] = tmp;
+
+ tmp = b_[1] * c - b_[2] * s;
+ b_[2] = b_[1] * s + b_[2] * c;
+ b_[1] = tmp;
+ }
+
+ void yroll(const Real& theta)
+ {
+ const double c = cos(theta);
+ const double s = sin(theta);
+
+ double tmp;
+
+ tmp = a0_[0] * c + a2_[0] * s;
+ a2_[0] = a0_[0] * -s + a2_[0] * c;
+ a0_[0] = tmp;
+
+ tmp = a0_[1] * c + a2_[1] * s;
+ a2_[1] = a0_[1] * -s + a2_[1] * c;
+ a0_[1] = tmp;
+
+ tmp = a0_[2] * c + a2_[2] * s;
+ a2_[2] = a0_[2] * -s + a2_[2] * c;
+ a0_[2] = tmp;
+
+ tmp = b_[0] * c + b_[2] * s;
+ b_[2] = b_[0] * -s + b_[2] * c;
+ b_[0] = tmp;
+ }
+
+ void zroll(const Real& theta)
+ {
+ const double c = cos(theta);
+ const double s = sin(theta);
+
+ double tmp;
+
+ tmp = a0_[0] * c - a1_[0] * s;
+ a1_[0] = a0_[0] * s + a1_[0] * c;
+ a0_[0] = tmp;
+
+ tmp = a0_[1] * c - a1_[1] * s;
+ a1_[1] = a0_[1] * s + a1_[1] * c;
+ a0_[1] = tmp;
+
+ tmp = a0_[2] * c - a1_[2] * s;
+ a1_[2] = a0_[2] * s + a1_[2] * c;
+ a0_[2] = tmp;
+
+ tmp = b_[0] * c - b_[1] * s;
+ b_[1] = b_[0] * s + b_[1] * c;
+ b_[0] = tmp;
+ }
+
+ Surface surface() const
+ {
+ if (dimension() == TWO)
+ {
+ throw NotSupported("This affine object is two-dimensional");
+ }
+ return Surface(
+ boost::shared_ptr<Shape>(new AffineTransformation(*this)));
+ }
+
+protected:
+
+ inline void map(Real3& p) const
+ {
+ p[0] = dot_product(p, a0_) + b_[0];
+ p[1] = dot_product(p, a1_) + b_[1];
+ p[2] = dot_product(p, a2_) + b_[2];
+ }
+
+ inline void invmap(Real3& p) const
+ {
+ double det = 0.0;
+ det += a0_[0] * a1_[1] * a2_[2];
+ det += a1_[0] * a2_[1] * a0_[2];
+ det += a2_[0] * a0_[1] * a1_[2];
+ det -= a2_[0] * a1_[1] * a0_[2];
+ det -= a1_[0] * a0_[1] * a2_[2];
+ det -= a0_[0] * a2_[1] * a1_[2];
+
+ if (det == 0)
+ {
+ throw IllegalState(
+ "The determinant of an Affine matrix is equal to zero.");
+ }
+
+ const Real3 inva0(a1_[1] * a2_[2] - a1_[2] * a2_[1],
+ a0_[2] * a2_[1] - a0_[1] * a2_[2],
+ a0_[1] * a1_[2] - a0_[2] * a1_[1]);
+ const Real3 inva1(a1_[2] * a2_[0] - a1_[0] * a2_[2],
+ a0_[0] * a2_[2] - a0_[2] * a2_[0],
+ a0_[2] * a1_[0] - a0_[0] * a1_[2]);
+ const Real3 inva2(a1_[0] * a2_[1] - a1_[1] * a2_[0],
+ a0_[1] * a2_[0] - a0_[0] * a2_[1],
+ a0_[0] * a1_[1] - a0_[1] * a1_[0]);
+
+ Real3 tmp = p - b_;
+ p[0] = dot_product(tmp, inva0) / det;
+ p[1] = dot_product(tmp, inva1) / det;
+ p[2] = dot_product(tmp, inva2) / det;
+ }
+
+protected:
+
+ const boost::shared_ptr<const Shape> root_;
+
+ Real3 a0_, a1_, a2_;
+ Real3 b_;
+};
+
+}
+
+#endif /* __ECELL4_SHAPE_OPERATORS */
diff --git a/ecell4/core/swap.hpp b/ecell4/core/swap.hpp
new file mode 100644
index 0000000..b8da060
--- /dev/null
+++ b/ecell4/core/swap.hpp
@@ -0,0 +1,23 @@
+#ifndef __ECELL4_UTILS_SWAP_HPP
+#define __ECELL4_UTILS_SWAP_HPP
+
+#include <cstring>
+
+namespace ecell4
+{
+
+template<typename T>
+void blit_swap(T& x, T& y)
+{
+ if (&x == &y)
+ return;
+ struct blob { unsigned char data[sizeof(T)]; };
+ blob b;
+ b = *reinterpret_cast<blob*>(&x);
+ *reinterpret_cast<blob*>(&x) = *reinterpret_cast<blob*>(&y);
+ *reinterpret_cast<blob*>(&y) = b;
+}
+
+} // ecell4
+
+#endif /* __ECELL4_UTILS_SWAP_HPP */
diff --git a/ecell4/core/tests/CMakeLists.txt b/ecell4/core/tests/CMakeLists.txt
new file mode 100644
index 0000000..78cc9d4
--- /dev/null
+++ b/ecell4/core/tests/CMakeLists.txt
@@ -0,0 +1,19 @@
+set(TEST_NAMES
+ Real3_test CompartmentSpace_test Species_test
+ ReactionRule_test NetworkModel_test NetfreeModel_test get_mapper_mf_test
+ EventScheduler_test Shape_test SubvolumeSpace_test extras_test
+ LatticeSpace_test OffLatticeSpace_test ParticleSpace_test)
+
+set(test_library_dependencies)
+find_library(BOOST_UNITTEST_FRAMEWORK_LIBRARY boost_unit_test_framework)
+if (BOOST_UNITTEST_FRAMEWORK_LIBRARY)
+ add_definitions(-DBOOST_TEST_DYN_LINK)
+ add_definitions(-DUNITTEST_FRAMEWORK_LIBRARY_EXIST)
+ set(test_library_dependencies boost_unit_test_framework)
+endif()
+
+foreach(TEST_NAME ${TEST_NAMES})
+ add_executable(${TEST_NAME} ${TEST_NAME}.cpp)
+ target_link_libraries(${TEST_NAME} ecell4-core ${test_library_dependencies} )
+ add_test(NAME ${TEST_NAME} COMMAND ${TEST_NAME})
+endforeach(TEST_NAME)
diff --git a/ecell4/core/tests/CompartmentSpace_test.cpp b/ecell4/core/tests/CompartmentSpace_test.cpp
new file mode 100644
index 0000000..fad1fac
--- /dev/null
+++ b/ecell4/core/tests/CompartmentSpace_test.cpp
@@ -0,0 +1,68 @@
+#define BOOST_TEST_MODULE "CompartmentSpace_test"
+
+#ifdef UNITTEST_FRAMEWORK_LIBRARY_EXIST
+# include <boost/test/unit_test.hpp>
+#else
+# define BOOST_TEST_NO_LIB
+# include <boost/test/included/unit_test.hpp>
+#endif
+
+#include <boost/test/test_case_template.hpp>
+
+// #include "../types.hpp"
+// #include "../CompartmentSpace.hpp"
+#include <ecell4/core/types.hpp>
+#include <ecell4/core/CompartmentSpace.hpp>
+
+using namespace ecell4;
+
+template<typename Timpl_>
+void CompartmentSpace_test_volume_template()
+{
+ const Real L(1e-6);
+ const Real3 edge_lengths(L, L, L);
+ Timpl_ target(edge_lengths);
+ const Real new_volume(2 * target.volume());
+ target.set_volume(new_volume);
+ BOOST_CHECK_EQUAL(target.volume(), new_volume);
+}
+
+BOOST_AUTO_TEST_CASE(CompartmentSpace_test_volume)
+{
+ CompartmentSpace_test_volume_template<CompartmentSpaceVectorImpl>();
+}
+
+template<typename Timpl_>
+void CompartmentSpace_test_species_template()
+{
+ const Real L(1e-6);
+ const Real3 edge_lengths(L, L, L);
+ Timpl_ target(edge_lengths);
+
+ Species sp1("A"), sp2("B"), sp3("C");
+ // target.add_species(sp1);
+ // target.add_species(sp2);
+ // BOOST_CHECK(target.has_species(sp1));
+ // BOOST_CHECK(target.has_species(sp2));
+ // BOOST_CHECK(!target.has_species(sp3));
+ // target.add_species(sp3);
+ // BOOST_CHECK(target.has_species(sp3));
+ // BOOST_CHECK(target.num_species() == 3);
+
+ // target.remove_species(sp2);
+ // BOOST_CHECK(!target.has_species(sp2));
+ // BOOST_CHECK_THROW(target.remove_species(sp2), NotFound);
+ // BOOST_CHECK(target.has_species(sp1));
+ // BOOST_CHECK(target.has_species(sp3));
+
+ BOOST_CHECK(target.num_molecules(sp1) == 0);
+ target.add_molecules(sp1, 30);
+ BOOST_CHECK(target.num_molecules(sp1) == 30);
+ target.remove_molecules(sp1, 10);
+ BOOST_CHECK(target.num_molecules(sp1) == 20);
+}
+
+BOOST_AUTO_TEST_CASE(CompartmentSpace_test_species)
+{
+ CompartmentSpace_test_species_template<CompartmentSpaceVectorImpl>();
+}
diff --git a/ecell4/core/tests/EventScheduler_test.cpp b/ecell4/core/tests/EventScheduler_test.cpp
new file mode 100644
index 0000000..d5c234c
--- /dev/null
+++ b/ecell4/core/tests/EventScheduler_test.cpp
@@ -0,0 +1,19 @@
+#define BOOST_TEST_MODULE "EventScheduler_test"
+
+#ifdef UNITTEST_FRAMEWORK_LIBRARY_EXIST
+# include <boost/test/unit_test.hpp>
+#else
+# define BOOST_TEST_NO_LIB
+# include <boost/test/included/unit_test.hpp>
+#endif
+
+#include <boost/test/floating_point_comparison.hpp>
+
+#include <ecell4/core/EventScheduler.hpp>
+
+using namespace ecell4;
+
+BOOST_AUTO_TEST_CASE(EventScheduler_test_constructor)
+{
+ EventScheduler scheduler;
+}
diff --git a/ecell4/core/tests/LatticeSpace_test.cpp b/ecell4/core/tests/LatticeSpace_test.cpp
new file mode 100644
index 0000000..b726c48
--- /dev/null
+++ b/ecell4/core/tests/LatticeSpace_test.cpp
@@ -0,0 +1,617 @@
+#define BOOST_TEST_MODULE "LatticeSpace_test"
+
+#ifdef UNITTEST_FRAMEWORK_LIBRARY_EXIST
+# include <boost/test/unit_test.hpp>
+#else
+# define BOOST_TEST_NO_LIB
+# include <boost/test/included/unit_test.hpp>
+#endif
+
+#include <boost/test/floating_point_comparison.hpp>
+
+#include <ecell4/core/MolecularType.hpp>
+#include <ecell4/core/VacantType.hpp>
+#include <ecell4/core/LatticeSpaceVectorImpl.hpp>
+#include <ecell4/core/SerialIDGenerator.hpp>
+
+using namespace ecell4;
+
+struct Fixture
+{
+ const Real3 edge_lengths;
+ const Real voxel_radius;
+ LatticeSpaceVectorImpl space;
+ SerialIDGenerator<ParticleID> sidgen;
+ const Real D, radius;
+ const Species sp;
+ Fixture() :
+ edge_lengths(2.5e-8, 2.5e-8, 2.5e-8),
+ voxel_radius(2.5e-9),
+ space(edge_lengths, voxel_radius, false),
+ sidgen(), D(1e-12), radius(2.5e-9),
+ sp("A", "2.5e-9", "1e-12")
+ {
+ }
+};
+
+BOOST_FIXTURE_TEST_SUITE(suite, Fixture)
+
+BOOST_AUTO_TEST_CASE(LatticeSpace_test_constructor)
+{
+ ;
+}
+
+BOOST_AUTO_TEST_CASE(LatticeSpace_test_num_species)
+{
+ BOOST_CHECK_EQUAL(space.num_species(), 0);
+}
+
+BOOST_AUTO_TEST_CASE(LatticeSpace_test_has_species)
+{
+ BOOST_CHECK(!space.has_species(sp));
+}
+
+BOOST_AUTO_TEST_CASE(LatticeSpace_test_update_particle)
+{
+ ParticleID id(sidgen());
+
+ Real3 pos(2e-8, 1.7e-8, 1.5e-8);
+ Real r(1.0);
+ Real d(2.3);
+ // Particle particle(sp, pos, r, d);
+ Voxel v(sp, space.position2coordinate(pos), r, D);
+
+ // BOOST_CHECK(space.update_particle(id, particle));
+ BOOST_CHECK(space.update_voxel(id, v));
+ BOOST_CHECK(space.has_species(sp));
+}
+
+BOOST_AUTO_TEST_CASE(LatticeSpace_test_num_particles)
+{
+ ParticleID id(sidgen());
+ Real3 pos(2e-8, 1.7e-8, 1.5e-8);
+ Real r(1.0), d(2.3);
+ // Particle particle(sp, pos, r, d);
+ Voxel v(sp, space.position2coordinate(pos), r, D);
+
+ ParticleID a_id(sidgen());
+ Species a(std::string("ANOTHER"));
+ Real3 pos1(1e-8, 2e-8, 1e-9);
+ Real r1(1.1);
+ Real d1(4.3);
+ // Particle another(a, pos1, r1, d1);
+ Voxel another(a, space.position2coordinate(pos1), r1, d1);
+
+ BOOST_CHECK(space.update_voxel(id, v));
+ BOOST_CHECK(space.update_voxel(a_id, another));
+ // BOOST_CHECK(space.update_particle(id, particle));
+ // BOOST_CHECK(space.update_particle(a_id, another));
+ BOOST_CHECK_EQUAL(space.num_particles(sp), 1);
+ BOOST_CHECK_EQUAL(space.num_particles(), 2);
+}
+
+BOOST_AUTO_TEST_CASE(LatticeSpace_test_list_particles)
+{
+ ParticleID id(sidgen());
+ Real3 pos(2e-8, 1.7e-8, 1.5e-8);
+ Real r(1.0), d(2.3);
+ // Particle particle(sp, pos, r, d);
+ Voxel v(sp, space.position2coordinate(pos), r, D);
+
+ ParticleID a_id(sidgen());
+ Species a(std::string("ANOTHER"));
+ Real3 pos1(1e-8, 2e-8, 1e-9);
+ Real r1(1.1);
+ Real d1(4.3);
+ // Particle another(a, pos1, r1, d1);
+ Voxel another(a, space.position2coordinate(pos1), r1, d1);
+
+ BOOST_CHECK(space.update_voxel(id, v));
+ BOOST_CHECK(space.update_voxel(a_id, another));
+ // BOOST_CHECK(space.update_particle(id, particle));
+ // BOOST_CHECK(space.update_particle(a_id, another));
+
+ typedef std::vector<std::pair<ParticleID, Particle> > vector;
+
+ vector test_list(space.list_particles(sp));
+ vector list(space.list_particles());
+ BOOST_CHECK_EQUAL(list.size(), 2);
+ BOOST_CHECK_EQUAL(test_list.size(), 1);
+}
+
+// BOOST_AUTO_TEST_CASE(LatticeSpace_test_register_species)
+// {
+// BOOST_CHECK(space.register_species(sp));
+// BOOST_CHECK(space.has_species(sp));
+//
+// std::vector<Species> list;
+// list.push_back(sp);
+//
+// BOOST_CHECK(list == space.list_species());
+// }
+
+BOOST_AUTO_TEST_CASE(LatticeSpace_test_coordinate_global_translation)
+{
+ for (Integer coord(0); coord < space.size(); ++coord)
+ {
+ const Integer3 global(space.coordinate2global(coord));
+ LatticeSpace::coordinate_type created_coord(space.global2coordinate(global));
+ BOOST_CHECK_EQUAL(coord, created_coord);
+ }
+}
+
+BOOST_AUTO_TEST_CASE(LatticeSpace_test_coordinate_position_translation)
+{
+ const Real3 origin_pos(space.coordinate2position(0));
+ BOOST_ASSERT(origin_pos[0] < 0);
+ BOOST_ASSERT(origin_pos[1] < 0);
+ BOOST_ASSERT(origin_pos[2] < 0);
+
+ const LatticeSpace::coordinate_type origin(
+ (space.col_size() + 3) * (space.row_size() + 2) + 1);
+ const Real3 origin_p(space.coordinate2position(origin));
+ BOOST_ASSERT(origin_p[0] == 0);
+ BOOST_ASSERT(origin_p[1] == 0);
+ BOOST_ASSERT(origin_p[2] == 0);
+
+ BOOST_ASSERT(space.num_neighbors(origin) == 12);
+ for (Integer i(0); i < 12; ++i)
+ {
+ const Real3 neighbor(
+ space.coordinate2position(space.get_neighbor(origin, i)));
+ BOOST_CHECK(origin_p != neighbor);
+ const LatticeSpace::coordinate_type coord(
+ space.position2coordinate(origin_p * 0.7 + neighbor * 0.3));
+ BOOST_CHECK_EQUAL(origin, coord);
+ }
+
+ Integer size(
+ (space.col_size()+2) * (space.layer_size() + 2) * (space.row_size() + 2));
+ for (LatticeSpace::coordinate_type coord(0); coord < size; ++coord)
+ {
+ const Real3 pos(space.coordinate2position(coord));
+ const Integer3 global(space.position2global(pos));
+ const LatticeSpace::coordinate_type created_coord(
+ space.position2coordinate(pos));
+ BOOST_CHECK_EQUAL(coord, created_coord);
+ }
+}
+
+BOOST_AUTO_TEST_CASE(LatticeSpace_test_add_remove_molecule)
+{
+ const LatticeSpace::coordinate_type coord(
+ space.global2coordinate(Integer3(3,4,5)));
+ ParticleID pid(sidgen());
+ BOOST_CHECK(space.update_voxel(
+ pid, Voxel(sp, coord, radius, D)));
+ BOOST_CHECK_EQUAL(space.num_particles(sp), 1);
+
+ const VoxelPool* mt(space.get_voxel_pool_at(coord));
+ BOOST_CHECK(!mt->is_vacant());
+
+ BOOST_CHECK(space.remove_voxel(coord));
+ const VoxelPool* vacant(space.get_voxel_pool_at(coord));
+ BOOST_CHECK(vacant->is_vacant());
+}
+
+BOOST_AUTO_TEST_CASE(LatticeSpace_test_move)
+{
+ const Integer3 global0(3,4,5);
+ const LatticeSpace::coordinate_type coord(
+ space.global2coordinate(global0));
+
+ ParticleID pid(sidgen());
+ BOOST_CHECK(space.update_voxel(
+ pid, Voxel(sp, coord, radius, D)));
+
+ VoxelPool* from_mt(space.get_voxel_pool_at(coord));
+ BOOST_CHECK(!from_mt->is_vacant());
+
+ const Integer3 global1(3,5,5);
+ const LatticeSpace::coordinate_type to_coord(
+ space.global2coordinate(global1));
+
+ BOOST_CHECK(space.move(coord, to_coord));
+
+ VoxelPool* mt(space.get_voxel_pool_at(to_coord));
+ BOOST_CHECK(!mt->is_vacant());
+
+ BOOST_CHECK(space.update_voxel(
+ sidgen(), Voxel(sp, coord, radius, D)));
+ BOOST_CHECK(!space.move(coord, to_coord));
+}
+
+BOOST_AUTO_TEST_CASE(LatticeSpace_test_update_molecule)
+{
+ Species reactant(std::string("Reactant")),
+ product(std::string("Product"));
+
+ const Integer3 global(3,4,5);
+ const LatticeSpace::coordinate_type coord(
+ space.global2coordinate(global));
+
+ ParticleID pid(sidgen());
+ BOOST_CHECK(space.update_voxel(
+ pid, Voxel(reactant, coord, radius, D)));
+ // space.update_voxel(
+ // Voxel(product, coord, radius, D));
+ BOOST_CHECK(space.remove_voxel(coord));
+ BOOST_CHECK(space.update_voxel(
+ pid, Voxel(product, coord, radius, D)));
+
+ const VoxelPool* mt(space.get_voxel_pool_at(coord));
+ BOOST_ASSERT(mt->species() == product);
+}
+
+BOOST_AUTO_TEST_CASE(LatticeSpace_test_update_voxel)
+{
+ const ParticleID pid(sidgen());
+ for (Integer inner_coord(0); inner_coord < space.inner_size(); ++inner_coord)
+ {
+ const LatticeSpace::coordinate_type
+ coord(space.inner2coordinate(inner_coord));
+ const Real3 pos(space.coordinate2position(coord));
+ const bool succeeded(
+ space.update_voxel(pid, Voxel(sp, coord, radius, D)));
+ BOOST_CHECK(succeeded == (inner_coord == 0));
+ BOOST_CHECK_EQUAL(space.num_particles(), 1);
+ std::pair<ParticleID, Particle> pair(space.list_particles()[0]);
+ BOOST_CHECK_EQUAL(pid, pair.first);
+ BOOST_CHECK_EQUAL(pos, pair.second.position());
+ BOOST_CHECK_EQUAL(radius, pair.second.radius());
+ BOOST_CHECK_EQUAL(D, pair.second.D());
+ //BOOST_CHECK_EQUAL(sp, pair.second.species());
+ //[TODO] Species is not comparable.
+ }
+}
+
+BOOST_AUTO_TEST_CASE(LatticeSpace_test_lattice_structure)
+{
+ for (Integer inner_coord(0); inner_coord < space.inner_size(); ++inner_coord)
+ {
+ ParticleID pid(sidgen());
+ const LatticeSpace::coordinate_type coord(
+ space.inner2coordinate(inner_coord));
+ BOOST_CHECK(space.update_voxel(
+ pid, Voxel(sp, coord, radius, D)));
+ }
+}
+
+BOOST_AUTO_TEST_CASE(LatticeSpace_test_neighbor)
+{
+ for (Integer inner_coord(0); inner_coord < space.inner_size(); ++inner_coord)
+ {
+ Real3 center(space.coordinate2position(space.inner2coordinate(inner_coord)));
+ BOOST_ASSERT(space.num_neighbors(space.inner2coordinate(inner_coord)) == 12);
+ for (int i(0); i < 12; ++i)
+ {
+ LatticeSpace::coordinate_type neighbor(
+ space.get_neighbor(space.inner2coordinate(inner_coord), i));
+ if (!space.is_inside(neighbor))
+ continue;
+ Real3 pos(space.coordinate2position(neighbor));
+ Real3 vec((pos-center)/voxel_radius/2);
+ Real r_ratio(length(pos-center)/voxel_radius/2);
+ BOOST_ASSERT(r_ratio < 1.0001);
+ }
+ }
+}
+
+BOOST_AUTO_TEST_SUITE_END()
+
+struct PeriodicFixture
+{
+ const Real3 edge_lengths;
+ const Real voxel_radius;
+ LatticeSpaceVectorImpl space;
+ SerialIDGenerator<ParticleID> sidgen;
+ const Real D, radius;
+ const Species sp;
+ PeriodicFixture() :
+ edge_lengths(2.5e-8, 2.5e-8, 2.5e-8),
+ voxel_radius(2.5e-9),
+ space(edge_lengths, voxel_radius, true),
+ sidgen(), D(1e-12), radius(2.5e-9),
+ sp(std::string("A"), "2.5e-9", "1e-12")
+ {
+ }
+};
+
+BOOST_FIXTURE_TEST_SUITE(periodic_suite, PeriodicFixture)
+
+BOOST_AUTO_TEST_CASE(LatticeSpace_test_periodic_col)
+{
+ std::cerr << " < periodic_col > ";
+ const int col_size(space.col_size()),
+ row_size(space.row_size()),
+ layer_size(space.layer_size());
+ for (int i(0); i < row_size; ++i)
+ for (int j(0); j < layer_size; ++j)
+ {
+ const LatticeSpace::coordinate_type coord(
+ space.global2coordinate(Integer3(0, i, j)));
+ BOOST_CHECK(space.update_voxel(
+ sidgen(), Voxel(sp, coord, radius, D)));
+ }
+
+ // from 0 to col_size-1
+ for (int i(0); i < row_size; ++i)
+ for (int j(0); j < layer_size; ++j)
+ {
+ const LatticeSpace::coordinate_type coord(
+ space.global2coordinate(Integer3(0, i, j)));
+ const Integer nrnd((j&1)==1?2:3);
+ std::pair<LatticeSpace::coordinate_type, bool> retval(
+ space.move_to_neighbor(coord, nrnd));
+ BOOST_CHECK(retval.second);
+ BOOST_CHECK_EQUAL(space.coordinate2global(retval.first).col,
+ col_size-1);
+ }
+
+ // from col_size-1 to 0
+ for (int i(0); i < row_size; ++i)
+ for (int j(0); j < layer_size; ++j)
+ {
+ const LatticeSpace::coordinate_type coord(
+ space.global2coordinate(Integer3(col_size-1, i, j)));
+ const Integer nrnd((j&1)==1?4:5);
+ std::pair<LatticeSpace::coordinate_type, bool> retval(
+ space.move_to_neighbor(coord, nrnd));
+ BOOST_CHECK(retval.second);
+ BOOST_CHECK_EQUAL(space.coordinate2global(retval.first).col, 0);
+ }
+}
+
+BOOST_AUTO_TEST_CASE(LatticeSpace_test_periodic_row)
+{
+ const int col_size(space.col_size()),
+ row_size(space.row_size()),
+ layer_size(space.layer_size());
+ for (int layer(0); layer < layer_size; ++layer)
+ for (int col(0); col < col_size; ++col)
+ {
+ const LatticeSpace::coordinate_type coord(
+ space.global2coordinate(Integer3(col, 0, layer)));
+ BOOST_CHECK(space.update_voxel(
+ sidgen(), Voxel(sp, coord, radius, D)));
+ }
+ // from 0 to row_size-1
+ int row(0);
+ for (int layer(0); layer < layer_size; ++layer)
+ for (int col(0); col < col_size; ++col)
+ {
+ const LatticeSpace::coordinate_type coord(
+ space.global2coordinate(Integer3(col, row, layer)));
+ const Integer nrnd(0);
+ std::pair<LatticeSpace::coordinate_type, bool> retval(
+ space.move_to_neighbor(coord, nrnd));
+ BOOST_CHECK(retval.second);
+ BOOST_CHECK_EQUAL(space.coordinate2global(retval.first).row,
+ row_size-1);
+ }
+ // from row_size-1 to 0
+ row = row_size - 1;
+ for (int layer(0); layer < layer_size; ++layer)
+ for (int col(0); col < col_size; ++col)
+ {
+ const LatticeSpace::coordinate_type coord(
+ space.global2coordinate(Integer3(col, row, layer)));
+ const Integer nrnd(1);
+ std::pair<LatticeSpace::coordinate_type, bool> retval(
+ space.move_to_neighbor(coord, nrnd));
+ BOOST_CHECK(retval.second);
+ BOOST_CHECK_EQUAL(space.coordinate2global(retval.first).row, 0);
+ }
+}
+
+BOOST_AUTO_TEST_CASE(LatticeSpace_test_periodic_layer)
+{
+ const int col_size(space.col_size()),
+ row_size(space.row_size()),
+ layer_size(space.layer_size());
+ int layer(0);
+ for (int row(0); row < row_size; ++row)
+ for (int col(0); col < col_size; ++col)
+ {
+ const LatticeSpace::coordinate_type coord(
+ space.global2coordinate(Integer3(col, row, layer)));
+ BOOST_CHECK(space.update_voxel(
+ sidgen(), Voxel(sp, coord, radius, D)));
+ }
+ // from 0 to layer_size-1
+ for (int row(0); row < row_size; ++row)
+ for (int col(0); col < col_size; ++col)
+ {
+ const LatticeSpace::coordinate_type coord(
+ space.global2coordinate(Integer3(col, row, layer)));
+ const Integer nrnd((col&1)==1?8:9);
+ std::pair<LatticeSpace::coordinate_type, bool> retval(
+ space.move_to_neighbor(coord, nrnd));
+ BOOST_CHECK(retval.second);
+ BOOST_CHECK_EQUAL(space.coordinate2global(retval.first).layer,
+ layer_size-1);
+ }
+ // from layer_size-1 to 0
+ layer = layer_size - 1;
+ for (int row(0); row < row_size; ++row)
+ for (int col(0); col < col_size; ++col)
+ {
+ const LatticeSpace::coordinate_type coord(
+ space.global2coordinate(Integer3(col, row, layer)));
+ const Integer nrnd((col&1)==1?10:11);
+ std::pair<LatticeSpace::coordinate_type, bool> retval(
+ space.move_to_neighbor(coord, nrnd));
+ BOOST_CHECK(retval.second);
+ BOOST_CHECK_EQUAL(space.coordinate2global(retval.first).layer, 0);
+ }
+}
+
+BOOST_AUTO_TEST_CASE(LatticeSpace_test_coordinates2)
+{
+ const Integer3 g1(4, 4, 4);
+ const LatticeSpace::coordinate_type pc1(space.global2coordinate(g1));
+ const Integer3 g3(space.coordinate2global(pc1));
+
+ BOOST_CHECK(g1.col == g3.col && g1.row == g3.row && g1.layer == g3.layer);
+
+ const Real3 p1(space.global2position(g1));
+ const Integer3 g4(space.position2global(p1));
+
+ BOOST_CHECK(g1.col == g4.col && g1.row == g4.row && g1.layer == g4.layer);
+ BOOST_CHECK_EQUAL(pc1, space.position2coordinate(p1));
+
+ const Real3 p2(space.coordinate2position(pc1));
+ BOOST_CHECK_EQUAL(pc1, space.position2coordinate(p2));
+}
+
+BOOST_AUTO_TEST_SUITE_END()
+
+struct StructureFixture
+{
+ const Real3 edge_lengths;
+ const Real voxel_radius;
+ LatticeSpaceVectorImpl space;
+ SerialIDGenerator<ParticleID> sidgen;
+ const Real D, radius;
+ const Species structure, sp;
+ StructureFixture() :
+ edge_lengths(2.5e-8, 2.5e-8, 2.5e-8),
+ voxel_radius(2.5e-9),
+ space(edge_lengths, voxel_radius, false),
+ sidgen(), D(1e-12), radius(2.5e-9),
+ structure("Structure", "2.5e-9", "0"),
+ sp("A", "2.5e-9", "1e-12", "Structure")
+ {
+ }
+};
+
+BOOST_FIXTURE_TEST_SUITE(structure_suite, StructureFixture)
+
+BOOST_AUTO_TEST_CASE(LatticeSpace_test_structure_update)
+{
+ const Real3 pos(2.7e-9, 1.3e-8, 2.0e-8);
+ BOOST_CHECK(space.update_structure(Particle(structure, pos, radius, D)));
+ BOOST_CHECK_EQUAL(space.list_particles().size(), 1);
+ ParticleID pid(sidgen());
+ //XXX: Particle has no information about the location.
+ //XXX: BOOST_CHECK(space.update_particle(pid, Particle(sp, pos, radius, D)));
+ BOOST_CHECK(space.update_voxel(
+ pid, Voxel(sp, space.position2coordinate(pos), radius, D, structure.serial())));
+ BOOST_CHECK_EQUAL(space.list_particles().size(), 1);
+ BOOST_CHECK_EQUAL(space.list_particles(sp).size(), 1);
+ BOOST_CHECK(space.remove_particle(pid));
+ BOOST_CHECK_EQUAL(space.list_particles().size(), 1); // TODO -> 0
+ BOOST_CHECK_EQUAL(space.list_particles(sp).size(), 0);
+
+ Species sp2("B", "2.5e-9", "1e-12");
+ BOOST_CHECK_THROW(
+ space.update_voxel(sidgen(), Voxel(sp2, space.position2coordinate(pos), radius, D)),
+ NotSupported);
+ // BOOST_CHECK_THROW(
+ // space.update_particle(sidgen(), Particle(sp2, pos, radius, D)),
+ // NotSupported);
+}
+
+BOOST_AUTO_TEST_CASE(LatticeSpace_test_structure_move)
+{
+ const Real3 pos1(2.7e-9, 1.3e-8, 2.0e-8);
+ const Real3 pos2(1.2e-8, 1.5e-8, 1.8e-8);
+ BOOST_CHECK(space.update_structure(Particle(structure, pos1, radius, D)));
+ BOOST_CHECK_EQUAL(space.list_particles().size(), 1);
+ BOOST_CHECK(space.update_structure(Particle(structure, pos2, radius, D)));
+ BOOST_CHECK_EQUAL(space.list_particles().size(), 2); // TODO -> 0
+
+ ParticleID pid(sidgen());
+ //XXX: BOOST_CHECK(space.update_particle(pid, Particle(sp, pos1, radius, D)));
+ BOOST_CHECK(space.update_voxel(
+ pid, Voxel(sp, space.position2coordinate(pos1), radius, D, structure.serial())));
+ BOOST_CHECK_EQUAL(space.list_particles(sp).size(), 1);
+ BOOST_CHECK_EQUAL(space.list_particles(structure).size(), 1);
+ BOOST_CHECK_EQUAL(space.list_particles().size(), 2); // TODO -> 1
+ const LatticeSpace::coordinate_type
+ coord1(space.position2coordinate(pos1)),
+ coord2(space.position2coordinate(pos2));
+ BOOST_CHECK(space.move(coord1, coord2));
+ BOOST_CHECK_EQUAL(space.list_particles(sp).size(), 1);
+ BOOST_CHECK_EQUAL(space.list_particles(structure).size(), 1);
+ BOOST_CHECK_EQUAL(space.list_particles().size(), 2); // TODO -> 1
+}
+
+#ifdef WITH_HDF5
+BOOST_AUTO_TEST_CASE(LatticeSpace_test_save_and_load)
+{
+
+ space.make_structure_type(structure, Shape::TWO, "");
+ const Integer l(space.layer_size()/2);
+ for (int c(0); c < space.col_size(); ++c)
+ for (int r(0); r < space.row_size(); ++r)
+ {
+ const Real3 pos(space.global2position(Integer3(c, r, l)));
+ BOOST_ASSERT(space.update_structure(Particle(structure, pos, radius, D)));
+ }
+
+ const LatticeSpace::coordinate_type
+ center(space.global2coordinate(Integer3(space.col_size()/2, space.row_size()/2, l))),
+ point(space.global2coordinate(Integer3(space.col_size()/2, space.row_size()/2, l-2)));
+ BOOST_ASSERT(space.update_voxel(sidgen(), Voxel(sp, center, radius, D, structure.serial())));
+ // #XXX !!!Warning!!! Ideally, not necessary to give structure.serial() explicitly
+ BOOST_ASSERT(space.update_voxel(sidgen(), Voxel(
+ Species("B", "2.5e-9", "1e-12"), point, 2.5e-9, 1e-12)));
+
+ H5::H5File fout("data.h5", H5F_ACC_TRUNC);
+ boost::scoped_ptr<H5::Group>
+ group(new H5::Group(fout.createGroup("LatticeSpace")));
+ space.save_hdf5(group.get());
+ fout.close();
+
+ LatticeSpaceVectorImpl space2(Real3(3e-8, 3e-8, 3e-8), voxel_radius);
+ H5::H5File fin("data.h5", H5F_ACC_RDONLY);
+ const H5::Group groupin(fin.openGroup("LatticeSpace"));
+ space2.load_hdf5(groupin);
+ fin.close();
+
+ BOOST_CHECK_EQUAL(space.edge_lengths(), space2.edge_lengths());
+ BOOST_CHECK_EQUAL(space.voxel_radius(), space2.voxel_radius());
+ BOOST_CHECK_EQUAL(space.is_periodic(), space2.is_periodic());
+ BOOST_CHECK_EQUAL(space.t(), space2.t());
+ BOOST_CHECK_EQUAL(space.num_particles(), space2.num_particles());
+ BOOST_CHECK_EQUAL(space.num_species(), space2.num_species());
+
+ std::vector<Species> species(space.list_species());
+ for (std::vector<Species>::const_iterator itr(species.begin());
+ itr != species.end(); ++itr)
+ {
+ const Species species((*itr).serial());
+
+ const VoxelPool *vp1(space.find_voxel_pool(species));
+ const VoxelPool *vp2(space2.find_voxel_pool(species));
+
+ BOOST_CHECK_EQUAL(vp1->radius(), vp2->radius());
+ BOOST_CHECK_EQUAL(vp1->D(), vp2->D());
+ BOOST_CHECK_EQUAL(vp1->get_dimension(), vp2->get_dimension());
+
+ const MolecularType* mtb1(dynamic_cast<const MolecularType*>(vp1));
+ const MolecularType* mtb2(dynamic_cast<const MolecularType*>(vp2));
+ BOOST_ASSERT((mtb1 && mtb2) || (!mtb1 && !mtb2));
+
+ if (!mtb1 || !mtb2)
+ {
+ continue;
+ }
+
+ MoleculePool::container_type voxels1, voxels2;
+ std::copy(mtb1->begin(), mtb1->end(), back_inserter(voxels1));
+ std::copy(mtb2->begin(), mtb2->end(), back_inserter(voxels2));
+ BOOST_ASSERT(voxels1.size() == voxels2.size());
+ std::sort(voxels1.begin(), voxels1.end());
+ std::sort(voxels2.begin(), voxels2.end());
+ for (int i(0); i < voxels1.size(); ++i)
+ {
+ BOOST_CHECK_EQUAL(voxels1.at(i).pid, voxels2.at(i).pid);
+ BOOST_CHECK_EQUAL(voxels1.at(i).coordinate, voxels2.at(i).coordinate);
+ }
+ }
+}
+#endif
+
+BOOST_AUTO_TEST_SUITE_END()
diff --git a/ecell4/core/tests/NetfreeModel_test.cpp b/ecell4/core/tests/NetfreeModel_test.cpp
new file mode 100644
index 0000000..7e326e7
--- /dev/null
+++ b/ecell4/core/tests/NetfreeModel_test.cpp
@@ -0,0 +1,256 @@
+#define BOOST_TEST_MODULE "NetfreeModel_test"
+
+#ifdef UNITTEST_FRAMEWORK_LIBRARY_EXIST
+# include <boost/test/unit_test.hpp>
+#else
+# define BOOST_TEST_NO_LIB
+# include <boost/test/included/unit_test.hpp>
+#endif
+
+#include <ecell4/core/exceptions.hpp>
+#include <ecell4/core/types.hpp>
+#include <ecell4/core/NetfreeModel.hpp>
+#include <ecell4/core/extras.hpp>
+
+using namespace ecell4;
+
+
+BOOST_AUTO_TEST_CASE(NetfreeModel_test_constructor)
+{
+ NetfreeModel model;
+}
+
+BOOST_AUTO_TEST_CASE(NetfreeModel_test_species)
+{
+ Species sp1("A"), sp2("B");
+
+ NetfreeModel model;
+ model.add_species_attribute(sp1);
+ model.add_species_attribute(sp2);
+ BOOST_CHECK(model.has_species_attribute(sp1));
+ BOOST_CHECK(model.has_species_attribute(sp2));
+ BOOST_CHECK_THROW(model.add_species_attribute(sp1), AlreadyExists);
+ model.remove_species_attribute(sp1);
+ BOOST_CHECK_THROW(model.remove_species_attribute(sp1), NotFound);
+}
+
+BOOST_AUTO_TEST_CASE(NetfreeModel_test_reaction_rule)
+{
+ Species sp1("A"), sp2("B"), sp3("C");
+
+ ReactionRule rr1, rr2, rr3;
+ rr1.add_reactant(sp1);
+ rr1.add_reactant(sp2);
+ rr1.add_product(sp3);
+ rr2.add_reactant(sp3);
+ rr2.add_product(sp1);
+ rr2.add_product(sp2);
+ rr3.add_reactant(sp1);
+ rr3.add_product(sp2);
+
+ NetfreeModel model;
+ model.add_reaction_rule(rr1);
+ model.add_reaction_rule(rr2);
+ BOOST_CHECK(model.has_reaction_rule(rr1));
+ BOOST_CHECK(model.has_reaction_rule(rr2));
+ BOOST_CHECK(!model.has_reaction_rule(rr3));
+ model.add_reaction_rule(rr3);
+ // BOOST_CHECK_THROW(model.add_reaction_rule(rr1), AlreadyExists); //XXX:
+ model.remove_reaction_rule(rr1);
+ BOOST_CHECK_THROW(model.remove_reaction_rule(rr1), NotFound);
+ model.remove_reaction_rule(rr3);
+ model.remove_reaction_rule(rr2);
+}
+
+BOOST_AUTO_TEST_CASE(NetfreeModel_test_query_reaction_rules1)
+{
+ Species sp1("A"), sp2("B"), sp3("C");
+
+ ReactionRule rr1, rr2, rr3, rr4;
+ rr1.add_reactant(sp1);
+ rr1.add_reactant(sp2);
+ rr1.add_product(sp3);
+ rr2.add_reactant(sp3);
+ rr2.add_product(sp1);
+ rr2.add_product(sp2);
+ rr3.add_reactant(sp1);
+ rr3.add_product(sp2);
+ rr4.add_reactant(sp1);
+ rr4.add_product(sp3);
+
+ NetfreeModel model;
+ model.add_reaction_rule(rr1);
+ model.add_reaction_rule(rr2);
+ model.add_reaction_rule(rr3);
+ model.add_reaction_rule(rr4);
+
+ BOOST_CHECK_EQUAL(model.query_reaction_rules(sp1).size(), 2);
+ BOOST_CHECK_EQUAL(model.query_reaction_rules(sp3).size(), 1);
+ BOOST_CHECK_EQUAL(model.query_reaction_rules(sp2).size(), 0);
+ BOOST_CHECK_EQUAL(model.query_reaction_rules(sp1, sp2).size(), 1);
+ BOOST_CHECK((*(model.query_reaction_rules(sp1, sp2).begin())) == rr1);
+}
+
+BOOST_AUTO_TEST_CASE(NetfreeModel_test_query_reaction_rules2)
+{
+ Species sp1("A"), sp2("B");
+
+ ReactionRule rr1;
+ rr1.add_reactant(sp1);
+ rr1.add_reactant(sp2);
+
+ NetfreeModel model;
+ model.add_reaction_rule(rr1);
+
+ BOOST_CHECK_EQUAL(model.query_reaction_rules(sp1, sp2).size(), 1);
+ BOOST_CHECK_EQUAL(model.query_reaction_rules(sp2, sp1).size(), 1);
+}
+
+BOOST_AUTO_TEST_CASE(NetfreeModel_generation1)
+{
+ NetfreeModel nfm;
+ nfm.add_reaction_rule(
+ create_synthesis_reaction_rule(Species("X(p,q=a)"), 1.0));
+ nfm.add_reaction_rule(
+ create_unimolecular_reaction_rule(Species("X(q=a)"), Species("X(q=b)"), 1.0));
+ nfm.add_reaction_rule(
+ create_unbinding_reaction_rule(
+ Species("X(p^1).X(p^1)"), Species("X(p)"), Species("X(p)"), 1.0));
+ nfm.add_reaction_rule(
+ create_binding_reaction_rule(
+ Species("X(p)"), Species("X(p)"), Species("X(p^1).X(p^1)"), 1.0));
+
+ std::vector<Species> seeds(1);
+ seeds[0] = Species("X(p^1,q=a).X(p^1,q=a)");
+ // seeds[1] = Species("X(p,q=a)");
+
+ boost::shared_ptr<Model> nwm(nfm.expand(seeds, 10));
+
+ // for (NetworkModel::reaction_rule_container_type::const_iterator
+ // i((*nwm).reaction_rules().begin()); i != (*nwm).reaction_rules().end(); ++i)
+ // {
+ // NetworkModel::reaction_rule_container_type::difference_type
+ // idx(std::distance((*nwm).reaction_rules().begin(), i));
+ // std::cout << "[" << idx << "]: " << (*i).as_string() << std::endl;
+ // }
+
+ BOOST_CHECK_EQUAL((*nwm).reaction_rules().size(), 10);
+}
+
+BOOST_AUTO_TEST_CASE(NetfreeModel_generation2)
+{
+ NetfreeModel nfm;
+ nfm.add_reaction_rule(
+ create_synthesis_reaction_rule(Species("X(l,r)"), 1.0));
+ nfm.add_reaction_rule(
+ create_binding_reaction_rule(
+ Species("X(r)"), Species("X(l)"), Species("X(r^1).X(l^1)"), 1.0));
+ nfm.add_reaction_rule(
+ create_unbinding_reaction_rule(
+ Species("X(r^1).X(l^1)"),Species("X(r)"), Species("X(l)"), 1.0));
+
+ std::vector<Species> seeds(0);
+ std::map<Species, Integer> max_stoich;
+ max_stoich[Species("X")] = 5;
+
+ boost::shared_ptr<Model> nwm(nfm.expand(seeds, 10, max_stoich));
+
+ // for (NetworkModel::reaction_rule_container_type::const_iterator
+ // i((*nwm).reaction_rules().begin()); i != (*nwm).reaction_rules().end(); ++i)
+ // {
+ // NetworkModel::reaction_rule_container_type::difference_type
+ // idx(std::distance((*nwm).reaction_rules().begin(), i));
+ // std::cout << "[" << idx << "]: " << (*i).as_string() << std::endl;
+ // }
+
+ BOOST_CHECK_EQUAL((*nwm).reaction_rules().size(), 13);
+}
+
+// BOOST_AUTO_TEST_CASE(NetfreeModel_query_reaction_rules3)
+// {
+// }
+
+BOOST_AUTO_TEST_CASE(NetfreeModel_generation3)
+{
+ NetfreeModel m1;
+ m1.add_reaction_rule(
+ create_binding_reaction_rule(
+ Species("A(r)"), Species("A(l)"), Species("A(r^1).A(l^1)"), 1.0));
+
+ std::vector<ReactionRule> const retval1 = m1.query_reaction_rules(Species("A(l, r)"), Species("A(l, r)"));
+ BOOST_CHECK_EQUAL(retval1.size(), 1);
+ BOOST_CHECK_EQUAL(retval1[0].k(), 2.0);
+ BOOST_CHECK_EQUAL(retval1[0].reactants().size(), 2);
+ BOOST_CHECK_EQUAL(retval1[0].reactants()[0], Species("A(l,r)"));
+ BOOST_CHECK_EQUAL(retval1[0].reactants()[1], Species("A(l,r)"));
+ BOOST_CHECK_EQUAL(retval1[0].products().size(), 1);
+ BOOST_CHECK_EQUAL(retval1[0].products()[0], Species("A(l,r^1).A(l^1,r)"));
+
+ std::vector<Species> seeds1(1, Species("A(l, r)"));
+ std::map<Species, Integer> max_stoich;
+ max_stoich[Species("A")] = 4;
+ boost::shared_ptr<Model> m2(m1.expand(seeds1, 100, max_stoich));
+ std::vector<ReactionRule> const& reaction_rules1 = m2->reaction_rules();
+ BOOST_CHECK_EQUAL(reaction_rules1.size(), 4);
+ BOOST_CHECK_EQUAL(reaction_rules1[0].k(), 2.0);
+ BOOST_CHECK_EQUAL(reaction_rules1[1].k(), 2.0);
+ BOOST_CHECK_EQUAL(reaction_rules1[2].k(), 2.0);
+ BOOST_CHECK_EQUAL(reaction_rules1[3].k(), 2.0);
+
+ NetfreeModel m3;
+ m3.add_reaction_rule(
+ create_binding_reaction_rule(
+ Species("A(r)"), Species("A(r)"), Species("A(r^1).A(r^1)"), 1.0));
+
+ std::vector<ReactionRule> const retval2 = m3.query_reaction_rules(Species("A(r)"), Species("A(r)"));
+ BOOST_CHECK_EQUAL(retval2.size(), 1);
+ BOOST_CHECK_EQUAL(retval2[0].k(), 1.0);
+ BOOST_CHECK_EQUAL(retval2[0].reactants().size(), 2);
+ BOOST_CHECK_EQUAL(retval2[0].reactants()[0], Species("A(r)"));
+ BOOST_CHECK_EQUAL(retval2[0].reactants()[1], Species("A(r)"));
+ BOOST_CHECK_EQUAL(retval2[0].products().size(), 1);
+ BOOST_CHECK_EQUAL(retval2[0].products()[0], Species("A(r^1).A(r^1)"));
+
+ std::vector<ReactionRule> const retval3 = m3.query_reaction_rules(Species("A(r=u)"), Species("A(r=p)"));
+ BOOST_CHECK_EQUAL(retval3.size(), 1);
+ BOOST_CHECK_EQUAL(retval3[0].k(), 1.0);
+ BOOST_CHECK_EQUAL(retval3[0].reactants().size(), 2);
+ BOOST_CHECK_EQUAL(retval3[0].reactants()[0], Species("A(r=u)"));
+ BOOST_CHECK_EQUAL(retval3[0].reactants()[1], Species("A(r=p)"));
+ BOOST_CHECK_EQUAL(retval3[0].products().size(), 1);
+ BOOST_CHECK_EQUAL(retval3[0].products()[0], Species("A(r=p^1).A(r=u^1)"));
+
+ NetfreeModel m4;
+ m4.add_reaction_rule(
+ create_binding_reaction_rule(
+ Species("_(b)"), Species("_(b)"), Species("_(b^1)._(b^1)"), 1.0));
+ m4.add_reaction_rule(
+ create_unbinding_reaction_rule(
+ Species("_(b^1)._(b^1)"), Species("_(b)"), Species("_(b)"), 1.0));
+
+ std::vector<ReactionRule> const retval4 = m4.query_reaction_rules(Species("A(b^1).A(b^1)"));
+ BOOST_CHECK_EQUAL(retval4.size(), 1);
+ BOOST_CHECK_EQUAL(retval4[0].k(), 1.0);
+ BOOST_CHECK_EQUAL(retval4[0].reactants().size(), 1);
+ BOOST_CHECK_EQUAL(retval4[0].reactants()[0], Species("A(b^1).A(b^1)"));
+ BOOST_CHECK_EQUAL(retval4[0].products().size(), 2);
+ BOOST_CHECK_EQUAL(retval4[0].products()[0], Species("A(b)"));
+ BOOST_CHECK_EQUAL(retval4[0].products()[1], Species("A(b)"));
+
+ std::vector<Species> seeds2(1, Species("A(b)"));
+ boost::shared_ptr<Model> m5(m4.expand(seeds2));
+ std::vector<ReactionRule> const& reaction_rules2 = m5->reaction_rules();
+ BOOST_CHECK_EQUAL(reaction_rules2.size(), 2);
+
+ std::vector<Species> seeds3(2);
+ seeds3[0] = Species("A(b)");
+ seeds3[1] = Species("B(b)");
+ boost::shared_ptr<Model> m6(m4.expand(seeds3));
+ std::vector<ReactionRule> const& reaction_rules3 = m6->reaction_rules();
+ BOOST_CHECK_EQUAL(reaction_rules3.size(), 6);
+ for (std::vector<ReactionRule>::const_iterator i(reaction_rules3.begin());
+ i != reaction_rules3.end(); ++i)
+ {
+ BOOST_CHECK_EQUAL((*i).k(), 1.0);
+ }
+}
diff --git a/ecell4/core/tests/NetworkModel_test.cpp b/ecell4/core/tests/NetworkModel_test.cpp
new file mode 100644
index 0000000..e9ca0d5
--- /dev/null
+++ b/ecell4/core/tests/NetworkModel_test.cpp
@@ -0,0 +1,106 @@
+#define BOOST_TEST_MODULE "NetworkModel_test"
+
+#ifdef UNITTEST_FRAMEWORK_LIBRARY_EXIST
+# include <boost/test/unit_test.hpp>
+#else
+# define BOOST_TEST_NO_LIB
+# include <boost/test/included/unit_test.hpp>
+#endif
+
+#include <ecell4/core/exceptions.hpp>
+#include <ecell4/core/types.hpp>
+#include <ecell4/core/NetworkModel.hpp>
+
+using namespace ecell4;
+
+
+BOOST_AUTO_TEST_CASE(NetworkModel_test_constructor)
+{
+ NetworkModel model;
+}
+
+BOOST_AUTO_TEST_CASE(NetworkModel_test_species)
+{
+ Species sp1("A"), sp2("B");
+
+ NetworkModel model;
+ model.add_species_attribute(sp1);
+ model.add_species_attribute(sp2);
+ BOOST_CHECK(model.has_species_attribute(sp1));
+ BOOST_CHECK(model.has_species_attribute(sp2));
+ BOOST_CHECK_THROW(model.add_species_attribute(sp1), AlreadyExists);
+ model.remove_species_attribute(sp1);
+ BOOST_CHECK_THROW(model.remove_species_attribute(sp1), NotFound);
+}
+
+BOOST_AUTO_TEST_CASE(NetworkModel_test_reaction_rule)
+{
+ Species sp1("A"), sp2("B"), sp3("C");
+
+ ReactionRule rr1, rr2, rr3;
+ rr1.add_reactant(sp1);
+ rr1.add_reactant(sp2);
+ rr1.add_product(sp3);
+ rr2.add_reactant(sp3);
+ rr2.add_product(sp1);
+ rr2.add_product(sp2);
+ rr3.add_reactant(sp1);
+ rr3.add_product(sp2);
+
+ NetworkModel model;
+ model.add_reaction_rule(rr1);
+ model.add_reaction_rule(rr2);
+ BOOST_CHECK(model.has_reaction_rule(rr1));
+ BOOST_CHECK(model.has_reaction_rule(rr2));
+ BOOST_CHECK(!model.has_reaction_rule(rr3));
+ model.add_reaction_rule(rr3);
+ // BOOST_CHECK_THROW(model.add_reaction_rule(rr1), AlreadyExists); //XXX:
+ model.remove_reaction_rule(rr1);
+ BOOST_CHECK_THROW(model.remove_reaction_rule(rr1), NotFound);
+ model.remove_reaction_rule(rr3);
+ model.remove_reaction_rule(rr2);
+}
+
+BOOST_AUTO_TEST_CASE(NetworkModel_test_query_reaction_rules1)
+{
+ Species sp1("A"), sp2("B"), sp3("C");
+
+ ReactionRule rr1, rr2, rr3, rr4;
+ rr1.add_reactant(sp1);
+ rr1.add_reactant(sp2);
+ rr1.add_product(sp3);
+ rr2.add_reactant(sp3);
+ rr2.add_product(sp1);
+ rr2.add_product(sp2);
+ rr3.add_reactant(sp1);
+ rr3.add_product(sp2);
+ rr4.add_reactant(sp1);
+ rr4.add_product(sp3);
+
+ NetworkModel model;
+ model.add_reaction_rule(rr1);
+ model.add_reaction_rule(rr2);
+ model.add_reaction_rule(rr3);
+ model.add_reaction_rule(rr4);
+
+ BOOST_CHECK_EQUAL(model.query_reaction_rules(sp1).size(), 2);
+ BOOST_CHECK_EQUAL(model.query_reaction_rules(sp3).size(), 1);
+ BOOST_CHECK_EQUAL(model.query_reaction_rules(sp2).size(), 0);
+ BOOST_CHECK_EQUAL(model.query_reaction_rules(sp1, sp2).size(), 1);
+ BOOST_CHECK((*(model.query_reaction_rules(sp1, sp2).begin())) == rr1);
+}
+
+BOOST_AUTO_TEST_CASE(NetworkModel_test_query_reaction_rules2)
+{
+ Species sp1("A"), sp2("B");
+
+ ReactionRule rr1;
+ rr1.add_reactant(sp1);
+ rr1.add_reactant(sp2);
+
+ NetworkModel model;
+ model.add_reaction_rule(rr1);
+
+ BOOST_CHECK_EQUAL(model.query_reaction_rules(sp1, sp2).size(), 1);
+ BOOST_CHECK_EQUAL(model.query_reaction_rules(sp2, sp1).size(), 1);
+}
diff --git a/ecell4/core/tests/OffLatticeSpace_test.cpp b/ecell4/core/tests/OffLatticeSpace_test.cpp
new file mode 100644
index 0000000..73b01c1
--- /dev/null
+++ b/ecell4/core/tests/OffLatticeSpace_test.cpp
@@ -0,0 +1,178 @@
+#define BOOST_TEST_MODULE "OffLatticeSpace_test"
+
+#ifdef UNITTEST_FRAMEWORK_LIBRARY_EXIST
+# include <boost/test/unit_test.hpp>
+#else
+# define BOOST_TEST_NO_LIB
+# include <boost/test/included/unit_test.hpp>
+#endif
+
+#include <boost/test/floating_point_comparison.hpp>
+
+#include <ecell4/core/OffLatticeSpace.hpp>
+#include <ecell4/core/SerialIDGenerator.hpp>
+
+using namespace ecell4;
+
+struct Fixture
+{
+ const Real voxel_radius;
+ const Species species;
+ const Voxel voxel;
+ OffLatticeSpace space;
+ SerialIDGenerator<ParticleID> sidgen;
+
+ Fixture() :
+ voxel_radius(2.5e-9),
+ species(/* serial = */ "SpeciesA",
+ /* radius = */ "2.5e-9",
+ /* D = */ "1e-12"),
+ voxel(/* species = */ species,
+ /* coordinate = */ 3,
+ /* radius = */ 2.5e-9,
+ /* D = */ 1e-12),
+ space(voxel_radius)
+ {
+ OffLatticeSpace::position_container positions;
+ const Real unit(voxel_radius / sqrt(3.0));
+ for (int i(0); i < 10; ++i)
+ positions.push_back(
+ Real3(unit * i, unit * i, unit * i));
+ OffLatticeSpace::coordinate_pair_list_type adjoining_pairs;
+ for (int i(1); i < 10; ++i )
+ adjoining_pairs.push_back(
+ std::make_pair(i-1, i));
+ space = OffLatticeSpace(voxel_radius, positions, adjoining_pairs);
+ }
+};
+
+BOOST_FIXTURE_TEST_SUITE(suite, Fixture)
+
+BOOST_AUTO_TEST_CASE(OffLatticeSpace_test_constructor) {}
+
+BOOST_AUTO_TEST_CASE(OffLatticeSpace_test_molecules)
+{
+ const ParticleID pid(sidgen());
+ space.update_voxel(pid, voxel);
+
+ BOOST_CHECK_EQUAL(space.num_molecules(species), 1);
+}
+
+BOOST_AUTO_TEST_CASE(OffLatticeSpace_test_voxelspacebase)
+{
+ const ParticleID pid(sidgen());
+ space.update_voxel(pid, voxel);
+
+ BOOST_CHECK_EQUAL(space.list_species().size(), 1);
+ BOOST_CHECK_EQUAL(space.num_voxels_exact(species), 1);
+ BOOST_CHECK_EQUAL(space.num_voxels(species), 1);
+ BOOST_CHECK_EQUAL(space.num_voxels(), 1);
+
+ BOOST_CHECK(space.has_voxel(pid));
+ BOOST_CHECK(!space.has_voxel(sidgen()));
+
+ BOOST_CHECK_EQUAL(space.list_voxels().size(), 1);
+ BOOST_CHECK_EQUAL(space.list_voxels(species).size(), 1);
+ BOOST_CHECK_EQUAL(space.list_voxels_exact(species).size(), 1);
+
+ BOOST_CHECK_EQUAL(space.list_voxels().at(0).first, pid);
+ BOOST_CHECK_EQUAL(space.list_voxels(species).at(0).first, pid);
+ BOOST_CHECK_EQUAL(space.list_voxels_exact(species).at(0).first, pid);
+
+ BOOST_CHECK_EQUAL(space.get_voxel(pid).first, pid);
+
+ BOOST_CHECK_NO_THROW(space.find_voxel_pool(species));
+ BOOST_CHECK(space.has_molecule_pool(species));
+ BOOST_CHECK_NO_THROW(space.find_molecule_pool(species));
+}
+
+BOOST_AUTO_TEST_CASE(OffLatticeSpace_test_voxel)
+{
+ const ParticleID pid(sidgen());
+
+ BOOST_CHECK(space.update_voxel(pid, voxel));
+ BOOST_CHECK(space.remove_voxel(pid));
+ BOOST_CHECK(!space.remove_voxel(3));
+
+ BOOST_CHECK(space.update_voxel(pid, voxel));
+ BOOST_CHECK(space.remove_voxel(3));
+ BOOST_CHECK(!space.remove_voxel(pid));
+}
+
+BOOST_AUTO_TEST_CASE(OffLatticeSpace_test_move)
+{
+ const ParticleID pid(sidgen());
+ BOOST_CHECK(space.update_voxel(pid, voxel));
+
+ BOOST_CHECK(space.can_move(3, 4));
+ BOOST_CHECK(space.move(3, 4, 0));
+ BOOST_CHECK_EQUAL(space.get_voxel_at(3).first, ParticleID());
+ BOOST_CHECK_EQUAL(space.get_voxel_at(4).first, pid);
+
+ BOOST_CHECK(!space.can_move(3, 4));
+
+ BOOST_CHECK(space.can_move(4, 5));
+ OffLatticeSpace::coordinate_id_pair_type info(pid, 4);
+ std::pair<OffLatticeSpace::coordinate_type, bool> result(
+ space.move_to_neighbor(
+ /* src_vp = */ space.get_voxel_pool_at(4),
+ /* loc = */ space.get_voxel_pool_at(4)->location(),
+ /* info = */ info,
+ /* nrand = */ 1));
+ BOOST_CHECK_EQUAL(result.first, 5);
+ BOOST_CHECK(result.second);
+ BOOST_CHECK_EQUAL(space.get_voxel_at(4).first, ParticleID());
+ BOOST_CHECK_EQUAL(space.get_voxel_at(5).first, pid);
+}
+
+BOOST_AUTO_TEST_CASE(OffLatticeSpace_test_at)
+{
+ BOOST_CHECK_EQUAL(space.size(), 10);
+
+ const ParticleID pid(sidgen());
+ BOOST_CHECK(space.update_voxel(pid, voxel));
+
+ BOOST_CHECK_NO_THROW(space.get_voxel_at(3));
+ BOOST_CHECK_EQUAL(space.get_voxel_at(3).first, pid);
+
+ BOOST_CHECK_NO_THROW(space.particle_at(3));
+ BOOST_CHECK_EQUAL(space.particle_at(3).species(), species);
+ BOOST_CHECK_EQUAL(space.particle_at(3).position(), space.coordinate2position(3));
+ BOOST_CHECK_EQUAL(space.particle_at(3).radius(), 2.5e-9);
+ BOOST_CHECK_EQUAL(space.particle_at(3).D(), 1e-12);
+}
+
+BOOST_AUTO_TEST_CASE(OffLatticeSpace_test_neighbor)
+{
+ BOOST_CHECK_EQUAL(space.num_neighbors(0), 1);
+ BOOST_CHECK_EQUAL(space.num_neighbors(1), 2);
+ BOOST_CHECK_EQUAL(space.num_neighbors(2), 2);
+ BOOST_CHECK_EQUAL(space.num_neighbors(3), 2);
+ BOOST_CHECK_EQUAL(space.num_neighbors(4), 2);
+ BOOST_CHECK_EQUAL(space.num_neighbors(5), 2);
+ BOOST_CHECK_EQUAL(space.num_neighbors(6), 2);
+ BOOST_CHECK_EQUAL(space.num_neighbors(7), 2);
+ BOOST_CHECK_EQUAL(space.num_neighbors(8), 2);
+ BOOST_CHECK_EQUAL(space.num_neighbors(9), 1);
+
+ BOOST_CHECK_EQUAL(space.get_neighbor(0, 0), 1);
+ BOOST_CHECK_EQUAL(space.get_neighbor(1, 0), 0);
+ BOOST_CHECK_EQUAL(space.get_neighbor(1, 1), 2);
+ BOOST_CHECK_EQUAL(space.get_neighbor(2, 0), 1);
+ BOOST_CHECK_EQUAL(space.get_neighbor(2, 1), 3);
+ BOOST_CHECK_EQUAL(space.get_neighbor(3, 0), 2);
+ BOOST_CHECK_EQUAL(space.get_neighbor(3, 1), 4);
+ BOOST_CHECK_EQUAL(space.get_neighbor(4, 0), 3);
+ BOOST_CHECK_EQUAL(space.get_neighbor(4, 1), 5);
+ BOOST_CHECK_EQUAL(space.get_neighbor(5, 0), 4);
+ BOOST_CHECK_EQUAL(space.get_neighbor(5, 1), 6);
+ BOOST_CHECK_EQUAL(space.get_neighbor(6, 0), 5);
+ BOOST_CHECK_EQUAL(space.get_neighbor(6, 1), 7);
+ BOOST_CHECK_EQUAL(space.get_neighbor(7, 0), 6);
+ BOOST_CHECK_EQUAL(space.get_neighbor(7, 1), 8);
+ BOOST_CHECK_EQUAL(space.get_neighbor(8, 0), 7);
+ BOOST_CHECK_EQUAL(space.get_neighbor(8, 1), 9);
+ BOOST_CHECK_EQUAL(space.get_neighbor(9, 0), 8);
+}
+
+BOOST_AUTO_TEST_SUITE_END()
diff --git a/ecell4/core/tests/ParticleSpace_test.cpp b/ecell4/core/tests/ParticleSpace_test.cpp
new file mode 100644
index 0000000..429a70f
--- /dev/null
+++ b/ecell4/core/tests/ParticleSpace_test.cpp
@@ -0,0 +1,150 @@
+#define BOOST_TEST_MODULE "ParticleSpace_test"
+
+#ifdef UNITTEST_FRAMEWORK_LIBRARY_EXIST
+# include <boost/test/unit_test.hpp>
+#else
+# define BOOST_TEST_NO_LIB
+# include <boost/test/included/unit_test.hpp>
+#endif
+
+#include <boost/test/floating_point_comparison.hpp>
+
+#include <ecell4/core/ParticleSpaceCellListImpl.hpp>
+#include <ecell4/core/SerialIDGenerator.hpp>
+
+using namespace ecell4;
+
+struct Fixture
+{
+ typedef ParticleSpaceCellListImpl particle_space_type;
+
+ const Real3 edge_lengths;
+ const Integer3 matrix_sizes;
+ const Real radius;
+
+ Fixture() :
+ edge_lengths(1, 1, 1),
+ matrix_sizes(5, 5, 5),
+ radius(0.005)
+ {}
+};
+
+BOOST_FIXTURE_TEST_SUITE(suite, Fixture)
+
+BOOST_AUTO_TEST_CASE(ParticleSpace_test_constructor)
+{
+ boost::scoped_ptr<ParticleSpace> space(new particle_space_type(edge_lengths, matrix_sizes));
+
+ BOOST_CHECK_EQUAL((*space).num_species(), 0);
+ BOOST_CHECK_EQUAL((*space).num_particles(), 0);
+ BOOST_CHECK_EQUAL((*space).edge_lengths(), edge_lengths);
+ BOOST_CHECK_EQUAL((*space).volume(), 1.0);
+ BOOST_CHECK_EQUAL((*space).t(), 0.0);
+}
+
+BOOST_AUTO_TEST_CASE(ParticleSpace_test_update_remove)
+{
+ boost::scoped_ptr<ParticleSpace> space(new particle_space_type(edge_lengths, matrix_sizes));
+ SerialIDGenerator<ParticleID> pidgen;
+
+ const ParticleID pid1 = pidgen();
+ const Species sp1 = Species("A");
+ const Species sp2 = Species("B");
+
+ BOOST_CHECK((*space).update_particle(pid1, Particle(sp1, edge_lengths * 0.5, radius, 0)));
+ BOOST_CHECK_EQUAL((*space).num_particles(), 1);
+ BOOST_CHECK_EQUAL((*space).num_particles(sp1), 1);
+ BOOST_CHECK_EQUAL((*space).num_particles(sp2), 0);
+
+ BOOST_CHECK(!(*space).update_particle(pid1, Particle(sp1, edge_lengths * 0.25, radius, 0)));
+ BOOST_CHECK_EQUAL((*space).num_particles(), 1);
+ BOOST_CHECK_EQUAL((*space).num_particles(sp1), 1);
+ BOOST_CHECK_EQUAL((*space).num_particles(sp2), 0);
+
+ BOOST_CHECK(!(*space).update_particle(pid1, Particle(sp2, edge_lengths * 0.1, radius, 0)));
+ BOOST_CHECK_EQUAL((*space).num_particles(), 1);
+ BOOST_CHECK_EQUAL((*space).num_particles(sp1), 0);
+ BOOST_CHECK_EQUAL((*space).num_particles(sp2), 1);
+
+ (*space).remove_particle(pid1);
+ BOOST_CHECK_EQUAL((*space).num_particles(), 0);
+ BOOST_CHECK_EQUAL((*space).num_particles(sp1), 0);
+ BOOST_CHECK_EQUAL((*space).num_particles(sp2), 0);
+}
+
+BOOST_AUTO_TEST_CASE(ParticleSpace_test_remove)
+{
+ boost::scoped_ptr<ParticleSpace> space(new particle_space_type(edge_lengths, matrix_sizes));
+ SerialIDGenerator<ParticleID> pidgen;
+
+ const ParticleID pid1 = pidgen();
+ const ParticleID pid2 = pidgen();
+ const ParticleID pid3 = pidgen();
+ const Species sp1 = Species("A");
+
+ BOOST_CHECK((*space).update_particle(pid1, Particle(sp1, edge_lengths * 0.5, radius, 0)));
+ BOOST_CHECK((*space).update_particle(pid2, Particle(sp1, edge_lengths * 0.25, radius, 0)));
+ BOOST_CHECK((*space).update_particle(pid3, Particle(sp1, edge_lengths * 0.75, radius, 0)));
+ BOOST_CHECK_EQUAL((*space).num_particles(sp1), 3);
+
+ (*space).remove_particle(pid2);
+ BOOST_CHECK_EQUAL((*space).num_particles(sp1), 2);
+ (*space).remove_particle(pid3);
+ BOOST_CHECK_EQUAL((*space).num_particles(sp1), 1);
+ (*space).remove_particle(pid1);
+ BOOST_CHECK_EQUAL((*space).num_particles(sp1), 0);
+}
+
+BOOST_AUTO_TEST_CASE(ParticleSpace_test_exception)
+{
+ boost::scoped_ptr<ParticleSpace> space(new particle_space_type(edge_lengths, matrix_sizes));
+ SerialIDGenerator<ParticleID> pidgen;
+ const ParticleID pid1 = pidgen();
+
+ BOOST_CHECK_THROW((*space).remove_particle(pid1), NotFound);
+}
+
+BOOST_AUTO_TEST_CASE(ParticleSpace_test_list_particles_within_radius)
+{
+ boost::scoped_ptr<ParticleSpace> space(new particle_space_type(edge_lengths, matrix_sizes));
+ SerialIDGenerator<ParticleID> pidgen;
+
+ const ParticleID pid1 = pidgen();
+ const ParticleID pid2 = pidgen();
+ const Species sp1 = Species("A");
+
+ BOOST_CHECK((*space).update_particle(pid1, Particle(sp1, Real3(0.5, 0.5, 0.5), radius, 0)));
+ BOOST_CHECK_EQUAL((*space).num_particles(sp1), 1);
+
+ {
+ const std::vector<std::pair<std::pair<ParticleID, Particle>, Real> >
+ retval = (*space).list_particles_within_radius(Real3(0.509, 0.5, 0.5), radius);
+ BOOST_CHECK_EQUAL(retval.size(), 1);
+ BOOST_CHECK_EQUAL(retval[0].first.first, pid1);
+ BOOST_CHECK_CLOSE(retval[0].second, 0.009 - radius, 1e-6);
+ }
+ BOOST_CHECK_EQUAL((*space).list_particles_within_radius(Real3(0.509, 0.5, 0.5), radius, pid1).size(), 0);
+ BOOST_CHECK_EQUAL((*space).list_particles_within_radius(Real3(0.511, 0.5, 0.5), radius).size(), 0);
+
+ BOOST_CHECK((*space).update_particle(pid2, Particle(sp1, Real3(0.511, 0.5, 0.5), radius, 0)));
+ BOOST_CHECK_EQUAL((*space).num_particles(sp1), 2);
+
+ BOOST_CHECK_EQUAL((*space).list_particles_within_radius(Real3(0.509, 0.5, 0.5), radius).size(), 2);
+ (*space).remove_particle(pid1);
+ {
+ const std::vector<std::pair<std::pair<ParticleID, Particle>, Real> >
+ retval = (*space).list_particles_within_radius(Real3(0.509, 0.5, 0.5), radius);
+ BOOST_CHECK_EQUAL(retval.size(), 1);
+ BOOST_CHECK_EQUAL(retval[0].first.first, pid2);
+ BOOST_CHECK_CLOSE(retval[0].second, 0.002 - radius, 1e-6);
+ }
+}
+
+BOOST_AUTO_TEST_CASE(ParticleSpaceCellListImpl_test_constructor)
+{
+ boost::scoped_ptr<ParticleSpaceCellListImpl> space(new ParticleSpaceCellListImpl(edge_lengths, matrix_sizes));
+
+ BOOST_CHECK_EQUAL((*space).matrix_sizes(), matrix_sizes);
+}
+
+BOOST_AUTO_TEST_SUITE_END()
diff --git a/ecell4/core/tests/RandomNumberGenerator_test.cpp b/ecell4/core/tests/RandomNumberGenerator_test.cpp
new file mode 100644
index 0000000..4f3b7d0
--- /dev/null
+++ b/ecell4/core/tests/RandomNumberGenerator_test.cpp
@@ -0,0 +1,49 @@
+#include <cppunit/TestCase.h>
+#include <cppunit/extensions/HelperMacros.h>
+#include <cppunit/ui/text/TestRunner.h>
+
+#include <ecell4/core/RandomNumberGenerator.hpp>
+
+using namespace ecell4;
+
+
+template<typename Timpl_>
+class RandomNumberGeneratorTest
+ : public CppUnit::TestFixture
+{
+public:
+
+ typedef Timpl_ implementation_type;
+
+ CPPUNIT_TEST_SUITE(RandomNumberGeneratorTest);
+ CPPUNIT_TEST(test_seed);
+ CPPUNIT_TEST_SUITE_END();
+
+public:
+
+ void setUp()
+ {
+ target = new implementation_type();
+ }
+
+ void tearDown()
+ {
+ delete target;
+ }
+
+ void test_seed();
+
+private:
+
+ RandomNumberGenerator *target;
+};
+
+CPPUNIT_TEST_SUITE_REGISTRATION(
+ RandomNumberGeneratorTest<GSLRandomNumberGenerator>);
+
+template<typename Timpl_>
+void RandomNumberGeneratorTest<Timpl_>::test_seed()
+{
+ target->seed(0);
+ // CPPUNIT_ASSERT_EQUAL(1, 2);
+}
diff --git a/ecell4/core/tests/ReactionRule_test.cpp b/ecell4/core/tests/ReactionRule_test.cpp
new file mode 100644
index 0000000..49359eb
--- /dev/null
+++ b/ecell4/core/tests/ReactionRule_test.cpp
@@ -0,0 +1,298 @@
+#define BOOST_TEST_MODULE "ReactionRule_test"
+
+#ifdef UNITTEST_FRAMEWORK_LIBRARY_EXIST
+# include <boost/test/unit_test.hpp>
+#else
+# define BOOST_TEST_NO_LIB
+# include <boost/test/included/unit_test.hpp>
+#endif
+
+#include <boost/test/floating_point_comparison.hpp>
+
+#include <ecell4/core/Species.hpp>
+#include <ecell4/core/Context.hpp>
+#include <ecell4/core/ReactionRule.hpp>
+
+using namespace ecell4;
+
+
+BOOST_AUTO_TEST_CASE(ReactionRule_test_constructor)
+{
+ ReactionRule rr;
+}
+
+BOOST_AUTO_TEST_CASE(ReactionRule_test_k)
+{
+ const Real epsrel(1e-6);
+ const Real k(1.5);
+ ReactionRule rr;
+ rr.set_k(0);
+ rr.set_k(k);
+ BOOST_CHECK_CLOSE(rr.k(), k, k * epsrel);
+ BOOST_CHECK_THROW(rr.set_k(-k), std::invalid_argument);
+}
+
+BOOST_AUTO_TEST_CASE(ReactionRule_test_reactants)
+{
+ ReactionRule rr;
+ Species sp1("A"), sp2("B");
+ rr.add_reactant(sp1);
+ rr.add_reactant(sp2);
+ rr.add_reactant(sp1);
+
+ const ReactionRule::reactant_container_type& reactants(rr.reactants());
+ BOOST_CHECK_EQUAL(reactants.size(), 3);
+ BOOST_CHECK_EQUAL(std::count(reactants.begin(), reactants.end(), sp1), 2);
+ BOOST_CHECK_EQUAL(std::count(reactants.begin(), reactants.end(), sp2), 1);
+}
+
+BOOST_AUTO_TEST_CASE(ReactionRule_test_products)
+{
+ ReactionRule rr;
+ Species sp1("A"), sp2("B");
+ rr.add_product(sp1);
+ rr.add_product(sp2);
+ rr.add_product(sp1);
+
+ const ReactionRule::product_container_type& products(rr.products());
+ BOOST_CHECK_EQUAL(products.size(), 3);
+ BOOST_CHECK_EQUAL(std::count(products.begin(), products.end(), sp1), 2);
+ BOOST_CHECK_EQUAL(std::count(products.begin(), products.end(), sp2), 1);
+}
+
+BOOST_AUTO_TEST_CASE(ReactionRule_test_compare)
+{
+ ReactionRule rr1, rr2, rr3, rr4, rr5;
+ Species sp1("A"), sp2("B"), sp3("C"), sp4("D");
+
+ rr1.add_reactant(sp1);
+ rr1.add_reactant(sp2);
+ rr1.add_product(sp3);
+ rr1.set_k(1.5);
+
+ rr2.add_reactant(sp1);
+ rr2.add_reactant(sp3);
+ rr2.add_product(sp3);
+ rr2.set_k(1.5);
+
+ rr3.add_reactant(sp1);
+ rr3.add_reactant(sp2);
+ rr3.add_product(sp4);
+ rr3.set_k(1.5);
+
+ rr4.add_reactant(sp2);
+ rr4.add_reactant(sp1);
+ rr4.add_product(sp3);
+ rr4.set_k(5.0);
+
+ rr5.add_reactant(sp1);
+ rr5.add_reactant(sp2);
+ rr5.add_product(sp3);
+ rr5.set_k(5.0);
+
+ BOOST_CHECK(rr1 == rr1);
+ BOOST_CHECK(rr1 != rr2);
+ BOOST_CHECK(rr1 != rr3);
+ BOOST_CHECK(rr1 != rr4);
+ BOOST_CHECK(rr1 == rr5);
+}
+
+BOOST_AUTO_TEST_CASE(ReactionRule_test_generate1)
+{
+ ReactionRule rr1;
+ Species sp1("A");
+ rr1.add_product(sp1);
+ rr1.set_k(1.0);
+
+ std::vector<Species> reactants; // XXX: empty
+ std::vector<ReactionRule> retval(rr1.generate(reactants));
+
+ BOOST_CHECK_EQUAL(retval.size(), 1);
+ BOOST_CHECK(retval[0] == rr1);
+}
+
+BOOST_AUTO_TEST_CASE(ReactionRule_test_generate2)
+{
+ ReactionRule rr1;
+ rr1.add_reactant(Species("_1(b)"));
+ rr1.add_reactant(Species("_1(b)"));
+ rr1.add_product(Species("_1(b^1)._1(b^1)"));
+
+ ReactionRule::reactant_container_type reactants1;
+ reactants1.push_back(Species("A(a^1,b).B(a^1,b)"));
+ reactants1.push_back(Species("B(a,b)"));
+
+ BOOST_CHECK_EQUAL(rr1.count(reactants1), 1);
+
+ std::vector<ReactionRule> retval;
+ retval = rr1.generate(reactants1);
+ BOOST_CHECK_EQUAL(retval.size(), 1);
+ BOOST_CHECK_EQUAL(retval[0].products().size(), 1);
+ BOOST_CHECK_EQUAL(retval[0].products()[0].units().size(), 3);
+
+ ReactionRule rr2;
+ rr2.add_reactant(Species("A(b)"));
+ rr2.add_reactant(Species("B(b)"));
+ rr2.add_product(Species("A(b^1).B(b^1)"));
+ ReactionRule::reactant_container_type reactants2;
+ reactants2.push_back(Species("A(a^1,b).A(a^1,b)"));
+ reactants2.push_back(Species("B(a^1,b).B(a^1,b^2).B(a^2,b)"));
+
+ BOOST_CHECK_EQUAL(rr2.count(reactants2), 4);
+
+ ReactionRule rr3;
+ rr3.add_reactant(Species("A"));
+ rr3.add_product(Species("B"));
+ ReactionRule::reactant_container_type reactants3;
+ reactants3.push_back(Species("A"));
+ retval = rr3.generate(reactants3);
+ BOOST_CHECK_EQUAL(retval.size(), 1);
+ BOOST_CHECK_EQUAL(retval[0].products().size(), 1);
+ BOOST_CHECK_EQUAL(retval[0].products()[0].serial(), "B");
+
+ ReactionRule rr4;
+ rr4.add_reactant(Species("A(b^1).B(b^1)"));
+ rr4.add_product(Species("A(b)"));
+ rr4.add_product(Species("B(b)"));
+ ReactionRule::reactant_container_type reactants4;
+ reactants4.push_back(
+ Species("A(a^1,b^5).A(a^1,b^4).B(a^2,b).B(a^2,b^3).B(a^3,b^4).B(a,b^5)"));
+ retval = rr4.generate(reactants4);
+ BOOST_CHECK_EQUAL(retval.size(), 2);
+ BOOST_CHECK_EQUAL(retval[0].products().size(), 2);
+ BOOST_CHECK_EQUAL(retval[1].products().size(), 2);
+ BOOST_CHECK_EQUAL(retval[0].products()[0].units().size() + retval[0].products()[1].units().size(), 6);
+ BOOST_CHECK_EQUAL(retval[1].products()[0].units().size() + retval[1].products()[1].units().size(), 6);
+}
+
+BOOST_AUTO_TEST_CASE(ReactionRule_test_recursive_generation1)
+{
+ ReactionRule rr1;
+ rr1.add_reactant(Species("X(r^1).X(l^1)"));
+ rr1.add_product(Species("X(r)"));
+ rr1.add_product(Species("X(l)"));
+ rr1.set_k(1.0);
+ const Species sp1("X(l,r^1).X(l^1,r^2).X(l^2,r^3).X(l^3,r^4).X(l^4,r)");
+
+ ReactionRuleExpressionMatcher rrexp(rr1);
+ BOOST_CHECK(rrexp.match(sp1));
+
+ unsigned int i(0);
+ do {
+ ++i;
+ std::vector<Species> products(rrexp.generate());
+ // const ReactionRule tmp(rrexp.reactants(), products, rr1.k());
+ // std::cerr << "GEN: " << tmp.as_string() << std::endl;
+ } while (rrexp.next());
+
+ BOOST_CHECK_EQUAL(i, 4);
+
+ std::vector<ReactionRule> retval(rr1.generate(rrexp.reactants()));
+ BOOST_CHECK_EQUAL(retval.size(), 4);
+}
+
+BOOST_AUTO_TEST_CASE(ReactionRule_test_generate3)
+{
+ ReactionRule rr1;
+ rr1.add_reactant(Species("A(b=u^1).A(b=u^1)"));
+ rr1.add_product(Species("A(b=u)"));
+ rr1.add_product(Species("A(b=u)"));
+ rr1.set_k(1.0);
+
+ ReactionRule rr2;
+ rr2.add_reactant(Species("A(b=u^1).A(b=u^1)"));
+ rr2.add_product(Species("A(b=u)"));
+ rr2.add_product(Species("A(b=p)"));
+ rr2.set_k(1.0);
+
+ ReactionRule::reactant_container_type reactants1(1, Species("A(b=u^1).A(b=u^1)"));
+
+ std::vector<ReactionRule> retval1 = rr1.generate(reactants1);
+ BOOST_CHECK_EQUAL(retval1.size(), 1);
+ BOOST_CHECK_EQUAL(retval1[0].k(), 1.0);
+ BOOST_CHECK_EQUAL(retval1[0].reactants().size(), 1);
+ BOOST_CHECK_EQUAL(retval1[0].reactants()[0], reactants1[0]);
+ BOOST_CHECK_EQUAL(retval1[0].products().size(), 2);
+ BOOST_CHECK_EQUAL(retval1[0].products()[0], Species("A(b=u)"));
+ BOOST_CHECK_EQUAL(retval1[0].products()[1], Species("A(b=u)"));
+
+ std::vector<ReactionRule> retval2 = rr2.generate(reactants1);
+ BOOST_CHECK_EQUAL(retval2.size(), 2);
+ BOOST_CHECK_EQUAL(retval2[0].k(), 1.0);
+ BOOST_CHECK_EQUAL(retval2[1].k(), 1.0);
+ BOOST_CHECK_EQUAL(retval2[0].reactants().size(), 1);
+ BOOST_CHECK_EQUAL(retval2[1].reactants().size(), 1);
+ BOOST_CHECK_EQUAL(retval2[0].reactants()[0], reactants1[0]);
+ BOOST_CHECK_EQUAL(retval2[1].reactants()[0], reactants1[0]);
+ BOOST_CHECK_EQUAL(retval2[0].products().size(), 2);
+ BOOST_CHECK_EQUAL(retval2[1].products().size(), 2);
+ BOOST_CHECK(
+ (retval2[0].products()[0] == Species("A(b=u)")
+ && retval2[0].products()[1] == Species("A(b=p)"))
+ || (retval2[0].products()[0] == Species("A(b=p)")
+ && retval2[0].products()[1] == Species("A(b=u)")));
+ BOOST_CHECK(
+ (retval2[1].products()[0] == Species("A(b=u)")
+ && retval2[1].products()[1] == Species("A(b=p)"))
+ || (retval2[1].products()[0] == Species("A(b=p)")
+ && retval2[1].products()[1] == Species("A(b=u)")));
+
+ ReactionRule rr3;
+ rr3.add_reactant(Species("A(b^1,c^2).A(b^1,c^3).B(l^2,r^4).B(l^3,r^4)"));
+ rr3.add_product(Species("A(b^1,c).A(b^1,c)"));
+ rr3.add_product(Species("B(l,r^1).B(l,r^1)"));
+ rr3.set_k(1.0);
+
+ ReactionRule::reactant_container_type reactants2(1, Species("A(b^1,c^2).A(b^1,c^3).B(l^2,r^4).B(l^3,r^4)"));
+ std::vector<ReactionRule> retval3 = rr3.generate(reactants2);
+
+ BOOST_CHECK_EQUAL(retval3.size(), 1);
+ BOOST_CHECK_EQUAL(retval3[0].k(), 1.0);
+ BOOST_CHECK_EQUAL(retval3[0].reactants().size(), 1);
+ BOOST_CHECK_EQUAL(retval3[0].reactants()[0], reactants2[0]);
+ BOOST_CHECK_EQUAL(retval3[0].products().size(), 2);
+ BOOST_CHECK_EQUAL(retval3[0].products()[0], Species("A(b^1,c).A(b^1,c)"));
+ BOOST_CHECK_EQUAL(retval3[0].products()[1], Species("B(l,r^1).B(l,r^1)"));
+
+ ReactionRule rr4;
+ rr4.add_reactant(Species("A(b^1,c).A(b^1,c)"));
+ rr4.add_reactant(Species("B(l,r^1).B(l,r^1)"));
+ rr4.add_product(Species("A(b^1,c^2).A(b^1,c^3).B(l^2,r^4).B(l^3,r^4)"));
+ rr4.set_k(1.0);
+
+ ReactionRule::reactant_container_type reactants3(2);
+ reactants3[0] = Species("A(b^1,c).A(b^1,c)");
+ reactants3[1] = Species("B(l,r^1).B(l,r^1)");
+ std::vector<ReactionRule> retval4 = rr4.generate(reactants3);
+
+ BOOST_CHECK_EQUAL(retval4.size(), 2);
+ BOOST_CHECK_EQUAL(retval4[0].k(), 1.0);
+ BOOST_CHECK_EQUAL(retval4[1].k(), 1.0);
+ BOOST_CHECK_EQUAL(retval4[0].reactants().size(), 2);
+ BOOST_CHECK_EQUAL(retval4[0].reactants()[0], reactants3[0]);
+ BOOST_CHECK_EQUAL(retval4[0].reactants()[1], reactants3[1]);
+ BOOST_CHECK_EQUAL(retval4[1].reactants().size(), 2);
+ BOOST_CHECK_EQUAL(retval4[1].reactants()[0], reactants3[0]);
+ BOOST_CHECK_EQUAL(retval4[1].reactants()[1], reactants3[1]);
+ BOOST_CHECK_EQUAL(retval4[0].products().size(), 1);
+ BOOST_CHECK_EQUAL(retval4[1].products().size(), 1);
+ BOOST_CHECK_EQUAL(format_species(retval4[0].products()[0]), Species("A(b^1,c^2).A(b^1,c^3).B(l^3,r^4).B(l^2,r^4)"));
+ BOOST_CHECK_EQUAL(format_species(retval4[1].products()[0]), Species("A(b^1,c^2).A(b^1,c^3).B(l^3,r^4).B(l^2,r^4)"));
+
+ ReactionRule rr5;
+ rr5.add_reactant(Species("_(b^1)._(b^1)"));
+ rr5.add_product(Species("_(b)"));
+ rr5.add_product(Species("_(b)"));
+ rr5.set_k(1.0);
+
+ ReactionRule::reactant_container_type reactants4(1, Species("A(b^1).A(b^1)"));
+ std::vector<ReactionRule> retval5 = rr5.generate(reactants4);
+
+ BOOST_CHECK_EQUAL(retval5.size(), 1);
+ BOOST_CHECK_EQUAL(retval5[0].k(), 1.0);
+ BOOST_CHECK_EQUAL(retval5[0].reactants().size(), 1);
+ BOOST_CHECK_EQUAL(retval5[0].reactants()[0], reactants4[0]);
+ BOOST_CHECK_EQUAL(retval5[0].products().size(), 2);
+ BOOST_CHECK_EQUAL(retval5[0].products()[0], Species("A(b)"));
+ BOOST_CHECK_EQUAL(retval5[0].products()[1], Species("A(b)"));
+}
diff --git a/ecell4/core/tests/Real3_test.cpp b/ecell4/core/tests/Real3_test.cpp
new file mode 100644
index 0000000..52c527c
--- /dev/null
+++ b/ecell4/core/tests/Real3_test.cpp
@@ -0,0 +1,34 @@
+#define BOOST_TEST_MODULE "Real3_test"
+
+#ifdef UNITTEST_FRAMEWORK_LIBRARY_EXIST
+# include <boost/test/unit_test.hpp>
+#else
+# define BOOST_TEST_NO_LIB
+# include <boost/test/included/unit_test.hpp>
+#endif
+
+#include <ecell4/core/Real3.hpp>
+#include <ecell4/core/linear_algebra.hpp>
+
+using namespace ecell4;
+
+
+BOOST_AUTO_TEST_CASE(Real3_test_multiply)
+{
+ Real3 pos1(1,2,3);
+ BOOST_CHECK_EQUAL(pos1 * 2, Real3(2,4,6));
+}
+
+BOOST_AUTO_TEST_CASE(Real3_test_add)
+{
+ Real3 pos2(1,2,3);
+ Real3 pos3(2,4,6);
+ BOOST_CHECK_EQUAL(pos2 + pos3, Real3(3,6,9));
+}
+
+BOOST_AUTO_TEST_CASE(Real3_test_sub)
+{
+ Real3 pos4(2,4,6);
+ Real3 pos5(1,2,3);
+ BOOST_CHECK_EQUAL(pos4 - pos5, Real3(1,2,3));
+}
diff --git a/ecell4/core/tests/Shape_test.cpp b/ecell4/core/tests/Shape_test.cpp
new file mode 100644
index 0000000..9c2c4b3
--- /dev/null
+++ b/ecell4/core/tests/Shape_test.cpp
@@ -0,0 +1,89 @@
+#define BOOST_TEST_MODULE "Shape_test"
+
+#ifdef UNITTEST_FRAMEWORK_LIBRARY_EXIST
+# include <boost/test/unit_test.hpp>
+#else
+# define BOOST_TEST_NO_LIB
+# include <boost/test/included/unit_test.hpp>
+#endif
+
+#include <boost/test/floating_point_comparison.hpp>
+
+#include <ecell4/core/Sphere.hpp>
+#include <ecell4/core/Rod.hpp>
+
+using namespace ecell4;
+
+struct Fixture
+{
+ const Real3 center;
+ const Real radius;
+ Sphere sphere;
+ Fixture() :
+ center(2.5e-6, 2.5e-6, 2.5e-6),
+ radius(2.5e-7), sphere(center, radius)
+ {
+ }
+};
+
+BOOST_FIXTURE_TEST_SUITE(suite, Fixture)
+
+BOOST_AUTO_TEST_CASE(Shape_test_constructor)
+{
+}
+
+BOOST_AUTO_TEST_CASE(Shape_test_is_inside)
+{
+ BOOST_CHECK(sphere.is_inside(center) <= 0);
+ BOOST_CHECK(sphere.is_inside(Real3(2.3e-6, 2.5e-6, 2.5e-6)) <= 0);
+ BOOST_CHECK(sphere.is_inside(Real3(2.5e-6, 2.3e-6, 2.5e-6)) <= 0);
+ BOOST_CHECK(sphere.is_inside(Real3(2.5e-6, 2.5e-6, 2.3e-6)) <= 0);
+ BOOST_CHECK(sphere.is_inside(Real3(2.2e-6, 2.5e-6, 2.5e-6)) > 0);
+ BOOST_CHECK(sphere.is_inside(Real3(2.5e-6, 2.2e-6, 2.5e-6)) > 0);
+ BOOST_CHECK(sphere.is_inside(Real3(2.5e-6, 2.5e-6, 2.2e-6)) > 0);
+}
+
+BOOST_AUTO_TEST_SUITE_END()
+
+
+struct RodFixture
+{
+ const Real3 center;
+ const Real length;
+ const Real radius;
+ Rod rod;
+ boost::shared_ptr<RandomNumberGenerator> rng;
+ RodFixture() :
+ center(5e-6, 5e-6, 5e-6), length(2.5e-6),
+ radius(1.25e-6), rod(length, radius, center),
+ rng(new GSLRandomNumberGenerator())
+ {
+ }
+};
+
+BOOST_FIXTURE_TEST_SUITE(rod_suite, RodFixture)
+
+BOOST_AUTO_TEST_CASE(Rod_test_draw_position)
+{
+ for (int i(0); i < 1000; ++i)
+ BOOST_ASSERT(rod.is_inside(rod.draw_position(rng)) <= 0);
+}
+
+BOOST_AUTO_TEST_CASE(RodSurface_test_draw_position)
+{
+ RodSurface surface(rod.surface());
+ int over(0), just(0), under(0);
+ for (int i(0); i < 1000; ++i)
+ {
+ const Real l(surface.is_inside(surface.draw_position(rng)));
+ if (l > radius*1e-6)
+ ++over;
+ else if (l < -radius*1e-6)
+ ++under;
+ else
+ ++just;
+ }
+ // std::cout << "over: " << over << ", just:" << just << ", under: " << under << std::endl;
+}
+
+BOOST_AUTO_TEST_SUITE_END()
diff --git a/ecell4/core/tests/Species_test.cpp b/ecell4/core/tests/Species_test.cpp
new file mode 100644
index 0000000..afcefba
--- /dev/null
+++ b/ecell4/core/tests/Species_test.cpp
@@ -0,0 +1,102 @@
+#define BOOST_TEST_MODULE "Species_test"
+
+#ifdef UNITTEST_FRAMEWORK_LIBRARY_EXIST
+# include <boost/test/unit_test.hpp>
+#else
+# define BOOST_TEST_NO_LIB
+# include <boost/test/included/unit_test.hpp>
+#endif
+
+#include <ecell4/core/Species.hpp>
+#include <ecell4/core/Context.hpp>
+
+using namespace ecell4;
+
+
+BOOST_AUTO_TEST_CASE(Species_test_constructor)
+{
+ Species sp1("A");
+ Species sp2("A( )");
+// Species sp2("A( a , b ^ 1, c)");
+ Species sp3("A(a,b^1,c=p).B(a,b=u^1)");
+}
+
+BOOST_AUTO_TEST_CASE(Species_test_name)
+{
+ Species sp1("test");
+ BOOST_CHECK_EQUAL(sp1.serial(), "test");
+ Species sp2("test()");
+ BOOST_CHECK_EQUAL(sp2.serial(), "test()");
+ // BOOST_CHECK_EQUAL(sp2.serial(), "test");
+}
+
+BOOST_AUTO_TEST_CASE(Species_test_attributes)
+{
+ Species species("test");
+ species.set_attribute("attr1", "value1");
+ species.set_attribute("attr2", "value2");
+ BOOST_CHECK_EQUAL(species.get_attribute("attr1"), "value1");
+ BOOST_CHECK_EQUAL(species.get_attribute("attr2"), "value2");
+ species.remove_attribute("attr1");
+}
+
+BOOST_AUTO_TEST_CASE(Species_test_match1)
+{
+ Species sp1, sp2;
+
+ sp1.add_unit(UnitSpecies("C"));
+ sp1.add_unit(UnitSpecies("A"));
+ sp1.add_unit(UnitSpecies("B"));
+ BOOST_CHECK_EQUAL(sp1.serial(), "C.A.B");
+
+ sp2.add_unit(UnitSpecies("A"));
+ sp2.add_unit(UnitSpecies("C"));
+ BOOST_CHECK_EQUAL(sp2.serial(), "A.C");
+
+ // BOOST_CHECK(sp2.match(sp1));
+ // BOOST_CHECK(!sp1.match(sp2));
+}
+
+BOOST_AUTO_TEST_CASE(Species_test_match2)
+{
+ Species sp1, sp2;
+
+ sp1.add_unit(UnitSpecies("B"));
+ sp1.add_unit(UnitSpecies("A"));
+ sp1.add_unit(UnitSpecies("A"));
+ BOOST_CHECK_EQUAL(sp1.serial(), "B.A.A");
+
+ sp2.add_unit(UnitSpecies("B"));
+ sp2.add_unit(UnitSpecies("A"));
+ BOOST_CHECK_EQUAL(sp2.serial(), "B.A");
+
+ // BOOST_CHECK(sp2.match(sp1));
+ // BOOST_CHECK(!sp1.match(sp2));
+}
+
+BOOST_AUTO_TEST_CASE(Species_test_serialization)
+{
+ Species sp1("X(a^1).Y(a^3,b).X(a^2).Y(a^1,b^2).X(a^3)");
+
+ BOOST_CHECK_EQUAL(
+ format_species(Species("X(a^1).Y(a^3,b).X(a^2).Y(a^1,b^2).X(a^3)")).serial(),
+ "X(a^1).Y(a^1,b).X(a^2).Y(a^2,b^3).X(a^3)");
+ BOOST_CHECK_EQUAL(
+ format_species(Species("X(a^1).Y(a^3,b^4).X(a^3).Z(a^4,b^5).Y(a^1,b^2).Z(a^2,b^5)")).serial(),
+ "X(a^1).Y(a^1,b^2).Z(a^2,b^3).Z(a^4,b^3).Y(a^5,b^4).X(a^5)");
+ BOOST_CHECK_EQUAL(
+ format_species(Species("X(a^3,b^1).X(a^2,b).X(a,b^3).X(a^1,b^4).X(a^4,b^2)")).serial(),
+ "X(a,b^1).X(a^1,b^2).X(a^2,b^3).X(a^3,b^4).X(a^4,b)");
+}
+
+BOOST_AUTO_TEST_CASE(Species_test_match3)
+{
+ BOOST_CHECK_EQUAL(count_spmatches(Species("A"), Species("A.A.A")), 3);
+
+ BOOST_CHECK_EQUAL(count_spmatches(Species("_1._2"), Species("A.B.C")), 6);
+
+ MatchObject::context_type::variable_container_type globals;
+ globals["_1"] = "A";
+ BOOST_CHECK_EQUAL(
+ count_spmatches(Species("_1._2"), Species("A.B.C"), globals), 2);
+}
diff --git a/ecell4/core/tests/SubvolumeSpace_test.cpp b/ecell4/core/tests/SubvolumeSpace_test.cpp
new file mode 100644
index 0000000..2f4eeb7
--- /dev/null
+++ b/ecell4/core/tests/SubvolumeSpace_test.cpp
@@ -0,0 +1,72 @@
+#define BOOST_TEST_MODULE "SubvolumeSpace_test"
+
+#ifdef UNITTEST_FRAMEWORK_LIBRARY_EXIST
+# include <boost/test/unit_test.hpp>
+#else
+# define BOOST_TEST_NO_LIB
+# include <boost/test/included/unit_test.hpp>
+#endif
+
+#include <boost/test/test_case_template.hpp>
+
+#include <ecell4/core/types.hpp>
+#include <ecell4/core/SubvolumeSpace.hpp>
+
+using namespace ecell4;
+
+template<typename Timpl_>
+void SubvolumeSpace_test_volume_template()
+{
+ const Real L(1e-6);
+ const Real3 edge_lengths(L, L, L);
+ const Integer3 matrix_sizes(2, 3, 4);
+ Timpl_ target(edge_lengths, matrix_sizes);
+
+ BOOST_CHECK_CLOSE(target.volume(), 1e-18, 1e-6);
+ BOOST_CHECK_EQUAL(target.num_subvolumes(), 24);
+ BOOST_CHECK_CLOSE(target.subvolume(), 4.166666666666667e-20, 1e-6);
+
+ BOOST_CHECK_EQUAL(target.global2coord(Integer3()), 0);
+ BOOST_CHECK_EQUAL(target.global2coord(Integer3(1, 0, 0)), 1);
+ BOOST_CHECK_EQUAL(target.global2coord(Integer3(1, 2, 3)), 23);
+ BOOST_CHECK_EQUAL(target.coord2global(0), Integer3(0, 0, 0));
+ BOOST_CHECK_EQUAL(target.coord2global(1), Integer3(1, 0, 0));
+ BOOST_CHECK_EQUAL(target.coord2global(23), Integer3(1, 2, 3));
+}
+
+BOOST_AUTO_TEST_CASE(SubvolumeSpace_test_volume)
+{
+ SubvolumeSpace_test_volume_template<SubvolumeSpaceVectorImpl>();
+}
+
+template<typename Timpl_>
+void SubvolumeSpace_test_num_molecules_template()
+{
+ const Real L(1e-6);
+ const Real3 edge_lengths(L, L, L);
+ const Integer3 matrix_sizes(2, 3, 4);
+ Timpl_ target(edge_lengths, matrix_sizes);
+
+ const Species sp1("A"), sp2("B");
+ BOOST_CHECK_EQUAL(target.num_molecules_exact(sp1, 0), 0);
+ BOOST_CHECK_EQUAL(target.num_molecules_exact(sp1, 23), 0);
+ target.reserve_pool(sp1, 0.0, "");
+ target.add_molecules(sp1, 60, 0);
+ target.remove_molecules(sp1, 30, 0);
+ target.add_molecules(sp1, 60, 23);
+ target.reserve_pool(sp2, 0.0, "");
+ target.add_molecules(sp2, 60, 23);
+ BOOST_CHECK_EQUAL(target.num_molecules_exact(sp1, 0), 30);
+ BOOST_CHECK_EQUAL(target.num_molecules_exact(sp2, 0), 0);
+ BOOST_CHECK_EQUAL(target.num_molecules_exact(sp1, 23), 60);
+ BOOST_CHECK_EQUAL(target.num_molecules_exact(sp2, 23), 60);
+
+ BOOST_CHECK_EQUAL(target.num_molecules_exact(sp1), 90);
+ BOOST_CHECK_EQUAL(target.num_molecules_exact(sp2), 60);
+ BOOST_CHECK_EQUAL(target.num_molecules(Species("_")), 150);
+}
+
+BOOST_AUTO_TEST_CASE(SubvolumeSpace_test_num_molecules)
+{
+ SubvolumeSpace_test_num_molecules_template<SubvolumeSpaceVectorImpl>();
+}
diff --git a/ecell4/core/tests/extras_test.cpp b/ecell4/core/tests/extras_test.cpp
new file mode 100644
index 0000000..ee06db2
--- /dev/null
+++ b/ecell4/core/tests/extras_test.cpp
@@ -0,0 +1,23 @@
+#define BOOST_TEST_MODULE "extras_test"
+
+#ifdef UNITTEST_FRAMEWORK_LIBRARY_EXIST
+# include <boost/test/unit_test.hpp>
+#else
+# define BOOST_TEST_NO_LIB
+# include <boost/test/included/unit_test.hpp>
+#endif
+
+#include <ecell4/core/extras.hpp>
+
+using namespace ecell4;
+
+
+BOOST_AUTO_TEST_CASE(extras_test_)
+{
+ const extras::VersionInformation vinfo = extras::parse_version_information("ecell4-test-1.2.3");
+
+ BOOST_CHECK_EQUAL(vinfo.header, "ecell4-test-");
+ BOOST_CHECK_EQUAL(vinfo.majorno, 1);
+ BOOST_CHECK_EQUAL(vinfo.minorno, 2);
+ BOOST_CHECK_EQUAL(vinfo.patchno, 3);
+}
diff --git a/ecell4/core/tests/get_mapper_mf_test.cpp b/ecell4/core/tests/get_mapper_mf_test.cpp
new file mode 100644
index 0000000..9fe963b
--- /dev/null
+++ b/ecell4/core/tests/get_mapper_mf_test.cpp
@@ -0,0 +1,65 @@
+#define BOOST_TEST_MODULE "get_mapper_mf_test"
+
+#include <ecell4/core/config.h>
+
+#ifdef UNITTEST_FRAMEWORK_LIBRARY_EXIST
+# include <boost/test/unit_test.hpp>
+#else
+# define BOOST_TEST_NO_LIB
+# include <boost/test/included/unit_test.hpp>
+#endif
+
+#include <boost/test/test_case_template.hpp>
+#include <boost/type_traits.hpp>
+
+#if defined(HAVE_UNORDERED_MAP)
+#include <unordered_map>
+#elif defined(HAVE_TR1_UNORDERED_MAP)
+#include <tr1/unordered_map>
+#elif defined(HAVE_BOOST_UNORDERED_MAP_HPP)
+#include <boost/unordered_map.hpp>
+#else
+#include <map>
+#endif /* HAVE_UNORDERED_MAP */
+
+#include <map>
+
+#include <ecell4/core/get_mapper_mf.hpp>
+#include <ecell4/core/Particle.hpp>
+#include <ecell4/core/Species.hpp>
+
+
+using namespace ecell4;
+
+BOOST_AUTO_TEST_CASE(get_mapper_mf_test_type)
+{
+ typedef utils::get_mapper_mf<std::string, std::string>::type string_map_type;
+ // typedef std::map<std::string, std::string> expected_map_type;
+ // typedef boost::unordered_map<std::string, std::string> expected_map_type;
+#if defined(HAVE_UNORDERED_MAP)
+ typedef std::unordered_map<std::string, std::string> expected_map_type;
+#elif defined(HAVE_TR1_UNORDERED_MAP)
+ typedef std::tr1::unordered_map<std::string, std::string> expected_map_type;
+#elif defined(HAVE_BOOST_UNORDERED_MAP_HPP)
+ typedef boost::unordered_map<std::string, std::string> expected_map_type;
+#endif
+ BOOST_CHECK((boost::is_same<string_map_type, expected_map_type>::value));
+}
+
+BOOST_AUTO_TEST_CASE(get_mapper_mf_test_identifier_key)
+{
+ typedef utils::get_mapper_mf<ParticleID, std::string>::type map_type;
+ // typedef boost::unordered_map<ParticleID, std::string> map_type;
+ map_type target;
+ target[ParticleID()] = "hoge";
+ BOOST_CHECK_EQUAL(target[ParticleID()], "hoge");
+}
+
+BOOST_AUTO_TEST_CASE(get_mapper_mf_test_species_key)
+{
+ typedef utils::get_mapper_mf<Species, std::string>::type map_type;
+ // typedef boost::unordered_map<Species, std::string> map_type;
+ map_type target;
+ target[Species("foo")] = "bar";
+ BOOST_CHECK_EQUAL(target[Species("foo")], "bar");
+}
diff --git a/ecell4/core/types.hpp b/ecell4/core/types.hpp
new file mode 100644
index 0000000..721911c
--- /dev/null
+++ b/ecell4/core/types.hpp
@@ -0,0 +1,22 @@
+#ifndef __ECELL4_TYPES_HPP
+#define __ECELL4_TYPES_HPP
+
+#include <stdint.h>
+#define _USE_MATH_DEFINES
+#include <math.h>
+#include <cfloat>
+#include <limits>
+
+namespace ecell4
+{
+
+typedef int64_t Integer;
+typedef double Real;
+
+const double inf = HUGE_VAL; // infinity (double)
+const Real N_A = 6.022140857e+23;
+const double epsilon = DBL_EPSILON; // std::numeric_limits<Real>::epsilon();
+
+} // ecell4
+
+#endif /* __ECELL4_TYPES_HPP */
diff --git a/ecell4/egfrd/.gitignore b/ecell4/egfrd/.gitignore
new file mode 100644
index 0000000..132c099
--- /dev/null
+++ b/ecell4/egfrd/.gitignore
@@ -0,0 +1,63 @@
+*~
+*.a
+*.la
+*.lai
+*.lo
+*.loT
+*.o
+*.so
+*.pyo
+*.pyc
+*.orig
+*.rej
+.libs
+.deps
+.*_history*
+m4/libtool.m4
+m4/ltoptions.m4
+m4/ltsugar.m4
+m4/ltversion.m4
+m4/lt-obsolete.m4
+Makefile
+Makefile.in
+depcomp
+config.h
+config.h.in
+ltmain.sh
+.deps
+config.status
+config.h.in
+libtool
+py-compile
+configure
+config.log
+config.guess
+config.sub
+stamp-h1
+autom4te.cache
+SphericalBesselTable.hpp
+CylindricalBesselTable.hpp
+missing
+aclocal.m4
+install-sh
+test/World_test
+test/array_helper_test
+test/filters_test
+test/model_test
+test/DynamicPriorityQueue_test
+test/MatrixSpaceWithCylinders_test
+test/MatrixSpace_test
+test/SphericalBesselGenerator_test
+test/Vector3_test
+test/unittest
+test/BDPropagator_test
+test/BDSimulator_test
+test/range_support_test
+test/py_range_converters_test
+test/StructureUtils_test
+test/linear_algebra_test
+test/pointer_as_ref_test
+test/EGFRDSimulator_test
+test/geometry_test
+samples/benchmark/hardbody
+samples/*/*.out
diff --git a/ecell4/egfrd/.hgignore b/ecell4/egfrd/.hgignore
new file mode 100644
index 0000000..035b183
--- /dev/null
+++ b/ecell4/egfrd/.hgignore
@@ -0,0 +1,60 @@
+syntax: glob
+*~
+*.a
+*.la
+*.lai
+*.lo
+*.loT
+*.o
+*.so
+*.pyo
+*.pyc
+*.orig
+*.rej
+.libs
+.deps
+.*_history*
+m4
+Makefile
+Makefile.in
+depcomp
+config.h
+config.h.in
+ltmain.sh
+.deps
+config.status
+config.h.in
+libtool
+py-compile
+configure
+config.log
+config.guess
+config.sub
+stamp-h1
+autom4te.cache
+SphericalBesselTable.hpp
+CylindricalBesselTable.hpp
+missing
+aclocal.m4
+install-sh
+test/World_test
+test/array_helper_test
+test/filters_test
+test/model_test
+test/DynamicPriorityQueue_test
+test/MatrixSpaceWithCylinders_test
+test/MatrixSpace_test
+test/SphericalBesselGenerator_test
+test/Vector3_test
+test/unittest
+test/BDPropagator_test
+test/BDSimulator_test
+test/range_support_test
+test/py_range_converters_test
+test/StructureUtils_test
+test/linear_algebra_test
+test/pointer_as_ref_test
+test/EGFRDSimulator_test
+test/geometry_test
+samples/benchmark/hardbody
+samples/*/*.out
diff --git a/ecell4/egfrd/AUTHORS b/ecell4/egfrd/AUTHORS
new file mode 100644
index 0000000..15b6fc3
--- /dev/null
+++ b/ecell4/egfrd/AUTHORS
@@ -0,0 +1,4 @@
+Kazunari Kaizu
+Moriyoshi Koizumi
+Thomase Miedema
+Koichi Takahashi
diff --git a/ecell4/egfrd/AnalyticalPair.hpp b/ecell4/egfrd/AnalyticalPair.hpp
new file mode 100644
index 0000000..d769e4c
--- /dev/null
+++ b/ecell4/egfrd/AnalyticalPair.hpp
@@ -0,0 +1,198 @@
+#ifndef ANALYTICAL_PAIR_HPP
+#define ANALYTICAL_PAIR_HPP
+
+#include <cmath>
+#include <boost/array.hpp>
+#include "Pair.hpp"
+#include "AnalyticalSingle.hpp"
+
+template<typename Ttraits_, typename Tshell_>
+class AnalyticalPair: public Pair<Ttraits_>
+{
+public:
+ typedef Pair<Ttraits_> base_type;
+ typedef Ttraits_ traits_type;
+ typedef typename traits_type::world_type::length_type length_type;
+ typedef typename traits_type::world_type::position_type position_type;
+ typedef typename traits_type::world_type::particle_id_pair particle_id_pair;
+ typedef typename traits_type::world_type::traits_type::D_type D_type;
+ typedef typename traits_type::domain_id_type identifier_type;
+ typedef typename traits_type::shell_id_type shell_id_type;
+ typedef typename traits_type::network_rules_type network_rules_type;
+ typedef typename network_rules_type::reaction_rule_type reaction_rule_type;
+ typedef typename network_rules_type::reaction_rule_vector reaction_rule_vector;
+ typedef Tshell_ shell_type;
+ typedef std::pair<const shell_id_type, shell_type> shell_id_pair;
+
+public:
+ virtual ~AnalyticalPair() {}
+
+ AnalyticalPair(identifier_type const& id,
+ particle_id_pair const& p0, particle_id_pair const& p1,
+ shell_id_pair const& shell,
+ position_type const& iv,
+ reaction_rule_vector const& reactions)
+ : base_type(id, p0, p1), shell_(shell), iv_(iv), reactions_(reactions)
+ {
+ // determine a_r and a_R
+ {
+ D_type D0(base_type::particles_[0].second.D());
+ D_type D1(base_type::particles_[1].second.D());
+ length_type R0(base_type::particles_[0].second.radius());
+ length_type R1(base_type::particles_[1].second.radius());
+ const length_type sigma(R0 + R1);
+ const length_type D_tot(D0 + D1);
+ const length_type D_geom(std::sqrt(D0 * D1));
+ const length_type shell_size(shell.second.shape().radius() / traits_type::SAFETY);
+ const length_type r0(this->r0());
+ BOOST_ASSERT(r0 >= sigma);
+ if (((D_geom - D0) * r0) / D_tot + shell_size
+ + std::sqrt(D0 / D1) * (R1 - shell_size) - R0 < 0)
+ {
+ std::swap(D0, D1);
+ std::swap(R0, R1);
+ }
+ a_R_ = D_geom * (D0 * (shell_size - R1)
+ + D1 * (shell_size - r0 - R1)) /
+ (D1 * D1 + D1 * D0 + D_geom * D_tot);
+ a_r_ = (D_geom * r0 + D_tot * (shell_size - R1)) / (D1 + D_geom);
+ BOOST_ASSERT(a_r_ > 0);
+ BOOST_ASSERT(a_r_ > r0);
+ BOOST_ASSERT(a_R_ > 0 || (a_R_ == 0. && (D1 == 0. || D0 == 0.)));
+ BOOST_ASSERT(a_R_ + a_r_ * D1 / D_tot + R1 >=
+ a_R_ + a_r_ * D0 / D_tot + R0);
+ BOOST_ASSERT(std::abs(a_R_ + a_r_ * D1 / D_tot + R1 - shell_size) <
+ 1e-12 * shell_size);
+ }
+ }
+
+ shell_id_pair const& shell() const
+ {
+ return shell_;
+ }
+
+ shell_id_pair& shell()
+ {
+ return shell_;
+ }
+
+ position_type const& iv() const
+ {
+ return iv_;
+ }
+
+ length_type r0() const
+ {
+ return length(iv_);
+ }
+
+ length_type const& a_R() const
+ {
+ return a_R_;
+ }
+
+ length_type const& a_r() const
+ {
+ return a_r_;
+ }
+
+ length_type sigma() const
+ {
+ return base_type::particles_[0].second.radius()
+ + base_type::particles_[1].second.radius();
+ }
+
+ D_type D_tot() const
+ {
+ return base_type::particles_[0].second.D()
+ + base_type::particles_[1].second.D();
+ }
+
+ D_type D_geom() const
+ {
+ return std::sqrt(
+ base_type::particles_[0].second.D() *
+ base_type::particles_[1].second.D());
+ }
+
+ D_type D_R() const
+ {
+ return base_type::particles_[0].second.D() *
+ base_type::particles_[1].second.D() / D_tot();
+ }
+
+ virtual position_type const& position() const
+ {
+ return shape_position(shell_.second.shape());
+ }
+
+ virtual position_type& position()
+ {
+ return shape_position(shell_.second.shape());
+ }
+
+ virtual length_type const& size() const
+ {
+ return shape_size(shell_.second.shape());
+ }
+
+ virtual length_type& size()
+ {
+ return shape_size(shell_.second.shape());
+ }
+
+ virtual char const* type_name() const
+ {
+ return retrieve_domain_type_name(*this);
+ }
+
+ reaction_rule_vector const& reactions() const
+ {
+ return reactions_;
+ }
+
+ virtual typename Domain<traits_type>::size_type num_shells() const
+ {
+ return 1;
+ }
+
+ virtual typename Domain<traits_type>::size_type multiplicity() const
+ {
+ return 2;
+ }
+
+ virtual void accept(ImmutativeDomainVisitor<traits_type> const& visitor) const
+ {
+ visitor(*this);
+ }
+
+ virtual void accept(MutativeDomainVisitor<traits_type> const& visitor)
+ {
+ visitor(*this);
+ }
+
+ virtual std::string as_string() const
+ {
+ return (boost::format(
+ "%s(id=%s, event=%s, last_time=%.16g, dt=%.16g, particles=[(%s:%s), (%s:%s)], iv=%s, shell=(%s:%s))") %
+ type_name() %
+ boost::lexical_cast<std::string>(base_type::id_) %
+ boost::lexical_cast<std::string>(base_type::event_.first) %
+ base_type::last_time_ % base_type::dt_ %
+ boost::lexical_cast<std::string>(base_type::particles()[0].first) %
+ boost::lexical_cast<std::string>(base_type::particles()[0].second) %
+ boost::lexical_cast<std::string>(base_type::particles()[1].first) %
+ boost::lexical_cast<std::string>(base_type::particles()[1].second) %
+ boost::lexical_cast<std::string>(iv_) %
+ boost::lexical_cast<std::string>(shell_.first) %
+ boost::lexical_cast<std::string>(shell_.second)).str();
+ }
+protected:
+ shell_id_pair shell_;
+ position_type const iv_;
+ reaction_rule_vector const& reactions_;
+ mutable length_type a_R_;
+ mutable length_type a_r_;
+};
+
+#endif /* ANALYTICAL_PAIR_HPP */
diff --git a/ecell4/egfrd/AnalyticalSingle.hpp b/ecell4/egfrd/AnalyticalSingle.hpp
new file mode 100644
index 0000000..9c78a6e
--- /dev/null
+++ b/ecell4/egfrd/AnalyticalSingle.hpp
@@ -0,0 +1,109 @@
+#ifndef ANALYTICAL_SINGLE_HPP
+#define ANALYTICAL_SINGLE_HPP
+
+#include "Single.hpp"
+
+template<typename Ttraits_, typename Tshell_>
+class AnalyticalSingle: public Single<Ttraits_>
+{
+public:
+ typedef Single<Ttraits_> base_type;
+ typedef Ttraits_ traits_type;
+ typedef typename traits_type::world_type::length_type length_type;
+ typedef typename traits_type::world_type::position_type position_type;
+ typedef typename traits_type::world_type::particle_id_pair particle_id_pair;
+ typedef typename traits_type::domain_id_type identifier_type;
+ typedef typename traits_type::shell_id_type shell_id_type;
+ typedef typename traits_type::network_rules_type network_rules_type;
+ typedef Tshell_ shell_type;
+ typedef std::pair<const shell_id_type, shell_type> shell_id_pair;
+ typedef typename network_rules_type::reaction_rule_vector reaction_rule_vector;
+ typedef typename traits_type::rate_type rate_type;
+
+public:
+ virtual ~AnalyticalSingle() {}
+
+ AnalyticalSingle(identifier_type const& id,
+ particle_id_pair const& particle,
+ shell_id_pair const& shell)
+ : base_type(id, particle), shell_(shell) {}
+
+ shell_id_pair const& shell() const
+ {
+ return shell_;
+ }
+
+ shell_id_pair& shell()
+ {
+ return shell_;
+ }
+
+ length_type mobility_radius() const
+ {
+ return shape_size(shell_.second.shape()) - base_type::particle().second.radius();
+ }
+
+ virtual char const* type_name() const
+ {
+ return retrieve_domain_type_name(*this);
+ }
+
+ virtual position_type const& position() const
+ {
+ return shape_position(shell_.second.shape());
+ }
+
+ virtual position_type& position()
+ {
+ return shape_position(shell_.second.shape());
+ }
+
+ virtual length_type const& size() const
+ {
+ return shape_size(shell_.second.shape());
+ }
+
+ virtual length_type& size()
+ {
+ return shape_size(shell_.second.shape());
+ }
+
+ virtual typename Domain<traits_type>::size_type num_shells() const
+ {
+ return 1;
+ }
+
+ virtual typename Domain<traits_type>::size_type multiplicity() const
+ {
+ return 1;
+ }
+
+ virtual void accept(ImmutativeDomainVisitor<traits_type> const& visitor) const
+ {
+ visitor(*this);
+ }
+
+ virtual void accept(MutativeDomainVisitor<traits_type> const& visitor)
+ {
+ visitor(*this);
+ }
+
+ virtual std::string as_string() const
+ {
+ return (boost::format(
+ "%s(id=%s, event=%s, last_time=%.16g, dt=%.16g, particle=(%s:%s), shell=(%d:%s))") %
+ type_name() %
+ boost::lexical_cast<std::string>(base_type::id_) %
+ boost::lexical_cast<std::string>(base_type::event_.first) %
+ base_type::last_time_ % base_type::dt_ %
+ boost::lexical_cast<std::string>(base_type::particle().first) %
+ boost::lexical_cast<std::string>(base_type::particle().second) %
+ boost::lexical_cast<std::string>(shell_.first) %
+ boost::lexical_cast<std::string>(shell_.second)).str();
+ }
+
+protected:
+ shell_id_pair shell_;
+};
+
+#endif /* ANALYTICAL_SINGLE_HPP */
diff --git a/ecell4/egfrd/BDPropagator.hpp b/ecell4/egfrd/BDPropagator.hpp
new file mode 100644
index 0000000..86ef08e
--- /dev/null
+++ b/ecell4/egfrd/BDPropagator.hpp
@@ -0,0 +1,423 @@
+#ifndef BD_PROPAGATOR_HPP
+#define BD_PROPAGATOR_HPP
+
+#include <algorithm>
+#include <boost/bind.hpp>
+#include <boost/lexical_cast.hpp>
+#include <boost/range/size.hpp>
+#include <boost/range/begin.hpp>
+#include <boost/range/end.hpp>
+#include <boost/range/const_iterator.hpp>
+#include <boost/utility/enable_if.hpp>
+#include <boost/scoped_ptr.hpp>
+#include "Defs.hpp"
+#include "generator.hpp"
+#include "exceptions.hpp"
+#include "freeFunctions.hpp"
+#include "utils.hpp"
+#include "utils/random.hpp"
+#include "utils/get_default_impl.hpp"
+#include "Logger.hpp"
+
+template<typename Ttraits_>
+class BDPropagator
+{
+public:
+ typedef Ttraits_ traits_type;
+ typedef typename Ttraits_::world_type::particle_container_type particle_container_type;
+ typedef typename particle_container_type::species_id_type species_id_type;
+ typedef typename particle_container_type::position_type position_type;
+ typedef typename particle_container_type::particle_shape_type particle_shape_type;
+ typedef typename particle_container_type::molecule_info_type molecule_info_type;
+ typedef typename particle_container_type::length_type length_type;
+ typedef typename particle_container_type::particle_id_type particle_id_type;
+ typedef typename particle_container_type::particle_type particle_type;
+ typedef typename particle_container_type::particle_id_pair particle_id_pair;
+ typedef std::vector<particle_id_type> particle_id_vector_type;
+ typedef typename particle_container_type::particle_id_pair_generator particle_id_pair_generator;
+ typedef typename particle_container_type::particle_id_pair_and_distance particle_id_pair_and_distance;
+ typedef typename particle_container_type::particle_id_pair_and_distance_list particle_id_pair_and_distance_list;
+ typedef typename particle_container_type::structure_type structure_type;
+ typedef typename traits_type::world_type::traits_type::rng_type rng_type;
+ typedef typename traits_type::time_type time_type;
+ typedef typename traits_type::network_rules_type network_rules_type;
+ typedef typename network_rules_type::reaction_rules reaction_rules;
+ typedef typename network_rules_type::reaction_rule_type reaction_rule_type;
+ typedef typename traits_type::reaction_record_type reaction_record_type;
+ typedef typename traits_type::reaction_recorder_type reaction_recorder_type;
+ typedef typename traits_type::volume_clearer_type volume_clearer_type;
+
+public:
+ template<typename Trange_>
+ BDPropagator(
+ particle_container_type& tx, network_rules_type const& rules,
+ rng_type& rng, time_type dt, int max_retry_count,
+ reaction_recorder_type* rrec, volume_clearer_type* vc,
+ Trange_ const& particles)
+ : tx_(tx), rules_(rules), rng_(rng), dt_(dt),
+ max_retry_count_(max_retry_count), rrec_(rrec), vc_(vc),
+ queue_(), rejected_move_count_(0)
+ {
+ call_with_size_if_randomly_accessible(
+ boost::bind(&particle_id_vector_type::reserve, &queue_, _1),
+ particles);
+ for (typename boost::range_const_iterator<Trange_>::type
+ i(boost::begin(particles)),
+ e(boost::end(particles)); i != e; ++i)
+ {
+ queue_.push_back(*i);
+ }
+ shuffle(rng, queue_);
+ }
+
+ bool operator()()
+ {
+ if (queue_.empty())
+ return false;
+
+ particle_id_type pid(queue_.back());
+ queue_.pop_back();
+ particle_id_pair pp(tx_.get_particle(pid));
+
+ LOG_DEBUG(("propagating particle %s", boost::lexical_cast<std::string>(pp.first).c_str()));
+
+ try
+ {
+ if (attempt_reaction(pp))
+ return true;
+ }
+ catch (propagation_error const& reason)
+ {
+ log_.info("first-order reaction rejected (reason: %s)", reason.what());
+ ++rejected_move_count_;
+ return true;
+ }
+
+ const species_id_type& species_id(pp.second.species());
+ const molecule_info_type species(tx_.get_molecule_info(species_id));
+ if (species.D == 0.)
+ return true;
+
+ position_type const displacement = drawR_free(species);
+ position_type const new_pos = tx_.apply_structure(pp.second.position(), displacement);
+// position_type const new_pos = tx_.apply_boundary(reflected);
+
+ particle_id_pair particle_to_update(
+ pp.first, particle_type(species_id,
+ new_pos, species.radius,
+ species.D));
+ particle_id_pair_and_distance_list overlapped(
+ tx_.check_overlap(shape(particle_to_update.second),
+ particle_to_update.first));
+ switch (overlapped.size())
+ {
+ case 0:
+ break;
+
+ case 1:
+ {
+ particle_id_pair_and_distance const& closest(overlapped.at(0));
+ try
+ {
+ if (!attempt_reaction(pp, closest.first))
+ {
+ LOG_DEBUG(("collision with a nonreactive particle %s. move rejected", boost::lexical_cast<std::string>(closest.first.first).c_str()));
+ ++rejected_move_count_;
+ }
+ }
+ catch (propagation_error const& reason)
+ {
+ log_.info("second-order reaction rejected (reason: %s)", reason.what());
+ ++rejected_move_count_;
+ }
+ }
+ /* reject the move even if the reaction has not occurred */
+ return true;
+
+ default:
+ log_.info("collision involving two or more particles; move rejected");
+ ++rejected_move_count_;
+ return true;
+ }
+ if (vc_)
+ {
+ if (!(*vc_)(shape(particle_to_update.second),
+ particle_to_update.first))
+ {
+ log_.info("propagation move rejected.");
+ return true;
+ }
+ }
+ tx_.update_particle(particle_to_update.first, particle_to_update.second);
+ return true;
+ }
+
+ std::size_t get_rejected_move_count() const
+ {
+ return rejected_move_count_;
+ }
+
+private:
+ position_type drawR_free(molecule_info_type const& species)
+ {
+ return tx_.get_structure(species.structure_id)->bd_displacement(std::sqrt(2.0 * species.D * dt_), rng_);
+ }
+
+ bool attempt_reaction(particle_id_pair const& pp)
+ {
+ reaction_rules const& rules(rules_.query_reaction_rule(pp.second.species()));
+ if (::size(rules) == 0)
+ {
+ return false;
+ }
+
+ const Real rnd(rng_.random() / dt_);
+ Real prob = 0.;
+
+ for (typename boost::range_const_iterator<reaction_rules>::type
+ i(boost::begin(rules)), e(boost::end(rules)); i != e; ++i)
+ {
+ reaction_rule_type const& r(*i);
+ prob += r.k();
+ if (prob > rnd)
+ {
+ typename reaction_rule_type::species_id_range products(
+ r.get_products());
+ switch (::size(products))
+ {
+ case 0:
+ remove_particle(pp.first);
+ break;
+
+ case 1:
+ {
+ const molecule_info_type s0(tx_.get_molecule_info(products[0]));
+ const particle_id_pair new_p(
+ pp.first, particle_type(products[0],
+ pp.second.position(), s0.radius, s0.D));
+ if (!tx_.no_overlap(shape(new_p.second), new_p.first))
+ {
+ throw propagation_error("no space");
+ }
+
+ if (vc_)
+ {
+ if (!(*vc_)(shape(new_p.second), pp.first))
+ {
+ throw propagation_error("no space");
+ }
+ }
+
+ tx_.update_particle(new_p.first, new_p.second);
+
+ if (rrec_)
+ {
+ // (*rrec_)(
+ // reaction_record_type(
+ // r.id(), array_gen(new_p.first), pp.first));
+ (*rrec_)(
+ reaction_record_type(r.id(), array_gen(new_p), pp));
+ }
+ }
+ break;
+
+ case 2:
+ {
+ const species_id_type& product_id0(products[0]),
+ product_id1(products[1]);
+ const molecule_info_type s0(tx_.get_molecule_info(product_id0)),
+ s1(tx_.get_molecule_info(product_id1));
+ const Real D01(s0.D + s1.D);
+ const length_type r01(s0.radius + s1.radius);
+ int i = max_retry_count_;
+ position_type np0, np1;
+
+ for (;;)
+ {
+ if (--i < 0)
+ {
+ throw propagation_error("no space");
+ }
+
+ const Real rnd(rng_.random());
+ length_type pair_distance(
+ drawR_gbd(rnd, r01, dt_, D01));
+ const position_type m(random_unit_vector() * pair_distance);
+ np0 = tx_.apply_boundary(pp.second.position()
+ + m * (s0.D / D01));
+ np1 = tx_.apply_boundary(pp.second.position()
+ - m * (s1.D / D01));
+
+ const particle_shape_type sphere1(np0, s0.radius);
+ const particle_shape_type sphere2(np1, s1.radius);
+ if (tx_.no_overlap(sphere1, pp.first)
+ && tx_.no_overlap(sphere2, pp.first))
+ {
+ break;
+ }
+ }
+
+ if (vc_)
+ {
+ if (!(*vc_)(particle_shape_type(np0, s0.radius), pp.first) || !(*vc_)(particle_shape_type(np1, s1.radius), pp.first))
+ {
+ throw propagation_error("no space");
+ }
+ }
+
+ tx_.remove_particle(pp.first);
+ const particle_id_pair
+ npp0(tx_.new_particle(product_id0, np0).first),
+ npp1(tx_.new_particle(product_id1, np1).first);
+
+ if (rrec_)
+ {
+ // (*rrec_)(
+ // reaction_record_type(
+ // r.id(),
+ // array_gen(npp0.first, npp1.first),
+ // pp.first));
+ (*rrec_)(reaction_record_type(r.id(), array_gen(npp0, npp1), pp));
+ }
+ }
+ break;
+ default:
+ throw not_implemented("monomolecular reactions that produce more than two products are not supported");
+ }
+ return true;
+ }
+ }
+ return false;
+ }
+
+ bool attempt_reaction(particle_id_pair const& pp0, particle_id_pair const& pp1)
+ {
+ reaction_rules const& rules(rules_.query_reaction_rule(pp0.second.species(), pp1.second.species()));
+ if (::size(rules) == 0)
+ {
+ return false;
+ }
+
+ const molecule_info_type s0(tx_.get_molecule_info(pp0.second.species())),
+ s1(tx_.get_molecule_info(pp1.second.species()));
+ const length_type r01(s0.radius + s1.radius);
+
+ const Real rnd(rng_.random());
+ Real prob = 0;
+
+ for (typename boost::range_const_iterator<reaction_rules>::type
+ i(boost::begin(rules)), e(boost::end(rules)); i != e; ++i)
+ {
+ reaction_rule_type const& r(*i);
+ const Real p(r.k() * dt_ / ((I_bd(r01, dt_, s0.D) + I_bd(r01, dt_, s1.D)) * 4.0 * M_PI));
+ BOOST_ASSERT(p >= 0.);
+ prob += p;
+ if (prob >= 1.)
+ {
+ throw propagation_error(
+ "invalid acceptance ratio ("
+ + boost::lexical_cast<std::string>(p)
+ + ") for reaction rate "
+ + boost::lexical_cast<std::string>(r.k())
+ + ".");
+ }
+ if (prob > rnd)
+ {
+ LOG_DEBUG(("fire reaction"));
+ const typename reaction_rule_type::species_id_range products(
+ r.get_products());
+
+ switch (::size(products))
+ {
+ case 1:
+ {
+ const species_id_type product(products[0]);
+ const molecule_info_type sp(tx_.get_molecule_info(product));
+
+ const position_type new_pos(
+ tx_.apply_boundary(
+ divide(
+ add(multiply(pp0.second.position(), s1.D),
+ multiply(tx_.periodic_transpose(
+ pp1.second.position(),
+ pp0.second.position()), s0.D)),
+ (s0.D + s1.D))));
+ if (!tx_.no_overlap(
+ particle_shape_type(new_pos, sp.radius),
+ pp0.first, pp1.first))
+ {
+ throw propagation_error("no space");
+ }
+
+ if (vc_)
+ {
+ if (!(*vc_)(
+ particle_shape_type(new_pos, sp.radius),
+ pp0.first, pp1.first))
+ {
+ throw propagation_error("no space");
+ }
+ }
+
+ remove_particle(pp0.first);
+ remove_particle(pp1.first);
+ particle_id_pair npp(tx_.new_particle(product, new_pos).first);
+ if (rrec_)
+ {
+ // (*rrec_)(
+ // reaction_record_type(
+ // r.id(), array_gen(npp.first), pp0.first, pp1.first));
+ (*rrec_)(reaction_record_type(r.id(), array_gen(npp), pp0, pp1));
+ }
+ break;
+ }
+ case 0:
+ remove_particle(pp0.first);
+ remove_particle(pp1.first);
+ break;
+
+ default:
+ throw not_implemented("bimolecular reactions that produce more than one product are not supported");
+ }
+
+ return true;
+ }
+ }
+ return false;
+ }
+
+ void remove_particle(particle_id_type const& pid)
+ {
+ LOG_DEBUG(("remove particle %s", boost::lexical_cast<std::string>(pid).c_str()));
+ tx_.remove_particle(pid);
+ typename particle_id_vector_type::iterator i(
+ std::find(queue_.begin(), queue_.end(), pid));
+ if (queue_.end() != i)
+ queue_.erase(i);
+ }
+
+private:
+ position_type random_unit_vector()
+ {
+ position_type v(rng_.random() - 0.5, rng_.random() - 0.5, rng_.random() - 0.5);
+ return v / length(v);
+ }
+
+private:
+ particle_container_type& tx_;
+ network_rules_type const& rules_;
+ rng_type& rng_;
+ Real const dt_;
+ int const max_retry_count_;
+ reaction_recorder_type* const rrec_;
+ volume_clearer_type* const vc_;
+ particle_id_vector_type queue_;
+ int rejected_move_count_;
+ static Logger& log_;
+};
+
+template<typename Ttraits_>
+Logger& BDPropagator<Ttraits_>::log_(Logger::get_logger("ecell.BDPropagator"));
+
+#endif /* BD_PROPAGATOR_HPP */
+
diff --git a/ecell4/egfrd/BDSimulator.hpp b/ecell4/egfrd/BDSimulator.hpp
new file mode 100644
index 0000000..3d7c95b
--- /dev/null
+++ b/ecell4/egfrd/BDSimulator.hpp
@@ -0,0 +1,253 @@
+#ifndef BD_SIMULATOR_HPP
+#define BD_SIMULATOR_HPP
+
+#include <algorithm>
+#include <limits>
+#include <boost/foreach.hpp>
+
+#include "BDPropagator.hpp"
+#include "World.hpp"
+#include "ParticleSimulator.hpp"
+#include "utils/pair.hpp"
+
+template<typename Tworld_>
+struct BDSimulatorTraitsBase: public ParticleSimulatorTraitsBase<Tworld_>
+{
+};
+
+template<typename Ttraits_>
+class BDSimulator: public ParticleSimulator<Ttraits_>
+{
+public:
+
+ typedef Ttraits_ traits_type;
+ typedef ParticleSimulator<Ttraits_> base_type;
+
+ typedef typename base_type::model_type model_type;
+
+ typedef typename traits_type::world_type world_type;
+ typedef typename world_type::traits_type::rng_type rng_type;
+ typedef typename world_type::species_id_type species_id_type;
+ // typedef typename world_type::species_type species_type;
+ typedef typename world_type::molecule_info_type molecule_info_type;
+ typedef typename world_type::particle_shape_type particle_shape_type;
+ typedef typename world_type::particle_id_pair particle_id_pair;
+ typedef typename world_type::traits_type::position_type position_type;
+ typedef typename traits_type::time_type time_type;
+ typedef typename traits_type::network_rules_type network_rules_type;
+ typedef typename traits_type::reaction_rule_type reaction_rule_type;
+ typedef typename traits_type::rate_type rate_type;
+ typedef typename traits_type::reaction_record_type reaction_record_type;
+ typedef typename traits_type::reaction_recorder_type reaction_recorder_type;
+ typedef typename ReactionRecorderWrapper<reaction_record_type>::reaction_info_type reaction_info_type;
+
+public:
+
+ Real const& dt_factor()
+ {
+ return dt_factor_;
+ }
+
+ virtual ~BDSimulator() {}
+
+ BDSimulator(
+ const boost::shared_ptr<world_type>& world,
+ const boost::shared_ptr<model_type>& ecell4_model,
+ Real bd_dt_factor = 1.0,
+ int dissociation_retry_moves = 1)
+ : base_type(world, ecell4_model),
+ dt_factor_(bd_dt_factor),
+ num_retries_(dissociation_retry_moves)
+ {
+ calculate_dt();
+ }
+
+ BDSimulator(
+ const boost::shared_ptr<world_type>& world,
+ Real bd_dt_factor = 1.0,
+ int dissociation_retry_moves = 1)
+ : base_type(world),
+ dt_factor_(bd_dt_factor),
+ num_retries_(dissociation_retry_moves)
+ {
+ calculate_dt();
+ }
+
+ virtual void initialize()
+ {
+ ;
+ }
+
+ virtual void calculate_dt()
+ {
+ set_dt(dt_factor_ * determine_dt());
+ LOG_DEBUG(("dt=%f", base_type::dt_));
+ }
+
+ virtual void set_dt(const Real& dt)
+ {
+ base_type::dt_ = dt;
+ }
+
+ virtual void step()
+ {
+ _step(base_type::dt());
+ }
+
+ virtual bool step(const time_type& upto)
+ {
+ time_type const lt(upto - base_type::t());
+ if (lt <= 0.0)
+ {
+ return false;
+ }
+ if (base_type::dt() < lt)
+ {
+ _step(base_type::dt());
+ }
+ else
+ {
+ _step(lt);
+ base_type::set_t(upto);
+ }
+ return true;
+ }
+
+ Real determine_dt()
+ {
+ Real prob = 0.0;
+ BOOST_FOREACH(reaction_rule_type const& rr,
+ (*base_type::network_rules_).zeroth_order_reaction_rules())
+ {
+ prob += rr.k();
+ }
+ prob *= (*base_type::world_).volume();
+
+ if (prob == 0.0 && (*base_type::world_).num_particles() == 0)
+ {
+ return std::numeric_limits<Real>::infinity();
+ }
+
+ Real D_max(0.0), radius_min(std::numeric_limits<Real>::max());
+
+ BOOST_FOREACH(molecule_info_type info,
+ (*base_type::world_).get_molecule_info_range())
+ {
+ if (D_max < info.D)
+ {
+ D_max = info.D;
+ }
+ if (radius_min > info.radius)
+ {
+ radius_min = info.radius;
+ }
+ }
+ const Real dt(gsl_pow_2(radius_min * 2) / (D_max * 2));
+ return (prob == 0.0 ? dt : std::min(dt, 1.0 / prob));
+ }
+
+ virtual bool check_reaction() const
+ {
+ return last_reactions().size() > 0;
+ }
+
+ std::vector<std::pair<ecell4::ReactionRule, reaction_info_type> > last_reactions() const
+ {
+ return (*dynamic_cast<ReactionRecorderWrapper<reaction_record_type>*>(
+ base_type::rrec_.get())).last_reactions();
+ }
+
+protected:
+
+ void _step(time_type dt)
+ {
+ {
+ BDPropagator<traits_type> propagator(
+ *base_type::world_,
+ *base_type::network_rules_,
+ base_type::rng(),
+ dt, num_retries_,
+ base_type::rrec_.get(), 0,
+ make_select_first_range(base_type::world_->
+ get_particles_range()));
+ while (propagator());
+ }
+
+ try
+ {
+ attempt_zeroth_order_reaction(dt);
+ }
+ catch (no_space const&)
+ {
+ LOG_DEBUG(("birth reaction rejected."));
+ // ++rejected_moves_;
+ }
+
+ LOG_DEBUG(("%d: t=%lg, dt=%lg", base_type::num_steps_,
+ base_type::t(), dt));
+
+ ++base_type::num_steps_;
+ base_type::set_t(base_type::t() + dt);
+ }
+
+ bool attempt_zeroth_order_reaction(time_type const dt)
+ {
+ typename network_rules_type::reaction_rules const
+ rules((*base_type::network_rules_).zeroth_order_reaction_rules());
+ if (::size(rules) == 0)
+ return false;
+
+ const Real rnd(
+ base_type::rng().random() / (dt * (*base_type::world_).volume()));
+ Real prob = 0.0;
+
+ BOOST_FOREACH(reaction_rule_type const& rr, rules)
+ {
+ prob += rr.k();
+ if (prob > rnd)
+ {
+ typename reaction_rule_type::species_id_range products(
+ rr.get_products());
+ BOOST_ASSERT(::size(products) == 1);
+ const molecule_info_type minfo(
+ (*base_type::world_).get_molecule_info(products[0]));
+
+ //XXX: A cuboidal region is expected here.
+ const position_type& edge_lengths((*base_type::world_).edge_lengths());
+ const position_type new_pos(
+ base_type::rng().uniform(0, edge_lengths[0]),
+ base_type::rng().uniform(0, edge_lengths[1]),
+ base_type::rng().uniform(0, edge_lengths[2]));
+
+ const particle_shape_type new_particle(new_pos, minfo.radius);
+ if (!(*base_type::world_).no_overlap(new_particle))
+ {
+ LOG_INFO(("no space for product particle."));
+ throw no_space();
+ }
+
+ particle_id_pair pp(
+ (*base_type::world_).new_particle(products[0], new_pos).first);
+
+ if (base_type::rrec_)
+ {
+ (*base_type::rrec_)(
+ reaction_record_type(rr.id(), array_gen(pp)));
+ }
+ return true;
+ }
+ }
+ return false;
+ }
+
+private:
+
+ Real const dt_factor_;
+ int const num_retries_;
+ static Logger& log_;
+};
+
+template<typename Ttraits_>
+Logger& BDSimulator<Ttraits_>::log_(Logger::get_logger("BDSimulator"));
+
+#endif /* BD_SIMULATOR_HPP */
diff --git a/ecell4/egfrd/CMakeLists.txt b/ecell4/egfrd/CMakeLists.txt
new file mode 100644
index 0000000..b0abe60
--- /dev/null
+++ b/ecell4/egfrd/CMakeLists.txt
@@ -0,0 +1,77 @@
+check_cxx_source_compiles("#include <math.h>
+int main() { double a = INFINITY; return (int)a * 0; }"
+ HAVE_DECL_INFINITY)
+check_cxx_source_compiles("#include <math.h>
+int main() { isfinite(0.); return 0; }"
+ HAVE_ISFINITE)
+check_cxx_source_compiles("#include <math.h>
+int main() { double a, b; sincos(0., &a, &b); return 0; }"
+ HAVE_SINCOS)
+
+# find_library(BOOST_REGEX_LIBRARIES boost_regex)
+
+configure_file(
+ ${PROJECT_SOURCE_DIR}/ecell4/egfrd/config.h.in
+ ${PROJECT_BINARY_DIR}/ecell4/egfrd/config.h)
+
+execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/ecell4/egfrd)
+
+if (NOT NO_BESSEL_TABLE)
+add_subdirectory(tablegen)
+endif()
+
+# add_definitions(-DHAVE_CONFIG_H -DHAVE_INLINE)
+add_definitions(-DHAVE_CONFIG_H)
+
+if (NO_SHARED)
+ return()
+endif()
+
+set(CPP_FILES
+ Logger.cpp ConsoleAppender.cpp utils.cpp findRoot.cpp funcSum.cpp
+ GreensFunction1DAbsAbs.cpp GreensFunction1DRadAbs.cpp
+ PairGreensFunction.cpp GreensFunction3D.cpp GreensFunction3DAbs.cpp
+ GreensFunction3DAbsSym.cpp GreensFunction3DRadAbsBase.cpp
+ GreensFunction3DRadAbs.cpp GreensFunction3DRadInf.cpp
+ GreensFunction3DSym.cpp SphericalBesselGenerator.cpp CylindricalBesselGenerator.cpp)
+
+set(HPP_FILES
+ Multi.hpp ReactionRecord.hpp sorted_list.hpp factorial.hpp ParticleContainerBase.hpp NetworkRulesAdapter.hpp Logger.hpp MatrixSpace.hpp DomainFactory.hpp abstract_set.hpp twofold_container.hpp ParticleTraits.hpp DomainID.hpp geometry.hpp generator.hpp ReactionRecorder.hpp AnalyticalPair.hpp utils.hpp DomainUtils.hpp EGFRDSimulator.hpp BDSimulator.hpp freeFunctions.hpp Real3Type.hpp ReactionRuleInfo.hpp BDPropagator.hpp VolumeClearer.hpp funcSum.hpp World.hpp OldDefs.hpp AnalyticalSin [...]
+ GreensFunction3D.hpp GreensFunction3DSym.hpp GreensFunction3DRadInf.hpp SphericalBesselGenerator.hpp GreensFunction1DAbsAbs.hpp PairGreensFunction.hpp GreensFunction3DRadAbsBase.hpp GreensFunction3DAbs.hpp GreensFunction3DRadAbs.hpp GreensFunction3DAbsSym.hpp GreensFunction1DRadAbs.hpp GreensFunction.hpp CylindricalBesselGenerator.hpp HalfOrderBesselGenerator.hpp
+ compat.h
+ egfrd.hpp structures.hpp)
+
+set(UTILS_HPP_FILES
+ utils/base_type_walker.hpp utils/memberwise_compare.hpp utils/array_helper.hpp utils/range_support.hpp utils/random.hpp utils/pair.hpp utils/fun_wrappers.hpp utils/reset.hpp utils/math.hpp utils/swap.hpp utils/unassignable_adapter.hpp utils/stringizer.hpp utils/array_traits.hpp utils/fun_composition.hpp utils/range.hpp utils/assoc_container_traits.hpp utils/reference_or_instance.hpp utils/pointer_as_ref.hpp utils/get_default_impl.hpp utils/map_adapter.hpp utils/pointer_preds.hpp)
+
+# CPP_FILES BasicNetworkRulesImpl.cpp NetworkRules.cpp SpeciesType.cpp StructureType.cpp
+# HPP_FILES StructureUtils.hpp EGFRDSimulatorFactory.hpp ParticleSimulatorFactory.hpp Model.hpp ParticleModel.hpp BasicNetworkRulesImpl.hpp NetworkRules.hpp ReactionRule.hpp SpeciesInfo.hpp BDSimulator.hpp SpeciesTypeID.hpp SpeciesType.hpp ParticleID.hpp StructureType.hpp bessel.hpp PyEventScheduler.hpp NetworkRulesWrapper.hpp BasicReactionRecorderImpl.hpp DynamicPriorityQueue.hpp EventScheduler.hpp SerialIDGenerator.hpp Surface.hpp SphericalSurface.hpp Structure.hpp CylindricalSurface.h [...]
+
+include_directories(${PROJECT_SOURCE_DIR}/ecell4/egfrd ${PROJECT_BINARY_DIR}/ecell4/egfrd)
+
+add_library(ecell4-egfrd SHARED
+ ${CPP_FILES} ${HPP_FILES} ${UTILS_HPP_FILES}
+ "${PROJECT_BINARY_DIR}/ecell4/egfrd/config.h")
+target_link_libraries(ecell4-egfrd ${GSL_LIBRARIES} ${GSL_CBLAS_LIBRARIES} ecell4-core)
+# target_link_libraries(ecell4-egfrd ecell4-core ${BOOST_REGEX_LIBRARIES})
+
+set(ECELL4_SHARED_DIRS ${CMAKE_CURRENT_BINARY_DIR}:${ECELL4_SHARED_DIRS} PARENT_SCOPE)
+
+# add_subdirectory(tests)
+add_subdirectory(samples)
+
+install(TARGETS ecell4-egfrd DESTINATION lib)
+
+install(FILES ${HPP_FILES} "${PROJECT_BINARY_DIR}/ecell4/egfrd/config.h"
+ DESTINATION "include/ecell4/egfrd")
+
+if (NOT NO_BESSEL_TABLE)
+add_dependencies(ecell4-egfrd BesselTables)
+
+install(FILES ${HPP_FILES}
+ "${PROJECT_BINARY_DIR}/ecell4/egfrd/SphericalBesselTable.hpp"
+ "${PROJECT_BINARY_DIR}/ecell4/egfrd/CylindricalBesselTable.hpp"
+ DESTINATION "include/ecell4/egfrd")
+endif()
+
+install(FILES ${UTILS_HPP_FILES} DESTINATION "include/ecell4/egfrd/utils")
diff --git a/ecell4/egfrd/COPYING b/ecell4/egfrd/COPYING
new file mode 100644
index 0000000..d60c31a
--- /dev/null
+++ b/ecell4/egfrd/COPYING
@@ -0,0 +1,340 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/ecell4/egfrd/ChangeLog b/ecell4/egfrd/ChangeLog
new file mode 100644
index 0000000..e69de29
diff --git a/ecell4/egfrd/ConsoleAppender.cpp b/ecell4/egfrd/ConsoleAppender.cpp
new file mode 100644
index 0000000..a3d4b0b
--- /dev/null
+++ b/ecell4/egfrd/ConsoleAppender.cpp
@@ -0,0 +1,24 @@
+#ifdef HAVE_CONFIG_H
+#include <ecell4/egfrd/config.h>
+#endif /* HAVE_CONFIG_H */
+
+#include <cstdio>
+#include <cstring>
+
+#include "ConsoleAppender.hpp"
+
+ConsoleAppender::~ConsoleAppender() {}
+
+void ConsoleAppender::operator()(enum Logger::level lv, char const* name, char const** chunks)
+{
+ std::fprintf(stderr, "%s: %-8s ",
+ name, Logger::stringize_error_level(lv));
+ for (char const** p = chunks; *p; ++p)
+ std::fwrite(*p, sizeof(char), std::strlen(*p), stderr);
+ std::fputc('\n', stderr);
+}
+
+void ConsoleAppender::flush()
+{
+ std::fflush(stderr);
+}
diff --git a/ecell4/egfrd/ConsoleAppender.hpp b/ecell4/egfrd/ConsoleAppender.hpp
new file mode 100644
index 0000000..272c560
--- /dev/null
+++ b/ecell4/egfrd/ConsoleAppender.hpp
@@ -0,0 +1,21 @@
+#ifndef CONSOLE_LOGGER_HPP
+#define CONSOLE_LOGGER_HPP
+
+#include <string>
+
+#include "Logger.hpp"
+
+class ConsoleAppender: public LogAppender
+{
+public:
+ typedef LogAppender base_type;
+
+public:
+ virtual ~ConsoleAppender();
+
+ virtual void flush();
+
+ virtual void operator()(enum Logger::level lv, char const* name, char const** chunks);
+};
+
+#endif /* CONSOLE_LOGGER_HPP */
diff --git a/ecell4/egfrd/CylindricalBesselGenerator.cpp b/ecell4/egfrd/CylindricalBesselGenerator.cpp
new file mode 100644
index 0000000..c4a8127
--- /dev/null
+++ b/ecell4/egfrd/CylindricalBesselGenerator.cpp
@@ -0,0 +1,187 @@
+#ifdef HAVE_CONFIG_H
+#include <ecell4/egfrd/config.h>
+#endif /* HAVE_CONFIG_H */
+
+#include <cassert>
+
+#include "compat.h"
+
+#include "CylindricalBesselGenerator.hpp"
+
+#ifndef NO_BESSEL_TABLE
+#include "CylindricalBesselTable.hpp"
+#endif
+
+
+#ifndef NO_BESSEL_TABLE
+static inline double hermite_interp(double x,
+ double x0, double dx,
+ double const* y_array)
+#else
+static inline double hermite_interp(double x,
+ double x0, double dx,
+ std::vector<double> const& y_array)
+#endif
+{
+ const double hinv = 1.0 / dx;
+
+ const size_t i = static_cast<size_t>((x - x0 ) * hinv);
+ const size_t index = i * 2;
+
+ const double x_lo = (x - x0) * hinv - i;
+ const double x_hi = 1.0 - x_lo;
+
+ const double y_lo = y_array[index];
+ const double ydot_lo = y_array[index + 1] * dx;
+ const double y_hi = y_array[index + 2];
+ const double ydot_hi = y_array[index + 3] * dx;
+
+ return x_hi * x_hi * (y_lo + x_lo * (2 * y_lo + ydot_lo))
+ + x_lo * x_lo * (y_hi + x_hi * (2 * y_hi - ydot_hi));
+}
+
+#ifndef NO_BESSEL_TABLE
+inline static Real interp(Real x_start, Real delta_x,
+ Real const* yTable, Real x)
+#else
+inline static Real interp(Real x_start, Real delta_x,
+ std::vector<double> const& yTable, Real x)
+#endif
+{
+ return hermite_interp(x, x_start, delta_x, yTable);
+}
+
+static Real _J(UnsignedInteger n, Real z)
+{
+ return gsl_sf_bessel_Jn(n, z);
+}
+
+static Real _Y(UnsignedInteger n, Real z)
+{
+ return gsl_sf_bessel_Yn(n, z);
+}
+
+CylindricalBesselGenerator const& CylindricalBesselGenerator::instance()
+{
+ static const CylindricalBesselGenerator cylindricalBesselGenerator;
+ return cylindricalBesselGenerator;
+}
+
+UnsignedInteger CylindricalBesselGenerator::getMinNJ()
+{
+ return cb_table::cj_table_min;
+}
+
+UnsignedInteger CylindricalBesselGenerator::getMinNY()
+{
+ return cb_table::cy_table_min;
+}
+
+UnsignedInteger CylindricalBesselGenerator::getMaxNJ()
+{
+ return cb_table::cj_table_max;
+}
+
+UnsignedInteger CylindricalBesselGenerator::getMaxNY()
+{
+ return cb_table::cy_table_max;
+}
+
+#ifndef NO_BESSEL_TABLE
+static cb_table::Table const* getCJTable(UnsignedInteger n)
+{
+ return cb_table::cj_table[n];
+}
+
+
+static cb_table::Table const* getCYTable(UnsignedInteger n)
+{
+ return cb_table::cy_table[n];
+}
+
+static inline Real _J_table(UnsignedInteger n, Real z)
+{
+ cb_table::Table const* tablen(getCJTable(n));
+
+ return interp(tablen->x_start, tablen->delta_x, tablen->y, z);
+}
+
+static inline Real _Y_table(UnsignedInteger n, Real z)
+{
+ cb_table::Table const* tablen(getCYTable(n));
+
+ return interp(tablen->x_start, tablen->delta_x, tablen->y, z);
+}
+#else
+cb_table::Table const* CylindricalBesselGenerator::getCJTable(UnsignedInteger n) const
+{
+ return &cj_table_[n];
+}
+
+
+cb_table::Table const* CylindricalBesselGenerator::getCYTable(UnsignedInteger n) const
+{
+ return &cy_table_[n];
+}
+
+Real CylindricalBesselGenerator::_J_table(UnsignedInteger n, Real z) const
+{
+ cb_table::Table const* tablen(getCJTable(n));
+
+ return interp(tablen->x_start, tablen->delta_x, tablen->y, z);
+}
+
+Real CylindricalBesselGenerator::_Y_table(UnsignedInteger n, Real z) const
+{
+ cb_table::Table const* tablen(getCYTable(n));
+
+ return interp(tablen->x_start, tablen->delta_x, tablen->y, z);
+}
+#endif
+
+Real CylindricalBesselGenerator::J(UnsignedInteger n, Real z) const
+{
+ if(n > getMaxNJ())
+ {
+ return _J(n, z);
+ }
+
+ const cb_table::Table* table(getCJTable(n));
+ assert(table != 0);
+
+ const Real minz(table->x_start + table->delta_x * 3);
+ const Real maxz(table->x_start + table->delta_x * (table->N-3));
+
+ if(z >= minz && z < maxz)
+ {
+ return _J_table(n, z);
+ }
+ else
+ {
+ return _J(n, z);
+ }
+}
+
+Real CylindricalBesselGenerator::Y(const UnsignedInteger n, const Real z) const
+{
+ if(n > getMaxNY())
+ {
+ return _Y(n, z);
+ }
+
+ const cb_table::Table* table(getCYTable(n));
+ assert(table != 0);
+
+ const Real minz(table->x_start + table->delta_x * 3);
+ const Real maxz(table->x_start + table->delta_x * (table->N-3));
+
+ if(z >= minz && z < maxz)
+ {
+ return _Y_table(n, z);
+ }
+ else
+ {
+ return _Y(n, z);
+ }
+}
+
diff --git a/ecell4/egfrd/CylindricalBesselGenerator.hpp b/ecell4/egfrd/CylindricalBesselGenerator.hpp
new file mode 100644
index 0000000..480a78e
--- /dev/null
+++ b/ecell4/egfrd/CylindricalBesselGenerator.hpp
@@ -0,0 +1,109 @@
+#ifndef __CYLINDRICALBESSELGENERATOR_HPP
+#define __CYLINDRICALBESSELGENERATOR_HPP
+
+#include <cmath>
+
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_sf_bessel.h>
+
+#include "Defs.hpp"
+
+// #define NO_BESSEL_TABLE
+
+#ifdef NO_BESSEL_TABLE
+#include "tablegen/cjy_table.hpp"
+
+namespace cb_table
+{
+
+struct Table
+{
+ unsigned int N;
+ double x_start;
+ double delta_x;
+ std::vector<double> y;
+};
+
+const unsigned int cj_table_min = 0;
+const unsigned int cj_table_max = 50;
+const unsigned int cy_table_min = 0;
+const unsigned int cy_table_max = 50;
+const unsigned int cjy_table_resolution = 35;
+
+} // sb_table
+#endif
+
+
+class CylindricalBesselGenerator
+{
+
+ typedef UnsignedInteger Index;
+
+public:
+
+ CylindricalBesselGenerator()
+ {
+#ifdef NO_BESSEL_TABLE
+ // std::cout << "CylindricalBesselGenerator::CylindricalBesselGenerator() was called."<< std::endl;
+ cjy_table table = JnYn(std::max(cb_table::cj_table_max, cb_table::cy_table_max), cb_table::cjy_table_resolution);
+
+ cj_table_.resize(cb_table::cj_table_max + 1);
+ for (unsigned int n(cb_table::cj_table_min); n<= cb_table::cj_table_max; ++n)
+ {
+ const int start(searchsorted(table.z, minz_j(n)));
+ const double z_start(table.z.at(start));
+ const int end(searchsorted(table.z, maxz_j(n)));
+ const std::vector<double> js(get_sub_sequence_from_matrix2(table.j, table.jdot, n, start, end));
+
+ const cb_table::Table cj_table_n = {end - start, z_start, table.delta, js};
+ cj_table_[n] = cj_table_n;
+ }
+
+ cj_table_.resize(cb_table::cy_table_max + 1);
+ for (unsigned int n(cb_table::cy_table_min); n<= cb_table::cy_table_max; ++n)
+ {
+ const int start(searchsorted(table.z, minz_y(n)));
+ const double z_start(table.z.at(start));
+ const int end(searchsorted(table.z, maxz_y(n)));
+ const std::vector<double> ys(get_sub_sequence_from_matrix2(table.y, table.ydot, n, start, end));
+
+ const cb_table::Table cy_table_n = {end - start, z_start, table.delta, ys};
+ cy_table_[n] = cy_table_n;
+ }
+ // std::cout << "CylindricalBesselGenerator::CylindricalBesselGenerator() was done."<< std::endl;
+#endif
+ }
+
+ ~CylindricalBesselGenerator()
+ {
+ ; // do nothing
+ }
+
+ Real J(UnsignedInteger n, Real z) const;
+
+ Real Y(UnsignedInteger n, Real z) const;
+
+ static UnsignedInteger getMinNJ();
+ static UnsignedInteger getMinNY();
+ static UnsignedInteger getMaxNJ();
+ static UnsignedInteger getMaxNY();
+
+ static CylindricalBesselGenerator const& instance();
+
+#ifdef NO_BESSEL_TABLE
+ Real _J_table(UnsignedInteger n, Real z) const;
+ Real _Y_table(UnsignedInteger n, Real z) const;
+ cb_table::Table const* getCJTable(UnsignedInteger n) const;
+ cb_table::Table const* getCYTable(UnsignedInteger n) const;
+
+private:
+
+ std::vector<cb_table::Table> cj_table_;
+ std::vector<cb_table::Table> cy_table_;
+#endif
+};
+
+
+
+
+#endif /* __CYLINDRICALBESSELGENERATOR_HPP */
diff --git a/ecell4/egfrd/Defs.hpp b/ecell4/egfrd/Defs.hpp
new file mode 100644
index 0000000..3e79f5b
--- /dev/null
+++ b/ecell4/egfrd/Defs.hpp
@@ -0,0 +1,29 @@
+#if !defined( __DEFS_HPP )
+#define __DEFS_HPP
+
+#include <cstddef>
+#include <ecell4/core/types.hpp>
+
+// typedef double Real;
+// typedef long int Integer;
+// typedef unsigned long int UnsignedInteger;
+typedef ecell4::Real Real;
+typedef ecell4::Integer Integer;
+typedef unsigned long int UnsignedInteger;
+typedef size_t Index;
+
+// stringifiers. see preprocessor manual
+#define XSTR( S ) STR( S )
+#define STR( S ) #S
+
+#define THROW_UNLESS( CLASS, EXPRESSION ) \
+ if( ! ( EXPRESSION ) )\
+ {\
+ throw CLASS( "Check [" + std::string( STR( EXPRESSION ) ) +\
+ "] failed." );\
+ }\
+
+
+#define IGNORE_RETURN (void)
+
+#endif // __DEFS_HPP
diff --git a/ecell4/egfrd/Domain.hpp b/ecell4/egfrd/Domain.hpp
new file mode 100644
index 0000000..4c949cc
--- /dev/null
+++ b/ecell4/egfrd/Domain.hpp
@@ -0,0 +1,112 @@
+#ifndef DOMAIN_HPP
+#define DOMAIN_HPP
+
+#include <string>
+#include <cstddef>
+#include <boost/format.hpp>
+#include <boost/lexical_cast.hpp>
+
+template<typename Ttraits_>
+class ImmutativeDomainVisitor;
+
+template<typename Ttraits_>
+class MutativeDomainVisitor;
+
+template<typename Ttraits_>
+class Domain
+{
+public:
+ typedef Ttraits_ traits_type;
+ typedef std::size_t size_type;
+ typedef typename traits_type::world_type::length_type length_type;
+ typedef typename traits_type::world_type::position_type position_type;
+ typedef typename traits_type::world_type::particle_id_pair particle_id_pair;
+ typedef typename traits_type::domain_id_type identifier_type;
+ typedef typename traits_type::shell_id_type shell_id_type;
+ typedef typename traits_type::event_id_pair_type event_id_pair_type;
+ typedef typename traits_type::time_type time_type;
+
+public:
+ virtual ~Domain() {}
+
+ Domain(identifier_type const& id)
+ : id_(id), last_time_(0.), dt_(0.) {}
+
+ identifier_type const& id() const
+ {
+ return id_;
+ }
+
+ event_id_pair_type const& event() const
+ {
+ return event_;
+ }
+
+ event_id_pair_type& event()
+ {
+ return event_;
+ }
+
+ time_type const& last_time() const
+ {
+ return last_time_;
+ }
+
+ time_type& last_time()
+ {
+ return last_time_;
+ }
+
+ time_type const& dt() const
+ {
+ return dt_;
+ }
+
+ time_type& dt()
+ {
+ return dt_;
+ }
+
+ virtual size_type num_shells() const = 0;
+
+ virtual size_type multiplicity() const = 0;
+
+ virtual char const* type_name() const = 0;
+
+ virtual std::string as_string() const
+ {
+ return (boost::format(
+ "%s(id=%s, event=%s, last_time=%.16g, dt=%.16g)") %
+ type_name() %
+ boost::lexical_cast<std::string>(id_).c_str() %
+ boost::lexical_cast<std::string>(event_.first).c_str() %
+ last_time_ % dt_).str();
+ }
+
+ virtual void accept(ImmutativeDomainVisitor<traits_type> const&) const = 0;
+
+ virtual void accept(MutativeDomainVisitor<traits_type> const&) = 0;
+
+protected:
+ identifier_type id_;
+ event_id_pair_type event_;
+ time_type last_time_;
+ time_type dt_;
+};
+
+template<typename Tstrm, typename Ttraits, typename TdomTraits>
+inline std::basic_ostream<Tstrm, Ttraits>&
+operator<<(std::basic_ostream<Tstrm, Ttraits>& lhs,
+ Domain<TdomTraits> const& rhs)
+{
+ lhs << rhs.as_string();
+ return lhs;
+}
+
+template<typename Ttraits>
+inline char const* retrieve_domain_type_name(Domain<Ttraits> const&)
+{
+ return "Domain";
+}
+
+#endif /* DOMAIN_HPP */
diff --git a/ecell4/egfrd/DomainFactory.hpp b/ecell4/egfrd/DomainFactory.hpp
new file mode 100644
index 0000000..181163a
--- /dev/null
+++ b/ecell4/egfrd/DomainFactory.hpp
@@ -0,0 +1,33 @@
+#ifndef DOMAIN_FACTORY_HPP
+#define DOMAIN_FACTORY_HPP
+
+template<typename Ttraits_>
+struct DomainFactory
+{
+ typedef Ttraits_ traits_type;
+ typedef typename traits_type::world_type::length_type length_type;
+ typedef typename traits_type::world_type::position_type position_type;
+ typedef typename traits_type::world_type::particle_id_pair particle_id_pair;
+ typedef typename traits_type::shell_id_pair shell_id_pair;
+ typedef typename traits_type::shell_id_type shell_id_type;
+ typedef typename traits_type::single_type single_type;
+ typedef typename traits_type::pair_type pair_type;
+ typedef typename traits_type::domain_id_type domain_id_type;
+ typedef typename traits_type::network_rules_type network_rules_type;
+
+ virtual single_type*
+ create_single(domain_id_type const& domain_id,
+ particle_id_pair const& particle_id_pair,
+ shell_id_pair const& shell_id_pair,
+ typename network_rules_type::reaction_rule_vector const& reactions) const = 0;
+
+ virtual pair_type*
+ create_pair(domain_id_type const& domain_id,
+ position_type const& com,
+ particle_id_pair const& single1,
+ particle_id_pair const& single2,
+ shell_id_pair const& shell_id_pair,
+ typename network_rules_type::reaction_rule_vector const& reactions) const = 0;
+};
+
+#endif /* DOMAIN_FACTORY_HPP */
diff --git a/ecell4/egfrd/DomainID.hpp b/ecell4/egfrd/DomainID.hpp
new file mode 100644
index 0000000..bf358e5
--- /dev/null
+++ b/ecell4/egfrd/DomainID.hpp
@@ -0,0 +1,40 @@
+#ifndef DOMAIN_ID_HPP
+#define DOMAIN_ID_HPP
+
+#include <ecell4/core/config.h>
+#include <ecell4/core/hash.hpp>
+
+#include <ostream>
+// #include "Identifier.hpp"
+#include <ecell4/core/Identifier.hpp>
+
+struct DomainID: public ecell4::Identifier<DomainID, unsigned long long, int>
+{
+ typedef ecell4::Identifier<DomainID, unsigned long long, int> base_type;
+
+ DomainID(value_type const& value = value_type(0, 0))
+ : base_type(value) {}
+};
+
+ECELL4_DEFINE_HASH_BEGIN()
+
+template<>
+struct hash<DomainID>
+{
+ std::size_t operator()(DomainID const& val) const
+ {
+ return static_cast<std::size_t>(val().first ^ val().second);
+ }
+};
+
+ECELL4_DEFINE_HASH_END()
+
+template<typename Tstrm_>
+inline std::basic_ostream<Tstrm_>& operator<<(std::basic_ostream<Tstrm_>& strm,
+ const DomainID& v)
+{
+ strm << "DID(" << v().first << ":" << v().second << ")";
+ return strm;
+}
+
+#endif /* DOMAIN_ID_HPP */
diff --git a/ecell4/egfrd/DomainUtils.hpp b/ecell4/egfrd/DomainUtils.hpp
new file mode 100644
index 0000000..28ffd31
--- /dev/null
+++ b/ecell4/egfrd/DomainUtils.hpp
@@ -0,0 +1,116 @@
+#ifndef DOMAIN_UTILS_HPP
+#define DOMAIN_UTILS_HPP
+
+#include "exceptions.hpp"
+#include "Single.hpp"
+#include "Pair.hpp"
+#include "GreensFunction3DAbsSym.hpp"
+
+template<typename Ttraits_>
+struct DomainUtils
+{
+ typedef Ttraits_ traits_type;
+ typedef typename traits_type::spherical_shell_type spherical_shell_type;
+ typedef typename traits_type::cylindrical_shell_type cylindrical_shell_type;
+ typedef typename traits_type::domain_type domain_type;
+ typedef Single<Ttraits_, spherical_shell_type> spherical_single_type;
+ typedef Single<Ttraits_, cylindrical_shell_type> cylindrical_single_type;
+ typedef Pair<Ttraits_, spherical_shell_type> spherical_pair_type;
+ typedef Pair<Ttraits_, cylindrical_shell_type> cylindrical_pair_type;
+
+ static length_type calculate_mobility_radius(spherical_single_type const& dom)
+ {
+ return dom.shell().second.shape().radius() - dom.particle().second.shape().radius();
+ }
+
+ static length_type calculate_mobility_radius(cylindrical_single_type const& dom)
+ {
+ return dom.shell().second.shape().size() - dom.particle().second.shape().radius();
+ }
+
+ static length_type calculate_mobility_radius(domain_type const& dom)
+ {
+ {
+ spherical_single_type const* x(
+ dynamic_cast<spherical_single_type const*>(&dom));
+ if (x)
+ {
+ return calculate_mobility_radius(*x);
+ }
+ }
+ {
+ cylindrical_single_type const* x(
+ dynamic_cast<cylindrical_single_type const*>(&dom));
+ if (x)
+ {
+ return calculate_mobility_radius(*x);
+ }
+ }
+ throw unsupported("unsupported domain type");
+ }
+
+ static length_type get_shell_size(spherical_single_type const& dom)
+ {
+ return dom.shell().second.radius();
+ }
+
+ static length_type get_shell_size(cylindrical_single_type const& dom)
+ {
+ return dom.shell().second.radius();
+ }
+
+ static length_type get_shell_size(spherical_pair_type const& dom)
+ {
+ return dom.shell().second.radius();
+ }
+
+ static length_type get_shell_size(cylindrical_pair_type const& dom)
+ {
+ return dom.shell().second.radius();
+ }
+
+ static length_type get_shell_size(domain_type const& dom)
+ {
+ {
+ spherical_single_type const* x(
+ dynamic_cast<spherical_single_type const*>(&dom));
+ if (x)
+ {
+ return get_shell_size(*x);
+ }
+ }
+ {
+ cylindrical_single_type const* x(
+ dynamic_cast<cylindrical_single_type const*>(&dom));
+ if (x)
+ {
+ return get_shell_size(*x);
+ }
+ }
+ {
+ spherical_pair_type const* x(
+ dynamic_cast<spherical_pair_type const*>(&dom));
+ if (x)
+ {
+ return get_shell_size(*x);
+ }
+ }
+ {
+ cylindrical_pair_type const* x(
+ dynamic_cast<cylindrical_pair_type const*>(&dom));
+ if (x)
+ {
+ return get_shell_size(*x);
+ }
+ }
+ throw unsupported("unsupported domain type");
+ }
+
+ template<typename Tdom_>
+ static GreensFunction3DAbsSym get_com_greens_function(Tdom_ const& dom)
+ {
+ return GreensFunction3DAbsSym(dom)
+ }
+};
+
+#endif /* DOMAIN_UTILS_HPP */
diff --git a/ecell4/egfrd/EGFRDSimulator.hpp b/ecell4/egfrd/EGFRDSimulator.hpp
new file mode 100644
index 0000000..f4d55fd
--- /dev/null
+++ b/ecell4/egfrd/EGFRDSimulator.hpp
@@ -0,0 +1,4243 @@
+#ifndef EGFRDSIMULATOR_HPP
+#define EGFRDSIMULATOR_HPP
+
+#include <boost/bind.hpp>
+#include <boost/array.hpp>
+#include <boost/format.hpp>
+#include <boost/foreach.hpp>
+#include <boost/optional.hpp>
+#include <boost/lexical_cast.hpp>
+#include <boost/scoped_ptr.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/fusion/container/map.hpp>
+#include <boost/fusion/algorithm/iteration/for_each.hpp>
+#include <boost/fusion/sequence/intrinsic/at_key.hpp>
+#include <boost/fusion/sequence/intrinsic/value_at_key.hpp>
+#include <boost/fusion/include/at_key.hpp>
+#include <boost/none_t.hpp>
+#include <boost/variant.hpp>
+
+#include <gsl/gsl_sf_log.h>
+
+#include <ecell4/core/get_mapper_mf.hpp>
+#include <ecell4/core/Model.hpp>
+#include <ecell4/core/EventScheduler.hpp>
+#include <ecell4/core/SerialIDGenerator.hpp>
+
+#include "utils/array_helper.hpp"
+//#include "utils/get_mapper_mf.hpp"
+#include "utils/fun_composition.hpp"
+#include "utils/fun_wrappers.hpp"
+#include "utils/pointer_as_ref.hpp"
+#include "utils/pair.hpp"
+#include "utils/math.hpp"
+#include "utils/stringizer.hpp"
+#include "ShellID.hpp"
+#include "DomainID.hpp"
+#include "Shell.hpp"
+//#include "EventScheduler.hpp"
+#include "PairGreensFunction.hpp"
+#include "ParticleSimulator.hpp"
+#include "MatrixSpace.hpp"
+#include "AnalyticalSingle.hpp"
+#include "AnalyticalPair.hpp"
+#include "Multi.hpp"
+#include "GreensFunction3DRadAbs.hpp"
+#include "GreensFunction3DRadInf.hpp"
+#include "GreensFunction3DAbsSym.hpp"
+#include "GreensFunction3DAbs.hpp"
+#include "GreensFunction3D.hpp"
+
+
+template<typename Tworld_>
+struct EGFRDSimulatorTraitsBase: public ParticleSimulatorTraitsBase<Tworld_>
+{
+ typedef ParticleSimulatorTraitsBase<Tworld_> base_type;
+ typedef Tworld_ world_type;
+
+ typedef ShellID shell_id_type;
+ typedef DomainID domain_id_type;
+ typedef ecell4::SerialIDGenerator<shell_id_type> shell_id_generator;
+ typedef ecell4::SerialIDGenerator<domain_id_type> domain_id_generator;
+ typedef Domain<EGFRDSimulatorTraitsBase> domain_type;
+ typedef std::pair<const domain_id_type, boost::shared_ptr<domain_type> > domain_id_pair;
+ typedef ecell4::EventScheduler event_scheduler_type; // base_type::time_type == ecell4::Real
+ // typedef EventScheduler<typename base_type::time_type> event_scheduler_type;
+
+ typedef typename event_scheduler_type::identifier_type event_id_type;
+ typedef typename event_scheduler_type::value_type event_id_pair_type;
+ typedef ecell4::Event event_type;
+
+ template<typename Tshape_>
+ struct shell_generator
+ {
+ typedef Shell<Tshape_, domain_id_type> type;
+ };
+
+ static const Real safety();
+ static const Real single_shell_factor();
+ static const Real default_dt_factor();
+ static const Real cutoff_factor();
+
+ static const Real SAFETY;
+ static const Real SINGLE_SHELL_FACTOR;
+ static const Real DEFAULT_DT_FACTOR;
+ static const Real CUTOFF_FACTOR;
+};
+
+template<typename Tworld_>
+const Real EGFRDSimulatorTraitsBase<Tworld_>::safety() { return 1. + 1e-5; }
+template<typename Tworld_>
+const Real EGFRDSimulatorTraitsBase<Tworld_>::single_shell_factor() { return 0.1; }
+template<typename Tworld_>
+const Real EGFRDSimulatorTraitsBase<Tworld_>::default_dt_factor() { return 1e-5; }
+template<typename Tworld_>
+const Real EGFRDSimulatorTraitsBase<Tworld_>::cutoff_factor() { return 5.6; }
+
+template<typename Tworld_>
+const Real EGFRDSimulatorTraitsBase<Tworld_>::SAFETY = EGFRDSimulatorTraitsBase<Tworld_>::safety();
+template<typename Tworld_>
+const Real EGFRDSimulatorTraitsBase<Tworld_>::SINGLE_SHELL_FACTOR = EGFRDSimulatorTraitsBase<Tworld_>::single_shell_factor();
+template<typename Tworld_>
+const Real EGFRDSimulatorTraitsBase<Tworld_>::DEFAULT_DT_FACTOR = EGFRDSimulatorTraitsBase<Tworld_>::default_dt_factor();
+template<typename Tworld_>
+const Real EGFRDSimulatorTraitsBase<Tworld_>::CUTOFF_FACTOR = EGFRDSimulatorTraitsBase<Tworld_>::cutoff_factor();
+
+namespace detail {
+
+template<typename T_>
+struct get_greens_function {};
+
+template<>
+struct get_greens_function<ecell4::Sphere>
+{
+ typedef GreensFunction3DAbsSym type;
+};
+
+// template<>
+// struct get_greens_function<Cylinder>
+// {
+// typedef GreensFunction3DAbsSym type;
+// };
+//
+// template<>
+// struct get_greens_function<Sphere>
+// {
+// typedef GreensFunction3DAbsSym type;
+// };
+
+template<>
+struct get_greens_function<ecell4::Cylinder>
+{
+ typedef GreensFunction3DAbsSym type;
+};
+
+template<typename T_>
+struct get_pair_greens_function {};
+
+template<>
+struct get_pair_greens_function<ecell4::Sphere>
+{
+ typedef GreensFunction3DRadAbs iv_type;
+ typedef GreensFunction3DAbsSym com_type;
+};
+
+template<>
+struct get_pair_greens_function<ecell4::Cylinder>
+{
+ typedef GreensFunction3DRadAbs iv_type;
+ typedef GreensFunction3DAbsSym com_type;
+};
+
+// template<>
+// struct get_pair_greens_function<Sphere>
+// {
+// typedef GreensFunction3DRadAbs iv_type;
+// typedef GreensFunction3DAbsSym com_type;
+// };
+//
+// template<>
+// struct get_pair_greens_function<Cylinder>
+// {
+// typedef GreensFunction3DRadAbs iv_type;
+// typedef GreensFunction3DAbsSym com_type;
+// };
+
+} // namespace detail
+
+template<typename Ttraits_>
+class EGFRDSimulator;
+
+template<typename Ttraits_>
+struct ImmutativeDomainVisitor
+{
+ typedef typename EGFRDSimulator<Ttraits_>::multi_type multi_type;
+ typedef typename EGFRDSimulator<Ttraits_>::spherical_single_type spherical_single_type;
+ typedef typename EGFRDSimulator<Ttraits_>::cylindrical_single_type cylindrical_single_type;
+ typedef typename EGFRDSimulator<Ttraits_>::spherical_pair_type spherical_pair_type;
+ typedef typename EGFRDSimulator<Ttraits_>::cylindrical_pair_type cylindrical_pair_type;
+
+ virtual ~ImmutativeDomainVisitor() {}
+
+ virtual void operator()(multi_type const&) const = 0;
+
+ virtual void operator()(spherical_single_type const&) const = 0;
+
+ virtual void operator()(cylindrical_single_type const&) const = 0;
+
+ virtual void operator()(spherical_pair_type const&) const = 0;
+
+ virtual void operator()(cylindrical_pair_type const&) const = 0;
+};
+
+template<typename Ttraits_>
+struct MutativeDomainVisitor
+{
+ typedef typename EGFRDSimulator<Ttraits_>::multi_type multi_type;
+ typedef typename EGFRDSimulator<Ttraits_>::spherical_single_type spherical_single_type;
+ typedef typename EGFRDSimulator<Ttraits_>::cylindrical_single_type cylindrical_single_type;
+ typedef typename EGFRDSimulator<Ttraits_>::spherical_pair_type spherical_pair_type;
+ typedef typename EGFRDSimulator<Ttraits_>::cylindrical_pair_type cylindrical_pair_type;
+
+ virtual ~MutativeDomainVisitor() {}
+
+ virtual void operator()(multi_type&) const = 0;
+
+ virtual void operator()(spherical_single_type&) const = 0;
+
+ virtual void operator()(cylindrical_single_type&) const = 0;
+
+ virtual void operator()(spherical_pair_type&) const = 0;
+
+ virtual void operator()(cylindrical_pair_type&) const = 0;
+};
+
+
+#define CHECK(expr) \
+ do \
+ { \
+ if (!(expr)) { retval = false; LOG_DEBUG(("checking [%s] failed", #expr)); } \
+ } while (0)
+
+template<typename Ttraits_>
+class EGFRDSimulator: public ParticleSimulator<Ttraits_>
+{
+public:
+ typedef Ttraits_ traits_type;
+ typedef ParticleSimulator<Ttraits_> base_type;
+
+ // typedef typename base_type::sphere_type sphere_type;
+ // typedef typename base_type::cylinder_type cylinder_type;
+ typedef typename base_type::model_type model_type;
+
+ typedef typename traits_type::world_type world_type;
+ typedef typename traits_type::domain_id_type domain_id_type;
+ typedef typename traits_type::shell_id_type shell_id_type;
+ typedef typename traits_type::template shell_generator<ecell4::Sphere>::type spherical_shell_type;
+ typedef typename traits_type::template shell_generator<ecell4::Cylinder>::type cylindrical_shell_type;
+ // typedef typename traits_type::template shell_generator<sphere_type>::type spherical_shell_type;
+ // typedef typename traits_type::template shell_generator<cylinder_type>::type cylindrical_shell_type;
+ typedef typename traits_type::domain_type domain_type;
+ typedef typename traits_type::domain_id_pair domain_id_pair;
+ typedef typename traits_type::time_type time_type;
+ typedef typename traits_type::shell_id_generator shell_id_generator;
+ typedef typename traits_type::domain_id_generator domain_id_generator;
+ typedef typename traits_type::network_rules_type network_rules_type;
+ typedef typename traits_type::reaction_record_type reaction_record_type;
+ typedef typename traits_type::reaction_recorder_type reaction_recorder_type;
+ typedef typename traits_type::event_scheduler_type event_scheduler_type;
+ typedef typename traits_type::event_type event_type;
+ typedef typename traits_type::event_id_type event_id_type;
+ typedef typename traits_type::event_id_pair_type event_id_pair_type;
+
+ typedef typename world_type::traits_type::length_type length_type;
+ typedef typename world_type::traits_type::position_type position_type;
+ typedef typename world_type::traits_type::rng_type rng_type;
+ typedef typename world_type::traits_type::particle_type particle_type;
+ typedef typename world_type::traits_type::D_type D_type;
+ typedef typename world_type::traits_type::molecule_info_type molecule_info_type;
+ typedef typename world_type::traits_type::species_id_type species_id_type;
+ typedef typename world_type::traits_type::structure_type structure_type;
+ typedef typename world_type::particle_shape_type particle_shape_type;
+ typedef typename world_type::traits_type::particle_id_type particle_id_type;
+ typedef typename world_type::particle_id_pair particle_id_pair;
+ typedef typename world_type::particle_id_pair_and_distance particle_id_pair_and_distance;
+ typedef typename world_type::particle_id_pair_and_distance_list particle_id_pair_and_distance_list;
+
+ typedef std::pair<const shell_id_type, spherical_shell_type> spherical_shell_id_pair;
+ typedef std::pair<const shell_id_type, cylindrical_shell_type> cylindrical_shell_id_pair;
+
+
+ typedef typename world_type::traits_type::particle_simulation_structure_type
+ particle_simulation_structure_type;
+ // typedef typename world_type::traits_type::spherical_surface_type
+ // spherical_surface_type;
+ // typedef typename world_type::traits_type::cylindrical_surface_type
+ // cylindrical_surface_type;
+ // typedef typename world_type::traits_type::planar_surface_type planar_surface_type;
+ typedef typename world_type::traits_type::cuboidal_region_type cuboidal_region_type;
+
+ typedef typename ReactionRecorderWrapper<reaction_record_type>::reaction_info_type reaction_info_type;
+
+ typedef Single<traits_type> single_type;
+ typedef Pair<traits_type> pair_type;
+ typedef Multi<EGFRDSimulator> multi_type;
+ typedef ShapedDomain<traits_type> shaped_domain_type;
+ typedef AnalyticalSingle<traits_type, spherical_shell_type> spherical_single_type;
+ typedef AnalyticalSingle<traits_type, cylindrical_shell_type> cylindrical_single_type;
+ typedef AnalyticalPair<traits_type, spherical_shell_type> spherical_pair_type;
+ typedef AnalyticalPair<traits_type, cylindrical_shell_type> cylindrical_pair_type;
+
+ typedef boost::variant<boost::none_t, spherical_shell_type, cylindrical_shell_type> shell_variant_type;
+
+ enum domain_kind
+ {
+ NONE = 0,
+ SPHERICAL_SINGLE,
+ CYLINDRICAL_SINGLE,
+ SPHERICAL_PAIR,
+ CYLINDRICAL_PAIR,
+ MULTI,
+ NUM_DOMAIN_KINDS
+ };
+
+ enum single_event_kind
+ {
+ SINGLE_EVENT_REACTION,
+ SINGLE_EVENT_ESCAPE,
+ NUM_SINGLE_EVENT_KINDS
+ };
+
+ enum pair_event_kind
+ {
+ PAIR_EVENT_SINGLE_REACTION_0,
+ PAIR_EVENT_SINGLE_REACTION_1,
+ PAIR_EVENT_COM_ESCAPE,
+ PAIR_EVENT_IV_UNDETERMINED,
+ PAIR_EVENT_IV_ESCAPE,
+ PAIR_EVENT_IV_REACTION,
+ NUM_PAIR_EVENT_KINDS
+ };
+
+protected:
+ typedef boost::fusion::map<
+ boost::fusion::pair<spherical_shell_type,
+ MatrixSpace<spherical_shell_type,
+ shell_id_type, ecell4::utils::get_mapper_mf>*>,
+ boost::fusion::pair<cylindrical_shell_type, MatrixSpace<cylindrical_shell_type,
+ shell_id_type, ecell4::utils::get_mapper_mf>*> >
+ shell_matrix_map_type;
+ typedef typename boost::remove_pointer<
+ typename boost::fusion::result_of::value_at_key<
+ shell_matrix_map_type,
+ spherical_shell_type>::type>::type
+ spherical_shell_matrix_type;
+ typedef typename boost::remove_pointer<
+ typename boost::fusion::result_of::value_at_key<
+ shell_matrix_map_type,
+ cylindrical_shell_type>::type>::type
+ cylindrical_shell_matrix_type;
+ typedef typename ecell4::utils::get_mapper_mf<domain_id_type, boost::shared_ptr<domain_type> >::type domain_map;
+ typedef typename network_rules_type::reaction_rules reaction_rules;
+ typedef typename network_rules_type::reaction_rule_type reaction_rule_type;
+ typedef typename traits_type::rate_type rate_type;
+
+ class birth_event: public event_type
+ {
+ public:
+ birth_event(time_type time, const reaction_rule_type& rr)
+ : event_type(time), rr_(rr)
+ {
+ ;
+ }
+
+ virtual ~birth_event() {}
+
+ const reaction_rule_type& reaction_rule() const
+ {
+ return rr_;
+ }
+
+ protected:
+ reaction_rule_type rr_;
+ };
+
+ struct domain_event_base: public event_type
+ {
+ domain_event_base(time_type time): event_type(time) {}
+
+ virtual domain_type& domain() const = 0;
+ };
+
+ template<typename Tdomain_, typename TeventKind_>
+ class domain_event: public domain_event_base
+ {
+ public:
+ typedef domain_event_base base_type;
+ typedef Tdomain_ domain_type;
+ typedef TeventKind_ event_kind_type;
+
+ public:
+ virtual domain_type& domain() const { return domain_; }
+
+ virtual ~domain_event() {}
+
+ event_kind_type kind() const { return kind_; }
+
+ domain_event(time_type time,
+ domain_type& domain,
+ event_kind_type kind)
+ : base_type(time), domain_(domain), kind_(kind) {}
+
+ private:
+ domain_type& domain_;
+ event_kind_type kind_;
+ };
+
+ typedef domain_event<single_type, single_event_kind> single_event;
+ typedef domain_event<pair_type, pair_event_kind> pair_event;
+
+ class multi_event: public domain_event_base
+ {
+ public:
+ typedef domain_event_base base_type;
+ typedef multi_type domain_type;
+
+ public:
+ virtual domain_type& domain() const { return domain_; }
+
+ virtual ~multi_event() {}
+
+ multi_event(time_type time,
+ domain_type& domain)
+ : base_type(time), domain_(domain) {}
+
+ private:
+ domain_type& domain_;
+ };
+
+ struct intruder_collector
+ {
+ intruder_collector(world_type const& world,
+ particle_shape_type const& cmp,
+ domain_id_type const& ignore)
+ : world(world), cmp(cmp), ignore(ignore),
+ closest(domain_id_type(),
+ std::numeric_limits<length_type>::infinity()) {}
+
+ template<typename Titer>
+ void operator()(Titer const& i, position_type const& off)
+ {
+ domain_id_type const& did((*i).second.did());
+ if (did == ignore)
+ return;
+
+ length_type const distance(
+ world.distance(
+ shape(offset((*i).second, off)), cmp.position()));
+ if (distance > cmp.radius())
+ {
+ if (distance < closest.second)
+ {
+ closest.first = did;
+ closest.second = distance;
+ }
+ }
+ else
+ {
+ if (!intruders.container())
+ {
+ intruders.container().set(new std::vector<domain_id_type>());
+ }
+ intruders.push_no_duplicate(did);
+ }
+ }
+
+ world_type const& world;
+ particle_shape_type cmp;
+ domain_id_type ignore;
+ std::pair<domain_id_type, length_type> closest;
+ sorted_list<std::vector<domain_id_type>,
+ std::less<domain_id_type>,
+ pointer_as_ref<std::vector<domain_id_type> > > intruders;
+ };
+
+ struct no_filter
+ {
+ bool operator()(domain_id_type const&) const { return true; }
+ };
+
+ struct one_id_filter
+ {
+ bool operator()(domain_id_type const& did) const { return did != ignore; }
+ one_id_filter(domain_id_type const& did): ignore(did) {}
+
+ domain_id_type const ignore;
+ };
+
+ template<typename TfilterFn_>
+ struct domain_collector
+ {
+ typedef TfilterFn_ filter_function;
+
+ domain_collector(world_type const& world,
+ particle_shape_type const& cmp,
+ filter_function const& filter)
+ : world(world), cmp(cmp), filter(filter) {}
+
+ template<typename Titer>
+ void operator()(Titer const& i, position_type const& off)
+
+ {
+ domain_id_type const& did((*i).second.did());
+ if (!filter(did))
+ return;
+
+ length_type const distance(world.distance(shape(offset((*i).second, off)), cmp.position()));
+ if (distance < cmp.radius())
+ {
+ if (!neighbors.container())
+ {
+ neighbors.container().set(new std::vector<domain_id_type>());
+ }
+ neighbors.push_no_duplicate(did);
+ }
+ }
+
+ world_type const& world;
+ particle_shape_type cmp;
+ filter_function const& filter;
+
+ std::pair<domain_id_type, length_type> closest;
+ sorted_list<std::vector<domain_id_type>,
+ std::less<domain_id_type>,
+ pointer_as_ref<std::vector<domain_id_type> > > neighbors;
+ };
+
+ template<typename TdidSet_>
+ struct closest_object_finder
+ {
+ typedef TdidSet_ domain_id_set;
+
+ closest_object_finder(world_type const& world,
+ position_type const& cmp,
+ domain_id_set const& ignore)
+ : world(world), cmp(cmp), ignore(ignore),
+ closest(domain_id_type(),
+ std::numeric_limits<length_type>::infinity()) {}
+
+ template<typename Titer>
+ void operator()(Titer const& i, position_type const& off)
+ {
+ domain_id_type const& did((*i).second.did());
+ if (collection_contains(ignore, did))
+ return;
+
+ length_type const distance(world.distance(shape(offset((*i).second, off)), cmp));
+ if (distance < closest.second)
+ {
+ closest.first = did;
+ closest.second = distance;
+ }
+ }
+
+ world_type const& world;
+ position_type cmp;
+ domain_id_set const& ignore;
+ std::pair<domain_id_type, length_type> closest;
+ };
+
+ template<typename Tcol_>
+ struct shell_collector_applier
+ {
+ typedef Tcol_ collector_type;
+
+ shell_collector_applier(collector_type& col,
+ position_type const& pos)
+ : col_(col), pos_(pos) {}
+
+ template<typename T>
+ void operator()(T const& smat) const
+ {
+ world_type::traits_type::each_neighbor(*smat.second, col_, pos_);
+ }
+
+ private:
+ collector_type& col_;
+ position_type pos_;
+ };
+
+ template<typename Tmap_>
+ struct domain_shell_map_builder
+ {
+ typedef Tmap_ domain_shell_association;
+ domain_shell_map_builder(world_type const& world,
+ domain_shell_association& did_map)
+ : world_(world), did_map_(did_map) {}
+
+ template<typename T>
+ void operator()(T const& smat) const
+ {
+ BOOST_ASSERT(world_.edge_lengths() == (*smat.second).edge_lengths());
+ BOOST_FOREACH (typename boost::remove_pointer<typename T::second_type>::type::value_type pair, *smat.second)
+ {
+ did_map_[pair.second.did()].insert(pair.first);
+ }
+ }
+
+ private:
+ world_type const& world_;
+ domain_shell_association& did_map_;
+ };
+
+ template<typename Tset_>
+ struct shell_id_collector
+ {
+ shell_id_collector(Tset_& shell_ids)
+ : shell_ids_(shell_ids) {}
+
+ template<typename T>
+ void operator()(T const& smat) const
+ {
+ std::for_each(
+ boost::begin(*smat.second),
+ boost::end(*smat.second),
+ compose_unary(
+ boost::bind(&insert<Tset_>,
+ boost::reference_wrapper<Tset_>(shell_ids_),
+ _1),
+ select_first<typename boost::remove_pointer<
+ typename T::second_type>::type::value_type>()));
+ }
+
+ private:
+ Tset_& shell_ids_;
+ };
+
+ struct shell_finder
+ {
+ shell_finder(shell_id_type const& id, shell_variant_type& result)
+ : id(id), result(result) {}
+
+ template<typename T>
+ void operator()(T const& smat) const
+ {
+ typename boost::remove_pointer<typename T::second_type>::type::const_iterator i((*smat.second).find(id));
+ if (i != (*smat.second).end())
+ {
+ result = (*i).second;
+ }
+ }
+
+ shell_id_type id;
+ shell_variant_type& result;
+ };
+
+ struct draw_on_com_escape
+ {
+ position_type draw_com(spherical_pair_type const& domain,
+ time_type dt) const
+ {
+ return add(
+ domain.shell().second.position(),
+ normalize(
+ create_vector<position_type>(
+ rng_.uniform(-1., 1.),
+ rng_.uniform(-1., 1.),
+ rng_.uniform(-1., 1.)),
+ domain.a_R()));
+ //XXX: ERROR!!! Use rng_.direction3d
+ }
+
+ position_type draw_iv(spherical_pair_type const& domain,
+ time_type dt, position_type const& old_iv) const
+ {
+ boost::scoped_ptr<PairGreensFunction> const gf(
+ choose_pair_greens_function(domain, dt));
+ length_type const r(draw_r(
+ rng_, *gf, dt, domain.a_r(), domain.sigma()));
+ length_type const theta(draw_theta(rng_, *gf, dt, r));
+ return adjust_iv_with_old_iv(
+ spherical_to_cartesian(
+ position_type(r, theta, rng_.uniform(0., 1.) * 2 * M_PI)),
+ old_iv);
+ }
+
+ position_type draw_com(cylindrical_pair_type const& domain,
+ time_type dt) const
+ {
+ throw not_implemented("unsupported pair type.");
+ // boost::shared_ptr<structure_type> const _structure(
+ // world_.get_structure(
+ // world_.find_molecule_info(
+ // domain.particles()[0].second.sid())
+ // .structure_id));
+
+ // cylindrical_surface_type const* const structure(
+ // dynamic_cast<cylindrical_surface_type*>(_structure.get()));
+
+ // return add(
+ // domain.shell().second.position(),
+ // multiply(structure->shape().unit_z(), domain.a_R()));
+ }
+
+ position_type draw_iv(cylindrical_pair_type const& domain,
+ time_type dt, position_type const& old_iv) const
+ {
+ BOOST_ASSERT(::size(domain.reactions()) == 1);
+ throw not_implemented("unsupported pair type.");
+ // length_type const r(
+ // draw_r(rng_, GreensFunction3DRadAbs(domain.D_tot(),
+ // domain.reactions()[0].k(), domain.r0(),
+ // domain.sigma(), domain.a_r()),
+ // dt, domain.a_r(), domain.sigma()));
+ // return multiply(normalize(old_iv), r);
+ }
+
+ draw_on_com_escape(rng_type& rng, world_type const& world)
+ : rng_(rng), world_(world) {}
+
+ rng_type& rng_;
+ world_type const& world_;
+ };
+
+ // struct draw_on_single_reaction
+ // {
+ // position_type draw_com(spherical_pair_type const& domain,
+ // time_type dt) const
+ // {
+ // return add(
+ // domain.shell().second.position(),
+ // draw_r(rng_,
+ // GreensFunction3DAbsSym(domain.D_R(), domain.a_R()),
+ // dt, domain.a_R()));
+
+ // }
+
+ // position_type draw_iv(spherical_pair_type const& domain,
+ // time_type dt, position_type const& old_iv) const
+ // {
+ // boost::scoped_ptr<PairGreensFunction> const gf(
+ // choose_pair_greens_function(domain, dt));
+ // length_type const r(draw_r(
+ // rng_, *gf, dt, domain.a_r(), domain.sigma()));
+ // length_type const theta(draw_theta(rng_, *gf, dt, r));
+ // return adjust_iv_with_old_iv(
+ // spherical_to_cartesian(
+ // position_type(r, theta, rng_.uniform(0., 1.) * 2 * M_PI)),
+ // old_iv);
+ // }
+
+ // position_type draw_com(cylindrical_pair_type const& domain,
+ // time_type dt) const
+ // {
+ // boost::shared_ptr<structure_type> const _structure(
+ // world_.find_molecule_info(
+ // domain.particles()[0].second.sid())
+ // .structure_id);
+ //
+ // cylindrical_surface_type const* const structure(
+ // dynamic_cast<cylindrical_surface_type*>(_structure.get()));
+
+ // BOOST_ASSERT(structure);
+
+ // return add(
+ // domain.shell().second.position(),
+ // multiply(structure->shape().unit_z(), domain.a_R()));
+ // }
+
+ // position_type draw_iv(cylindrical_pair_type const& domain,
+ // time_type dt, position_type const& old_iv) const
+ // {
+ // BOOST_ASSERT(::size(domain.reactions()) == 1);
+ // length_type const r(
+ // draw_r(rng_, GreensFunction3DRadAbs(domain.D_tot(),
+ // domain.reactions()[0].k(), domain.r0(),
+ // domain.sigma(), domain().a_r()),
+ // dt, domain.a_r(), domain.sigma()));
+ // BOOST_ASSERT(r > domain.sigma() && r <= domain.a_r());
+ // return multiply(normalize(old_iv), r);
+ // }
+
+ // draw_on_single_reaction(rng_type& rng, world_type const& world)
+ // : rng_(rng), world_(world) {}
+
+ // rng_type& rng_;
+ // world_type const& world_;
+ // };
+
+ struct draw_on_iv_escape
+ {
+ position_type draw_com(spherical_pair_type const& domain,
+ time_type dt)
+ {
+ return add(
+ domain.shell().second.position(),
+ normalize(
+ create_vector<position_type>(
+ rng_.uniform(-1., 1.),
+ rng_.uniform(-1., 1.),
+ rng_.uniform(-1., 1.)),
+ draw_r(
+ rng_,
+ GreensFunction3DAbsSym(domain.D_R(), domain.a_R()),
+ dt, domain.a_R())));
+ }
+
+ position_type draw_iv(spherical_pair_type const& domain,
+ time_type dt, position_type const& old_iv)
+ {
+ boost::scoped_ptr<PairGreensFunction> const gf(
+ choose_pair_greens_function(domain, dt));
+ length_type const r(domain.a_r());
+ length_type const theta(draw_theta(rng_, *gf, dt, r));
+ return adjust_iv_with_old_iv(
+ spherical_to_cartesian(
+ position_type(r, theta, rng_.uniform(0., 1.) * 2 * M_PI)),
+ old_iv);
+ }
+
+ position_type draw_com(cylindrical_pair_type const& domain,
+ time_type dt)
+ {
+ throw not_implemented("unsupported pair type.");
+ // boost::shared_ptr<structure_type> const _structure(
+ // world_.get_structure(
+ // world_.find_molecule_info(
+ // domain.particles()[0].second.sid())
+ // .structure_id));
+
+ // cylindrical_surface_type const* const structure(
+ // dynamic_cast<cylindrical_surface_type*>(_structure.get()));
+
+ // BOOST_ASSERT(structure);
+
+ // length_type const r_R(draw_r(
+ // rng_,
+ // GreensFunction3DAbsSym(domain.D_R(), domain.a_R()),
+ // dt, domain.a_R()));
+ // return add(
+ // domain.shell().second.position(),
+ // multiply(structure->shape().unit_z(), r_R));
+ }
+
+ position_type draw_iv(cylindrical_pair_type const& domain,
+ time_type dt, position_type const& old_iv)
+ {
+ throw not_implemented("unsupported pair type.");
+ // return multiply(normalize(old_iv), domain.a_r());
+ }
+
+ draw_on_iv_escape(rng_type& rng, world_type const& world)
+ : rng_(rng), world_(world) {}
+
+ rng_type& rng_;
+ world_type const& world_;
+ };
+
+ struct draw_on_iv_reaction
+ {
+ position_type draw_com(spherical_pair_type const& domain,
+ time_type dt)
+ {
+ return add(
+ domain.shell().second.position(),
+ normalize(
+ create_vector<position_type>(
+ rng_.uniform(-1., 1.),
+ rng_.uniform(-1., 1.),
+ rng_.uniform(-1., 1.)),
+ draw_r(
+ rng_,
+ GreensFunction3DAbsSym(domain.D_R(), domain.a_R()),
+ dt, domain.a_R())));
+ }
+
+ position_type draw_iv(spherical_pair_type const& domain,
+ time_type dt, position_type const& old_iv)
+ {
+ boost::scoped_ptr<PairGreensFunction> const gf(
+ choose_pair_greens_function(domain, dt));
+ length_type const r(domain.sigma());
+ length_type const theta(draw_theta(rng_, *gf, dt, r));
+ return adjust_iv_with_old_iv(
+ spherical_to_cartesian(
+ position_type(r, theta, rng_.uniform(0., 1.) * 2 * M_PI)),
+ old_iv);
+ }
+
+ position_type draw_com(cylindrical_pair_type const& domain,
+ time_type dt)
+ {
+ throw not_implemented("unsupported pair type.");
+ // boost::shared_ptr<structure_type> const _structure(
+ // world_.get_structure(
+ // world_.find_molecule_info(
+ // domain.particles()[0].second.sid()).structure_id));
+ //
+ // cylindrical_surface_type const* const structure(
+ // dynamic_cast<cylindrical_surface_type*>(_structure.get()));
+
+ // BOOST_ASSERT(structure);
+
+ // length_type const r_R(draw_r(
+ // rng_,
+ // GreensFunction3DAbsSym(domain.D_R(), domain.a_R()),
+ // dt, domain.a_R()));
+ // return add(
+ // domain.shell().second.position(),
+ // multiply(structure->shape().unit_z(), r_R));
+ }
+
+ position_type draw_iv(cylindrical_pair_type const& domain,
+ time_type dt, position_type const& old_iv)
+ {
+ throw not_implemented("unsupported pair type.");
+ // return multiply(domain.sigma(), normalize(old_iv));
+ }
+
+ draw_on_iv_reaction(rng_type& rng, world_type const& world)
+ : rng_(rng), world_(world) {}
+
+ rng_type& rng_;
+ world_type const& world_;
+ };
+
+ struct draw_on_burst
+ {
+ position_type draw_com(spherical_pair_type const& domain,
+ time_type dt)
+ {
+ return add(
+ domain.shell().second.position(),
+ normalize(
+ create_vector<position_type>(
+ rng_.uniform(-1., 1.),
+ rng_.uniform(-1., 1.),
+ rng_.uniform(-1., 1.)),
+ draw_r(
+ rng_,
+ GreensFunction3DAbsSym(domain.D_R(), domain.a_R()),
+ dt, domain.a_R())));
+ }
+
+ position_type draw_iv(spherical_pair_type const& domain,
+ time_type dt, position_type const& old_iv)
+ {
+ boost::scoped_ptr<PairGreensFunction> const gf(
+ choose_pair_greens_function(domain, dt));
+ length_type const r(draw_r(
+ rng_, *gf, dt, domain.a_r(), domain.sigma()));
+ length_type const theta(draw_theta(rng_, *gf, dt, r));
+ return adjust_iv_with_old_iv(
+ spherical_to_cartesian(
+ position_type(r, theta, rng_.uniform(0., 1.) * 2 * M_PI)),
+ old_iv);
+ }
+
+ position_type draw_com(cylindrical_pair_type const& domain,
+ time_type dt)
+ {
+ throw not_implemented("unsupported pair type.");
+ // boost::shared_ptr<structure_type> const _structure(
+ // world_.get_structure(
+ // world_.find_molecule_info(
+ // domain.particles()[0].second.sid())
+ // .structure_id));
+
+ // cylindrical_surface_type const* const structure(
+ // dynamic_cast<cylindrical_surface_type*>(_structure.get()));
+
+ // BOOST_ASSERT(structure);
+
+ // length_type const r_R(draw_r(
+ // rng_,
+ // GreensFunction3DAbsSym(domain.D_R(), domain.a_R()),
+ // dt, domain.a_R()));
+ // return add(
+ // domain.shell().second.position(),
+ // multiply(structure->shape().unit_z(), r_R));
+ }
+
+ position_type draw_iv(cylindrical_pair_type const& domain,
+ time_type dt, position_type const& old_iv)
+ {
+ throw not_implemented("unsupported pair type.");
+ // BOOST_ASSERT(::size(domain.reactions()) == 1);
+ // length_type const r(
+ // draw_r(rng_,
+ // GreensFunction3DRadAbs(
+ // domain.D_tot(),
+ // domain.reactions()[0].k(), domain.r0(),
+ // domain.sigma(), domain.a_r()),
+ // dt, domain.a_r(), domain.sigma()));
+ // return multiply(normalize(old_iv), r);
+ }
+
+ draw_on_burst(rng_type& rng, world_type const& world)
+ : rng_(rng), world_(world) {}
+
+ rng_type& rng_;
+ world_type const& world_;
+ };
+public:
+ typedef abstract_limited_generator<domain_id_pair> domain_id_pair_generator;
+
+public:
+ virtual ~EGFRDSimulator()
+ {
+ //std::for_each(domains_.begin(), domains_.end(),
+ // compose_unary(delete_ptr<domain_type>(),
+ // select_second<typename domain_map::value_type>()));
+ }
+
+ EGFRDSimulator(
+ const boost::shared_ptr<world_type>& world,
+ const boost::shared_ptr<model_type>& ecell4_model,
+ Real bd_dt_factor = 1e-5, int dissociation_retry_moves = 1,
+ length_type user_max_shell_size = std::numeric_limits<length_type>::infinity())
+ : base_type(world, ecell4_model),
+ bd_dt_factor_(bd_dt_factor),
+ num_retries_(dissociation_retry_moves),
+ user_max_shell_size_(user_max_shell_size),
+ ssmat_(new spherical_shell_matrix_type((*world).edge_lengths(), (*world).matrix_sizes())),
+ csmat_(new cylindrical_shell_matrix_type((*world).edge_lengths(), (*world).matrix_sizes())),
+ smatm_(boost::fusion::pair<spherical_shell_type,
+ spherical_shell_matrix_type*>(ssmat_.get()),
+ boost::fusion::pair<cylindrical_shell_type,
+ cylindrical_shell_matrix_type*>(csmat_.get())),
+ single_shell_factor_(.1),
+ multi_shell_factor_(.05),
+ rejected_moves_(0), zero_step_count_(0), dirty_(true)
+ {
+ std::fill(domain_count_per_type_.begin(), domain_count_per_type_.end(), 0);
+ std::fill(single_step_count_.begin(), single_step_count_.end(), 0);
+ std::fill(pair_step_count_.begin(), pair_step_count_.end(), 0);
+ std::fill(multi_step_count_.begin(), multi_step_count_.end(), 0);
+ }
+
+ EGFRDSimulator(
+ const boost::shared_ptr<world_type>& world,
+ Real bd_dt_factor = 1e-5, int dissociation_retry_moves = 1,
+ length_type user_max_shell_size = std::numeric_limits<length_type>::infinity())
+ : base_type(world),
+ bd_dt_factor_(bd_dt_factor),
+ num_retries_(dissociation_retry_moves),
+ user_max_shell_size_(user_max_shell_size),
+ ssmat_(new spherical_shell_matrix_type((*world).edge_lengths(), (*world).matrix_sizes())),
+ csmat_(new cylindrical_shell_matrix_type((*world).edge_lengths(), (*world).matrix_sizes())),
+ smatm_(boost::fusion::pair<spherical_shell_type,
+ spherical_shell_matrix_type*>(ssmat_.get()),
+ boost::fusion::pair<cylindrical_shell_type,
+ cylindrical_shell_matrix_type*>(csmat_.get())),
+ single_shell_factor_(.1),
+ multi_shell_factor_(.05),
+ rejected_moves_(0), zero_step_count_(0), dirty_(true)
+ {
+ std::fill(domain_count_per_type_.begin(), domain_count_per_type_.end(), 0);
+ std::fill(single_step_count_.begin(), single_step_count_.end(), 0);
+ std::fill(pair_step_count_.begin(), pair_step_count_.end(), 0);
+ std::fill(multi_step_count_.begin(), multi_step_count_.end(), 0);
+ }
+
+ length_type user_max_shell_size() const
+ {
+ return user_max_shell_size_;
+ }
+
+ length_type max_shell_size() const
+ {
+ const position_type& cell_sizes((*base_type::world_).cell_sizes());
+ const length_type min_cell_size(
+ std::min(cell_sizes[0], std::min(cell_sizes[1], cell_sizes[2])));
+ return std::min(min_cell_size / 2 /
+ traits_type::SAFETY,
+ user_max_shell_size_);
+ }
+
+ template<typename Tshape>
+ std::pair<const shell_id_type,
+ typename traits_type::template shell_generator<Tshape>::type>
+ new_shell(domain_id_type const& did, Tshape const& shape)
+ {
+ typedef typename traits_type::template shell_generator<Tshape>::type shell_type;
+ std::pair<const shell_id_type, shell_type> const retval(shidgen_(), shell_type(did, shape));
+ boost::fusion::at_key<shell_type>(smatm_)->update(retval);
+ return retval;
+ }
+
+ template<typename T>
+ std::pair<const shell_id_type, T> const& get_shell(shell_id_type const& id) const
+ {
+ typedef typename boost::remove_pointer<
+ typename boost::fusion::result_of::value_at_key<
+ shell_matrix_map_type, T>::type>::type shell_matrix_type;
+
+ shell_matrix_type const& smat(*boost::fusion::at_key<T>(smatm_));
+
+ typename shell_matrix_type::const_iterator i(smat.find(id));
+ if (i == smat.end())
+ {
+ throw not_found(
+ (boost::format("shell id #%s not found") % boost::lexical_cast<std::string>(id)).str());
+ }
+
+ return *i;
+ }
+
+ std::pair<shell_id_type, shell_variant_type> get_shell(shell_id_type const& id)
+ {
+ shell_variant_type result;
+ boost::fusion::for_each(smatm_, shell_finder(id, result));
+ return std::make_pair(id, result);
+ }
+
+ boost::shared_ptr<domain_type> get_domain(domain_id_type const& id) const
+ {
+ typename domain_map::const_iterator i(domains_.find(id));
+
+ if (i == domains_.end())
+ {
+ throw not_found(
+ (boost::format("domain id #%s not found") % boost::lexical_cast<std::string>(id)).str());
+ }
+
+ return (*i).second;
+ }
+
+ domain_id_pair_generator* get_domains() const
+ {
+ return make_range_generator<domain_id_pair>(domains_);
+ }
+
+ typename domain_map::size_type num_domains() const
+ {
+ return domains_.size();
+ }
+
+ int num_domains_per_type(domain_kind kind) const
+ {
+ return domain_count_per_type_[kind];
+ }
+
+ int num_single_steps_per_type(single_event_kind kind) const
+ {
+ return single_step_count_[kind];
+ }
+
+ int num_pair_steps_per_type(pair_event_kind kind) const
+ {
+ return pair_step_count_[kind];
+ }
+
+ int num_multi_steps_per_type(typename multi_type::event_kind kind) const
+ {
+ return multi_step_count_[kind];
+ }
+
+ std::vector<domain_id_type>*
+ get_neighbor_domains(particle_shape_type const& p)
+ {
+ typedef domain_collector<no_filter> collector_type;
+ no_filter f;
+ collector_type col((*base_type::world_), p, f);
+ boost::fusion::for_each(smatm_, shell_collector_applier<collector_type>(col, p.position()));
+ return col.neighbors.container().get();
+ }
+
+ std::vector<domain_id_type>*
+ get_neighbor_domains(particle_shape_type const& p, domain_id_type const& ignore)
+ {
+ typedef domain_collector<one_id_filter> collector_type;
+ one_id_filter f(ignore);
+ collector_type col((*base_type::world_), p, f);
+ boost::fusion::for_each(smatm_, shell_collector_applier<collector_type>(col, p.position()));
+ return col.neighbors.container().get();
+ }
+
+ virtual void initialize()
+ {
+ const position_type& edge_lengths((*base_type::world_).edge_lengths());
+ const typename world_type::matrix_sizes_type&
+ matrix_sizes((*base_type::world_).matrix_sizes());
+
+ domains_.clear();
+ (*ssmat_).clear();
+ (*csmat_).clear();
+ scheduler_.clear();
+
+ if (edge_lengths != (*ssmat_).edge_lengths()
+ || matrix_sizes != (*ssmat_).matrix_sizes())
+ {
+ boost::scoped_ptr<spherical_shell_matrix_type>
+ newssmat(new spherical_shell_matrix_type(edge_lengths, matrix_sizes));
+ boost::scoped_ptr<cylindrical_shell_matrix_type>
+ newcsmat(new cylindrical_shell_matrix_type(edge_lengths, matrix_sizes));
+ ssmat_.swap(newssmat);
+ csmat_.swap(newcsmat);
+ boost::fusion::at_key<spherical_shell_type>(smatm_) = ssmat_.get();
+ boost::fusion::at_key<cylindrical_shell_type>(smatm_) = csmat_.get();
+ }
+
+ BOOST_FOREACH (particle_id_pair const& pp,
+ (*base_type::world_).get_particles_range())
+ {
+ boost::shared_ptr<single_type> single(create_single(pp));
+ add_event(*single, SINGLE_EVENT_ESCAPE);
+ }
+
+ BOOST_FOREACH (reaction_rule_type const& rr,
+ (*base_type::network_rules_).zeroth_order_reaction_rules())
+ {
+ add_event(rr);
+ }
+ dirty_ = false;
+ }
+
+ /**
+ * override
+ * HERE
+ */
+
+ virtual Real next_time() const
+ {
+ return scheduler_.next_time();
+ }
+
+ virtual Real dt() const
+ {
+ return scheduler_.next_time() - base_type::t();
+ }
+
+ /**
+ * override
+ * THERE
+ */
+
+ virtual void step()
+ {
+ if (dirty_)
+ {
+ initialize();
+ }
+
+ _step();
+ }
+
+ void finalize()
+ {
+ std::vector<domain_id_type> non_singles;
+
+ // first burst all Singles.
+ BOOST_FOREACH (event_id_pair_type const& event, scheduler_.events())
+ {
+ {
+ single_event const* single_ev(
+ dynamic_cast<single_event const*>(event.second.get()));
+ if (single_ev)
+ {
+ burst(single_ev->domain());
+ continue;
+ }
+ }
+ {
+ birth_event const* birth_ev(
+ dynamic_cast<birth_event const*>(event.second.get()));
+ if (birth_ev)
+ {
+ continue;
+ }
+ }
+ {
+ domain_event_base const* domain_ev(
+ dynamic_cast<domain_event_base const*>(event.second.get()));
+ BOOST_ASSERT(domain_ev);
+ non_singles.push_back(domain_ev->domain().id());
+ // continue;
+ }
+ }
+
+ // then burst all Pairs and Multis.
+ burst_domains(non_singles);
+
+ base_type::dt_ = 0.;
+ }
+
+ // virtual bool step(time_type upto)
+ virtual bool step(const time_type& upto)
+ {
+ if (dirty_)
+ {
+ initialize();
+ }
+
+ if (upto <= this->t())
+ {
+ return false;
+ }
+
+ // if (upto >= scheduler_.top().second->time())
+ if (upto >= scheduler_.next_time())
+ {
+ _step();
+ return true;
+ }
+
+ LOG_INFO(("stop at %.16g", upto));
+
+ this->set_t(upto);
+ this->finalize();
+ return false;
+ }
+
+ // {{{ clear_volume
+ // called by Multi
+ void clear_volume(particle_shape_type const& p)
+ {
+ boost::scoped_ptr<std::vector<domain_id_type> > domains(
+ get_neighbor_domains(p));
+ if (domains)
+ {
+ burst_domains(*domains);
+ }
+ }
+
+ void clear_volume(particle_shape_type const& p,
+ domain_id_type const& ignore)
+ {
+ boost::scoped_ptr<std::vector<domain_id_type> > domains(
+ get_neighbor_domains(p, ignore));
+
+ if (domains)
+ {
+ burst_domains(*domains);
+ }
+ }
+ // }}}
+
+ bool check() const
+ {
+ LOG_INFO(("checking overall consistency"));
+
+ bool retval(true);
+
+ CHECK(this->t() >= 0.0);
+ CHECK(base_type::dt_ >= 0.0);
+
+ typedef std::map<domain_id_type, std::set<shell_id_type> >
+ domain_shell_association;
+
+ domain_shell_association did_map;
+
+ boost::fusion::for_each(smatm_,
+ domain_shell_map_builder<domain_shell_association>(
+ (*base_type::world_), did_map));
+
+ std::set<domain_id_type> scheduled_domains;
+ typename domain_type::size_type shells_correspond_to_domains(0);
+ std::size_t particles_correspond_to_domains(0);
+
+ BOOST_FOREACH (typename event_scheduler_type::value_type const& value,
+ scheduler_.events())
+ {
+ domain_type const& domain(dynamic_cast<domain_event_base&>(*value.second).domain());
+ CHECK(check_domain(domain));
+
+ if (!scheduled_domains.insert(domain.id()).second)
+ {
+ LOG_WARNING(("domain id %s is doubly scheduled!", boost::lexical_cast<std::string>(domain.id()).c_str()));
+ }
+
+ CHECK(domain.event() == value);
+
+ typename domain_type::size_type const num_shells(domain.num_shells());
+
+ shells_correspond_to_domains += num_shells;
+ particles_correspond_to_domains += domain.multiplicity();
+
+ typename std::set<shell_id_type> const& shell_ids(
+ did_map[domain.id()]);
+ CHECK(static_cast<typename domain_type::size_type>(
+ ::size(shell_ids)) == num_shells);
+ }
+
+ CHECK((*base_type::world_).num_particles() == particles_correspond_to_domains);
+
+ {
+ std::vector<domain_id_type> diff;
+ ::difference(make_select_first_range(did_map), scheduled_domains,
+ std::back_inserter(diff));
+
+ if (diff.size() != 0)
+ {
+ LOG_WARNING(("domains not scheduled: %s",
+ stringize_and_join(diff, ", ").c_str()));
+ BOOST_FOREACH (domain_id_type const& domain_id, diff)
+ {
+ LOG_WARNING((" shells that belong to unscheduled domain %s: %s",
+ boost::lexical_cast<std::string>(domain_id).c_str(),
+ stringize_and_join(did_map[domain_id], ", ").c_str()));
+ }
+ retval = false;
+ }
+ }
+
+ std::set<shell_id_type> all_shell_ids;
+ boost::fusion::for_each(smatm_,
+ shell_id_collector<std::set<shell_id_type> >(all_shell_ids));
+
+ if (shells_correspond_to_domains != static_cast<std::size_t>(::size(all_shell_ids)))
+ {
+ LOG_WARNING(("shells_correspond_to_domains=%zu, shell_population=%zu", shells_correspond_to_domains, static_cast<std::size_t>(::size(all_shell_ids))));
+ dump_events();
+ retval = false;
+ }
+ return retval;
+ }
+
+ virtual bool check_reaction() const
+ {
+ return last_reactions().size() > 0;
+ }
+
+ std::vector<std::pair<ecell4::ReactionRule, reaction_info_type> > last_reactions() const
+ {
+ return (*dynamic_cast<ReactionRecorderWrapper<reaction_record_type>*>(
+ base_type::rrec_.get())).last_reactions();
+ }
+
+protected:
+ template<typename Tshell>
+ void move_shell(std::pair<const shell_id_type, Tshell> const& shell)
+ {
+ typedef Tshell shell_type;
+ boost::fusion::at_key<shell_type>(smatm_)->update(shell);
+ }
+
+ template<typename T>
+ void update_shell_matrix(AnalyticalSingle<traits_type, T> const& domain)
+ {
+ move_shell(domain.shell());
+ }
+
+ template<typename T>
+ void update_shell_matrix(AnalyticalPair<traits_type, T> const& domain)
+ {
+ move_shell(domain.shell());
+ }
+
+ void update_shell_matrix(shaped_domain_type const& domain)
+ {
+ {
+ spherical_single_type const* _domain(dynamic_cast<spherical_single_type const*>(&domain));
+ if (_domain) {
+ update_shell_matrix(*_domain);
+ return;
+ }
+ }
+ {
+ cylindrical_single_type const* _domain(dynamic_cast<cylindrical_single_type const*>(&domain));
+ if (_domain) {
+ update_shell_matrix(*_domain);
+ return;
+ }
+ }
+ {
+ spherical_pair_type const* _domain(dynamic_cast<spherical_pair_type const*>(&domain));
+ if (_domain) {
+ update_shell_matrix(*_domain);
+ return;
+ }
+ }
+ {
+ cylindrical_pair_type const* _domain(dynamic_cast<cylindrical_pair_type const*>(&domain));
+ if (_domain) {
+ update_shell_matrix(*_domain);
+ return;
+ }
+ }
+ throw not_implemented("unsupported domain type");
+ }
+
+ // remove_domain_but_shell {{{
+ template<typename T>
+ void remove_domain_but_shell(AnalyticalSingle<traits_type, T>& domain)
+ {
+ --domain_count_per_type_[get_domain_kind(domain)];
+ _remove_domain_but_shell(domain);
+ }
+
+ template<typename T>
+ void remove_domain_but_shell(AnalyticalPair<traits_type, T>& domain)
+ {
+ --domain_count_per_type_[get_domain_kind(domain)];
+ _remove_domain_but_shell(domain);
+ }
+
+ void remove_domain_but_shell(multi_type& domain)
+ {
+ --domain_count_per_type_[get_domain_kind(domain)];
+ _remove_domain_but_shell(domain);
+ }
+
+ void remove_domain_but_shell(domain_type& domain)
+ {
+ --domain_count_per_type_[get_domain_kind(domain)];
+ _remove_domain_but_shell(domain);
+ }
+
+ void _remove_domain_but_shell(domain_type& domain)
+ {
+ LOG_DEBUG(("remove_domain_but_shell: %s", boost::lexical_cast<std::string>(domain.id()).c_str()));
+ event_id_type const event_id(domain.event().first);
+
+ // domains_.erase(domain.id()); // this hits a bug in gcc 4.4 (at least)'s unordered_map.
+ typename domain_map::iterator domain_to_be_removed(domains_.find(domain.id()));
+ if (base_type::paranoiac_)
+ {
+ BOOST_ASSERT(domain_to_be_removed != domains_.end());
+ }
+ domains_.erase(domain_to_be_removed);
+
+ try
+ {
+ remove_event(event_id);
+ }
+ catch (std::out_of_range const&)
+ {
+ LOG_DEBUG(("event %s already removed; ignoring.", boost::lexical_cast<std::string>(event_id).c_str()));
+ }
+ }
+
+ // }}}
+
+ // remove_domain {{{
+ template<typename T>
+ void remove_domain(AnalyticalSingle<traits_type, T>& domain)
+ {
+ typedef T shell_type;
+ boost::fusion::at_key<shell_type>(smatm_)->erase(domain.shell().first);
+ remove_domain_but_shell(domain);
+ }
+
+ template<typename T>
+ void remove_domain(AnalyticalPair<traits_type, T>& domain)
+ {
+ typedef T shell_type;
+ boost::fusion::at_key<shell_type>(smatm_)->erase(domain.shell().first);
+ remove_domain_but_shell(domain);
+ }
+
+ void remove_domain(multi_type& domain)
+ {
+ BOOST_FOREACH (spherical_shell_id_pair const& shell, domain.get_shells())
+ {
+ boost::fusion::at_key<spherical_shell_type>(smatm_)->erase(shell.first);
+ }
+ remove_domain_but_shell(domain);
+ }
+
+ void remove_domain(domain_type& domain)
+ {
+ {
+ spherical_single_type* _domain(dynamic_cast<spherical_single_type*>(&domain));
+ if (_domain)
+ {
+ remove_domain(*_domain);
+ return;
+ }
+ }
+ {
+ cylindrical_single_type* _domain(dynamic_cast<cylindrical_single_type*>(&domain));
+ if (_domain)
+ {
+ remove_domain(*_domain);
+ return;
+ }
+ }
+ {
+ spherical_pair_type* _domain(dynamic_cast<spherical_pair_type*>(&domain));
+ if (_domain)
+ {
+ remove_domain(*_domain);
+ return;
+ }
+ }
+ {
+ cylindrical_pair_type* _domain(dynamic_cast<cylindrical_pair_type*>(&domain));
+ if (_domain)
+ {
+ remove_domain(*_domain);
+ return;
+ }
+ }
+ {
+ multi_type* _domain(dynamic_cast<multi_type*>(&domain));
+ if (_domain)
+ {
+ remove_domain(*_domain);
+ return;
+ }
+ }
+ throw not_implemented(std::string("unsupported domain type"));
+ }
+ // }}}
+
+ void add_event(single_type& domain, single_event_kind const& kind)
+ {
+ if (base_type::paranoiac_)
+ BOOST_ASSERT(domains_.find(domain.id()) != domains_.end());
+
+ boost::shared_ptr<event_type> new_event(
+ new single_event(this->t() + domain.dt(), domain, kind));
+ domain.event() = std::make_pair(scheduler_.add(new_event), new_event);
+ LOG_DEBUG(("add_event: #%d - %s", domain.event().first, boost::lexical_cast<std::string>(domain).c_str()));
+ }
+
+ void add_event(pair_type& domain, pair_event_kind const& kind)
+ {
+ if (base_type::paranoiac_)
+ BOOST_ASSERT(domains_.find(domain.id()) != domains_.end());
+
+ boost::shared_ptr<event_type> new_event(
+ new pair_event(this->t() + domain.dt(), domain, kind));
+ domain.event() = std::make_pair(scheduler_.add(new_event), new_event);
+ LOG_DEBUG(("add_event: #%d - %s", domain.event().first, boost::lexical_cast<std::string>(domain).c_str()));
+ }
+
+ void add_event(multi_type& domain)
+ {
+ if (base_type::paranoiac_)
+ BOOST_ASSERT(domains_.find(domain.id()) != domains_.end());
+
+ boost::shared_ptr<event_type> new_event(
+ new multi_event(this->t() + domain.dt(), domain));
+ domain.event() = std::make_pair(scheduler_.add(new_event), new_event);
+ LOG_DEBUG(("add_event: #%d - %s", domain.event().first, boost::lexical_cast<std::string>(domain).c_str()));
+ }
+
+ /**
+ * The following add_event function is for birth_event.
+ */
+ void add_event(reaction_rule_type const& rr)
+ {
+ const double rnd(this->rng().uniform(0, 1));
+ const double dt(gsl_sf_log(1.0 / rnd) / double(rr.k() * (*base_type::world_).volume()));
+ boost::shared_ptr<event_type> new_event(new birth_event(this->t() + dt, rr));
+ scheduler_.add(new_event);
+ }
+
+ void remove_event(event_id_type const& id)
+ {
+ LOG_DEBUG(("remove_event: #%d", id));
+ scheduler_.remove(id);
+ }
+
+ void remove_event(domain_type const& domain)
+ {
+ remove_event(domain.event().first);
+ }
+
+ // create_single {{{
+ boost::shared_ptr<single_type> create_single(particle_id_pair const& p)
+ {
+ domain_kind kind(NONE);
+ single_type* new_single(0);
+ domain_id_type did(didgen_());
+
+ struct factory: ImmutativeStructureVisitor<typename world_type::traits_type>
+ {
+ virtual ~factory() {}
+
+ // virtual void operator()(spherical_surface_type const& structure) const
+ // {
+ // throw not_implemented(
+ // (boost::format("unsupported structure type: %s") %
+ // boost::lexical_cast<std::string>(structure)).str());
+ // }
+
+ // virtual void operator()(cylindrical_surface_type const& structure) const
+ // {
+ // // Heads up. The cylinder's *size*, not radius, is changed when
+ // // you make the cylinder bigger, because of the redefinition of
+ // // set_radius.
+ // // The radius of a rod is not more than it has to be (namely
+ // // the radius of the particle), so if the particle undergoes an
+ // // unbinding reaction, we still have to clear the target volume
+ // // and the move may be rejected (NoSpace error).
+ // const cylindrical_shell_id_pair new_shell(
+ // _this->new_shell(
+ // did, typename cylindrical_shell_type::shape_type(
+ // p.second.position(), p.second.radius(),
+ // structure.shape().unit_z(),
+ // p.second.radius())));
+ // new_single = new cylindrical_single_type(did, p, new_shell);
+ // kind = CYLINDRICAL_SINGLE;
+ // }
+
+ // virtual void operator()(planar_surface_type const& structure) const
+ // {
+ // cylindrical_shell_id_pair const new_shell(
+ // _this->new_shell(did, typename cylindrical_shell_type::shape_type(
+ // p.second.position(), p.second.radius(),
+ // normalize(cross_product(
+ // structure.shape().unit_x(),
+ // structure.shape().unit_y())),
+ // p.second.radius())));
+ // new_single = new cylindrical_single_type(did, p, new_shell);
+ // kind = CYLINDRICAL_SINGLE;
+ // }
+
+ virtual void operator()(cuboidal_region_type const& structure) const
+ {
+ spherical_shell_id_pair new_shell(
+ _this->new_shell(
+ did, typename spherical_shell_type::shape_type(
+ p.second.position(), p.second.radius())));
+ // _this->new_shell(did, ::shape(p.second)));
+ new_single = new spherical_single_type(did, p, new_shell);
+ kind = SPHERICAL_SINGLE;
+ }
+
+ factory(EGFRDSimulator* _this, particle_id_pair const& p,
+ domain_id_type const& did, single_type*& new_single,
+ domain_kind& kind)
+ : _this(_this), p(p), did(did), new_single(new_single),
+ kind(kind) {}
+
+ EGFRDSimulator* _this;
+ particle_id_pair const& p;
+ domain_id_type const& did;
+ single_type*& new_single;
+ domain_kind& kind;
+ };
+
+ molecule_info_type const species((*base_type::world_).get_molecule_info(p.second.species()));
+ // molecule_info_type const& species((*base_type::world_).find_molecule_info(p.second.species()));
+ dynamic_cast<particle_simulation_structure_type const&>(*(*base_type::world_).get_structure(species.structure_id)).accept(factory(this, p, did, new_single, kind));
+ boost::shared_ptr<domain_type> const retval(new_single);
+ domains_.insert(std::make_pair(did, retval));
+ BOOST_ASSERT(kind != NONE);
+ ++domain_count_per_type_[kind];
+ return boost::dynamic_pointer_cast<single_type>(retval);
+ }
+ // }}}
+
+ // create_pair {{{
+ boost::shared_ptr<pair_type> create_pair(particle_id_pair const& p0,
+ particle_id_pair const& p1,
+ position_type const& com,
+ position_type const& iv,
+ length_type shell_size)
+ {
+ domain_kind kind(NONE);
+ pair_type* new_pair(0);
+ domain_id_type did(didgen_());
+
+ struct factory: ImmutativeStructureVisitor<typename world_type::traits_type>
+ {
+ // virtual void operator()(spherical_surface_type const& structure) const
+ // {
+ // throw not_implemented(
+ // (boost::format("unsupported structure type: %s") %
+ // boost::lexical_cast<std::string>(structure)).str());
+ // }
+
+ // virtual void operator()(cylindrical_surface_type const& structure) const
+ // {
+ // // The radius of a rod is not more than it has to be (namely
+ // // the radius of the biggest particle), so if the particle
+ // // undergoes an unbinding reaction we still have to clear the
+ // // target volume and the move may be rejected (NoSpace error).
+ // cylindrical_shell_id_pair const new_shell(
+ // _this->new_shell(did, typename cylindrical_shell_type::shape_type(
+ // com,
+ // shell_size,
+ // shape(structure).unit_z(),
+ // std::max(p0.second.radius(), p1.second.radius()))));
+ // new_pair = new cylindrical_pair_type(did, p0, p1, new_shell,
+ // iv, rules);
+ // kind = CYLINDRICAL_PAIR;
+ // }
+
+
+ // virtual void operator()(planar_surface_type const& structure) const
+ // {
+ // cylindrical_shell_id_pair const new_shell(
+ // _this->new_shell(did, typename cylindrical_shell_type::shape_type(
+ // com,
+ // shell_size,
+ // normalize(cross_product(
+ // shape(structure).unit_x(),
+ // shape(structure).unit_y())),
+ // std::max(p0.second.radius(), p1.second.radius()))));
+ // new_pair = new cylindrical_pair_type(did, p0, p1, new_shell,
+ // iv, rules);
+ // kind = CYLINDRICAL_PAIR;
+ // }
+
+ virtual void operator()(cuboidal_region_type const& structure) const
+ {
+ spherical_shell_id_pair new_shell(
+ _this->new_shell(did,
+ typename spherical_shell_type::shape_type(com, shell_size)));
+ new_pair = new spherical_pair_type(did, p0, p1, new_shell,
+ iv, rules);
+ kind = SPHERICAL_PAIR;
+ }
+
+ factory(EGFRDSimulator* _this, particle_id_pair const& p0,
+ particle_id_pair const& p1, position_type const& com,
+ position_type const& iv, length_type shell_size,
+ domain_id_type const& did, pair_type*& new_pair,
+ domain_kind& kind)
+ : _this(_this), p0(p0), p1(p1), com(com), iv(iv),
+ shell_size(shell_size), did(did),
+ rules((*_this->network_rules_).query_reaction_rule(
+ p0.second.species(), p1.second.species())),
+ new_pair(new_pair), kind(kind) {}
+
+ EGFRDSimulator* _this;
+ particle_id_pair const& p0;
+ particle_id_pair const& p1;
+ position_type const& com;
+ position_type const& iv;
+ const length_type shell_size;
+ domain_id_type const& did;
+ typename network_rules_type::reaction_rule_vector const& rules;
+ pair_type*& new_pair;
+ domain_kind& kind;
+ };
+
+ molecule_info_type const species((*base_type::world_).get_molecule_info(p0.second.species()));
+ // molecule_info_type const& species((*base_type::world_).find_molecule_info(p0.second.species()));
+ dynamic_cast<particle_simulation_structure_type&>(*(*base_type::world_).get_structure(species.structure_id)).accept(factory(this, p0, p1, com, iv, shell_size, did, new_pair, kind));
+
+ boost::shared_ptr<domain_type> const retval(new_pair);
+ domains_.insert(std::make_pair(did, retval));
+ BOOST_ASSERT(kind != NONE);
+ ++domain_count_per_type_[kind];
+ return boost::dynamic_pointer_cast<pair_type>(retval);
+ }
+ // }}}
+
+ // create_multi {{{
+ boost::shared_ptr<multi_type> create_multi()
+ {
+ domain_id_type did(didgen_());
+ multi_type* new_multi(new multi_type(did, *this, bd_dt_factor_));
+ boost::shared_ptr<domain_type> const retval(new_multi);
+ domains_.insert(std::make_pair(did, retval));
+ ++domain_count_per_type_[MULTI];
+ return boost::dynamic_pointer_cast<multi_type>(retval);
+ }
+ // }}}
+
+ // draw_r {{{
+ template<typename Tgf>
+ static length_type draw_r(rng_type& rng,
+ Tgf const& gf,
+ time_type dt,
+ length_type a,
+ length_type sigma = -1.)
+ {
+ LOG_DEBUG(("draw_r: dt=%.16g, a=%.16g, sigma=%.16g", dt, a, sigma));
+ BOOST_ASSERT(a > sigma && a >= 0.);
+ length_type r(0.);
+ double rnd(0.);
+ try
+ {
+ do
+ {
+ rnd = rng.uniform(0., 1.);
+ r = gf.drawR(rnd, dt);
+ } while (r > a || r <= sigma);
+ }
+ catch (std::exception const& e)
+ {
+ throw propagation_error(
+ (boost::format(
+ "gf.drawR() failed: %s, gf=%s, rnd=%.16g, dt=%.16g, a=%.16g, sigma=%.16g: %s") % e.what() % gf.getName() % rnd % dt % a % sigma % gf.dump()).str());
+ }
+
+ return r;
+ }
+ // }}}
+
+ // draw_theta {{{
+ template<typename Tgf>
+ static length_type draw_theta(rng_type& rng,
+ Tgf const& gf,
+ time_type dt,
+ length_type r)
+ {
+ length_type theta(0.);
+ double rnd(0.);
+ try
+ {
+ rnd = rng.uniform(0., 1.);
+ theta = gf.drawTheta(rnd, r, dt);
+ }
+ catch (std::exception const& e)
+ {
+ throw propagation_error(
+ (boost::format(
+ "gf.drawTheta() failed: %s, gf=%s, rnd=%.16g, dt=%.16g, r=%.16g: %s") % e.what() % gf.getName() % rnd % dt % r % gf.dump()).str());
+ }
+
+ return theta;
+ }
+ // }}}
+
+ // draw_displacement {{{
+ position_type draw_displacement(
+ AnalyticalSingle<traits_type, spherical_shell_type> const& domain,
+ length_type r)
+ {
+ // const double cos_theta(this->rng().uniform(-1., 1.));
+ // const double sin_theta(sqrt(1 - cos_theta * cos_theta));
+ // double sin_phi, cos_phi;
+ // sincos(this->rng().uniform(0., 2 * M_PI), &sin_phi, &cos_phi);
+ // return normalize(
+ // create_vector<position_type>(
+ // sin_theta * cos_phi, sin_theta * sin_phi, cos_theta), r);
+
+ // double x, y, z;
+ // this->rng().dir_3d(&x, &y, &z);
+ // return normalize(
+ // create_vector<position_type>(x, y, z), r);
+
+ // return this->rng().direction3d(r);
+ return normalize(this->rng().direction3d(1), r);
+ }
+
+ position_type draw_displacement(
+ AnalyticalSingle<traits_type, cylindrical_shell_type> const& domain,
+ length_type r)
+ {
+ // return multiply(shape(domain.shell().second).unit_z(), r);
+ return multiply(shape(domain.shell().second).axis(), r);
+ }
+ // }}}
+
+ // draw_new_position {{{
+ template<typename Tshell>
+ position_type draw_new_position(
+ AnalyticalSingle<traits_type, Tshell> const& domain,
+ time_type dt)
+ {
+ typedef Tshell shell_type;
+ typedef typename shell_type::shape_type shape_type;
+ typedef typename detail::get_greens_function<shape_type>::type greens_function;
+ length_type const r(
+ draw_r(
+ this->rng(),
+ greens_function(
+ domain.particle().second.D(),
+ domain.mobility_radius()),
+ dt,
+ domain.mobility_radius()));
+ position_type const displacement(draw_displacement(domain, r));
+ LOG_DEBUG(("draw_new_position(domain=%s, dt=%.16g): mobility_radius=%.16g, r=%.16g, displacement=%s (%.16g)",
+ boost::lexical_cast<std::string>(domain).c_str(), dt,
+ domain.mobility_radius(),
+ r, boost::lexical_cast<std::string>(displacement).c_str(),
+ length(displacement)));
+ if (base_type::paranoiac_)
+ {
+ BOOST_ASSERT(r <= domain.mobility_radius());
+ // length_type const scale(domain.particle().second.radius());
+ // BOOST_ASSERT(feq(length(displacement), std::abs(r), scale));
+ }
+ return (*base_type::world_).apply_boundary(add(domain.particle().second.position(), displacement));
+ }
+
+ position_type draw_new_position(single_type& domain, time_type dt)
+ {
+ {
+ spherical_single_type* _domain(dynamic_cast<spherical_single_type*>(&domain));
+ if (_domain)
+ {
+ return draw_new_position(*_domain, dt);
+ }
+ }
+ {
+ cylindrical_single_type* _domain(dynamic_cast<cylindrical_single_type*>(&domain));
+ if (_domain)
+ {
+ return draw_new_position(*_domain, dt);
+ }
+ }
+ throw not_implemented(std::string("unsupported domain type"));
+ }
+ // }}}
+
+ template<typename Tshell>
+ position_type draw_escape_position(
+ AnalyticalSingle<traits_type, Tshell> const& domain)
+ {
+ position_type const displacement(draw_displacement(domain, domain.mobility_radius()));
+ LOG_DEBUG(("draw_escape_position(domain=%s): mobility_radius=%.16g, displacement=%s (%.16g)",
+ boost::lexical_cast<std::string>(domain).c_str(),
+ domain.mobility_radius(),
+ boost::lexical_cast<std::string>(displacement).c_str(),
+ length(displacement)));
+ if (base_type::paranoiac_)
+ {
+ ; // do nothing
+ // BOOST_ASSERT(feq(length(displacement)) <= domain.mobility_radius());
+ // length_type const scale(domain.particle().second.radius());
+ // BOOST_ASSERT(feq(length(displacement), std::abs(domain.mobility_radius()), scale));
+ }
+ return (*base_type::world_).apply_boundary(add(domain.particle().second.position(), displacement));
+ }
+
+ position_type draw_escape_position(single_type& domain)
+ {
+ {
+ spherical_single_type* _domain(dynamic_cast<spherical_single_type*>(&domain));
+ if (_domain)
+ {
+ return draw_escape_position(*_domain);
+ }
+ }
+ {
+ cylindrical_single_type* _domain(dynamic_cast<cylindrical_single_type*>(&domain));
+ if (_domain)
+ {
+ return draw_escape_position(*_domain);
+ }
+ }
+ throw not_implemented(std::string("unsupported domain type"));
+ }
+
+ // draw_new_positions {{{
+ template<typename Tdraw, typename T>
+ boost::array<position_type, 2> draw_new_positions(
+ AnalyticalPair<traits_type, T> const& domain, time_type dt)
+ {
+ Tdraw d(this->rng(), *base_type::world_);
+ position_type const new_com(d.draw_com(domain, dt));
+ position_type const new_iv(d.draw_iv(domain, dt, domain.iv()));
+ D_type const D0(domain.particles()[0].second.D());
+ D_type const D1(domain.particles()[1].second.D());
+ return array_gen(
+ (*base_type::world_).apply_boundary(subtract(new_com, multiply(new_iv, D0 / (D0 + D1)))),
+ (*base_type::world_).apply_boundary(add(new_com, multiply(new_iv, D1 / (D0 + D1)))));
+ }
+ // }}}
+
+ // propagate {{{
+ /**
+ * The difference between a burst and a propagate is that a burst
+ * always takes place before the actual scheduled event for the single,
+ * while propagate_single can be called for an escape event.
+ *
+ * Another subtle difference is that burst_single always reschedules
+ * (update_event) the single, while just calling propagate does not.
+ * So whoever calls propagate_single directly should reschedule the single
+ * afterwards.
+ */
+ //template<typename T>
+ //void propagate(AnalyticalSingle<traits_type, T>& domain, position_type const& new_pos)
+ void propagate(single_type& domain, position_type const& new_pos,
+ bool do_update_shell_matrix)
+ {
+ LOG_DEBUG(("propagate: domain=%s, new_pos=%s, do_update_shell_matrix=%d",
+ boost::lexical_cast<std::string>(domain).c_str(),
+ boost::lexical_cast<std::string>(new_pos).c_str(),
+ do_update_shell_matrix));
+
+ if (base_type::paranoiac_)
+ {
+ particle_shape_type const new_particle(new_pos, domain.particle().second.radius());
+ BOOST_ASSERT(check_overlap(new_particle, domain.particle().first));
+ }
+
+ particle_type const& old(domain.particle().second);
+ domain.particle().second = particle_type(old.sid(),
+ new_pos, old.radius(), old.D());
+ (*base_type::world_).update_particle(
+ domain.particle().first, domain.particle().second);
+
+ domain.position() = new_pos;
+ domain.size() = domain.particle().second.radius();
+ if (do_update_shell_matrix)
+ update_shell_matrix(domain);
+ }
+
+ template<typename T>
+ boost::array<boost::shared_ptr<single_type>, 2>
+ propagate(AnalyticalPair<traits_type, T>& domain,
+ boost::array<position_type, 2> const& new_pos)
+ {
+ boost::array<particle_id_pair, 2> const& particles(domain.particles());
+ boost::array<particle_id_pair, 2> new_particles(particles);
+ new_particles[0].second.position() = new_pos[0];
+ new_particles[1].second.position() = new_pos[1];
+
+ if (base_type::paranoiac_)
+ {
+ BOOST_ASSERT(distance(domain, new_particles[0].second.position()) <= -new_particles[0].second.radius());
+ BOOST_ASSERT(distance(domain, new_particles[1].second.position()) <= -new_particles[1].second.radius());
+ BOOST_ASSERT(check_overlap(
+ shape(new_particles[0].second),
+ new_particles[0].first, new_particles[1].first));
+ BOOST_ASSERT(check_overlap(
+ shape(new_particles[1].second),
+ new_particles[0].first, new_particles[1].first));
+ BOOST_ASSERT(check_pair_pos(domain, new_particles));
+ }
+
+ (*base_type::world_).update_particle(
+ new_particles[0].first, new_particles[0].second);
+ (*base_type::world_).update_particle(
+ new_particles[1].first, new_particles[1].second);
+
+ remove_domain(domain);
+
+ boost::array<boost::shared_ptr<single_type>, 2> const singles = { {
+ create_single(new_particles[0]),
+ create_single(new_particles[1])
+ } };
+
+ if (log_.level() == Logger::L_DEBUG)
+ {
+ for (int i = 0; i < 2; i++)
+ {
+ LOG_DEBUG(("propagate: #%d: %s => %s", i,
+ boost::lexical_cast<std::string>(particles[i].second.position()).c_str(),
+ boost::lexical_cast<std::string>(*singles[i]).c_str()));
+ }
+ }
+
+ return singles;
+ }
+ // }}}
+
+
+ template<typename Trange>
+ void burst_domains(Trange const& domain_ids, boost::optional<std::vector<boost::shared_ptr<domain_type> >&> const& result = boost::optional<std::vector<boost::shared_ptr<domain_type> >&>())
+ {
+ BOOST_FOREACH(domain_id_type id, domain_ids)
+ {
+ boost::shared_ptr<domain_type> domain(get_domain(id));
+ burst(domain, result);
+ }
+ }
+
+ // burst {{{
+ template<typename T>
+ void burst(AnalyticalSingle<traits_type, T>& domain)
+ {
+ position_type const old_pos(domain.position());
+ //length_type const old_shell_size(domain.size());
+ length_type const particle_radius(domain.particle().second.radius());
+
+ // Override dt, burst happens before single's scheduled event.
+ domain.dt() = this->t() - domain.last_time();
+ LOG_DEBUG(("t=%.16g, domain.last_time=%.16g", this->t(), domain.last_time()));
+
+ position_type const new_pos(draw_new_position(domain, domain.dt()));
+
+ propagate(domain, new_pos, true);
+
+ domain.last_time() = this->t();
+ domain.dt() = 0.;
+ try
+ {
+ remove_event(domain);
+ add_event(domain, SINGLE_EVENT_ESCAPE);
+ }
+ catch (std::out_of_range const&)
+ {
+ // event may have been removed.
+ LOG_DEBUG(("event %s already removed; ignoring.", boost::lexical_cast<std::string>(domain.event().first).c_str()));
+ }
+
+ // Displacement check is in draw_new_position.
+ // BOOST_ASSERT(
+ // (*base_type::world_).distance(new_pos, old_pos)
+ // <= old_shell_size - particle_radius);
+
+ BOOST_ASSERT(domain.size() == particle_radius);
+ }
+
+ template<typename T>
+ boost::array<boost::shared_ptr<single_type>, 2> burst(AnalyticalPair<traits_type, T>& domain)
+ {
+ length_type const dt(this->t() - domain.last_time());
+
+ boost::array<boost::shared_ptr<single_type>, 2> const singles(
+ propagate(domain, draw_new_positions<draw_on_burst>(domain, dt)));
+
+ add_event(*singles[0], SINGLE_EVENT_ESCAPE);
+ add_event(*singles[1], SINGLE_EVENT_ESCAPE);
+
+ return singles;
+ }
+
+ void burst(multi_type& domain, boost::optional<std::vector<boost::shared_ptr<domain_type> >&> const& result = boost::optional<std::vector<boost::shared_ptr<domain_type> >&>())
+ {
+ BOOST_FOREACH(particle_id_pair p, domain.get_particles_range())
+ {
+ boost::shared_ptr<single_type> s(create_single(p));
+ add_event(*s, SINGLE_EVENT_ESCAPE);
+ if (result)
+ {
+ result.get().push_back(boost::dynamic_pointer_cast<domain_type>(s));
+ }
+ }
+ remove_domain(domain);
+ }
+
+ void burst(single_type& domain)
+ {
+ LOG_DEBUG(("burst: bursting %s", boost::lexical_cast<std::string>(domain).c_str()));
+ BOOST_ASSERT(this->t() >= domain.last_time());
+ BOOST_ASSERT(this->t() <= domain.last_time() + domain.dt());
+ {
+ spherical_single_type* _domain(dynamic_cast<spherical_single_type*>(&domain));
+ if (_domain)
+ {
+ burst(*_domain);
+ return;
+ }
+ }
+ {
+ cylindrical_single_type* _domain(dynamic_cast<cylindrical_single_type*>(&domain));
+ if (_domain)
+ {
+ burst(*_domain);
+ return;
+ }
+ }
+ throw not_implemented("?");
+ }
+
+ void burst(boost::shared_ptr<domain_type> domain, boost::optional<std::vector<boost::shared_ptr<domain_type> >&> const& result = boost::optional<std::vector<boost::shared_ptr<domain_type> >&>())
+ {
+ LOG_DEBUG(("burst: bursting %s", boost::lexical_cast<std::string>(*domain).c_str()));
+ {
+ spherical_single_type* _domain(dynamic_cast<spherical_single_type*>(domain.get()));
+ if (_domain)
+ {
+ burst(*_domain);
+ if (result)
+ result.get().push_back(domain);
+ return;
+ }
+ }
+ {
+ cylindrical_single_type* _domain(dynamic_cast<cylindrical_single_type*>(domain.get()));
+ if (_domain)
+ {
+ burst(*_domain);
+ if (result)
+ result.get().push_back(domain);
+ return;
+ }
+ }
+ {
+ spherical_pair_type* _domain(dynamic_cast<spherical_pair_type*>(domain.get()));
+ if (_domain)
+ {
+ boost::array<boost::shared_ptr<single_type>, 2> bursted(burst(*_domain));
+ if (result)
+ {
+ result.get().push_back(boost::dynamic_pointer_cast<domain_type>(bursted[0]));
+ result.get().push_back(boost::dynamic_pointer_cast<domain_type>(bursted[1]));
+ }
+ return;
+ }
+ }
+ {
+ cylindrical_pair_type* _domain(dynamic_cast<cylindrical_pair_type*>(domain.get()));
+ if (_domain)
+ {
+ boost::array<boost::shared_ptr<single_type>, 2> bursted(burst(*_domain));
+ if (result)
+ {
+ result.get().push_back(boost::dynamic_pointer_cast<domain_type>(bursted[0]));
+ result.get().push_back(boost::dynamic_pointer_cast<domain_type>(bursted[1]));
+ }
+ return;
+ }
+ }
+ {
+ multi_type* _domain(dynamic_cast<multi_type*>(domain.get()));
+ if (_domain)
+ {
+ burst(*_domain, result);
+ return;
+ }
+ }
+ throw not_implemented("?");
+ }
+ // }}}
+
+ // attempt_single_reaction {{{
+ bool attempt_single_reaction(single_type& domain)
+ {
+ const particle_id_pair reactant(domain.particle());
+ const molecule_info_type reactant_species((*base_type::world_).get_molecule_info(reactant.second.species()));
+ // const molecule_info_type reactant_species((*base_type::world_).find_molecule_info(reactant.second.species()));
+ reaction_rules const& rules((*base_type::network_rules_).query_reaction_rule(reactant.second.species()));
+ if (::size(rules) == 0)
+ {
+ return false;
+ }
+
+ reaction_rule_type const& r(draw_reaction_rule(rules));
+ LOG_DEBUG(("attempt_single_reaction: reactant=%s, products=[%s]",
+ boost::lexical_cast<std::string>(reactant.second.sid()).c_str(),
+ stringize_and_join(r.get_products(), ", ").c_str()));
+
+ switch (::size(r.get_products()))
+ {
+ case 0:
+ remove_domain(domain);
+ (*base_type::world_).remove_particle(reactant.first);
+ if (base_type::rrec_)
+ {
+ // (*base_type::rrec_)(reaction_record_type(
+ // r.id(), array_gen<particle_id_type>(), reactant.first));
+ (*base_type::rrec_)(reaction_record_type(
+ r.id(), array_gen<particle_id_pair>(), reactant));
+ }
+ break;
+ case 1:
+ {
+ species_id_type const& product_id0(r.get_products()[0]);
+ molecule_info_type const product_species(
+ (*base_type::world_).get_molecule_info(product_id0));
+
+ if (reactant_species.radius < product_species.radius)
+ clear_volume(::shape(reactant.second), domain.id());
+
+ if (!(*base_type::world_).no_overlap(
+ ::shape(reactant.second), reactant.first))
+ {
+ LOG_INFO(("no space for product particle."));
+ throw no_space();
+ }
+
+ remove_domain(domain);
+ (*base_type::world_).remove_particle(reactant.first);
+ // particle_id_pair product(
+ // (*base_type::world_).new_particle(
+ // product_species.id(), reactant.second.position()).first);
+ particle_id_pair product(
+ (*base_type::world_).new_particle(
+ product_id0, reactant.second.position()).first);
+ boost::shared_ptr<single_type> new_domain(create_single(product));
+ add_event(*new_domain, SINGLE_EVENT_ESCAPE);
+ if (base_type::rrec_)
+ {
+ // (*base_type::rrec_)(reaction_record_type(
+ // r.id(), array_gen(product.first), reactant.first));
+ (*base_type::rrec_)(reaction_record_type(
+ r.id(), array_gen(product), reactant));
+ }
+ }
+ break;
+ case 2:
+ {
+ species_id_type const& product_id0(r.get_products()[0]);
+ species_id_type const& product_id1(r.get_products()[1]);
+ // molecule_info_type const* const product_species[] = {
+ // &(*base_type::world_).get_molecule_info(product_id0),
+ // &(*base_type::world_).get_molecule_info(product_id1)
+ // };
+
+ // D_type const D0(product_species[0]->D), D1(product_species[1]->D);
+ // length_type const radius0(product_species[0]->radius),
+ // radius1(product_species[1]->radius);
+ molecule_info_type const product_species[] = {
+ (*base_type::world_).get_molecule_info(product_id0),
+ (*base_type::world_).get_molecule_info(product_id1)
+ };
+
+ D_type const D0(product_species[0].D), D1(product_species[1].D);
+ length_type const radius0(product_species[0].radius),
+ radius1(product_species[1].radius);
+ D_type const D01(D0 + D1);
+ length_type r01(radius0 + radius1);
+ Real const rad(std::max(
+ r01 * (D0 / D01) + radius0, r01 * (D1 / D01) + radius1));
+ clear_volume(particle_shape_type(reactant.second.position(), rad), domain.id());
+
+ particle_shape_type new_particles[2];
+
+ int i = num_retries_;
+ while (--i >= 0)
+ {
+ boost::shared_ptr<structure_type> structure(
+ (*base_type::world_).get_structure(
+ reactant_species.structure_id));
+ position_type vector(
+ structure->random_vector(
+ r01 * traits_type::MINIMAL_SEPARATION_FACTOR,
+ this->rng()));
+ // place particles according to the ratio D1:D2
+ // this way, species with D=0 doesn't move.
+ // FIXME: what if D1 == D2 == 0?
+ for (;;) {
+ new_particles[0] = particle_shape_type(
+ (*base_type::world_).apply_boundary(
+ add(reactant.second.position(),
+ multiply(vector, D0 / D01))),
+ radius0);
+ new_particles[1] = particle_shape_type(
+ (*base_type::world_).apply_boundary(
+ add(reactant.second.position(),
+ multiply(vector, -D1 / D01))),
+ radius1);
+
+ length_type const distance_between_new_particles(
+ (*base_type::world_).distance(
+ new_particles[0].position(),
+ new_particles[1].position()));
+ if (distance_between_new_particles >= r01)
+ break;
+
+ vector = multiply(vector, 1.0 + 1e-7);
+ }
+
+ // accept the new positions if there is enough space.
+ if (((*base_type::world_).no_overlap(
+ new_particles[0], reactant.first)) &&
+ ((*base_type::world_).no_overlap(
+ new_particles[1], reactant.first)))
+ break;
+ }
+ if (i < 0)
+ {
+ LOG_INFO(("no space for product particles."));
+ throw no_space();
+ }
+
+ remove_domain(domain);
+ (*base_type::world_).remove_particle(reactant.first);
+
+ particle_id_pair const pp[] = {
+ (*base_type::world_).new_particle(
+ product_id0, new_particles[0].position()).first,
+ (*base_type::world_).new_particle(
+ product_id1, new_particles[1].position()).first
+ };
+ // create domains for two particles and add them to
+ // the event queue
+ add_event(*create_single(pp[0]), SINGLE_EVENT_ESCAPE);
+ add_event(*create_single(pp[1]), SINGLE_EVENT_ESCAPE);
+
+ if (base_type::rrec_)
+ {
+ // (*base_type::rrec_)(reaction_record_type(
+ // r.id(), array_gen(pp[0].first, pp[1].first),
+ // reactant.first));
+ (*base_type::rrec_)(reaction_record_type(
+ r.id(), array_gen(pp[0], pp[1]), reactant));
+ }
+ }
+ break;
+ default:
+ throw not_implemented("reactions that produces more than two products are not supported.");
+ }
+ return true;
+ }
+ // }}}
+
+ time_type draw_single_reaction_time(species_id_type const& sid)
+ {
+ reaction_rules const& rules(
+ (*base_type::network_rules_).query_reaction_rule(sid));
+ rate_type const k_tot(calculate_k_tot(rules));
+ if (k_tot <= 0.)
+ {
+ return std::numeric_limits<time_type>::infinity();
+ }
+ else if (k_tot == std::numeric_limits<rate_type>::infinity())
+ {
+ return 0.;
+ }
+ else
+ {
+ const double rnd(this->rng().uniform(0., 1.));
+ if(rnd <= 0.)
+ {
+ return std::numeric_limits<time_type>::infinity();
+ }
+ else
+ {
+ return (1. / k_tot) * (- std::log(rnd)); // log(1/x) == - log(x)
+ }
+ }
+ }
+
+ template<typename Tshell>
+ time_type draw_escape_or_interaction_time(AnalyticalSingle<traits_type, Tshell> const& domain)
+ {
+ if (domain.particle().second.D() == 0.)
+ {
+ return std::numeric_limits<time_type>::infinity();
+ }
+ else
+ {
+ typedef Tshell shell_type;
+ typedef typename shell_type::shape_type shape_type;
+ typedef typename detail::get_greens_function<shape_type>::type greens_function;
+ return greens_function(domain.particle().second.D(),
+ domain.mobility_radius())
+ .drawTime(this->rng().uniform(0., 1.));
+ }
+ }
+
+ template<typename Tshell>
+ std::pair<time_type, pair_event_kind>
+ draw_com_escape_or_iv_event_time(AnalyticalPair<traits_type, Tshell> const& domain)
+ {
+ typedef Tshell shell_type;
+ typedef typename shell_type::shape_type shape_type;
+ typedef typename detail::get_pair_greens_function<shape_type> pair_greens_functions;
+ typedef typename pair_greens_functions::iv_type iv_greens_function;
+ typedef typename pair_greens_functions::com_type com_greens_function;
+ BOOST_ASSERT(::size(domain.reactions()) == 1);
+ time_type const dt_com(
+ com_greens_function(domain.D_R(), domain.a_R()).drawTime(this->rng().uniform(0., 1.)));
+ time_type const dt_iv(
+ iv_greens_function(domain.D_tot(), domain.reactions()[0].k(),
+ domain.r0(), domain.sigma(), domain.a_r()).drawTime(this->rng().uniform(0., 1.)));
+ if (dt_com < dt_iv)
+ {
+ return std::make_pair(dt_com, PAIR_EVENT_COM_ESCAPE);
+ }
+ else
+ {
+ return std::make_pair(dt_iv, PAIR_EVENT_IV_UNDETERMINED);
+ }
+ }
+
+ template<typename Tshell>
+ std::pair<time_type, pair_event_kind>
+ draw_single_reaction_time(AnalyticalPair<traits_type, Tshell> const& domain)
+ {
+ time_type const dt[2] = {
+ draw_single_reaction_time(domain.particles()[0].second.species()),
+ draw_single_reaction_time(domain.particles()[1].second.species())
+ };
+ if (dt[0] < dt[1])
+ {
+ return std::make_pair(dt[0], PAIR_EVENT_SINGLE_REACTION_0);
+ }
+ else
+ {
+ return std::make_pair(dt[1], PAIR_EVENT_SINGLE_REACTION_1);
+ }
+ }
+
+ // {{{ determine_next_event
+ template<typename Tshell>
+ void determine_next_event(AnalyticalSingle<traits_type, Tshell>& domain)
+ {
+ typedef Tshell shell_type;
+ typedef typename shell_type::shape_type shape_type;
+ typedef typename detail::get_greens_function<shape_type>::type greens_function;
+ time_type const dt_reaction(draw_single_reaction_time(domain.particle().second.species()));
+ time_type const dt_escape_or_interaction(draw_escape_or_interaction_time(domain));
+ LOG_DEBUG(("determine_next_event: %s => dt_reaction=%.16g, "
+ "dt_escape_or_interaction=%.16g",
+ boost::lexical_cast<std::string>(domain).c_str(),
+ dt_reaction, dt_escape_or_interaction));
+ single_event_kind event_kind;
+ if (dt_reaction < dt_escape_or_interaction)
+ {
+ domain.dt() = dt_reaction;
+ event_kind = SINGLE_EVENT_REACTION;
+ }
+ else
+ {
+ domain.dt() = dt_escape_or_interaction;
+ event_kind = SINGLE_EVENT_ESCAPE;
+ }
+
+ domain.last_time() = this->t();
+ add_event(domain, event_kind);
+ }
+
+ void determine_next_event(single_type& domain)
+ {
+ {
+ spherical_single_type* _domain(
+ dynamic_cast<spherical_single_type*>(&domain));
+ if (_domain)
+ {
+ determine_next_event(*_domain);
+ return;
+ }
+ }
+ {
+ cylindrical_single_type* _domain(
+ dynamic_cast<cylindrical_single_type*>(&domain));
+ if (_domain)
+ {
+ determine_next_event(*_domain);
+ return;
+ }
+ }
+ throw not_implemented("unsupported domain type");
+ }
+
+ template<typename Tshell>
+ void determine_next_event(AnalyticalPair<traits_type, Tshell>& domain)
+ {
+ std::pair<time_type, pair_event_kind> const dt_reaction(draw_single_reaction_time(domain));
+ std::pair<time_type, pair_event_kind> const dt_com_escape_or_iv_event(draw_com_escape_or_iv_event_time(domain));
+ std::pair<time_type, pair_event_kind> const dt_and_event_pair(
+ dt_reaction.first < dt_com_escape_or_iv_event.first ?
+ dt_reaction: dt_com_escape_or_iv_event);
+ domain.dt() = dt_and_event_pair.first;
+ domain.last_time() = this->t();
+ add_event(domain, dt_and_event_pair.second);
+ }
+
+ void determine_next_event(pair_type& domain)
+ {
+ {
+ spherical_pair_type* _domain(
+ dynamic_cast<spherical_pair_type*>(&domain));
+ if (_domain)
+ {
+ determine_next_event(*_domain);
+ return;
+ }
+ }
+ {
+ cylindrical_pair_type* _domain(
+ dynamic_cast<cylindrical_pair_type*>(&domain));
+ if (_domain)
+ {
+ determine_next_event(*_domain);
+ return;
+ }
+ }
+ throw not_implemented("unsupported domain type");
+ }
+ // }}}
+
+ // get_intruders {{{
+ std::pair<std::vector<domain_id_type>*,
+ std::pair<domain_id_type, length_type> >
+ get_intruders(particle_shape_type const& p,
+ domain_id_type const& ignore) const
+ {
+ typedef intruder_collector collector_type;
+
+ collector_type col((*base_type::world_), p, ignore);
+ boost::fusion::for_each(smatm_, shell_collector_applier<collector_type>(col, p.position()));
+ return std::make_pair(col.intruders.container().get(), col.closest);
+ }
+ // }}}
+
+ template<typename TdidSet>
+ std::pair<domain_id_type, length_type>
+ get_closest_domain(position_type const& p, TdidSet const& ignore) const
+ {
+ typedef closest_object_finder<TdidSet> collector_type;
+
+ collector_type col((*base_type::world_), p, ignore);
+ boost::fusion::for_each(smatm_, shell_collector_applier<collector_type>(col, p));
+ return col.closest;
+ }
+
+ void restore_domain(single_type& domain)
+ {
+ std::pair<domain_id_type, length_type> const closest(
+ get_closest_domain(
+ domain.position(),
+ array_gen(domain.id())));
+ restore_domain(domain, closest);
+ }
+
+ template<typename T>
+ void restore_domain(AnalyticalSingle<traits_type, T>& domain,
+ std::pair<domain_id_type, length_type> const& closest)
+ {
+ typedef typename AnalyticalSingle<traits_type, T>::shell_type shell_type;
+ domain_type const* closest_domain(
+ closest.second == std::numeric_limits<length_type>::infinity() ?
+ (domain_type const*)0: get_domain(closest.first).get());
+ length_type new_shell_size(0.);
+
+ if (closest_domain)
+ {
+ single_type const* const _closest_domain(
+ dynamic_cast<single_type const*>(closest_domain));
+ if (_closest_domain)
+ {
+ length_type const distance_to_closest(
+ (*base_type::world_).distance(
+ domain.position(), _closest_domain->position()));
+ new_shell_size = calculate_single_shell_size(
+ domain, *_closest_domain,
+ distance_to_closest,
+ closest.second);
+ } else {
+ new_shell_size = closest.second / traits_type::SAFETY;
+ }
+ new_shell_size = std::min(max_shell_size(),
+ std::max(domain.particle().second.radius(), new_shell_size));
+ }
+ else
+ {
+ new_shell_size = max_shell_size();
+ }
+ LOG_DEBUG(("restore domain: %s (shell_size=%.16g, dt=%.16g) closest=%s (distance=%.16g)",
+ boost::lexical_cast<std::string>(domain).c_str(),
+ new_shell_size,
+ domain.dt(),
+ closest_domain ?
+ boost::lexical_cast<std::string>(*closest_domain).c_str():
+ "(none)",
+ closest.second));
+ if (base_type::paranoiac_)
+ {
+ BOOST_ASSERT(check_overlap(
+ particle_shape_type(domain.position(), new_shell_size),
+ domain.particle().first));
+ }
+ domain.size() = new_shell_size;
+ update_shell_matrix(domain);
+ BOOST_ASSERT(domain.size() == new_shell_size);
+ }
+
+ void restore_domain(single_type& domain,
+ std::pair<domain_id_type, length_type> const& closest)
+ {
+ {
+ spherical_single_type *_domain(
+ dynamic_cast<spherical_single_type*>(&domain));
+ if (_domain)
+ return restore_domain(*_domain, closest);
+ }
+ {
+ cylindrical_single_type *_domain(
+ dynamic_cast<cylindrical_single_type*>(&domain));
+ if (_domain)
+ return restore_domain(*_domain, closest);
+ }
+ throw not_implemented(std::string("unsupported domain type"));
+ }
+
+ template<typename Trange>
+ void burst_non_multis(Trange const& domain_ids,
+ std::vector<boost::shared_ptr<domain_type> >& bursted)
+ {
+ BOOST_FOREACH (domain_id_type id, domain_ids)
+ {
+ boost::shared_ptr<domain_type> domain(get_domain(id));
+ if (dynamic_cast<multi_type*>(domain.get()))
+ {
+ bursted.push_back(domain);
+ }
+ else
+ {
+ burst(domain, bursted);
+ }
+ }
+ }
+
+ template<typename T>
+ length_type distance(AnalyticalSingle<traits_type, T> const& domain,
+ position_type const& pos) const
+ {
+ return (*base_type::world_).distance(shape(domain.shell().second), pos);
+ }
+
+ template<typename T>
+ length_type distance(AnalyticalPair<traits_type, T> const& domain,
+ position_type const& pos) const
+ {
+ return (*base_type::world_).distance(shape(domain.shell().second), pos);
+ }
+
+ length_type distance(multi_type const& domain, position_type const& pos) const
+ {
+ length_type retval(std::numeric_limits<length_type>::infinity());
+ BOOST_FOREACH (spherical_shell_id_pair const& shell,
+ domain.get_shells())
+ {
+ length_type const dist((*base_type::world_).distance(
+ shape(shell.second), pos));
+ if (retval > dist)
+ {
+ retval = dist;
+ }
+ }
+ return retval;
+ }
+
+ length_type distance(domain_type const& domain, position_type const& pos) const
+ {
+ length_type retval;
+
+ struct distance_visitor: ImmutativeDomainVisitor<traits_type>
+ {
+ virtual ~distance_visitor() {}
+
+ virtual void operator()(multi_type const& domain) const
+ {
+ retval = outer.distance(domain, pos);
+ }
+
+ virtual void operator()(spherical_single_type const& domain) const
+ {
+ retval = outer.distance(domain, pos);
+ }
+
+ virtual void operator()(cylindrical_single_type const& domain) const
+ {
+ retval = outer.distance(domain, pos);
+ }
+
+ virtual void operator()(spherical_pair_type const& domain) const
+ {
+ retval = outer.distance(domain, pos);
+ }
+
+ virtual void operator()(cylindrical_pair_type const& domain) const
+ {
+ retval = outer.distance(domain, pos);
+ }
+
+ distance_visitor(EGFRDSimulator const& outer, position_type const& pos,
+ length_type& retval)
+ : outer(outer), pos(pos), retval(retval) {}
+
+ EGFRDSimulator const& outer;
+ position_type const& pos;
+ length_type& retval;
+ };
+
+ domain.accept(distance_visitor(*this, pos, retval));
+ return retval;
+ }
+
+ boost::optional<pair_type&>
+ form_pair(single_type& domain, single_type& possible_partner,
+ std::vector<boost::shared_ptr<domain_type> > const& neighbors)
+ {
+ LOG_DEBUG(("trying to form Pair(%s, %s)",
+ boost::lexical_cast<std::string>(domain).c_str(),
+ boost::lexical_cast<std::string>(possible_partner).c_str()));
+ // 1. Determine min shell size.
+ length_type const r[] = {
+ domain.particle().second.radius(),
+ possible_partner.particle().second.radius()
+ };
+ length_type const sigma(r[0] + r[1]);
+
+ D_type const D[] = {
+ domain.particle().second.D(),
+ possible_partner.particle().second.D()
+ };
+ D_type const D01(D[0] + D[1]);
+
+ BOOST_ASSERT(domain.particle().second.position() ==
+ domain.position());
+
+ BOOST_ASSERT(possible_partner.particle().second.position() ==
+ possible_partner.position());
+
+ position_type iv(
+ subtract(domain.position(),
+ (*base_type::world_).periodic_transpose(
+ possible_partner.position(),
+ domain.position())));
+ length_type const r0(length(iv));
+ length_type const distance_from_sigma(r0 - sigma);
+ BOOST_ASSERT(distance_from_sigma >= 0);
+
+ length_type const shell_size[] = {
+ r0 * D[0] / D01 + r[0], r0 * D[1] / D01 + r[1]
+ };
+ length_type const shell_size_margin[] = {
+ r[0] * 2,
+ r[1] * 2
+ };
+ size_t const larger_shell_index(
+ shell_size[0] + shell_size_margin[0] >=
+ shell_size[1] + shell_size_margin[1] ? 0: 1);
+ length_type const min_shell_size(shell_size[larger_shell_index]);
+ length_type const min_shell_size_margin(shell_size_margin[larger_shell_index]);
+
+ // 2. Check if min shell size not larger than max shell size or
+ // sim cell size.
+ position_type com((*base_type::world_).apply_boundary(
+ (*base_type::world_).calculate_pair_CoM(
+ domain.position(), possible_partner.position(),
+ D[0], D[1])));
+ length_type const min_shell_size_with_margin(
+ min_shell_size + min_shell_size_margin);
+ length_type const max_shell_size(
+ std::min(this->max_shell_size(),
+ distance_from_sigma * 100
+ + sigma + min_shell_size_margin));
+
+ if (min_shell_size_with_margin >= max_shell_size)
+ {
+ LOG_DEBUG(("Pair(%s, %s) not formed: min_shell_size %.16g >="
+ "max_shell_size %.16g",
+ boost::lexical_cast<std::string>(domain).c_str(),
+ boost::lexical_cast<std::string>(possible_partner).c_str(),
+ min_shell_size_with_margin, max_shell_size));
+ return boost::optional<pair_type&>();
+ }
+
+ // 3. Check if bursted Singles not too close.
+ // The simple check for closest below could miss
+ // some of them, because sizes of these Singles for this
+ // distance check has to include SINGLE_SHELL_FACTOR, while
+ // these burst objects have zero mobility radii. This is not
+ // beautiful, a cleaner framework may be possible.
+
+ domain_type* closest_domain (0);
+ length_type closest_shell_distance(std::numeric_limits<length_type>::infinity());
+ BOOST_FOREACH (boost::shared_ptr<domain_type> _neighbor, neighbors)
+ {
+ single_type* const neighbor(
+ dynamic_cast<single_type*>(_neighbor.get()));
+ if (neighbor && neighbor->id() != possible_partner.id())
+ {
+ length_type const shell_distance(
+ (*base_type::world_).distance(com, neighbor->position()) -
+ neighbor->particle().second.radius() *
+ (1.0 + traits_type::SINGLE_SHELL_FACTOR));
+ if (shell_distance < closest_shell_distance)
+ {
+ closest_domain = neighbor;
+ closest_shell_distance = shell_distance;
+ }
+ }
+ }
+
+ if (closest_domain)
+ {
+ BOOST_ASSERT(closest_shell_distance > 0);
+
+ if (closest_shell_distance <= min_shell_size_with_margin)
+ {
+ LOG_DEBUG(("Pair(%s, %s) not formed: squeezed by burst neighbor %s",
+ boost::lexical_cast<std::string>(domain).c_str(),
+ boost::lexical_cast<std::string>(possible_partner).c_str(),
+ boost::lexical_cast<std::string>(*closest_domain).c_str()));
+ return boost::optional<pair_type&>();
+ }
+ }
+
+ // 4. Determine shell size and check if closest object not too
+ // close (squeezing).
+ {
+ std::pair<domain_id_type, length_type> possible_closest(
+ get_closest_domain(com, array_gen(domain.id(),
+ possible_partner.id())));
+ if (possible_closest.second < closest_shell_distance)
+ {
+ domain_type* const _closest_domain(
+ get_domain(possible_closest.first).get());
+ closest_domain = _closest_domain;
+ closest_shell_distance = possible_closest.second;
+ }
+ }
+
+ if (closest_domain)
+ {
+ LOG_DEBUG(("Pair closest neighbor: %s %.16g, "
+ "min_shell_with_margin=%.16g",
+ boost::lexical_cast<std::string>(*closest_domain).c_str(),
+ closest_shell_distance,
+ min_shell_size_with_margin));
+ BOOST_ASSERT(closest_shell_distance > 0);
+ }
+
+ length_type new_shell_size(0.);
+
+ {
+ single_type* const _closest_domain(
+ dynamic_cast<single_type*>(closest_domain));
+ if (_closest_domain)
+ {
+ particle_type const& closest_domain_particle(
+ _closest_domain->particle().second);
+ D_type const D_tot(closest_domain_particle.D() + D01);
+ length_type const closest_particle_distance(
+ (*base_type::world_).distance(
+ com, closest_domain_particle.position()));
+ length_type const closest_min_shell(
+ closest_domain_particle.radius() *
+ (traits_type::SINGLE_SHELL_FACTOR + 1.0));
+
+ // options for shell size:
+ // a. ideal shell size
+ // b. closest shell is from a bursted single
+ // c. closest shell is closer than ideal shell size
+ new_shell_size = std::min(
+ std::min(
+ (D01 / D_tot) * (
+ closest_particle_distance - min_shell_size
+ - closest_domain_particle.radius())
+ + min_shell_size,
+ closest_particle_distance - closest_min_shell),
+ closest_shell_distance);
+ }
+ else
+ {
+ new_shell_size = closest_shell_distance;
+ }
+ new_shell_size /= traits_type::SAFETY;
+
+ if (new_shell_size <= min_shell_size_with_margin)
+ {
+ LOG_DEBUG(("Pair(%s, %s) not formed%s%s",
+ boost::lexical_cast<std::string>(domain).c_str(),
+ boost::lexical_cast<std::string>(possible_partner).c_str(),
+ closest_domain ? ": squeezed by ": "",
+ closest_domain ? boost::lexical_cast<std::string>(*closest_domain).c_str(): ""));
+ return boost::optional<pair_type&>();
+ }
+ }
+
+ // 5. Check if singles would not be better.
+ {
+ length_type const dist[] = {
+ (*base_type::world_).distance(com, domain.position()),
+ (*base_type::world_).distance(com, domain.position())
+ };
+
+ if (new_shell_size < std::max(
+ dist[0] + r[0] *
+ (1.0 + traits_type::SINGLE_SHELL_FACTOR),
+ dist[1] + r[1] *
+ (1.0 + traits_type::SINGLE_SHELL_FACTOR)) * 1.3)
+ {
+ LOG_DEBUG(("Pair(%s, %s) not formed: leaving singles are better",
+ boost::lexical_cast<std::string>(domain).c_str(),
+ boost::lexical_cast<std::string>(possible_partner).c_str()));
+ return boost::optional<pair_type&>();
+ }
+ }
+
+ // 6. Ok, Pair makes sense. Create one.
+ new_shell_size = std::min(new_shell_size, max_shell_size);
+
+ boost::shared_ptr<pair_type> new_pair(
+ create_pair(
+ domain.particle(),
+ possible_partner.particle(),
+ com, iv, new_shell_size));
+
+ determine_next_event(*new_pair);
+ BOOST_ASSERT(new_pair->dt() >= 0);
+
+ new_pair->last_time() = this->t();
+
+ remove_domain(domain);
+ remove_domain(possible_partner);
+
+ BOOST_ASSERT(
+ (closest_domain && closest_shell_distance ==
+ std::numeric_limits<length_type>::infinity())
+ || new_shell_size < closest_shell_distance);
+ BOOST_ASSERT(new_shell_size >= min_shell_size_with_margin);
+ BOOST_ASSERT(new_shell_size <= max_shell_size);
+
+ LOG_INFO(("new_pair=%s, closest_shell_distance=%.16g, closest=%s",
+ boost::lexical_cast<std::string>(*new_pair).c_str(),
+ closest_shell_distance,
+ closest_domain ? boost::lexical_cast<std::string>(closest_domain).c_str(): "(none)"));
+
+ return *new_pair;
+ }
+
+ boost::optional<multi_type&>
+ form_multi(single_type& domain,
+ std::vector<boost::shared_ptr<domain_type> > const& neighbors,
+ std::pair<domain_type*, length_type> closest)
+ {
+ LOG_DEBUG(("form multi: neighbors=[%s], closest=%s",
+ stringize_and_join(
+ make_transform_iterator_range(neighbors,
+ dereference<boost::shared_ptr<domain_type> >()),
+ ", ").c_str(),
+ boost::lexical_cast<std::string>(*closest.first).c_str()));
+ length_type const min_shell_size(
+ domain.particle().second.radius() *
+ (1.0 + multi_shell_factor_));
+
+ // Multis shells need to be contiguous.
+ if (closest.second > min_shell_size)
+ {
+ LOG_DEBUG(("multi shells aren't close enough to each other (closest distance=%.16g, min_shell_size=%.16g)", closest.second, min_shell_size));
+ return boost::optional<multi_type&>();
+ }
+
+ // If there's a multi neighbor, merge others into it.
+ // Otherwise, create a new multi and let it hold them all.
+ multi_type* retval(0);
+ retval = dynamic_cast<multi_type*>(closest.first);
+ if (!retval)
+ {
+ retval = create_multi().get();
+ add_event(*retval);
+ LOG_DEBUG(("form multi: created a new multi %s",
+ boost::lexical_cast<std::string>(*retval).c_str()));
+ }
+
+ position_type const single_pos(domain.position());
+ add_to_multi(*retval, domain);
+
+ BOOST_FOREACH (boost::shared_ptr<domain_type> neighbor, neighbors)
+ {
+ length_type const dist(distance(*neighbor, single_pos));
+ if (dist < min_shell_size)
+ add_to_multi_recursive(*retval, *neighbor);
+ }
+
+ return *retval;
+ }
+
+ bool add_to_multi(multi_type& multi, single_type& single)
+ {
+ LOG_DEBUG(("adding single to multi: %s => %s",
+ boost::lexical_cast<std::string>(single).c_str(),
+ boost::lexical_cast<std::string>(multi).c_str()));
+
+ if (!multi.add_particle(single.particle()))
+ {
+ LOG_DEBUG(("particle %s is already added to %s",
+ boost::lexical_cast<std::string>(single.particle().first).c_str(),
+ boost::lexical_cast<std::string>(multi).c_str()));
+ return false;
+ }
+
+ spherical_shell_id_pair sid_shell_pair(
+ new_shell(
+ multi.id(),
+ typename spherical_shell_type::shape_type(
+ single.particle().second.position(),
+ single.particle().second.radius() *
+ (1. + multi_shell_factor_))));
+ multi.add_shell(sid_shell_pair);
+ remove_domain(single);
+ return true;
+ }
+
+ void add_to_multi(multi_type& multi, multi_type& other_multi)
+ {
+ if (multi.id() == other_multi.id())
+ {
+ LOG_DEBUG(("add multi to multi: given two multis are the same; do nothing"));
+ return;
+ }
+ if (multi.has_particle(other_multi.get_particles_range().front().first))
+ {
+ LOG_DEBUG(("add multi to multi: given multi already added."));
+ return;
+ }
+
+ LOG_DEBUG(("adding multi to multi: %s => %s",
+ boost::lexical_cast<std::string>(other_multi).c_str(),
+ boost::lexical_cast<std::string>(multi).c_str()));
+
+ // merge other_multi into multi. other_multi will be removed.
+ spherical_shell_matrix_type& mat(
+ *boost::fusion::at_key<spherical_shell_type>(smatm_));
+ BOOST_FOREACH (spherical_shell_id_pair const& _shell,
+ other_multi.get_shells())
+ {
+ typename spherical_shell_matrix_type::iterator const i(
+ mat.find(_shell.first));
+ BOOST_ASSERT(i != mat.end());
+ spherical_shell_type& shell((*i).second);
+ shell.did() = multi.id();
+ multi.add_shell(spherical_shell_id_pair(_shell.first, shell));
+ }
+
+ BOOST_FOREACH (particle_id_pair const& particle,
+ other_multi.get_particles_range())
+ {
+ multi.add_particle(particle);
+ }
+
+ remove_domain_but_shell(other_multi);
+ }
+
+ void add_to_multi_recursive(multi_type& multi, domain_type& domain)
+ {
+ LOG_DEBUG(("add_to_multi_recursive: multi=%s, domain=%s",
+ boost::lexical_cast<std::string>(multi).c_str(),
+ boost::lexical_cast<std::string>(domain).c_str()));
+ {
+ single_type* single(dynamic_cast<single_type*>(&domain));
+ if (single)
+ {
+ particle_shape_type const new_shell(
+ single->particle().second.position(),
+ single->particle().second.radius() *
+ (1.0 + multi_shell_factor_));
+
+ if (!add_to_multi(multi, *single))
+ {
+ return;
+ }
+
+ boost::scoped_ptr<std::vector<domain_id_type> > neighbors(
+ get_neighbor_domains(new_shell, single->id()));
+
+ std::vector<boost::shared_ptr<domain_type> > bursted;
+ burst_non_multis(*neighbors, bursted);
+
+ LOG_DEBUG(("add_to_multi_recursive: bursted=[%s]",
+ stringize_and_join(
+ make_transform_iterator_range(
+ bursted,
+ dereference<boost::shared_ptr<domain_type> >()),
+ ", ").c_str()));
+
+ BOOST_FOREACH (boost::shared_ptr<domain_type> neighbor, bursted)
+ {
+ length_type const dist(distance(*neighbor, single->position()));
+ if (dist < new_shell.radius())
+ add_to_multi_recursive(multi, *neighbor);
+ }
+ return;
+ }
+ }
+ {
+ multi_type* other_multi(dynamic_cast<multi_type*>(&domain));
+ if (other_multi)
+ {
+ add_to_multi(multi, *other_multi);
+ }
+ }
+ }
+
+ boost::optional<domain_type&> form_pair_or_multi(
+ single_type& domain,
+ std::vector<boost::shared_ptr<domain_type> > const& neighbors)
+ {
+ BOOST_ASSERT(!neighbors.empty());
+
+ domain_type* possible_partner(0);
+ length_type length_to_possible_partner(
+ std::numeric_limits<length_type>::infinity());
+ BOOST_FOREACH (boost::shared_ptr<domain_type> neighbor, neighbors)
+ {
+ length_type const dist(distance(*neighbor, domain.position()));
+ if (dist < length_to_possible_partner)
+ {
+ possible_partner = neighbor.get();
+ length_to_possible_partner = dist;
+ }
+ }
+
+ // First, try forming a Pair.
+ {
+ single_type* const _possible_partner(
+ dynamic_cast<single_type*>(possible_partner));
+ if (_possible_partner)
+ {
+ boost::optional<pair_type&> new_pair(
+ form_pair(domain, *_possible_partner, neighbors));
+ if (new_pair)
+ {
+ return new_pair.get();
+ }
+ }
+ }
+
+ // If a Pair is not formed, then try forming a Multi.
+ {
+ boost::optional<multi_type&> new_multi(
+ form_multi(domain, neighbors,
+ std::pair<domain_type*, length_type>(
+ possible_partner,
+ length_to_possible_partner)));
+ if (new_multi)
+ {
+ return new_multi.get();
+ }
+ }
+ return boost::optional<domain_type&>();
+ }
+
+ void fire_event(single_event const& event)
+ {
+ single_type& domain(event.domain());
+#if 0
+ BOOST_ASSERT(
+ std::abs(domain.dt() + domain.last_time() - this->t())
+ <= 1e-18 * this->t());
+#endif
+ ++single_step_count_[event.kind()];
+ switch (event.kind())
+ {
+ default: /* never get here */ BOOST_ASSERT(0); break;
+ case SINGLE_EVENT_REACTION:
+ LOG_DEBUG(("fire_single: single reaction (%s)", boost::lexical_cast<std::string>(domain).c_str()));
+ propagate(domain, draw_new_position(domain, domain.dt()), false);
+ try
+ {
+ attempt_single_reaction(domain);
+ }
+ catch (no_space const&)
+ {
+ LOG_DEBUG(("single reaction rejected"));
+ ++rejected_moves_;
+ domain.dt() = 0.;
+ domain.last_time() = this->t();
+ add_event(domain, SINGLE_EVENT_ESCAPE);
+ }
+ break;
+
+ case SINGLE_EVENT_ESCAPE:
+ LOG_DEBUG(("fire_single: single escape (%s)", boost::lexical_cast<std::string>(domain).c_str()));
+
+ // handle immobile case
+ if (domain.D() == 0.)
+ {
+ determine_next_event(domain);
+ domain.last_time() = this->t();
+ return;
+ }
+
+ if (domain.dt() != 0.)
+ // Heads up: shell matrix will be updated later in restore_domain().
+ // propagate(domain, draw_new_position(domain, domain.dt()), false);
+ propagate(domain, draw_escape_position(domain), false);
+ length_type const min_shell_radius(domain.particle().second.radius() * (1. + single_shell_factor_));
+ {
+ std::vector<domain_id_type>* intruders;
+ std::pair<domain_id_type, length_type> closest;
+
+ // boost::tie(intruders, closest) = get_intruders(
+ // particle_shape_type(
+ // domain.position(), min_shell_radius), domain.id());
+ {
+ std::pair<std::vector<domain_id_type>*,
+ std::pair<domain_id_type, length_type> >
+ res(get_intruders(particle_shape_type(
+ domain.position(),
+ min_shell_radius),
+ domain.id()));
+ intruders = res.first;
+ closest = res.second;
+ }
+
+ boost::scoped_ptr<std::vector<domain_id_type> > _(intruders);
+
+ LOG_DEBUG(("intruders: %s, closest: %s (dist=%.16g)",
+ intruders ?
+ stringize_and_join(*intruders, ", ").c_str():
+ "(none)",
+ boost::lexical_cast<std::string>(closest.first).c_str(),
+ closest.second));
+ if (intruders)
+ {
+ std::vector<boost::shared_ptr<domain_type> > bursted;
+ burst_non_multis(*intruders, bursted);
+ if (form_pair_or_multi(domain, bursted))
+ return;
+ // if nothing was formed, recheck closest and restore shells.
+ restore_domain(domain);
+ BOOST_FOREACH (boost::shared_ptr<domain_type> _single, bursted)
+ {
+ boost::shared_ptr<single_type> single(
+ boost::dynamic_pointer_cast<single_type>(_single));
+ if (!single)
+ continue;
+ restore_domain(*single);
+ // reschedule events for the restored domains
+ remove_event(*single);
+ determine_next_event(*single);
+ }
+ } else {
+ restore_domain(domain, closest);
+ }
+ determine_next_event(domain);
+ LOG_DEBUG(("%s (dt=%.16g)",
+ boost::lexical_cast<std::string>(domain).c_str(),
+ domain.dt()));
+ }
+ }
+ }
+
+ template<typename Tshell>
+ GreensFunction3DRadAbs::EventKind
+ draw_iv_event_type(AnalyticalPair<traits_type, Tshell> const& domain)
+ {
+ typedef Tshell shell_type;
+ typedef typename shell_type::shape_type shape_type;
+ typedef typename detail::get_pair_greens_function<shape_type>::iv_type iv_greens_function;
+ // Draw actual pair event for iv at very last minute.
+ BOOST_ASSERT(::size(domain.reactions()) == 1);
+ reaction_rule_type const& r(domain.reactions()[0]);
+ iv_greens_function const gf(domain.D_tot(), r.k(), domain.r0(), domain.sigma(), domain.a_r());
+
+ double const rnd(this->rng().uniform(0, 1.));
+ return gf.drawEventType(rnd, domain.dt());
+ }
+
+ void fire_event(pair_event const& event)
+ {
+ {
+ spherical_pair_type* _domain(dynamic_cast<spherical_pair_type*>(&event.domain()));
+ if (_domain)
+ {
+ fire_event(*_domain, event.kind());
+ return;
+ }
+ }
+ {
+ cylindrical_pair_type* _domain(dynamic_cast<cylindrical_pair_type*>(&event.domain()));
+ if (_domain)
+ {
+ fire_event(*_domain, event.kind());
+ return;
+ }
+ }
+ }
+
+ template<typename T>
+ void fire_event(AnalyticalPair<traits_type, T>& domain, pair_event_kind kind)
+ {
+ typedef AnalyticalSingle<traits_type, T> corresponding_single_type;
+
+ if (kind == PAIR_EVENT_IV_UNDETERMINED)
+ {
+ // Draw actual pair event for iv at very last minute.
+ switch (draw_iv_event_type(domain))
+ {
+ case GreensFunction3DRadAbs::IV_ESCAPE:
+ kind = PAIR_EVENT_IV_ESCAPE;
+ break;
+ case GreensFunction3DRadAbs::IV_REACTION:
+ kind = PAIR_EVENT_IV_REACTION;
+ break;
+ }
+ }
+
+ ++pair_step_count_[kind];
+ LOG_DEBUG(("fire_pair: %s", stringize_event_kind(kind).c_str()));
+
+ // 1. Single reaction
+ // 2. Pair reaction
+ // 3a. IV escape
+ // 3b. com escape
+
+ switch (kind)
+ {
+ default: /* never get here */ BOOST_ASSERT(0); break;
+ case PAIR_EVENT_SINGLE_REACTION_0:
+ case PAIR_EVENT_SINGLE_REACTION_1:
+ {
+ int const index(kind == PAIR_EVENT_SINGLE_REACTION_0 ? 0 : 1);
+ // TODO.
+ //int const theother_index(1 - index);
+ position_type const old_CoM(domain.position());
+ LOG_DEBUG(("pair: single reaction %s", boost::lexical_cast<std::string>(domain.particles()[index].first).c_str()));
+
+ boost::array<boost::shared_ptr<single_type>, 2> const new_single(burst(domain));
+
+ try
+ {
+ attempt_single_reaction(*new_single[index]);
+ }
+ catch (no_space const&)
+ {
+ LOG_DEBUG(("pair event single reaction rejected"));
+ ++rejected_moves_;
+ }
+ }
+ break;
+
+ case PAIR_EVENT_COM_ESCAPE:
+ {
+ LOG_DEBUG(("=> com_escape"));
+ time_type const dt(domain.dt());
+ boost::array<position_type, 2> const new_pos(
+ draw_new_positions<draw_on_com_escape>(
+ domain, dt));
+ boost::array<boost::shared_ptr<single_type>, 2> const new_single(
+ propagate(domain, new_pos));
+
+ add_event(*new_single[0], SINGLE_EVENT_ESCAPE);
+ add_event(*new_single[1], SINGLE_EVENT_ESCAPE);
+ }
+ break;
+
+ case PAIR_EVENT_IV_REACTION:
+ {
+ LOG_DEBUG(("=> iv_reaction"));
+ BOOST_ASSERT(::size(domain.reactions()) == 1);
+ reaction_rule_type const& r(domain.reactions()[0]);
+
+ switch (::size(r.get_products()))
+ {
+ case 0:
+ {
+ (*base_type::world_).remove_particle(domain.particles()[0].first);
+ (*base_type::world_).remove_particle(domain.particles()[1].first);
+ if (base_type::rrec_)
+ {
+ (*base_type::rrec_)(reaction_record_type(
+ r.id(),
+ array_gen<particle_id_pair>(),
+ domain.particles()[0],
+ domain.particles()[1]));
+ }
+ }
+ break;
+ case 1:
+ {
+ species_id_type const& new_species_id(r.get_products()[0]);
+ molecule_info_type const new_species(
+ (*base_type::world_).get_molecule_info(new_species_id));
+
+ // calculate new R
+ position_type const new_com(
+ (*base_type::world_).apply_boundary(
+ draw_on_iv_reaction(
+ this->rng(),
+ *base_type::world_).draw_com(
+ domain, domain.dt())));
+
+ BOOST_ASSERT(
+ (*base_type::world_).distance(
+ domain.shell().second.position(),
+ new_com) + new_species.radius
+ < shape(domain.shell().second).radius());
+
+ (*base_type::world_).remove_particle(domain.particles()[0].first);
+ (*base_type::world_).remove_particle(domain.particles()[1].first);
+
+ particle_id_pair const new_particle(
+ (*base_type::world_).new_particle(
+ new_species_id, new_com).first);
+ boost::shared_ptr<single_type> new_single(
+ create_single(new_particle));
+ add_event(*new_single, SINGLE_EVENT_ESCAPE);
+
+ if (base_type::rrec_)
+ {
+ // (*base_type::rrec_)(reaction_record_type(
+ // r.id(),
+ // array_gen(new_particle.first),
+ // domain.particles()[0].first,
+ // domain.particles()[1].first));
+ (*base_type::rrec_)(reaction_record_type(
+ r.id(),
+ array_gen(new_particle),
+ domain.particles()[0],
+ domain.particles()[1]));
+ }
+ }
+ break;
+ default:
+ throw not_implemented("num products >= 2 not supported.");
+ }
+ remove_domain(domain);
+ }
+ break;
+ case PAIR_EVENT_IV_ESCAPE:
+ {
+ LOG_DEBUG(("=> iv_escape"));
+ time_type const dt(domain.dt());
+ boost::array<position_type, 2> const new_pos(
+ draw_new_positions<draw_on_iv_escape>(
+ domain, dt));
+ boost::array<boost::shared_ptr<single_type>, 2> const new_single(
+ propagate(domain, new_pos));
+
+ add_event(*new_single[0], SINGLE_EVENT_ESCAPE);
+ add_event(*new_single[1], SINGLE_EVENT_ESCAPE);
+ }
+ break;
+ }
+ }
+
+ void fire_event(multi_event& event)
+ {
+ multi_type& domain(event.domain());
+ domain.step();
+ LOG_DEBUG(("fire_multi: last_event=%s", boost::lexical_cast<std::string>(domain.last_event()).c_str()));
+ multi_step_count_[domain.last_event()]++;
+ switch (domain.last_event())
+ {
+ default: /* never get here */ BOOST_ASSERT(0); break;
+ case multi_type::REACTION:
+ if (base_type::rrec_)
+ (*base_type::rrec_)(domain.last_reaction());
+ burst(domain);
+ break;
+ case multi_type::ESCAPE:
+ burst(domain);
+ break;
+ case multi_type::NONE:
+ add_event(domain);
+ break;
+ }
+ }
+
+ void fire_event(birth_event& event)
+ {
+ const reaction_rule_type& rr(event.reaction_rule());
+ BOOST_ASSERT(::size(rr.get_products()));
+ species_id_type const& sp(rr.get_products()[0]);
+ LOG_DEBUG(("fire_birth: product=%s", boost::lexical_cast<std::string>(sp).c_str()));
+
+ try
+ {
+ molecule_info_type const minfo(
+ (*base_type::world_).get_molecule_info(sp));
+
+ //XXX: A cuboidal region is expected here.
+ const position_type new_pos(
+ this->rng().uniform(0, (*base_type::world_).edge_lengths()[0]),
+ this->rng().uniform(0, (*base_type::world_).edge_lengths()[1]),
+ this->rng().uniform(0, (*base_type::world_).edge_lengths()[2]));
+
+ const particle_shape_type new_particle(new_pos, minfo.radius);
+
+ clear_volume(new_particle);
+
+ if (!(*base_type::world_).no_overlap(new_particle))
+ {
+ LOG_INFO(("no space for product particle."));
+ throw no_space();
+ }
+
+ particle_id_pair pp(
+ (*base_type::world_).new_particle(sp, new_pos).first);
+
+ if (base_type::rrec_)
+ {
+ (*base_type::rrec_)(
+ reaction_record_type(rr.id(), array_gen(pp)));
+ }
+
+ boost::shared_ptr<single_type> single(create_single(pp));
+ add_event(*single, SINGLE_EVENT_ESCAPE);
+ }
+ catch (no_space const&)
+ {
+ LOG_DEBUG(("birth reaction rejected."));
+ ++rejected_moves_;
+ }
+
+ add_event(rr);
+ }
+
+ void fire_event(event_type& event)
+ {
+ {
+ single_event* _event(dynamic_cast<single_event*>(&event));
+ if (_event)
+ {
+ fire_event(*_event);
+ return;
+ }
+ }
+ {
+ pair_event* _event(dynamic_cast<pair_event*>(&event));
+ if (_event)
+ {
+ fire_event(*_event);
+ return;
+ }
+ }
+ {
+ multi_event* _event(dynamic_cast<multi_event*>(&event));
+ if (_event)
+ {
+ fire_event(*_event);
+ return;
+ }
+ }
+ {
+ birth_event* _event(dynamic_cast<birth_event*>(&event));
+ if (_event)
+ {
+ fire_event(*_event);
+ return;
+ }
+ }
+ throw not_implemented(std::string("unsupported domain type"));
+ }
+
+ void _step()
+ {
+ if (base_type::paranoiac_)
+ BOOST_ASSERT(check());
+
+ ++base_type::num_steps_;
+
+ (*dynamic_cast<ReactionRecorderWrapper<reaction_record_type>*>(
+ base_type::rrec_.get())).clear();
+
+ if (scheduler_.size() == 0)
+ {
+ this->set_t(scheduler_.next_time());
+ return;
+ }
+
+ event_id_pair_type ev(scheduler_.pop());
+ this->set_t(ev.second->time());
+
+ LOG_INFO(("%d: t=%.16g dt=%.16g domain=%s rejectedmoves=%d",
+ base_type::num_steps_, this->t(), base_type::dt_,
+ boost::lexical_cast<std::string>(dynamic_cast<domain_event_base const*>(ev.second.get())->domain()).c_str(),
+ rejected_moves_));
+
+ fire_event(*ev.second);
+
+ time_type const next_time(scheduler_.top().second->time());
+ base_type::dt_ = next_time - this->t();
+
+ if (base_type::dt_ == 0.)
+ {
+ ++zero_step_count_;
+ if (zero_step_count_ >= std::max(scheduler_.size() * 3, static_cast<std::size_t>(10u)))
+ {
+ throw illegal_state("too many dt=zero steps. simulator halted?");
+ }
+ }
+ else
+ {
+ zero_step_count_ = 0;
+ }
+ }
+
+ static domain_kind get_domain_kind(domain_type const& domain)
+ {
+ struct domain_kind_visitor: ImmutativeDomainVisitor<traits_type>
+ {
+ virtual ~domain_kind_visitor() {}
+
+ virtual void operator()(multi_type const&) const
+ {
+ retval = MULTI;
+ }
+
+ virtual void operator()(spherical_single_type const&) const
+ {
+ retval = SPHERICAL_SINGLE;
+ }
+
+ virtual void operator()(cylindrical_single_type const&) const
+ {
+ retval = CYLINDRICAL_SINGLE;
+ }
+
+ virtual void operator()(spherical_pair_type const&) const
+ {
+ retval = SPHERICAL_PAIR;
+ }
+
+ virtual void operator()(cylindrical_pair_type const&) const
+ {
+ retval = CYLINDRICAL_PAIR;
+ }
+
+ domain_kind_visitor(domain_kind& retval): retval(retval) {}
+
+ domain_kind& retval;
+ };
+
+ domain_kind retval = NONE;
+ domain.accept(domain_kind_visitor(retval));
+ return retval;
+ }
+
+ static domain_kind get_domain_kind(spherical_single_type const&)
+ {
+ return SPHERICAL_SINGLE;
+ }
+
+ static domain_kind get_domain_kind(cylindrical_single_type const&)
+ {
+ return CYLINDRICAL_SINGLE;
+ }
+
+ static domain_kind get_domain_kind(spherical_pair_type const&)
+ {
+ return SPHERICAL_PAIR;
+ }
+
+ static domain_kind get_domain_kind(cylindrical_pair_type const&)
+ {
+ return CYLINDRICAL_PAIR;
+ }
+
+ static domain_kind get_domain_kind(multi_type const&)
+ {
+ return MULTI;
+ }
+
+ void dump_events() const
+ {
+ LOG_INFO(("QUEUED EVENTS:"));
+ BOOST_FOREACH (event_id_pair_type const& ev, scheduler_.events())
+ {
+ LOG_INFO((" #%d: %s", ev.first, stringize_event(*ev.second).c_str()));
+ }
+ }
+
+ static std::string stringize_event(event_type const& ev)
+ {
+ {
+ single_event const* _ev(dynamic_cast<single_event const*>(&ev));
+ if (_ev)
+ {
+ return stringize_event(*_ev);
+ }
+ }
+ {
+ pair_event const* _ev(dynamic_cast<pair_event const*>(&ev));
+ if (_ev)
+ {
+ return stringize_event(*_ev);
+ }
+ }
+ {
+ multi_event const* _ev(dynamic_cast<multi_event const*>(&ev));
+ if (_ev)
+ {
+ return stringize_event(*_ev);
+ }
+ }
+ return (boost::format("Event(t=%.16g)") % ev.time()).str();
+ }
+
+ static std::string stringize_event_kind(enum single_event_kind kind)
+ {
+ switch (kind)
+ {
+ default: /* never get here */ BOOST_ASSERT(0); break;
+ case SINGLE_EVENT_ESCAPE:
+ return "escape";
+
+ case SINGLE_EVENT_REACTION:
+ return "reaction";
+ }
+ }
+
+ static std::string stringize_event_kind(enum pair_event_kind kind)
+ {
+ switch (kind)
+ {
+ default: /* never get here */ BOOST_ASSERT(0); break;
+ case PAIR_EVENT_SINGLE_REACTION_0:
+ return "reaction(0)";
+
+ case PAIR_EVENT_SINGLE_REACTION_1:
+ return "reaction(1)";
+
+ case PAIR_EVENT_COM_ESCAPE:
+ return "com_escape";
+
+ case PAIR_EVENT_IV_UNDETERMINED:
+ return "iv_undetermined";
+
+ case PAIR_EVENT_IV_ESCAPE:
+ return "iv_escape";
+
+ case PAIR_EVENT_IV_REACTION:
+ return "iv_reaction";
+ }
+ }
+
+ static std::string stringize_event(single_event const& ev)
+ {
+ return (boost::format("SingleEvent(t=%.16g, kind=%s, domain=%s)") %
+ ev.time() % stringize_event_kind(ev.kind()) %
+ boost::lexical_cast<std::string>(ev.domain())).str();
+ }
+
+ static std::string stringize_event(pair_event const& ev)
+ {
+ return (boost::format("PairEvent(t=%.16g, kind=%s, domain=%s)") %
+ ev.time() % stringize_event_kind(ev.kind()) %
+ boost::lexical_cast<std::string>(ev.domain())).str();
+ }
+
+ static std::string stringize_event(multi_event const& ev)
+ {
+ return (boost::format("MultiEvent(t=%.16g, domain=%s)") %
+ ev.time() % boost::lexical_cast<std::string>(ev.domain())).str();
+ }
+
+ template<typename T>
+ bool check_domain(AnalyticalSingle<traits_type, T> const& domain) const
+ {
+ LOG_DEBUG(("checking domain %s", boost::lexical_cast<std::string>(domain).c_str()));
+ bool retval(true);
+ std::pair<domain_id_type, length_type> closest(
+ get_closest_domain(domain.position(), array_gen(domain.id())));
+ CHECK(shape_size(shape(domain.shell().second)) <= user_max_shell_size_);
+ CHECK(shape_size(shape(domain.shell().second)) <= max_shell_size());
+ CHECK(closest.second > shape_size(shape(domain.shell().second)));
+ return retval;
+ }
+
+ template<typename T>
+ bool check_domain(AnalyticalPair<traits_type, T> const& domain) const
+ {
+ LOG_DEBUG(("checking domain %s", boost::lexical_cast<std::string>(domain).c_str()));
+ bool retval(true);
+ std::pair<domain_id_type, length_type> closest(
+ get_closest_domain(domain.position(), array_gen(domain.id())));
+ CHECK(shape_size(shape(domain.shell().second)) <= user_max_shell_size_);
+ CHECK(shape_size(shape(domain.shell().second)) <= max_shell_size());
+ CHECK(closest.second > shape_size(shape(domain.shell().second)));
+ return retval;
+ }
+
+ bool check_domain(multi_type const& domain) const
+ {
+ LOG_DEBUG(("checking domain %s", boost::lexical_cast<std::string>(domain).c_str()));
+ bool retval(true);
+ BOOST_FOREACH (typename multi_type::spherical_shell_id_pair const& shell,
+ domain.get_shells())
+ {
+ std::pair<domain_id_type, length_type> closest(
+ get_closest_domain(shape_position(shape(shell.second)),
+ array_gen(domain.id())));
+ CHECK(shape_size(shape(shell.second)) <= user_max_shell_size_);
+ CHECK(shape_size(shape(shell.second)) <= max_shell_size());
+ CHECK(closest.second > shape_size(shape(shell.second)));
+ }
+ return retval;
+ }
+
+ bool check_domain(domain_type const& domain) const
+ {
+ struct visitor: public ImmutativeDomainVisitor<traits_type>
+ {
+ virtual ~visitor() {}
+
+ virtual void operator()(multi_type const& domain) const
+ {
+ retval = self.check_domain(domain);
+ }
+
+ virtual void operator()(spherical_single_type const& domain) const
+ {
+ retval = self.check_domain(domain);
+ }
+
+ virtual void operator()(cylindrical_single_type const& domain) const
+ {
+ retval = self.check_domain(domain);
+ }
+
+ virtual void operator()(spherical_pair_type const& domain) const
+ {
+ retval = self.check_domain(domain);
+ }
+
+ virtual void operator()(cylindrical_pair_type const& domain) const
+ {
+ retval = self.check_domain(domain);
+ }
+
+ visitor(EGFRDSimulator const& self, bool& retval)
+ : self(self), retval(retval) {}
+
+ EGFRDSimulator const& self;
+ bool& retval;
+ };
+
+ bool retval;
+ domain.accept(visitor(*this, retval));
+ return retval;
+ }
+
+ bool check_overlap(particle_shape_type const& s) const
+ {
+ const particle_id_pair_and_distance_list overlapped(
+ (*base_type::world_).check_overlap(s));
+
+ if (overlapped.size() > 0)
+ {
+ LOG_DEBUG(("check_overlap %s failed:",
+ boost::lexical_cast<std::string>(s).c_str()));
+ dump_overlapped(overlapped);
+ return false;
+ }
+ return true;
+ }
+
+ bool check_overlap(particle_shape_type const& s, particle_id_type const& ignore) const
+ {
+ const particle_id_pair_and_distance_list overlapped(
+ (*base_type::world_).check_overlap(s, ignore));
+
+ if (overlapped.size() > 0)
+ {
+ LOG_DEBUG(("check_overlap %s failed:",
+ boost::lexical_cast<std::string>(s).c_str());
+ dump_overlapped(overlapped));
+ return false;
+ }
+ return true;
+ }
+
+ bool check_overlap(particle_shape_type const& s, particle_id_type const& ignore1, particle_id_type const& ignore2) const
+ {
+ const particle_id_pair_and_distance_list overlapped(
+ (*base_type::world_).check_overlap(s, ignore1, ignore2));
+
+ if (overlapped.size() > 0)
+ {
+ LOG_DEBUG(("check_overlap %s failed:",
+ boost::lexical_cast<std::string>(s).c_str()));
+ dump_overlapped(overlapped);
+ return false;
+ }
+ return true;
+ }
+
+ void dump_overlapped(particle_id_pair_and_distance_list const& list)const
+ {
+ if (log_.level() == Logger::L_DEBUG)
+ {
+ BOOST_FOREACH (particle_id_pair_and_distance const& i, list)
+ {
+ log_.debug(" (%s:%s) %.16g",
+ boost::lexical_cast<std::string>(i.first.first).c_str(),
+ boost::lexical_cast<std::string>(i.first.second).c_str(),
+ i.second);
+ }
+ }
+ }
+
+ static rate_type calculate_k_tot(reaction_rules const& rules)
+ {
+ rate_type k_tot(0.);
+ BOOST_FOREACH (reaction_rule_type const& rule, rules)
+ {
+ k_tot += rule.k();
+ }
+ return k_tot;
+ }
+
+ reaction_rule_type const& draw_reaction_rule(reaction_rules const& rules)
+ {
+ const rate_type k_tot(calculate_k_tot(rules));
+ if(k_tot == std::numeric_limits<rate_type>::infinity())
+ {
+ LOG_WARNING(("k_tot == infinite: first reaction type applied."));
+ return rules[0];
+ }
+
+ const rate_type t(this->rng().uniform(0., 1.) * k_tot);
+ rate_type a(0.);
+ BOOST_FOREACH(reaction_rule_type const& r, rules)
+ {
+ a += r.k();
+ if (a > t)
+ return r;
+ }
+
+ BOOST_ASSERT(false); // should never happen
+ }
+
+ //template<typename T1, typename T2>
+ static position_type
+ //adjust_iv_with_old_iv(T1 const& new_iv, T2 const& old_iv)
+ adjust_iv_with_old_iv(position_type const& new_iv, position_type const& old_iv)
+ {
+ length_type const angle(std::acos(old_iv[2] / length(old_iv)));
+ if (std::fmod(angle, M_PI) != 0.0)
+ {
+ position_type const rotation_axis(
+ normalize(position_type(-old_iv[1], old_iv[0], 0.)));
+ return rotate_vector(new_iv, rotation_axis, angle);
+ }
+ else if (angle == 0.)
+ {
+ return new_iv;
+ }
+ else
+ {
+ return position_type(new_iv[0], new_iv[1], -new_iv[1]);
+ }
+ }
+
+ template<typename T>
+ bool check_pair_pos(AnalyticalPair<traits_type, T> const& domain,
+ boost::array<particle_id_pair, 2> const& new_particles)
+ {
+ length_type const new_distance(
+ (*base_type::world_).distance(new_particles[0].second.position(),
+ new_particles[1].second.position()));
+ length_type const r01(new_particles[0].second.radius() +
+ new_particles[1].second.radius());
+
+ if (new_distance <= r01)
+ {
+ log_.warn(
+ "rejected move: pair=%s, radii=%.16g, particle_distance=%.16g",
+ boost::lexical_cast<std::string>(domain).c_str(),
+ r01, new_distance);
+ return false;
+ }
+
+ // particles within mobility radius.
+ position_type const& com(shape(domain.shell().second).position());
+ length_type const radius(shape(domain.shell().second).radius());
+ length_type const d[2] = {
+ (*base_type::world_).distance(com, new_particles[0].second.position()) + new_particles[0].second.radius(),
+ (*base_type::world_).distance(com, new_particles[1].second.position()) + new_particles[1].second.radius()
+ };
+ if (d[0] > radius || d[1] > radius)
+ {
+ log_.warn(
+ "rejected move: new particle(s) out of protective sphere: pair=%s, radii=%.16g, d0=%.16g, d1=%.16g",
+ boost::lexical_cast<std::string>(domain).c_str(),
+ d[0], d[1]);
+ return false;
+ }
+ return true;
+ }
+
+ template<typename T>
+ static PairGreensFunction* choose_pair_greens_function(
+ AnalyticalPair<traits_type, T> const& domain, time_type t)
+ {
+ length_type const r0(domain.r0());
+ length_type const distance_from_sigma(r0 - domain.sigma());
+ length_type const distance_from_shell(domain.a_r() - r0);
+ length_type const threshold_distance(
+ traits_type::CUTOFF_FACTOR * std::sqrt(6. * domain.D_tot() * t));
+
+ BOOST_ASSERT(::size(domain.reactions()) == 1);
+ if (distance_from_sigma < threshold_distance)
+ {
+ if (distance_from_shell < threshold_distance)
+ {
+ // near both a and sigma;
+ // use GreensFunction3DRadAbs
+ LOG_DEBUG(("GF: normal"));
+ return new GreensFunction3DRadAbs(
+ domain.D_tot(), domain.reactions()[0].k(),
+ r0, domain.sigma(), domain.a_r());
+ }
+ else
+ {
+ // near sigma; use GreensFunction3DRadInf
+ LOG_DEBUG(("GF: only sigma"));
+ return new GreensFunction3DRadInf(
+ domain.D_tot(), domain.reactions()[0].k(),
+ r0, domain.sigma());
+ }
+ }
+ else
+ {
+ if (distance_from_shell < threshold_distance)
+ {
+ // near a;
+ LOG_DEBUG(("GF: only a"));
+ return new GreensFunction3DAbs(
+ domain.D_tot(), r0, domain.a_r());
+ }
+ else
+ {
+ // distant from both a and sigma;
+ LOG_DEBUG(("GF: free"));
+ return new GreensFunction3D(domain.D_tot(), r0);
+ }
+ }
+ }
+
+ static length_type calculate_single_shell_size(
+ single_type const& single,
+ single_type const& closest,
+ length_type distance,
+ length_type shell_distance)
+ {
+ length_type const min_radius0(single.particle().second.radius());
+ D_type const D0(single.particle().second.D());
+ if (D0 == 0)
+ return min_radius0;
+ length_type const min_radius1(closest.particle().second.radius());
+ D_type const D1(closest.particle().second.D());
+ length_type const min_radius01(min_radius0 + min_radius1);
+ length_type const sqrtD0(std::sqrt(D0));
+
+ return std::max(std::min(sqrtD0 / (sqrtD0 + std::sqrt(D1))
+ * (distance - min_radius01) + min_radius0,
+ shell_distance / traits_type::SAFETY),
+ min_radius0);
+ }
+
+protected:
+ double const bd_dt_factor_;
+ int const num_retries_;
+ length_type const user_max_shell_size_;
+
+ domain_map domains_;
+ boost::scoped_ptr<spherical_shell_matrix_type> ssmat_;
+ boost::scoped_ptr<cylindrical_shell_matrix_type> csmat_;
+ shell_matrix_map_type smatm_;
+ shell_id_generator shidgen_;
+ domain_id_generator didgen_;
+ event_scheduler_type scheduler_;
+ boost::array<int, NUM_SINGLE_EVENT_KINDS> single_step_count_;
+ boost::array<int, NUM_PAIR_EVENT_KINDS> pair_step_count_;
+ boost::array<int, multi_type::NUM_MULTI_EVENT_KINDS> multi_step_count_;
+ boost::array<int, NUM_DOMAIN_KINDS> domain_count_per_type_;
+ length_type single_shell_factor_;
+ length_type multi_shell_factor_;
+ unsigned int rejected_moves_;
+ unsigned int zero_step_count_;
+ bool dirty_;
+ static Logger& log_;
+};
+#undef CHECK
+
+template<typename Ttraits>
+inline char const* retrieve_domain_type_name(
+ typename EGFRDSimulator<Ttraits>::spherical_single_type const&)
+{
+ return "SphericalSingle";
+}
+
+template<typename Ttraits>
+inline char const* retrieve_domain_type_name(
+ typename EGFRDSimulator<Ttraits>::cylindrical_single_type const&)
+{
+ return "CylindricalSingle";
+}
+
+template<typename Ttraits>
+inline char const* retrieve_domain_type_name(
+ typename EGFRDSimulator<Ttraits>::spherical_pair_type const&)
+{
+ return "SphericalPair";
+}
+
+template<typename Ttraits>
+inline char const* retrieve_domain_type_name(
+ typename EGFRDSimulator<Ttraits>::cylindrical_pair_type const&)
+{
+ return "CylindricalPair";
+}
+
+
+
+template<typename Ttraits_>
+Logger& EGFRDSimulator<Ttraits_>::log_(Logger::get_logger("ecell.EGFRDSimulator"));
+
+#endif /* EGFRDSIMULATOR_HPP */
diff --git a/ecell4/egfrd/FaceTriangle.hpp b/ecell4/egfrd/FaceTriangle.hpp
new file mode 100644
index 0000000..bf4071b
--- /dev/null
+++ b/ecell4/egfrd/FaceTriangle.hpp
@@ -0,0 +1,149 @@
+#ifndef GFRD_POLYGON_FACE_TRIANGLE
+#define GFRD_POLYGON_FACE_TRIANGLE
+#include "geometry.hpp"
+#include "TriangleOperation.hpp"
+#include <boost/array.hpp>
+
+template<typename coordT>
+struct FaceTriangle
+{
+ public:
+ typedef coordT position_type;
+ typedef position_type vector_type;
+ typedef typename element_type_of<coordT>::type length_type;
+ typedef std::size_t size_type;
+ typedef size_type index_type;
+ typedef boost::array<length_type, 3> length_container_type;
+ typedef boost::array<position_type, 3> position_container_type;
+
+ public:
+ FaceTriangle(){}
+ explicit FaceTriangle(const position_container_type& vertices)
+ : normal_(cross_product(vertices[1] - vertices[0],
+ vertices[2] - vertices[0]) /
+ length(cross_product(vertices[1] - vertices[0], vertices[2] - vertices[0]))),
+ para_b_(vertices[2] - vertices[0]), vertices_(vertices)
+ {
+ edges_[0] = vertices[1] - vertices[0];
+ edges_[1] = vertices[2] - vertices[1];
+ edges_[2] = vertices[0] - vertices[2];
+ lengths_[0] = length(edges_[0]);
+ lengths_[1] = length(edges_[1]);
+ lengths_[2] = length(edges_[2]);
+ angles_[0] = angle(edges_[0], edges_[2] * -1.0);
+ angles_[1] = angle(edges_[1], edges_[0] * -1.0);
+ angles_[2] = angle(edges_[2], edges_[1] * -1.0);
+ }
+
+ FaceTriangle(const position_type& a, const position_type& b,
+ const position_type& c)
+ : normal_(cross_product(b - a, c - a) / length(cross_product(b - a, c - a))),
+ para_b_(c - a)
+ {
+ vertices_[0] = a;
+ vertices_[1] = b;
+ vertices_[2] = c;
+ edges_[0] = vertices_[1] - vertices_[0];
+ edges_[1] = vertices_[2] - vertices_[1];
+ edges_[2] = vertices_[0] - vertices_[2];
+ lengths_[0] = length(edges_[0]);
+ lengths_[1] = length(edges_[1]);
+ lengths_[2] = length(edges_[2]);
+ angles_[0] = angle(edges_[0], edges_[2] * -1.0);
+ angles_[1] = angle(edges_[1], edges_[0] * -1.0);
+ angles_[2] = angle(edges_[2], edges_[1] * -1.0);
+ }
+
+ vector_type const& normal() const {return normal_;}
+ vector_type const& represent() const {return edges_[0];}
+ position_type const& vertex_at (const index_type i) const {return vertices_.at(i);}
+ vector_type const& edge_at (const index_type i) const {return edges_.at(i);}
+ length_type const& length_of_edge_at(const index_type i) const {return lengths_.at(i);}
+ length_type const& angle_at (const index_type i) const {return angles_.at(i);}
+
+ vector_type const& para_a() const {return edges_[0];}
+ vector_type const& para_b() const {return para_b_;}
+ position_type const& origin() const {return vertices_[0];}
+
+ position_container_type const& vertices() const {return vertices_;}
+ position_container_type const& edges() const {return edges_;}
+ length_container_type const& lengths_of_edges() const {return lengths_;}
+
+ private:
+
+ vector_type normal_;
+ vector_type para_b_;
+ length_container_type lengths_;
+ length_container_type angles_;
+ position_container_type vertices_;
+ position_container_type edges_;
+};
+
+// for triangle operation
+
+template<typename coordT>
+inline coordT centroid(const FaceTriangle<coordT>& face)
+{
+ return centroid(face.vertices());
+}
+
+template<typename coordT>
+inline coordT incenter(const FaceTriangle<coordT>& face)
+{
+ return incenter(face.vertices(), face.lengths_of_edges());
+}
+
+template<typename coordT>
+inline std::size_t match_edge(const coordT& vec, const FaceTriangle<coordT>& face)
+{
+ return match_edge(vec, face.edges());
+}
+
+template<typename coordT>
+std::pair<typename element_type_of<coordT>::type, // distance
+ typename element_type_of<coordT>::type> // r of circle in triangle
+distance(const coordT& pos, const FaceTriangle<coordT>& face)
+{
+ const coordT line = pos - face.vertex_at(0);
+ if(dot_product(line, face.normal()) > 0)
+ {
+ return distance(pos, face.vertices());
+ }
+ else
+ {
+ boost::array<coordT, 3> rev;
+ rev[0] = face.vertex_at(2);
+ rev[1] = face.vertex_at(1);
+ rev[2] = face.vertex_at(0);
+ return distance(pos, rev);
+ }
+}
+
+template<typename coordT>
+std::pair<bool, coordT>
+test_intersect_segment_triangle(const coordT& begin, const coordT& end,
+ const FaceTriangle<coordT>& face)
+{
+ const coordT line = end - begin;
+ if(dot_product(line, face.normal()) < 0.0)
+ {
+ return test_intersect_segment_triangle(begin, end, face.vertices());
+ }
+ else
+ {
+ boost::array<coordT, 3> rev;
+ rev[0] = face.vertex_at(2);
+ rev[1] = face.vertex_at(1);
+ rev[2] = face.vertex_at(0);
+ return test_intersect_segment_triangle(begin, end, rev);
+ }
+}
+
+template<typename coordT>
+coordT reflect_plane(const coordT& begin, const coordT& end,
+ const FaceTriangle<coordT>& face)
+{
+ return reflect_plane(begin, end, face.normal(), face.vertex_at(0));
+}
+
+#endif /* GFRD_POLYGON_FACE_TRIANGLE */
diff --git a/ecell4/egfrd/GreensFunction.hpp b/ecell4/egfrd/GreensFunction.hpp
new file mode 100644
index 0000000..fd38d57
--- /dev/null
+++ b/ecell4/egfrd/GreensFunction.hpp
@@ -0,0 +1,30 @@
+#if !defined( __GREENSFUNCTION_HPP )
+#define __GREENSFUNCTION_HPP
+
+#include "Defs.hpp"
+
+class GreensFunction
+{
+public:
+ enum EventKind
+ {
+ IV_ESCAPE,
+ IV_REACTION
+ };
+
+public:
+ GreensFunction( const Real D )
+ : D( D ) {}
+
+ ~GreensFunction() {}
+
+ Real getD() const
+ {
+ return this->D;
+ }
+
+protected:
+ const Real D;
+};
+
+#endif // __GREENSFUNCTION_HPP
diff --git a/ecell4/egfrd/GreensFunction1DAbsAbs.cpp b/ecell4/egfrd/GreensFunction1DAbsAbs.cpp
new file mode 100644
index 0000000..1b03c38
--- /dev/null
+++ b/ecell4/egfrd/GreensFunction1DAbsAbs.cpp
@@ -0,0 +1,708 @@
+#include <sstream>
+#include <iostream>
+#include <cstdlib>
+#include <exception>
+#include <vector>
+
+#include <gsl/gsl_math.h>
+#include <gsl/gsl_sf_trig.h>
+#include <gsl/gsl_sum.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_interp.h>
+#include <gsl/gsl_sf_expint.h>
+#include <gsl/gsl_sf_elljac.h>
+#include <gsl/gsl_roots.h>
+
+#include <math.h>
+
+#include "compat.h"
+#include "findRoot.hpp"
+#include "GreensFunction1DAbsAbs.hpp"
+#include "Defs.hpp"
+
+const Real GreensFunction1DAbsAbs::L_TYPICAL = 1E-8;
+const Real GreensFunction1DAbsAbs::T_TYPICAL = 1E-6;
+const Real GreensFunction1DAbsAbs::EPSILON = 1E-12;
+const Real GreensFunction1DAbsAbs::PDENS_TYPICAL = 1;
+
+// Calculates the probability of finding the particle inside the domain at
+// time t
+Real
+GreensFunction1DAbsAbs::p_survival (Real t) const
+{
+ THROW_UNLESS( std::invalid_argument, t >= 0.0 );
+
+ const Real a(this->geta());
+ const Real sigma(this->getsigma());
+ const Real L(this->geta() - this->getsigma());
+ const Real r0(this->getr0());
+ const Real D(this->getD());
+ const Real v(this->getv());
+
+ if ( fabs(r0-sigma) < L*EPSILON || fabs(a-r0) < L*EPSILON || L < 0.0 )
+ {
+ // The survival probability of a zero domain is zero
+ return 0.0;
+ }
+
+ // Set values that are constant in this calculation
+ const Real expo(-D*t/(L*L)); // part of the exponent -D n^2 PI^2 t / L^2
+ const Real r0s(r0 - sigma);
+ const Real r0s_L(r0s/L);
+
+ // some abbreviations for terms appearing in the sums with drift<>0
+ const Real sigmav2D(sigma*v/2.0/D);
+ const Real av2D(a*v/2.0/D);
+ const Real Lv2D(L*v/2.0/D);
+ const Real vexpo(-v*v*t/4.0/D - v*r0/2.0/D); // exponent of the drift-prefactor
+
+
+ // Initialize summation
+ Real sum = 0, term = 0, prev_term = 0;
+ Real nPI;
+
+
+ // Sum
+ Real n=1;
+ // different calculations depending on whether v=0 or not
+ if(v==0.0) // case without drift (v==0); in this case the summation is simpler, so do the complicated caluclation only if necessary
+ {
+ do
+ {
+ if (n >= MAX_TERMS )
+ {
+ std::cerr << "Too many terms for p_survival. N: " << n << std::endl;
+ break;
+ }
+
+ prev_term = term;
+ nPI = (double)n*M_PI;
+ term = exp(nPI*nPI*expo) * sin(nPI*r0s_L) * (1.0 - cos(nPI)) / nPI;
+ sum += term;
+ n++;
+ }
+ // Is 1 a good measure or will this fail at some point?
+ while ( fabs(term/sum) > EPSILON*1.0 ||
+ fabs(prev_term/sum) > EPSILON*1.0 ||
+ n < MIN_TERMS );
+
+ sum = 2.0*sum; // This is a prefactor of every term, so do only one multiplication here
+ }
+ else // case with drift (v<>0)
+ {
+ do
+ {
+ if (n >= MAX_TERMS )
+ {
+ std::cerr << "Too many terms for p_survival. N: " << n << std::endl;
+ break;
+ }
+
+ nPI = (double)n*M_PI;
+ prev_term = term;
+ term = exp(nPI*nPI*expo) * (exp(sigmav2D) - cos(nPI)*exp(av2D)) * nPI/(Lv2D*Lv2D+nPI*nPI) * sin(nPI*r0s_L);
+ sum += term;
+ n++;
+ }
+ // TODO: Is 1 a good measure or will this fail at some point?
+ while ( fabs(term/sum) > EPSILON*1.0 ||
+ fabs(prev_term/sum) > EPSILON*1.0 ||
+ n < MIN_TERMS );
+
+ sum = 2.0*exp(vexpo) * sum; // prefactor containing the drift
+
+ }
+
+ return sum;
+}
+
+// Calculates the probability density of finding the particle at location r at
+// time t.
+Real
+GreensFunction1DAbsAbs::prob_r (Real r, Real t) const
+{
+ THROW_UNLESS( std::invalid_argument, 0.0 <= (r-sigma) && r <= a );
+ THROW_UNLESS( std::invalid_argument, t >= 0.0 );
+
+ const Real a(this->geta());
+ const Real sigma(this->getsigma());
+ const Real L(this->geta() - this->getsigma());
+ const Real r0(this->getr0());
+ const Real D(this->getD());
+ const Real v(this->getv());
+
+ // if there was no time change or no diffusivity => no movement
+ if (t == 0 || D == 0)
+ {
+ // the probability density function is a delta function
+ if (r == r0)
+ {
+ return INFINITY;
+ }
+ else
+ {
+ return 0.0;
+ }
+ }
+ else if ( fabs(r-sigma) < L*EPSILON || fabs(a-r) < L*EPSILON || L < 0.0 )
+ {
+ return 0.0;
+ }
+
+ // Set values that are constant in this calculation
+ const Real expo(-D*t/(L*L));
+ const Real rs_L((r-sigma)/L);
+ const Real r0s_L((r0-sigma)/L);
+ const Real vexpo(-v*v*t/4.0/D + v*(r-r0)/2.0/D); // exponent of the drift-prefactor
+
+ // Initialize summation
+ Real nPI;
+ Real sum = 0, term = 0, prev_term = 0;
+
+ // Sum
+ int n=1;
+ do
+ {
+ if (n >= MAX_TERMS )
+ {
+ std::cerr << "Too many terms for prob_r. N: " << n << std::endl;
+ break;
+ }
+
+ prev_term = term;
+
+ nPI = n*M_PI;
+ term = exp(nPI*nPI*expo) * sin(nPI*r0s_L) * sin(nPI*rs_L);
+ sum += term;
+ n++;
+ }
+ while (fabs(term/sum) > EPSILON*PDENS_TYPICAL ||
+ fabs(prev_term/sum) > EPSILON*PDENS_TYPICAL ||
+ n <= MIN_TERMS);
+
+ return 2.0/L * exp(vexpo) * sum;
+}
+
+// Calculates the probability density of finding the particle at location r at
+// timepoint t, given that the particle is still in the domain.
+Real
+GreensFunction1DAbsAbs::calcpcum (Real r, Real t) const
+{
+ return prob_r(r, t) / p_survival(t);
+}
+
+// Calculates the amount of flux leaving the left boundary at time t
+Real
+GreensFunction1DAbsAbs::leaves(Real t) const
+{
+ THROW_UNLESS( std::invalid_argument, t >= 0.0 );
+
+ const Real a(this->geta());
+ const Real sigma(this->getsigma());
+ const Real L(this->geta() - this->getsigma());
+ const Real r0(this->getr0());
+ const Real D(this->getD());
+ const Real v(this->getv());
+
+ if ( fabs(r0-sigma) < L*EPSILON || fabs(a-r0) < L*EPSILON || L < 0.0 )
+ {
+ // The flux of a zero domain is INFINITY. Also if the particle
+ // started on the left boundary (leaking out immediately).
+ return INFINITY;
+ }
+ else if ( t < EPSILON*this->t_scale )
+ {
+ // if t=0.0 the flux must be zero
+ return 0.0;
+ }
+
+
+ Real sum = 0, term = 0, prev_term = 0;
+ Real nPI;
+ const Real D_L_sq(D/(L*L));
+ const Real expo(-D_L_sq*t);
+ const Real r0s_L((r0-sigma)/L);
+ const Real vexpo(-v*v*t/4.0/D - v*(r0-sigma)/2.0/D);
+
+ Real n=1;
+ do
+ {
+ if (n >= MAX_TERMS )
+ {
+ std::cerr << "Too many terms for p_survival. N: " << n << std::endl;
+ break;
+ }
+
+ nPI = n*M_PI;
+ prev_term = term;
+ term = nPI * exp(nPI*nPI*expo) * sin(nPI*r0s_L);
+ sum += term;
+ n++;
+ }
+ while (fabs(term/sum) > EPSILON*PDENS_TYPICAL ||
+ fabs(prev_term/sum) > EPSILON*PDENS_TYPICAL ||
+ n < MIN_TERMS );
+
+ return 2.0*D_L_sq * exp(vexpo) * sum;
+}
+
+// Calculates the amount of flux leaving the right boundary at time t
+Real
+GreensFunction1DAbsAbs::leavea(Real t) const
+{
+ THROW_UNLESS( std::invalid_argument, t >= 0.0 );
+
+ const Real a(this->geta());
+ const Real sigma(this->getsigma());
+ const Real L(this->geta() - this->getsigma());
+ const Real r0(this->getr0());
+ const Real D(this->getD());
+ const Real v(this->getv());
+
+ if ( fabs(r0-sigma) < L*EPSILON || fabs(a-r0) < L*EPSILON || L < 0.0 )
+ {
+ // The flux of a zero domain is INFINITY. Also if the particle
+ // started on the right boundary (leaking out immediately).
+ return INFINITY;
+ }
+ else if ( t < EPSILON*this->t_scale )
+ {
+ // if t=0.0 the flux must be zero
+ return 0.0;
+ }
+
+
+ Real sum = 0, term = 0, prev_term = 0;
+ Real nPI;
+ const Real D_L_sq(D/(L*L));
+ const Real expo(-D_L_sq*t); // exponent -D n^2 PI^2 t / l^2
+ const Real r0s_L((r0-sigma)/L);
+ const Real vexpo(-v*v*t/4.0/D + v*(a-r0)/2.0/D);
+
+ Real n=1;
+ do
+ {
+ if (n >= MAX_TERMS )
+ {
+ std::cerr << "Too many terms for leaves. N: " << n << std::endl;
+ break;
+ }
+
+ nPI = n*M_PI;
+ prev_term = term;
+ term = nPI * exp(nPI*nPI*expo) * cos(nPI) * sin(nPI*r0s_L);
+ sum += term;
+ n++;
+ }
+ while (fabs(term/sum) > EPSILON*PDENS_TYPICAL ||
+ fabs(prev_term/sum) > EPSILON*PDENS_TYPICAL ||
+ n < MIN_TERMS );
+
+ return -2.0*D_L_sq * exp(vexpo) * sum;
+}
+
+// This draws an eventtype of time t based on the flux through the left (z=sigma)
+// and right (z=a) boundary. Although not completely accurate, it returns an
+// IV_ESCAPE for an escape through the right boundary and a IV_REACTION for an
+// escape through the left boundary.
+GreensFunction1DAbsAbs::EventKind
+GreensFunction1DAbsAbs::drawEventType( Real rnd, Real t ) const
+{
+ THROW_UNLESS( std::invalid_argument, rnd < 1.0 && rnd >= 0.0 );
+ THROW_UNLESS( std::invalid_argument, t > 0.0 );
+ // if t=0 nothing has happened => no event
+
+ const Real a(this->geta());
+ const Real sigma(this->getsigma());
+ const Real L(this->geta() - this->getsigma());
+ const Real r0(this->getr0());
+
+ // For particles at the boundaries
+ if ( fabs(a-r0) < EPSILON*L )
+ {
+ // if the particle started on the right boundary
+ return IV_ESCAPE;
+ }
+ else if ( fabs(r0-sigma) < EPSILON*L )
+ {
+ // if the particle started on the left boundary
+ return IV_REACTION;
+ }
+
+ const Real leaves_s (this->leaves(t));
+ const Real leaves_a (this->leavea(t));
+ const Real flux_total (leaves_s + leaves_a);
+ const Real fluxratio (leaves_s/flux_total);
+
+ if (rnd > fluxratio )
+ {
+ return IV_ESCAPE;
+ }
+ else
+ {
+ return IV_REACTION;
+ }
+}
+
+// This is a help function that casts the drawT_params parameter structure into
+// the right form and calculates the survival probability from it (and returns it).
+// The routine drawTime uses this one to sample the next-event time from the
+// survival probability using a rootfinder from GSL.
+double
+GreensFunction1DAbsAbs::drawT_f (double t, void *p)
+{
+ // casts p to type 'struct drawT_params *'
+ struct drawT_params *params = (struct drawT_params *)p;
+
+ Real sum = 0, term = 0, prev_term = 0;
+ Real Xn, exponent, prefactor;
+ // the maximum number of terms in the params table
+ int terms = params->terms;
+ // the timescale used
+ Real tscale = params->tscale;
+
+ int n=0;
+ do
+ {
+ if ( n >= terms )
+ {
+ std::cerr << "Too many terms needed for DrawTime. N: "
+ << n << std::endl;
+ break;
+ }
+ prev_term = term;
+
+ Xn = params->Xn[n];
+ exponent = params->exponent[n];
+ term = Xn * exp(exponent * t);
+ sum += term;
+ n++;
+ }
+ while (fabs(term/sum) > EPSILON*tscale ||
+ fabs(prev_term/sum) > EPSILON*tscale ||
+ n <= MIN_TERMS );
+
+ prefactor = params->prefactor;
+
+ // find intersection with the random number
+ return 1.0 - prefactor*sum - params->rnd;
+}
+
+// Draws the first passage time from the propensity function.
+// Uses the help routine drawT_f and structure drawT_params for some technical
+// reasons related to the way to input a function and parameters required by
+// the GSL library.
+Real
+GreensFunction1DAbsAbs::drawTime (Real rnd) const
+{
+ THROW_UNLESS( std::invalid_argument, 0.0 <= rnd && rnd < 1.0 );
+
+ const Real a(this->geta());
+ const Real sigma(this->getsigma());
+ const Real L(this->geta() - this->getsigma());
+ const Real r0(this->getr0());
+ const Real D(this->getD());
+ const Real v(this->getv());
+
+ if (D == 0.0 )
+ {
+ return INFINITY;
+ }
+ else if ( L < 0.0 || fabs(a-r0) < EPSILON*L || fabs(r0-sigma) > (1.0 - EPSILON)*L )
+ {
+ // if the domain had zero size
+ return 0.0;
+ }
+
+ const Real expo(-D/(L*L));
+ const Real r0s_L((r0-sigma)/L);
+ // some abbreviations for terms appearing in the sums with drift<>0
+ const Real sigmav2D(sigma*v/2.0/D);
+ const Real av2D(a*v/2.0/D);
+ const Real Lv2D(L*v/2.0/D);
+ // exponent of the prefactor present in case of v<>0; has to be split because it has a t-dep. and t-indep. part
+ const Real vexpo_t(-v*v/4.0/D);
+ const Real vexpo_pref(-v*r0/2.0/D);
+
+ // the structure to store the numbers to calculate the numbers for 1-S
+ struct drawT_params parameters;
+ Real Xn, exponent, prefactor;
+
+ Real nPI;
+
+ // Construct the coefficients and the terms in the exponent and put them
+ // into the params structure
+ int n = 0;
+ // a simpler sum has to be computed for the case w/o drift, so distinguish here
+ if(v==0)
+ {
+ do
+ {
+ nPI = ((Real)(n+1))*M_PI; // why n+1 : this loop starts at n=0 (1st index of the arrays), while the sum starts at n=1 !
+ Xn = sin(nPI*r0s_L) * (1.0 - cos(nPI)) / nPI;
+ exponent = nPI*nPI*expo;
+
+ // store the coefficients in the structure
+ parameters.Xn[n] = Xn;
+ // also store the values for the exponent
+ parameters.exponent[n]=exponent;
+ n++;
+ }
+ // TODO: Modify this later to include a cutoff when changes are small
+ while (n<MAX_TERMS);
+ }
+ else // case with drift<>0
+ {
+ do
+ {
+ nPI = ((Real)(n+1))*M_PI; // why n+1 : this loop starts at n=0 (1st index of the arrays), while the sum starts at n=1 !
+ Xn = (exp(sigmav2D) - cos(nPI)*exp(av2D)) * nPI/(Lv2D*Lv2D+nPI*nPI) * sin(nPI*r0s_L);
+ exponent = nPI*nPI*expo + vexpo_t;
+
+ // store the coefficients in the structure
+ parameters.Xn[n] = Xn;
+ // also store the values for the exponent
+ parameters.exponent[n]=exponent;
+ n++;
+ }
+ // TODO: Modify this later to include a cutoff when changes are small
+ while (n<MAX_TERMS);
+ }
+
+ // the prefactor of the sum is also different in case of drift<>0 :
+ if(v==0) prefactor = 2.0*exp(vexpo_pref);
+ else prefactor = 2.0;
+ parameters.prefactor = prefactor;
+
+ parameters.rnd = rnd;
+ parameters.terms = MAX_TERMS;
+ parameters.tscale = this->t_scale;
+
+ gsl_function F;
+ F.function = &drawT_f;
+ F.params = ¶meters;
+
+ // Find a good interval to determine the first passage time in
+ const Real dist( std::min(r0-sigma, a-r0) );
+
+ // construct a guess: MSD = sqrt (2*d*D*t)
+ Real t_guess( dist * dist / ( 2.0 * D ) );
+ // A different guess has to be made in case of nonzero drift to account for the displacement due to it
+ // When drifting towards the closest boundary...
+ if( ( r0-sigma >= L/2.0 && v > 0.0 ) || ( r0-sigma <= L/2.0 && v < 0.0 ) ) t_guess = sqrt(D*D/(v*v*v*v)+dist*dist/(v*v)) - D/(v*v);
+ // When drifting away from the closest boundary...
+ if( ( r0-sigma < L/2.0 && v > 0.0 ) || ( r0-sigma > L/2.0 && v < 0.0 ) ) t_guess = D/(v*v) - sqrt(D*D/(v*v*v*v)-dist*dist/(v*v));
+
+
+ Real value( GSL_FN_EVAL( &F, t_guess ) );
+ Real low( t_guess );
+ Real high( t_guess );
+
+ if( value < 0.0 )
+ {
+ // scale the interval around the guess such that the function
+ // straddles if the guess was too low
+ do
+ {
+ // keep increasing the upper boundary until the
+ // function straddles
+ high *= 10.0;
+ value = GSL_FN_EVAL( &F, high );
+
+ if( fabs( high ) >= t_guess * 1e6 )
+ {
+ std::cerr << "Couldn't adjust high. F(" << high << ") = "
+ << value << std::endl;
+ throw std::exception();
+ }
+ }
+ while ( value <= 0.0 );
+ }
+ else
+ {
+ // if the guess was too high initialize with 2 so the test
+ // below survives the first iteration
+ Real value_prev( 2.0 );
+ do
+ {
+ if( fabs( low ) <= t_guess * 1.0e-6 ||
+ fabs(value-value_prev) < EPSILON*this->t_scale )
+ {
+ std::cerr << "Couldn't adjust low. F(" << low << ") = "
+ << value << " t_guess: " << t_guess << " diff: "
+ << (value - value_prev) << " value: " << value
+ << " value_prev: " << value_prev << " t_scale: "
+ << this->t_scale << std::endl;
+ return low;
+ }
+
+ value_prev = value;
+ // keep decreasing the lower boundary until the
+ // function straddles
+ low *= 0.1;
+ // get the accompanying value
+ value = GSL_FN_EVAL( &F, low );
+
+ }
+ while ( value >= 0.0 );
+ }
+
+ // find the intersection on the y-axis between the random number and
+ // the function
+ // define a new solver type brent
+ const gsl_root_fsolver_type* solverType( gsl_root_fsolver_brent );
+ // make a new solver instance
+ // TODO: incl typecast?
+ gsl_root_fsolver* solver( gsl_root_fsolver_alloc( solverType ) );
+ const Real t( findRoot( F, solver, low, high, EPSILON*t_scale, EPSILON,
+ "GreensFunction1DAbsAbs::drawTime" ) );
+
+ // return the drawn time
+ return t;
+}
+
+
+// This is a help function that casts the drawR_params parameter structure into
+// the right form and calculates the survival probability from it (and returns it).
+// The routine drawR uses this function to sample the exit point, making use of the
+// GSL root finder to draw the random position.
+double
+GreensFunction1DAbsAbs::drawR_f (double r, void *p)
+{
+ struct drawR_params *params = (struct drawR_params *)p;
+ double sum = 0, term = 0, prev_term = 0;
+ double S_Cn_An, n_L;
+ int terms = params->terms;
+ double sigma = params->H[0];
+ double v2D = params->H[1]; // =v/(2D)
+
+ int n=0;
+ do
+ {
+ if (n >= terms )
+ {
+ std::cerr << "Too many terms for DrawR. N: " << n << std::endl;
+ break;
+ }
+ prev_term = term;
+
+ S_Cn_An = params->S_Cn_An[n];
+ n_L = params->n_L[n]; // this is n*pi/L
+ if(v2D==0.0) term = S_Cn_An * ( 1.0 - cos(n_L*(r-sigma)) );
+ else term = S_Cn_An * ( exp(v2D*sigma) + exp(v2D*r)*( v2D/n_L*sin(n_L*(r-sigma)) - cos(n_L*(r-sigma)) ));
+ // S_Cn_An contains all expon. prefactors, the 1/S(t) term and all parts
+ // of the terms that do not depend on r.
+ //
+ // In case of zero drift the terms become S_An_Cn * ( 1 - cos(nPi/L*(r-sigma)) )
+ // as it should be. The if-statement is only to avoid calculation costs.
+
+ sum += term;
+ n++;
+ }
+ while (fabs(term/sum) > EPSILON ||
+ fabs(prev_term/sum) > EPSILON ||
+ n <= MIN_TERMS );
+
+ // find the intersection with the random number
+ return sum - params->rnd;
+}
+
+// Draws the position of the particle at a given time from p(r,t), assuming
+// that the particle is still in the domain
+Real
+GreensFunction1DAbsAbs::drawR (Real rnd, Real t) const
+{
+ THROW_UNLESS( std::invalid_argument, 0.0 <= rnd && rnd < 1.0 );
+ THROW_UNLESS( std::invalid_argument, t >= 0.0 );
+
+ const Real a(this->geta());
+ const Real sigma(this->getsigma());
+ const Real L(this->geta() - this->getsigma());
+ const Real r0(this->getr0());
+ const Real D(this->getD());
+ const Real v(this->getv());
+
+ // the trivial case: if there was no movement or the domain was zero
+ if ( (D==0.0 && v==0.0) || L<0.0 || t==0.0)
+ {
+ return r0;
+ }
+ else
+ {
+ // if the initial condition is at the boundary, raise an error
+ // The particle can only be at the boundary in the ABOVE cases
+ THROW_UNLESS( std::invalid_argument,
+ (r0-sigma) >= L*EPSILON && (r0-sigma) <= L*(1.0-EPSILON) );
+ }
+ // else the normal case
+ // From here on the problem is well defined
+
+
+ // structure to store the numbers to calculate numbers for 1-S(t)
+ struct drawR_params parameters;
+ Real S_Cn_An;
+ Real nPI;
+ const Real expo (-D*t/(L*L));
+ const Real r0s_L((r0-sigma)/L);
+ const Real v2D(v/2.0/D);
+ const Real Lv2D(L*v/2.0/D);
+ const Real vexpo(-v*v*t/4.0/D - v*r0/2.0/D); // exponent of the drift-prefactor, same as in survival prob.
+ const Real S = 2.0*exp(vexpo)/p_survival(t); // This is a prefactor to every term, so it also contains there
+ // exponential drift-prefactor.
+
+ // Construct the coefficients and the terms in the exponent and put them
+ // in the params structure
+ int n=0;
+ do
+ {
+ nPI = ((Real)(n+1))*M_PI; // note: summation starting with n=1, indexing with n=0, therefore we need n+1 here
+
+ if(v==0.0) S_Cn_An = S * exp(nPI*nPI*expo) * sin(nPI*r0s_L) / nPI;
+ else S_Cn_An = S * exp(nPI*nPI*expo) * sin(nPI*r0s_L) * nPI/(nPI*nPI + Lv2D*Lv2D);
+ // The rest is the z-dependent part, which has to be defined directly in drawR_f(z).
+ // Of course also the summation happens there because the terms now are z-dependent.
+ // The last term originates from the integrated prob. density including drift.
+ //
+ // In case of zero drift this expression becomes: 2.0/p_survival(t) * exp(nPI*nPI*expo) * sin(nPI*r0s_L) / nPI
+
+ // also store the values for the exponent, so they don't have to be recalculated in drawR_f
+ parameters.S_Cn_An[n]= S_Cn_An;
+ parameters.n_L[n] = nPI/L;
+ n++;
+ }
+ while (n<MAX_TERMS);
+
+ // store the random number for the probability
+ parameters.rnd = rnd ;
+ // store the number of terms used
+ parameters.terms = MAX_TERMS;
+
+ // store needed constants
+ parameters.H[0] = sigma;
+ parameters.H[1] = v2D;
+
+ // find the intersection on the y-axis between the random number and
+ // the function
+ gsl_function F;
+ F.function = &drawR_f;
+ F.params = ¶meters;
+
+ // define a new solver type brent
+ const gsl_root_fsolver_type* solverType( gsl_root_fsolver_brent );
+ // make a new solver instance
+ // TODO: incl typecast?
+ gsl_root_fsolver* solver( gsl_root_fsolver_alloc( solverType ) );
+ const Real r( findRoot( F, solver, sigma, a, L*EPSILON, EPSILON,
+ "GreensFunction1DAbsAbs::drawR" ) );
+
+ // return the drawn time
+ return r;
+}
+
+std::string GreensFunction1DAbsAbs::dump() const
+{
+ std::ostringstream ss;
+ ss << "D = " << this->getD() << ", sigma = " << this->getsigma() <<
+ ", a = " << this->geta() << std::endl;
+ return ss.str();
+}
diff --git a/ecell4/egfrd/GreensFunction1DAbsAbs.hpp b/ecell4/egfrd/GreensFunction1DAbsAbs.hpp
new file mode 100644
index 0000000..99f9961
--- /dev/null
+++ b/ecell4/egfrd/GreensFunction1DAbsAbs.hpp
@@ -0,0 +1,213 @@
+#if !defined( __FIRSTPASSAGEGREENSFUNCTION1D_HPP )
+#define __FIRSTPASSAGEGREENSFUNCTION1D_HPP
+
+#include <sstream>
+#include <iostream>
+#include <cstdlib>
+#include <exception>
+#include <vector>
+
+#include <gsl/gsl_math.h>
+#include <gsl/gsl_sf_trig.h>
+#include <gsl/gsl_sum.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_interp.h>
+#include <gsl/gsl_sf_expint.h>
+#include <gsl/gsl_sf_elljac.h>
+#include <gsl/gsl_roots.h>
+
+#include <math.h>
+
+#include "findRoot.hpp"
+#include "Defs.hpp"
+#include "OldDefs.hpp" // TODO: this must be removed at some point!
+
+#include "GreensFunction.hpp"
+#include "PairGreensFunction.hpp" // needed to declare EventType
+
+
+class GreensFunction1DAbsAbs: public GreensFunction
+{
+private:
+ // This is a typical length scale of the system, may not be true!
+ static const Real L_TYPICAL;
+ // The typical timescale of the system, may also not be true!!
+ static const Real T_TYPICAL;
+ // measure of 'sameness' when comparing floating points numbers
+ static const Real EPSILON;
+ //E3; Is 1E3 a good measure for the probability density?!
+ static const Real PDENS_TYPICAL;
+ // The maximum number of terms in the sum
+ static const int MAX_TERMS = 500;
+ // The minimum
+ static const int MIN_TERMS = 20;
+
+public:
+ enum EventKind
+ {
+ IV_ESCAPE,
+ IV_REACTION
+ };
+
+public:
+ GreensFunction1DAbsAbs(Real D, Real r0, Real sigma, Real a)
+ : GreensFunction(D), v(0.0), sigma(sigma), a(a), r0(r0), l_scale(L_TYPICAL), t_scale(T_TYPICAL)
+ {
+ ; // do nothing
+ }
+
+ // The constructor is overloaded and can be called with or without drift v
+ GreensFunction1DAbsAbs(Real D, Real v, Real r0, Real sigma, Real a) // copy constructor including drift variable v
+ : GreensFunction(D), v(v), sigma(sigma), a(a), r0(r0), l_scale(L_TYPICAL), t_scale(T_TYPICAL)
+ {
+ ; // do nothing
+ }
+
+ ~GreensFunction1DAbsAbs()
+ {
+ ; // empty
+ }
+
+ // This also sets the scale
+ void seta(Real a)
+ {
+ Real L( a - this->sigma );
+
+ THROW_UNLESS( std::invalid_argument, L >= 0.0 && (this->r0 - sigma) <= L);
+
+ // Use a typical domain size to determine if we are here
+ // defining a domain of size 0.
+ if ( L <= EPSILON * l_scale )
+ {
+ // just some random value to show that the domain is zero
+ this->a = -INT_MAX;
+ }
+ else
+ {
+ // set the typical time scale (msd = sqrt(2*d*D*t) )
+ // this is needed by drawTime_f, do not get rid of it!
+ this->t_scale = (L*L)/this->getD();
+ // set a
+ this->a = a;
+ }
+ }
+
+ Real getsigma() const
+ {
+ return this->sigma;
+ }
+
+ Real geta() const
+ {
+ return this->a;
+ }
+
+ Real getv() const
+ {
+ return this->v;
+ }
+
+ void setr0(Real r0)
+ {
+ if ( this->a - this->sigma < 0.0 )
+ {
+ // if the domain had zero size
+ THROW_UNLESS( std::invalid_argument,
+ 0.0 <= (r0-sigma) && (r0-sigma) <= EPSILON * l_scale );
+ this->r0 = 0.0;
+ }
+ else
+ {
+ // The normal case
+ THROW_UNLESS( std::invalid_argument,
+ 0.0 <= (r0-sigma) && r0 <= this->a);
+ this->r0 = r0;
+ }
+ }
+
+ Real getr0() const
+ {
+ return this->r0;
+ }
+
+ // Draws the first passage time from the propensity function
+ Real drawTime (Real rnd) const;
+
+ // Draws the position of the particle at a given time, assuming that
+ // the particle is still in the
+ // domain
+ Real drawR (Real rnd, Real t) const;
+
+ // Calculates the amount of flux leaving the left boundary at time t
+ Real leaves(Real t) const;
+
+ // Calculates the amount of flux leaving the right boundary at time t
+ Real leavea(Real t) const;
+
+ // Determines based on the flux ratios if the particle left the left
+ // or right boundary
+ EventKind drawEventType( Real rnd, Real t ) const;
+
+ // Calculates the probability of finding the particle inside the
+ // domain at time t so, the survival probability
+ Real p_survival (Real t) const;
+
+ // Calculates the probability density of finding the particle at
+ // location z at timepoint t, given that the particle is still in the
+ // domain.
+ Real calcpcum (Real r, Real t) const;
+
+ // Calculates the probability density of finding the particle at
+ // location r at time t.
+ Real prob_r (Real r, Real t) const;
+
+ std::string dump() const;
+
+ const char* getName() const
+ {
+ return "GreensFunction1DAbsAbs";
+ }
+
+private:
+ struct drawT_params
+ {
+ // use 10 terms in the summation for now
+ double exponent[MAX_TERMS];
+ double Xn[MAX_TERMS];
+ double prefactor;
+ int terms;
+ Real tscale;
+ // random number
+ double rnd;
+ };
+
+ static double drawT_f (double t, void *p);
+
+ struct drawR_params
+ {
+ double S_Cn_An[MAX_TERMS];
+ double n_L[MAX_TERMS];
+ // variables H: for additional terms appearing as multiplicative factors etc.
+ double H[5];
+ int terms;
+ // random number
+ double rnd;
+ };
+
+ static double drawR_f (double z, void *p);
+
+private:
+ // The diffusion constant and drift velocity
+ Real v;
+ // These are the dimensions of our domain; L is calculated as a-sigma
+ Real sigma;
+ Real a;
+ Real r0;
+ // This is the 'length scale' of your system (1e-14 or 1e6)
+ // Although rescaling is discontinued, we use it to check whether a is well-chosen
+ Real l_scale;
+ // This is the time scale of the system, used by drawTime_f
+ Real t_scale;
+};
+
+#endif // __FIRSTPASSAGEGREENSFUNCTION1D_HPP
diff --git a/ecell4/egfrd/GreensFunction1DRadAbs.cpp b/ecell4/egfrd/GreensFunction1DRadAbs.cpp
new file mode 100644
index 0000000..e43406a
--- /dev/null
+++ b/ecell4/egfrd/GreensFunction1DRadAbs.cpp
@@ -0,0 +1,703 @@
+#include <sstream>
+#include <iostream>
+#include <cstdlib>
+#include <exception>
+#include <vector>
+
+#include <gsl/gsl_math.h>
+#include <gsl/gsl_sf_trig.h>
+#include <gsl/gsl_sum.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_interp.h>
+#include <gsl/gsl_sf_expint.h>
+#include <gsl/gsl_sf_elljac.h>
+#include <gsl/gsl_roots.h>
+
+#include <math.h>
+
+#include "compat.h"
+#include "findRoot.hpp"
+#include "GreensFunction1DRadAbs.hpp"
+#include "Defs.hpp"
+
+const Real GreensFunction1DRadAbs::L_TYPICAL = 1E-8;
+const Real GreensFunction1DRadAbs::T_TYPICAL = 1E-6;
+const Real GreensFunction1DRadAbs::EPSILON = 1E-10;
+const Real GreensFunction1DRadAbs::PDENS_TYPICAL = 1;
+
+// This is the appropriate definition of the function defining
+// the roots of our Green's functions in GSL.
+// Later needed by the rootfinder.
+//
+// It expects a reaction rate h=k/D already divided by D.
+double
+GreensFunction1DRadAbs::tan_f (double x, void *p)
+{
+ // casts the void to the struct pointer
+ struct tan_f_params *params = (struct tan_f_params *)p;
+ const Real a = (params->a);
+ const Real h = (params->h);
+ const Real h_a (h*a);
+ if ( h_a < 1 )
+ {
+ // h = k/D
+ return 1/tan(x) + (h_a)/x;
+ }
+ else
+ {
+ // h = k/D
+ return tan(x) + x/(h_a);
+ }
+}
+
+// Calculates the roots of tan(x*a)=-x/h
+Real
+GreensFunction1DRadAbs::root_n(int n) const
+{
+ const Real L( this->geta()-this->getsigma() );
+ const Real h( (this->getk()+this->getv()/2.0) / this->getD() );
+ // the drift v also comes into this constant, h=(k+v/2)/D
+ Real upper, lower;
+
+ if ( h*L < 1 )
+ {
+ // 1E-10 to make sure that he doesn't include the transition
+ lower = (n-1)*M_PI + 1E-10;
+ // (asymptotic) from infinity to -infinity
+ upper = n *M_PI - 1E-10;
+ }
+ else
+ {
+ lower = (n-1)*M_PI + M_PI_2 + 1E-10;
+ upper = n *M_PI + M_PI_2 - 1E-10;
+ }
+
+ gsl_function F;
+ struct tan_f_params params = { L, h };
+
+ F.function = &GreensFunction1DRadAbs::tan_f;
+ F.params = ¶ms;
+
+ // define a new solver type brent
+ const gsl_root_fsolver_type* solverType( gsl_root_fsolver_brent );
+
+ // make a new solver instance
+ // TODO: incl typecast?
+ gsl_root_fsolver* solver( gsl_root_fsolver_alloc( solverType ) );
+ // get the root = run the rootsolver
+ const Real root( findRoot( F, solver, lower, upper, 1.0*EPSILON, EPSILON,
+ "GreensFunction1DRadAbs::root_tan" ) );
+ gsl_root_fsolver_free( solver );
+
+ return root/L;
+ // This rescaling is important, because the function tan_f is used to solve for
+ // tan(x)+x/h/L=0, whereas we actually need tan(x*L)+x/h=0, So if x solves the
+ // subsidiary equation, x/L solves the original one.
+}
+
+// This is the non-exponential factor in the Green's function sum, not
+// including the factor containing the explicit r-dependency (The latter
+// is given by the Bn's, see below).
+//
+// r0 is here still in the interval from 0 to a (and supposed to be the
+// starting point of the particle at t0).
+//
+// The root a_n also must be the specific one for that interval, thus
+// the one rescaled by a (see comments in function a_n(n) ).
+//
+// The factor calculated here is identical for the cases w. or w/o drift,
+// only h changes.
+Real
+GreensFunction1DRadAbs::An (Real root_n) const
+{
+ const Real h((this->getk()+this->getv()/2.0)/this->getD());
+ const Real sigma(this->getsigma());
+ const Real L(this->geta()-this->getsigma());
+ const Real r0(this->getr0());
+ const Real rootn_r0_s = root_n*(r0-sigma);
+
+ return (root_n*cos(rootn_r0_s) + h*sin(rootn_r0_s)) / (h + (root_n*root_n + h*h)*L);
+}
+
+// This factor appears in the survival prob.
+Real
+GreensFunction1DRadAbs::Bn (Real root_n) const
+{
+ const Real h((this->getk()+this->getv()/2.0)/this->getD());
+ const Real k(this->getk());
+ const Real D(this->getD());
+ const Real v(this->getv());
+ const Real sigma(this->getsigma());
+ const Real a(this->geta());
+ const Real L(this->geta()-this->getsigma());
+
+ const Real rootnL(root_n*L);
+ const Real rootn2(root_n*root_n);
+ const Real h2(h*h);
+ const Real v2D(v/2.0/D);
+
+ if(v==0.0) return (h2 - (rootn2 + h2)*cos(rootnL)) / (h*root_n);
+ else return (exp(v2D*sigma)*h*k/D - exp(v2D*a)*(rootn2+h2)*cos(rootnL) ) / (h/root_n*(rootn2+v2D*v2D));
+}
+
+// This is the exponential factor in the Green's function sum, also
+// appearing in the survival prob. and prop. function.
+//
+// Also here the root is the one refering to the interval of length L.
+Real
+GreensFunction1DRadAbs::Cn (Real root_n, Real t)
+const
+{
+ const Real D(this->getD());
+
+ return std::exp(-D*root_n*root_n*t);
+}
+
+// Calculates the probability of finding the particle inside the domain
+// at time t, the survival probability.
+Real
+GreensFunction1DRadAbs::p_survival (Real t) const
+{
+ THROW_UNLESS( std::invalid_argument, t >= 0.0 );
+
+ const Real D(this->getD());
+ const Real v(this->getv());
+ const Real vexpo(-v*v*t/4.0/D - v*r0/2.0/D);
+
+ if (t == 0.0 || (D == 0.0 && v == 0.0) )
+ {
+ // if there was no time or no movement the particle was always
+ // in the domain
+ return 1.0;
+ }
+
+
+ Real root_n;
+ Real sum = 0, term = 0, term_prev = 0;
+ int n = 1;
+
+ do
+ {
+ root_n = this->root_n(n);
+ term_prev = term;
+ term = this->Cn(root_n, t) * this->An(root_n) * this->Bn(root_n);
+ sum += term;
+ n++;
+ }
+ while ( fabs(term/sum) > EPSILON ||
+ fabs(term_prev/sum) > EPSILON ||
+ n <= MIN_TERMS);
+
+ return 2.0*exp(vexpo)*sum;
+}
+
+
+// Calculates the probability density of finding the particle at location r
+// at time t.
+Real
+GreensFunction1DRadAbs::prob_r (Real r, Real t)
+const
+{
+ THROW_UNLESS( std::invalid_argument, t >= 0.0 );
+ THROW_UNLESS( std::invalid_argument, (r-sigma) >= 0.0 && r <= a && (r0 - sigma) >= 0.0 && r0<=a );
+
+ const Real sigma(this->getsigma());
+ const Real a(this->geta());
+ const Real L(this->geta()-this->getsigma());
+ const Real r0(this->getr0());
+ const Real D(this->getD());
+ const Real v(this->getv());
+ const Real h((this->getk()+this->getv()/2.0)/this->getD());
+
+ const Real vexpo(-v*v*t/D/4.0 + v*(r-r0)/D/2.0);
+
+ // if there was no time change or zero diffusivity => no movement
+ if (t == 0 || D == 0)
+ {
+ // the probability density function is a delta function
+ if (r == r0)
+ {
+ return INFINITY;
+ }
+ else
+ {
+ return 0.0;
+ }
+ }
+
+ // if r is at the absorbing boundary
+ if ( fabs(a-r) < EPSILON*L )
+ {
+ return 0.0;
+ }
+
+ Real root_n, root_n_r_s;
+ Real sum = 0, term = 0, prev_term = 0;
+ int n=1;
+
+ do
+ {
+ if ( n >= MAX_TERMS )
+ {
+ std::cerr << "Too many terms needed for GF1DRad::prob_r. N: "
+ << n << std::endl;
+ break;
+ }
+
+ root_n = this->root_n(n);
+ root_n_r_s = root_n*(r-sigma);
+
+ prev_term = term;
+ term = Cn(root_n, t) * An(root_n) * (h*sin(root_n_r_s) + root_n*cos(root_n_r_s));
+ sum += term;
+
+ n++;
+ }
+ while (fabs(term/sum) > EPSILON*PDENS_TYPICAL ||
+ fabs(prev_term/sum) > EPSILON*PDENS_TYPICAL ||
+ n <= MIN_TERMS );
+
+ return 2.0*exp(vexpo)*sum;
+}
+
+// Calculates the probability density of finding the particle at location z at
+// timepoint t, given that the particle is still in the domain.
+Real
+GreensFunction1DRadAbs::calcpcum (Real r, Real t) const
+{
+ return prob_r(r, t)/p_survival(t);
+}
+
+// Calculates the total probability flux leaving the domain at time t
+// This is simply the negative of the time derivative of the survival prob.
+// at time t [-dS(t')/dt' for t'=t].
+Real
+GreensFunction1DRadAbs::flux_tot (Real t) const
+{
+ Real root_n;
+ const Real D(this->getD());
+ const Real v(this->getv());
+ const Real vexpo(-v*v*t/4.0/D - v*r0/2.0/D);
+
+ const Real D2 = D*D;
+ const Real v2Dv2D = v*v/4.0/D2;
+ double sum = 0, term = 0, prev_term = 0;
+ int n=1;
+
+ do
+ {
+ if ( n >= MAX_TERMS )
+ {
+ std::cerr << "Too many terms needed for GF1DRad::flux_tot. N: "
+ << n << std::endl;
+ break;
+ }
+
+ root_n = this->root_n(n);
+ prev_term = term;
+ term = (root_n * root_n + v2Dv2D) * Cn(root_n, t) * An(root_n) * Bn(root_n);
+ n++;
+ sum += term;
+ }
+ while (fabs(term/sum) > EPSILON*PDENS_TYPICAL ||
+ fabs(prev_term/sum) > EPSILON*PDENS_TYPICAL ||
+ n <= MIN_TERMS );
+
+ return 2.0*D*exp(vexpo)*sum;
+}
+
+// Calculates the probability flux leaving the domain through the radiative
+// boundary at time t
+Real
+GreensFunction1DRadAbs::flux_rad (Real t) const
+{
+ return this->getk() * prob_r(this->getsigma(), t);
+}
+
+// Calculates the flux leaving the domain through the radiative boundary as a
+// fraction of the total flux. This is the probability that the particle left
+// the domain through the radiative boundary instead of the absorbing
+// boundary.
+Real
+GreensFunction1DRadAbs::fluxRatioRadTot (Real t) const
+{
+ return flux_rad(t)/flux_tot(t);
+}
+
+// Determine which event has occured, an escape or a reaction. Based on the
+// fluxes through the boundaries at the given time. Beware: if t is not a
+// first passage time you still get an answer!
+GreensFunction1DRadAbs::EventKind
+GreensFunction1DRadAbs::drawEventType( Real rnd, Real t )
+const
+{
+ THROW_UNLESS( std::invalid_argument, rnd < 1.0 && rnd >= 0.0 );
+ THROW_UNLESS( std::invalid_argument, t > 0.0 );
+ // if t=0 nothing has happened => no event
+
+ const Real a(this->geta());
+ const Real L(this->geta()-this->getsigma());
+ const Real r0(this->getr0());
+
+ // if the radiative boundary is impermeable (k==0) or
+ // the particle is at the absorbing boundary (at a) => IV_ESCAPE event
+ if ( k == 0 || fabs(a-r0) < EPSILON*L )
+ {
+ return IV_ESCAPE;
+ }
+
+ // Else the event is sampled from the flux ratio
+ const Real fluxratio (this->fluxRatioRadTot(t));
+
+ if (rnd > fluxratio )
+ {
+ return IV_ESCAPE;
+ }
+ else
+ {
+ return IV_REACTION;
+ }
+}
+
+// This function is needed to cast the math. form of the function
+// into the form needed by the GSL root solver.
+double
+GreensFunction1DRadAbs::drawT_f (double t, void *p)
+{
+ // casts p to type 'struct drawT_params *'
+ struct drawT_params *params = (struct drawT_params *)p;
+ Real Xn, exponent;
+ Real prefactor = params->prefactor;
+ int terms = params->terms;
+
+ Real sum = 0, term = 0, prev_term = 0;
+ int n=0;
+ do
+ {
+ if ( n >= terms )
+ {
+ std::cerr << "Too many terms needed for GF1DRad::DrawTime. N: "
+ << n << std::endl;
+ break;
+ }
+ prev_term = term;
+
+ Xn = params->Xn[n];
+ exponent = params->exponent[n];
+ term = Xn * exp(exponent * t);
+ sum += term;
+ n++;
+ }
+ while (fabs(term/sum) > EPSILON*1.0 ||
+ fabs(prev_term/sum) > EPSILON*1.0 ||
+ n <= MIN_TERMS );
+
+ // find the intersection with the random number
+ return 1.0 - prefactor*sum - params->rnd;
+}
+
+// Draws the first passage time from the survival probability,
+// using an assistance function drawT_f that casts the math. function
+// into the form needed by the GSL root solver.
+Real
+GreensFunction1DRadAbs::drawTime (Real rnd) const
+{
+ THROW_UNLESS( std::invalid_argument, 0.0 <= rnd && rnd < 1.0 );
+
+ const Real sigma(this->getsigma());
+ const Real a(this->geta());
+ const Real L(this->geta()-this->getsigma());
+ const Real r0(this->getr0());
+ const Real k(this->getk());
+ const Real D(this->getD());
+ const Real v(this->getv());
+ const Real h((this->getk()+this->getv()/2.0)/this->getD());
+
+
+ if ( D == 0.0 || L == INFINITY )
+ {
+ return INFINITY;
+ }
+
+ if ( rnd <= EPSILON || L < 0.0 || fabs(a-r0) < EPSILON*L )
+ {
+ return 0.0;
+ }
+
+ const Real v2D(v/2.0/D);
+ const Real exp_av2D(exp(a*v2D));
+ const Real exp_sigmav2D(exp(sigma*v2D));
+ // exponent of the prefactor present in case of v<>0; has to be split because it has a t-dep. and t-indep. part
+ const Real vexpo_t(-v*v/4.0/D);
+ const Real vexpo_pref(-v*r0/2.0/D);
+
+ // the structure to store the numbers to calculate the numbers for 1-S
+ struct drawT_params parameters;
+ // some temporary variables
+ double root_n = 0;
+ double root_n2, root_n_r0_s, root_n_L, h_root_n;
+ double Xn, exponent, prefactor;
+
+
+ // produce the coefficients and the terms in the exponent and put them
+ // in the params structure. This is not very efficient at this point,
+ // coefficients should be calculated on demand->TODO
+ for (int n=0; n<MAX_TERMS; n++)
+ {
+ root_n = this->root_n(n+1); // get the n-th root of tan(root*a)=root/-h (Note: root numbering starts at n=1)
+
+ root_n2 = root_n * root_n;
+ root_n_r0_s = root_n * (r0-sigma);
+ root_n_L = root_n * L;
+ h_root_n = h / root_n;
+
+ if(v==0) Xn = (h*sin(root_n_r0_s) + root_n*cos(root_n_r0_s)) / (L*(root_n2+h*h)+h)
+ * ( h_root_n + sin(root_n_L) - h_root_n*cos(root_n_L) );
+ else Xn = (h*sin(root_n_r0_s) + root_n*cos(root_n_r0_s)) / (L*(root_n2+h*h)+h)
+ * (exp_sigmav2D*h*k/D - exp_av2D*(root_n2+h*h)*cos(root_n_L)) / (h_root_n * (root_n2 + v2D*v2D));
+
+ exponent = -D*root_n2 + vexpo_t;
+
+ // store the coefficients in the structure
+ parameters.Xn[n] = Xn;
+ // also store the values for the exponent
+ parameters.exponent[n] = exponent;
+ }
+
+ // the prefactor of the sum is also different in case of drift<>0 :
+ if(v==0) prefactor = 2.0;
+ else prefactor = 2.0*exp(vexpo_pref);
+ parameters.prefactor = prefactor;
+
+ // store the random number for the probability
+ parameters.rnd = rnd;
+ // store the number of terms used
+ parameters.terms = MAX_TERMS;
+ parameters.tscale = this->t_scale;
+
+ // Define the function for the rootfinder
+ gsl_function F;
+ F.function = &GreensFunction1DRadAbs::drawT_f;
+ F.params = ¶meters;
+
+
+ // Find a good interval to determine the first passage time in
+ // get the distance to absorbing boundary (disregard rad BC)
+ const Real dist(fabs(a-r0));
+ //const Real dist( std::min(r0, a-r0)); // for test purposes
+ // construct a guess: MSD = sqrt (2*d*D*t)
+ Real t_guess( dist * dist / ( 2.0*D ) );
+ // A different guess has to be made in case of nonzero drift to account for the displacement due to it
+ // TODO: This does not work properly in this case yet, but we don't know why...
+ // When drifting towards the closest boundary
+ //if( (r0 >= a/2.0 && v > 0.0) || (r0 <= a/2.0 && v < 0.0) ) t_guess = sqrt(D*D/(v*v*v*v)+dist*dist/(v*v)) - D/(v*v);
+ // When drifting away from the closest boundary
+ //if( ( r0 < a/2.0 && v > 0.0) || ( r0 > a/2.0 && v < 0.0) ) t_guess = D/(v*v) - sqrt(D*D/(v*v*v*v)-dist*dist/(v*v));
+
+ Real value( GSL_FN_EVAL( &F, t_guess ) );
+ Real low( t_guess );
+ Real high( t_guess );
+
+
+ // scale the interval around the guess such that the function straddles
+ if( value < 0.0 )
+ {
+ // if the guess was too low
+ do
+ {
+ // keep increasing the upper boundary until the
+ // function straddles
+ high *= 10;
+ value = GSL_FN_EVAL( &F, high );
+
+ if( fabs( high ) >= t_guess * 1e6 )
+ {
+ std::cerr << "GF1DRad: Couldn't adjust high. F("
+ << high << ") = " << value << std::endl;
+ throw std::exception();
+ }
+ }
+ while ( value <= 0.0 );
+ }
+ else
+ {
+ // if the guess was too high
+ // initialize with 2 so the test below survives the first
+ // iteration
+ Real value_prev( 2 );
+ do
+ {
+ if( fabs( low ) <= t_guess * 1e-6 ||
+ fabs(value-value_prev) < EPSILON*1.0 )
+ {
+ std::cerr << "GF1DRad: Couldn't adjust low. F(" << low << ") = "
+ << value << " t_guess: " << t_guess << " diff: "
+ << (value - value_prev) << " value: " << value
+ << " value_prev: " << value_prev << " rnd: "
+ << rnd << std::endl;
+ return low;
+ }
+ value_prev = value;
+ // keep decreasing the lower boundary until the function straddles
+ low *= 0.1;
+ // get the accompanying value
+ value = GSL_FN_EVAL( &F, low );
+ }
+ while ( value >= 0.0 );
+ }
+
+ // find the intersection on the y-axis between the random number and
+ // the function
+
+ // define a new solver type brent
+ const gsl_root_fsolver_type* solverType( gsl_root_fsolver_brent );
+ // make a new solver instance
+ // TODO: incl typecast?
+ gsl_root_fsolver* solver( gsl_root_fsolver_alloc( solverType ) );
+ const Real t( findRoot( F, solver, low, high, t_scale*EPSILON, EPSILON,
+ "GreensFunction1DRadAbs::drawTime" ) );
+
+ // return the drawn time
+ return t;
+}
+
+double
+GreensFunction1DRadAbs::drawR_f (double z, void *p)
+{
+ // casts p to type 'struct drawR_params *'
+ struct drawR_params *params = (struct drawR_params *)p;
+ Real v2D = params->H[0]; // = v2D = v/(2D)
+ Real costerm = params->H[1]; // = k/D
+ Real sinterm = params->H[2]; // = h*v2D
+ Real sigma = params->H[3]; // = sigma
+ int terms = params->terms;
+
+ Real expsigma(exp(sigma*v2D));
+ Real zs(z-sigma);
+
+ Real sum = 0, term = 0, prev_term = 0;
+ Real root_n, S_Cn_root_n;
+
+ int n = 0;
+ do
+ {
+ if ( n >= terms )
+ {
+ std::cerr << "GF1DRad: Too many terms needed for DrawR. N: "
+ << n << std::endl;
+ break;
+ }
+ prev_term = term;
+
+ S_Cn_root_n = params->S_Cn_root_n[n];
+ root_n = params->root_n[n];
+ term = S_Cn_root_n * ( expsigma*costerm - exp(v2D*z)*( costerm*cos(root_n*zs) - (root_n+sinterm/root_n)*sin(root_n*zs) ));
+
+ sum += term;
+ n++;
+ }
+ while (fabs(term/sum) > EPSILON*1.0 ||
+ fabs(prev_term/sum) > EPSILON*1.0 ||
+ n <= MIN_TERMS );
+
+ // Find the intersection with the random number
+ return sum - params->rnd;
+}
+
+Real
+GreensFunction1DRadAbs::drawR (Real rnd, Real t) const
+{
+ THROW_UNLESS( std::invalid_argument, 0.0 <= rnd && rnd < 1.0 );
+ THROW_UNLESS( std::invalid_argument, t >= 0.0 );
+
+ const Real sigma(this->getsigma());
+ const Real a(this->geta());
+ const Real L(this->geta()-this->getsigma());
+ const Real r0(this->getr0());
+ const Real D(this->getD());
+ const Real v(this->getv());
+ const Real k(this->getk());
+ const Real h((this->getk()+this->getv()/2.0)/this->getD());
+
+
+ if (t==0.0 || (D==0.0 && v==0.0) )
+ {
+ // the trivial case
+ //return r0*this->l_scale; // renormalized version, discontinued
+ return r0;
+ }
+ if ( a<0.0 )
+ {
+ // if the domain had zero size
+ return 0.0;
+ }
+
+ // the structure to store the numbers to calculate the numbers for 1-S
+ struct drawR_params parameters;
+ double root_n = 0;
+ double S_Cn_root_n;
+ double root_n2, root_n_r0_s;
+ const Real vexpo(-v*v*t/4.0/D - v*r0/2.0/D); // exponent of the drift-prefactor, same as in survival prob.
+ const Real v2D(v/2.0/D);
+ const Real v2Dv2D(v2D*v2D);
+ const Real S = 2.0*exp(vexpo)/p_survival(t); // This is a prefactor to every term, so it also contains
+ // the exponential drift-prefactor.
+
+
+ // produce the coefficients and the terms in the exponent and put them
+ // in the params structure
+ for (int n=0; n<MAX_TERMS; n++)
+ {
+ root_n = this->root_n(n+1); // get the n-th root of tan(alfa*a)=alfa/-k
+ root_n2 = root_n * root_n;
+ root_n_r0_s = root_n * (r0-sigma);
+ S_Cn_root_n = S * exp(-D*root_n2*t)
+ * (root_n*cos(root_n_r0_s) + h*sin(root_n_r0_s)) / (L*(root_n2 + h*h) + h)
+ * root_n / (root_n2 + v2Dv2D);
+
+ // store the coefficients in the structure
+ parameters.root_n[n] = root_n;
+ // also store the values for the exponent
+ parameters.S_Cn_root_n[n] = S_Cn_root_n;
+ }
+
+ // store the random number for the probability
+ parameters.rnd = rnd;
+ // store the number of terms used
+ parameters.terms = MAX_TERMS;
+
+ // also store constant prefactors that appear in the calculation of the
+ // r-dependent terms
+ parameters.H[0] = v2D; // appears together with z in one of the prefactors
+ parameters.H[1] = k/D; // further constant terms of the cosine prefactor
+ parameters.H[2] = h*v2D; // further constant terms of the sine prefactor
+ parameters.H[3] = sigma;
+
+
+ // find the intersection on the y-axis between the random number and
+ // the function
+ gsl_function F;
+ F.function = &GreensFunction1DRadAbs::drawR_f;
+ F.params = ¶meters;
+
+ // define a new solver type brent
+ const gsl_root_fsolver_type* solverType( gsl_root_fsolver_brent );
+ // make a new solver instance
+ // TODO: incl typecast?
+ gsl_root_fsolver* solver( gsl_root_fsolver_alloc( solverType ) );
+ Real r( findRoot( F, solver, sigma, a, EPSILON*L, EPSILON,
+ "GreensFunction1DRadAbs::drawR" ) );
+
+ // return the drawn position
+ return r;
+}
+
+std::string GreensFunction1DRadAbs::dump() const
+{
+ std::ostringstream ss;
+ ss << "D = " << this->getD() << ", sigma = " << this->getsigma() <<
+ ", a = " << this->geta() <<
+ ", k = " << this->getk() << std::endl;
+ return ss.str();
+}
+
diff --git a/ecell4/egfrd/GreensFunction1DRadAbs.hpp b/ecell4/egfrd/GreensFunction1DRadAbs.hpp
new file mode 100644
index 0000000..2de7f6d
--- /dev/null
+++ b/ecell4/egfrd/GreensFunction1DRadAbs.hpp
@@ -0,0 +1,242 @@
+#if !defined( __FIRSTPASSAGEGREENSFUNCTION1DRAD_HPP )
+#define __FIRSTPASSAGEGREENSFUNCTION1DRAD_HPP
+
+#include <sstream>
+#include <iostream>
+#include <cstdlib>
+#include <exception>
+#include <vector>
+
+#include <gsl/gsl_math.h>
+#include <gsl/gsl_sf_trig.h>
+#include <gsl/gsl_sum.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_interp.h>
+#include <gsl/gsl_sf_expint.h>
+#include <gsl/gsl_sf_elljac.h>
+#include <gsl/gsl_roots.h>
+
+#include <math.h>
+
+#include "findRoot.hpp"
+#include "Defs.hpp"
+#include "OldDefs.hpp" // TODO: this must be removed at some point!
+#include "GreensFunction.hpp"
+
+class GreensFunction1DRadAbs: public GreensFunction
+{
+private:
+ // This is a typical length scale of the system, may not be true!
+ static const Real L_TYPICAL;
+ // The typical timescale of the system, may also not be true!!
+ static const Real T_TYPICAL;
+ // measure of 'sameness' when comparing floating points numbers
+ static const Real EPSILON;
+ // Is 1E3 a good measure for the probability density?!
+ static const Real PDENS_TYPICAL;
+ // The maximum number of terms used in calculating the sum
+ static const int MAX_TERMS = 500;
+ // The minimum number of terms
+ static const int MIN_TERMS = 20;
+
+public:
+ GreensFunction1DRadAbs(Real D, Real k, Real r0, Real sigma, Real a)
+ : GreensFunction(D), v(0.0), k(k), r0(r0), sigma(sigma), a(a), l_scale(L_TYPICAL), t_scale(T_TYPICAL)
+ {
+ // do nothing
+ }
+
+ // The constructor is overloaded and can be called with or without drift v
+ // copy constructor including drift variable v
+ GreensFunction1DRadAbs(Real D, Real k, Real v, Real r0, Real sigma, Real a)
+ : GreensFunction(D), v(v), k(k), r0(r0), sigma(sigma), a(a), l_scale(L_TYPICAL), t_scale(T_TYPICAL)
+ {
+ // do nothing
+ }
+
+ ~GreensFunction1DRadAbs()
+ {
+ ; // empty
+ }
+
+ // This also sets the scale
+ void seta(Real a)
+ {
+ THROW_UNLESS( std::invalid_argument, (a-this->sigma) >= 0.0 && this->r0 <= a);
+
+ // Use a typical domain size to determine if we are here
+ // defining a domain of size 0.
+ if ( (a-this->sigma) < EPSILON*this->l_scale )
+ {
+ // just some random value to show that the domain is zero
+ this->a = -1.0;
+ }
+ else
+ {
+ // set the l_scale to the given one
+ this->l_scale = a-sigma;
+ // set the typical time scale (MSD = sqrt(2*d*D*t) )
+ this->t_scale = (l_scale*l_scale)/this->getD();
+ this->a = a;
+ }
+ }
+
+ Real geta() const
+ {
+ return this->a;
+ }
+
+ Real getsigma() const
+ {
+ return this->sigma;
+ }
+
+ void setr0(Real r0)
+ {
+ if ( this->a - this->sigma < 0.0 )
+ {
+ // if the domain had zero size
+ THROW_UNLESS( std::invalid_argument,
+ 0.0 <= (r0-sigma) && (r0-sigma) <= EPSILON * l_scale );
+ this->r0 = 0.0;
+ }
+ else
+ {
+ // The normal case
+ THROW_UNLESS( std::invalid_argument,
+ 0.0 <= (r0-sigma) && r0 <= this->a);
+ this->r0 = r0;
+ }
+ }
+
+ Real getr0() const
+ {
+ return r0;
+ }
+
+ Real getk() const
+ {
+ return this->k;
+ }
+
+ Real getv() const
+ {
+ return this->v;
+ }
+
+ // Calculates the probability density of finding the particle at
+ // location z at timepoint t, given that the particle is still in the
+ // domain.
+ Real calcpcum (Real r, Real t) const;
+
+ // Determine which event has occured, an escape or a reaction. Based
+ // on the fluxes through the boundaries at the given time. Beware: if
+ // t is not a first passage time you still get an answer!
+ EventKind drawEventType( Real rnd, Real t ) const;
+
+ // Draws the first passage time from the propensity function
+ Real drawTime (Real rnd) const;
+
+ // Draws the position of the particle at a given time, assuming that
+ // the particle is still in the domain
+ Real drawR (Real rnd, Real t) const;
+
+
+// These methods are both public and private, they are used by public methods
+// but can also be called from the 'outside'. This is mainly because of
+// debugging purposes.
+
+
+ // Calculates the probability of finding the particle inside the
+ // domain at time t -> the survival probability
+ Real p_survival (Real t) const;
+
+ // Calculates the total probability flux leaving the domain at time t
+ Real flux_tot (Real t) const;
+
+ // Calculates the probability flux leaving the domain through the
+ // radiative boundary at time t
+ Real flux_rad (Real t) const;
+
+ // Calculates the flux leaving the domain through the radiative
+ // boundary as a fraction of the total flux. This is the probability
+ // that the particle left the domain through the radiative
+ // boundary instead of the absorbing boundary.
+ Real fluxRatioRadTot (Real t) const;
+
+ // Calculates the probability density of finding the particle at
+ // location r at time t.
+ Real prob_r (Real r, Real t) const;
+
+// End of public/private mix methods
+
+//private: // method made public for testing
+
+ std::string dump() const;
+
+ const char* getName() const
+ {
+ return "GreensFunction1DRadAbs";
+ }
+
+ // Calculates the roots of tan(a*x)=-xk/h
+ Real root_n(int n) const;
+
+private:
+
+ Real An (Real a_n) const;
+
+ Real Bn (Real a_n) const;
+
+ Real Cn (Real a_n, Real t) const;
+
+ struct tan_f_params
+ {
+ Real a;
+ Real h;
+ };
+
+ static double tan_f (double x, void *p);
+ // this is the appropriate definition of the function in gsl
+
+ struct drawT_params
+ {
+ double exponent[MAX_TERMS];
+ double Xn[MAX_TERMS];
+ double prefactor;
+ int terms;
+ // the timescale used for convergence
+ Real tscale;
+ // the random number associated with the time
+ double rnd;
+ };
+
+ static double drawT_f (double t, void *p);
+
+ struct drawR_params
+ {
+ double root_n[MAX_TERMS];
+ double S_Cn_root_n[MAX_TERMS];
+ // variables H: for additional terms appearing as multiplicative factors etc.
+ double H[5];
+ int terms;
+ // the random number associated with the time
+ double rnd;
+ };
+
+ static double drawR_f (double z, void *p);
+
+ // The diffusion constant and drift velocity
+ Real v;
+ // The reaction constant
+ Real k;
+ Real r0;
+ // The left and right boundary of the domain (sets the l_scale, see below)
+ Real sigma;
+ Real a;
+ // This is the length scale of the system
+ Real l_scale;
+ // This is the time scale of the system.
+ Real t_scale;
+};
+#endif // __FIRSTPASSAGEGREENSFUNCTION1DRAD_HPP
diff --git a/ecell4/egfrd/GreensFunction3D.cpp b/ecell4/egfrd/GreensFunction3D.cpp
new file mode 100644
index 0000000..a57497b
--- /dev/null
+++ b/ecell4/egfrd/GreensFunction3D.cpp
@@ -0,0 +1,275 @@
+#ifdef HAVE_CONFIG_H
+#include <ecell4/egfrd/config.h>
+#endif /* HAVE_CONFIG_H */
+
+#include <sstream>
+#include <boost/format.hpp>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_roots.h>
+
+#include "freeFunctions.hpp"
+#include "GreensFunction3D.hpp"
+
+const Real GreensFunction3D::TOLERANCE = 1e-8;
+const Real GreensFunction3D::H = 7;
+
+GreensFunction3D::~GreensFunction3D()
+{
+ ; // do nothing
+}
+
+Real GreensFunction3D::drawTime(Real rnd) const
+{
+ return INFINITY;
+}
+
+Real GreensFunction3D::p_r(Real r, Real t) const
+{
+ const Real D( getD() );
+ const Real Dt( D * t );
+ const Real Dt4( 4.0 * Dt );
+ const Real rr04( 4.0 * r * r0 );
+
+ const Real mrr0sq_over_4Dt( - pow_2( r + r0 ) / Dt4 );
+
+ const Real num1( expm1( mrr0sq_over_4Dt ) );
+ const Real num2( expm1( mrr0sq_over_4Dt + rr04 / Dt4 ) );
+
+ const Real den( rr04 * sqrt( M_PI * M_PI * M_PI * Dt ) );
+
+ const Real jacobian( 2.0 * r * r * M_PI );
+
+ return jacobian * ( - num1 + num2 ) / den;
+}
+
+Real GreensFunction3D::ip_r(Real r, Real t) const
+{
+ const Real D( getD() );
+ const Real Dt4( 4.0 * D * t );
+ const Real Dt4r( 1.0 / Dt4 );
+ const Real sqrtDt4( sqrt( Dt4 ) );
+ const Real sqrtDt4r( 1.0 / sqrtDt4 );
+
+ const Real num1a( exp( - pow_2( r - r0 ) * Dt4r ) );
+ const Real num1b( exp( - pow_2( r + r0 ) * Dt4r ) );
+ const Real den1( r0 * sqrt( M_PI ) );
+
+ const Real term1( sqrtDt4 * ( - num1a + num1b ) / den1 );
+
+ const Real term2( erf( ( r - r0 ) * sqrtDt4r ) );
+ const Real term3( erf( ( r + r0 ) * sqrtDt4r ) );
+
+ return ( term1 + term2 + term3 ) * .5;
+}
+
+Real GreensFunction3D::p_theta(Real theta, Real r, Real t) const
+{
+ return p_theta_free( theta, r, r0, t, getD() );
+}
+
+Real GreensFunction3D::ip_theta(Real theta, Real r, Real t) const
+{
+ return ip_theta_free( theta, r, r0, t, getD() );
+}
+
+struct ip_r_params
+{
+ GreensFunction3D const* const gf;
+ const Real t;
+ const Real value;
+};
+
+static Real ip_r_F(Real r, ip_r_params const* params )
+{
+ return params->gf->ip_r(r, params->t) - params->value;
+}
+
+Real GreensFunction3D::drawR(Real rnd, Real t) const
+{
+ // input parameter range checks.
+ if ( !(rnd <= 1.0 && rnd >= 0.0 ) )
+ {
+ throw std::invalid_argument( ( boost::format( "rnd <= 1.0 && rnd >= 0.0 : rnd=%.16g" ) % rnd ).str() );
+ }
+
+ if ( !(r0 >= 0.0 ) )
+ {
+ throw std::invalid_argument( ( boost::format( "r0 >= 0.0 : r0=%.16g" ) % r0 ).str() );
+ }
+
+ if ( !(t >= 0.0 ) )
+ {
+ throw std::invalid_argument( ( boost::format( "t >= 0.0 : t=%.16g" ) % t ).str() );
+ }
+
+
+ // t == 0 means no move.
+ if( t == 0.0 )
+ {
+ return r0;
+ }
+
+ ip_r_params params = { this, t, rnd };
+
+ gsl_function F =
+ {
+ reinterpret_cast<double (*)(double, void*)>( &ip_r_F ),
+ ¶ms
+ };
+
+ const Real r_range( this->H * sqrt( 6.0 * getD() * t ) );
+
+ const Real low_r( std::max( r0 - r_range, 0.0 ) );
+ const Real max_r( r0 + r_range );
+
+
+ if( GSL_FN_EVAL( &F, low_r ) >= 0.0 )
+ {
+ return low_r;
+ }
+
+ if( GSL_FN_EVAL( &F, max_r ) <= 0.0 )
+ {
+ return max_r;
+ }
+
+ const gsl_root_fsolver_type* solverType( gsl_root_fsolver_brent );
+ gsl_root_fsolver* solver( gsl_root_fsolver_alloc( solverType ) );
+ gsl_root_fsolver_set( solver, &F, low_r, max_r );
+
+ const unsigned int maxIter( 100 );
+
+ unsigned int i( 0 );
+ while( true )
+ {
+ gsl_root_fsolver_iterate( solver );
+ const Real low( gsl_root_fsolver_x_lower( solver ) );
+ const Real high( gsl_root_fsolver_x_upper( solver ) );
+ const int status( gsl_root_test_interval( low, high, 1e-15,
+ this->TOLERANCE ) );
+
+ if( status == GSL_CONTINUE )
+ {
+ if( i >= maxIter )
+ {
+ gsl_root_fsolver_free( solver );
+ throw std::runtime_error("drawR: failed to converge");
+ }
+ }
+ else
+ {
+ break;
+ }
+
+ ++i;
+ }
+
+ const Real r( gsl_root_fsolver_root( solver ) );
+ gsl_root_fsolver_free( solver );
+
+ return r;
+}
+
+struct ip_theta_params
+{
+ GreensFunction3D const* const gf;
+ const Real r;
+ const Real t;
+ const Real value;
+};
+
+static Real ip_theta_F(Real theta, ip_theta_params const* params)
+{
+ return params->gf->ip_theta(theta, params->r, params->t) - params->value;
+}
+
+Real GreensFunction3D::drawTheta(Real rnd, Real r, Real t) const
+{
+ // input parameter range checks.
+ if ( !(rnd <= 1.0 && rnd >= 0.0 ) )
+ {
+ throw std::invalid_argument( ( boost::format( "rnd <= 1.0 && rnd >= 0.0 : rnd=%.16g" ) % rnd ).str() );
+ }
+
+ if ( !(r >= 0.0 ) )
+ {
+ throw std::invalid_argument( ( boost::format( "r >= 0.0 : r=%.16g" ) % r ).str() );
+ }
+
+ if ( !(r0 >= 0.0 ) )
+ {
+ throw std::invalid_argument( ( boost::format( "r0 >= 0.0 : r0=%.16g" ) % r0 ).str() );
+ }
+
+ if ( !(t >= 0.0 ) )
+ {
+ throw std::invalid_argument( ( boost::format( "t >= 0.0 : t=%.16g" ) % t ).str() );
+ }
+
+
+ // t == 0 means no move.
+ if( t == 0.0 )
+ {
+ return 0.0;
+ }
+
+ const Real ip_theta_pi( ip_theta( M_PI, r, t ) );
+
+ ip_theta_params params = { this, r, t, rnd * ip_theta_pi };
+
+ gsl_function F =
+ {
+ reinterpret_cast<double (*)(double, void*)>( &ip_theta_F ),
+ ¶ms
+ };
+
+ const gsl_root_fsolver_type* solverType( gsl_root_fsolver_brent );
+ gsl_root_fsolver* solver( gsl_root_fsolver_alloc( solverType ) );
+ gsl_root_fsolver_set( solver, &F, 0.0,
+ M_PI + std::numeric_limits<Real>::epsilon() );
+
+ const unsigned int maxIter( 100 );
+
+ unsigned int i( 0 );
+ while( true )
+ {
+ gsl_root_fsolver_iterate( solver );
+ const Real low( gsl_root_fsolver_x_lower( solver ) );
+ const Real high( gsl_root_fsolver_x_upper( solver ) );
+ const int status( gsl_root_test_interval( low, high, 1e-15,
+ this->TOLERANCE ) );
+
+ if( status == GSL_CONTINUE )
+ {
+ if( i >= maxIter )
+ {
+ gsl_root_fsolver_free( solver );
+ throw std::runtime_error("drawTheta: failed to converge");
+ }
+ }
+ else
+ {
+ break;
+ }
+
+ ++i;
+ }
+
+ const Real theta( gsl_root_fsolver_root( solver ) );
+ gsl_root_fsolver_free( solver );
+
+
+ return theta;
+}
+
+
+std::string GreensFunction3D::dump() const
+{
+ std::ostringstream ss;
+ ss << "D = " << this->getD() << std::endl;
+ return ss.str();
+}
+
+Logger& GreensFunction3D::log_(
+ Logger::get_logger("GreensFunction3D"));
+
diff --git a/ecell4/egfrd/GreensFunction3D.hpp b/ecell4/egfrd/GreensFunction3D.hpp
new file mode 100644
index 0000000..69dce29
--- /dev/null
+++ b/ecell4/egfrd/GreensFunction3D.hpp
@@ -0,0 +1,64 @@
+#if !defined( __FREEPAIRGREENSFUNCTION )
+#define __FREEPAIRGREENSFUNCTION
+
+#include "compat.h"
+
+#include <gsl/gsl_integration.h>
+
+#include "Logger.hpp"
+#include "PairGreensFunction.hpp"
+
+/**
+ Pair Green's function for the case where the pair never interact.
+
+ Therefore, drawTime() always returns +INFINITY.
+ kf == sigma == 0.
+*/
+
+class GreensFunction3D: public PairGreensFunction
+{
+
+private:
+
+ static const Real TOLERANCE;
+ static const Real H;
+
+public:
+
+ GreensFunction3D(Real D, Real r0)
+ : PairGreensFunction(D, 0.0, r0, 0.0)
+ {
+ ; // do nothing
+ }
+
+
+ virtual ~GreensFunction3D();
+
+ virtual Real drawTime(Real rnd) const;
+
+ Real drawR(Real rnd, Real t) const;
+
+ Real drawTheta(Real rnd, Real r, Real t) const;
+
+ Real p_r(Real r, Real t) const;
+
+ Real ip_r(Real r, Real t ) const;
+
+
+ Real p_theta(Real theta, Real r, Real t) const;
+
+ Real ip_theta(Real theta, Real r, Real t ) const;
+
+ std::string dump() const;
+
+ const char* getName() const
+ {
+ return "GreensFunction3D";
+ }
+
+private:
+ static Logger& log_;
+};
+
+
+#endif // __PLAINPAIRGREENSFUNCTION
diff --git a/ecell4/egfrd/GreensFunction3DAbs.cpp b/ecell4/egfrd/GreensFunction3DAbs.cpp
new file mode 100644
index 0000000..48a2370
--- /dev/null
+++ b/ecell4/egfrd/GreensFunction3DAbs.cpp
@@ -0,0 +1,890 @@
+#ifdef HAVE_CONFIG_H
+#include <ecell4/egfrd/config.h>
+#endif /* HAVE_CONFIG_H */
+
+#include "compat.h"
+
+#include <stdexcept>
+#include <vector>
+#include <sstream>
+#include <algorithm>
+
+#include <boost/bind.hpp>
+#include <boost/format.hpp>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_math.h>
+#include <gsl/gsl_sf_legendre.h>
+#include <gsl/gsl_sf_bessel.h>
+#include <gsl/gsl_interp.h>
+#include <gsl/gsl_roots.h>
+#include <gsl/gsl_sf_lambert.h>
+
+#include "funcSum.hpp"
+#include "freeFunctions.hpp"
+#include "SphericalBesselGenerator.hpp"
+#include "GreensFunction3DAbs.hpp"
+
+typedef GreensFunction3DAbs GF3DA;
+
+const Real GF3DA::TOLERANCE = 1e-8;
+const Real GF3DA::THETA_TOLERANCE = 1e-5;
+const Real GF3DA::MIN_T = 1e-18;
+
+GF3DA::GreensFunction3DAbs(Real D, Real r0, Real a)
+ : GreensFunction3DRadAbsBase(D, 0., r0, 0.), a(a)
+{
+ if (a < 0.0)
+ {
+ throw std::invalid_argument((boost::format("a >= 0.0 : a=%.16g") % a).str());
+ }
+}
+
+GF3DA::~GreensFunction3DAbs()
+{
+ ; // do nothing
+}
+
+Real
+GF3DA::p_survival(Real t) const
+{
+ const Real D(getD());
+ const Real a(geta());
+
+ return p_survival_nocollision(t, r0, D, a);
+}
+
+
+Real
+GF3DA::dp_survival(Real t) const
+{
+ const Real D(getD());
+ const Real a(geta());
+
+ return dp_survival_nocollision(t, r0, D, a);
+}
+
+Real
+GF3DA::p_int_r(Real r, Real t) const
+{
+ const Real D(getD());
+ const Real a(geta());
+
+ const Real Dt(D * t);
+ const Real asq(a * a);
+ const Real a_r(1.0 / a);
+ const Real asq_r(a_r * a_r);
+
+ const Real PIr0(M_PI * r0);
+ const Real PIr(M_PI * r);
+
+ const Real r0_angle_factor(PIr0 * a_r);
+ const Real r_angle_factor(PIr * a_r);
+ const Real exp_factor(- Dt * M_PI * M_PI * asq_r);
+
+ const unsigned int i_max(
+ std::max(static_cast<unsigned int>(
+ ceil(sqrt( 1.0 - asq / M_PI / M_PI
+ * log(TOLERANCE) / Dt )
+ )),
+ 2u));
+
+ Real p(0.0);
+ unsigned int i(1);
+ for (;;)
+ {
+ Real sin_r;
+ Real cos_r;
+ sincos(r_angle_factor * i, &sin_r, &cos_r);
+
+ const Real isq(i * i);
+
+ const Real term1(exp(exp_factor * isq) *
+ sin(r0_angle_factor * i));
+ const Real term2(a * sin_r - PIr * i * cos_r);
+ const Real term(term1 * term2 / isq);
+
+ p += term;
+
+ if (i >= i_max)
+ {
+ break;
+ }
+
+ ++i;
+ }
+
+ const Real factor(M_2_PI / PIr0);
+
+ return p * factor;
+}
+
+struct p_survival_params
+{
+ const GF3DA* const gf;
+ const Real rnd;
+};
+
+Real
+static p_survival_F(Real t, p_survival_params const* params)
+{
+ const GF3DA* const gf(params->gf);
+ const Real rnd(params->rnd);
+
+ return rnd - gf->p_survival(t);
+}
+
+struct p_int_r_params
+{
+ const GF3DA* const gf;
+ const Real t;
+ const Real rnd;
+};
+
+static Real p_int_r_F(Real r, p_int_r_params const* params)
+{
+ const GF3DA* const gf(params->gf);
+ const Real t(params->t);
+ const Real rnd(params->rnd);
+
+ return gf->p_int_r(r, t) - rnd;
+}
+
+Real
+GF3DA::p_n_alpha(unsigned int i, unsigned int n, Real r, Real t) const
+{
+ const Real a(geta());
+
+ const Real mDt(- getD() * t);
+
+ // j = a alpha -> alpha = j / a
+ const Real aalpha(gsl_sf_bessel_zero_Jnu(static_cast<Real>(n) + 0.5,
+ i + 1));
+ const Real alpha(aalpha / a);
+
+ const Real term1(exp(mDt * alpha * alpha));
+
+ const SphericalBesselGenerator& s(SphericalBesselGenerator::instance());
+
+ const Real jr( s.j(n, r * alpha));
+ const Real jr0(s.j(n, r0 * alpha));
+ const Real ja2(s.j(n+1, aalpha));
+
+ const Real num(jr * jr0);
+ const Real den(ja2 * ja2);
+
+ const Real result(term1 * num / den);
+
+ return result;
+}
+
+
+Real
+GF3DA::p_n(Integer n, Real r, Real t) const
+{
+ const Real p(funcSum(boost::bind(&GF3DA::p_n_alpha, this, _1, n, r, t),
+ MAX_ALPHA_SEQ));
+
+ return p;
+}
+
+void
+GF3DA::makep_nTable(RealVector& p_nTable, Real r, Real t) const
+{
+ const Real a(geta());
+
+ p_nTable.clear();
+
+ const Real factor(1.0 / (2.0 * M_PI * gsl_pow_3(a)));
+
+ const Real p_0(p_n(0, r, t) * factor);
+ p_nTable.push_back(p_0);
+
+ if (p_0 == 0)
+ {
+ return;
+ }
+
+ const Real threshold(fabs(p_0 * THETA_TOLERANCE * 1e-1 ));
+
+ Real p_n_prev_abs(fabs(p_0));
+ unsigned int n(1);
+ for (;;)
+ {
+ Real p_n(this->p_n(n, r, t) * factor);
+
+ if (! isfinite(p_n))
+ {
+ log_.error("makep_nTable: invalid value: %.16g (n=%d)", p_n, n);
+ break;
+ }
+
+ p_nTable.push_back(p_n);
+
+ const Real p_n_abs(fabs(p_n));
+ // truncate when converged enough.
+ if (p_n_abs <= threshold &&
+ p_n_prev_abs <= threshold &&
+ p_n_abs <= p_n_prev_abs)
+ {
+ break;
+ }
+
+
+ if (n >= MAX_ORDER)
+ {
+ break;
+ }
+
+ ++n;
+ p_n_prev_abs = p_n_abs;
+ }
+
+}
+
+
+
+static Real
+p_theta_i(unsigned int n,
+ GF3DA::RealVector const& p_nTable,
+ GF3DA::RealVector const& lgndTable)
+{
+ return p_nTable[n] * lgndTable[n] * (2 * n + 1);
+}
+
+Real GF3DA::p_theta_table(Real theta, Real r, Real t, RealVector const& p_nTable) const
+{
+ const unsigned int tableSize(p_nTable.size());
+
+ RealVector lgndTable(tableSize);
+
+ Real sin_theta;
+ Real cos_theta;
+ sincos(theta, &sin_theta, &cos_theta);
+ gsl_sf_legendre_Pl_array(tableSize-1, cos_theta, &lgndTable[0]);
+
+ return funcSum_all(
+ boost::bind(&p_theta_i, _1, p_nTable, lgndTable),
+ tableSize) * sin_theta;
+}
+
+
+Real GF3DA::p_theta(Real theta, Real r, Real t) const
+{
+ {
+ const Real a(geta());
+
+ if (!(theta >= 0.0 && theta <= M_PI))
+ {
+ throw std::invalid_argument((boost::format("theta >= 0.0 && theta <= M_PI : theta=%.16g, M_PI=%.16g") % theta % M_PI).str());
+ }
+
+ if (!(r >= 0 && r < a))
+ {
+ throw std::invalid_argument((boost::format("r >= 0 && r < a : r=%.16g, a=%.16g") % r % a).str());
+ }
+
+ if (!(r0 >= 0 && r0 < a))
+ {
+ throw std::invalid_argument((boost::format("r0 >= 0 && r0 < a : r0=%.16g, a=%.16g") % r0 % a).str());
+ }
+
+ if (!(t >= 0.0))
+ {
+ throw std::invalid_argument((boost::format("t >= 0.0 : t=%.16g") % t).str());
+ }
+
+ }
+
+ if (t == 0.0)
+ {
+ return 0.0;
+ }
+
+
+ RealVector p_nTable;
+
+ makep_nTable(p_nTable, r, t);
+
+ const Real p(p_theta_table(theta, r, t, p_nTable));
+
+ return p;
+}
+
+
+
+Real GF3DA::ip_theta(Real theta, Real r, Real t) const
+{
+ {
+ const Real a(geta());
+
+ if (!(theta >= 0.0 && theta <= M_PI))
+ {
+ throw std::invalid_argument((boost::format("theta >= 0.0 && theta <= M_PI : theta=%.16g, M_PI=%.16g") % theta % M_PI).str());
+ }
+
+ // r \in (sigma, a)
+ if (!(r >= 0.0 && r < a))
+ {
+ throw std::invalid_argument((boost::format("r >= 0.0 && r < a : r=%.16g, a=%.16g") % r % a).str());
+ }
+
+ if (!(r0 >= 0.0 && r0 < a))
+ {
+ throw std::invalid_argument((boost::format("r0 >= 0.0 && r0 < a : r0=%.16g, a=%.16g") % r0 % a).str());
+ }
+
+ if (!(t >= 0.0))
+ {
+ throw std::invalid_argument((boost::format("t >= 0.0 : t=%.16g") % t).str());
+ }
+
+ }
+
+ if (t == 0.0 || theta == 0.0)
+ {
+ return 0.0;
+ }
+
+ RealVector p_nTable;
+
+ makep_nTable(p_nTable, r, t);
+
+ const Real p(ip_theta_table(theta, r, t, p_nTable));
+
+ return p;
+}
+
+static Real
+ip_theta_i(unsigned int n,
+ GF3DA::RealVector const& p_nTable,
+ GF3DA::RealVector const& lgndTable1)
+{
+ // lgndTable1 is offset by 1; lgndTable1[0] is for n=-1.
+
+ const Real lgnd_n_m1(lgndTable1[n]); // n-1
+ const Real lgnd_n_p1(lgndTable1[n+2]); // n+1
+
+ return p_nTable[n] * (lgnd_n_m1 - lgnd_n_p1);// / (1.0 + 2.0 * n);
+}
+
+
+Real
+GF3DA::ip_theta_table(
+ Real theta, Real r, Real t, RealVector const& p_nTable) const
+{
+ const unsigned int tableSize(p_nTable.size());
+
+ RealVector pTable;
+ pTable.reserve(tableSize);
+
+ const Real cos_theta(cos(theta));
+
+ // LgndTable is offset by 1 to incorporate the n=-1 case.
+ // For ex: LgndTable[0] is for n=-1, lgndTable[1] is for n=0 ...
+
+ RealVector lgndTable1(tableSize + 2);
+ lgndTable1[0] = 1.0; // n = -1
+ gsl_sf_legendre_Pl_array(tableSize, cos_theta, &lgndTable1[1]);
+
+
+ return funcSum_all(
+ boost::bind(&ip_theta_i, _1, p_nTable, lgndTable1),
+ tableSize);
+}
+
+struct GF3DA::ip_theta_params
+{
+ GF3DA const* const gf;
+ const Real r;
+ const Real t;
+ RealVector const& p_nTable;
+ const Real value;
+};
+
+Real GF3DA::ip_theta_F(Real theta, ip_theta_params const* params)
+{
+ const GF3DA* const gf(params->gf);
+ const Real r(params->r);
+ const Real t(params->t);
+ const RealVector& p_nTable(params->p_nTable);
+ const Real value(params->value);
+
+ return gf->ip_theta_table(theta, r, t, p_nTable) - value;
+}
+
+
+Real
+GF3DA::dp_n_alpha(unsigned int i, unsigned int n, Real t) const
+{
+ const Real a(geta());
+
+ const Real mDt(- getD() * t);
+
+ const Real
+ aalpha(gsl_sf_bessel_zero_Jnu(static_cast<Real>(n) + 0.5, i + 1));
+ const Real alpha(aalpha / a);
+
+ const Real term1(exp(mDt * alpha * alpha) * alpha);
+
+ const SphericalBesselGenerator& s(SphericalBesselGenerator::instance());
+
+ const Real jr0(s.j(n, r0 * alpha));
+ const Real ja2(s.j(n+1, aalpha));
+
+ const Real result(term1 * jr0 / ja2);
+
+ return result;
+}
+
+
+
+Real
+GF3DA::dp_n(Integer n, Real t) const
+{
+ const Real
+ p(funcSum(boost::bind(&GF3DA::dp_n_alpha, this, _1, n, t),
+ MAX_ALPHA_SEQ));
+
+ return p;
+}
+
+
+void GF3DA::makedp_nTable(RealVector& p_nTable, Real t) const
+{
+ p_nTable.clear();
+
+ const Real factor(- getD() / (2.0 * M_PI * gsl_pow_3(a)));
+
+ const Real p_0(dp_n(0, t) * factor);
+ p_nTable.push_back(p_0);
+
+ if (p_0 == 0)
+ {
+ return;
+ }
+
+ const Real threshold(fabs(THETA_TOLERANCE * p_0 * 1e-1));
+
+ Real p_n_prev_abs(fabs(p_0));
+ unsigned int n(1);
+ for (;;)
+ {
+ Real p_n(dp_n(n, t) * factor);
+
+ if (! isfinite(p_n))
+ {
+ log_.error("makedp_nTable: invalid value: %.16g (n=%d)", p_n, n);
+ break;
+ }
+
+ p_nTable.push_back(p_n);
+
+ const Real p_n_abs(fabs(p_n));
+ // truncate when converged enough.
+ if (p_n_abs <= threshold &&
+ p_n_prev_abs <= threshold &&
+ p_n_abs <= p_n_prev_abs)
+ {
+ break;
+ }
+
+
+ if (n >= MAX_ORDER)
+ {
+ break;
+ }
+
+ ++n;
+ p_n_prev_abs = p_n_abs;
+ }
+
+}
+
+Real
+GF3DA::dp_theta(Real theta, Real r, Real t) const
+{
+ {
+ const Real a(geta());
+
+ if (!(theta >= 0.0 && theta <= M_PI))
+ {
+ throw std::invalid_argument((boost::format("theta >= 0.0 && theta <= M_PI : theta=%.16g, M_PI=%.16g") % theta % M_PI).str());
+ }
+
+
+ // r \in [ sigma, a ] ; unlike p_theta,
+ // defined at r == sigma and r == a.
+ if (!(r >= 0.0 && r <= a))
+ {
+ throw std::invalid_argument((boost::format("r >= 0.0 && r <= a : r=%.16g, a=%.16g") % r % a).str());
+ }
+
+ if (!(r0 >= 0.0 && r0 < a))
+ {
+ throw std::invalid_argument((boost::format("r0 >= 0.0 && r0 < a : r0=%.16g, a=%.16g") % r0 % a).str());
+ }
+
+ if (!(t >= 0.0))
+ {
+ throw std::invalid_argument((boost::format("t >= 0.0 : t=%.16g") % t).str());
+ }
+
+ }
+
+ if (t == 0.0)
+ {
+ return 0.0;
+ }
+
+ RealVector p_nTable;
+
+ makedp_nTable(p_nTable, t);
+
+ const Real p(p_theta_table(theta, r, t, p_nTable));
+
+ return p;
+}
+
+Real
+GF3DA::idp_theta(Real theta, Real r, Real t) const
+{
+ {
+ const Real a(geta());
+
+ if (!(theta >= 0.0 && theta <= M_PI))
+ {
+ throw std::invalid_argument((boost::format("theta >= 0.0 && theta <= M_PI : theta=%.16g, M_PI=%.16g") % theta % M_PI).str());
+ }
+
+ // r \in [ sigma, a ]
+ if (!(r >= 0.0 && r <= a))
+ {
+ throw std::invalid_argument((boost::format("r >= 0.0 && r <= a : r=%.16g, a=%.16g") % r % a).str());
+ }
+
+ if (!(r0 >= 0.0 && r0 < a))
+ {
+ throw std::invalid_argument((boost::format("r0 >= 0.0 && r0 < a : r0=%.16g, a=%.16g") % r0 % a).str());
+ }
+
+ if (!(t >= 0.0))
+ {
+ throw std::invalid_argument((boost::format("t >= 0.0 : t=%.16g") % t).str());
+ }
+
+ }
+
+ if (t == 0.0 || theta == 0.0)
+ {
+ return 0.0;
+ }
+
+ RealVector p_nTable;
+
+ makedp_nTable(p_nTable, t);
+
+ const Real p(ip_theta_table(theta, r, t, p_nTable));
+
+ return p;
+}
+
+Real
+GF3DA::drawTime(Real rnd) const
+{
+ const Real a(geta());
+
+ if (!(rnd <= 1.0 && rnd >= 0.0))
+ {
+ throw std::invalid_argument((boost::format("rnd <= 1.0 && rnd >= 0.0 : rnd=%.16g") % rnd).str());
+ }
+
+ if (!(r0 >= 0.0 && r0 <= a))
+ {
+ throw std::invalid_argument((boost::format("r0 >= 0.0 && r0 <= a : r0=%.16g, a=%.16g") % r0 % a).str());
+ }
+
+
+ if (r0 == a || a == 0.0)
+ {
+ return 0.0;
+ }
+
+ Real low(1e-6);
+ Real high(1.0);
+
+ p_survival_params params = { this, rnd };
+
+ gsl_function F = {
+ reinterpret_cast<double (*)(double, void*)>( &p_survival_F ),
+ ¶ms
+ };
+
+ // adjust high and low to make sure that f(low) and f(high) straddle.
+ while(GSL_FN_EVAL(&F, high) < 0.0)
+ {
+ high *= 10;
+ log_.info("drawTime: adjusting high: %.16g", high);
+ if (fabs(high) >= 1e10)
+ {
+ throw std::runtime_error(
+ (boost::format("couldn't adjust high. F(%.16g) = %.16g; r0=%.16g, %s") %
+ high % GSL_FN_EVAL(&F, high) % r0 % dump()).str());
+ }
+ }
+
+ Real low_value(GSL_FN_EVAL(&F, low));
+ while(low_value > 0.0)
+ {
+ low *= .1;
+
+ const Real low_value_new(GSL_FN_EVAL(&F, low));
+
+ log_.info("drawTime: adjusting low: %.16g, F = %.16g", low, low_value_new);
+
+ if (fabs(low) <= MIN_T ||
+ fabs(low_value - low_value_new) < TOLERANCE)
+ {
+ log_.info("couldn't adjust low. Returning %.16g as MIN_T; "
+ "F(%.16g) = %.16g; r0 = %.16g, %s", MIN_T, low,
+ GSL_FN_EVAL(&F, low), r0, dump().c_str());
+ return MIN_T;
+ }
+
+ low_value = low_value_new;
+ }
+
+ const gsl_root_fsolver_type* solverType(gsl_root_fsolver_brent);
+ gsl_root_fsolver* solver(gsl_root_fsolver_alloc(solverType));
+ gsl_root_fsolver_set(solver, &F, low, high);
+
+ const unsigned int maxIter(100);
+
+ unsigned int i(0);
+ for (;;)
+ {
+ gsl_root_fsolver_iterate(solver);
+ low = gsl_root_fsolver_x_lower(solver);
+ high = gsl_root_fsolver_x_upper(solver);
+
+ const int status(gsl_root_test_interval(low, high, MIN_T,
+ TOLERANCE));
+
+ if (status == GSL_CONTINUE)
+ {
+ if (i >= maxIter)
+ {
+ gsl_root_fsolver_free(solver);
+ throw std::runtime_error("drawTime: failed to converge");
+ }
+ }
+ else
+ {
+ break;
+ }
+
+ ++i;
+ }
+
+ Real t(gsl_root_fsolver_root(solver));
+ gsl_root_fsolver_free(solver);
+
+ return t;
+}
+
+Real
+GF3DA::drawR(Real rnd, Real t) const
+{
+ const Real a(geta());
+
+ if (!(rnd <= 1.0 && rnd >= 0.0))
+ {
+ throw std::invalid_argument((boost::format("rnd <= 1.0 && rnd >= 0.0 : rnd=%.16g") % rnd).str());
+ }
+
+ if (!(r0 >= 0.0 && r0 < a))
+ {
+ throw std::invalid_argument((boost::format("r0 >= 0.0 && r0 < a : r0=%.16g, a=%.16g") % r0 % a).str());
+ }
+
+
+ if (t == 0.0)
+ {
+ return r0;
+ }
+
+ const Real psurv(p_survival(t));
+
+ p_int_r_params params = { this, t, rnd * psurv };
+
+ gsl_function F = {
+ reinterpret_cast<double (*)(double, void*)>( &p_int_r_F ),
+ ¶ms
+ };
+
+ Real low(0.0);
+ Real high(a);
+
+// const Real lowvalue(GSL_FN_EVAL(&F, low ));
+ const Real highvalue(GSL_FN_EVAL(&F, high));
+
+ // No initial range guess, except the negative value check below,
+ // as evaluation of p_int_r in this GF seems pretty robust.
+
+ if (highvalue < 0.0)
+ {
+ log_.info("drawR: highvalue < 0.0 (%.16g). returning a (%.16g)", highvalue, a);
+ return a;
+ }
+
+
+ const gsl_root_fsolver_type* solverType(gsl_root_fsolver_brent);
+ gsl_root_fsolver* solver(gsl_root_fsolver_alloc(solverType));
+ gsl_root_fsolver_set(solver, &F, low, high);
+
+ const unsigned int maxIter(100);
+
+ unsigned int i(0);
+ for (;;)
+ {
+ gsl_root_fsolver_iterate(solver);
+ low = gsl_root_fsolver_x_lower(solver);
+ high = gsl_root_fsolver_x_upper(solver);
+ const int status(gsl_root_test_interval(low, high, 1e-15,
+ TOLERANCE));
+
+ if (status == GSL_CONTINUE)
+ {
+ if (i >= maxIter)
+ {
+ gsl_root_fsolver_free(solver);
+ throw std::runtime_error("drawR: failed to converge");
+ }
+ }
+ else
+ {
+ break;
+ }
+
+ ++i;
+ }
+
+ const Real r(gsl_root_fsolver_root(solver));
+ gsl_root_fsolver_free(solver);
+
+ return r;
+}
+
+Real
+GF3DA::drawTheta(Real rnd, Real r, Real t) const
+{
+ Real theta;
+
+ const Real a(geta());
+
+ // input parameter range checks.
+ if (!(rnd <= 1.0 && rnd >= 0.0))
+ {
+ throw std::invalid_argument((boost::format("rnd <= 1.0 && rnd >= 0.0 : rnd=%.16g") % rnd).str());
+ }
+
+ if (!(r0 >= 0.0 && r0 < a))
+ {
+ throw std::invalid_argument((boost::format("r0 >= 0.0 && r0 < a : r0=%.16g, a=%.16g") % r0 % a).str());
+ }
+
+ if (!(r >= 0.0 && r <= a))
+ {
+ throw std::invalid_argument((boost::format("r >= 0.0 && r <= a : r=%.16g, a=%.16g") % r % a).str());
+ }
+
+ if (!(t >= 0.0))
+ {
+ throw std::invalid_argument((boost::format("t >= 0.0 : t=%.16g") % t).str());
+ }
+
+
+ // t == 0 means no move.
+ if (t == 0.0)
+ {
+ return 0.0;
+ }
+
+ RealVector p_nTable;
+
+ if (r == geta() || r < 0.0)
+ {
+ makedp_nTable(p_nTable, t);
+ }
+ else
+ {
+ makep_nTable(p_nTable, r, t);
+ }
+
+ // root finding with the integrand form.
+
+ const Real ip_theta_pi(ip_theta_table(M_PI, r, t, p_nTable));
+
+ ip_theta_params params = { this, r, t, p_nTable, rnd * ip_theta_pi };
+
+ gsl_function F = {
+ reinterpret_cast<double (*)(double, void*)>( &ip_theta_F ),
+ ¶ms
+ };
+
+ const gsl_root_fsolver_type* solverType(gsl_root_fsolver_brent);
+ gsl_root_fsolver* solver(gsl_root_fsolver_alloc(solverType));
+ gsl_root_fsolver_set(solver, &F, 0.0, M_PI);
+
+ const unsigned int maxIter(100);
+
+ unsigned int i(0);
+ for (;;)
+ {
+ gsl_root_fsolver_iterate(solver);
+ const Real low(gsl_root_fsolver_x_lower(solver));
+ const Real high(gsl_root_fsolver_x_upper(solver));
+ const int status(gsl_root_test_interval(low, high, 1e-11,
+ THETA_TOLERANCE));
+
+ if (status == GSL_CONTINUE)
+ {
+ if (i >= maxIter)
+ {
+ gsl_root_fsolver_free(solver);
+ throw std::runtime_error("drawTheta: failed to converge");
+ }
+ }
+ else
+ {
+ break;
+ }
+
+ ++i;
+ }
+
+ theta = gsl_root_fsolver_root(solver);
+ gsl_root_fsolver_free(solver);
+
+ return theta;
+}
+
+GF3DA::EventKind GF3DA::drawEventType(Real rnd, Real t) const
+{
+ assert(0);
+ return IV_ESCAPE; //XXX: DUMMY?
+}
+
+//
+// debug
+//
+
+std::string GF3DA::dump() const
+{
+ std::ostringstream ss;
+ ss << "D = " << getD() <<
+ ", a = " << geta() << std::endl;
+ return ss.str();
+}
+
+Logger& GreensFunction3DAbs::log_(
+ Logger::get_logger("GreensFunction3DAbs"));
diff --git a/ecell4/egfrd/GreensFunction3DAbs.hpp b/ecell4/egfrd/GreensFunction3DAbs.hpp
new file mode 100644
index 0000000..8bab30b
--- /dev/null
+++ b/ecell4/egfrd/GreensFunction3DAbs.hpp
@@ -0,0 +1,109 @@
+#if !defined( __FIRSTPASSAGENOCOLLISIONPAIRGREENSFUNCTION )
+#define __FIRSTPASSAGENOCOLLISIONPAIRGREENSFUNCTION
+
+#include <vector>
+#include <boost/array.hpp>
+
+#include <gsl/gsl_roots.h>
+
+#include "Logger.hpp"
+#include "GreensFunction3DRadAbsBase.hpp"
+
+class GreensFunction3DAbs: public GreensFunction3DRadAbsBase
+{
+public:
+ typedef std::vector<Real> RealVector;
+
+private:
+ // Error tolerance used by default.
+ static const Real TOLERANCE;
+
+ // SphericalBesselGenerator's accuracy, used by some
+ // theta-related calculations.
+ static const Real THETA_TOLERANCE;
+
+ static const Real MIN_T;
+
+ static const unsigned int MAX_ORDER = 50;
+ static const unsigned int MAX_ALPHA_SEQ = 1005;
+
+
+public:
+
+ GreensFunction3DAbs(Real D, Real r0, Real a);
+
+ virtual ~GreensFunction3DAbs();
+
+ Real geta() const
+ {
+ return this->a;
+ }
+
+ virtual Real drawTime(Real rnd) const;
+
+ virtual EventKind drawEventType(Real rnd, Real t) const;
+
+ virtual Real drawR(Real rnd, Real t) const;
+
+ virtual Real drawTheta(Real rnd, Real r, Real t) const;
+
+ Real p_survival(Real t) const;
+
+ Real dp_survival(Real t) const;
+
+ Real p_int_r(Real r, Real t) const;
+
+ Real p_theta(Real theta, Real r, Real t) const;
+
+ Real ip_theta(Real theta, Real r, Real t) const;
+
+ Real dp_theta(Real theta, Real r, Real t) const;
+
+ Real idp_theta(Real theta, Real r, Real t) const;
+
+
+ Real p_n(Integer n, Real r, Real t) const;
+
+ Real dp_n(Integer n, Real t ) const;
+
+
+ Real p_n_alpha(unsigned int i, unsigned int n, Real r, Real t ) const;
+
+ Real dp_n_alpha(unsigned int i, unsigned int n, Real t) const;
+
+ // methods below are kept public for debugging purpose.
+
+ std::string dump() const;
+
+ const char* getName() const
+ {
+ return "GreensFunction3DAbs";
+ }
+
+protected:
+
+ Real p_theta_table(Real theta, Real r, Real t,
+ RealVector const& p_nTable ) const;
+
+ Real ip_theta_table(Real theta, Real r, Real t,
+ RealVector const& p_nTable ) const;
+
+ void makep_nTable(RealVector& p_nTable, Real r, Real t) const;
+
+ void makedp_nTable(RealVector& p_nTable, Real t) const;
+
+ struct ip_theta_params;
+ static Real ip_theta_F(Real theta, ip_theta_params const* params);
+
+private:
+
+ mutable boost::array<Integer,MAX_ORDER+1> alphaOffsetTable;
+ mutable boost::array<RealVector,MAX_ORDER+1> alphaTable;
+ //mutable std::vector<RealVector> alphaTable;
+
+ Real a;
+
+ static Logger& log_;
+};
+
+#endif // __FIRSTPASSAGEPAIRGREENSFUNCTION
diff --git a/ecell4/egfrd/GreensFunction3DAbsSym.cpp b/ecell4/egfrd/GreensFunction3DAbsSym.cpp
new file mode 100644
index 0000000..28c9f23
--- /dev/null
+++ b/ecell4/egfrd/GreensFunction3DAbsSym.cpp
@@ -0,0 +1,411 @@
+#ifdef HAVE_CONFIG_H
+#include <ecell4/egfrd/config.h>
+#endif /* HAVE_CONFIG_H */
+
+#include "compat.h"
+
+#include <sstream>
+#include <exception>
+#include <vector>
+#include <boost/format.hpp>
+#include <boost/lexical_cast.hpp>
+#include <gsl/gsl_math.h>
+#include <gsl/gsl_sf_trig.h>
+#include <gsl/gsl_sum.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_interp.h>
+#include <gsl/gsl_sf_expint.h>
+#include <gsl/gsl_sf_elljac.h>
+#include <gsl/gsl_roots.h>
+
+#include "findRoot.hpp"
+#include "freeFunctions.hpp"
+#include "GreensFunction3DAbsSym.hpp"
+
+const Real GreensFunction3DAbsSym::CUTOFF = 1e-10;
+const Real GreensFunction3DAbsSym::CUTOFF_H = 6.0;
+
+/**
+ EllipticTheta[4,0,q]
+
+ Efficiently calculate EllipticTheta[4,0,q] for q < 1.0.
+*/
+
+Real GreensFunction3DAbsSym::ellipticTheta4Zero(Real q)
+{
+ if (fabs(q) > 1.0)
+ {
+ throw std::invalid_argument((boost::format("fabs(%.16g) <= 1.0") % q).str());
+ }
+
+ // et4z(1 - 1e4) ~= 7.2e-23
+ // et4z(1e-15) ~= 1 - 2e-15
+ // et4z(1e-16) ~= 1 - 2.2e-16
+ // et4z(1e-17) ~= 1 - (zero)
+
+ const Integer N(1000);
+ Real value(1.0);
+
+ Real q_n(q);
+ Real q_2n(1.0);
+
+ for (Integer n(1); n <= N; ++n)
+ {
+ const Real term2(1.0 - q_2n * q); // q^(2n-1) = (q^(n-1))^2 * q
+
+ q_2n = q_n * q_n;
+
+ const Real term1(1.0 - q_2n); // q^2n
+
+ const Real term(term1 * term2 * term2);
+ const Real value_prev(value);
+ value *= term;
+
+ // here only absolute error is checked because it is good enough
+ // for our use. (it's compared with 1 in p_survival).
+ if (fabs(value - value_prev) < 1e-18)
+ {
+ // normal exit.
+ return value;
+ }
+
+ q_n *= q; // q_(++n)
+ }
+
+ log_.warn("ellipticTheta4Zero: didn't converge");
+ return value;
+}
+
+
+Real GreensFunction3DAbsSym::p_survival(Real t) const
+{
+ const Real D(getD());
+ const Real a(geta());
+ const Real asq(a * a);
+ const Real PIsq(M_PI * M_PI);
+
+ const Real q(- D * PIsq * t / asq);
+ return 1.0 - ellipticTheta4Zero(exp(q));
+}
+
+Real GreensFunction3DAbsSym::p_int_r_free(Real r, Real t) const
+{
+ const Real D(getD());
+ const Real Dt(D * t);
+ const Real sqrtDt(sqrt(Dt));
+ const Real sqrtPI(sqrt(M_PI));
+
+ return erf(r / (sqrtDt + sqrtDt))
+ - r * exp(- r * r / (4.0 * Dt)) / (sqrtPI * sqrtDt);
+}
+
+Real GreensFunction3DAbsSym::p_int_r(Real r, Real t) const
+{
+ Real value(0.0);
+
+ const Real a(geta());
+ const Real p_free(this->p_int_r_free(r, t));
+
+ // p_int_r is always smaller than p_free.
+ if (fabs(p_free) < CUTOFF)
+ {
+ return 0.0;
+ }
+
+ const Real D(getD());
+ const Real asq(a * a);
+ const Real PIsq(M_PI * M_PI);
+
+ const Real PIr(M_PI * r);
+ const Real PIr_a(PIr / a);
+ const Real DtPIsq_asq(D * t * PIsq / asq);
+
+ const Real factor(2.0 / (a * M_PI));
+
+ const Real maxn((a / M_PI) * sqrt(log(exp(DtPIsq_asq) / CUTOFF) /
+ (D * t)));
+
+ const Integer N_MAX(10000);
+
+ const Integer N(std::min(static_cast<Integer>(ceil(maxn) + 1),
+ N_MAX));
+ if (N == N_MAX)
+ {
+ log_.warn("p_int_r: didn't converge");
+ }
+
+
+ for (Integer n(1); n <= N; ++n)
+ {
+ const Real term1(exp(- n * n * DtPIsq_asq));
+
+ const Real angle_n(n * PIr_a);
+ Real sin_n;
+ Real cos_n;
+ sincos(angle_n, &sin_n, &cos_n);
+ const Real term2(a * sin_n);
+ const Real term3(n * PIr * cos_n);
+
+ const Real term(term1 * (term2 - term3) / n);
+ value += term;
+ }
+
+ return value * factor;
+}
+
+Real GreensFunction3DAbsSym::p_r_fourier(Real r, Real t) const
+{
+ Real value(0.0);
+
+ const Real D(getD());
+ const Real a(geta());
+ const Real asq(a * a);
+ const Real PIsq(M_PI * M_PI);
+
+ const Integer N(100);
+
+ long int n(1);
+ for (;;)
+ {
+ const Real term1(exp(- (PIsq * r * r + asq * n*n) /
+ (4.0 * D * PIsq * t)));
+
+ const Real term2(M_PI * r *
+ exp(gsl_sf_lncosh(a * r * n /
+ (2.0 * D * M_PI * t))));
+
+ const Real term3(a * n *
+ exp(gsl_sf_lnsinh(a * r * n /
+ (2.0 * D * M_PI * t))));
+
+
+ const Real term(term1 * r * (term2 - term3));
+ value += term;
+
+ if (fabs(value) * 1e-8 > fabs(term))
+ {
+ break;
+ }
+
+ if (n > N)
+ {
+ log_.warn("p_r_fourier: didn't converge; n = %d, value = %.16g", n, value);
+ break;
+ }
+
+ ++n;
+ }
+
+ const Real factor(1.0 / (sqrt(2.0) * PIsq * pow(D * t, 1.5)));
+
+ return value * factor;
+}
+
+struct p_survival_params
+{
+ const GreensFunction3DAbsSym* const gf;
+ const Real rnd;
+};
+
+static Real p_survival_F(Real t, p_survival_params const* params)
+{
+ return params->rnd - params->gf->p_survival(t);
+}
+
+
+Real GreensFunction3DAbsSym::drawTime(Real rnd) const
+{
+ const Real D(getD());
+
+ if (rnd >= 1.0 || rnd < 0.0)
+ {
+ throw std::invalid_argument((boost::format("0.0 <= %.16g < 1.0") % rnd).str());
+ }
+
+ const Real a(geta());
+
+ if (D == 0.0 || a == INFINITY)
+ {
+ return INFINITY;
+ }
+
+ if (a == 0.0)
+ {
+ return 0.0;
+ }
+
+ p_survival_params params = { this, rnd };
+
+ gsl_function F =
+ {
+ reinterpret_cast<double (*)(double, void*)>( &p_survival_F ),
+ ¶ms
+ };
+
+ const Real t_guess(a * a / (6. * D));
+
+ Real low(t_guess);
+ Real high(t_guess);
+
+ const Real value(GSL_FN_EVAL(&F, t_guess));
+
+ if (value < 0.0)
+ {
+ high *= 10;
+
+ for (;;)
+ {
+ const Real high_value(GSL_FN_EVAL(&F, high));
+
+ if (high_value >= 0.0)
+ {
+ break;
+ }
+
+ if (fabs(high) >= t_guess * 1e6)
+ {
+ throw std::runtime_error(
+ (boost::format("couldn't adjust high. F(%.16g) = %.16g; %s") %
+ high % GSL_FN_EVAL(&F, high) %
+ boost::lexical_cast<std::string>(*this)).str());
+ }
+ high *= 10;
+ }
+ }
+ else
+ {
+ Real low_value_prev(value);
+ low *= .1;
+
+ for (;;)
+ {
+ const Real low_value(GSL_FN_EVAL(&F, low));
+
+ if (low_value <= 0.0)
+ {
+ break;
+ }
+
+ if (fabs(low) <= t_guess * 1e-6 ||
+ fabs(low_value - low_value_prev) < CUTOFF)
+ {
+ log_.info("couldn't adjust high. F(%.16g) = %.16g; %s",
+ low, GSL_FN_EVAL(&F, low),
+ boost::lexical_cast<std::string>(*this).c_str());
+ log_.info("returning low (%.16g)", low);
+ return low;
+ }
+ low_value_prev = low_value;
+ low *= .1;
+ }
+ }
+
+
+ const gsl_root_fsolver_type* solverType(gsl_root_fsolver_brent);
+ gsl_root_fsolver* solver(gsl_root_fsolver_alloc(solverType));
+
+ const Real t(findRoot(F, solver, low, high, 1e-18, 1e-12,
+ "GreensFunction3DAbsSym::drawTime"));
+
+ gsl_root_fsolver_free(solver);
+
+ return t;
+}
+
+struct p_r_params
+{
+ const GreensFunction3DAbsSym* const gf;
+ const Real t;
+ const Real target;
+};
+
+static Real p_r_free_F(Real r, p_r_params const* params)
+{
+ return params->gf->p_int_r_free(r, params->t) - params->target;
+}
+
+
+static Real p_r_F(Real r, p_r_params const* params)
+{
+ return params->gf->p_int_r(r, params->t) - params->target;
+}
+
+Real GreensFunction3DAbsSym::drawR(Real rnd, Real t) const
+{
+ if (rnd >= 1.0 || rnd < 0.0)
+ {
+ throw std::invalid_argument((boost::format("0.0 <= %.16g < 1.0") % rnd).str());
+ }
+
+ if (t < 0.0)
+ {
+ throw std::invalid_argument((boost::format("%.16g < 0.0") % t).str());
+ }
+
+ const Real a(geta());
+ const Real D(getD());
+
+ if (a == 0.0 || t == 0.0 || D == 0.0)
+ {
+ return 0.0;
+ }
+
+ const Real thresholdDistance(this->CUTOFF_H * sqrt(6.0 * D * t));
+
+ gsl_function F;
+ Real psurv;
+
+ if (a <= thresholdDistance)
+ {
+ //psurv = p_survival(t); // this causes a problem when p_survival is very small.
+ psurv = p_int_r(a, t);
+
+ if (psurv == 0.0)
+ {
+ return a;
+ }
+
+ assert(psurv >= 0.0);
+
+ F.function = reinterpret_cast<double (*)(double, void*)>( &p_r_F );
+ }
+ else
+ {
+ // p_int_r < p_int_r_free
+ if (p_int_r_free(a, t) < rnd)
+ {
+ log_.info("p_int_r_free(a, t) < rnd, returning a");
+ return a;
+ }
+
+ psurv = 1.0;
+ F.function = reinterpret_cast<double (*)(double, void*)>( &p_r_free_F );
+ }
+
+ const Real target(psurv * rnd);
+ p_r_params params = { this, t, target };
+
+ F.params = ¶ms;
+
+ const Real low(0.0);
+ const Real high(a);
+ //const Real high(std::min(thresholdDistance, a));
+
+ const gsl_root_fsolver_type* solverType(gsl_root_fsolver_brent);
+ gsl_root_fsolver* solver(gsl_root_fsolver_alloc(solverType));
+
+ const Real r(findRoot(F, solver, low, high, 1e-18, 1e-12,
+ "GreensFunction3DAbsSym::drawR"));
+
+ gsl_root_fsolver_free(solver);
+
+ return r;
+}
+
+std::string GreensFunction3DAbsSym::dump() const
+{
+ return (boost::format("D=%.16g, a=%.16g") % getD() % geta()).str();
+}
+
+Logger& GreensFunction3DAbsSym::log_(
+ Logger::get_logger("GreensFunction3DAbsSym"));
diff --git a/ecell4/egfrd/GreensFunction3DAbsSym.hpp b/ecell4/egfrd/GreensFunction3DAbsSym.hpp
new file mode 100644
index 0000000..8afbd60
--- /dev/null
+++ b/ecell4/egfrd/GreensFunction3DAbsSym.hpp
@@ -0,0 +1,72 @@
+#if !defined( __FIRSTPASSAGEGREENSFUNCTION_HPP)
+#define __FIRSTPASSAGEGREENSFUNCTION_HPP
+
+#include "Defs.hpp"
+#include "Logger.hpp"
+#include "GreensFunction.hpp"
+#include <ostream>
+
+class GreensFunction3DAbsSym: public GreensFunction
+{
+public:
+ GreensFunction3DAbsSym(Real D, Real a)
+ : GreensFunction(D), a(a) {}
+
+ ~GreensFunction3DAbsSym() {}
+
+ Real getD() const
+ {
+ return this->D;
+ }
+
+ Real geta() const
+ {
+ return this->a;
+ }
+
+ Real p_survival(Real t) const;
+
+ Real drawTime(Real rnd) const;
+
+ Real drawR(Real rnd, Real t) const;
+
+ Real p_int_r(Real r, Real t) const;
+ Real p_int_r_free(Real r, Real t) const;
+
+ Real p_r_fourier(Real r, Real t) const;
+
+ std::string dump() const;
+
+ const char* getName() const
+ {
+ return "GreensFunction3DAbsSym";
+ }
+
+private:
+ static Real ellipticTheta4Zero(Real q);
+
+private:
+
+ static const Real CUTOFF;
+
+ // H = 4.0: ~3e-5, 4.26: ~1e-6, 5.0: ~3e-7, 5.2: ~1e-7,
+ // 5.6: ~1e-8, 6.0: ~1e-9
+ static const Real CUTOFF_H;
+
+ const Real a;
+
+ static Logger& log_;
+};
+
+template<typename Tstrm, typename Ttraits>
+inline std::basic_ostream<Tstrm, Ttraits>&
+operator <<(std::basic_ostream<Tstrm, Ttraits>& strm,
+ GreensFunction3DAbsSym const& gf)
+{
+ strm << "GreensFunction3DAbsSym("
+ << "D=" << gf.getD() << ", "
+ << "a=" << gf.geta() << ")";
+ return strm;
+}
+
+#endif // __PAIRGREENSFUNCTION_HPP
diff --git a/ecell4/egfrd/GreensFunction3DRadAbs.cpp b/ecell4/egfrd/GreensFunction3DRadAbs.cpp
new file mode 100644
index 0000000..30152d6
--- /dev/null
+++ b/ecell4/egfrd/GreensFunction3DRadAbs.cpp
@@ -0,0 +1,2537 @@
+#ifdef HAVE_CONFIG_H
+#include <ecell4/egfrd/config.h>
+#endif /* HAVE_CONFIG_H */
+
+#include "compat.h"
+
+#include <stdexcept>
+#include <vector>
+#include <sstream>
+#include <boost/bind.hpp>
+#include <boost/format.hpp>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_math.h>
+#include <gsl/gsl_sf_legendre.h>
+#include <gsl/gsl_sf_bessel.h>
+#include <gsl/gsl_sf_lambert.h>
+#include <gsl/gsl_integration.h>
+
+#include "factorial.hpp"
+#include "funcSum.hpp"
+#include "findRoot.hpp"
+#include "freeFunctions.hpp"
+#include "SphericalBesselGenerator.hpp"
+#include "GreensFunction3DRadAbs.hpp"
+
+// const Real GreensFunction3DRadAbs::TOLERANCE;
+// const Real GreensFunction3DRadAbs::MIN_T_FACTOR;
+// const unsigned int GreensFunction3DRadAbs::MAX_ORDER;
+// const unsigned int GreensFunction3DRadAbs::MAX_ALPHA_SEQ;
+
+const Real GreensFunction3DRadAbs::TOLERANCE = 1e-8;
+const Real GreensFunction3DRadAbs::THETA_TOLERANCE = 1e-5;
+const Real GreensFunction3DRadAbs::MIN_T_FACTOR = 1e-8;
+
+GreensFunction3DRadAbs::GreensFunction3DRadAbs(
+ Real D, Real kf, Real r0, Real Sigma, Real a)
+ : GreensFunction3DRadAbsBase(D, kf, r0, Sigma),
+ h(kf / (4.0 * M_PI * Sigma * Sigma * D)),
+ hsigma_p_1(1.0 + h * Sigma),
+ a(a)
+{
+ const Real sigma(this->getSigma());
+
+ if (a < sigma)
+ {
+ throw std::invalid_argument((boost::format("a >= sigma : a=%.16g, sigma=%.16g") % a % sigma).str());
+ }
+ clearAlphaTable();
+}
+
+GreensFunction3DRadAbs::~GreensFunction3DRadAbs()
+{
+ ; // do nothing
+}
+
+//
+// Alpha-related methods
+//
+
+void GreensFunction3DRadAbs::clearAlphaTable() const
+{
+ std::for_each(this->alphaTable.begin(), this->alphaTable.end(),
+ boost::mem_fn(&RealVector::clear));
+ this->alphaOffsetTable[0] = 0;
+ std::fill(this->alphaOffsetTable.begin()+1, this->alphaOffsetTable.end(),
+ -1);
+
+}
+
+
+Real GreensFunction3DRadAbs::f_alpha0(Real alpha) const
+{
+ const Real a(geta());
+ const Real sigma(getSigma());
+
+ const Real alpha_a_m_sigma(alpha * (a - sigma));
+ const Real hsigma_p_1(this->hsigma_p_1);
+
+ Real sin_alpha_a_m_sigma;
+ Real cos_alpha_a_m_sigma;
+ sincos(alpha_a_m_sigma, &sin_alpha_a_m_sigma, &cos_alpha_a_m_sigma);
+
+ const Real term1(alpha * sigma * cos_alpha_a_m_sigma);
+ const Real term2(hsigma_p_1 * sin_alpha_a_m_sigma);
+
+ const Real result(term1 + term2);
+
+ return result;
+}
+
+
+Real
+GreensFunction3DRadAbs::f_alpha0_aux(Real alpha) const
+{
+ const Real a(this->geta());
+ const Real sigma(this->getSigma());
+
+ const Real term1((a - sigma) * alpha);
+
+ const Real angle(this->hsigma_p_1 / (sigma * alpha));
+ const Real term2(std::atan(angle));
+
+ const Real result(term1 - term2);
+
+ return result;
+}
+
+struct f_alpha0_aux_params
+{
+ GreensFunction3DRadAbs const* const gf;
+ const Real value;
+};
+
+static Real f_alpha0_aux_F(Real alpha, f_alpha0_aux_params const* params)
+{
+ return params->gf->f_alpha0_aux(alpha) - params->value;
+}
+
+
+Real GreensFunction3DRadAbs::alpha0_i(Integer i) const
+{
+ if (!(i >= 0))
+ {
+ throw std::out_of_range((boost::format("i >= 0 : i=%.16g") % i).str());
+ }
+
+
+ const Real a(this->geta());
+ const Real sigma(this->getSigma());
+
+
+ const Real target(i * M_PI + M_PI_2);
+ f_alpha0_aux_params params = { this, target };
+
+
+ gsl_function F =
+ { reinterpret_cast<double (*)(double, void*)>(&f_alpha0_aux_F), ¶ms};
+
+ // We know the range of the solution from - Pi/2 <= atan <= Pi/2.
+ const Real interval(M_PI / (a - sigma));
+ Real low(i * interval + std::numeric_limits<Real>::epsilon());
+ Real high((i+1) * interval);
+
+ //assert(GSL_FN_EVAL(&F, low) * GSL_FN_EVAL(&F, high) < 0.0);
+
+ const gsl_root_fsolver_type* solverType(gsl_root_fsolver_brent);
+ gsl_root_fsolver* solver(gsl_root_fsolver_alloc(solverType));
+ gsl_root_fsolver_set(solver, &F, low, high);
+
+ const unsigned int maxIter(100);
+
+ unsigned int j(0);
+ for (;;)
+ {
+ gsl_root_fsolver_iterate(solver);
+
+ low = gsl_root_fsolver_x_lower(solver);
+ high = gsl_root_fsolver_x_upper(solver);
+ const int status(gsl_root_test_interval(low, high, 0.0, 1e-15));
+
+ if (status == GSL_CONTINUE)
+ {
+ if (j >= maxIter)
+ {
+ gsl_root_fsolver_free(solver);
+ throw std::runtime_error("alpha0_i: failed to converge");
+ }
+ }
+ else
+ {
+ break;
+ }
+
+ ++j;
+ }
+
+ const Real alpha(gsl_root_fsolver_root(solver));
+ gsl_root_fsolver_free(solver);
+
+ return alpha;
+}
+
+
+void
+GreensFunction3DRadAbs::updateAlphaTable0(const Real t) const
+{
+ RealVector& alphaTable_0(this->getAlphaTable(0));
+ alphaTable_0.clear();
+ alphaTable_0.reserve(MAX_ALPHA_SEQ);
+
+ const Real alpha0_0(this->alpha0_i(0));
+ alphaTable_0.push_back(alpha0_0);
+
+ const Real Dt(this->getD() * t);
+
+// const Real alpha_cutoff(sqrt((- log(TOLERANCE * 1e-2) / Dt)
+// + alpha0_0 * alpha0_0));
+ const Real alpha_cutoff(sqrt((- log(TOLERANCE * 1e-3) / Dt)));
+
+ unsigned int i(1);
+ for (;;)
+ {
+ const Real alpha0_i(this->alpha0_i(i));
+ alphaTable_0.push_back(alpha0_i);
+
+ if (alpha0_i > alpha_cutoff && i >= 10) // make at least 10 terms
+ {
+ break;
+ }
+
+ ++i;
+
+ if (i >= MAX_ALPHA_SEQ)
+ {
+ break;
+ }
+ }
+}
+
+Real GreensFunction3DRadAbs::f_alpha(Real alpha, Integer n) const
+{
+ const Real a(this->geta());
+ const Real sigma(getSigma());
+ const Real aAlpha(a * alpha);
+ const Real sigmaAlpha(getSigma() * alpha);
+ const Real hSigma(geth() * getSigma());
+ const Real realn(static_cast<Real>(n));
+
+ const Real hSigma_m_n(hSigma - realn);
+
+
+ const SphericalBesselGenerator& s(SphericalBesselGenerator::instance());
+
+ const Real js1(s.j(n, sigmaAlpha));
+ const Real ys1(s.y(n, sigmaAlpha));
+ const Real js2(s.j(n+1, sigmaAlpha));
+ const Real ys2(s.y(n+1, sigmaAlpha));
+ const Real ja( s.j(n, aAlpha));
+ const Real ya( s.y(n, aAlpha));
+
+ const Real term1((hSigma_m_n * js1 + sigmaAlpha * js2) * ya);
+ const Real term2((hSigma_m_n * ys1 + sigmaAlpha * ys2) * ja);
+
+ const Real factor(2.0 * alpha * sqrt(a * sigma) * M_1_PI);
+
+ const Real result((term1 - term2) * factor);
+
+ return result;
+}
+
+static inline const Real G(const unsigned int n, const unsigned int k)
+{
+ return factorial(n + k) * (factorial_r(k) * factorial_r(n - k));
+}
+
+
+static Real P(Integer n, Real x)
+{
+ Real result(0.0);
+
+ Real sx2(1.0);
+ Integer term1(1);
+
+ const Real x2sq_r(1.0 / pow_2(x + x));
+ const unsigned int maxm(n / 2);
+ for(unsigned int m(0); m <= maxm; ++m)
+ {
+ const Real value(term1 * sx2 * G(n, 2 * m));
+ result += value;
+
+ term1 = - term1;
+ sx2 *= x2sq_r;
+ }
+
+ return result;
+}
+
+static std::pair<Real, Real> P2(Integer n, Real x)
+{
+ Real result(0.0);
+ Real resultp(0.0);
+
+ Real sx2(1.0);
+ Integer term1(1);
+
+ const Real x2sq_r(1.0 / pow_2(x + x));
+ const unsigned int np1(n + 1);
+ const unsigned int maxm(n / 2);
+ for(unsigned int m(0); m <= maxm; ++m)
+ {
+ const Real sx2p(term1 * sx2);
+ const unsigned int m2(2 * m);
+ const Real value(sx2p * G(n, m2));
+ result += value;
+
+ const Real valuep(sx2p * G(np1, m2));
+ resultp += valuep;
+
+ term1 = - term1;
+ sx2 *= x2sq_r;
+ }
+
+ if (n % 2)
+ {
+ resultp += term1 * sx2 * G(np1, np1);
+ }
+
+
+ return std::make_pair(result, resultp);
+}
+
+
+static Real Q(Integer n, Real x)
+{
+ Real result(0.0);
+
+ Real sx2(1.0 / (x + x));
+ Integer term1(1);
+
+ const Real x2sq(sx2 * sx2);
+ const unsigned int maxm((n+1)/2); // sum_(0)^((n-1)/2)
+ for(unsigned int m(0); m < maxm; ++m)
+ {
+ const Real value(term1 * sx2 * G(n, 2 * m + 1));
+ result += value;
+
+ term1 = - term1; // (-1)^m
+ sx2 *= x2sq;
+ }
+
+ return result;
+}
+
+static std::pair<Real, Real> Q2(Integer n, Real x)
+{
+ Real result(0.0);
+ Real resultp(0.0);
+
+ Real sx2(1.0 / (x + x));
+ Integer term1(1); // (-1)^m
+
+ const Real x2sq(sx2 * sx2);
+ const unsigned int np1(n + 1);
+ const unsigned int maxm((n+1)/2); // sum_(0)^((n-1)/2)
+ for(unsigned int m(0); m < maxm; ++m)
+ {
+ const Real sx2p(term1 * sx2);
+ const unsigned int m2p1(2 * m + 1);
+ const Real value(sx2p * G(n, m2p1));
+ result += value;
+
+ const Real valuep(sx2p * G(np1, m2p1));
+ resultp += valuep;
+
+ term1 = - term1; // (-1)^m
+ sx2 *= x2sq;
+ }
+
+
+ if (!(n % 2))
+ {
+ resultp += term1 * sx2 * G(np1, np1);
+ }
+
+
+ return std::make_pair(result, resultp);
+}
+
+
+Real GreensFunction3DRadAbs::f_alpha_aux(Real alpha, Integer n) const
+{
+ if (alpha == 0.0)
+ {
+ return -1.0;
+ }
+
+ const Real a(geta());
+ const Real sigma(getSigma());
+
+ const Real aAlpha(a * alpha);
+ const Real sigmaAlpha(sigma * alpha);
+
+ const Real n_m_hSigma(n - h * sigma);
+
+ /*(a - s) u -
+ ArcTan[(P[n, a u] ((-n + h s) P[n, s u] + s u Q[1 + n, s u]) -
+ Q[n, a u] (s u P[1 + n, s u] + (n - h s) Q[n, s u]))/
+ (Q[n, a u] ((-n + h s) P[n, s u] + s u Q[1 + n, s u]) +
+ P[n, a u] (s u P[1 + n, s u] + (n - h s) Q[n, s u]))]
+ */
+
+ const Real Pa(P(n, aAlpha));
+ const Real Qa(Q(n, aAlpha));
+
+ Real Ps;
+ Real Psp;
+ // boost::tie(Ps, Psp) = P2(n, sigmaAlpha);
+ {
+ std::pair<Real,Real> res(P2(n, sigmaAlpha));
+ Ps = res.first;
+ Psp = res.second;
+ }
+
+ Real Qs;
+ Real Qsp;
+ // boost::tie(Qs, Qsp) = Q2(n, sigmaAlpha);
+ {
+ std::pair<Real,Real> res(Q2(n, sigmaAlpha));
+ Qs = res.first;
+ Qsp = res.second;
+ }
+
+ const Real n_m_hSigmaPs(n_m_hSigma * Ps);
+ const Real n_m_hSigmaQs(n_m_hSigma * Qs);
+ const Real sigmaAlphaPsp(sigmaAlpha * Psp);
+ const Real sigmaAlphaQsp(sigmaAlpha * Qsp);
+
+ const Real Qa_Pa(Qa / Pa);
+
+ const Real A(sigmaAlphaQsp - n_m_hSigmaPs);
+ const Real B(sigmaAlphaPsp + n_m_hSigmaQs);
+
+ // this form, dividing all terms by Pa, prevents overflow.
+ const Real angle((A - Qa_Pa * B) / (Qa_Pa * A + B));
+
+ const Real term1((a - sigma) * alpha);
+ const Real term2(std::atan(angle));
+
+ const Real result(term1 - term2);
+
+ return result;
+}
+
+struct f_alpha_aux_params
+{
+ GreensFunction3DRadAbs const* const gf;
+ const Integer n;
+ const Real value;
+};
+
+static Real f_alpha_aux_F(Real alpha, f_alpha_aux_params const* params)
+{
+ return params->gf->f_alpha_aux(alpha, params->n) - params->value;
+}
+
+Real
+GreensFunction3DRadAbs::alpha_i(Integer i, Integer n,
+ gsl_root_fsolver* solver) const
+{
+ const Real sigma(this->getSigma());
+ const Real a(this->geta());
+
+ const Real target(M_PI * i + M_PI_2);
+
+ const Real factor(1.0 / (a - sigma));
+ Real low((target - M_PI_2) * factor);
+ Real high((target + M_PI_2) * factor);
+
+ f_alpha_aux_params params = { this, n, target };
+
+ gsl_function F =
+ { reinterpret_cast<double (*)(double, void*)>(&f_alpha_aux_F), ¶ms };
+
+ gsl_root_fsolver_set(solver, &F, low, high);
+
+ const unsigned int maxIter(100);
+ unsigned int k(0);
+ for (;;)
+ {
+ gsl_root_fsolver_iterate(solver);
+
+ low = gsl_root_fsolver_x_lower(solver);
+ high = gsl_root_fsolver_x_upper(solver);
+ const int status(gsl_root_test_interval(low, high, 1e-6, 1e-15));
+
+ if (status == GSL_CONTINUE)
+ {
+ if (k >= maxIter)
+ {
+ gsl_root_fsolver_free(solver);
+ throw std::runtime_error("alpha_i: failed to converge");
+ }
+ }
+ else
+ {
+ break;
+ }
+
+ ++k;
+ }
+
+ const Real alpha(gsl_root_fsolver_root(solver));
+
+ return alpha;
+}
+
+
+unsigned int
+GreensFunction3DRadAbs::alphaOffset(unsigned int n) const
+{
+ if (this->alphaOffsetTable[n] >= 0)
+ {
+ return this->alphaOffsetTable[n];
+ }
+
+ const Real sigma(this->getSigma());
+ const Real a(this->geta());
+
+ assert(this->alphaOffsetTable.size() >= n);
+ unsigned int offset(this->alphaOffsetTable[n-1]);
+
+ const Real factor(1.0 / (a - sigma));
+
+ Real target(offset * M_PI + M_PI_2);
+ // We know the range of the solution from - Pi/2 <= atan <= Pi/2.
+ const Real alphaMid(target * factor);
+ const Real alphaHalfRange(M_PI_2 * factor);
+ Real low(alphaMid - alphaHalfRange * (1.0 - 1e-3)); // avoid zero.
+ Real high(alphaMid + alphaHalfRange);
+
+
+ // Here we find the interval where the first positive root is in.
+ // We find the first pair of alpha
+ // (Pi * offset + Pi/2) +- Pi/2 / (a - sigma)
+ // where the values of f_alpha() straddle.
+ // The assumption is the interval between roots is not much
+ // smaller than Pi / (a - sigma).
+
+
+ Real lowvalue(f_alpha(low,n));
+ Real highvalue(f_alpha(high,n));
+
+ for (;;) // this can be much faster if better initial guess is given.
+ {
+
+ if (lowvalue * highvalue < 0) // low and high straddle?
+ {
+ break;
+ }
+
+ ++offset;
+ target = M_PI * offset + M_PI_2;
+ low = (target - M_PI_2) * factor;
+ high = (target + M_PI_2) * factor;
+
+ lowvalue = highvalue;
+ highvalue = f_alpha(high, n);
+ }
+
+ this->alphaOffsetTable[n] = offset;
+
+ return offset;
+}
+
+
+void
+GreensFunction3DRadAbs::updateAlphaTable(const unsigned int n,
+ const Real t) const
+{
+ if (n > this->MAX_ORDER)
+ {
+ throw std::range_error((boost::format("n >= 0 && n <= this->MAX_ORDER : n=%.16g, this->MAX_ORDER=%.16g") % n % static_cast<const unsigned int>(this->MAX_ORDER)).str());
+ }
+
+
+ if (n == 0)
+ {
+ this->updateAlphaTable0(t);
+ return;
+ }
+
+ const unsigned int offset(alphaOffset(n));
+
+ RealVector& alphaTable_n(this->getAlphaTable(n));
+ alphaTable_n.clear();
+ alphaTable_n.reserve(MAX_ALPHA_SEQ);
+
+ const gsl_root_fsolver_type* solverType(gsl_root_fsolver_brent);
+ gsl_root_fsolver* solver(gsl_root_fsolver_alloc(solverType));
+
+ const Real alphan_0(alpha_i(offset, n, solver));
+ const Real alphan_0_sq(alphan_0 * alphan_0);
+
+ alphaTable_n.push_back(alphan_0);
+
+ const Real Dt(this->getD() * t);
+
+ const Real threshold(this->TOLERANCE * 1e-2 *
+ alphan_0_sq * exp(- Dt * alphan_0_sq));
+
+ const unsigned int end(offset + MAX_ALPHA_SEQ);
+ unsigned int i(offset + 1);
+ for (;;)
+ {
+ const Real alpha_i(this->alpha_i(i, n, solver));
+
+ alphaTable_n.push_back(alpha_i);
+
+ // cutoff
+ const Real alpha_i_sq(alpha_i * alpha_i);
+ if (alpha_i_sq * exp(- Dt * alpha_i_sq) < threshold)
+ {
+ break;
+ }
+
+
+ ++i;
+
+ if (i >= end)
+ {
+ log_.info("alphaTable (%d): didn't converge. t = %.16g, %s",
+ n, t, dump().c_str());
+ break;
+ }
+ }
+
+ gsl_root_fsolver_free(solver);
+}
+
+
+
+
+Real
+GreensFunction3DRadAbs::p_0_i(Real alpha, Real r) const
+{
+ const Real a(geta());
+ const Real sigma(getSigma());
+ const Real h(geth());
+ const Real hsigma_p_1(this->hsigma_p_1);
+
+ const Real sigmasq(sigma * sigma);
+ const Real alphasq(alpha * alpha);
+
+ Real num1;
+ {
+ const Real angle_r(alpha * (r - sigma));
+ Real sin_r;
+ Real cos_r;
+ sincos(angle_r, &sin_r, &cos_r);
+ num1 = alpha * sigma * cos_r + hsigma_p_1 * sin_r ;
+ }
+
+ const Real num2(num_r0(alpha));
+
+ const Real den(2 * M_PI * r * r0 *
+ ((a - sigma) * sigmasq * alphasq +
+ hsigma_p_1 * (a + a * h * sigma - h * sigmasq)));
+
+ const Real result(num1 * num2 / den);
+
+ return result;
+}
+
+
+Real
+GreensFunction3DRadAbs::p_survival_i(Real alpha) const
+{
+ const Real a(geta());
+ const Real sigma(getSigma());
+ const Real h(geth());
+ const Real hsigma_p_1(this->hsigma_p_1);
+
+ const Real sigmasq(sigma * sigma);
+ const Real alphasq(alpha * alpha);
+
+ const Real angle_a(alpha * (a - sigma));
+ const Real cos_a(cos(angle_a));
+
+ const Real num1(h * sigmasq * hsigma_p_1
+ - a * (hsigma_p_1 * hsigma_p_1
+ + sigmasq * alphasq) * cos_a);
+
+ const Real num2(num_r0(alpha));
+
+ const Real den(r0 * hsigma_p_1 * alpha *
+ (- hsigma_p_1 *
+ (a + a * h * sigma - h * sigmasq)
+ + (sigma - a) * sigmasq * alphasq));
+
+ const Real result(- 2.0 * num1 * num2 / den);
+
+ return result;
+}
+
+
+Real
+GreensFunction3DRadAbs::dp_survival_i(Real alpha) const
+{
+ const Real a(geta());
+ const Real sigma(getSigma());
+ const Real h(geth());
+ const Real hsigma_p_1(this->hsigma_p_1);
+
+ const Real sigmasq(sigma * sigma);
+ const Real alphasq(alpha * alpha);
+
+ const Real angle_a(alpha * (a - sigma));
+ const Real cos_a(cos(angle_a));
+
+ const Real num1(alpha * (h * sigmasq * hsigma_p_1
+ - (a * (hsigma_p_1 * hsigma_p_1
+ + sigmasq * alphasq)) * cos_a));
+
+ const Real num2(num_r0(alpha));
+
+ const Real den(r0 * hsigma_p_1 *
+ (- hsigma_p_1 * (a + a * h * sigma - h * sigmasq))
+ + (sigma - a) * sigmasq * alphasq);
+
+ const Real result(2.0 * getD() * num1 * num2 / den);
+
+ return result;
+}
+
+
+Real
+GreensFunction3DRadAbs::leavea_i(Real alpha) const
+{
+ const Real a(geta());
+ const Real sigma(getSigma());
+ const Real h(geth());
+ const Real D(getD());
+ const Real hsigma_p_1(this->hsigma_p_1);
+
+ const Real sigmasq(sigma * sigma);
+ const Real alphasq(alpha * alpha);
+
+ const Real angle_a(alpha * (a - sigma));
+ const Real cos_a(cos(angle_a));
+
+ const Real num1(alpha * (hsigma_p_1 * hsigma_p_1 + sigmasq * alphasq)
+ * cos_a);
+
+ const Real num2(num_r0(alpha));
+
+ const Real den(2 * a * M_PI * r0 * hsigma_p_1 *
+ (hsigma_p_1 * (a + a * h * sigma - h * sigmasq)
+ + (a - sigma) * sigmasq * alphasq));
+
+ const Real result(D * num1 * num2 / den);
+
+ return result;
+}
+
+Real GreensFunction3DRadAbs::leaves_i(Real alpha) const
+{
+ const Real a(geta());
+ const Real sigma(getSigma());
+ const Real h(geth());
+ const Real D(getD());
+ const Real hsigma_p_1(this->hsigma_p_1);
+
+ const Real sigmasq(sigma * sigma);
+ const Real alphasq(alpha * alpha);
+
+ const Real num(h * alpha * num_r0(alpha));
+
+ const Real den(2 * M_PI * r0 *
+ ((a - sigma) * sigmasq * alphasq +
+ hsigma_p_1 * (a + a * h * sigma - h * sigmasq)));
+
+ const Real result(- D * num / den);
+
+ return result;
+}
+
+
+Real GreensFunction3DRadAbs::p_leavea_i(Real alpha,
+ Real pleave_factor) const
+{
+ const Real a(geta());
+ const Real sigma(getSigma());
+
+ const Real hsigma_p_1(this->hsigma_p_1);
+ const Real sigmasq(sigma * sigma);
+ const Real alphasq(alpha * alpha);
+
+ const Real angle_a(alpha * (a - sigma));
+ const Real cos_a(cos(angle_a));
+
+ const Real num1((hsigma_p_1 * hsigma_p_1 + sigmasq * alphasq) * cos_a);
+
+ const Real result(- 2.0 * a * num1 * pleave_factor / hsigma_p_1);
+
+ return result;
+}
+
+
+Real
+GreensFunction3DRadAbs::p_leaves_i(Real alpha,
+ Real pleave_factor) const
+{
+ const Real sigma(getSigma());
+ const Real h(geth());
+
+ const Real num(h * sigma * sigma);
+
+ const Real result(2.0 * num * pleave_factor);
+
+ return result;
+}
+
+Real
+GreensFunction3DRadAbs::p_survival_den(Real alpha) const
+{
+ const Real a(geta());
+ const Real sigma(getSigma());
+ const Real h(geth());
+ const Real hsigma_p_1(this->hsigma_p_1);
+ const Real sigmasq(sigma * sigma);
+ const Real alphasq(alpha * alpha);
+
+ const Real den(r0 * alpha *
+ ((a - sigma) * sigmasq * alphasq +
+ hsigma_p_1 * (a + a * h * sigma - h * sigmasq)));
+
+ return den;
+}
+
+
+
+Real GreensFunction3DRadAbs::num_r0(Real alpha) const
+{
+ const Real sigma(getSigma());
+ const Real angle_r0(alpha * (r0 - sigma));
+
+ Real sin_r0;
+ Real cos_r0;
+ sincos(angle_r0, &sin_r0, &cos_r0);
+
+ const Real hsigma_p_1(this->hsigma_p_1);
+ const Real result(alpha * sigma * cos_r0 + hsigma_p_1 * sin_r0);
+
+ return result;
+}
+
+
+Real GreensFunction3DRadAbs::pleaveFactor(Real alpha) const
+{
+ return num_r0(alpha) / p_survival_den(alpha);
+}
+
+
+Real
+GreensFunction3DRadAbs::p_int_r_i(Real r, Real alpha,
+ Real num_r0) const
+{
+ const Real sigma(getSigma());
+
+ const Real angle_r(alpha * (r - sigma));
+ Real sin_r;
+ Real cos_r;
+ sincos(angle_r, &sin_r, &cos_r); // do sincos here; latency.
+
+ const Real h(geth());
+ const Real hsigma_p_1(this->hsigma_p_1);
+
+ const Real sigmasq(sigma * sigma);
+ const Real alphasq(alpha * alpha);
+
+ const Real hsigma(h * sigma);
+
+ const Real num1(alpha * (hsigma * sigma - hsigma * r * cos_r
+ - (r - sigma) * cos_r)
+ + (hsigma_p_1 + r * sigma * alphasq) * sin_r);
+
+ const Real num2(num_r0);
+
+ const Real den(r0 * alphasq *
+ ((a - sigma) * sigmasq * alphasq +
+ hsigma_p_1 * (a + a * h * sigma - h * sigmasq)));
+
+ const Real result(2 * num1 * num2 / den);
+
+ return result;
+}
+
+
+void
+GreensFunction3DRadAbs::createPsurvTable(RealVector& table) const
+{
+ const RealVector& alphaTable_0(this->getAlphaTable(0));
+
+ table.clear();
+ table.reserve(alphaTable_0.size());
+
+ std::transform(alphaTable_0.begin(), alphaTable_0.end(),
+ std::back_inserter(table),
+ boost::bind(&GreensFunction3DRadAbs::p_survival_i,
+ this, _1));
+}
+
+
+void
+GreensFunction3DRadAbs::createNum_r0Table(RealVector& table) const
+{
+ const RealVector& alphaTable_0(this->alphaTable[0]);
+
+ table.clear();
+ table.reserve(alphaTable_0.size());
+
+ std::transform(alphaTable_0.begin(), alphaTable_0.end(),
+ std::back_inserter(table),
+ boost::bind(&GreensFunction3DRadAbs::num_r0,
+ this, _1));
+}
+
+void
+GreensFunction3DRadAbs::createPleaveFactorTable(RealVector& table) const
+{
+ const RealVector& alphaTable_0(this->alphaTable[0]);
+
+ table.clear();
+ table.reserve(alphaTable_0.size());
+
+ std::transform(alphaTable_0.begin(), alphaTable_0.end(),
+ std::back_inserter(table),
+ boost::bind(&GreensFunction3DRadAbs::pleaveFactor,
+ this, _1));
+}
+
+
+void
+GreensFunction3DRadAbs::createPleavesTable(RealVector& table,
+ RealVector const& pleaveFactorTable) const
+{
+ const RealVector& alphaTable_0(this->alphaTable[0]);
+
+ assert(pleaveFactorTable.size() >= alphaTable_0.size());
+
+ table.clear();
+ table.reserve(alphaTable_0.size());
+
+ for(unsigned int i(0); i < alphaTable_0.size(); ++i)
+ {
+ const Real alpha(alphaTable_0[i]);
+ table.push_back(p_leaves_i(alpha, pleaveFactorTable[i]));
+ }
+}
+
+void
+GreensFunction3DRadAbs::createPleaveaTable(RealVector& table,
+ RealVector const& pleaveFactorTable) const
+{
+ const RealVector& alphaTable_0(this->alphaTable[0]);
+
+ assert(pleaveFactorTable.size() >= alphaTable_0.size());
+
+ table.clear();
+ table.reserve(alphaTable_0.size());
+
+ for(unsigned int i(0); i < alphaTable_0.size(); ++i)
+ {
+ const Real alpha(alphaTable_0[i]);
+ table.push_back(p_leavea_i(alpha, pleaveFactorTable[i]));
+ }
+}
+
+
+Real
+GreensFunction3DRadAbs::p_0_i_exp(unsigned int i, Real t, Real r) const
+{
+ const Real alpha(this->getAlpha0(i));
+ return std::exp(- getD() * t * alpha * alpha) * p_0_i(alpha, r);
+}
+
+
+Real
+GreensFunction3DRadAbs::p_survival_i_exp(unsigned int i, Real t) const
+{
+ const Real alpha(this->getAlpha0(i));
+ return p_survival_i_alpha(alpha, t);
+}
+
+Real
+GreensFunction3DRadAbs::p_survival_i_alpha(Real alpha, Real t) const
+{
+ return std::exp(- getD() * t * alpha * alpha) *
+ p_survival_i(alpha);
+}
+
+Real
+GreensFunction3DRadAbs::p_survival_2i_exp(unsigned int i,
+ Real t) const
+{
+ const Real Dt(getD() * t);
+ const Real alpha0(this->getAlpha0(2 * i));
+ const Real p0(std::exp(- Dt * alpha0 * alpha0) *
+ p_survival_i(alpha0));
+
+ const Real alpha1(this->getAlpha0(2 * i + 1));
+ const Real p1(std::exp(- Dt * alpha1 * alpha1) *
+ p_survival_i(alpha1));
+
+ return p0 + p1;
+}
+
+Real
+GreensFunction3DRadAbs::p_survival_i_exp_table(unsigned int i,
+ Real t,
+ RealVector const& table) const
+{
+ const Real alpha(this->getAlpha0(i));
+ return std::exp(- getD() * t * alpha * alpha) * table[i];
+}
+
+Real
+GreensFunction3DRadAbs::p_leave_i_exp_table(unsigned int i, Real t, RealVector const& table) const
+{
+ const Real alpha(getAlpha0(i));
+ return expm1(- getD() * t * alpha * alpha) * table[i];
+}
+
+
+Real
+GreensFunction3DRadAbs::dp_survival_i_exp(unsigned int i, Real t) const
+{
+ const Real alpha(this->getAlpha0(i));
+ return std::exp(- getD() * t * alpha * alpha) *
+ dp_survival_i(alpha);
+}
+
+Real
+GreensFunction3DRadAbs::leavea_i_exp(unsigned int i, Real t) const
+{
+ const Real alpha(this->getAlpha0(i));
+ return std::exp(- getD() * t * alpha * alpha) * leavea_i(alpha);
+}
+
+Real
+GreensFunction3DRadAbs::leaves_i_exp(unsigned int i, Real t) const
+{
+ const Real alpha(this->getAlpha0(i));
+
+ return std::exp(- getD() * t * alpha * alpha) * leaves_i(alpha);
+}
+
+Real
+GreensFunction3DRadAbs::p_leavea_i_exp(unsigned int i,
+ Real t) const
+{
+ const Real alpha(this->getAlpha0(i));
+ const Real num_r0(this->num_r0(alpha));
+ const Real den(this->p_survival_den(alpha));
+ return exp(- getD() * t * alpha * alpha) *
+ p_leavea_i(alpha, num_r0 / den);
+}
+
+Real
+GreensFunction3DRadAbs::p_leaves_i_exp(unsigned int i, Real t) const
+{
+ const Real alpha(this->getAlpha0(i));
+ const Real num_r0(this->num_r0(alpha));
+ const Real den(this->p_survival_den(alpha));
+ return exp(- getD() * t * alpha * alpha) *
+ p_leaves_i(alpha, num_r0 / den);
+}
+
+Real
+GreensFunction3DRadAbs::p_int_r_i_exp(unsigned int i,
+ Real t,
+ Real r) const
+{
+ const Real alpha(this->getAlpha0(i));
+
+ return std::exp(- getD() * t * alpha * alpha) *
+ p_int_r_i(r, alpha, num_r0(alpha));
+}
+
+Real
+GreensFunction3DRadAbs::p_int_r_i_exp_table(unsigned int i,
+ Real t,
+ Real r,
+ RealVector& num_r0Table) const
+{
+ const Real alpha(this->getAlpha0(i));
+ return std::exp(- getD() * t * alpha * alpha) *
+ p_int_r_i(r, alpha, num_r0(alpha));//num_r0Table[i]);
+}
+
+Real
+GreensFunction3DRadAbs::p_0(Real t, Real r) const
+{
+ const Real p(funcSum(boost::bind(&GreensFunction3DRadAbs::
+ p_0_i_exp,
+ this,
+ _1, t, r),
+ this->MAX_ALPHA_SEQ));
+ return p;
+}
+
+
+unsigned int
+GreensFunction3DRadAbs::guess_maxi(Real t) const
+{
+ const unsigned int safety(2);
+
+ if (t >= INFINITY)
+ {
+ return safety;
+ }
+
+ const Real D(this->getD());
+ const Real sigma(this->getSigma());
+ const Real a(this->geta());
+
+ const Real alpha0(this->getAlpha0(0));
+ const Real Dt(D * t);
+
+ const Real thr(exp(- Dt * alpha0 * alpha0) * this->TOLERANCE * 1e-1);
+
+ if (thr <= 0.0)
+ {
+ return this->MAX_ALPHA_SEQ;
+ }
+
+ const Real max_alpha(sqrt(alpha0 * alpha0 - log(thr) / Dt));
+
+ const unsigned int
+ maxi(safety +
+ static_cast<const unsigned int>(max_alpha * (a - sigma) / M_PI));
+
+ return std::min(maxi, static_cast<unsigned int>(this->MAX_ALPHA_SEQ));
+}
+
+
+Real GreensFunction3DRadAbs::p_survival(Real t) const
+{
+ RealVector psurvTable;
+
+ const Real p(p_survival_table(t, psurvTable));
+
+ return p;
+}
+
+Real
+GreensFunction3DRadAbs::p_survival_table(Real t, RealVector& psurvTable) const
+{
+ Real p;
+
+ const Real D(this->getD());
+ const Real sigma(getSigma());
+ const Real a(this->geta());
+
+ const Real distToa(a - r0);
+ const Real distTos(r0 - sigma);
+
+ const Real H(6.0); // a fairly strict criterion for safety.
+ const Real maxDist(H * sqrt(6.0 * D * t));
+
+ if (distToa > maxDist)
+ {
+ if (distTos > maxDist) // far from anything; it'll survive.
+ {
+ p = 1.0;
+ }
+ else // close only to s, ignore a
+ {
+ const Real sigma(this->getSigma());
+ const Real kf(this->getkf());
+ p = p_survival_irr(t, r0, kf, D, sigma);
+ }
+ }
+ else
+ {
+ if (distTos > maxDist) // close only to a.
+ {
+ p = p_survival_nocollision(t, r0, D, a);
+ }
+ else // close to both boundaries. do the normal calculation.
+ {
+ const unsigned int maxi(guess_maxi(t));
+
+ if (psurvTable.size() < maxi + 1)
+ {
+ IGNORE_RETURN getAlpha0(maxi); // this updates the table
+ this->createPsurvTable(psurvTable);
+ }
+
+ p = funcSum_all(boost::bind(&GreensFunction3DRadAbs::
+ p_survival_i_exp_table,
+ this,
+ _1, t, psurvTable),
+ maxi);
+ }
+ }
+
+ return p;
+}
+
+Real
+GreensFunction3DRadAbs::p_leave_table(Real t, RealVector const& table) const
+{
+ return funcSum(
+ boost::bind(&GreensFunction3DRadAbs::p_leave_i_exp_table,
+ this, _1, t, table),
+ table.size());
+}
+
+
+Real GreensFunction3DRadAbs::dp_survival(Real t) const
+{
+ return funcSum(
+ boost::bind(&GreensFunction3DRadAbs::dp_survival_i_exp,
+ this, _1, t),
+ MAX_ALPHA_SEQ);
+}
+
+
+Real GreensFunction3DRadAbs::leaves(Real t) const
+{
+ return funcSum(
+ boost::bind(&GreensFunction3DRadAbs::leaves_i_exp,
+ this, _1, t),
+ MAX_ALPHA_SEQ);
+}
+
+Real GreensFunction3DRadAbs::leavea(Real t) const
+{
+ return funcSum(
+ boost::bind(&GreensFunction3DRadAbs::leavea_i_exp,
+ this, _1, t),
+ MAX_ALPHA_SEQ);
+}
+
+Real GreensFunction3DRadAbs::p_leaves(Real t) const
+{
+ return funcSum_all(
+ boost::bind(&GreensFunction3DRadAbs::p_leaves_i_exp,
+ this, _1, t),
+ guess_maxi(t));
+}
+
+Real GreensFunction3DRadAbs::p_leavea(Real t) const
+{
+ return funcSum_all(
+ boost::bind(&GreensFunction3DRadAbs::p_leavea_i_exp,
+ this, _1, t),
+ guess_maxi(t));
+}
+
+Real GreensFunction3DRadAbs::p_int_r(Real r, Real t) const
+{
+ return funcSum(
+ boost::bind(&GreensFunction3DRadAbs::p_int_r_i_exp,
+ this, _1, t, r),
+ MAX_ALPHA_SEQ);
+}
+
+Real GreensFunction3DRadAbs::p_int_r_table(Real r, Real t, RealVector const& num_r0Table) const
+{
+ return funcSum(
+ boost::bind(&GreensFunction3DRadAbs::p_int_r_i_exp_table,
+ this, _1, t, r, num_r0Table), num_r0Table.size());
+}
+
+struct p_survival_table_params
+{
+ GreensFunction3DRadAbs const* const gf;
+ GreensFunction3DRadAbs::RealVector& table;
+ const Real rnd;
+};
+
+Real p_survival_table_F(Real t, p_survival_table_params const* params)
+{
+ return params->rnd - params->gf->p_survival_table(t, params->table);
+}
+
+struct p_survival_params
+{
+ GreensFunction3DRadAbs const* const gf;
+ const Real rnd;
+};
+
+// static Real p_survival_F(Real t, p_survival_params const* params)
+// {
+// return params->rnd - params->gf->p_survival(t);
+// }
+
+struct p_survival_2i_params
+{
+ GreensFunction3DRadAbs const* const gf;
+ const Real t;
+};
+
+// static Real p_survival_2i_F(Real ri, p_survival_2i_params const* params)
+// {
+// return params->gf->p_survival_2i_exp(static_cast<unsigned int>(ri),
+// params->t);
+// }
+
+struct p_survival_i_alpha_params
+{
+ GreensFunction3DRadAbs const* const gf;
+ const Real t;
+};
+
+// static Real p_survival_i_alpha_F(Real alpha,
+// p_survival_i_alpha_params const* params)
+// {
+// return params->gf->p_survival_i_alpha(alpha, params->t);
+// }
+
+struct p_leave_params
+{
+ GreensFunction3DRadAbs const* const gf;
+ GreensFunction3DRadAbs::RealVector const& table;
+ const Real rnd;
+};
+
+Real p_leave_F(Real t, p_leave_params const* params)
+{
+ return - params->gf->p_leave_table(t, params->table) - params->rnd;
+}
+
+struct p_int_r_params
+{
+ GreensFunction3DRadAbs const* const gf;
+ const Real t;
+ const Real rnd;
+};
+
+
+static Real p_int_r_F(Real r, p_int_r_params const* params)
+{
+ return params->gf->p_int_r(r, params->t) - params->rnd;
+}
+
+Real GreensFunction3DRadAbs::drawTime(Real rnd) const
+{
+ const Real D(this->getD());
+ const Real sigma(this->getSigma());
+ const Real kf(this->getkf());
+ const Real a(this->geta());
+
+ if (!(rnd < 1.0 && rnd >= 0.0))
+ {
+ throw std::invalid_argument((boost::format("rnd < 1.0 && rnd >= 0.0 : rnd=%.16g") % rnd).str());
+ }
+
+ if (!(r0 >= sigma && r0 <= a))
+ {
+ throw std::invalid_argument((boost::format("r0 >= sigma && r0 <= a : r0=%.16g, sigma=%.16g, a=%.16g") % r0 % sigma % a).str());
+ }
+
+
+ if (r0 == a || a == sigma)
+ {
+ return 0.0;
+ }
+
+ Real t_guess;
+ Real dist;
+
+ if (kf != 0)
+ {
+ dist = std::min(a - r0, r0 - sigma);
+ }
+ else
+ {
+ dist = a - r0;
+ }
+
+ t_guess = dist * dist / (6.0 * D);
+ t_guess *= .1;
+
+ const Real minT(std::min(sigma * sigma / D * this->MIN_T_FACTOR,
+ t_guess * 1e-6));
+
+ RealVector psurvTable;
+
+ p_survival_table_params params = { this, psurvTable, rnd };
+
+ gsl_function F =
+ {
+ reinterpret_cast<double (*)(double, void*)>(&p_survival_table_F),
+ ¶ms
+ };
+
+ Real low(t_guess);
+ Real high(t_guess);
+
+ // adjust high and low to make sure that f(low) and f(high) straddle.
+ const Real value(GSL_FN_EVAL(&F, t_guess));
+ if (value < 0.0)
+ {
+ high *= 10;
+ for (;;)
+ {
+ const Real high_value(GSL_FN_EVAL(&F, high));
+
+ if (high_value >= 0.0)
+ {
+ break;
+ }
+
+ if (fabs(high) >= 1e10)
+ {
+ throw std::runtime_error(
+ (boost::format(
+ "couldn't adjust high. F(%.16g) = %.16g; r0 = %.16g, %s") %
+ high % GSL_FN_EVAL(&F, high) % r0 % dump()).str());
+ }
+
+ high *= 10;
+ }
+ }
+ else
+ {
+ Real low_value_prev(value);
+ low *= .1;
+
+ for (;;)
+ {
+
+ const Real low_value(GSL_FN_EVAL(&F, low));
+
+ if (low_value <= 0.0)
+ {
+ break;
+ }
+
+ // FIXME:
+ if (fabs(low) <= minT ||
+ fabs(low_value - low_value_prev) < TOLERANCE)
+ {
+ log_.info("couldn't adjust low. F(%.16g) = %.16g; r0 = %.16g, %s",
+ low, GSL_FN_EVAL(&F, low), r0,
+ dump().c_str());
+ log_.info("returning %.16g", low);
+ return low;
+ }
+ low_value_prev = low_value;
+
+ low *= .1;
+ }
+ }
+
+ const gsl_root_fsolver_type* solverType(gsl_root_fsolver_brent);
+ gsl_root_fsolver* solver(gsl_root_fsolver_alloc(solverType));
+
+ const Real t(findRoot(F, solver, low, high, 0.0,
+ TOLERANCE, "drawTime"));
+
+ gsl_root_fsolver_free(solver);
+
+ return t;
+}
+
+GreensFunction3DRadAbs::EventKind
+GreensFunction3DRadAbs::drawEventType(Real rnd, Real t) const
+{
+ const Real D(this->getD());
+ const Real sigma(this->getSigma());
+ const Real kf(this->getkf());
+ const Real a(this->geta());
+
+ if (!(rnd < 1.0 && rnd >= 0.0))
+ {
+ throw std::invalid_argument((boost::format("rnd < 1.0 && rnd >= 0.0 : rnd=%.16g") % rnd).str());
+ }
+
+ if (!(r0 >= sigma && r0 < a))
+ {
+ throw std::invalid_argument((boost::format("r0 >= sigma && r0 < a : r0=%.16g, sigma=%.16g, a=%.16g") % r0 % sigma % a).str());
+ }
+
+ if (!(t > 0.0))
+ {
+ throw std::invalid_argument((boost::format("t > 0.0 : t=%.16g") % t).str());
+ }
+
+
+ if (kf == 0)
+ {
+ return IV_ESCAPE;
+ }
+
+ // First, check if r0 is close only either to a or sigma relative
+ // to Dt. In such cases, the event type is always IV_ESCAPE or
+ // IV_REACTION, respectively. This avoids numerical instability in
+ // calculating leavea() and/or leaves().
+
+ // Here, use a rather large threshold for safety.
+ const unsigned int H(6);
+ const Real max_dist(H * sqrt(6.0 * D * t));
+ const Real a_dist(a - r0);
+ const Real s_dist(r0 - sigma);
+
+
+ if (a_dist > max_dist)
+ {
+ if (s_dist < max_dist)
+ {
+ return IV_REACTION;
+ }
+ }
+ else // a_dist < max_dist
+ {
+ if (s_dist > max_dist)
+ {
+ return IV_ESCAPE;
+ }
+ }
+
+ const Real reaction(leaves(t) * 4.0 * M_PI * sigma * sigma);
+ const Real escape(leavea(t) * 4.0 * M_PI * a * a);
+ const Real value(reaction / (reaction + escape));
+
+ if (rnd <= value)
+ {
+ return IV_REACTION; // leaves
+ }
+ else
+ {
+ return IV_ESCAPE; // leavea
+ }
+}
+
+Real
+GreensFunction3DRadAbs::drawPleavea(gsl_function const& F,
+ gsl_root_fsolver* solver,
+ Real t_guess,
+ RealVector& pleaveFactorTable,
+ RealVector& pleaveaTable) const
+{
+ const Real minT(1e-12);
+
+ Real low(t_guess);
+ Real high(t_guess);
+
+ // adjust high and low to make sure that f(low) and f(high) straddle.
+ const Real value(GSL_FN_EVAL(&F, t_guess));
+ if (value < 0.0)
+ {
+ high *= 10;
+ for (;;)
+ {
+ const Real high_value(GSL_FN_EVAL(&F, high));
+
+ if (high_value >= 0.0)
+ {
+ break;
+ }
+
+ if (fabs(high) >= 1e10)
+ {
+ throw std::runtime_error(
+ (boost::format(
+ "couldn't adjust high. Fa(%.16g) = %.16g; r0 = %.16g, %s") %
+ high % GSL_FN_EVAL(&F, high) % r0 % dump()).str());
+ }
+
+ log_.info("drawTime2: adjusting high: %.16g Fa = %.16g", high, high_value);
+ high *= 10;
+ }
+ }
+ else
+ {
+ Real low_value_prev(value);
+ low *= .1;
+
+ for (;;)
+ {
+ this->updateAlphaTable0(low);
+ this->createPleaveFactorTable(pleaveFactorTable);
+ this->createPleaveaTable(pleaveaTable, pleaveFactorTable);
+
+
+ const Real low_value(GSL_FN_EVAL(&F, low));
+
+ if (low_value <= 0.0)
+ {
+ break;
+ }
+
+ // FIXME:
+ if (fabs(low) <= minT ||
+ fabs(low_value - low_value_prev) < TOLERANCE)
+ {
+ log_.info("couldn't adjust low. Fa(%.16g) = %.16g; r0 = %.16g, %s",
+ low, GSL_FN_EVAL(&F, low), r0, dump().c_str());
+ log_.info("returning %.16g", minT);
+ return minT;
+ }
+ low_value_prev = low_value;
+
+ log_.info("drawTime2: adjusting low: %.16g, Fa = %.16g", low, low_value);
+ low *= .1;
+ }
+ }
+
+ const Real t(findRoot(F, solver, low, high, 0.,
+ this->TOLERANCE, "drawTime2: a"));
+
+ return t;
+}
+
+
+Real
+GreensFunction3DRadAbs::drawPleaves(gsl_function const& F,
+ gsl_root_fsolver* solver,
+ Real t_guess,
+ RealVector& pleaveFactorTable,
+ RealVector& pleavesTable) const
+{
+ const Real minT(1e-12);
+
+ Real low(t_guess);
+ Real high(t_guess);
+
+ // adjust high and low to make sure that f(low) and f(high) straddle.
+ const Real value(GSL_FN_EVAL(&F, t_guess));
+ if (value < 0.0)
+ {
+ high *= 10;
+ for (;;)
+ {
+ const Real high_value(GSL_FN_EVAL(&F, high));
+
+ if (high_value >= 0.0)
+ {
+ break;
+ }
+
+ if (fabs(high) >= 1e10)
+ {
+ throw std::runtime_error(
+ (boost::format(
+ "couldn't adjust high. Fs(%.16g) = %.16g; r0 = %.16g, %s") %
+ high % GSL_FN_EVAL(&F, high) % r0 % dump()).str());
+ }
+
+ log_.info("drawTime2: adjusting high: %.16g Fs = %.16g",
+ high, high_value);
+ high *= 10;
+ }
+ }
+ else
+ {
+ // Real low_value_prev(value);
+ low *= .1;
+
+ for (;;)
+ {
+ this->updateAlphaTable0(low);
+ this->createPleaveFactorTable(pleaveFactorTable);
+ this->createPleavesTable(pleavesTable, pleaveFactorTable);
+
+ const Real low_value(GSL_FN_EVAL(&F, low));
+
+ if (low_value <= 0.0)
+ {
+ break;
+ }
+
+ // FIXME:
+ // if (fabs(low) <= minT
+ // || fabs(low_value - low_value_prev) < TOLERANCE)
+ if (fabs(low) <= minT)
+ {
+ log_.info("couldn't adjust low. returning minT (=%.16g);"
+ "Fs(%.16g) = %.16g; r0 = %.16g, %s",
+ minT, low, GSL_FN_EVAL(&F, low), r0, dump().c_str());
+ return minT;
+ }
+ // low_value_prev = low_value;
+
+ log_.info("drawTime2: adjusting low: %.16g, Fs = %.16g", low, low_value);
+ low *= .1;
+ }
+ }
+
+ const Real t(findRoot(F, solver, low, high, 0., this->TOLERANCE,
+ "drawTime2: s"));
+
+ return t;
+}
+
+
+
+
+Real GreensFunction3DRadAbs::drawR(Real rnd, Real t) const
+{
+ const Real D(this->getD());
+ const Real sigma(this->getSigma());
+ const Real a(this->geta());
+
+ if (!(rnd < 1.0 && rnd >= 0.0))
+ {
+ throw std::invalid_argument((boost::format("rnd < 1.0 && rnd >= 0.0 : rnd=%.16g") % rnd).str());
+ }
+
+ if (!(r0 >= sigma && r0 < a))
+ {
+ throw std::invalid_argument((boost::format("r0 >= sigma && r0 < a : r0=%.16g, sigma=%.16g, a=%.16g") % r0 % sigma % a).str());
+ }
+
+
+ if (t == 0.0)
+ {
+ return r0;
+ }
+
+ const Real psurv(p_survival(t));
+
+// RealVector num_r0Table;
+// createNum_r0Table(num_r0Table, r0);
+
+ p_int_r_params params = { this, t, /*num_r0Table,*/ rnd * psurv };
+
+ gsl_function F =
+ {
+ reinterpret_cast<double (*)(double, void*)>(&p_int_r_F),
+ ¶ms
+ };
+
+
+ // adjust low and high starting from r0.
+ // this is necessary to avoid root finding in the long tails where
+ // numerics can be unstable.
+
+ Real low(r0);
+ Real high(r0);
+
+ const Real sqrt6Dt(sqrt(6.0 * D * t));
+ if (GSL_FN_EVAL(&F, r0) < 0.0)
+ {
+ // low = r0
+ unsigned int H(3);
+
+ for (;;)
+ {
+ high = r0 + H * sqrt6Dt;
+ if (high > a)
+ {
+ if (GSL_FN_EVAL(&F, a) < 0.0)
+ {
+ log_.info("drawR: p_int_r(a) < 0.0. returning a");
+ return a;
+ }
+
+ high = a;
+ break;
+ }
+
+ const Real value(GSL_FN_EVAL(&F, high));
+ if (value > 0.0)
+ {
+ break;
+ }
+
+ ++H;
+ }
+
+ }
+ else
+ {
+ // high = r0
+ unsigned int H(3);
+
+ for (;;)
+ {
+ low = r0 - H * sqrt6Dt;
+ if (low < sigma)
+ {
+ if (GSL_FN_EVAL(&F, sigma) > 0.0)
+ {
+ log_.info("drawR: p_int_r(sigma) > 0.0. returning sigma");
+ return sigma;
+ }
+
+ low = sigma;
+ break;
+ }
+
+ const Real value(GSL_FN_EVAL(&F, low));
+ if (value < 0.0)
+ {
+ break;
+ }
+
+ ++H;
+ }
+ }
+
+
+ // root finding by iteration.
+
+ const gsl_root_fsolver_type* solverType(gsl_root_fsolver_brent);
+ gsl_root_fsolver* solver(gsl_root_fsolver_alloc(solverType));
+ gsl_root_fsolver_set(solver, &F, low, high);
+
+ const unsigned int maxIter(100);
+
+ unsigned int i(0);
+ for (;;)
+ {
+ gsl_root_fsolver_iterate(solver);
+ low = gsl_root_fsolver_x_lower(solver);
+ high = gsl_root_fsolver_x_upper(solver);
+ const int status(gsl_root_test_interval(low, high, 1e-15,
+ this->TOLERANCE));
+
+ if (status == GSL_CONTINUE)
+ {
+ if (i >= maxIter)
+ {
+ gsl_root_fsolver_free(solver);
+ throw std::runtime_error("drawR: failed to converge");
+ }
+ }
+ else
+ {
+ break;
+ }
+
+ ++i;
+ }
+
+ const Real r(gsl_root_fsolver_root(solver));
+ gsl_root_fsolver_free(solver);
+
+ return r;
+}
+
+
+
+
+Real GreensFunction3DRadAbs::p_n_alpha(unsigned int i, unsigned int n,
+ Real r, Real t) const
+{
+ const Real sigma(this->getSigma());
+ const Real h(this->geth());
+ const Real a(this->geta());
+
+ const Real mDt(- this->getD() * t);
+
+ const Real alpha(this->getAlpha(n, i));
+ const Real alphasq(alpha * alpha);
+
+ const Real aAlpha(a * alpha);
+ const Real sigmaAlpha(sigma * alpha);
+ const Real hSigma(geth() * getSigma());
+ const Real realn(static_cast<Real>(n));
+ const Real hSigma_m_n(hSigma - realn);
+
+ const Real term1(alphasq * alphasq * exp(mDt * alphasq));
+
+
+ const SphericalBesselGenerator& s(SphericalBesselGenerator::instance());
+
+ const Real js1(s.j(n, sigmaAlpha));
+ const Real js2(s.j(n+1, sigmaAlpha));
+ const Real ja( s.j(n, aAlpha));
+ const Real ya( s.y(n, aAlpha));
+ const Real jr( s.j(n, r * alpha));
+ const Real yr( s.y(n, r * alpha));
+ const Real jr0(s.j(n, r0 * alpha));
+ const Real yr0(s.y(n, r0 * alpha));
+
+ const Real J(hSigma_m_n * js1 + sigmaAlpha * js2);
+ const Real Jsq(J * J);
+
+ const Real JY1(ja * yr - ya * jr);
+ const Real JY2(ja * yr0 - ya * jr0);
+
+ const Real num(Jsq * JY1 * JY2);
+
+ const Real den1(a * (realn + realn * realn -
+ sigma * (h + h * h * sigma + sigma * alphasq))
+ * ja * ja);
+
+ const Real den2(sigma * Jsq);
+
+ const Real den(den1 + den2);
+
+ const Real result(term1 * num / den);
+
+ return result;
+}
+
+
+
+Real
+GreensFunction3DRadAbs::p_n(Integer n, Real r, Real t, Real max_alpha) const
+{
+ const unsigned int min_i(2);
+
+ Real p(0.0);
+
+ Integer i(0);
+ for (;;)
+ {
+ const Real alpha(getAlpha(n,i));
+
+ const Real p_i(p_n_alpha(i, n, r, t));
+ p += p_i;
+
+ if(alpha >= max_alpha && i >= min_i)
+ {
+ break;
+ }
+
+ if(i == MAX_ALPHA_SEQ)
+ {
+ break;
+ }
+
+ ++i;
+ }
+
+ return p;
+}
+
+void
+GreensFunction3DRadAbs::makep_nTable(RealVector& p_nTable,
+ Real r, Real t) const
+{
+ const Real sigma(this->getSigma());
+ const Real a(this->geta());
+
+ p_nTable.clear();
+
+ const Real factor(a * sigma / (M_PI * 2));
+
+ const Real Dt(this->getD() * t);
+ const Real alpha00(this->getAlpha(0, 0));
+
+ const Real max_alpha(sqrt(alpha00 * alpha00 -
+ log(THETA_TOLERANCE * 1e-1) / Dt));
+
+
+ const Real p_0(this->p_n(0, r, t, max_alpha) * factor);
+
+ p_nTable.push_back(p_0);
+
+ if(p_0 == 0)
+ {
+ return;
+ }
+
+ const Real threshold(fabs(THETA_TOLERANCE * p_0));
+
+ Real p_n_prev_abs(fabs(p_0));
+ unsigned int n(1);
+ for (;;)
+ {
+ if(getAlpha(n, 0) >= max_alpha)
+ {
+ break;
+ }
+
+ Real p_n(this->p_n(n, r, t, max_alpha) * factor);
+
+ p_nTable.push_back(p_n);
+ const Real p_n_abs(fabs(p_n));
+ // truncate when converged enough.
+ if(p_n_abs < threshold &&
+ p_n_prev_abs < threshold &&
+ p_n_abs <= p_n_prev_abs)
+ {
+ break;
+ }
+
+ if (n >= this->MAX_ORDER)
+ {
+ break;
+ }
+
+ ++n;
+ p_n_prev_abs = p_n_abs;
+ }
+}
+
+
+Real
+GreensFunction3DRadAbs::dp_n_alpha_at_a(unsigned int i, unsigned int n,
+ Real t) const
+{
+ const Real sigma(this->getSigma());
+ const Real h(this->geth());
+ const Real a(this->geta());
+
+ const Real mDt(- this->getD() * t);
+ const Real alpha(this->getAlpha(n, i));
+
+ const Real alphasq(alpha * alpha);
+
+ const Real aAlpha(a * alpha);
+ const Real sigmaAlpha(sigma * alpha);
+ const Real hSigma(geth() * getSigma());
+ const Real realn(static_cast<Real>(n));
+ const Real hSigma_m_n(hSigma - realn);
+
+ const Real term1(alphasq * alpha * exp(mDt * alphasq));
+
+ const SphericalBesselGenerator& s(SphericalBesselGenerator::instance());
+
+ const Real js1(s.j(n, sigmaAlpha));
+ const Real js2(s.j(n+1, sigmaAlpha));
+ const Real ja( s.j(n, aAlpha));
+ const Real ya( s.y(n, aAlpha));
+ const Real jr0(s.j(n, r0 * alpha));
+ const Real yr0(s.y(n, r0 * alpha));
+
+ const Real J(hSigma_m_n * js1 + sigmaAlpha * js2);
+ const Real Jsq(J * J);
+
+ const Real JY(- jr0 * ya + ja * yr0);
+
+ const Real num(Jsq * JY);
+
+ const Real den1(a * (realn + realn * realn -
+ sigma * (h + h * h * sigma + sigma * alphasq))
+ * ja * ja);
+
+ const Real den2(sigma * Jsq);
+
+ const Real den(den1 + den2);
+
+ const Real result(term1 * num / den);
+
+ return result;
+}
+
+Real
+GreensFunction3DRadAbs::dp_n_at_a(Integer n, Real t,
+ Real max_alpha) const
+{
+ const unsigned int min_i(2);
+
+ Real p(0.0);
+
+ Integer i(0);
+ for (;;)
+ {
+ const Real alpha(getAlpha(n,i));
+
+ const Real p_i(dp_n_alpha_at_a(i, n, t));
+
+ p += p_i;
+
+ if(alpha >= max_alpha && i >= min_i)
+ {
+ break;
+ }
+
+ if(i == MAX_ALPHA_SEQ)
+ {
+ break;
+ }
+
+ ++i;
+ }
+
+ return p;
+}
+
+
+void
+GreensFunction3DRadAbs::makedp_n_at_aTable(RealVector& p_nTable,
+ Real t) const
+{
+ const Real sigma(this->getSigma());
+ const Real a(this->geta());
+
+ p_nTable.clear();
+
+ const Real factor(this->getD() * sigma / (a * M_PI * 2));
+
+ const Real Dt(this->getD() * t);
+ const Real alpha00(this->getAlpha(0, 0));
+
+ const Real max_alpha(sqrt(Dt * alpha00 * alpha00 -
+ log(THETA_TOLERANCE * 1e-1) / Dt));
+
+
+ const Real p_0(this->dp_n_at_a(0, t, max_alpha) * factor);
+
+ p_nTable.push_back(p_0);
+
+ if(p_0 == 0)
+ {
+ return;
+ }
+
+ const Real threshold(fabs(THETA_TOLERANCE * p_0));
+
+ Real p_n_prev_abs(fabs(p_0));
+ unsigned int n(1);
+ for (;;)
+ {
+ if(getAlpha(n, 0) >= max_alpha)
+ {
+ break;
+ }
+
+ Real p_n(this->dp_n_at_a(n, t, max_alpha) * factor);
+
+ p_nTable.push_back(p_n);
+
+ const Real p_n_abs(fabs(p_n));
+ // truncate when converged enough.
+ if(p_n_abs < threshold &&
+ p_n_prev_abs < threshold &&
+ p_n_abs <= p_n_prev_abs)
+ {
+ break;
+ }
+
+ if (n >= this->MAX_ORDER)
+ {
+ break;
+ }
+
+ ++n;
+ p_n_prev_abs = p_n_abs;
+ }
+
+}
+
+Real
+GreensFunction3DRadAbs::p_theta(Real theta, Real r, Real t) const
+{
+ {
+ const Real sigma(this->getSigma());
+ const Real a(this->geta());
+
+ if (!(theta >= 0.0 && theta <= M_PI))
+ {
+ throw std::invalid_argument((boost::format("theta >= 0.0 && theta <= M_PI : theta=%.16g, M_PI=%.16g") % theta % M_PI).str());
+ }
+
+ // r \in (sigma, a); not defined at r == sigma and r == a.
+ if (!(r >= sigma && r < a))
+ {
+ throw std::invalid_argument((boost::format("r >= sigma && r < a : r=%.16g, sigma=%.16g, a=%.16g") % r % sigma % a).str());
+ }
+
+ if (!(r0 >= sigma && r0 < a))
+ {
+ throw std::invalid_argument((boost::format("r0 >= sigma && r0 < a : r0=%.16g, sigma=%.16g, a=%.16g") % r0 % sigma % a).str());
+ }
+
+ if (!(t >= 0.0))
+ {
+ throw std::invalid_argument((boost::format("t >= 0.0 : t=%.16g") % t).str());
+ }
+
+ }
+
+ if (t == 0.0)
+ {
+ return 0.0;
+ }
+
+ RealVector p_nTable;
+
+ makep_nTable(p_nTable, r, t);
+
+ const Real p(p_theta_table(theta, r, t, p_nTable));
+
+ return p;
+}
+
+Real GreensFunction3DRadAbs::dp_theta(Real theta, Real r, Real t) const
+{
+ {
+ const Real sigma(this->getSigma());
+ const Real a(this->geta());
+
+ if (!(theta >= 0.0 && theta <= M_PI))
+ {
+ throw std::invalid_argument((boost::format("theta >= 0.0 && theta <= M_PI : theta=%.16g, M_PI=%.16g") % theta % M_PI).str());
+ }
+
+
+ // r \in [ sigma, a ] ; unlike p_theta,
+ // defined at r == sigma and r == a.
+ if (!(r >= sigma && r <= a))
+ {
+ throw std::invalid_argument((boost::format("r >= sigma && r <= a : r=%.16g, sigma=%.16g, a=%.16g") % r % sigma % a).str());
+ }
+
+ if (!(r0 >= sigma && r0 < a))
+ {
+ throw std::invalid_argument((boost::format("r0 >= sigma && r0 < a : r0=%.16g, sigma=%.16g, a=%.16g") % r0 % sigma % a).str());
+ }
+
+ if (!(t >= 0.0))
+ {
+ throw std::invalid_argument((boost::format("t >= 0.0 : t=%.16g") % t).str());
+ }
+
+ }
+
+ if (t == 0.0)
+ {
+ return 0.0;
+ }
+
+ RealVector p_nTable;
+
+ makedp_n_at_aTable(p_nTable, t);
+
+ const Real p(p_theta_table(theta, r, t, p_nTable));
+
+ return p;
+}
+
+
+static Real
+p_theta_n(unsigned int n,
+ GreensFunction3DRadAbs::RealVector const& p_nTable,
+ GreensFunction3DRadAbs::RealVector const& lgndTable)
+{
+ return p_nTable[n] * lgndTable[n] * (2 * n + 1);
+}
+
+Real
+GreensFunction3DRadAbs::p_theta_table(Real theta, Real r,
+ Real t,
+ RealVector const& p_nTable) const
+{
+ const unsigned int tableSize(p_nTable.size());
+
+ Real sin_theta;
+ Real cos_theta;
+ sincos(theta, &sin_theta, &cos_theta);
+
+ RealVector lgndTable(tableSize);
+ gsl_sf_legendre_Pl_array(tableSize-1, cos_theta, &lgndTable[0]);
+
+ return funcSum_all(
+ boost::bind(&p_theta_n, _1, p_nTable, lgndTable),
+ tableSize) * sin_theta;
+}
+
+void
+GreensFunction3DRadAbs::
+make_p_thetaTable(RealVector& pTable,
+ Real r,
+ Real t,
+ unsigned int n,
+ RealVector const& p_nTable) const
+{
+ const Real thetaStep(M_PI / n);
+
+ pTable.push_back(0.0);
+
+ Real p_prev(0.0);
+ unsigned int i(1);
+ for (;;)
+ {
+ const Real theta(thetaStep * i);
+
+ Real p(this->p_theta_table(theta, r, t, p_nTable));
+
+ if (p < 0.0)
+ {
+ log_.info("drawTheta: p<0 %.16g", p);
+ p = 0.0;
+ }
+
+ const Real value((p_prev + p) * 0.5);
+ pTable.push_back(*(pTable.end() - 1) + value);
+
+ if (/* value < pTable[i] * std::numeric_limits<Real>::epsilon() || */
+ i >= n - 1)
+ {
+ break; // pTable is valid in [0,i].
+ }
+
+ p_prev = p;
+ ++i;
+ }
+
+}
+
+
+Real
+GreensFunction3DRadAbs::ip_theta(Real theta, Real r, Real t) const
+{
+ {
+ const Real sigma(this->getSigma());
+ const Real a(this->geta());
+
+ if (!(theta >= 0.0 && theta <= M_PI))
+ {
+ throw std::invalid_argument((boost::format("theta >= 0.0 && theta <= M_PI : theta=%.16g, M_PI=%.16g") % theta % M_PI).str());
+ }
+
+ // r \in (sigma, a)
+ if (!(r >= sigma && r < a))
+ {
+ throw std::invalid_argument((boost::format("r >= sigma && r < a : r=%.16g, sigma=%.16g, a=%.16g") % r % sigma % a).str());
+ }
+
+ if (!(r0 >= sigma && r0 < a))
+ {
+ throw std::invalid_argument((boost::format("r0 >= sigma && r0 < a : r0=%.16g, sigma=%.16g, a=%.16g") % r0 % sigma % a).str());
+ }
+
+ if (!(t >= 0.0))
+ {
+ throw std::invalid_argument((boost::format("t >= 0.0 : t=%.16g") % t).str());
+ }
+
+ }
+
+ if (t == 0.0 || theta == 0.0)
+ {
+ return 0.0;
+ }
+
+ RealVector p_nTable;
+
+ makep_nTable(p_nTable, r, t);
+
+ const Real p(ip_theta_table(theta, r, t, p_nTable));
+
+ return p;
+}
+
+
+Real
+GreensFunction3DRadAbs::idp_theta(Real theta, Real r, Real t) const
+{
+ {
+ const Real sigma(this->getSigma());
+ const Real a(this->geta());
+
+ if (!(theta >= 0.0 && theta <= M_PI))
+ {
+ throw std::invalid_argument((boost::format("theta >= 0.0 && theta <= M_PI : theta=%.16g, M_PI=%.16g") % theta % M_PI).str());
+ }
+
+ // r \in [ sigma, a ]
+ if (!(r >= sigma && r <= a))
+ {
+ throw std::invalid_argument((boost::format("r >= sigma && r <= a : r=%.16g, sigma=%.16g, a=%.16g") % r % sigma % a).str());
+ }
+
+ if (!(r0 >= sigma && r0 < a))
+ {
+ throw std::invalid_argument((boost::format("r0 >= sigma && r0 < a : r0=%.16g, sigma=%.16g, a=%.16g") % r0 % sigma % a).str());
+ }
+
+ if (!(t >= 0.0))
+ {
+ throw std::invalid_argument((boost::format("t >= 0.0 : t=%.16g") % t).str());
+ }
+
+ }
+
+ if (t == 0.0 || theta == 0.0)
+ {
+ return 0.0;
+ }
+
+ RealVector p_nTable;
+
+ makedp_n_at_aTable(p_nTable, t);
+
+ const Real p(ip_theta_table(theta, r, t, p_nTable));
+
+ return p;
+}
+
+static Real
+ip_theta_n(unsigned int n,
+ GreensFunction3DRadAbs::RealVector const& p_nTable,
+ GreensFunction3DRadAbs::RealVector const& lgndTable1)
+{
+ // lgndTable1 is offset by 1; lgndTable1[0] is for n=-1.
+
+ const Real lgnd_n_m1(lgndTable1[n]); // n-1
+ const Real lgnd_n_p1(lgndTable1[n+2]); // n+1
+
+ // the term (1 + 2 n) is canceled out.
+ return p_nTable[n] * (lgnd_n_m1 - lgnd_n_p1);
+}
+
+
+Real
+GreensFunction3DRadAbs::ip_theta_table(Real theta, Real r,
+ Real t, RealVector const& p_nTable) const
+{
+ const unsigned int tableSize(p_nTable.size());
+
+ const Real cos_theta(cos(theta));
+
+ // LgndTable is offset by 1 to incorporate the n=-1 case.
+ // For ex: LgndTable[0] is for n=-1, lgndTable[1] is for n=0 ...
+
+ RealVector lgndTable(tableSize + 2);
+ lgndTable[0] = 1.0; // n = -1
+ gsl_sf_legendre_Pl_array(tableSize, cos_theta, &lgndTable[1]);
+
+ return funcSum_all(
+ boost::bind(&ip_theta_n, _1, p_nTable, lgndTable),
+ tableSize);
+}
+
+struct GreensFunction3DRadAbs::ip_theta_params
+{
+ GreensFunction3DRadAbs const* const gf;
+ const Real r;
+ const Real t;
+ RealVector const& p_nTable;
+ const Real value;
+};
+
+Real GreensFunction3DRadAbs::ip_theta_F(Real theta, ip_theta_params const* params)
+{
+ const GreensFunction3DRadAbs* const gf(params->gf);
+ const Real r(params->r);
+ const Real t(params->t);
+ RealVector const& p_nTable(params->p_nTable);
+ const Real value(params->value);
+
+ return gf->ip_theta_table(theta, r, t, p_nTable) - value;
+}
+
+Real
+GreensFunction3DRadAbs::drawTheta(Real rnd, Real r, Real t) const
+{
+ Real theta;
+
+ const Real sigma(this->getSigma());
+ const Real a(this->geta());
+
+ // input parameter range checks.
+ if (!(rnd < 1.0 && rnd >= 0.0))
+ {
+ throw std::invalid_argument((boost::format("rnd < 1.0 && rnd >= 0.0 : rnd=%.16g") % rnd).str());
+ }
+
+ if (!(r0 >= sigma && r0 < a))
+ {
+ throw std::invalid_argument((boost::format("r0 >= sigma && r0 < a : r0=%.16g, sigma=%.16g, a=%.16g") % r0 % sigma % a).str());
+ }
+
+ if (!(r >= sigma))
+ {
+ throw std::invalid_argument((boost::format("r >= sigma : r=%.16g, sigma=%.16g") % r % sigma).str());
+ }
+
+ if (!(t >= 0.0))
+ {
+ throw std::invalid_argument((boost::format("t >= 0.0 : t=%.16g") % t).str());
+ }
+
+
+ // t == 0 means no move.
+ if (t == 0.0)
+ {
+ return 0.0;
+ }
+
+ const Real high(M_PI);
+
+ RealVector p_nTable;
+
+ if (r >= geta())
+ {
+ //puts("dp");
+ makedp_n_at_aTable(p_nTable, t);
+ }
+ else
+ {
+ makep_nTable(p_nTable, r, t);
+ }
+
+ const Real ip_theta_pi(ip_theta_table(high, r, t, p_nTable));
+
+ ip_theta_params params = { this, r, t, p_nTable, rnd * ip_theta_pi };
+
+ gsl_function F =
+ { reinterpret_cast<double (*)(double, void*)>(&ip_theta_F), ¶ms };
+
+ const gsl_root_fsolver_type* solverType(gsl_root_fsolver_brent);
+ gsl_root_fsolver* solver(gsl_root_fsolver_alloc(solverType));
+ gsl_root_fsolver_set(solver, &F, 0.0, high);
+
+ const unsigned int maxIter(100);
+
+ unsigned int i(0);
+ for (;;)
+ {
+ gsl_root_fsolver_iterate(solver);
+ const Real low(gsl_root_fsolver_x_lower(solver));
+ const Real high(gsl_root_fsolver_x_upper(solver));
+ const int status(gsl_root_test_interval(low, high, 1e-11,
+ THETA_TOLERANCE));
+
+ if (status == GSL_CONTINUE)
+ {
+ if (i >= maxIter)
+ {
+ gsl_root_fsolver_free(solver);
+ throw std::runtime_error("drawTheta: failed to converge");
+ }
+ }
+ else
+ {
+ break;
+ }
+
+ ++i;
+ }
+
+ theta = gsl_root_fsolver_root(solver);
+ gsl_root_fsolver_free(solver);
+
+ return theta;
+}
+
+
+//
+// debug
+//
+
+std::string GreensFunction3DRadAbs::dump() const
+{
+ std::ostringstream ss;
+ ss << "D = " << this->getD() << ", r0 = " << this->getr0() <<
+ ", sigma = " << this->getSigma() <<
+ ", a = " << this->geta() <<
+ ", kf = " << this->getkf() <<
+ ", h = " << this->geth() << std::endl;
+ return ss.str();
+}
+
+Logger& GreensFunction3DRadAbs::log_(
+ Logger::get_logger("GreensFunction3DRadAbs"));
diff --git a/ecell4/egfrd/GreensFunction3DRadAbs.hpp b/ecell4/egfrd/GreensFunction3DRadAbs.hpp
new file mode 100644
index 0000000..d5e0193
--- /dev/null
+++ b/ecell4/egfrd/GreensFunction3DRadAbs.hpp
@@ -0,0 +1,298 @@
+#if !defined( __FIRSTPASSAGEPAIRGREENSFUNCTION_HPP )
+#define __FIRSTPASSAGEPAIRGREENSFUNCTION_HPP
+
+#include <vector>
+#include <boost/array.hpp>
+
+#include <gsl/gsl_roots.h>
+
+#include "Logger.hpp"
+
+#include "GreensFunction3DRadAbsBase.hpp"
+
+class GreensFunction3DRadAbs: public GreensFunction3DRadAbsBase
+{
+public:
+ typedef std::vector<Real> RealVector;
+
+private:
+ // Error tolerance used by default.
+ static const Real TOLERANCE;
+
+ // SphericalBesselGenerator's accuracy, used by some
+ // theta-related calculations.
+ static const Real THETA_TOLERANCE;
+
+ static const Real MIN_T_FACTOR;
+
+ static const unsigned int MAX_ORDER = 50;
+ static const unsigned int MAX_ALPHA_SEQ = 2000;
+
+public:
+
+ GreensFunction3DRadAbs(Real D, Real kf, Real r0, Real Sigma, Real a);
+
+ virtual ~GreensFunction3DRadAbs();
+
+ Real geth() const
+ {
+ return this->h;
+ }
+
+ Real geta() const
+ {
+ return this->a;
+ }
+
+ Real getr0() const
+ {
+ return this->r0;
+ }
+
+ virtual Real drawTime(Real rnd) const;
+
+ std::pair<Real, EventKind>
+ drawTime2(Real rnd1, Real rnd2) const;
+
+ virtual EventKind drawEventType(Real rnd, Real t) const;
+
+ virtual Real drawR(Real rnd, Real t) const;
+
+ virtual Real drawTheta(Real rnd, Real r, Real t) const;
+
+ Real f_alpha0(Real alpha) const;
+ Real f_alpha0_aux(Real alpha) const;
+
+ Real f_alpha(Real alpha, Integer n) const;
+ Real f_alpha_aux(Real alpha, Integer n) const;
+
+ Real p_0(Real t, Real r) const;
+
+ Real p_survival(Real t) const;
+
+ Real p_survival_table(Real t, RealVector& table) const;
+
+ Real p_leave_table(Real t, RealVector const& table) const;
+
+
+ Real dp_survival(Real t) const;
+
+ Real leaves(Real t) const;
+
+ Real leavea(Real t) const;
+
+ Real p_leaves(Real t) const;
+
+ Real p_leavea(Real t) const;
+
+ Real p_int_r(Real r, Real t) const;
+
+ Real p_theta(Real theta, Real r, Real t) const;
+
+ Real ip_theta(Real theta, Real r, Real t) const;
+
+ Real dp_theta(Real theta, Real r, Real t) const;
+
+ Real idp_theta(Real theta, Real r, Real t) const;
+
+ Real p_n(Integer n, Real r, Real t, Real max_alpha) const;
+
+ Real dp_n_at_a(Integer n, Real t, Real max_alpha) const;
+
+
+ Real p_n_alpha(unsigned int i, unsigned int n, Real r, Real t) const;
+
+ Real dp_n_alpha_at_a(unsigned int i, unsigned int n, Real t) const;
+
+ // methods below are kept public for debugging purpose.
+
+ std::string dump() const;
+
+ const char* getName() const
+ {
+ return "GreensFunction3DRadAbs";
+ }
+
+ unsigned int alphaOffset(unsigned int n) const;
+
+ Real alpha0_i(Integer i) const;
+
+ Real alpha_i(Integer i, Integer n, gsl_root_fsolver* solver ) const;
+
+ Real p_survival_i(Real alpha) const;
+
+ Real p_0_i(Real alpha, Real r) const;
+
+ Real dp_survival_i(Real alpha) const;
+
+ Real leavea_i(Real alpha) const;
+
+ Real leaves_i(Real alpha) const;
+
+ Real p_leavea_i(Real alpha, Real pleave_factor) const;
+
+ Real p_leaves_i(Real alpha, Real pleave_factor) const;
+
+ Real p_survival_den(Real alpha) const;
+
+ Real p_int_r_i(Real r, Real alpha, Real num_r0) const;
+
+ Real p_0_i_exp(unsigned int i, Real t, Real r) const;
+
+ Real p_survival_i_exp(unsigned int i, Real t) const;
+
+ Real p_survival_i_alpha(Real alpha, Real t) const;
+
+
+ Real p_survival_2i_exp(unsigned int i, Real t) const;
+
+
+protected:
+
+ void clearAlphaTable() const;
+
+ RealVector& getAlphaTable(size_t n) const
+ {
+ return this->alphaTable[n];
+ }
+
+ Real getAlpha(size_t n, RealVector::size_type i) const
+ {
+ RealVector& alphaTable( this->alphaTable[n] );
+ RealVector::size_type oldSize( alphaTable.size() );
+
+ if( oldSize <= i )
+ {
+ alphaTable.resize( i+1 );
+ unsigned int offset( alphaOffset( n ) );
+
+ gsl_root_fsolver* solver(
+ gsl_root_fsolver_alloc(gsl_root_fsolver_brent));
+
+ for( RealVector::size_type m( oldSize ); m <= i; ++m )
+ {
+ alphaTable[m] = alpha_i( m + offset, n, solver );
+ }
+
+ gsl_root_fsolver_free( solver );
+ }
+
+ return alphaTable[i];
+
+ }
+
+ Real getAlpha0(RealVector::size_type i) const
+ {
+ RealVector& alphaTable( this->alphaTable[0] );
+
+ RealVector::size_type oldSize( alphaTable.size() );
+
+ if( oldSize <= i )
+ {
+ alphaTable.resize( i+1 );
+
+ for( RealVector::size_type m( oldSize ); m <= i; ++m )
+ {
+ alphaTable[m] = alpha0_i( m );
+ }
+ }
+
+ return alphaTable[i];
+ }
+
+
+ Real p_int_r_table(Real r, Real t,
+ RealVector const& num_r0Table) const;
+
+ Real ip_theta_table(Real theta, Real r, Real t,
+ RealVector const& p_nTable) const;
+
+ Real dp_theta_at_a(Real theta, Real t ) const;
+
+
+ Real p_theta_table(Real theta, Real r, Real t,
+ RealVector const& p_nTable ) const;
+
+ void make_p_thetaTable( RealVector& pTable, Real r, Real t,
+ unsigned int n, RealVector const& p_nTable ) const;
+
+ Real p_survival_i_exp_table(unsigned int i, Real t,
+ RealVector const& table ) const;
+
+ Real p_leave_i_exp_table(unsigned int i, Real t,
+ RealVector const& table ) const;
+
+
+ Real dp_survival_i_exp(unsigned int i, Real alpha) const;
+
+ Real leavea_i_exp(unsigned int i, Real alpha) const;
+
+ Real leaves_i_exp(unsigned int i, Real alpha) const;
+
+ Real p_leavea_i_exp(unsigned int i, Real alpha) const;
+
+ Real p_leaves_i_exp(unsigned int i, Real alpha) const;
+
+ Real p_int_r_i_exp(unsigned int i, Real t, Real r) const;
+
+ Real p_int_r_i_exp_table(unsigned int i, Real t, Real r,
+ RealVector& num_r0Table ) const;
+
+ void initializeAlphaTable(unsigned int n) const;
+ void updateAlphaTable0(Real t) const;
+ void updateAlphaTable(unsigned int n, Real t) const;
+
+ void createPsurvTable(RealVector& table) const;
+ void createNum_r0Table(RealVector& table) const;
+
+ void createPleaveFactorTable(RealVector& table) const;
+ void createPleavesTable(RealVector& table,
+ RealVector const& pleaveFactorTable) const;
+ void createPleaveaTable(RealVector& table,
+ RealVector const& pleaveFactorTable) const;
+
+ void makep_nTable(RealVector& p_nTable, Real r, Real t) const;
+
+ void makedp_n_at_aTable(RealVector& p_nTable, Real t) const;
+
+ unsigned int guess_maxi(Real t) const;
+
+ Real
+ drawPleaves(gsl_function const& F,
+ gsl_root_fsolver* solver,
+ Real t_guess,
+ RealVector& pleaveFactorTable,
+ RealVector& pleavesTable) const;
+
+ Real
+ drawPleavea(gsl_function const& F,
+ gsl_root_fsolver* solver,
+ Real t_guess,
+ RealVector& pleaveFactorTable,
+ RealVector& pleavesTable) const;
+
+
+ Real num_r0(Real alpha) const;
+
+ Real pleaveFactor(Real alpha) const;
+
+ struct ip_theta_params;
+ static Real ip_theta_F(Real, ip_theta_params const*);
+
+
+private:
+
+ const Real h;
+ const Real hsigma_p_1;
+
+ mutable boost::array<Integer, MAX_ORDER+1> alphaOffsetTable;
+ mutable boost::array<RealVector, MAX_ORDER+1> alphaTable;
+
+ const Real a;
+
+ static Logger& log_;
+};
+
+
+
+#endif // __FIRSTPASSAGEPAIRGREENSFUNCTION_HPP
diff --git a/ecell4/egfrd/GreensFunction3DRadAbsBase.cpp b/ecell4/egfrd/GreensFunction3DRadAbsBase.cpp
new file mode 100644
index 0000000..d166820
--- /dev/null
+++ b/ecell4/egfrd/GreensFunction3DRadAbsBase.cpp
@@ -0,0 +1,9 @@
+#ifdef HAVE_CONFIG_H
+#include <ecell4/egfrd/config.h>
+#endif
+
+#include "GreensFunction3DRadAbsBase.hpp"
+
+GreensFunction3DRadAbsBase::~GreensFunction3DRadAbsBase()
+{
+}
diff --git a/ecell4/egfrd/GreensFunction3DRadAbsBase.hpp b/ecell4/egfrd/GreensFunction3DRadAbsBase.hpp
new file mode 100644
index 0000000..ca84221
--- /dev/null
+++ b/ecell4/egfrd/GreensFunction3DRadAbsBase.hpp
@@ -0,0 +1,23 @@
+#ifndef FIRST_PASSAGE_PAIR_GREENS_FUNCTION_BASE_HPP
+#define FIRST_PASSAGE_PAIR_GREENS_FUNCTION_BASE_HPP
+
+#include "PairGreensFunction.hpp"
+
+class GreensFunction3DRadAbsBase: public PairGreensFunction
+{
+public:
+ GreensFunction3DRadAbsBase(Real D, Real kf, Real r0, Real Sigma)
+ : PairGreensFunction(D, kf, r0, Sigma) {}
+
+ virtual ~GreensFunction3DRadAbsBase();
+
+ virtual Real drawTime(Real rnd) const = 0;
+
+ virtual EventKind drawEventType(Real rnd, Real t) const = 0;
+
+ virtual Real drawR(Real rnd, Real t) const = 0;
+
+ virtual Real drawTheta(Real rnd, Real r, Real t) const = 0;
+};
+
+#endif /* FIRST_PASSAGE_PAIR_GREENS_FUNCTION_BASE_HPP */
diff --git a/ecell4/egfrd/GreensFunction3DRadInf.cpp b/ecell4/egfrd/GreensFunction3DRadInf.cpp
new file mode 100644
index 0000000..7c54696
--- /dev/null
+++ b/ecell4/egfrd/GreensFunction3DRadInf.cpp
@@ -0,0 +1,807 @@
+#ifdef HAVE_CONFIG_H
+#include <ecell4/egfrd/config.h>
+#endif /* HAVE_CONFIG_H */
+
+#include <stdexcept>
+#include <vector>
+#include <sstream>
+#include <cmath>
+
+#include "compat.h"
+
+#include <boost/bind.hpp>
+#include <boost/format.hpp>
+
+#include <gsl/gsl_math.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_sf_legendre.h>
+#include <gsl/gsl_sf_bessel.h>
+#include <gsl/gsl_integration.h>
+#include <gsl/gsl_interp.h>
+#include <gsl/gsl_roots.h>
+
+#include "freeFunctions.hpp"
+
+#include "funcSum.hpp"
+
+#include "SphericalBesselGenerator.hpp"
+
+#include "GreensFunction3DRadInf.hpp"
+
+
+const Real GreensFunction3DRadInf::TOLERANCE = 1e-8;
+const Real GreensFunction3DRadInf::THETA_TOLERANCE = 1e-5;
+const Real GreensFunction3DRadInf::MIN_T = 1e-12;
+const Real GreensFunction3DRadInf::H = 4.0;
+
+GreensFunction3DRadInf::GreensFunction3DRadInf(Real D, Real kf, Real r0, Real Sigma)
+ : PairGreensFunction(D, kf, r0, Sigma),
+ kD(4.0 * M_PI * getSigma() * getD()),
+ alpha((1.0 + (getkf() / getkD())) * (sqrt(getD()) / getSigma()))
+{
+ ; // do nothing
+}
+
+GreensFunction3DRadInf::~GreensFunction3DRadInf()
+{
+ ; // do nothing
+}
+
+Real
+GreensFunction3DRadInf::p_corr_R(Real alpha, unsigned int n, Real r, Real t) const
+{
+ const Real D(this->getD());
+ const Real sigma(this->getSigma());
+
+ const Real ks(getkf() * sigma);
+ const Real realn(static_cast<Real>(n));
+ const Real ks_m_n(ks - realn);
+
+ const Real alphasq(alpha * alpha);
+
+ const Real term1(exp(- D * t * alphasq));
+
+ const Real sAlpha(sigma * alpha);
+ const Real rAlpha(r * alpha);
+ const Real r0Alpha(r0 * alpha);
+
+ const SphericalBesselGenerator& s(SphericalBesselGenerator::instance());
+ const Real js( s.j(n, sAlpha));
+ const Real ys( s.y(n, sAlpha));
+ const Real js1(s.j(n + 1, sAlpha));
+ const Real ys1(s.y(n + 1, sAlpha));
+ const Real jr( s.j(n, rAlpha));
+ const Real yr( s.y(n, rAlpha));
+ const Real jr0(s.j(n, r0Alpha));
+ const Real yr0(s.y(n, r0Alpha));
+
+ const Real R1((ks_m_n * js + sAlpha * js1));
+ const Real R2((ks_m_n * ys + sAlpha * ys1));
+
+ const Real F1R1(R1 * jr * jr0 - R1 * yr * yr0);
+ const Real F2(jr0 * yr + jr * yr0);
+
+ const Real num(2.0 * sqrt(r * r0) *
+ alphasq * R1 * (F1R1 + F2 * R2));
+ const Real den(M_PI * (R1 * R1 + R2 * R2));
+
+ const Real result(term1 * num / den);
+
+ assert(isfinite(result));
+
+ return result;
+}
+
+struct GreensFunction3DRadInf::p_corr_R_params
+{
+ const GreensFunction3DRadInf* const gf;
+ unsigned int n;
+ const Real r;
+ const Real t;
+};
+
+Real GreensFunction3DRadInf::p_corr_R_F(Real alpha, p_corr_R_params* params)
+{
+ const GreensFunction3DRadInf* const gf(params->gf);
+
+ const unsigned int n(params->n);
+ const Real r(params->r);
+ const Real t(params->t);
+
+ return gf->p_corr_R(alpha, n, r, t);
+}
+
+
+Real GreensFunction3DRadInf::p_corr(Real theta, Real r, Real t) const
+{
+ RealVector RnTable;
+ makeRnTable(RnTable, r, t);
+
+ return p_corr_table(theta, r, t, RnTable);
+}
+
+Real GreensFunction3DRadInf::ip_corr(Real theta, Real r, Real t) const
+{
+ RealVector RnTable;
+ makeRnTable(RnTable, r, t);
+
+ return ip_corr_table(theta, r, t, RnTable);
+}
+
+
+Real GreensFunction3DRadInf::p_free(Real theta, Real r, Real t) const
+{
+ return p_theta_free(theta, r, r0, t, getD());
+}
+
+Real GreensFunction3DRadInf::p_survival(Real t) const
+{
+ return 1.0 - p_reaction(t);
+}
+
+
+Real GreensFunction3DRadInf::p_reaction(Real t) const
+{
+ const Real kf(getkf());
+ const Real D(getD());
+ const Real sigma(getSigma());
+ const Real alpha(getalpha());
+ const Real kD(getkD());
+
+ return __p_reaction_irr(t, r0, kf, D, sigma, alpha, kD);
+}
+
+struct p_reaction_params
+{
+ const GreensFunction3DRadInf* const gf;
+ const Real rnd;
+};
+
+static Real p_reaction_F(Real t, p_reaction_params* params)
+{
+ const GreensFunction3DRadInf* const gf(params->gf);
+ const Real kf(gf->getkf());
+ const Real D(gf->getD());
+ const Real sigma(gf->getSigma());
+ const Real alpha(gf->getalpha());
+ const Real kD(gf->getkD());
+
+ const Real r0(gf->getr0());
+ const Real rnd(params->rnd);
+
+ return __p_reaction_irr(t, r0, kf, D, sigma, alpha, kD ) - rnd;
+}
+
+
+Real
+GreensFunction3DRadInf::p_int_r(Real r, Real t) const
+{
+ const Real kf(getkf());
+ const Real D(getD());
+ const Real sigma(getSigma());
+ const Real alpha(getalpha());
+ const Real kD(getkD());
+
+ const Real Dt(D * t);
+
+ const Real kf_kD(kf + kD);
+ const Real Dt4(4.0 * Dt);
+ const Real sqrtDt4(sqrt(Dt4));
+ const Real ksigma2(2.0 * kf * sigma);
+ const Real alphasqrtt(alpha * sqrt(t));
+
+ const Real r_r0__2s___sqrtDt4((r - 2.0 * sigma + r0) / sqrtDt4);
+ const Real r_r0__sqrtDt4((r - r0) / sqrtDt4);
+ const Real r0_s__sqrtDt4((r0 - sigma) / sqrtDt4);
+
+ const Real term1((expm1(- pow_2(r_r0__2s___sqrtDt4 ))
+ - expm1(- pow_2(r_r0__sqrtDt4))) *
+ sqrt(Dt / M_PI));
+
+ const Real erf_r_r0__2s___sqrtDt4(erf(r_r0__2s___sqrtDt4));
+ const Real term2(kf_kD * r0 * erf(r_r0__sqrtDt4)
+ + kf_kD * r0 * erf_r_r0__2s___sqrtDt4
+ + ksigma2 *
+ (erf(r0_s__sqrtDt4) - erf_r_r0__2s___sqrtDt4));
+
+ const Real term3(kf * sigma * W(r0_s__sqrtDt4, alphasqrtt)
+ - (kf * r + kD * (r - sigma)) *
+ W(r_r0__2s___sqrtDt4, alphasqrtt));
+
+ const Real result((1 / r0) * (term1 + (1 / kf_kD) *
+ ((0.5 * term2) + term3)));
+
+ return result;
+}
+
+struct p_int_r_params
+{
+ const GreensFunction3DRadInf* const gf;
+ const Real t;
+ const Real rnd;
+};
+
+static Real p_int_r_F(Real r, p_int_r_params* params)
+{
+ const GreensFunction3DRadInf* const gf(params->gf);
+
+ const Real t(params->t);
+ const Real rnd(params->rnd);
+
+ return gf->p_int_r(r, t) - rnd;
+}
+
+
+Real GreensFunction3DRadInf::drawTime(Real rnd) const
+{
+ const Real sigma(this->getSigma());
+
+ if (!(rnd < 1.0 && rnd >= 0.0))
+ {
+ throw std::invalid_argument((boost::format("rnd < 1.0 && rnd >= 0.0 : rnd=%.16g") % rnd).str());
+ }
+
+ if (!(r0 >= sigma))
+ {
+ throw std::invalid_argument((boost::format("r0 >= sigma : r0=%.16g, sigma=%.16g") % r0 % sigma).str());
+ }
+
+
+ Real low(1e-100);
+ Real high(100);
+
+ {
+ const Real maxp(p_reaction(INFINITY));
+
+ if(rnd >= maxp)
+ {
+ return INFINITY;
+ }
+ }
+
+ p_reaction_params params = { this, rnd };
+
+ gsl_function F =
+ {
+ reinterpret_cast<double (*)(double, void*)>(&p_reaction_F),
+ ¶ms
+ };
+
+ const gsl_root_fsolver_type* solverType(gsl_root_fsolver_brent);
+ gsl_root_fsolver* solver(gsl_root_fsolver_alloc(solverType));
+ gsl_root_fsolver_set(solver, &F, low, high);
+
+ const unsigned int maxIter(100);
+
+ unsigned int i(0);
+ for (;;)
+ {
+ gsl_root_fsolver_iterate(solver);
+
+ low = gsl_root_fsolver_x_lower(solver);
+ high = gsl_root_fsolver_x_upper(solver);
+ int status(gsl_root_test_interval(low, high, 1e-18, 1e-12));
+
+ if(status == GSL_CONTINUE)
+ {
+ if(i >= maxIter)
+ {
+ gsl_root_fsolver_free(solver);
+ throw std::runtime_error("drawTime: failed to converge");
+ }
+ }
+ else
+ {
+ break;
+ }
+
+ ++i;
+ }
+
+ const Real r(gsl_root_fsolver_root(solver));
+ gsl_root_fsolver_free(solver);
+
+ return r;
+}
+
+
+
+
+Real GreensFunction3DRadInf::drawR(Real rnd, Real t) const
+{
+ const Real sigma(this->getSigma());
+ const Real D(this->getD());
+
+ if (!(rnd < 1.0 && rnd >= 0.0))
+ {
+ throw std::invalid_argument((boost::format("rnd < 1.0 && rnd >= 0.0 : rnd=%.16g") % rnd).str());
+ }
+
+ if (!(r0 >= sigma))
+ {
+ throw std::invalid_argument((boost::format("r0 >= sigma : r0=%.16g, sigma=%.16g") % r0 % sigma).str());
+ }
+
+ if (!(t >= 0.0))
+ {
+ throw std::invalid_argument((boost::format("t >= 0.0 : t=%.16g") % t).str());
+ }
+
+
+ if(t == 0.0)
+ {
+ return r0;
+ }
+
+ const Real psurv(p_survival(t));
+
+ p_int_r_params params = { this, t, rnd * psurv };
+
+ gsl_function F =
+ {
+ reinterpret_cast<double (*)(double, void*)>(&p_int_r_F),
+ ¶ms
+ };
+
+
+ // adjust low and high starting from r0.
+ // this is necessary to avoid root finding in the long tails where
+ // numerics can be unstable.
+
+ Real low(r0);
+ Real high(r0);
+
+ const Real sqrt6Dt(sqrt(6.0 * D * t));
+ if(GSL_FN_EVAL(&F, r0) < 0.0)
+ {
+ // low = r0
+ unsigned int H(3);
+
+ for (;;)
+ {
+ high = r0 + H * sqrt6Dt;
+
+ const Real value(GSL_FN_EVAL(&F, high));
+ if(value > 0.0)
+ {
+ break;
+ }
+
+ ++H;
+
+ if(H > 20)
+ {
+ throw std::runtime_error("drawR: H > 20 while adjusting upper bound of r");
+ }
+ }
+
+ }
+ else
+ {
+ // high = r0
+ unsigned int H(3);
+
+ for (;;)
+ {
+ low = r0 - H * sqrt6Dt;
+ if(low < sigma)
+ {
+ if(GSL_FN_EVAL(&F, sigma) > 0.0)
+ {
+ log_.info("drawR: p_int_r(sigma) > 0.0. "
+ "returning sigma.");
+ return sigma;
+ }
+
+ low = sigma;
+ break;
+ }
+
+ const Real value(GSL_FN_EVAL(&F, low));
+ if(value < 0.0)
+ {
+ break;
+ }
+
+ ++H;
+ }
+ }
+
+
+ // root finding by iteration.
+
+ const gsl_root_fsolver_type* solverType(gsl_root_fsolver_brent);
+ gsl_root_fsolver* solver(gsl_root_fsolver_alloc(solverType));
+ gsl_root_fsolver_set(solver, &F, low, high);
+
+ const unsigned int maxIter(100);
+
+ unsigned int i(0);
+ for (;;)
+ {
+ gsl_root_fsolver_iterate(solver);
+ low = gsl_root_fsolver_x_lower(solver);
+ high = gsl_root_fsolver_x_upper(solver);
+ const int status(gsl_root_test_interval(low, high, 1e-15,
+ this->TOLERANCE));
+
+ if(status == GSL_CONTINUE)
+ {
+ if(i >= maxIter)
+ {
+ gsl_root_fsolver_free(solver);
+ throw std::runtime_error("drawR: failed to converge");
+ }
+ }
+ else
+ {
+ break;
+ }
+
+ ++i;
+ }
+
+ const Real r(gsl_root_fsolver_root(solver));
+ gsl_root_fsolver_free(solver);
+
+ return r;
+}
+
+void my_gsl_error_handler(const char* reason, const char* filename, int line, int gsl_errno)
+{
+ std::ostringstream ss;
+ // ss << "gsl: " << filename << ":" << line << ": " << gsl_strerror(gsl_errno) << ": " << reason << std::endl;
+ ss << "gsl: " << filename << ":" << line << ": ERROR: " << reason << std::endl;
+ throw std::runtime_error(ss.str());
+}
+
+Real
+GreensFunction3DRadInf::Rn(unsigned int n, Real r, Real t,
+ gsl_integration_workspace* workspace,
+ Real tol) const
+{
+ Real integral;
+ Real error;
+
+ p_corr_R_params params = { this, n, r, t };
+ gsl_function F =
+ {
+ reinterpret_cast<double (*)(double, void*)>(&p_corr_R_F),
+ ¶ms
+ };
+
+ const Real umax(sqrt(40.0 / (this->getD() * t)));
+
+ gsl_error_handler_t* old_handler = gsl_set_error_handler(&my_gsl_error_handler);
+ // gsl_error_handler_t* old_handler = gsl_set_error_handler_off();
+ gsl_integration_qag(&F, 0.0,
+ umax,
+ tol,
+ THETA_TOLERANCE,
+ 2000, GSL_INTEG_GAUSS61,
+ workspace, &integral, &error);
+ gsl_set_error_handler(old_handler);
+
+ return integral;
+}
+
+
+Real GreensFunction3DRadInf::p_corr_n(unsigned int n, RealVector const& RnTable, RealVector const& lgndTable) const
+{
+ return RnTable[n] * lgndTable[n] * (2.0 * n + 1.0);
+}
+
+Real GreensFunction3DRadInf::ip_corr_n(unsigned int n, RealVector const& RnTable, RealVector const& lgndTable) const
+{
+ // lgndTable1 is offset by 1; lgndTable1[0] is for n=-1.
+
+ const Real lgnd_n_m1(lgndTable[n]); // n-1
+ const Real lgnd_n_p1(lgndTable[n+2]); // n+1
+
+ return RnTable[n] * (lgnd_n_m1 - lgnd_n_p1);// / (1.0 + 2.0 * n);
+}
+
+
+Real GreensFunction3DRadInf::p_corr_table(Real theta, Real r, Real t, RealVector const& RnTable) const
+{
+ const Index tableSize(RnTable.size());
+ if(tableSize == 0)
+ {
+ return 0.0;
+ }
+
+ Real result(0.0);
+
+
+ Real sin_theta;
+ Real cos_theta;
+ sincos(theta, &sin_theta, &cos_theta);
+
+ RealVector lgndTable(tableSize);
+ gsl_sf_legendre_Pl_array(tableSize-1, cos(theta), &lgndTable[0]);
+
+
+ const Real p(funcSum_all(boost::bind(&GreensFunction3DRadInf::
+ p_corr_n,
+ this,
+ _1, RnTable, lgndTable),
+ tableSize));
+
+ result = - p * sin_theta;
+
+ result /= 4.0 * M_PI * sqrt(r * r0);
+
+ return result;
+}
+
+
+Real GreensFunction3DRadInf::ip_corr_table(Real theta, Real r,
+ Real t, RealVector const& RnTable) const
+{
+ const Index tableSize(RnTable.size());
+ if(tableSize == 0)
+ {
+ return 0.0;
+ }
+
+ const Real cos_theta(cos(theta));
+
+ // lgndTable is offset by 1. lengTable[0] -> n = -1
+
+ RealVector lgndTable(tableSize + 2);
+ lgndTable[0] = 1.0; // n = -1
+ gsl_sf_legendre_Pl_array(tableSize, cos_theta, &lgndTable[1]);
+
+ const Real p(funcSum_all(boost::bind(&GreensFunction3DRadInf::
+ ip_corr_n,
+ this,
+ _1, RnTable, lgndTable),
+ tableSize));
+
+ const Real result(- p / (4.0 * M_PI * sqrt(r * r0)));
+ return result;
+}
+
+Real
+GreensFunction3DRadInf::ip_free(Real theta, Real r, Real t) const
+{
+ return ip_theta_free(theta, r, r0, t, getD());
+}
+
+
+Real GreensFunction3DRadInf::p_theta(Real theta, Real r, Real t) const
+{
+ RealVector RnTable;
+ makeRnTable(RnTable, r, t);
+
+ return p_theta_table(theta, r, t, RnTable);
+}
+
+Real GreensFunction3DRadInf::ip_theta(Real theta, Real r, Real t) const
+{
+ RealVector RnTable;
+ makeRnTable(RnTable, r, t);
+
+ return ip_theta_table(theta, r, t, RnTable);
+}
+
+
+Real GreensFunction3DRadInf::p_theta_table(Real theta, Real r,
+ Real t, RealVector const& RnTable) const
+{
+ const Real p_free(this->p_free(theta, r, t));
+ const Real p_corr(this->p_corr_table(theta, r, t, RnTable));
+
+// return p_free;
+ return (p_free + p_corr);
+}
+
+Real GreensFunction3DRadInf::ip_theta_table(Real theta, Real r, Real t, RealVector const& RnTable) const
+{
+ const Real p_free(this->ip_free(theta, r, t));
+ const Real p_corr(this->ip_corr_table(theta, r, t, RnTable));
+
+ return (p_free + p_corr);
+}
+
+static const Real p_free_max(Real r, Real r0, Real t, Real D)
+{
+ const Real Dt4(4.0 * D * t);
+ const Real Dt4Pi(Dt4 * M_PI);
+
+ const Real term1(exp(- pow_2(r - r0) / Dt4));
+ const Real term2(1.0 / sqrt(Dt4Pi * Dt4Pi * Dt4Pi));
+
+ return term1 * term2;
+}
+
+void GreensFunction3DRadInf::makeRnTable(RealVector& RnTable,
+ Real r, Real t) const
+{
+ RnTable.clear();
+
+ const Real sigma(getSigma());
+ const Real D(getD());
+ const Real kf(getkf());
+
+ {
+ // First, estimate the size of p_corr, and if it's small enough,
+ // we don't need to calculate it in the first place.
+ const Real pirr(p_irr(r, t, r0, kf, D, sigma));
+ const Real ipfree_max(ip_free(M_PI, r, t) * 2 * M_PI * r * r);
+
+ if(fabs((pirr - ipfree_max) / ipfree_max) < 1e-8)
+ {
+ return;
+ }
+ }
+
+
+ const Real pfreemax(p_free_max(r, r0, t, D));
+
+ gsl_integration_workspace*
+ workspace(gsl_integration_workspace_alloc(2000));
+
+ Real Rn_prev(0.0);
+ const Real RnFactor(1.0 / (4.0 * M_PI * sqrt(r * r0)));
+
+ const Real integrationTolerance(pfreemax / RnFactor * THETA_TOLERANCE);
+ const Real truncationTolerance(pfreemax * THETA_TOLERANCE * 1e-1);
+
+ unsigned int n(0);
+ for (;;)
+ {
+ const Real Rn(this->Rn(n, r, t, workspace,
+ integrationTolerance));
+
+ RnTable.push_back(Rn);
+
+ // truncate when converged enough.
+ const Real absRn(fabs(Rn));
+ if(absRn * RnFactor < truncationTolerance &&
+ absRn < Rn_prev)
+ {
+ break;
+ }
+
+ if(n >= this->MAX_ORDER)
+ {
+ log_.info("GreensFunction3DRadInf: Rn didn't converge");
+ break;
+ }
+
+ Rn_prev = fabs(Rn);
+
+ ++n;
+ }
+
+ gsl_integration_workspace_free(workspace);
+}
+
+struct GreensFunction3DRadInf::p_theta_params
+{
+ const GreensFunction3DRadInf* const gf;
+ const Real r;
+ const Real t;
+ GreensFunction3DRadInf::RealVector const& RnTable;
+ const Real value;
+};
+
+Real GreensFunction3DRadInf::ip_theta_F(Real theta, p_theta_params* params)
+{
+ const GreensFunction3DRadInf* const gf(params->gf);
+ const Real r(params->r);
+ const Real t(params->t);
+ GreensFunction3DRadInf::RealVector const& RnTable(params->RnTable);
+ const Real value(params->value);
+
+ return gf->ip_theta_table(theta, r, t, RnTable) - value;
+}
+
+
+Real GreensFunction3DRadInf::drawTheta(Real rnd, Real r, Real t) const
+{
+ Real theta;
+
+ const Real sigma(this->getSigma());
+
+ // input parameter range checks.
+ if (!(rnd < 1.0 && rnd >= 0.0))
+ {
+ throw std::invalid_argument((boost::format("rnd < 1.0 && rnd >= 0.0 : rnd=%.16g") % rnd).str());
+ }
+
+ if (!(r >= sigma))
+ {
+ throw std::invalid_argument((boost::format("r >= sigma : r=%.16g, sigma=%.16g") % r % sigma).str());
+ }
+
+ if (!(r0 >= sigma))
+ {
+ throw std::invalid_argument((boost::format("r0 >= sigma : r0=%.16g, sigma=%.16g") % r0 % sigma).str());
+ }
+
+ if (!(t >= 0.0))
+ {
+ throw std::invalid_argument((boost::format("t >= 0.0 : t=%.16g") % t).str());
+ }
+
+
+ // t == 0 means no move.
+ if(t == 0.0)
+ {
+ return 0.0;
+ }
+
+ RealVector RnTable;
+ makeRnTable(RnTable, r, t);
+
+
+ // root finding with the integrand form.
+
+ const Real ip_theta_pi(ip_theta_table(M_PI, r, t, RnTable));
+
+ p_theta_params params = { this, r, t, RnTable, rnd * ip_theta_pi };
+
+ gsl_function F =
+ {
+ reinterpret_cast<double (*)(double, void*)>(&ip_theta_F),
+ ¶ms
+ };
+
+ const gsl_root_fsolver_type* solverType(gsl_root_fsolver_brent);
+ gsl_root_fsolver* solver(gsl_root_fsolver_alloc(solverType));
+ gsl_root_fsolver_set(solver, &F, 0.0, M_PI);
+
+ const unsigned int maxIter(100);
+
+ unsigned int i(0);
+ for (;;)
+ {
+ gsl_root_fsolver_iterate(solver);
+ const Real low(gsl_root_fsolver_x_lower(solver));
+ const Real high(gsl_root_fsolver_x_upper(solver));
+ const int status(gsl_root_test_interval(low, high, 1e-15,
+ THETA_TOLERANCE));
+
+ if(status == GSL_CONTINUE)
+ {
+ if(i >= maxIter)
+ {
+ gsl_root_fsolver_free(solver);
+ throw std::runtime_error("drawTheta: failed to converge");
+ }
+ }
+ else
+ {
+ break;
+ }
+
+ ++i;
+ }
+
+ theta = gsl_root_fsolver_root(solver);
+ gsl_root_fsolver_free(solver);
+
+ return theta;
+}
+
+
+
+//
+// debug
+//
+
+std::string GreensFunction3DRadInf::dump() const
+{
+ std::ostringstream ss;
+ ss << "D = " << this->getD() << ", sigma = " << this->getSigma() <<
+ ", kf = " << this->getkf() <<
+ ", kD = " << this->getkD() <<
+ ", alpha = " << this->getalpha() << std::endl;
+ return ss.str();
+}
+
+Logger& GreensFunction3DRadInf::log_(
+ Logger::get_logger("GreensFunction3DRadInf"));
+
diff --git a/ecell4/egfrd/GreensFunction3DRadInf.hpp b/ecell4/egfrd/GreensFunction3DRadInf.hpp
new file mode 100644
index 0000000..d2e5eee
--- /dev/null
+++ b/ecell4/egfrd/GreensFunction3DRadInf.hpp
@@ -0,0 +1,122 @@
+#if !defined(__PLAINPAIRGREENSFUNCTION)
+#define __PLAINPAIRGREENSFUNCTION
+
+#include <cmath>
+#include <vector>
+#include <gsl/gsl_integration.h>
+
+#include "Logger.hpp"
+#include "PairGreensFunction.hpp"
+
+class GreensFunction3DRadInf: public PairGreensFunction
+{
+public:
+ typedef std::vector<Real> RealVector;
+
+private:
+ struct p_corr_R_params;
+ struct p_theta_params;
+
+private:
+ // Error tolerance used by default.
+ static const Real TOLERANCE;
+
+ // SphericalBesselGenerator's accuracy, used by some
+ // theta-related calculations.
+ static const Real THETA_TOLERANCE;
+
+ static const Real MIN_T;
+
+ static const unsigned int MAX_ORDER = 70;
+
+ static const Real H;
+
+
+
+public:
+
+ GreensFunction3DRadInf(Real D, Real kf, Real r0, Real Sigma);
+
+ virtual ~GreensFunction3DRadInf();
+
+ virtual Real drawTime(Real rnd) const;
+
+ virtual Real drawR(Real rnd, Real t) const;
+
+ virtual Real drawTheta(Real rnd, Real r, Real t) const;
+
+ Real getkD() const
+ {
+ return this->kD;
+ }
+
+ Real getalpha() const
+ {
+ return this->alpha;
+ }
+
+ Real p_reaction(Real t) const;
+ Real p_survival(Real t) const;
+ Real p_int_r(Real r, Real t) const;
+
+ Real p_theta(Real theta, Real r, Real time) const;
+
+ Real ip_theta(Real theta, Real r, Real time) const;
+
+ Real p_free(Real theta, Real r, Real t) const;
+
+ Real ip_free(Real theta, Real r, Real t) const;
+
+ Real p_corr(Real theta, Real r, Real t) const;
+
+ Real ip_corr(Real theta, Real r, Real t) const;
+
+ std::string dump() const;
+
+ const char* getName() const
+ {
+ return "GreensFunction3DRadInf";
+ }
+
+private:
+ Real p_corr_R(Real alpha, unsigned int n, Real r, Real t) const;
+
+
+ Real p_corr_n(unsigned int n, RealVector const& RnTable, RealVector const& lgndTable) const;
+
+ Real ip_corr_n(unsigned int n, RealVector const& RnTable, RealVector const& lgndTable) const;
+
+ Real p_corr_table(Real theta, Real r, Real t, RealVector const& RnTable) const;
+
+ Real
+ ip_corr_table(Real theta, Real r, Real t, RealVector const& RnTable) const;
+
+ Real p_theta_table(Real r, Real theta, Real time,
+ RealVector const& RnTable) const;
+
+ Real ip_theta_table(Real r, Real theta, Real time,
+ RealVector const& RnTable) const;
+
+ Real
+ p_corr_table(Real theta, Real r, Real t, RealVector const& RnTable);
+
+
+ void makeRnTable(RealVector& RnTable, Real r, Real t) const;
+
+ Real Rn(unsigned int order, Real r, Real t,
+ gsl_integration_workspace* workspace, Real tol) const;
+
+private:
+ static Real p_corr_R_F(Real, p_corr_R_params*);
+ static Real ip_theta_F(Real theta, p_theta_params* params);
+
+private:
+ const Real kD;
+ const Real alpha;
+
+ static Logger& log_;
+};
+
+
+
+#endif // __PLAINPAIRGREENSFUNCTION
diff --git a/ecell4/egfrd/GreensFunction3DSym.cpp b/ecell4/egfrd/GreensFunction3DSym.cpp
new file mode 100644
index 0000000..3c65ef3
--- /dev/null
+++ b/ecell4/egfrd/GreensFunction3DSym.cpp
@@ -0,0 +1,152 @@
+#ifdef HAVE_CONFIG_H
+#include <ecell4/egfrd/config.h>
+#endif /* HAVE_CONFIG_H */
+
+#include <stdexcept>
+#include <sstream>
+
+#include <boost/format.hpp>
+
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_roots.h>
+
+#include "GreensFunction3DSym.hpp"
+#include "freeFunctions.hpp"
+
+
+const Real GreensFunction3DSym::TOLERANCE = 1e-8;
+const Real GreensFunction3DSym::H = 6;
+
+Real GreensFunction3DSym::p_r(Real r, Real t) const
+{
+ const Real D( getD() );
+ const Real Dt( D * t );
+ const Real Dt4( 4.0 * Dt );
+
+ const Real Dt4Pi( Dt4 * M_PI );
+
+ const Real term1( 1.0 / sqrt( gsl_pow_3( Dt4Pi ) ) );
+ const Real term2( exp( - r * r / Dt4 ) );
+
+ const Real jacobian( 4.0 * r * r * M_PI );
+
+ return jacobian * term1 * term2;
+}
+
+Real GreensFunction3DSym::ip_r(Real r, Real t) const
+{
+ const Real D( getD() );
+ const Real Dt( D * t );
+ const Real sqrtDt_r( 1.0 / sqrt( D * t ) );
+ const Real sqrtPi_r( 1.0 / sqrt( M_PI ) );
+
+ const Real term1( exp( - r * r / ( 4.0 * Dt ) ) *
+ r * sqrtDt_r * sqrtPi_r );
+ const Real term2( erf( r * 0.5 * sqrtDt_r ) );
+
+ return term2 - term1;
+}
+
+struct ip_r_params
+{
+ GreensFunction3DSym const* const gf;
+ const Real t;
+ const Real value;
+};
+
+
+static Real ip_r_F(Real r, ip_r_params const* params)
+{
+ const GreensFunction3DSym* const gf( params->gf );
+ const Real t( params->t );
+ const Real value( params->value );
+
+ return gf->ip_r( r, t ) - value;
+}
+
+
+Real GreensFunction3DSym::drawR(Real rnd, Real t) const
+{
+ // input parameter range checks.
+ if ( !(rnd <= 1.0 && rnd >= 0.0 ) )
+ {
+ throw std::invalid_argument( ( boost::format( "rnd <= 1.0 && rnd >= 0.0 : rnd=%.16g" ) % rnd ).str() );
+ }
+
+ if ( !(t >= 0.0 ) )
+ {
+ throw std::invalid_argument( ( boost::format( "t >= 0.0 : t=%.16g" ) % t ).str() );
+ }
+
+
+ // t == 0 or D == 0 means no move.
+ if( t == 0.0 || getD() == 0.0 )
+ {
+ return 0.0;
+ }
+
+ ip_r_params params = { this, t, rnd };
+
+ gsl_function F =
+ {
+ reinterpret_cast<double (*)(double, void*)>( &ip_r_F ),
+ ¶ms
+ };
+
+ Real max_r( 4.0 * sqrt( 6.0 * getD() * t ) );
+
+ while( GSL_FN_EVAL( &F, max_r ) < 0.0 )
+ {
+ max_r *= 10;
+ }
+
+ const gsl_root_fsolver_type* solverType( gsl_root_fsolver_brent );
+ gsl_root_fsolver* solver( gsl_root_fsolver_alloc( solverType ) );
+ gsl_root_fsolver_set( solver, &F, 0.0, max_r );
+
+ const unsigned int maxIter( 100 );
+
+ unsigned int i( 0 );
+ while( true )
+ {
+ gsl_root_fsolver_iterate( solver );
+ const Real low( gsl_root_fsolver_x_lower( solver ) );
+ const Real high( gsl_root_fsolver_x_upper( solver ) );
+ const int status( gsl_root_test_interval( low, high, 1e-15,
+ this->TOLERANCE ) );
+
+ if( status == GSL_CONTINUE )
+ {
+ if( i >= maxIter )
+ {
+ gsl_root_fsolver_free( solver );
+ throw std::runtime_error("drawR: failed to converge");
+ }
+ }
+ else
+ {
+ break;
+ }
+
+ ++i;
+ }
+
+ //printf("%d\n", i );
+
+ const Real r( gsl_root_fsolver_root( solver ) );
+ gsl_root_fsolver_free( solver );
+
+ return r;
+}
+
+
+std::string GreensFunction3DSym::dump() const
+{
+ std::ostringstream ss;
+ ss << "D = " << this->getD() << std::endl;
+ return ss.str();
+}
+
+
+Logger& GreensFunction3DSym::log_(
+ Logger::get_logger("GreensFunction3DSym"));
diff --git a/ecell4/egfrd/GreensFunction3DSym.hpp b/ecell4/egfrd/GreensFunction3DSym.hpp
new file mode 100644
index 0000000..a847831
--- /dev/null
+++ b/ecell4/egfrd/GreensFunction3DSym.hpp
@@ -0,0 +1,66 @@
+#if !defined( __FREEGREENSFUNCTION )
+#define __FREEGREENSFUNCTION
+
+#include "compat.h"
+
+#include <gsl/gsl_integration.h>
+
+#include "Logger.hpp"
+#include "GreensFunction.hpp"
+
+/**
+ Green's Function for a free diffusion particle.
+*/
+
+class GreensFunction3DSym
+ :
+ public GreensFunction
+{
+
+private:
+
+ static const Real TOLERANCE;
+ static const Real H;
+
+public:
+
+ GreensFunction3DSym( const Real D )
+ :
+ GreensFunction( D )
+ {
+ ; // do nothing
+ }
+
+
+ ~GreensFunction3DSym()
+ {
+ ; // do nothing
+ }
+
+ Real drawTime( const Real ) const
+ {
+ return INFINITY;
+ }
+
+ Real drawR( const Real rnd, const Real t ) const;
+
+ Real p_r( const Real r, const Real t ) const;
+
+ Real ip_r( const Real r, const Real t ) const;
+
+
+ std::string dump() const;
+
+ const char* getName() const
+ {
+ return "GreensFunction3DSym";
+ }
+
+private:
+
+ static Logger& log_;
+};
+
+
+
+#endif // __FREEGREENSFUNCTION
diff --git a/ecell4/egfrd/HalfOrderBesselGenerator.hpp b/ecell4/egfrd/HalfOrderBesselGenerator.hpp
new file mode 100644
index 0000000..eb3f81a
--- /dev/null
+++ b/ecell4/egfrd/HalfOrderBesselGenerator.hpp
@@ -0,0 +1,134 @@
+#ifndef __HALFORDERBESSEL_HPP
+#define __HALFORDERBESSEL_HPP
+
+#include <cmath>
+
+#include <gsl/gsl_sf_bessel.h>
+
+
+
+class HalfOrderBesselGenerator
+{
+
+public:
+
+ HalfOrderBesselGenerator( const double x, const int nmin, const int nmax )
+ :
+ nmin( nmin ),
+ x( x ),
+ x_r( 1.0 / x ),
+ factor( sqrt( ( x + x ) * M_1_PI ) ),
+ factorp( sqrt( 1.0 / ( 2.0 * M_PI * x ) ) ),
+ // sjArray( nmax-nmin+2 ),
+ // syArray( nmax-nmin+2 ),
+ sjArray( new double[nmax-nmin+2] ),
+ syArray( new double[nmax-nmin+2] )
+ {
+ // nmax+1 order is needed to calculate derivatives.
+ fillArrays( nmin, nmax+1 );
+ }
+
+ ~HalfOrderBesselGenerator()
+ {
+ delete[] syArray;
+ delete[] sjArray;
+ }
+
+ const double j( const int order ) const
+ {
+ return sjArray[order-nmin] * factor;
+ }
+
+ const double y( const int order ) const
+ {
+ return syArray[order-nmin] * factor;
+ }
+
+ const double jp( const int order ) const
+ {
+ const int index( order-nmin );
+ const double sj( sjArray[index] );
+ const double sjp( ( order * x_r ) * sj - sjArray[index+1] );
+
+ return sjp * factor + sj * factorp;
+ }
+
+ const double yp( const int order ) const
+ {
+ const int index( order-nmin );
+ const double sy( syArray[index] );
+ const double syp( ( order * x_r ) * sy - syArray[index+1] );
+
+ return syp * factor + sy * factorp;
+ }
+
+
+ static const double j_0( const double x )
+ {
+ return std::sin( x ) / x;
+ }
+
+ static const double y_0( const double x )
+ {
+ return - std::cos( x ) / x;
+ }
+
+
+private:
+
+ void fillArrays( const int nmin, const int nmax )
+ {
+ {
+ double jp1( gsl_sf_bessel_jl( nmax+1, x ) );
+ double j( gsl_sf_bessel_jl( nmax, x ) );
+
+ sjArray[nmax-nmin] = j;
+
+ for( int n( nmax ); n >= nmin+1; --n )
+ {
+ const double jm1( ( n + n + 1.0 ) * x_r * j - jp1 );
+
+ sjArray[n-nmin-1] = jm1;
+ jp1 = j;
+ j = jm1;
+ }
+ }
+
+ {
+ double y( gsl_sf_bessel_yl( nmin+1, x ) );
+ double ym1( gsl_sf_bessel_yl( nmin, x ) );
+ syArray[0] = ym1;
+ syArray[1] = y;
+
+
+ for( int n( nmin+1 ); n < nmax; ++n )
+ {
+ const double yp1( ( n + n + 1.0 ) * x_r * y - ym1 );
+
+ syArray[n-nmin+1] = yp1;
+ ym1 = y;
+ y = yp1;
+ }
+ }
+ }
+
+
+private:
+
+ const int nmin;
+ const double x;
+ const double x_r;
+ const double factor;
+ const double factorp;
+
+ // DoubleVector sjArray;
+ // DoubleVector syArray;
+ double* const sjArray;
+ double* const syArray;
+
+
+};
+
+
+
+#endif /* __HALFORDERBESSEL_HPP */
diff --git a/ecell4/egfrd/INSTALL b/ecell4/egfrd/INSTALL
new file mode 100644
index 0000000..5123dbb
--- /dev/null
+++ b/ecell4/egfrd/INSTALL
@@ -0,0 +1,75 @@
+
+:author: Koichi Takahashi
+
+
+Prerequisites
+-------------------------
+
+1. autotools
+ (autoconf (>=2.50), automake (>=1.11) libtool (>=2.2.6))
+2. GNU Scientific Library (GSL) 1.11 or later.
+3. Boost C++ Library 1.37 or later.
+4. Python 2.4 or later.
+5. Scipy 0.5 or later, Numpy 1.0 or later.
+
+If you use Fedora or any other RedHat lines of linux, check
+if the following RPM packages are installed:
+
+gsl, gsl-devel, numpy, scipy, boost, and boost-devel.
+
+On Ubuntu Linux and some other Debian families, install the following:
+
+gsl-bin libgsl0-dev libboost-dev libboost-date-time-dev libboost-python-dev libboost-regex-dev libboost-test-dev python-scipy.
+
+
+In addition to above, optionally,
+6. python-matplotlib if you want to use the plotting scripts in the samples.
+7. Pychecker if you want to run 'make pycheck'.
+
+
+A note on GSL version
+++++++++++++++++++++++++++++++
+
+GSL version 1.10 and earlier has at least two bugs that can cause abnormal
+program exits when a Bessel function is evaluated with specific argument
+values. These bugs can hit stability of this software.
+For this reason, use of GSL version 1.11 or later is recommended.
+
+
+Building this package
+-------------------------
+
+1. ./configure
+2. make
+
+
+If you cannot find the configure script, or the build process
+fails to complete even if you have set up the environment correctly,
+try
+
+./autogen.sh
+
+to remake the entire build mechanism.
+
+
+Testing
+-------------------
+
+% make check
+
+checks if some of the core components of the software run correctly.
+
+In addition, you may run
+
+% make pycheck
+
+if you want to be super-strict about Python syntax.
+
+
+Running
+-------------------------
+
+Go to subdirectories under doc/samples, and read README files
+included about how to run the samples.
+
+
diff --git a/ecell4/egfrd/Logger.cpp b/ecell4/egfrd/Logger.cpp
new file mode 100644
index 0000000..9f31376
--- /dev/null
+++ b/ecell4/egfrd/Logger.cpp
@@ -0,0 +1,270 @@
+#ifdef HAVE_CONFIG_H
+#include <ecell4/egfrd/config.h>
+#endif /* HAVE_CONFIG_H */
+
+#include <string>
+#include <map>
+#include <utility>
+#include <cstdio>
+#include <functional>
+// #include <boost/regex.hpp> //XXX: disabled pattern matching once
+#include <boost/foreach.hpp>
+#include <boost/type_traits/remove_pointer.hpp>
+#include <boost/ptr_container/ptr_map.hpp>
+#include <boost/bind.hpp>
+#include "Logger.hpp"
+#include "ConsoleAppender.hpp"
+#include "utils/pair.hpp"
+#include "utils/fun_composition.hpp"
+#include "utils/fun_wrappers.hpp"
+#include "utils/assoc_container_traits.hpp"
+#include "utils/map_adapter.hpp"
+
+struct map_adapter_handler
+{
+ template<typename Tadapter_>
+ void destroy(Tadapter_& cntnr) const
+ {
+ std::for_each(boost::begin(cntnr), boost::end(cntnr),
+ compose_unary(
+ delete_ptr<
+ typename boost::remove_pointer<
+ typename Tadapter_::mapped_type>::type>(),
+ select_second<typename Tadapter_::value_type>()));
+ }
+
+ template<typename Tadapter_, typename Titer_>
+ void insert(Titer_ const& b, Titer_ const& e) const
+ {
+ }
+
+ template<typename Tadapter_>
+ void insert(typename Tadapter_::value_type const& val) const
+ {
+ }
+};
+
+class LoggerManagerRegistry
+{
+private:
+ typedef std::pair<std::string, boost::shared_ptr<LoggerManager> > entry_type;
+ // typedef std::pair<boost::regex, boost::shared_ptr<LoggerManager> > entry_type;
+public:
+ void register_logger_manager(char const* logger_name_pattern,
+ boost::shared_ptr<LoggerManager> const& manager)
+ {
+ managers_.push_back(entry_type(entry_type::first_type(logger_name_pattern), manager));
+ }
+
+ boost::shared_ptr<LoggerManager>
+ get_default_logger_manager() const
+ {
+ return default_manager_;
+ }
+
+ boost::shared_ptr<LoggerManager>
+ operator()(char const* logger_name) const
+ {
+ if (!logger_name)
+ return default_manager_;
+
+
+ // char const* const logger_name_end(logger_name + std::strlen(logger_name));
+ // BOOST_FOREACH (entry_type const& i, managers_)
+ // {
+ // if (boost::regex_match(logger_name, logger_name_end, i.first))
+ // return i.second;
+ // }
+ const std::string _logger_name(logger_name);
+ BOOST_FOREACH (entry_type const& i, managers_)
+ {
+ if (_logger_name == i.first)
+ return i.second;
+ }
+
+ BOOST_ASSERT(default_manager_.get());
+ return default_manager_;
+ }
+
+ LoggerManagerRegistry(): default_manager_(new LoggerManager("default"))
+ {
+ default_manager_->add_appender(boost::shared_ptr<LogAppender>(new ConsoleAppender()));
+ }
+
+private:
+ std::vector<entry_type> managers_;
+ boost::shared_ptr<LoggerManager> default_manager_;
+};
+
+static LoggerManagerRegistry registry;
+
+void LoggerManager::register_logger_manager(
+ char const* logger_name_pattern,
+ boost::shared_ptr<LoggerManager> const& manager)
+{
+ registry.register_logger_manager(logger_name_pattern, manager);
+}
+
+boost::shared_ptr<LoggerManager> LoggerManager::get_logger_manager(char const* logger_name_pattern)
+{
+ return registry(logger_name_pattern);
+}
+
+boost::shared_ptr<LoggerManager> Logger::manager() const
+{
+ const_cast<Logger*>(this)->ensure_initialized();
+ return manager_;
+}
+
+Logger& Logger::get_logger(char const* name)
+{
+ typedef map_adapter<std::map<std::string, Logger*>, map_adapter_handler> loggers_type;
+ static map_adapter_handler hdlr;
+ static loggers_type loggers(hdlr);
+ std::string _name(name);
+ std::pair<loggers_type::iterator, bool> i(
+ #if (_MSC_VER >= 1600)
+ loggers.insert(loggers_type::value_type(_name, nullptr)));
+ #else
+ loggers.insert(loggers_type::value_type(_name, 0)));
+ #endif
+ if (i.second)
+ {
+ Logger* const log(new Logger(registry, name));
+ (*i.first).second = log;
+ }
+
+ return *(*i.first).second;
+}
+
+
+char const* Logger::stringize_error_level(enum level lv)
+{
+ static char const* names[] = {
+ "OFF",
+ "DEBUG",
+ "INFO",
+ "WARN",
+ "ERROR",
+ "FATAL"
+ };
+ return static_cast<std::size_t>(lv) >= sizeof(names) / sizeof(*names) ? "???": names[lv];
+}
+
+Logger::~Logger()
+{
+}
+
+struct invoke_appender
+{
+ void operator()(boost::shared_ptr<LogAppender> const& appender) const
+ {
+ const char* chunks[] = { formatted_msg, NULL };
+ (*appender)(level, name, chunks);
+ }
+
+ invoke_appender(enum Logger::level level,
+ const char* name, char const *formatted_msg)
+ : level(level), name(name),
+ formatted_msg(formatted_msg) {}
+
+ enum Logger::level const level;
+ char const* const name;
+ char const* const formatted_msg;
+};
+
+void Logger::level(enum Logger::level level)
+{
+ ensure_initialized();
+ level_ = level;
+}
+
+enum Logger::level Logger::level() const
+{
+ const_cast<Logger*>(this)->ensure_initialized();
+ return level_;
+}
+
+void Logger::logv(enum level lv, char const* format, va_list ap)
+{
+ ensure_initialized();
+
+ if (lv < level_)
+ return;
+
+ char buf[1024];
+ vsnprintf(buf, sizeof(buf), format, ap);
+
+ std::for_each(appenders_.begin(), appenders_.end(),
+ invoke_appender(lv, name_.c_str(),
+ buf));
+}
+
+void Logger::flush()
+{
+ ensure_initialized();
+
+ std::for_each(appenders_.begin(), appenders_.end(),
+ boost::bind(&LogAppender::flush, _1));
+}
+
+inline void Logger::ensure_initialized()
+{
+ if (!manager_)
+ {
+ boost::shared_ptr<LoggerManager> manager(registry_(name_.c_str()));
+ std::vector<boost::shared_ptr<LogAppender> > appenders(manager->appenders());
+ level_ = manager->level();
+ appenders_.swap(appenders);
+ manager->manage(this);
+ manager_ = manager;
+ }
+}
+
+Logger::Logger(LoggerManagerRegistry const& registry, char const* name)
+ : registry_(registry), name_(name), manager_() {}
+
+void LoggerManager::level(enum Logger::level level)
+{
+ /* synchronized { */
+ level_ = level;
+ std::for_each(managed_loggers_.begin(), managed_loggers_.end(),
+ boost::bind(&Logger::level, _1, level));
+ /* } */
+}
+
+enum Logger::level LoggerManager::level() const
+{
+ return level_;
+}
+
+char const* LoggerManager::name() const
+{
+ return name_.c_str();
+}
+
+std::vector<boost::shared_ptr<LogAppender> > const& LoggerManager::appenders() const
+{
+ /* synchronized() { */
+ return appenders_;
+ /* } */
+}
+
+void LoggerManager::add_appender(boost::shared_ptr<LogAppender> const& appender)
+{
+ /* synchronized() { */
+ appenders_.push_back(appender);
+ /* } */
+}
+
+LoggerManager::LoggerManager(char const* name, enum Logger::level level)
+ : name_(name), level_(level) {}
+
+void LoggerManager::manage(Logger* logger)
+{
+ /* synchronized { */
+ managed_loggers_.insert(logger);
+ /* }} */
+}
+
+LogAppender::~LogAppender() {}
diff --git a/ecell4/egfrd/Logger.hpp b/ecell4/egfrd/Logger.hpp
new file mode 100644
index 0000000..25d0490
--- /dev/null
+++ b/ecell4/egfrd/Logger.hpp
@@ -0,0 +1,163 @@
+#ifndef LOGGER_HPP
+#define LOGGER_HPP
+
+#include <cstdarg>
+#include <set>
+#include <vector>
+#include <string>
+#include <boost/noncopyable.hpp>
+#include <boost/shared_ptr.hpp>
+
+class LogAppender;
+class LoggerManager;
+class LoggerManagerRegistry;
+
+class Logger: boost::noncopyable
+{
+public:
+ enum level
+ {
+ L_OFF = 0,
+ L_DEBUG = 1,
+ L_INFO = 2,
+ L_WARNING = 3,
+ L_ERROR = 4,
+ L_FATAL = 5
+ };
+
+public:
+ ~Logger();
+
+ LoggerManager const& logging_manager() const;
+
+ void level(enum level level);
+
+ enum level level() const;
+
+ char const* name() const
+ {
+ return name_.c_str();
+ }
+
+ boost::shared_ptr<LoggerManager> manager() const;
+
+ void debug(char const* format, ...)
+ {
+ va_list ap;
+ va_start(ap, format);
+ logv(L_DEBUG, format, ap);
+ va_end(ap);
+ }
+
+ void info(char const* format, ...)
+ {
+ va_list ap;
+ va_start(ap, format);
+ logv(L_INFO, format, ap);
+ va_end(ap);
+ }
+
+ void warn(char const* format, ...)
+ {
+ va_list ap;
+ va_start(ap, format);
+ logv(L_WARNING, format, ap);
+ va_end(ap);
+ }
+
+ void error(char const* format, ...)
+ {
+ va_list ap;
+ va_start(ap, format);
+ logv(L_ERROR, format, ap);
+ va_end(ap);
+ }
+
+ void fatal(char const* format, ...)
+ {
+ va_list ap;
+ va_start(ap, format);
+ logv(L_FATAL, format, ap);
+ va_end(ap);
+ }
+
+ void log(enum level lv, char const* format, ...)
+ {
+ va_list ap;
+ va_start(ap, format);
+ logv(lv, format, ap);
+ va_end(ap);
+ }
+
+ void logv(enum level lv, char const* format, va_list ap);
+
+ void flush();
+
+ Logger(LoggerManagerRegistry const& registry, char const* name);
+
+ static Logger& get_logger(char const* name);
+
+ static char const* stringize_error_level(enum level lv);
+
+private:
+ void ensure_initialized();
+
+protected:
+ LoggerManagerRegistry const& registry_;
+ std::string const name_;
+ boost::shared_ptr<LoggerManager> manager_;
+ enum level level_;
+ std::vector<boost::shared_ptr<LogAppender> > appenders_;
+};
+
+class LoggerManager: boost::noncopyable
+{
+ friend class Logger;
+
+public:
+ void level(enum Logger::level level);
+
+ enum Logger::level level() const;
+
+ char const* name() const;
+
+ std::vector<boost::shared_ptr<LogAppender> > const& appenders() const;
+
+ void add_appender(boost::shared_ptr<LogAppender> const& appender);
+
+ LoggerManager(char const* name, enum Logger::level level = Logger::L_WARNING);
+ // LoggerManager(char const* name, enum Logger::level level = Logger::L_INFO);
+
+ static void register_logger_manager(char const* logger_name_pattern,
+ boost::shared_ptr<LoggerManager> const& manager);
+
+ static boost::shared_ptr<LoggerManager> get_logger_manager(char const* logger_name_patern);
+
+protected:
+ void manage(Logger* logger);
+
+protected:
+ std::string const name_;
+ enum Logger::level level_;
+ std::set<Logger*> managed_loggers_;
+ std::vector<boost::shared_ptr<LogAppender> > appenders_;
+};
+
+class LogAppender
+{
+public:
+ virtual ~LogAppender();
+
+ virtual void flush() = 0;
+
+ virtual void operator()(enum Logger::level lv,
+ char const* name, char const** chunks) = 0;
+};
+
+#define LOG_DEBUG(args) if (log_.level() == Logger::L_DEBUG) log_.debug args
+
+#define LOG_INFO(args) if (enum Logger::level const level = log_.level()) if (level <= Logger::L_INFO) log_.info args
+
+#define LOG_WARNING(args) if (enum Logger::level const level = log_.level()) if (level <= Logger::L_WARNING) log_.warn args
+
+#endif /* LOGGER_HPP */
diff --git a/ecell4/egfrd/MatrixSpace.hpp b/ecell4/egfrd/MatrixSpace.hpp
new file mode 100644
index 0000000..843e001
--- /dev/null
+++ b/ecell4/egfrd/MatrixSpace.hpp
@@ -0,0 +1,642 @@
+#ifndef MATRIX_SPACE_HPP
+#define MATRIX_SPACE_HPP
+
+// #include <iostream>
+#include <cstddef>
+#include <algorithm>
+#include <iterator>
+#include <boost/multi_array.hpp>
+#include <boost/mpl/if.hpp>
+#include <boost/range/size.hpp>
+#include <boost/range/difference_type.hpp>
+// #include "Vector3.hpp"
+#include "Real3Type.hpp"
+#include "sorted_list.hpp"
+#include "utils/array_helper.hpp"
+#include "utils/get_default_impl.hpp"
+#include "utils/range.hpp"
+#include "utils/unassignable_adapter.hpp"
+#include "utils/get_default_impl.hpp"
+
+#include <ecell4/core/Integer3.hpp>
+
+
+template<typename Tobj_, typename Tkey_,
+ template<typename, typename> class MFget_mapper_ =
+ get_default_impl::std::template map>
+class MatrixSpace
+{
+public:
+ typedef typename Tobj_::length_type length_type;
+ typedef Tkey_ key_type;
+ typedef Tobj_ mapped_type;
+ // typedef Vector3<length_type> position_type;
+ typedef ecell4::Real3 position_type;
+
+ // typedef std::pair<const key_type, mapped_type> value_type;
+ // typedef unassignable_adapter<value_type, get_default_impl::std::vector> all_values_type;
+ typedef std::pair<key_type, mapped_type> value_type;
+ typedef std::vector<value_type> all_values_type;
+
+ typedef sorted_list<std::vector<typename all_values_type::size_type> > cell_type;
+ typedef boost::multi_array<cell_type, 3> matrix_type;
+ typedef typename cell_type::size_type size_type;
+ typedef boost::array<typename matrix_type::size_type, 3>
+ cell_index_type;
+ typedef boost::array<typename matrix_type::difference_type, 3>
+ cell_offset_type;
+ typedef typename MFget_mapper_<key_type, typename all_values_type::size_type>::type
+ key_to_value_mapper_type;
+
+ typedef typename all_values_type::iterator iterator;
+ typedef typename all_values_type::const_iterator const_iterator;
+ typedef typename all_values_type::reference reference;
+ typedef typename all_values_type::const_reference const_reference;
+
+ typedef ecell4::Integer3 matrix_sizes_type;
+
+private:
+ typedef std::pair<key_type, mapped_type> nonconst_value_type;
+
+public:
+
+ MatrixSpace(
+ const position_type& edge_lengths, const matrix_sizes_type& matrix_sizes)
+ : edge_lengths_(edge_lengths),
+ cell_sizes_(
+ edge_lengths[0] / matrix_sizes[0],
+ edge_lengths[1] / matrix_sizes[1],
+ edge_lengths[2] / matrix_sizes[2]),
+ matrix_(
+ boost::extents[matrix_sizes[0]][matrix_sizes[1]][matrix_sizes[2]])
+ {
+ ;
+ }
+
+ // ~MatrixSpace()
+ // {
+ // std::cerr << "MatrixSpace was released." << std::endl; //XXX: DEBUG
+ // }
+
+ inline cell_index_type index(const position_type& pos,
+ double t = 1e-10) const
+ {
+ return array_gen<typename matrix_type::size_type>(
+ static_cast<typename matrix_type::size_type>(
+ pos[0] / cell_sizes_[0]) % matrix_.shape()[0],
+ static_cast<typename matrix_type::size_type>(
+ pos[1] / cell_sizes_[1]) % matrix_.shape()[1],
+ static_cast<typename matrix_type::size_type>(
+ pos[2] / cell_sizes_[2]) % matrix_.shape()[2]);
+ }
+
+ inline bool offset_index(
+ cell_index_type& i,
+ const cell_offset_type& o) const
+ {
+ if ((o[0] < 0 && static_cast<size_type>(-o[0]) > i[0])
+ || (matrix_.shape()[0] - o[0] <= i[0])
+ || (o[1] < 0 && static_cast<size_type>(-o[1]) > i[1])
+ || (matrix_.shape()[1] - o[1] <= i[1])
+ || (o[2] < 0 && static_cast<size_type>(-o[2]) > i[2])
+ || (matrix_.shape()[2] - o[2] <= i[2]))
+ {
+ return false;
+ }
+ i[0] += o[0];
+ i[1] += o[1];
+ i[2] += o[2];
+ return true;
+ }
+
+ inline position_type offset_index_cyclic(cell_index_type& i,
+ const cell_offset_type& o) const
+ {
+ position_type retval;
+
+ if (o[0] < 0 &&
+ static_cast<typename matrix_type::size_type>(-o[0]) > i[0])
+ {
+ typename matrix_type::size_type t(
+ (i[0] + matrix_.shape()[0] - (-o[0] % matrix_.shape()[0])) %
+ matrix_.shape()[0]);
+ retval[0]
+ = (o[0] -
+ static_cast<typename matrix_type::difference_type>
+ (t - i[0])) * cell_sizes_[0];
+ i[0] = t;
+ }
+ else if (matrix_.shape()[0] - o[0] <= i[0])
+ {
+ typename matrix_type::size_type t(
+ (i[0] + (o[0] % matrix_.shape()[0])) % matrix_.shape()[0]);
+ retval[0]
+ = (o[0] -
+ static_cast<typename matrix_type::difference_type>
+ (t - i[0])) * cell_sizes_[0];
+ i[0] = t;
+ }
+ else
+ {
+ i[0] += o[0];
+ }
+
+ if (o[1] < 0 &&
+ static_cast<typename matrix_type::size_type>(-o[1]) > i[1])
+ {
+ typename matrix_type::size_type t(
+ (i[1] + matrix_.shape()[1] - (-o[1] % matrix_.shape()[1])) %
+ matrix_.shape()[1]);
+ retval[1] = (o[1] - static_cast<typename matrix_type::difference_type>(t - i[1])) * cell_sizes_[1];
+ i[1] = t;
+ }
+ else if (matrix_.shape()[1] - o[1] <= i[1])
+ {
+ typename matrix_type::size_type t(
+ (i[1] + (o[1] % matrix_.shape()[1])) % matrix_.shape()[1]);
+ retval[1] = (o[1] - static_cast<typename matrix_type::difference_type>(t - i[1])) * cell_sizes_[1];
+ i[1] = t;
+ }
+ else
+ {
+ i[1] += o[1];
+ }
+
+ if (o[2] < 0 &&
+ static_cast<typename matrix_type::size_type>(-o[2]) > i[2])
+ {
+ typename matrix_type::size_type t(
+ (i[2] + matrix_.shape()[2] - (-o[2] % matrix_.shape()[2])) %
+ matrix_.shape()[2]);
+ retval[2] = (o[2] - static_cast<typename matrix_type::difference_type>(t - i[2])) * cell_sizes_[2];
+ i[2] = t;
+ }
+ else if (matrix_.shape()[2] - o[2] <= i[2])
+ {
+ typename matrix_type::size_type t(
+ (i[2] + (o[2] % matrix_.shape()[2])) % matrix_.shape()[2]);
+ retval[2] = (o[2] - static_cast<typename matrix_type::difference_type>(t - i[2])) * cell_sizes_[2];
+ i[2] = t;
+ }
+ else
+ {
+ i[2] += o[2];
+ }
+
+ return retval;
+ }
+
+ inline const cell_type& cell(const cell_index_type& i) const
+ {
+ return matrix_[i[0]][i[1]][i[2]];
+ }
+
+ inline cell_type& cell(const cell_index_type& i)
+ {
+ return matrix_[i[0]][i[1]][i[2]];
+ }
+
+ inline const position_type& edge_lengths() const
+ {
+ return edge_lengths_;
+ }
+
+ inline const position_type& cell_sizes() const
+ {
+ return cell_sizes_;
+ }
+
+ inline const matrix_sizes_type matrix_sizes() const
+ {
+ typedef typename matrix_type::size_type matrix_size_type;
+ const matrix_size_type* sizes(matrix_.shape());
+ return matrix_sizes_type(sizes[0], sizes[1], sizes[2]);
+ }
+
+ inline size_type size() const
+ {
+ return values_.size();
+ }
+
+ inline iterator update(iterator const& old_value, const value_type& v)
+ {
+ cell_type* new_cell(&cell(index(v.second.position())));
+ cell_type* old_cell(0);
+
+ if (old_value != values_.end())
+ old_cell = &cell(index((*old_value).second.position()));
+
+ if (new_cell == old_cell)
+ {
+ reinterpret_cast<nonconst_value_type&>(*old_value) = v;
+ return old_value;
+ }
+ else
+ {
+ typename all_values_type::size_type index(0);
+
+ if (old_cell)
+ {
+ reinterpret_cast<nonconst_value_type&>(*old_value) = v;
+
+ typename cell_type::iterator i(
+ old_cell->find(old_value - values_.begin()));
+ index = *i;
+ old_cell->erase(i);
+ new_cell->push(index);
+ }
+ else
+ {
+ index = values_.size();
+ values_.push_back(v);
+ new_cell->push(index);
+ rmap_[v.first] = index;
+ }
+ return values_.begin() + index;
+ }
+ }
+
+ inline std::pair<iterator, bool> update(const value_type& v)
+ {
+ cell_type* new_cell(&cell(index(v.second.position())));
+ typename all_values_type::iterator old_value(values_.end());
+ cell_type* old_cell(0);
+
+ {
+ typename key_to_value_mapper_type::const_iterator i(rmap_.find(v.first));
+ if (i != rmap_.end())
+ {
+ old_value = values_.begin() + (*i).second;
+ old_cell = &cell(index(old_value->second.position()));
+ }
+ }
+
+ if (new_cell == old_cell)
+ {
+ reinterpret_cast<nonconst_value_type&>(*old_value) = v;
+ return std::pair<iterator, bool>(old_value, false);
+ }
+ else
+ {
+ typename all_values_type::size_type index(0);
+
+ if (old_cell)
+ {
+ reinterpret_cast<nonconst_value_type&>(*old_value) = v;
+
+ typename cell_type::iterator i(
+ old_cell->find(old_value - values_.begin()));
+ index = *i;
+ old_cell->erase(i);
+ new_cell->push(index);
+ return std::pair<iterator, bool>(values_.begin() + index, false);
+ }
+ else
+ {
+ index = values_.size();
+ values_.push_back(v);
+ new_cell->push(index);
+ rmap_[v.first] = index;
+ return std::pair<iterator, bool>(values_.begin() + index, true);
+ }
+ }
+ }
+
+ inline bool erase(iterator const& i)
+ {
+ if (end() == i)
+ {
+ return false;
+ }
+
+ typename all_values_type::size_type const old_index(i - values_.begin());
+
+ bool is_succeeded(cell(index((*i).second.position())).erase(old_index));
+ BOOST_ASSERT(is_succeeded);
+ // BOOST_ASSERT(cell(index((*i).second.position())).erase(old_index));
+ rmap_.erase((*i).first);
+
+ typename all_values_type::size_type const last_index(values_.size() - 1);
+
+ if (old_index < last_index)
+ {
+ value_type const& last(values_[last_index]);
+ cell_type& old_c(cell(index(last.second.position())));
+ is_succeeded = old_c.erase(last_index);
+ BOOST_ASSERT(is_succeeded);
+ // BOOST_ASSERT(old_c.erase(last_index));
+ old_c.push(old_index);
+ rmap_[last.first] = old_index;
+ reinterpret_cast<nonconst_value_type&>(*i) = last;
+ }
+ values_.pop_back();
+ return true;
+ }
+
+ inline bool erase(const key_type& k)
+ {
+ typename key_to_value_mapper_type::const_iterator p(rmap_.find(k));
+ if (rmap_.end() == p)
+ {
+ return false;
+ }
+ return erase(values_.begin() + (*p).second);
+ }
+
+ inline void clear()
+ {
+ for (typename matrix_type::element *p(matrix_.data()),
+ *e(matrix_.data()
+ + matrix_.num_elements());
+ p != e; ++p)
+ {
+ (*p).clear();
+ }
+ rmap_.clear();
+ }
+
+ inline iterator begin()
+ {
+ return values_.begin();
+ }
+
+ inline const_iterator begin() const
+ {
+ return values_.begin();
+ }
+
+ inline iterator end()
+ {
+ return values_.end();
+ }
+
+ inline const_iterator end() const
+ {
+ return values_.end();
+ }
+
+ inline iterator find(const key_type& k)
+ {
+ typename key_to_value_mapper_type::const_iterator p(rmap_.find(k));
+ if (rmap_.end() == p)
+ {
+ return values_.end();
+ }
+ return values_.begin() + (*p).second;
+ }
+
+ inline const_iterator find(const key_type& k) const
+ {
+ typename key_to_value_mapper_type::const_iterator p(rmap_.find(k));
+ if (rmap_.end() == p)
+ {
+ return values_.end();
+ }
+ return values_.begin() + (*p).second;
+ }
+
+ template<typename Tcollect_>
+ inline void each_neighbor(const cell_index_type& idx, Tcollect_& collector)
+ {
+ if(size() == 0)
+ {
+ return;
+ }
+ each_neighbor_loops<Tcollect_>(idx, collector);
+ }
+
+ template<typename Tcollect_>
+ inline void each_neighbor(const cell_index_type& idx, Tcollect_ const& collector)
+ {
+ if(size() == 0)
+ {
+ return;
+ }
+ each_neighbor_loops<Tcollect_ const>(idx, collector);
+ }
+
+ template<typename Tcollect_>
+ inline void each_neighbor(const cell_index_type& idx, Tcollect_& collector) const
+ {
+ if(size() == 0)
+ {
+ return;
+ }
+ each_neighbor_loops<Tcollect_>(idx, collector);
+ }
+
+ template<typename Tcollect_>
+ inline void each_neighbor(const cell_index_type& idx, Tcollect_ const& collector) const
+ {
+ if(size() == 0)
+ {
+ return;
+ }
+ each_neighbor_loops<Tcollect_ const>(idx, collector);
+ }
+
+ template<typename Tcollect_>
+ inline void each_neighbor_cyclic(const cell_index_type& idx,
+ Tcollect_& collector)
+ {
+ if(size() == 0)
+ {
+ return;
+ }
+ each_neighbor_cyclic_loops<Tcollect_>(idx, collector);
+ }
+
+ template<typename Tcollect_>
+ inline void each_neighbor_cyclic(const cell_index_type& idx,
+ Tcollect_ const& collector)
+ {
+ if(size() == 0)
+ {
+ return;
+ }
+ each_neighbor_cyclic_loops<Tcollect_ const>(idx, collector);
+ }
+
+ template<typename Tcollect_>
+ inline void each_neighbor_cyclic(const cell_index_type& idx,
+ Tcollect_& collector) const
+ {
+ if(size() == 0)
+ {
+ return;
+ }
+ each_neighbor_cyclic_loops<Tcollect_>(idx, collector);
+ }
+
+ template<typename Tcollect_>
+ inline void each_neighbor_cyclic(const cell_index_type& idx,
+ Tcollect_ const& collector) const
+ {
+ if(size() == 0)
+ {
+ return;
+ }
+ each_neighbor_cyclic_loops<Tcollect_ const>(idx, collector);
+ }
+
+private:
+ std::pair<cell_type*, cell_type*> cell_range()
+ {
+ return std::make_pair(
+ matrix_.origin(), matrix_.origin() + matrix_.num_elements());
+ }
+
+ std::pair<cell_type const*, cell_type const*> cell_range() const
+ {
+ return std::make_pair(
+ matrix_.origin(), matrix_.origin() + matrix_.num_elements());
+ }
+
+ template<typename Tcollect_>
+ inline void each_neighbor_loops(const cell_index_type& idx,
+ Tcollect_& collector) const
+ {
+ cell_offset_type off;
+
+ for (off[2] = -1; off[2] <= 1; ++off[2])
+ {
+ for (off[1] = -1; off[1] <= 1; ++off[1])
+ {
+ for (off[0] = -1; off[0] <= 1; ++off[0])
+ {
+ cell_index_type _idx(idx);
+ if (!offset_index(_idx, off)) {
+ continue;
+ }
+ cell_type const& c(cell(_idx));
+ for (typename cell_type::const_iterator i(c.begin()); i != c.end(); ++i)
+ {
+ collector(values_.begin() + *i, position_type());
+ }
+ }
+ }
+ }
+ }
+
+ template<typename Tcollect_>
+ inline void each_neighbor_loops(const cell_index_type& idx,
+ Tcollect_& collector)
+ {
+ cell_offset_type off;
+
+ for (off[2] = -1; off[2] <= 1; ++off[2])
+ {
+ for (off[1] = -1; off[1] <= 1; ++off[1])
+ {
+ for (off[0] = -1; off[0] <= 1; ++off[0])
+ {
+ cell_index_type _idx(idx);
+ if (!offset_index(_idx, off)) {
+ continue;
+ }
+ cell_type const& c(cell(_idx));
+ for (typename cell_type::const_iterator i(c.begin()); i != c.end(); ++i)
+ {
+ collector(values_.begin() + *i, position_type());
+ }
+ }
+ }
+ }
+ }
+
+ template<typename Tcollect_>
+ inline void each_neighbor_cyclic_loops(const cell_index_type& idx,
+ Tcollect_& collector) const
+ {
+ cell_offset_type off;
+
+ for (off[2] = -1; off[2] <= 1; ++off[2])
+ {
+ for (off[1] = -1; off[1] <= 1; ++off[1])
+ {
+ for (off[0] = -1; off[0] <= 1; ++off[0])
+ {
+ cell_index_type _idx(idx);
+ const position_type pos_off(offset_index_cyclic(_idx, off));
+ cell_type const& c(cell(_idx));
+ for (typename cell_type::const_iterator i(c.begin()); i != c.end(); ++i)
+ {
+ collector(values_.begin() + *i, pos_off);
+ }
+ }
+ }
+ }
+ }
+
+ template<typename Tcollect_>
+ inline void each_neighbor_cyclic_loops(const cell_index_type& idx,
+ Tcollect_& collector)
+ {
+ cell_offset_type off;
+
+ for (off[2] = -1; off[2] <= 1; ++off[2])
+ {
+ for (off[1] = -1; off[1] <= 1; ++off[1])
+ {
+ for (off[0] = -1; off[0] <= 1; ++off[0])
+ {
+ cell_index_type _idx(idx);
+ const position_type pos_off(offset_index_cyclic(_idx, off));
+ cell_type const& c(cell(_idx));
+ for (typename cell_type::const_iterator i(c.begin()); i != c.end(); ++i)
+ {
+ collector(values_.begin() + *i, pos_off);
+ }
+ }
+ }
+ }
+ }
+
+private:
+ const position_type edge_lengths_;
+ const position_type cell_sizes_;
+ matrix_type matrix_;
+ key_to_value_mapper_type rmap_;
+ all_values_type values_;
+};
+
+template<typename T_, typename Tkey_,
+ template<typename, typename> class MFget_mapper_>
+static inline typename MatrixSpace<T_, Tkey_, MFget_mapper_>::cell_index_type&
+operator+=(
+ typename MatrixSpace<T_,
+ Tkey_, MFget_mapper_>::cell_index_type& lhs,
+ const typename MatrixSpace<T_,
+ Tkey_, MFget_mapper_>::cell_offset_type& rhs)
+{
+ rhs[0] += lhs[0];
+ rhs[1] += lhs[1];
+ rhs[2] += lhs[2];
+ return rhs;
+}
+
+template<typename T_, typename Tkey_,
+ template<typename, typename> class MFget_mapper_>
+struct is_sized<MatrixSpace<T_, Tkey_, MFget_mapper_> >: boost::mpl::true_ {};
+
+template<typename T_, typename Tkey_,
+ template<typename, typename> class MFget_mapper_>
+struct range_size<MatrixSpace<T_, Tkey_, MFget_mapper_> >
+{
+ typedef typename MatrixSpace<T_, Tkey_, MFget_mapper_>::size_type type;
+};
+
+template<typename T_, typename Tkey_,
+ template<typename, typename> class MFget_mapper_>
+struct range_size_retriever<MatrixSpace<T_, Tkey_, MFget_mapper_> >
+{
+ typedef MatrixSpace<T_, Tkey_, MFget_mapper_> argument_type;
+ typedef typename range_size<argument_type>::type result_type;
+
+ result_type operator()(argument_type const& range) const
+ {
+ return range.size();
+ }
+};
+
+#endif /* MATRIX_SPACE_HPP */
diff --git a/ecell4/egfrd/Multi.hpp b/ecell4/egfrd/Multi.hpp
new file mode 100644
index 0000000..3d6bba3
--- /dev/null
+++ b/ecell4/egfrd/Multi.hpp
@@ -0,0 +1,531 @@
+#ifndef MULTI_HPP
+#define MULTI_HPP
+
+#include <boost/scoped_ptr.hpp>
+#include <boost/foreach.hpp>
+#include <boost/algorithm/string/join.hpp>
+
+#include <ecell4/core/config.h>
+#include <ecell4/core/comparators.hpp>
+#ifdef WIN32_MSC
+#include <boost/container/map.hpp>
+#endif
+namespace win32_workaround
+{
+template <typename Key, typename T>
+struct get_mapper_mf
+{
+#ifdef WIN32_MSC
+ typedef boost::container::map<Key, T> type;
+#else
+ typedef std::map<Key, T> type;
+#endif
+};
+}
+
+#include "exceptions.hpp"
+#include "Domain.hpp"
+#include "ParticleContainer.hpp"
+#include "ParticleContainerBase.hpp"
+// #include "Sphere.hpp"
+// #include "BDSimulator.hpp"
+#include "BDPropagator.hpp"
+#include "Logger.hpp"
+#include "PairGreensFunction.hpp"
+#include "VolumeClearer.hpp"
+#include "utils/array_helper.hpp"
+#include "utils/range.hpp"
+
+template<typename Ttraits_>
+class MultiParticleContainer
+ : public Ttraits_::world_type::particle_container_type
+{
+public:
+
+ typedef typename Ttraits_::world_type::particle_container_type base_type;
+ typedef typename Ttraits_::world_type world_type;
+ typedef typename world_type::traits_type traits_type;
+ // typedef ParticleContainerUtils<traits_type> utils;
+
+ typedef typename traits_type::particle_type particle_type;
+ typedef typename traits_type::particle_shape_type particle_shape_type;
+ typedef typename traits_type::molecule_info_type molecule_info_type;
+ typedef typename traits_type::species_id_type species_id_type;
+ typedef typename traits_type::position_type position_type;
+ typedef typename traits_type::particle_id_type particle_id_type;
+ typedef typename traits_type::length_type length_type;
+ typedef typename traits_type::size_type size_type;
+ typedef typename traits_type::structure_id_type structure_id_type;
+ typedef typename traits_type::structure_type structure_type;
+ typedef typename traits_type::particle_id_pair particle_id_pair;
+ typedef typename traits_type::particle_id_pair_generator
+ particle_id_pair_generator;
+ typedef typename traits_type::particle_id_pair_and_distance
+ particle_id_pair_and_distance;
+ typedef typename traits_type::particle_id_pair_and_distance_list
+ particle_id_pair_and_distance_list;
+
+ typedef typename base_type::transaction_type transaction_type;
+
+ //XXX: typedef std::map<particle_id_type, particle_type> particle_map;
+ typedef typename win32_workaround::get_mapper_mf<particle_id_type, particle_type>::type particle_map;
+ typedef sized_iterator_range<typename particle_map::const_iterator> particle_id_pair_range;
+
+ typedef typename world_type::particle_container_type::time_type time_type;
+
+ virtual ~MultiParticleContainer() {}
+
+ virtual ecell4::Integer num_particles() const
+ {
+ return particles_.size();
+ }
+
+ // virtual size_type num_particles() const
+ // {
+ // return particles_.size();
+ // }
+
+ virtual const position_type& edge_lengths() const
+ {
+ return world_.edge_lengths();
+ }
+
+ // virtual molecule_info_type const& find_molecule_info(species_id_type const& id) const
+ // {
+ // return world_.find_molecule_info(id);
+ // }
+
+ // virtual molecule_info_type const& get_molecule_info(species_id_type const& id)
+ // {
+ // return world_.get_molecule_info(id);
+ // }
+
+ virtual molecule_info_type get_molecule_info(species_id_type const& id) const
+ {
+ return world_.get_molecule_info(id);
+ }
+
+ virtual boost::shared_ptr<structure_type> get_structure(structure_id_type const& id) const
+ {
+ return world_.get_structure(id);
+ }
+
+ virtual std::pair<particle_id_pair, bool> new_particle(species_id_type const& sid,
+ position_type const& pos)
+ {
+ std::pair<particle_id_pair, bool> const retval(world_.new_particle(sid, pos));
+ particles_.insert(retval.first);
+ return retval;
+ }
+
+ virtual bool update_particle(const particle_id_type& pid, const particle_type& p)
+ {
+ world_.update_particle(pid, p);
+ typename particle_map::iterator const i(particles_.find(pid));
+ if (i != particles_.end())
+ {
+ (*i).second = p;
+ return false;
+ }
+ else
+ {
+ particles_.insert(i, std::make_pair(pid, p));
+ return true;
+ }
+ }
+
+ virtual void remove_particle(particle_id_type const& id)
+ {
+ world_.remove_particle(id);
+ particles_.erase(id);
+ }
+
+ virtual particle_id_pair get_particle(particle_id_type const& id) const
+ {
+ typename particle_map::const_iterator i(particles_.find(id));
+ if (particles_.end() == i)
+ {
+ throw not_found(std::string("No such particle: id=")
+ + boost::lexical_cast<std::string>(id));
+ }
+ return *i;
+ }
+
+ virtual bool has_particle(particle_id_type const& id) const
+ {
+ return particles_.end() != particles_.find(id);
+ }
+
+ virtual particle_id_pair_and_distance_list check_overlap(particle_shape_type const& s) const
+ {
+ return check_overlap(s, array_gen<particle_id_type>());
+ }
+
+ virtual particle_id_pair_and_distance_list check_overlap(particle_shape_type const& s, particle_id_type const& ignore) const
+ {
+ return check_overlap(s, array_gen(ignore));
+ }
+
+ virtual particle_id_pair_and_distance_list check_overlap(particle_shape_type const& s, particle_id_type const& ignore1, particle_id_type const& ignore2) const
+ {
+ return check_overlap(s, array_gen(ignore1, ignore2));
+ }
+
+ template<typename Tsph_, typename Tset_>
+ particle_id_pair_and_distance_list check_overlap(Tsph_ const& s, Tset_ const& ignore) const
+ {
+ particle_id_pair_and_distance_list retval;
+ for (typename particle_map::const_iterator i(particles_.begin()),
+ e(particles_.end());
+ i != e; ++i)
+ {
+ length_type const dist(world_.distance(shape((*i).second), s.position()));
+ if (dist < s.radius() && !collection_contains(ignore, (*i).first))
+ {
+ retval.push_back(std::make_pair(*i, dist));
+ }
+ }
+ std::sort(retval.begin(), retval.end(),
+ ecell4::utils::pair_second_element_comparator<particle_id_pair, length_type>());
+ return retval;
+ }
+
+ virtual transaction_type* create_transaction()
+ {
+ return new TransactionImpl<MultiParticleContainer>(*this);
+ }
+
+ virtual length_type distance(position_type const& lhs,
+ position_type const& rhs) const
+ {
+ return world_.distance(lhs, rhs);
+ }
+
+ virtual position_type apply_boundary(position_type const& v) const
+ {
+ return world_.apply_boundary(v);
+ }
+
+ // virtual length_type apply_boundary(length_type const& v) const
+ // {
+ // return world_.apply_boundary(v);
+ // }
+
+ virtual position_type periodic_transpose(position_type const& p0, position_type const& p1) const
+ {
+ return world_.periodic_transpose(p0, p1);
+ }
+
+ // virtual length_type periodic_transpose(length_type const& p0, length_type const& p1) const
+ // {
+ // return world_.periodic_transpose(p0, p1);
+ // }
+
+ particle_id_pair_range get_particles_range() const
+ {
+ return particle_id_pair_range(particles_.begin(), particles_.end(),
+ particles_.size());
+ }
+
+ MultiParticleContainer(world_type& world): world_(world) {}
+
+ /** ecell4::Space
+ */
+ // virtual const time_type& t() const
+ virtual const time_type t() const
+ {
+ return world_.t();
+ }
+
+ virtual void set_t(const time_type& t)
+ {
+ world_.set_t(t);
+ }
+
+private:
+ world_type& world_;
+ particle_map particles_;
+};
+
+template<typename Tsim_>
+class Multi: public Domain<typename Tsim_::traits_type>
+{
+public:
+
+ typedef Tsim_ simulator_type;
+ typedef typename simulator_type::traits_type traits_type;
+ typedef Domain<traits_type> base_type;
+ typedef typename traits_type::world_type world_type;
+
+ typedef typename world_type::particle_type particle_type;
+ typedef typename world_type::particle_shape_type particle_shape_type;
+ typedef typename world_type::molecule_info_type molecule_info_type;
+ typedef typename world_type::species_id_type species_id_type;
+ typedef typename world_type::position_type position_type;
+ typedef typename world_type::particle_id_type particle_id_type;
+ typedef typename world_type::length_type length_type;
+ typedef typename world_type::size_type size_type;
+ typedef typename world_type::structure_type structure_type;
+ typedef typename world_type::particle_id_pair particle_id_pair;
+ typedef typename world_type::particle_id_pair_and_distance
+ particle_id_pair_and_distance;
+ typedef typename world_type::particle_id_pair_and_distance_list
+ particle_id_pair_and_distance_list;
+
+ typedef typename traits_type::shell_id_type shell_id_type;
+ typedef typename traits_type::domain_id_type identifier_type;
+ typedef typename traits_type::template shell_generator<
+ ecell4::Sphere>::type spherical_shell_type;
+ // typedef typename traits_type::template shell_generator<
+ // typename simulator_type::sphere_type>::type spherical_shell_type;
+ typedef std::pair<const typename traits_type::shell_id_type, spherical_shell_type> spherical_shell_id_pair;
+ typedef typename traits_type::reaction_record_type reaction_record_type;
+
+ //XXX: typedef std::map<shell_id_type, spherical_shell_type> spherical_shell_map;
+ typedef typename win32_workaround::get_mapper_mf<shell_id_type, spherical_shell_type>::type spherical_shell_map;
+ typedef sized_iterator_range<typename spherical_shell_map::const_iterator> spherical_shell_id_pair_range;
+ typedef MultiParticleContainer<traits_type> multi_particle_container_type;
+
+ enum event_kind
+ {
+ NONE,
+ ESCAPE,
+ REACTION,
+ NUM_MULTI_EVENT_KINDS
+ };
+
+private:
+ struct last_reaction_setter: ReactionRecorder<reaction_record_type>
+ {
+ virtual ~last_reaction_setter() {}
+
+ virtual void operator()(reaction_record_type const& rec)
+ {
+ outer_.last_reaction_.swap(const_cast<reaction_record_type&>(rec));
+ }
+
+ last_reaction_setter(Multi& outer): outer_(outer) {}
+
+ Multi& outer_;
+ };
+
+ struct volume_clearer: VolumeClearer<particle_shape_type, particle_id_type>
+ {
+ virtual ~volume_clearer() {}
+
+ virtual bool operator()(particle_shape_type const& shape, particle_id_type const& ignore)
+ {
+ if (!outer_.within_shell(shape))
+ {
+ outer_.last_event_ = ESCAPE;
+ return outer_.clear_volume(shape, ignore);
+ }
+ return true;
+ }
+
+ virtual bool operator()(particle_shape_type const& shape, particle_id_type const& ignore0, particle_id_type const& ignore1)
+ {
+ if (!outer_.within_shell(shape))
+ {
+ outer_.last_event_ = ESCAPE;
+ return outer_.clear_volume(shape, ignore0, ignore1);
+ }
+ return true;
+ }
+
+ volume_clearer(Multi& outer): outer_(outer) {}
+
+ Multi& outer_;
+ };
+
+ friend struct volume_clearer;
+
+public:
+ virtual ~Multi() {}
+
+ virtual char const* type_name() const
+ {
+ return "Multi";
+ }
+
+ virtual std::string as_string() const
+ {
+ return (boost::format(
+ "%s(id=%s, event=%s, last_time=%.16g, dt=%.16g, particles=[%s])") %
+ type_name() %
+ boost::lexical_cast<std::string>(base_type::id_).c_str() %
+ boost::lexical_cast<std::string>(base_type::event_.first).c_str() %
+ base_type::last_time_ % base_type::dt_ %
+ stringize_and_join(
+ make_select_first_range(pc_.get_particles_range()),
+ ", ")).str();
+ }
+
+ Multi(identifier_type const& id, simulator_type& main, Real dt_factor)
+ : base_type(id), main_(main), pc_(*main.world()), dt_factor_(dt_factor),
+ shells_(), last_event_(NONE)
+ {
+ BOOST_ASSERT(dt_factor > 0.);
+ base_type::dt_ = dt_factor_ * determine_dt(*main_.world());
+ // base_type::dt_ = dt_factor_ * BDSimulator<traits_type>::determine_dt(*main_.world());
+ }
+
+ static Real determine_dt(world_type const& world)
+ {
+ Real D_max(0.), radius_min(std::numeric_limits<Real>::max());
+
+ BOOST_FOREACH(molecule_info_type s, world.get_molecule_info_range())
+ {
+ if (D_max < s.D)
+ D_max = s.D;
+ if (radius_min > s.radius)
+ radius_min = s.radius;
+ }
+ return pow_2(radius_min * 2) / (D_max * 2);
+ }
+
+ event_kind const& last_event() const
+ {
+ return last_event_;
+ }
+
+ reaction_record_type const& last_reaction() const
+ {
+ return last_reaction_;
+ }
+
+ bool has_particle(particle_id_type const& pid) const
+ {
+ return pc_.has_particle(pid);
+ }
+
+ bool add_particle(particle_id_pair const& pp)
+ {
+ return pc_.update_particle(pp.first, pp.second);
+ }
+
+ bool add_shell(spherical_shell_id_pair const& sp)
+ {
+ spherical_shell_id_pair new_sp(sp);
+ new_sp.second.did() = base_type::id();
+ return shells_.insert(new_sp).second;
+ }
+
+ spherical_shell_id_pair_range get_shells() const
+ {
+ return spherical_shell_id_pair_range(shells_.begin(), shells_.end(), shells_.size());
+ }
+
+ virtual typename Domain<traits_type>::size_type num_shells() const
+ {
+ return shells_.size();
+ }
+
+ virtual typename Domain<traits_type>::size_type multiplicity() const
+ {
+ return pc_.num_particles();
+ }
+
+ virtual void accept(ImmutativeDomainVisitor<traits_type> const& visitor) const
+ {
+ visitor(*this);
+ }
+
+ virtual void accept(MutativeDomainVisitor<traits_type> const& visitor)
+ {
+ visitor(*this);
+ }
+
+ bool within_shell(particle_shape_type const& sphere) const
+ {
+ for (typename spherical_shell_map::const_iterator
+ i(shells_.begin()), e(shells_.end()); i != e; ++i)
+ {
+ spherical_shell_id_pair const& sp(*i);
+ position_type ppos(main_.world()->periodic_transpose(sphere.position(), (sp).second.position()));
+ if (distance(ppos, (sp).second.shape().position()) < (sp).second.shape().radius() - sphere.radius())
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ bool clear_volume(particle_shape_type const& shape, particle_id_type const& ignore) const
+ {
+ LOG_DEBUG(("clear_volume was called here."));
+ main_.clear_volume(shape, base_type::id_);
+
+ const particle_id_pair_and_distance_list overlapped(
+ main_.world()->check_overlap(shape, ignore));
+ if (overlapped.size() > 0)
+ {
+ return false;
+ }
+ return true;
+ // return (main_.world()->no_overlap(shape, ignore));
+ }
+
+ bool clear_volume(particle_shape_type const& shape, particle_id_type const& ignore0, particle_id_type const& ignore1) const
+ {
+ LOG_DEBUG(("clear_volume was called here."));
+ main_.clear_volume(shape, base_type::id_);
+
+ const particle_id_pair_and_distance_list overlapped(
+ main_.world()->check_overlap(shape, ignore0, ignore1));
+ if (overlapped.size() > 0)
+ {
+ return false;
+ }
+ return true;
+ // return (main_.world()->no_overlap(shape, ignore0, ignore1));
+ }
+
+ typename multi_particle_container_type::particle_id_pair_range
+ get_particles_range() const
+ {
+ return pc_.get_particles_range();
+ }
+
+ void step()
+ {
+ boost::scoped_ptr<
+ typename multi_particle_container_type::transaction_type>
+ tx(pc_.create_transaction());
+ typedef typename multi_particle_container_type::transaction_type::particle_id_pair_generator particle_id_pair_generator;
+ typedef typename multi_particle_container_type::transaction_type::particle_id_pair_and_distance_list particle_id_pair_and_distance_list;
+ last_reaction_setter rs(*this);
+ volume_clearer vc(*this);
+ BDPropagator<traits_type> ppg(
+ *tx, *main_.network_rules(), main_.rng(),
+ base_type::dt_,
+ 1 /* FIXME: dissociation_retry_moves */, &rs, &vc,
+ make_select_first_range(pc_.get_particles_range()));
+
+ last_event_ = NONE;
+
+ while (ppg())
+ {
+ if (last_reaction_)
+ {
+ last_event_ = REACTION;
+ break;
+ }
+ }
+ }
+
+protected:
+ simulator_type& main_;
+ multi_particle_container_type pc_;
+ Real dt_factor_;
+ spherical_shell_map shells_;
+ event_kind last_event_;
+ reaction_record_type last_reaction_;
+
+ static Logger& log_;
+};
+
+template<typename Tsim_>
+Logger& Multi<Tsim_>::log_(Logger::get_logger("ecell.Multi"));
+
+#endif /* MULTI_HPP */
diff --git a/ecell4/egfrd/NEWS b/ecell4/egfrd/NEWS
new file mode 100644
index 0000000..e69de29
diff --git a/ecell4/egfrd/NetworkRulesAdapter.hpp b/ecell4/egfrd/NetworkRulesAdapter.hpp
new file mode 100644
index 0000000..0afb06e
--- /dev/null
+++ b/ecell4/egfrd/NetworkRulesAdapter.hpp
@@ -0,0 +1,207 @@
+#ifndef __ECELL4_EGFRD_NETWORK_RULES_ADAPTER
+#define __ECELL4_EGFRD_NETWORK_RULES_ADAPTER
+
+#include <map>
+#include <numeric>
+#include <vector>
+#include <boost/scoped_ptr.hpp>
+#include "twofold_container.hpp"
+#include "ReactionRuleInfo.hpp"
+#include "exceptions.hpp"
+
+#include <ecell4/core/ReactionRule.hpp>
+#include <ecell4/core/Model.hpp>
+
+
+// cf. epdp/NetworkRulesWrapper.hpp
+// NetworkRulesAdapter will substitute for NetworkRulesWrapper
+// which is instanciated in ParticleSimulatorTraitsBase.
+//
+// This class is called via query_reaction_rule function by EGFRDSimulator implemented in epdp,
+// then, this class translates the query into ecell4::Species or ReactionRule object and
+// consult ecell4::Model class.
+//template <typename T_, typename Trri_>
+
+ecell4::ReactionRule create_repulsive_reaction_rule(
+ const ecell4::Species& reactant1, const ecell4::Species& reactant2)
+{
+ ecell4::ReactionRule rr;
+ rr.set_k(0.0);
+ rr.add_reactant(reactant1);
+ rr.add_reactant(reactant2);
+ return rr;
+}
+
+template <typename Trri_>
+class NetworkRulesAdapter
+{
+public:
+
+ typedef ecell4::Model backend_type; // will not be used.
+
+ typedef Trri_ reaction_rule_type;
+ typedef typename reaction_rule_type::species_id_type species_id_type;
+ typedef std::vector<reaction_rule_type> reaction_rule_vector;
+ typedef reaction_rule_vector reaction_rules;
+ typedef std::map<species_id_type, reaction_rule_vector>
+ first_order_reaction_rule_vector_map;
+ typedef std::map<std::pair<species_id_type, species_id_type>, reaction_rule_vector>
+ second_order_reaction_rule_vector_map;
+
+public:
+
+ reaction_rule_vector const& query_reaction_rule(species_id_type const& r1) const
+ {
+ typename first_order_reaction_rule_vector_map::const_iterator
+ i(first_order_cache_.find(r1));
+ if (i == this->first_order_cache_.end())
+ {
+ ecell4::Model::reaction_rule_container_type
+ reaction_rules_at_ecell4(
+ model_->query_reaction_rules(ecell4::Species(r1)));
+
+ std::pair<typename first_order_reaction_rule_vector_map::iterator, bool>
+ x(first_order_cache_.insert(std::make_pair(r1, reaction_rule_vector())));
+ for (std::vector<ecell4::ReactionRule>::const_iterator
+ it(reaction_rules_at_ecell4.begin());
+ it != reaction_rules_at_ecell4.end(); it++)
+ {
+ x.first->second.push_back(convert_reaction_rule_type(*it));
+ }
+ return x.first->second;
+ }
+ return i->second;
+ }
+
+ reaction_rule_vector const& query_reaction_rule(
+ species_id_type const& r1, species_id_type const& r2) const
+ {
+ typename second_order_reaction_rule_vector_map::const_iterator
+ i(second_order_cache_.find(std::make_pair(r1, r2)));
+ if (i == second_order_cache_.end())
+ {
+ const ecell4::Species sp1(r1), sp2(r2);
+
+ ecell4::Model::reaction_rule_container_type
+ reaction_rules_at_ecell4(
+ model_->query_reaction_rules(sp1, sp2));
+ if (reaction_rules_at_ecell4.size() == 0)
+ {
+ reaction_rules_at_ecell4.push_back(
+ create_repulsive_reaction_rule(sp1, sp2));
+ }
+
+ std::pair<typename second_order_reaction_rule_vector_map::iterator, bool>
+ x(second_order_cache_.insert(
+ std::make_pair(std::make_pair(r1, r2), reaction_rule_vector())));
+ for (std::vector<ecell4::ReactionRule>::const_iterator
+ it(reaction_rules_at_ecell4.begin());
+ it != reaction_rules_at_ecell4.end(); it++)
+ {
+ x.first->second.push_back(convert_reaction_rule_type(*it));
+ }
+ return x.first->second;
+ }
+ return i->second;
+ }
+
+ reaction_rule_vector const zeroth_order_reaction_rules() const
+ {
+ const ecell4::Model::reaction_rule_container_type&
+ rrs((*model_).reaction_rules());
+ reaction_rule_vector retval;
+ for (ecell4::Model::reaction_rule_container_type::const_iterator
+ i(rrs.begin()); i != rrs.end(); ++i)
+ {
+ if ((*i).reactants().size() > 0)
+ {
+ continue;
+ }
+
+ BOOST_ASSERT((*i).products().size() == 1);
+ retval.push_back(convert_reaction_rule_type(*i));
+ }
+ return retval;
+ }
+
+ NetworkRulesAdapter(boost::shared_ptr<ecell4::Model> model)
+ : model_(model)
+ {
+ ;
+ }
+
+protected:
+
+ inline reaction_rule_type convert_reaction_rule_type(const ecell4::ReactionRule& rr) const
+ {
+ // typedef twofold_container<species_id_type> reactants_container_type;
+ typedef typename reaction_rule_type::rate_type rate_type;
+
+ reaction_rule_type retval;
+ std::vector<species_id_type> products;
+ std::vector<species_id_type> reactants;
+ rate_type rate;
+
+ try
+ {
+ rate = boost::lexical_cast<rate_type>(rr.k());
+ }
+ catch (boost::bad_lexical_cast&)
+ {
+ if (rr.k() == double(HUGE_VAL))
+ {
+ rate = std::numeric_limits<rate_type>::infinity();
+ }
+ else
+ {
+ throw;
+ }
+ }
+
+ for (ecell4::ReactionRule::product_container_type::const_iterator
+ j(rr.products().begin()); j != rr.products().end(); ++j)
+ {
+ products.push_back(*j);
+ }
+
+ ecell4::ReactionRule::reactant_container_type::const_iterator
+ r(rr.reactants().begin());
+ switch (rr.reactants().size())
+ {
+ case 0:
+ {
+ ; // with no cache
+ return reaction_rule_type(rr, rate, reactants, products);
+ }
+ case 1:
+ {
+ const species_id_type sid1(*r);
+ reactants.push_back(sid1);
+ return reaction_rule_type(rr, rate, reactants, products);
+ }
+ break;
+ case 2:
+ {
+ const species_id_type sid1(*r);
+ reactants.push_back(sid1);
+ ++r;
+ const species_id_type sid2(*r);
+ reactants.push_back(sid2);
+ return reaction_rule_type(rr, rate, reactants, products);
+ }
+ break;
+ default:
+ throw illegal_state("the number of reactants must be 1 or 2.");
+ break;
+ }
+ return reaction_rule_type(); // never get here
+ }
+
+private:
+
+ mutable first_order_reaction_rule_vector_map first_order_cache_;
+ mutable second_order_reaction_rule_vector_map second_order_cache_;
+ boost::shared_ptr<ecell4::Model> model_;
+};
+
+#endif // __ECELL4_EGFRD_NETWORK_RULES_ADAPTER
diff --git a/ecell4/egfrd/OldDefs.hpp b/ecell4/egfrd/OldDefs.hpp
new file mode 100644
index 0000000..70acec5
--- /dev/null
+++ b/ecell4/egfrd/OldDefs.hpp
@@ -0,0 +1,46 @@
+#if !defined( __OLDDEFS_HPP )
+#define __OLDDEFS_HPP
+
+#include <vector>
+#include <boost/multi_array.hpp>
+#include <cmath>
+
+#include "Defs.hpp"
+
+// This file is needed temporarily by GreensFunction1DAbsAbs.cpp
+// and GreensFunction1DRadAbs.cpp
+//
+// At some point it should be taken out of the new code version.
+// This requires some major refurbishment of the above functions, so postponed for later.
+//
+// All passages conflicting with analogous definitions in the new Defs.hpp are taken out.
+//
+
+
+
+
+typedef std::vector< Real > RealVector;
+typedef boost::multi_array<Real, 2>
+Real2DArray;
+typedef boost::multi_array<Real, 3>
+Real3DArray;
+typedef boost::multi_array<Real, 4>
+Real4DArray;
+
+
+// stringifiers. see preprocessor manual
+#define XSTR( S ) STR( S )
+#define STR( S ) #S
+
+#define THROW_UNLESS( CLASS, EXPRESSION ) \
+ if( ! ( EXPRESSION ) )\
+ {\
+ throw CLASS( "Check [" + std::string( STR( EXPRESSION ) ) +\
+ "] failed." );\
+ }\
+
+
+#define IGNORE_RETURN (void)
+
+
+#endif // __OLDDEFS_HPP
diff --git a/ecell4/egfrd/Pair.hpp b/ecell4/egfrd/Pair.hpp
new file mode 100644
index 0000000..9f4f06a
--- /dev/null
+++ b/ecell4/egfrd/Pair.hpp
@@ -0,0 +1,55 @@
+#ifndef PAIR_HPP
+#define PAIR_HPP
+
+#include <cmath>
+#include <utility>
+#include <boost/array.hpp>
+#include "ShapedDomain.hpp"
+
+template<typename Ttraits_>
+class Pair: public ShapedDomain<Ttraits_>
+{
+public:
+ typedef ShapedDomain<Ttraits_> base_type;
+ typedef Ttraits_ traits_type;
+ typedef typename traits_type::world_type::particle_id_type particle_id_type;
+ typedef typename traits_type::world_type::particle_id_pair particle_id_pair;
+ typedef typename traits_type::domain_id_type identifier_type;
+ typedef boost::array<particle_id_pair, 2> particle_array_type;
+ typedef typename traits_type::world_type::length_type length_type;
+ typedef typename traits_type::world_type::traits_type::position_type position_type;
+
+public:
+ virtual ~Pair() {}
+
+ Pair(identifier_type const& id,
+ particle_id_pair const& p0, particle_id_pair const& p1)
+ : base_type(id)
+ {
+ if (p0.second.D() < p1.second.D())
+ {
+ new(&particles_[0]) particle_id_pair(p0);
+ new(&particles_[1]) particle_id_pair(p1);
+ }
+ else
+ {
+ new(&particles_[0]) particle_id_pair(p1);
+ new(&particles_[1]) particle_id_pair(p0);
+ }
+ }
+
+ particle_array_type const& particles() const
+ {
+ return particles_;
+ }
+
+ particle_array_type& particles()
+ {
+ return particles_;
+ }
+
+protected:
+ particle_array_type particles_;
+};
+
+#endif /* PAIR_HPP */
diff --git a/ecell4/egfrd/PairGreensFunction.cpp b/ecell4/egfrd/PairGreensFunction.cpp
new file mode 100644
index 0000000..b8247ed
--- /dev/null
+++ b/ecell4/egfrd/PairGreensFunction.cpp
@@ -0,0 +1,7 @@
+#ifdef HAVE_CONFIG_H
+#include <ecell4/egfrd/config.h>
+#endif /* HAVE_CONFIG_H */
+
+#include "PairGreensFunction.hpp"
+
+PairGreensFunction::~PairGreensFunction() {}
diff --git a/ecell4/egfrd/PairGreensFunction.hpp b/ecell4/egfrd/PairGreensFunction.hpp
new file mode 100644
index 0000000..ad2a517
--- /dev/null
+++ b/ecell4/egfrd/PairGreensFunction.hpp
@@ -0,0 +1,52 @@
+#if !defined( __PAIRGREENSFUNCTION_HPP )
+#define __PAIRGREENSFUNCTION_HPP
+
+#include "Defs.hpp"
+#include <string>
+#include "GreensFunction.hpp"
+
+class PairGreensFunction: public GreensFunction
+{
+public:
+ PairGreensFunction(Real D, Real kf, Real r0, Real Sigma)
+ : GreensFunction(D), kf(kf), r0(r0), Sigma(Sigma) {}
+
+ virtual ~PairGreensFunction();
+
+ Real getD() const
+ {
+ return this->D;
+ }
+
+ Real getkf() const
+ {
+ return this->kf;
+ }
+
+ Real getSigma() const
+ {
+ return this->Sigma;
+ }
+
+ Real getr0() const
+ {
+ return this->r0;
+ }
+
+ virtual std::string dump() const = 0;
+
+ virtual const char* getName() const = 0;
+
+ virtual Real drawTime(Real rnd) const = 0;
+
+ virtual Real drawR(Real rnd, Real t) const = 0;
+
+ virtual Real drawTheta(Real rnd, Real r, Real t) const = 0;
+
+protected:
+ const Real kf;
+ const Real r0;
+ const Real Sigma;
+};
+
+#endif /* __PAIRGREENSFUNCTION_HPP */
diff --git a/ecell4/egfrd/ParticleContainer.hpp b/ecell4/egfrd/ParticleContainer.hpp
new file mode 100644
index 0000000..3343dad
--- /dev/null
+++ b/ecell4/egfrd/ParticleContainer.hpp
@@ -0,0 +1,140 @@
+#ifndef PARTICLE_CONTAINER_HPP
+#define PARTICLE_CONTAINER_HPP
+
+#include <utility>
+#include <boost/shared_ptr.hpp>
+#include "generator.hpp"
+#include "utils/get_default_impl.hpp"
+#include "utils/unassignable_adapter.hpp"
+
+#include <ecell4/core/types.hpp>
+#include <ecell4/core/Space.hpp>
+
+template<typename Ttraits_>
+class Transaction;
+
+template<typename Ttraits_>
+class ParticleContainer
+ : public ecell4::Space
+{
+public:
+
+ typedef Ttraits_ traits_type;
+ typedef Transaction<traits_type> transaction_type;
+
+ typedef typename traits_type::particle_type particle_type;
+ typedef typename traits_type::particle_shape_type particle_shape_type;
+ typedef typename traits_type::molecule_info_type molecule_info_type;
+ typedef typename traits_type::species_id_type species_id_type;
+ typedef typename traits_type::position_type position_type;
+ typedef typename traits_type::particle_id_type particle_id_type;
+ typedef typename traits_type::length_type length_type;
+ typedef typename traits_type::size_type size_type;
+ typedef typename traits_type::time_type time_type;
+ typedef typename traits_type::structure_id_type structure_id_type;
+ typedef typename traits_type::structure_type structure_type;
+ typedef typename traits_type::particle_id_pair particle_id_pair;
+ typedef typename traits_type::particle_id_pair_generator
+ particle_id_pair_generator;
+ typedef typename traits_type::particle_id_pair_and_distance
+ particle_id_pair_and_distance;
+ typedef typename traits_type::particle_id_pair_and_distance_list
+ particle_id_pair_and_distance_list;
+
+public:
+
+ virtual ~ParticleContainer() {};
+
+ virtual molecule_info_type get_molecule_info(species_id_type const& id) const = 0;
+ // virtual molecule_info_type const& get_molecule_info(species_id_type const& id) = 0;
+ // virtual molecule_info_type const& find_molecule_info(species_id_type const& id) const = 0;
+
+ virtual boost::shared_ptr<structure_type> get_structure(
+ structure_id_type const& id) const = 0;
+
+ virtual std::pair<particle_id_pair, bool> new_particle(
+ species_id_type const& sid, position_type const& pos) = 0;
+
+ virtual particle_id_pair_and_distance_list check_overlap(
+ particle_shape_type const& s) const = 0;
+
+ virtual particle_id_pair_and_distance_list check_overlap(
+ particle_shape_type const& s, particle_id_type const& ignore) const = 0;
+
+ virtual particle_id_pair_and_distance_list check_overlap(
+ particle_shape_type const& s, particle_id_type const& ignore1,
+ particle_id_type const& ignore2) const = 0;
+
+ virtual bool no_overlap(particle_shape_type const& s) const
+ {
+ const particle_id_pair_and_distance_list overlapped(
+ check_overlap(s));
+ return (overlapped.size() == 0);
+ }
+
+ virtual bool no_overlap(particle_shape_type const& s,
+ particle_id_type const& ignore) const
+ {
+ const particle_id_pair_and_distance_list overlapped(
+ check_overlap(s, ignore));
+ return (overlapped.size() == 0);
+ }
+
+ virtual bool no_overlap(particle_shape_type const& s,
+ particle_id_type const& ignore1, particle_id_type const& ignore2) const
+ {
+ const particle_id_pair_and_distance_list overlapped(
+ check_overlap(s, ignore1, ignore2));
+ return (overlapped.size() == 0);
+ }
+
+ virtual transaction_type* create_transaction() = 0;
+
+ /**
+ * ParticleSpace has functions similar, but a bit different.
+ */
+
+ virtual bool update_particle(const particle_id_type& pid, const particle_type& p) = 0;
+
+ virtual position_type periodic_transpose(
+ position_type const& p0, position_type const& p1) const = 0;
+
+ /**
+ * Space
+ */
+
+ virtual void save(const std::string& filename) const
+ {
+ throw ecell4::NotSupported(
+ "save(const std::string) is not supported by this space class");
+ }
+
+ /**
+ * ParticleSpace
+ */
+
+ virtual void remove_particle(particle_id_type const& id) = 0;
+
+ virtual length_type distance(
+ position_type const& lhs, position_type const& rhs) const = 0;
+
+ virtual position_type apply_boundary(position_type const& v) const = 0;
+
+ virtual void add_surface(const boost::array<position_type, 3>& vertices)
+ {
+ return;
+ }
+
+ virtual position_type apply_reflection(const position_type& pos, const position_type& disp)
+ {
+ return pos + disp;
+ }
+
+ virtual position_type apply_structure(const position_type& pos, const position_type& disp)
+ {
+ return pos + disp;
+ }
+};
+
+
+#endif /* PARTICLE_CONTAINER_HPP */
diff --git a/ecell4/egfrd/ParticleContainerBase.hpp b/ecell4/egfrd/ParticleContainerBase.hpp
new file mode 100644
index 0000000..e67ab98
--- /dev/null
+++ b/ecell4/egfrd/ParticleContainerBase.hpp
@@ -0,0 +1,332 @@
+#ifndef PARTICLE_CONTAINER_BASE_HPP
+#define PARTICLE_CONTAINER_BASE_HPP
+
+// #include <ecell4/core/get_mapper_mf.hpp>
+// #include <ecell4/core/ParticleSpaceCellListImpl.hpp>
+//
+// #include "utils/range.hpp"
+// #include "utils/unassignable_adapter.hpp"
+// #include "MatrixSpace.hpp"
+// #include "abstract_set.hpp"
+// #include "generator.hpp"
+// #include "exceptions.hpp"
+// #include "ParticleContainer.hpp"
+// #include "Transaction.hpp"
+//
+// template<typename Ttraits_>
+// struct ParticleContainerUtils
+// {
+// typedef Ttraits_ traits_type;
+// typedef typename traits_type::length_type length_type;
+// typedef typename traits_type::particle_type particle_type;
+// typedef typename traits_type::particle_id_type particle_id_type;
+// typedef typename traits_type::particle_id_pair particle_id_pair;
+// typedef typename traits_type::particle_id_pair_and_distance
+// particle_id_pair_and_distance;
+// typedef typename traits_type::particle_id_pair_and_distance_list
+// particle_id_pair_and_distance_list;
+//
+// // struct distance_comparator:
+// // public std::binary_function<
+// // typename particle_id_pair_and_distance_list::placeholder,
+// // typename particle_id_pair_and_distance_list::placeholder,
+// // bool>
+// // {
+// // typedef typename particle_id_pair_and_distance_list::placeholder
+// // first_argument_type;
+// // typedef typename particle_id_pair_and_distance_list::const_caster const_caster;
+// // bool operator()(first_argument_type const& lhs,
+// // first_argument_type const& rhs) const
+// // {
+// // return c_(lhs).second < c_(rhs).second;
+// // }
+// // const_caster c_;
+// // };
+//
+// struct distance_comparator
+// : public std::binary_function<
+// typename particle_id_pair_and_distance_list::value_type,
+// typename particle_id_pair_and_distance_list::value_type,
+// bool>
+// {
+// typedef typename particle_id_pair_and_distance_list::value_type
+// first_argument_type;
+//
+// bool operator()(first_argument_type const& lhs,
+// first_argument_type const& rhs) const
+// {
+// return lhs.second < rhs.second;
+// }
+// };
+//
+// template<typename Tset_>
+// struct overlap_checker
+// {
+// overlap_checker(Tset_ const& ignore = Tset_()): ignore_(ignore), result_(0) {}
+//
+// template<typename Titer_>
+// void operator()(Titer_ const& i, length_type const& dist)
+// {
+// if (!collection_contains(ignore_, (*i).first))
+// {
+// if (!result_)
+// {
+// result_ = new particle_id_pair_and_distance_list();
+// }
+// result_->push_back(std::make_pair(*i, dist));
+// }
+// }
+//
+// particle_id_pair_and_distance_list* result() const
+// {
+// if (result_)
+// {
+// // std::sort(result_->pbegin(), result_->pend(), compare_);
+// std::sort(result_->begin(), result_->end(), compare_);
+// }
+// return result_;
+// }
+//
+// private:
+// Tset_ const& ignore_;
+// particle_id_pair_and_distance_list* result_;
+// distance_comparator compare_;
+// };
+// };
+//
+// template<typename Tderived_, typename Ttraits_ = typename Tderived_::traits_type>
+// class ParticleContainerBase
+// : public ParticleContainer<Ttraits_>
+// {
+// public:
+//
+// typedef ParticleContainer<Ttraits_> base_type;
+//
+// typedef ParticleContainerUtils<Ttraits_> utils;
+// typedef Ttraits_ traits_type;
+// typedef typename traits_type::length_type length_type;
+// typedef typename traits_type::molecule_info_type molecule_info_type;
+// typedef typename traits_type::position_type position_type;
+// typedef typename traits_type::particle_type particle_type;
+// typedef typename traits_type::particle_id_type particle_id_type;
+// typedef typename traits_type::particle_id_generator particle_id_generator;
+// typedef typename traits_type::species_id_type species_id_type;
+// typedef typename traits_type::particle_shape_type particle_shape_type;
+// typedef typename traits_type::size_type size_type;
+// typedef typename traits_type::structure_id_type structure_id_type;
+// typedef typename traits_type::structure_type structure_type;
+// typedef typename traits_type::particle_id_pair particle_id_pair;
+// typedef typename traits_type::particle_id_pair_generator
+// particle_id_pair_generator;
+// typedef typename traits_type::particle_id_pair_and_distance
+// particle_id_pair_and_distance;
+// typedef typename traits_type::particle_id_pair_and_distance_list
+// particle_id_pair_and_distance_list;
+//
+// typedef typename base_type::transaction_type transaction_type;
+// typedef typename base_type::time_type time_type;
+//
+// typedef MatrixSpace<particle_type, particle_id_type, ecell4::utils::get_mapper_mf> particle_matrix_type;
+// typedef sized_iterator_range<typename particle_matrix_type::const_iterator> particle_id_pair_range;
+// typedef typename particle_matrix_type::matrix_sizes_type matrix_sizes_type;
+//
+// typedef ecell4::ParticleSpaceCellListImpl particle_space_type;
+//
+// public:
+//
+// ParticleContainerBase(
+// const position_type& edge_lengths, const matrix_sizes_type& matrix_sizes)
+// : ps_(new particle_space_type(edge_lengths, matrix_sizes))
+// {
+// ;
+// }
+//
+// /**
+// * redirects
+// */
+//
+// virtual ecell4::Integer num_particles() const
+// {
+// return (*ps_).num_particles();
+// }
+//
+// virtual const position_type& edge_lengths() const
+// {
+// return (*ps_).edge_lengths();
+// }
+//
+// virtual void reset(const position_type& lengths)
+// {
+// (*ps_).reset(lengths);
+// }
+//
+// virtual void reset(const position_type& lengths, const matrix_sizes_type& sizes)
+// {
+// boost::scoped_ptr<particle_space_type>
+// newps(new particle_space_type(lengths, sizes));
+// ps_.swap(newps);
+//
+// ; // newpmat will be released here
+// }
+//
+// position_type cell_sizes() const
+// {
+// return (*ps_).cell_sizes();
+// }
+//
+// matrix_sizes_type matrix_sizes() const
+// {
+// return (*ps_).matrix_sizes();
+// }
+//
+// virtual bool has_particle(particle_id_type const& id) const
+// {
+// return (*ps_).has_particle(id);
+// }
+//
+// virtual particle_id_pair get_particle(particle_id_type const& id) const
+// {
+// return (*ps_).get_particle(id);
+// }
+//
+// virtual length_type distance(
+// position_type const& lhs, position_type const& rhs) const
+// {
+// return (*ps_).distance(lhs, rhs);
+// }
+//
+// virtual position_type apply_boundary(position_type const& v) const
+// {
+// return (*ps_).apply_boundary(v);
+// }
+//
+// virtual const time_type t() const
+// {
+// return (*ps_).t();
+// }
+//
+// virtual void set_t(const time_type& t)
+// {
+// (*ps_).set_t(t);
+// }
+//
+// /**
+// * wrappers
+// */
+//
+// virtual position_type periodic_transpose(
+// position_type const& p0, position_type const& p1) const
+// {
+// return (*ps_).periodic_transpose(p0, p1);
+// }
+//
+// template<typename T1_>
+// T1_ calculate_pair_CoM(
+// T1_ const& p1, T1_ const& p2,
+// typename element_type_of<T1_>::type const& D1,
+// typename element_type_of<T1_>::type const& D2)
+// {
+// typedef typename element_type_of<T1_>::type element_type;
+//
+// const T1_ p2_trans(periodic_transpose(p2, p1));
+// const element_type D12(add(D1, D2));
+// const element_type s(divide(D1, D12)), t(divide(D2, D12));
+// const T1_ com(add(multiply(p1, t), multiply(p2_trans, s)));
+// return apply_boundary(com);
+// }
+//
+// virtual bool remove_particle(particle_id_type const& id)
+// {
+// if (!has_particle(id))
+// {
+// return false;
+// }
+// (*ps_).remove_particle(id);
+// return true;
+// }
+//
+// virtual bool update_particle(particle_id_pair const& pid_particle_pair)
+// {
+// return (*ps_).update_particle(pid_particle_pair.first, pid_particle_pair.second);
+// }
+//
+// particle_id_pair get_particle(particle_id_type const& id, bool& found) const
+// {
+// found = (*ps_).has_particle(id);
+// if (!found)
+// {
+// return particle_id_pair();
+// }
+// return get_particle(id);
+// }
+//
+// virtual particle_id_pair_and_distance_list check_overlap(particle_shape_type const& s) const
+// {
+// return (*ps_).list_particles_within_radius(s.position(), s.radius());
+// }
+//
+// virtual particle_id_pair_and_distance_list check_overlap(particle_shape_type const& s, particle_id_type const& ignore) const
+// {
+// return (*ps_).list_particles_within_radius(s.position(), s.radius(), ignore);
+// }
+//
+// virtual particle_id_pair_and_distance_list check_overlap(particle_shape_type const& s, particle_id_type const& ignore1, particle_id_type const& ignore2) const
+// {
+// return (*ps_).list_particles_within_radius(s.position(), s.radius(), ignore1, ignore2);
+// }
+//
+// // template<typename Tsph_, typename Tset_>
+// // particle_id_pair_and_distance_list* check_overlap(Tsph_ const& s, Tset_ const& ignore,
+// // typename boost::disable_if<boost::is_same<Tsph_, particle_id_pair> >::type* = 0) const
+// // {
+// // typename utils::template overlap_checker<Tset_> oc(ignore);
+// // traits_type::take_neighbor(*pmat_, oc, s);
+// // return oc.result();
+// // }
+//
+// // template<typename Tsph_>
+// // particle_id_pair_and_distance_list* check_overlap(Tsph_ const& s,
+// // typename boost::disable_if<boost::is_same<Tsph_, particle_id_pair> >::type* = 0) const
+// // {
+// // typename utils::template overlap_checker<boost::array<particle_id_type, 0> > oc;
+// // traits_type::take_neighbor(*pmat_, oc, s);
+// // return oc.result();
+// // }
+//
+// particle_id_pair_range get_particles_range() const
+// {
+// const particle_space_type::particle_container_type& particles((*ps_).particles());
+// return particle_id_pair_range(particles.begin(), particles.end(), particles.size());
+// }
+//
+// /**
+// *
+// */
+//
+// virtual transaction_type* create_transaction();
+//
+// template<typename T_>
+// length_type distance(T_ const& lhs, position_type const& rhs) const
+// {
+// // return (*ps_).distance(lhs, rhs);
+// return traits_type::distance(lhs, rhs, edge_lengths());
+// }
+//
+// void clear()
+// {
+// (*ps_).reset((*ps_).edge_lengths());
+// }
+//
+// protected:
+//
+// boost::scoped_ptr<particle_space_type> ps_;
+// };
+//
+// template<typename Tderived_, typename Ttraits_>
+// inline typename ParticleContainerBase<Tderived_, Ttraits_>::transaction_type*
+// ParticleContainerBase<Tderived_, Ttraits_>::create_transaction()
+// {
+// return new TransactionImpl<ParticleContainerBase>(*this);
+// }
+
+#endif /* PARTICLE_CONTAINER_BASE_HPP */
diff --git a/ecell4/egfrd/ParticleSimulator.hpp b/ecell4/egfrd/ParticleSimulator.hpp
new file mode 100644
index 0000000..ef975e4
--- /dev/null
+++ b/ecell4/egfrd/ParticleSimulator.hpp
@@ -0,0 +1,201 @@
+#ifndef PARTICLE_SIMULATOR_HPP
+#define PARTICLE_SIMULATOR_HPP
+
+#include <boost/bind.hpp>
+#include <boost/shared_ptr.hpp>
+// #include "Sphere.hpp"
+// #include "Cylinder.hpp"
+// #include "Box.hpp"
+#include "utils/range_support.hpp"
+//#include "NetworkRulesWrapper.hpp"
+#include "ReactionRuleInfo.hpp"
+#include "ReactionRecorder.hpp"
+#include "ReactionRecord.hpp"
+#include "VolumeClearer.hpp"
+
+#include "NetworkRulesAdapter.hpp"
+#include "ReactionRecorderWrapper.hpp"
+#include <ecell4/core/SimulatorBase.hpp>
+
+
+template<typename Tworld_>
+struct ParticleSimulatorTraitsBase
+{
+ typedef Tworld_ world_type;
+ typedef Real rate_type;
+ typedef Real time_type;
+ // typedef int reaction_rule_id_type;
+ typedef ecell4::ReactionRule reaction_rule_id_type;
+ typedef ReactionRuleInfo<
+ reaction_rule_id_type,
+ typename world_type::traits_type::species_id_type,
+ rate_type> reaction_rule_type;
+ //typedef NetworkRulesWrapper<NetworkRules,
+ // reaction_rule_type> network_rules_type;
+ typedef NetworkRulesAdapter<reaction_rule_type> network_rules_type;
+ // typedef ReactionRecord<typename world_type::particle_id_type,
+ // reaction_rule_id_type> reaction_record_type;
+ typedef ReactionRecord<typename world_type::particle_id_pair,
+ reaction_rule_id_type> reaction_record_type;
+ typedef ReactionRecorder<reaction_record_type> reaction_recorder_type;
+ typedef VolumeClearer<typename world_type::particle_shape_type, typename world_type::particle_id_type> volume_clearer_type;
+
+ static const Real minimal_separation_factor();
+ static const Real MINIMAL_SEPARATION_FACTOR;
+};
+
+template<typename Tworld_>
+const Real ParticleSimulatorTraitsBase<Tworld_>::minimal_separation_factor()
+{
+ return 1 + 1e-7;
+}
+
+template<typename Tworld_>
+const Real ParticleSimulatorTraitsBase<Tworld_>::MINIMAL_SEPARATION_FACTOR = ParticleSimulatorTraitsBase<Tworld_>::minimal_separation_factor();
+
+template<typename Ttraits_>
+class ParticleSimulator;
+
+template<typename Ttraits_>
+struct ImmutativeStructureVisitor
+{
+ typedef Ttraits_ traits_type;
+ // typedef typename traits_type::spherical_surface_type spherical_surface_type;
+ // typedef typename traits_type::cylindrical_surface_type cylindrical_surface_type;
+ // typedef typename traits_type::planar_surface_type planar_surface_type;
+ typedef typename traits_type::cuboidal_region_type cuboidal_region_type;
+
+ virtual ~ImmutativeStructureVisitor() {}
+
+ // virtual void operator()(spherical_surface_type const&) const = 0;
+ // virtual void operator()(cylindrical_surface_type const&) const = 0;
+ // virtual void operator()(planar_surface_type const&) const = 0;
+ virtual void operator()(cuboidal_region_type const&) const = 0;
+};
+
+template<typename Ttraits_>
+struct MutativeStructureVisitor
+{
+ typedef Ttraits_ traits_type;
+ // typedef typename traits_type::spherical_surface_type spherical_surface_type;
+ // typedef typename traits_type::cylindrical_surface_type cylindrical_surface_type;
+ // typedef typename traits_type::planar_surface_type planar_surface_type;
+ typedef typename traits_type::cuboidal_region_type cuboidal_region_type;
+
+ virtual ~MutativeStructureVisitor() {}
+
+ // virtual void operator()(spherical_surface_type&) const = 0;
+ // virtual void operator()(cylindrical_surface_type&) const = 0;
+ // virtual void operator()(planar_surface_type&) const = 0;
+ virtual void operator()(cuboidal_region_type&) const = 0;
+};
+
+template<typename Ttraits_>
+class ParticleSimulator
+ : public ecell4::SimulatorBase<
+ typename Ttraits_::world_type::traits_type::model_type,
+ typename Ttraits_::world_type>
+{
+public:
+
+ typedef Ttraits_ traits_type;
+ typedef typename traits_type::world_type world_type;
+ // typedef Sphere sphere_type;
+ // typedef Cylinder cylinder_type;
+ // typedef Box box_type;
+ // typedef Plane plane_type;
+
+ typedef typename traits_type::network_rules_type network_rules_type;
+ typedef typename traits_type::time_type time_type;
+ typedef typename traits_type::reaction_record_type reaction_record_type;
+ typedef typename traits_type::reaction_recorder_type reaction_recorder_type;
+ typedef typename traits_type::volume_clearer_type volume_clearer_type;
+
+ typedef typename world_type::traits_type::rng_type rng_type;
+ typedef typename world_type::traits_type::model_type model_type;
+
+ typedef ecell4::SimulatorBase<model_type, world_type> base_type;
+
+public:
+
+ virtual ~ParticleSimulator() {}
+
+ ParticleSimulator(
+ const boost::shared_ptr<world_type>& world,
+ const boost::shared_ptr<model_type>& model)
+ : base_type(model, world),
+ network_rules_(new network_rules_type(model)),
+ rrec_(new ReactionRecorderWrapper<reaction_record_type>()),
+ dt_(0.), paranoiac_(false)
+ {
+ ;
+ }
+
+ ParticleSimulator(
+ const boost::shared_ptr<world_type>& world)
+ : base_type(world),
+ network_rules_(new network_rules_type(this->model())),
+ rrec_(new ReactionRecorderWrapper<reaction_record_type>()),
+ dt_(0.), paranoiac_(false)
+ {
+ ;
+ }
+
+ boost::shared_ptr<network_rules_type const> const& network_rules() const
+ {
+ return network_rules_;
+ }
+
+ // boost::shared_ptr<reaction_recorder_type> const& reaction_recorder() const
+ // {
+ // return rrec_;
+ // }
+
+ // boost::shared_ptr<reaction_recorder_type>& reaction_recorder()
+ // {
+ // return rrec_;
+ // }
+
+ inline rng_type& rng() const
+ {
+ return (*(*base_type::world_).rng().get());
+ }
+
+ virtual void set_dt(const Real& dt)
+ {
+ std::cerr << "WARN: set_dt(const Real&) was just ignored." << std::endl;
+ dt_ = dt;
+ }
+
+ virtual time_type dt() const
+ {
+ return dt_; //XXX: dt has no mean for egfrd.
+ }
+
+ bool const& paranoiac() const
+ {
+ return paranoiac_;
+ }
+
+ bool& paranoiac()
+ {
+ return paranoiac_;
+ }
+
+ void set_paranoiac(const bool val)
+ {
+ paranoiac_ = val;
+ }
+
+ virtual void step() = 0;
+ virtual bool step(const time_type& upto) = 0;
+
+protected:
+ boost::shared_ptr<network_rules_type const> network_rules_;
+ boost::shared_ptr<reaction_recorder_type> rrec_;
+ time_type dt_;
+ bool paranoiac_;
+
+};
+
+#endif /* PARTICLE_SIMULATOR_HPP */
diff --git a/ecell4/egfrd/ParticleTraits.hpp b/ecell4/egfrd/ParticleTraits.hpp
new file mode 100644
index 0000000..370a489
--- /dev/null
+++ b/ecell4/egfrd/ParticleTraits.hpp
@@ -0,0 +1,153 @@
+#ifndef __ECELL4_EGFRD_PARTICLE_TRAITS_HPP
+#define __ECELL4_EGFRD_PARTICLE_TRAITS_HPP
+
+#include <ecell4/core/Particle.hpp>
+#include <ecell4/core/Sphere.hpp>
+#include <ecell4/core/Cylinder.hpp>
+// #include "Sphere.hpp"
+// #include "Shape.hpp"
+//XXX: Shape.hpp
+#include <boost/type_traits/remove_cv.hpp>
+#include "Real3Type.hpp"
+#include "geometry.hpp"
+//XXX
+
+inline ecell4::Particle offset(
+ ecell4::Particle const& shape, ecell4::Particle::position_type off)
+{
+ ecell4::Particle retval(shape);
+ retval.position() += off;
+ return retval;
+}
+
+// inline
+// ecell4::Sphere shape(ecell4::Particle &p)
+// {
+// return ecell4::Sphere(p.position(), p.radius());
+// }
+
+inline
+ecell4::Sphere shape(const ecell4::Particle &p)
+{
+ return ecell4::Sphere(p.position(), p.radius());
+}
+
+// inline ecell4::Sphere offset(
+// const ecell4::Sphere& shape, ecell4::Sphere::position_type off)
+// {
+// ecell4::Sphere retval(shape);
+// retval.position() += off;
+// return retval;
+// }
+
+inline ecell4::Sphere::length_type
+distance(const ecell4::Sphere& obj, const ecell4::Sphere::position_type& pos)
+{
+ return distance(pos, obj.position()) - obj.radius();
+}
+
+template<typename T_>
+inline ecell4::Sphere::length_type
+distance_cyclic(
+ const ecell4::Sphere& p1, T_ const& p2,
+ const ecell4::Sphere::position_type& edge_lengths)
+{
+ return distance(p1, periodic_transpose(p2, p1.position(), edge_lengths));
+}
+
+inline ecell4::Sphere::length_type const& shape_size(ecell4::Sphere const& shape)
+{
+ return shape.size();
+}
+
+inline ecell4::Sphere::length_type& shape_size(ecell4::Sphere &shape)
+{
+ return shape.size();
+}
+
+inline ecell4::Sphere::position_type const& shape_position(ecell4::Sphere const& shape)
+{
+ return shape.position();
+}
+
+inline ecell4::Sphere::position_type& shape_position(ecell4::Sphere &shape)
+{
+ return shape.position();
+}
+
+template<>
+struct shape_position_type<ecell4::Sphere> {
+ typedef ecell4::Sphere::position_type type;
+};
+
+// inline ecell4::Cylinder offset(
+// const ecell4::Cylinder& shape, ecell4::Cylinder::position_type off)
+// {
+// ecell4::Cylinder retval(shape);
+// retval.position() += off;
+// return retval;
+// }
+
+inline ecell4::Cylinder::length_type
+distance(const ecell4::Cylinder& obj, const ecell4::Cylinder::position_type& pos)
+{
+ return distance(pos, obj.position()) - obj.radius();
+}
+
+template<typename T_>
+inline ecell4::Cylinder::length_type
+distance_cyclic(
+ const ecell4::Cylinder& p1, T_ const& p2,
+ const ecell4::Cylinder::position_type& edge_lengths)
+{
+ return distance(p1, periodic_transpose(p2, p1.position(), edge_lengths));
+}
+
+inline ecell4::Cylinder::length_type const& shape_size(ecell4::Cylinder const& shape)
+{
+ return shape.size();
+}
+
+inline ecell4::Cylinder::length_type& shape_size(ecell4::Cylinder &shape)
+{
+ return shape.size();
+}
+
+inline ecell4::Cylinder::position_type const& shape_position(ecell4::Cylinder const& shape)
+{
+ return shape.position();
+}
+
+inline ecell4::Cylinder::position_type& shape_position(ecell4::Cylinder &shape)
+{
+ return shape.position();
+}
+
+template<>
+struct shape_position_type<ecell4::Cylinder> {
+ typedef ecell4::Cylinder::position_type type;
+};
+
+namespace ecell4
+{
+
+template<typename Tstrm_, typename Ttraits_>
+inline std::basic_ostream<Tstrm_, Ttraits_>& operator<<(
+ std::basic_ostream<Tstrm_, Ttraits_>& strm, const ecell4::Sphere& v)
+{
+ strm << "{" << v.position() << ", " << v.radius() << "}";
+ return strm;
+}
+
+template<typename Tstrm_, typename Ttraits_>
+inline std::basic_ostream<Tstrm_, Ttraits_>& operator<<(
+ std::basic_ostream<Tstrm_, Ttraits_>& strm, const ecell4::Cylinder& v)
+{
+ strm << "{" << v.position() << ", " << v.radius()
+ << ", " << v.axis() << ", " << v.half_height() << "}";
+ return strm;
+}
+
+} // ecell4
+
+#endif
diff --git a/ecell4/egfrd/Polygon.hpp b/ecell4/egfrd/Polygon.hpp
new file mode 100644
index 0000000..b45ffe6
--- /dev/null
+++ b/ecell4/egfrd/Polygon.hpp
@@ -0,0 +1,215 @@
+#ifndef EGFRD_POLYGON
+#define EGFRD_POLYGON
+
+#include <ecell4/core/Shape.hpp>
+#include <ecell4/core/AABB.hpp>
+#include <ecell4/core/Real3.hpp>
+#include "exceptions.hpp"
+#include "FaceTriangle.hpp"
+#include <limits>
+#include <algorithm>
+
+template<typename coordT>
+struct Polygon : public ecell4::Shape
+{
+ typedef coordT coordinate_type;
+ typedef FaceTriangle<coordinate_type> face_type;
+ typedef std::size_t face_id_type;
+
+ Polygon(){}
+ ~Polygon(){}
+
+ // nearest
+ // (intruders, (idx, (distance, max_radius)))
+ std::pair<std::vector<std::size_t>, std::pair<std::size_t, std::pair<Real, Real> > >
+ get_faces_within_radius(const coordinate_type& pos, const Real range) const;
+
+ void emplace(const boost::array<coordinate_type, 3>& vertices)
+ {
+ this->faces.push_back(face_type(vertices));
+ }
+
+ // assume the segment collides a face at first and
+ // return pairof(new begin, new end) and id of collided face
+ std::pair<std::pair<coordinate_type, coordinate_type>, face_id_type>
+ apply_reflection(const coordinate_type& pos, const coordinate_type& displacement,
+ const std::vector<face_id_type>& intruder_faces,
+ const face_id_type ignore_face) const;
+
+ std::pair<std::pair<coordinate_type, coordinate_type>, face_id_type>
+ apply_reflection(const coordinate_type& pos, const coordinate_type& displacement,
+ const face_id_type intruder_face) const;
+
+ std::pair<bool, std::pair<Real, face_id_type> >
+ intersect_ray(const coordinate_type& pos, const coordinate_type& disp,
+ const face_id_type ignore_face) const;
+
+ static face_id_type make_nonsence_id(){return std::numeric_limits<std::size_t>::max();}
+
+// data member
+ std::vector<face_type> faces;
+
+// for shapes (not implemented yet)
+ dimension_kind dimension() const {return THREE;}
+ Real is_inside(const coordinate_type& coord) const;
+ coordinate_type draw_position(boost::shared_ptr<ecell4::RandomNumberGenerator>& rng) const;
+ bool test_AABB(const coordinate_type& l, const coordinate_type& u) const;
+};
+
+template<typename coordT>
+std::pair<std::vector<std::size_t>, std::pair<std::size_t, std::pair<Real, Real> > >
+Polygon<coordT>::get_faces_within_radius(const coordinate_type& pos, const Real range) const
+{
+ std::vector<std::size_t> intruders;
+ std::size_t nearest_idx = std::numeric_limits<std::size_t>::max();
+ std::pair<Real, Real> min_dist(std::numeric_limits<Real>::max(), 0.);
+ std::size_t idx = 0;
+ for(typename std::vector<FaceTriangle<coordinate_type> >::const_iterator
+ iter = faces.begin(); iter != faces.end(); ++iter)
+ {
+ std::pair<Real, Real> dist = distance(pos, *iter);
+ if(dist.first <= range) // is intruder face
+ intruders.push_back(idx);
+
+ if(dist.first < min_dist.first) // is nearest one
+ {
+ min_dist = dist;
+ nearest_idx = idx;
+ }
+ ++idx;
+ }
+ return std::make_pair(intruders, std::make_pair(nearest_idx, min_dist));
+}
+
+template<typename coordT>
+std::pair<std::pair<typename Polygon<coordT>::coordinate_type,
+ typename Polygon<coordT>::coordinate_type>,
+ typename Polygon<coordT>::face_id_type>
+Polygon<coordT>::apply_reflection(
+ const coordinate_type& pos, const coordinate_type& displacement,
+ const std::vector<face_id_type>& intruder_faces,
+ const face_id_type ignore_face) const
+{
+ const coordinate_type end = pos + displacement;
+ if(intruder_faces.empty())
+ return std::make_pair(std::make_pair(end, end), make_nonsence_id());
+
+ bool collide_face = false;
+ coordinate_type next_begin = end;
+ face_id_type first_collide_face_idx = make_nonsence_id();
+ Real first_collide_distance = length(displacement);
+
+ for(typename std::vector<face_id_type>::const_iterator
+ iter = intruder_faces.begin(); iter != intruder_faces.end(); ++iter)
+ {
+ if(*iter == ignore_face) continue;
+
+ const std::pair<bool, coordinate_type> test_result =
+ test_intersect_segment_triangle(pos, end, faces.at(*iter));
+
+ if(test_result.first)
+ {
+ const Real dist_to_face = length(test_result.second - pos);
+
+ if(dist_to_face < first_collide_distance)
+ {
+ collide_face = true;
+ first_collide_face_idx = *iter;
+ first_collide_distance = dist_to_face;
+ next_begin = test_result.second;
+ }
+ else if(dist_to_face == first_collide_distance)
+ {
+ throw ecell4::NotImplemented("collide 2 object at the same time");
+ }
+ }
+ }
+ if(!collide_face)
+ return std::make_pair(std::make_pair(end, end), make_nonsence_id());
+
+ const coordinate_type next_end =
+ reflect_plane(pos, end, faces.at(first_collide_face_idx));
+
+ return std::make_pair(
+ std::make_pair(next_begin, next_end), first_collide_face_idx);
+}
+
+
+template<typename coordT>
+std::pair<std::pair<typename Polygon<coordT>::coordinate_type,
+ typename Polygon<coordT>::coordinate_type>,
+ typename Polygon<coordT>::face_id_type>
+Polygon<coordT>::apply_reflection(
+ const coordinate_type& pos, const coordinate_type& displacement,
+ const face_id_type intruder_face) const
+{
+ const coordinate_type end = pos + displacement;
+ const std::pair<bool, coordinate_type> test_result =
+ test_intersect_segment_triangle(pos, end, faces.at(intruder_face));
+
+ const coordinate_type next_end =
+ reflect_plane(pos, end, faces.at(intruder_face));
+
+ return std::make_pair(
+ std::make_pair(test_result.second, next_end), intruder_face);
+}
+
+
+template<typename coordT>
+std::pair<bool, std::pair<Real, typename Polygon<coordT>::face_id_type> >
+Polygon<coordT>::intersect_ray(
+ const coordinate_type& pos, const coordinate_type& disp,
+ const face_id_type ignore_face) const
+{
+ const std::pair<std::vector<face_id_type>,
+ std::pair<face_id_type, std::pair<Real, Real> > > intruders =
+ this->get_faces_within_radius(pos, length(disp));
+
+ bool collide_face = false;
+ face_id_type first_collide_face_idx = std::numeric_limits<std::size_t>::max();
+ Real first_collide_distance = length(disp);
+ const coordinate_type end = pos + disp;
+ for(typename std::vector<face_id_type>::const_iterator
+ iter = intruders.first.begin(); iter != intruders.first.end(); ++iter)
+ {
+ if(*iter == ignore_face) continue;
+
+ const std::pair<bool, coordinate_type> test_result =
+ test_intersect_segment_triangle(pos, end, this->faces.at(*iter));
+
+ if(test_result.first)
+ {
+ const Real dist_to_face = length(test_result.second - pos);
+ if(dist_to_face < first_collide_distance)
+ {
+ collide_face = true;
+ first_collide_face_idx = *iter;
+ first_collide_distance = dist_to_face;
+ }
+ }
+ }
+
+ return std::make_pair(collide_face,
+ std::make_pair(first_collide_distance, first_collide_face_idx));
+}
+
+template<typename coordT>
+Real Polygon<coordT>::is_inside(const coordinate_type& coord) const
+{
+ throw ecell4::NotImplemented("polygon::is_inside");
+}
+
+template<typename coordT>
+typename Polygon<coordT>::coordinate_type
+Polygon<coordT>::draw_position(boost::shared_ptr<ecell4::RandomNumberGenerator>& rng) const
+{
+ throw ecell4::NotImplemented("polygon::draw_position");
+}
+
+template<typename coordT>
+bool Polygon<coordT>::test_AABB(const coordinate_type& l, const coordinate_type& u) const
+{
+ throw ecell4::NotImplemented("polygon::test_AABB");
+}
+
+#endif //EGFRD_POLYGON
diff --git a/ecell4/egfrd/README b/ecell4/egfrd/README
new file mode 100644
index 0000000..1d22685
--- /dev/null
+++ b/ecell4/egfrd/README
@@ -0,0 +1,95 @@
+
+:author: Koichi Takahashi
+
+
+E-Cell Particle Dynamics Prototype
+
+Copyright (C) 2008-2010 RIKEN
+Copyright (C) 2009-2010 AMOLF
+Copyright (C) 2005-2008 The Molecular Sciences Institute
+
+
+About this package
+========================
+
+This package is tentatively named E-Cell Particle Dynamics Prototype
+(EPDP). It currently implements the enhanced Greens Function Reaction
+Dynamics (eGFRD) algorithm and the reaction Brownian Dynamics (BD) simulation
+algorithm. Implementation of the original version of GFRD will
+possibly be added in future. The code is implemented with the hope
+that it will eventually be part of the E-Cell System Version 4
+multi-algorithm, multi-space simulation platform.
+
+The purpose of this prototype code written in mixed Python and C++ is
+to establish a solid and practical implementation of the algorithms,
+and to extend it into a form that is suitable for large-scale
+biochemical and cell simulations.
+
+The eGFRD algorithm first appeared and be used in a paper by
+Takahashi, Tanase-Nicola and ten Wolde [1], and will be described more
+in detail in a forthcoming paper[2].
+
+The reaction Brownian Dynamics algorithm is described in a paper by
+Morrelli and ten Wolde[3].
+
+
+Authors
+========================
+
+(alphabetical order)
+Kazunari Kaizu
+Moriyoshi Koizumi
+Thomase Miedema
+Koichi Takahashi
+
+
+License
+========================
+
+This package is distributed under the terms of GNU General Public License
+version 2. See COPYING.
+
+
+Building this package
+========================
+
+See INSTALL.
+
+
+History of the Code
+========================
+
+Koichi Takahashi initially stated development of the code in 2005 to
+implement his prototype of Greens Function Reaction Dynamics
+simulation method invented by Jeroen van Zon and Pieter Rein ten Wolde
+in AMOLF, Amsterdam[4]. He gave a brief invited talk about
+performance evaluation and applicability of the method to yeast
+pheromon response pathway (the Alpha pathway) using the prototype in
+the Third Annual Alpha Project Research Symposium (June 16-27, 2005, at UC
+Berkeley Art Museum).
+
+Later, in December 2006, ten Wolde, Sorin Tanase-Nicola, and Takahashi
+introduced the concept called first-passage processes[5][6] to Greens
+Function Reaction Dynamics by putting protective domains around
+particles to further boost the performance and accuracy of the method.
+The new method was named eGFRD (enhanced Greens Function Reaction
+Dynamics).
+
+
+Plans
+=========================
+
+Some features planned to be added are; surfaces, interactions between
+membrane proteins and proteins in solution, optimistic discrete-event
+scheduling for massive parallelization, connections to non-spatial
+simulation methods such as ODE and Gillespie methods.
+
+
+[1] K. Takahashi, S. Tanase-Nicola and P.R. ten Wolde, PNAS doi:10.1073/pnas.0906885107 (2010).
+[2] K. Takahashi, S. Tanase-Nicola and P.R. ten Wolde, in preparation.
+[3] M.J. Morelli and P.R. ten Wolde, J. Chem. Phys. 7;129(5):054112 (2008).
+[4] van Zon and ten Wolde, Phys. Rev. Lett. 94 (2005).
+[5] T. Opplestrup, V.V. Bulatov, G.H. Gilmer, M.H. Kalos, and B. Sadigh, Phys. Rev. Lett. 97 (2006).
+[6] M.H. Kalos, D. Levesque and L. Verlet, Phys. Rev. A 9 (1974).
+
+
diff --git a/ecell4/egfrd/ReactionRecord.hpp b/ecell4/egfrd/ReactionRecord.hpp
new file mode 100644
index 0000000..029a0d0
--- /dev/null
+++ b/ecell4/egfrd/ReactionRecord.hpp
@@ -0,0 +1,137 @@
+#ifndef REACTION_RECORD_HPP
+#define REACTION_RECORD_HPP
+
+#include <vector>
+#include "twofold_container.hpp"
+#include "utils/memberwise_compare.hpp"
+
+template<typename Tpid_, typename Trid_>
+class ReactionRecord
+{
+public:
+ typedef Tpid_ particle_id_pair;
+ typedef Trid_ reaction_rule_id_type;
+ typedef std::vector<particle_id_pair> container_type;
+ typedef container_type products_type;
+ typedef container_type reactants_type;
+
+public:
+ ReactionRecord()
+ : reaction_rule_id_(), reactants_(), products_() {}
+
+ template<typename Tset>
+ ReactionRecord(reaction_rule_id_type const& rid,
+ Tset const& products)
+ : reaction_rule_id_(rid), reactants_(),
+ products_(boost::begin(products), boost::end(products)) {}
+
+ template<typename Tset>
+ ReactionRecord(reaction_rule_id_type const& rid,
+ Tset const& products,
+ particle_id_pair const& p1)
+ : reaction_rule_id_(rid), reactants_(1, p1),
+ products_(boost::begin(products), boost::end(products)) {}
+
+ template<typename Tset>
+ ReactionRecord(reaction_rule_id_type const& rid,
+ Tset const& products,
+ particle_id_pair const& p1, particle_id_pair const& p2)
+ : reaction_rule_id_(rid), reactants_(),
+ products_(boost::begin(products), boost::end(products))
+ {
+ reactants_.push_back(p1);
+ reactants_.push_back(p2);
+ }
+
+ // HEADS UP: move constructor!
+ ReactionRecord(ReactionRecord const& that)
+ {
+ swap(const_cast<ReactionRecord&>(that));
+ }
+
+ reaction_rule_id_type const& reaction_rule_id() const
+ {
+ return reaction_rule_id_;
+ }
+
+ reactants_type const& reactants() const
+ {
+ return reactants_;
+ }
+
+ products_type const& products() const
+ {
+ return products_;
+ }
+
+ operator bool() const
+ {
+ return reactants_.size() != 0;
+ }
+
+ bool operator==(ReactionRecord const& rhs) const
+ {
+ return reaction_rule_id_ == rhs.reaction_rule_id() &&
+ memberwise_compare(reactants_, rhs.reactants_) == 0 &&
+ memberwise_compare(products_, rhs.products_) == 0;
+ }
+
+ bool operator!=(ReactionRecord const& rhs) const
+ {
+ return !operator==(rhs);
+ }
+
+ void swap(ReactionRecord& that)
+ {
+ std::swap(reaction_rule_id_, that.reaction_rule_id_);
+ reactants_.swap(that.reactants_);
+ products_.swap(that.products_);
+ }
+
+protected:
+ reaction_rule_id_type reaction_rule_id_;
+ reactants_type reactants_;
+ products_type products_;
+};
+
+template<typename Tchar, typename Ttraits, typename Tpid, typename Trid>
+inline std::basic_ostream<Tchar, Ttraits>&
+operator<<(std::basic_ostream<Tchar, Ttraits>& out,
+ ReactionRecord<Tpid, Trid> const& r)
+{
+ bool first;
+ out << "ReactionRecord(reaction_rule_id=" << r.reaction_rule_id() << ", ";
+ out << "reactants={";
+ typedef typename ReactionRecord<Tpid, Trid>::reactants_type reactants_type;
+ typedef typename ReactionRecord<Tpid, Trid>::products_type products_type;
+ reactants_type const& reactants(r.reactants());
+ for (typename boost::range_const_iterator<reactants_type>::type
+ i(boost::begin(reactants)), e(boost::end(reactants));
+ i != e; ++i)
+ {
+ if (!first)
+ {
+ out << ", ";
+ }
+ out << (*i).first;
+ first = false;
+ }
+ out << "}, products={";
+ first = true;
+ products_type const& products(r.products());
+ for (typename boost::range_const_iterator<products_type>::type
+ i(boost::begin(products)), e(boost::end(products));
+ i != e; ++i)
+ {
+ if (!first)
+ {
+ out << ", ";
+ }
+ out << (*i).first;
+ first = false;
+ }
+ out << "})";
+ return out;
+}
+
+#endif /* REACTION_RECORD_HPP */
diff --git a/ecell4/egfrd/ReactionRecorder.hpp b/ecell4/egfrd/ReactionRecorder.hpp
new file mode 100644
index 0000000..2ef869e
--- /dev/null
+++ b/ecell4/egfrd/ReactionRecorder.hpp
@@ -0,0 +1,16 @@
+#ifndef REACTION_RECORDER_HPP
+#define REACTION_RECORDER_HPP
+
+template<typename Trr_>
+class ReactionRecorder
+{
+public:
+ typedef Trr_ reaction_record_type;
+
+public:
+ virtual ~ReactionRecorder() {}
+
+ virtual void operator()(reaction_record_type const& rec) = 0;
+};
+
+#endif /* REACTION_RECORDER_HPP */
diff --git a/ecell4/egfrd/ReactionRecorderWrapper.hpp b/ecell4/egfrd/ReactionRecorderWrapper.hpp
new file mode 100644
index 0000000..82ee974
--- /dev/null
+++ b/ecell4/egfrd/ReactionRecorderWrapper.hpp
@@ -0,0 +1,134 @@
+#ifndef REACTION_RECORDER_WRAPPER_HPP
+#define REACTION_RECORDER_WRAPPER_HPP
+
+#include <boost/shared_ptr.hpp>
+#include <ecell4/core/ReactionRule.hpp>
+#include <ecell4/core/Identifier.hpp>
+#include "ReactionRecorder.hpp"
+#include "ReactionRecord.hpp"
+
+
+template<typename Trr_>
+class ReactionRecorderWrapper
+ : public ReactionRecorder<Trr_>
+{
+public:
+
+ typedef ReactionRecorder<Trr_> base_type;
+
+ typedef typename base_type::reaction_record_type reaction_record_type;
+ typedef typename reaction_record_type::particle_id_pair particle_id_pair;
+ typedef typename reaction_record_type::reaction_rule_id_type reaction_rule_id_type;
+ typedef typename reaction_record_type::reactants_type reactants_type;
+ typedef typename reaction_record_type::products_type products_type;
+
+public:
+
+ /**
+ * The following class is almost same with ReactionRecord now.
+ * This should be deprecated, or replaced with ReactionRecord.
+ */
+ class ReactionInfo
+ {
+ public:
+
+ typedef particle_id_pair element_type;
+ typedef std::vector<element_type> container_type;
+
+ public:
+
+ ReactionInfo(
+ const Real t, const container_type& reactants, const container_type& products)
+ : t_(t), reactants_(reactants), products_(products)
+ {}
+
+ ReactionInfo(const ReactionInfo& another)
+ : t_(another.t()), reactants_(another.reactants()), products_(another.products())
+ {}
+
+ Real t() const
+ {
+ return t_;
+ }
+
+ const container_type& reactants() const
+ {
+ return reactants_;
+ }
+
+ void add_reactant(const element_type& elem)
+ {
+ reactants_.push_back(elem);
+ }
+
+ const container_type& products() const
+ {
+ return products_;
+ }
+
+ void add_product(const element_type& elem)
+ {
+ products_.push_back(elem);
+ }
+
+ protected:
+
+ Real t_;
+ container_type reactants_, products_;
+ };
+
+ // typedef reaction_record_type reaction_info_type;
+ typedef ReactionInfo reaction_info_type;
+
+public:
+
+ ReactionRecorderWrapper()
+ : backend_()
+ {
+ ;
+ }
+
+ virtual ~ReactionRecorderWrapper()
+ {
+ ;
+ }
+
+ virtual void operator()(reaction_record_type const& rec)
+ {
+ if (backend_)
+ {
+ (*backend_)(rec);
+ }
+
+ last_reactions_.push_back(std::make_pair(
+ rec.reaction_rule_id(), reaction_info_type(0.0, rec.reactants(), rec.products())));
+ }
+
+ const std::vector<std::pair<ecell4::ReactionRule, reaction_info_type> >& last_reactions() const
+ {
+ return last_reactions_;
+ }
+
+ void clear()
+ {
+ last_reactions_.clear();
+ }
+
+ boost::shared_ptr<base_type> const& backend() const
+ {
+ return backend_;
+ }
+
+ boost::shared_ptr<base_type>& backend()
+ {
+ return backend_;
+ }
+
+protected:
+
+ std::vector<std::pair<ecell4::ReactionRule, reaction_info_type> > last_reactions_;
+ boost::shared_ptr<base_type> backend_;
+};
+
+
+#endif /* REACTION_RECORDER_WRAPPER_HPP */
diff --git a/ecell4/egfrd/ReactionRuleInfo.hpp b/ecell4/egfrd/ReactionRuleInfo.hpp
new file mode 100644
index 0000000..f564111
--- /dev/null
+++ b/ecell4/egfrd/ReactionRuleInfo.hpp
@@ -0,0 +1,112 @@
+#ifndef REACTION_RULE_INFO_HPP
+#define REACTION_RULE_INFO_HPP
+
+#include <vector>
+#include <algorithm>
+#include <boost/range/begin.hpp>
+#include <boost/range/end.hpp>
+#include "twofold_container.hpp"
+
+#include <sstream>
+
+template<typename Tid_, typename Tsid_, typename Trate_>
+class ReactionRuleInfo
+{
+public:
+ typedef Tsid_ species_id_type;
+
+private:
+ typedef std::vector<species_id_type> species_id_vector;
+
+public:
+ typedef species_id_vector species_id_range;
+ typedef Tid_ identifier_type;
+ typedef Trate_ rate_type;
+
+ identifier_type const& id() const
+ {
+ return id_;
+ }
+
+ species_id_range const& get_products() const
+ {
+ return products_;
+ }
+
+ twofold_container<species_id_type> const& get_reactants() const
+ {
+ return reactants_;
+ }
+
+ rate_type k() const
+ {
+ return k_;
+ }
+
+ template<typename Tr1_, typename Tr2_>
+ ReactionRuleInfo(identifier_type const& id, rate_type const& k,
+ Tr1_ const& reactants, Tr2_ const& products)
+ : id_(id), k_(k)
+ {
+ std::copy(boost::begin(reactants),
+ boost::end(reactants),
+ std::back_inserter(reactants_));
+ std::copy(boost::begin(products),
+ boost::end(products),
+ std::back_inserter(products_));
+ }
+
+ ReactionRuleInfo(): id_(), k_(), reactants_(), products_() {}
+
+ bool operator==(ReactionRuleInfo const& rhs) const
+ {
+ return id_ == rhs.id();
+ }
+
+ std::string c_str(void) const
+ {
+ std::ostringstream os;
+ if (this->reactants_.size() == 2) {
+ os << this->reactants_[0] << " + " << this->reactants_[1] << " ";
+ } else if (this->reactants_.size() == 1) {
+ os << this->reactants_[0] << " ";
+ } else {
+ os << "Invalid reactants size " << this->reactants_.size() << " ";
+ }
+ os << " ==> ";
+ if (this->products_.size() == 2) {
+ os << this->products_[0] << " + " << this->products_[1] << " ";
+ } else if (this->products_.size() == 1) {
+ os << this->products_[0] << " ";
+ } else {
+ os << "Invalid reactants size " << this->products_.size() << " ";
+ }
+ os << " K: " << this->k_;
+ return std::string( os.str() );
+ }
+
+private:
+ identifier_type id_;
+ rate_type k_;
+ twofold_container<species_id_type> reactants_;
+ species_id_vector products_;
+};
+
+template<typename Tid, typename Tsid, typename Trate>
+inline bool print_reaction_rule_vector(std::vector<ReactionRuleInfo<Tid, Tsid, Trate> > const &rrv)
+{
+ typename std::vector<ReactionRuleInfo<Tid, Tsid, Trate> >::const_iterator it( rrv.begin() );
+ for( ; it != rrv.end(); it++) {
+ std::cout << it->c_str() << std::endl;
+ }
+ std::cout << "=============================================================" << std::endl;
+ return true;
+}
+
+template<typename Tid, typename Tsid, typename Trate>
+inline bool valid(ReactionRuleInfo<Tid, Tsid, Trate> const& r)
+{
+ return r.get_reactants().size() != 0;
+}
+
+#endif /* REACTION_RULE_INFO_HPP */
diff --git a/ecell4/egfrd/Real3Type.hpp b/ecell4/egfrd/Real3Type.hpp
new file mode 100644
index 0000000..e52eb9c
--- /dev/null
+++ b/ecell4/egfrd/Real3Type.hpp
@@ -0,0 +1,58 @@
+#ifndef POSITION3_TRAITS_HPP
+#define POSITION3_TRAITS_HPP
+
+// This file containing the reference to the ecell4::Real3 and
+// some template traits of ecell4::Real3.
+//
+
+#include <ostream>
+#include <iomanip>
+#include <functional>
+#include <algorithm>
+
+#include <ecell4/core/Real3.hpp>
+
+#include <boost/array.hpp>
+#include "utils/array_traits.hpp"
+#include "linear_algebra.hpp"
+
+template<typename T_>
+struct shape_position_type
+{
+ struct argument_is_not_a_shape;
+ static const std::size_t x = sizeof(argument_is_not_a_shape);
+};
+
+template<typename T_>
+struct shape_length_type
+{
+ typedef typename element_type_of<typename shape_position_type<typename boost::remove_cv<T_>::type >::type>::type type;
+};
+
+template <std::size_t N_>
+struct is_vector<ecell4::Real3, N_>: public boost::mpl::true_ {};
+
+template <>
+struct element_type_of<ecell4::Real3>
+{
+ typedef ecell4::Real3::value_type type;
+};
+
+template<>
+struct shape_position_type<ecell4::Real3>
+{
+ typedef ecell4::Real3 type;
+};
+
+template<>
+struct shape_length_type<ecell4::Real3>
+{
+ typedef ecell4::Real3::value_type type;
+};
+
+inline ecell4::Real3 shape_position(ecell4::Real3 const &v)
+{
+ return v;
+}
+
+#endif /* POSITION3_TRAITS_HPP */
diff --git a/ecell4/egfrd/ShapedDomain.hpp b/ecell4/egfrd/ShapedDomain.hpp
new file mode 100644
index 0000000..bc607d0
--- /dev/null
+++ b/ecell4/egfrd/ShapedDomain.hpp
@@ -0,0 +1,31 @@
+#ifndef SHAPED_DOMAIN_HPP
+#define SHAPED_DOMAIN_HPP
+
+#include "Domain.hpp"
+
+template<typename Ttraits_>
+class ShapedDomain: public Domain<Ttraits_>
+{
+public:
+ typedef Ttraits_ traits_type;
+ typedef typename traits_type::domain_id_type identifier_type;
+ typedef typename traits_type::world_type::length_type length_type;
+ typedef typename traits_type::world_type::traits_type::position_type position_type;
+ typedef Domain<Ttraits_> base_type;
+
+public:
+ virtual ~ShapedDomain() {}
+
+ virtual position_type const& position() const = 0;
+
+ virtual position_type& position() = 0;
+
+ virtual length_type const& size() const = 0;
+
+ virtual length_type& size() = 0;
+
+ ShapedDomain(identifier_type const& id)
+ : base_type(id) {}
+};
+
+#endif /* SHAPED_DOMAIN_HPP */
diff --git a/ecell4/egfrd/Shell.hpp b/ecell4/egfrd/Shell.hpp
new file mode 100644
index 0000000..e632578
--- /dev/null
+++ b/ecell4/egfrd/Shell.hpp
@@ -0,0 +1,111 @@
+#ifndef SHELL_HPP
+#define SHELL_HPP
+
+#include <ecell4/core/config.h>
+#include <ecell4/core/hash.hpp>
+
+#include <ostream>
+
+template<typename Tshape_, typename Tdid_>
+struct Shell
+{
+ typedef Tshape_ shape_type;
+ typedef Tdid_ domain_id_type;
+ typedef typename shape_type::position_type position_type;
+ typedef typename shape_type::length_type length_type;
+
+ Shell(): domain_id_(), shape_() {}
+
+ Shell(domain_id_type const& domain_id, shape_type const& shape)
+ : domain_id_(domain_id), shape_(shape) {}
+
+ position_type& position()
+ {
+ return shape_.position();
+ }
+
+ position_type const& position() const
+ {
+ return shape_.position();
+ }
+
+ shape_type& shape()
+ {
+ return shape_;
+ }
+
+ shape_type const& shape() const
+ {
+ return shape_;
+ }
+
+ domain_id_type const& did() const
+ {
+ return domain_id_;
+ }
+
+ domain_id_type& did()
+ {
+ return domain_id_;
+ }
+
+ bool operator==(Shell const& rhs) const
+ {
+ return domain_id_ == rhs.did() && shape_ == rhs.shape();
+ }
+
+ bool operator!=(Shell const& rhs) const
+ {
+ return !operator==(rhs);
+ }
+
+private:
+ domain_id_type domain_id_;
+ shape_type shape_;
+};
+
+template<typename Tshape_, typename Tdid_>
+inline Shell<Tshape_, Tdid_> offset(
+ Shell<Tshape_, Tdid_> const& shape, typename Shell<Tshape_, Tdid_>::position_type off)
+{
+ Shell<Tshape_, Tdid_> retval(shape);
+ retval.position() += off;
+ return retval;
+}
+
+// template<typename Tshape_, typename Tdid_>
+// inline typename Shell<Tshape_, Tdid_>::shape_type& shape(Shell<Tshape_, Tdid_>& obj)
+// {
+// return obj.shape();
+// }
+
+template<typename Tshape_, typename Tdid_>
+inline typename Shell<Tshape_, Tdid_>::shape_type const& shape(Shell<Tshape_, Tdid_> const& obj)
+{
+ return obj.shape();
+}
+
+template<typename Tstrm_, typename Ttraits_, typename Tshape_, typename Tdid_>
+inline std::basic_ostream<Tstrm_, Ttraits_>& operator<<(std::basic_ostream<Tstrm_, Ttraits_>& strm, const Shell<Tshape_, Tdid_>& v)
+{
+ strm << "Shell(" << v.shape() << ", " << v.did() << ")";
+ return strm;
+}
+
+ECELL4_DEFINE_HASH_BEGIN()
+
+template<typename Tshape_, typename Tdid_>
+struct hash<Shell<Tshape_, Tdid_> >
+{
+ typedef Shell<Tshape_, Tdid_> argument_type;
+
+ std::size_t operator()(argument_type const& val)
+ {
+ return hash<typename argument_type::shape_type>()(val.shape()) ^
+ hash<typename argument_type::domain_id_type>()(val.did());
+ }
+};
+
+ECELL4_DEFINE_HASH_END()
+
+#endif /* SHELL_HPP */
diff --git a/ecell4/egfrd/ShellID.hpp b/ecell4/egfrd/ShellID.hpp
new file mode 100644
index 0000000..b48ebb2
--- /dev/null
+++ b/ecell4/egfrd/ShellID.hpp
@@ -0,0 +1,40 @@
+#ifndef SHELL_ID_HPP
+#define SHELL_ID_HPP
+
+#include <ecell4/core/config.h>
+#include <ecell4/core/hash.hpp>
+
+#include <ostream>
+// #include "Identifier.hpp"
+#include <ecell4/core/Identifier.hpp>
+
+struct ShellID: public ecell4::Identifier<ShellID, unsigned long long, int>
+{
+ typedef ecell4::Identifier<ShellID, unsigned long long, int> base_type;
+
+ ShellID(value_type const& value = value_type(0, 0))
+ : base_type(value) {}
+};
+
+ECELL4_DEFINE_HASH_BEGIN()
+
+template<>
+struct hash<ShellID>
+{
+ std::size_t operator()(ShellID const& val) const
+ {
+ return static_cast<std::size_t>(val().first ^ val().second);
+ }
+};
+
+ECELL4_DEFINE_HASH_END()
+
+template<typename Tstrm_>
+inline std::basic_ostream<Tstrm_>& operator<<(std::basic_ostream<Tstrm_>& strm,
+ const ShellID& v)
+{
+ strm << "ShellID(" << v().first << ":" << v().second << ")";
+ return strm;
+}
+
+#endif /* SHELL_ID_HPP */
diff --git a/ecell4/egfrd/Single.hpp b/ecell4/egfrd/Single.hpp
new file mode 100644
index 0000000..06ce361
--- /dev/null
+++ b/ecell4/egfrd/Single.hpp
@@ -0,0 +1,45 @@
+#ifndef SINGLE_HPP
+#define SINGLE_HPP
+
+#include <utility>
+#include "ShapedDomain.hpp"
+
+template<typename Ttraits_>
+class Single: public ShapedDomain<Ttraits_>
+{
+public:
+ typedef ShapedDomain<Ttraits_> base_type;
+ typedef Ttraits_ traits_type;
+ typedef typename traits_type::world_type::length_type length_type;
+ typedef typename traits_type::world_type::traits_type::position_type position_type;
+ typedef typename traits_type::world_type::particle_id_pair particle_id_pair;
+ typedef typename traits_type::domain_id_type identifier_type;
+ typedef typename traits_type::world_type::traits_type::D_type D_type;
+
+public:
+ virtual ~Single() {}
+
+ Single(identifier_type const& id,
+ particle_id_pair const& particle)
+ : base_type(id), particle_(particle) {}
+
+ particle_id_pair const& particle() const
+ {
+ return particle_;
+ }
+
+ particle_id_pair& particle()
+ {
+ return particle_;
+ }
+
+ D_type const& D() const
+ {
+ return particle_.second.D();
+ }
+
+protected:
+ particle_id_pair particle_;
+};
+
+#endif /* SINGLE_HPP */
diff --git a/ecell4/egfrd/SphericalBesselGenerator.cpp b/ecell4/egfrd/SphericalBesselGenerator.cpp
new file mode 100644
index 0000000..5647eb4
--- /dev/null
+++ b/ecell4/egfrd/SphericalBesselGenerator.cpp
@@ -0,0 +1,271 @@
+#ifdef HAVE_CONFIG_H
+#include <ecell4/egfrd/config.h>
+#endif /* HAVE_CONFIG_H */
+
+#include <cassert>
+
+#include "compat.h"
+
+#include "SphericalBesselGenerator.hpp"
+
+#ifndef NO_BESSEL_TABLE
+#include "SphericalBesselTable.hpp"
+#endif
+
+
+#ifndef NO_BESSEL_TABLE
+static inline double hermite_interp(double x,
+ double x0, double dx,
+ double const* y_array)
+#else
+static inline double hermite_interp(double x,
+ double x0, double dx,
+ std::vector<double> const& y_array)
+#endif
+{
+ const double hinv = 1.0 / dx;
+
+ const size_t i = static_cast<size_t>((x - x0 ) * hinv);
+ const size_t index = i * 2;
+
+ const double x_lo = (x - x0) * hinv - i;
+ const double x_hi = 1.0 - x_lo;
+
+ const double y_lo = y_array[index];
+ const double ydot_lo = y_array[index + 1] * dx;
+ const double y_hi = y_array[index + 2];
+ const double ydot_hi = y_array[index + 3] * dx;
+
+ return x_hi * x_hi * (y_lo + x_lo * (2 * y_lo + ydot_lo))
+ + x_lo * x_lo * (y_hi + x_hi * (2 * y_hi - ydot_hi));
+}
+
+#ifndef NO_BESSEL_TABLE
+inline static Real interp(Real x_start, Real delta_x,
+ Real const* yTable, Real x)
+#else
+inline static Real interp(Real x_start, Real delta_x,
+ std::vector<double> const& yTable, Real x)
+#endif
+{
+ return hermite_interp(x, x_start, delta_x, yTable);
+}
+
+static Real _j(UnsignedInteger n, Real z)
+{
+ return gsl_sf_bessel_jl(n, z);
+}
+
+static Real _y(UnsignedInteger n, Real z)
+{
+ return gsl_sf_bessel_yl(n, z);
+}
+
+SphericalBesselGenerator const& SphericalBesselGenerator::instance()
+{
+ static const SphericalBesselGenerator sphericalBesselGenerator;
+ return sphericalBesselGenerator;
+}
+
+
+UnsignedInteger SphericalBesselGenerator::getMinNJ()
+{
+ return sb_table::sj_table_min;
+}
+
+UnsignedInteger SphericalBesselGenerator::getMinNY()
+{
+ return sb_table::sy_table_min;
+}
+
+UnsignedInteger SphericalBesselGenerator::getMaxNJ()
+{
+ return sb_table::sj_table_max;
+}
+
+UnsignedInteger SphericalBesselGenerator::getMaxNY()
+{
+ return sb_table::sy_table_max;
+}
+
+#ifndef NO_BESSEL_TABLE
+static sb_table::Table const* getSJTable(UnsignedInteger n)
+{
+ return sb_table::sj_table[n];
+}
+
+
+static sb_table::Table const* getSYTable(UnsignedInteger n)
+{
+ return sb_table::sy_table[n];
+}
+
+static inline Real _j_table(UnsignedInteger n, Real z)
+{
+ sb_table::Table const* tablen(getSJTable(n));
+
+ return interp(tablen->x_start, tablen->delta_x, tablen->y, z);
+}
+
+static inline Real _y_table(UnsignedInteger n, Real z)
+{
+ sb_table::Table const* tablen(getSYTable(n));
+
+ return interp(tablen->x_start, tablen->delta_x, tablen->y, z);
+}
+#else
+sb_table::Table const* SphericalBesselGenerator::getSJTable(UnsignedInteger n) const
+{
+ return &sj_table_[n];
+}
+
+
+sb_table::Table const* SphericalBesselGenerator::getSYTable(UnsignedInteger n) const
+{
+ return &sy_table_[n];
+}
+
+Real SphericalBesselGenerator::_j_table(UnsignedInteger n, Real z) const
+{
+ sb_table::Table const* tablen(getSJTable(n));
+
+ return interp(tablen->x_start, tablen->delta_x, tablen->y, z);
+}
+
+Real SphericalBesselGenerator::_y_table(UnsignedInteger n, Real z) const
+{
+ sb_table::Table const* tablen(getSYTable(n));
+
+ return interp(tablen->x_start, tablen->delta_x, tablen->y, z);
+}
+#endif
+
+static inline Real _j_smalln(UnsignedInteger n, Real z)
+{
+ assert(n <= 3 && n >= 0);
+
+ if(n == 0)
+ {
+ if(z != 0)
+ {
+ return std::sin(z) / z;
+ }
+ else
+ {
+ return 1.0;
+ }
+ }
+
+ if(z == 0.0)
+ {
+ return 0.0;
+ }
+
+ Real sin_z;
+ Real cos_z;
+ sincos(z, &sin_z, &cos_z);
+
+ const Real z_r(1. / z);
+
+ if(n == 1)
+ {
+ return (sin_z * z_r - cos_z) * z_r;
+ }
+ else if(n == 2)
+ {
+ const Real _3_zsq(3. * z_r * z_r);
+ return (_3_zsq - 1) * sin_z * z_r - _3_zsq * cos_z;
+ }
+ else //if(n == 3)
+ {
+ const Real _15_zsq(15. * z_r * z_r);
+ return ((_15_zsq - 6.) * sin_z * z_r -
+ (_15_zsq - 1) * cos_z) * z_r;
+ }
+
+}
+
+static inline Real _y_smalln(UnsignedInteger n, Real z)
+{
+ assert(n <= 2 && n >= 0);
+
+ if(n == 0)
+ {
+ return - std::cos(z) / z;
+ }
+
+ Real sin_z;
+ Real cos_z;
+ sincos(z, &sin_z, &cos_z);
+
+ const Real z_r(1. / z);
+
+ if(n == 1)
+ {
+ return - (cos_z * z_r + sin_z) * z_r;
+ }
+ else //if(n == 2)
+ {
+ const Real _3_zsq(3. * z_r * z_r);
+ return (1 - _3_zsq) * cos_z * z_r - _3_zsq * sin_z;
+ }
+}
+
+
+
+Real SphericalBesselGenerator::j(UnsignedInteger n, Real z) const
+{
+ if(n <= 3)
+ {
+ return _j_smalln(n, z);
+ }
+
+ if(n > getMaxNJ())
+ {
+ return _j(n, z);
+ }
+
+ const sb_table::Table* table(getSJTable(n));
+ assert(table != 0);
+
+ const Real minz(table->x_start + table->delta_x * 3);
+ const Real maxz(table->x_start + table->delta_x * (table->N-3));
+
+ if(z >= minz && z < maxz)
+ {
+ return _j_table(n, z);
+ }
+ else
+ {
+ return _j(n, z);
+ }
+}
+
+Real SphericalBesselGenerator::y(const UnsignedInteger n, const Real z) const
+{
+ if(n <= 2)
+ {
+ return _y_smalln(n, z);
+ }
+
+ if(n > getMaxNY())
+ {
+ return _y(n, z);
+ }
+
+ const sb_table::Table* table(getSYTable(n));
+ assert(table != 0);
+
+ const Real minz(table->x_start + table->delta_x * 3);
+ const Real maxz(table->x_start + table->delta_x * (table->N-3));
+
+ if(z >= minz && z < maxz)
+ {
+ return _y_table(n, z);
+ }
+ else
+ {
+ return _y(n, z);
+ }
+}
+
diff --git a/ecell4/egfrd/SphericalBesselGenerator.hpp b/ecell4/egfrd/SphericalBesselGenerator.hpp
new file mode 100644
index 0000000..c9e13ea
--- /dev/null
+++ b/ecell4/egfrd/SphericalBesselGenerator.hpp
@@ -0,0 +1,109 @@
+#ifndef __SPHERICALBESSELGENERATOR_HPP
+#define __SPHERICALBESSELGENERATOR_HPP
+
+#include <cmath>
+
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_spline.h>
+#include <gsl/gsl_sf_bessel.h>
+
+#include "Defs.hpp"
+
+// #define NO_BESSEL_TABLE
+
+#ifdef NO_BESSEL_TABLE
+#include "tablegen/sjy_table.hpp"
+
+namespace sb_table
+{
+
+struct Table
+{
+ unsigned int N;
+ double x_start;
+ double delta_x;
+ std::vector<double> y;
+};
+
+const unsigned int sj_table_min = 4;
+const unsigned int sj_table_max = 51;
+const unsigned int sy_table_min = 3;
+const unsigned int sy_table_max = 40;
+const unsigned int sjy_table_resolution = 35;
+
+} // sb_table
+#endif
+
+class SphericalBesselGenerator
+{
+
+ typedef UnsignedInteger Index;
+
+public:
+
+ SphericalBesselGenerator()
+ {
+#ifdef NO_BESSEL_TABLE
+ // std::cout << "SphericalBesselGenerator::SphericalBesselGenerator() was called."<< std::endl;
+ sjy_table table = jnyn(std::max(sb_table::sj_table_max, sb_table::sy_table_max), sb_table::sjy_table_resolution);
+
+ sj_table_.resize(sb_table::sj_table_max + 1);
+ for (unsigned int n(sb_table::sj_table_min); n<= sb_table::sj_table_max; ++n)
+ {
+ const int start(searchsorted(table.z, minz_j(n)));
+ const double z_start(table.z.at(start));
+ const int end(searchsorted(table.z, maxz_j(n)));
+ const std::vector<double> js(get_sub_sequence_from_matrix2(table.j, table.jdot, n, start, end));
+
+ const sb_table::Table sj_table_n = {end - start, z_start, table.delta, js};
+ sj_table_[n] = sj_table_n;
+ }
+
+ sy_table_.resize(sb_table::sy_table_max + 1);
+ for (unsigned int n(sb_table::sy_table_min); n<= sb_table::sy_table_max; ++n)
+ {
+ const int start(searchsorted(table.z, minz_y(n)));
+ const double z_start(table.z.at(start));
+ const int end(searchsorted(table.z, maxz_y(n)));
+ const std::vector<double> ys(get_sub_sequence_from_matrix2(table.y, table.ydot, n, start, end));
+
+ const sb_table::Table sy_table_n = {end - start, z_start, table.delta, ys};
+ sy_table_[n] = sy_table_n;
+ }
+ // std::cout << "SphericalBesselGenerator::SphericalBesselGenerator() was done."<< std::endl;
+#endif
+ }
+
+ ~SphericalBesselGenerator()
+ {
+ ; // do nothing
+ }
+
+ Real j(UnsignedInteger n, Real z) const;
+
+ Real y(UnsignedInteger n, Real z) const;
+
+ static UnsignedInteger getMinNJ();
+ static UnsignedInteger getMinNY();
+ static UnsignedInteger getMaxNJ();
+ static UnsignedInteger getMaxNY();
+
+ static SphericalBesselGenerator const& instance();
+
+#ifdef NO_BESSEL_TABLE
+ Real _j_table(UnsignedInteger n, Real z) const;
+ Real _y_table(UnsignedInteger n, Real z) const;
+ sb_table::Table const* getSJTable(UnsignedInteger n) const;
+ sb_table::Table const* getSYTable(UnsignedInteger n) const;
+
+private:
+
+ std::vector<sb_table::Table> sj_table_;
+ std::vector<sb_table::Table> sy_table_;
+#endif
+};
+
+
+
+
+#endif /* __SPHERICALBESSELGENERATOR_HPP */
diff --git a/ecell4/egfrd/StlFileReader.hpp b/ecell4/egfrd/StlFileReader.hpp
new file mode 100644
index 0000000..02cddad
--- /dev/null
+++ b/ecell4/egfrd/StlFileReader.hpp
@@ -0,0 +1,270 @@
+#ifndef GFRD_POLYGON_STL_FILE_READER
+#define GFRD_POLYGON_STL_FILE_READER
+#include <boost/array.hpp>
+#include <stdexcept>
+#include <string>
+#include <vector>
+#include <fstream>
+#include <iostream>
+#include <sstream>
+#include "Real3Type.hpp"
+
+template<typename coordT>
+struct StlTriangle
+{
+ StlTriangle(){}
+ StlTriangle(const coordT& n, const boost::array<coordT, 3>& vtx)
+ : normal(n), vertices(vtx)
+ {}
+ coordT normal;
+ boost::array<coordT, 3> vertices;
+};
+
+template<typename coordT>
+class StlFileReader
+{
+ public:
+ typedef StlTriangle<coordT> triangle_type;
+ enum FileType
+ {
+ Ascii,
+ Binary,
+ };
+
+ StlFileReader(){}
+ ~StlFileReader(){}
+
+ std::vector<triangle_type>
+ read(const std::string& filename, const FileType t) const;
+
+ private:
+
+ struct endsolid_exception{};
+
+ std::vector<triangle_type> read_ascii(const std::string& filename) const;
+ coordT read_ascii_vertex(const std::string& line) const;
+ coordT read_ascii_normal(const std::string& line) const;
+ triangle_type read_ascii_triangle(std::ifstream& ifs) const;
+
+ std::vector<triangle_type> read_binary(const std::string& filename) const;
+ coordT read_binary_vector(std::ifstream& ifs) const;
+ triangle_type read_binary_triangle(std::ifstream& ifs) const;
+};
+
+template<typename coordT>
+std::vector<StlTriangle<coordT> >
+StlFileReader<coordT>::read(
+ const std::string& filename, const StlFileReader<coordT>::FileType type) const
+{
+ switch(type)
+ {
+ case Ascii:
+ return this->read_ascii(filename);
+ case Binary:
+ return this->read_binary(filename);
+ default:
+ throw std::invalid_argument("stl unknown type");
+ }
+}
+
+template<typename coordT>
+std::vector<StlTriangle<coordT> >
+StlFileReader<coordT>::read_ascii(const std::string& filename) const
+{
+ std::ifstream ifs(filename.c_str());
+ if(!ifs.good())
+ throw std::runtime_error("file open error");
+
+ while(!ifs.eof())
+ {
+ std::string line;
+ std::getline(ifs, line);
+ std::istringstream iss(line);
+ std::string prefix;
+ iss >> prefix;
+ if(prefix == "solid")
+ {
+ std::cerr << "found solid." << std::endl;
+ std::cerr << line << std::endl;
+ break;
+ }
+ }
+ if(ifs.eof())
+ throw std::runtime_error("could not find solid line");
+
+ std::vector<StlTriangle<coordT> > retval;
+ while(!ifs.eof())
+ {
+ try
+ {
+ retval.push_back(this->read_ascii_triangle(ifs));
+ }
+ catch(endsolid_exception& esl)
+ {
+ break;
+ }
+ }
+ return retval;
+}
+
+template<typename coordT>
+StlTriangle<coordT>
+StlFileReader<coordT>::read_ascii_triangle(std::ifstream& ifs) const
+{
+ StlTriangle<coordT> retval;
+ bool normal_read = false;
+ std::size_t vertex_index = 0;
+ while(!ifs.eof())
+ {
+ std::string line;
+ std::getline(ifs, line);
+ std::istringstream iss(line);
+ std::string prefix;
+ iss >> prefix;
+
+ if(prefix == "facet")
+ {
+ if(normal_read)
+ throw std::runtime_error("invalid syntax");
+ normal_read = true;
+ retval.normal = this->read_ascii_normal(line);
+ }
+ else if(prefix == "outer")
+ {
+ ; // outer loop
+ }
+ else if(prefix == "vertex")
+ {
+ if(vertex_index > 2)
+ throw std::runtime_error("invalid syntax");
+ retval.vertices.at(vertex_index) = this->read_ascii_vertex(line);
+ ++vertex_index;
+ }
+ else if(prefix == "endloop")
+ {
+ ;
+ }
+ else if(prefix == "endfacet")
+ {
+ return retval;
+ }
+ else if(prefix == "endsolid")
+ {
+ throw endsolid_exception();
+ }
+ else
+ {
+ continue; // comment line?
+ }
+ }
+ throw std::runtime_error("invalid syntax");
+}
+
+
+template<typename coordT>
+coordT StlFileReader<coordT>::read_ascii_vertex(const std::string& line) const
+{
+ typedef typename element_type_of<coordT>::type valueT;
+ std::istringstream iss(line);
+ std::string prefix;
+ iss >> prefix;
+ if(prefix != "vertex") throw std::invalid_argument("not vertex line");
+ valueT x, y, z;
+ iss >> x >> y >> z;
+ return coordT(x, y, z);
+}
+
+template<typename coordT>
+coordT StlFileReader<coordT>::read_ascii_normal(const std::string& line) const
+{
+ typedef typename element_type_of<coordT>::type valueT;
+ std::istringstream iss(line);
+ std::string facet, normal;
+ iss >> facet >> normal;
+ if(facet != "facet" || normal != "normal")
+ throw std::invalid_argument("not vertex line");
+ valueT x, y, z;
+ iss >> x >> y >> z;
+ return coordT(x, y, z);
+}
+
+template<typename coordT>
+std::vector<StlTriangle<coordT> >
+StlFileReader<coordT>::read_binary(const std::string& filename) const
+{
+ std::ifstream ifs(filename.c_str(), std::ios::in | std::ios::binary);
+ if(!ifs.good())
+ throw std::runtime_error("file open error");
+
+ ifs.seekg(0, ifs.end);
+ const std::size_t size_of_file = ifs.tellg();
+ ifs.seekg(0, ifs.beg);
+
+ char *ch_header = new char[81];
+ ifs.read(ch_header, 80);
+ ch_header[80] = '\0';
+ const std::string header(ch_header);
+ delete [] ch_header;
+ std::cerr << "header : " << header << std::endl;
+
+ char *ch_numTriangle = new char [sizeof(unsigned int)];
+ ifs.read(ch_numTriangle, sizeof(unsigned int));
+ const std::size_t num_Triangle = *reinterpret_cast<unsigned int*>(ch_numTriangle);
+ delete [] ch_numTriangle;
+ std::cerr << "# of face: " << num_Triangle << std::endl;
+
+ if(50 * num_Triangle + 80 + sizeof(unsigned int) != size_of_file)
+ {
+ std::cerr << "file size must be 50 * number of triangle + 80 + 4" << std::endl;
+ std::cerr << " = " << 50 * num_Triangle + 80 + sizeof(unsigned int) << std::endl;
+ throw std::runtime_error("invalid filesize");
+ }
+
+ std::vector<StlTriangle<coordT> > retval(num_Triangle);
+ for(std::size_t i=0; i < num_Triangle; ++i)
+ {
+ retval.at(i) = this->read_binary_triangle(ifs);
+ }
+ return retval;
+}
+
+template<typename coordT>
+coordT StlFileReader<coordT>::read_binary_vector(std::ifstream& ifs) const
+{
+ char *float0 = new char [sizeof(float)];
+ char *float1 = new char [sizeof(float)];
+ char *float2 = new char [sizeof(float)];
+
+ ifs.read(float0, sizeof(float));
+ ifs.read(float1, sizeof(float));
+ ifs.read(float2, sizeof(float));
+
+ const float x = *reinterpret_cast<float*>(float0);
+ const float y = *reinterpret_cast<float*>(float1);
+ const float z = *reinterpret_cast<float*>(float2);
+
+ delete [] float0;
+ delete [] float1;
+ delete [] float2;
+
+ return coordT(x, y, z);
+}
+
+template<typename coordT>
+StlTriangle<coordT>
+StlFileReader<coordT>::read_binary_triangle(std::ifstream& ifs) const
+{
+ const coordT normal = read_binary_vector(ifs);
+ boost::array<coordT, 3> vertices;
+ vertices[0] = this->read_binary_vector(ifs);
+ vertices[1] = this->read_binary_vector(ifs);
+ vertices[2] = this->read_binary_vector(ifs);
+
+ char *unused_data = new char [2];
+ ifs.read(unused_data, 2);
+ delete [] unused_data;
+
+ return StlTriangle<coordT>(normal, vertices);
+}
+
+#endif /* GFRD_POLYGON_STL_FILE_READER */
diff --git a/ecell4/egfrd/Transaction.hpp b/ecell4/egfrd/Transaction.hpp
new file mode 100644
index 0000000..4fddaa9
--- /dev/null
+++ b/ecell4/egfrd/Transaction.hpp
@@ -0,0 +1,290 @@
+#ifndef TRANSACTION_HPP
+#define TRANSACTION_HPP
+
+#include <vector>
+#include <map>
+#include <boost/bind.hpp>
+#include <boost/lexical_cast.hpp>
+#include "utils.hpp"
+#include "exceptions.hpp"
+#include "ParticleContainer.hpp"
+#include "sorted_list.hpp"
+#include "generator.hpp"
+#include "utils/unassignable_adapter.hpp"
+#include "utils/stringizer.hpp"
+
+template<typename Ttraits_>
+class Transaction: public ParticleContainer<Ttraits_>
+{
+public:
+ typedef Ttraits_ traits_type;
+ typedef typename traits_type::particle_id_pair_generator
+ particle_id_pair_generator;
+
+ virtual ~Transaction() {}
+
+ virtual particle_id_pair_generator* get_added_particles() const = 0;
+
+ virtual particle_id_pair_generator* get_removed_particles() const = 0;
+
+ virtual particle_id_pair_generator* get_modified_particles() const = 0;
+
+ virtual void rollback() = 0;
+};
+
+template<typename Tpc_>
+class TransactionImpl: public Transaction<typename Tpc_::traits_type>
+{
+public:
+ typedef Tpc_ particle_container_type;
+ typedef typename particle_container_type::traits_type traits_type;
+ typedef Transaction<traits_type> base_type;
+
+ typedef typename traits_type::particle_type particle_type;
+ typedef typename traits_type::particle_shape_type particle_shape_type;
+ typedef typename traits_type::molecule_info_type molecule_info_type;
+ typedef typename traits_type::species_id_type species_id_type;
+ typedef typename traits_type::position_type position_type;
+ typedef typename traits_type::particle_id_type particle_id_type;
+ typedef typename traits_type::size_type size_type;
+ typedef typename traits_type::length_type length_type;
+ typedef typename traits_type::structure_id_type structure_id_type;
+ typedef typename traits_type::structure_type structure_type;
+ typedef typename traits_type::particle_id_pair particle_id_pair;
+ typedef typename traits_type::particle_id_pair_and_distance
+ particle_id_pair_and_distance;
+ typedef typename traits_type::particle_id_pair_and_distance_list
+ particle_id_pair_and_distance_list;
+ typedef typename traits_type::particle_id_pair_generator
+ particle_id_pair_generator;
+
+ typedef typename base_type::time_type time_type;
+
+private:
+ typedef std::map<typename particle_id_pair::first_type,
+ typename particle_id_pair::second_type> particle_id_pair_set_type;
+ typedef sorted_list<std::vector<particle_id_type> > particle_id_list_type;
+
+public:
+ virtual std::pair<particle_id_pair, bool> new_particle(species_id_type const& sid,
+ position_type const& pos)
+ {
+ std::pair<particle_id_pair, bool> retval(pc_.new_particle(sid, pos));
+ const bool result(added_particles_.push_no_duplicate(retval.first.first));
+ BOOST_ASSERT(result);
+ return retval;
+ }
+
+ virtual bool update_particle(const particle_id_type& pid, const particle_type& p)
+ {
+ BOOST_ASSERT(removed_particles_.end() ==
+ removed_particles_.find(pid));
+ std::pair<typename particle_id_pair_set_type::iterator, bool> r(
+ orig_particles_.insert(particle_id_pair(
+ pid, particle_type())));
+ if (r.second &&
+ added_particles_.end() == added_particles_.find(pid))
+ {
+ modified_particles_.push_no_duplicate(pid);
+ particle_type _v(pc_.get_particle(pid).second);
+ std::swap((*r.first).second, _v);
+ }
+ return pc_.update_particle(pid, p);
+ }
+
+ virtual void remove_particle(particle_id_type const& id)
+ {
+ std::pair<typename particle_id_pair_set_type::iterator, bool> r(
+ orig_particles_.insert(particle_id_pair(
+ id, particle_type())));
+ if (r.second)
+ {
+ particle_type _v(pc_.get_particle(id).second);
+ std::swap((*r.first).second, _v);
+ }
+
+ if (added_particles_.erase(id) == 0)
+ {
+ modified_particles_.erase(id);
+ const bool result(removed_particles_.push_no_duplicate(id));
+ BOOST_ASSERT(result);
+ }
+ else
+ {
+ orig_particles_.erase(id);
+ }
+
+ pc_.remove_particle(id);
+ }
+
+ virtual particle_id_pair get_particle(particle_id_type const& id) const
+ {
+ return pc_.get_particle(id);
+ }
+
+ virtual bool has_particle(particle_id_type const& id) const
+ {
+ return pc_.has_particle(id);
+ }
+
+ virtual particle_id_pair_and_distance_list check_overlap(particle_shape_type const& s) const
+ {
+ return pc_.check_overlap(s);
+ }
+
+ virtual particle_id_pair_and_distance_list check_overlap(particle_shape_type const& s, particle_id_type const& ignore) const
+ {
+ return pc_.check_overlap(s, ignore);
+ }
+
+ virtual particle_id_pair_and_distance_list check_overlap(particle_shape_type const& s, particle_id_type const& ignore1, particle_id_type const& ignore2) const
+ {
+ return pc_.check_overlap(s, ignore1, ignore2);
+ }
+
+ virtual Transaction<traits_type>* create_transaction()
+ {
+ return new TransactionImpl<particle_container_type>(*this);
+ }
+
+ virtual boost::shared_ptr<structure_type> get_structure(structure_id_type const& id) const
+ {
+ return pc_.get_structure(id);
+ }
+
+ // virtual molecule_info_type const& find_molecule_info(species_id_type const& id) const
+ // {
+ // return pc_.find_molecule_info(id);
+ // }
+
+ // virtual molecule_info_type const& get_molecule_info(species_id_type const& id)
+ // {
+ // return pc_.get_molecule_info(id);
+ // }
+
+ virtual molecule_info_type get_molecule_info(species_id_type const& id) const
+ {
+ return pc_.get_molecule_info(id);
+ }
+
+ virtual ecell4::Integer num_particles() const
+ {
+ return pc_.num_particles();
+ }
+
+ // virtual size_type num_particles() const
+ // {
+ // return pc_.num_particles();
+ // }
+
+ virtual const position_type& edge_lengths() const
+ {
+ return pc_.edge_lengths();
+ }
+
+ virtual particle_id_pair_generator* get_added_particles() const
+ {
+ return make_range_generator<true>(
+ make_transform_iterator_range(added_particles_,
+ boost::bind(&TransactionImpl::get_particle, this, _1)));
+ }
+
+ virtual particle_id_pair_generator* get_removed_particles() const
+ {
+ return make_range_generator<true>(
+ make_transform_iterator_range(removed_particles_,
+ boost::bind(&TransactionImpl::get_original_particle, this, _1)));
+ }
+
+ virtual particle_id_pair_generator* get_modified_particles() const
+ {
+ return make_range_generator<true>(
+ make_transform_iterator_range(modified_particles_,
+ boost::bind(&TransactionImpl::get_particle, this, _1)));
+ }
+
+ virtual void rollback()
+ {
+ for (typename particle_id_pair_set_type::iterator
+ i(orig_particles_.begin()), e(orig_particles_.end());
+ i != e; ++i)
+ {
+ pc_.update_particle((*i).first, (*i).second);
+ }
+
+ for (typename particle_id_list_type::iterator
+ i(added_particles_.begin()), e(added_particles_.end());
+ i != e; ++i)
+ {
+ pc_.remove_particle(*i);
+ }
+ added_particles_.clear();
+ modified_particles_.clear();
+ removed_particles_.clear();
+ orig_particles_.clear();
+ }
+
+ virtual length_type distance(position_type const& lhs,
+ position_type const& rhs) const
+ {
+ return pc_.distance(lhs, rhs);
+ }
+
+ virtual position_type apply_boundary(position_type const& v) const
+ {
+ return pc_.apply_boundary(v);
+ }
+
+ // virtual length_type apply_boundary(length_type const& v) const
+ // {
+ // return pc_.apply_boundary(v);
+ // }
+
+ virtual position_type periodic_transpose(position_type const& p0, position_type const& p1) const
+ {
+ return pc_.periodic_transpose(p0, p1);
+ }
+
+ // virtual length_type periodic_transpose(length_type const& p0, length_type const& p1) const
+ // {
+ // return pc_.periodic_transpose(p0, p1);
+ // }
+
+ virtual ~TransactionImpl() {}
+
+ TransactionImpl(particle_container_type& pc): pc_(pc) {}
+
+ /** ecell4::Space
+ */
+ // virtual const time_type& t() const
+ virtual const time_type t() const
+ {
+ return pc_.t();
+ }
+
+ virtual void set_t(const time_type& t)
+ {
+ pc_.set_t(t);
+ }
+
+private:
+ particle_id_pair get_original_particle(particle_id_type const& id) const
+ {
+ typename particle_id_pair_set_type::const_iterator i(orig_particles_.find(id));
+ if (orig_particles_.end() == i)
+ {
+ throw not_found(std::string("No such particle: id=")
+ + boost::lexical_cast<std::string>(id));
+ }
+ return *i;
+ }
+
+private:
+ particle_container_type& pc_;
+ particle_id_list_type added_particles_;
+ particle_id_list_type modified_particles_;
+ particle_id_pair_set_type orig_particles_;
+ particle_id_list_type removed_particles_;
+};
+
+#endif /* TRANSACTION_HPP */
diff --git a/ecell4/egfrd/TriangleOperation.hpp b/ecell4/egfrd/TriangleOperation.hpp
new file mode 100644
index 0000000..b3bd49d
--- /dev/null
+++ b/ecell4/egfrd/TriangleOperation.hpp
@@ -0,0 +1,187 @@
+#ifndef GFRD_POLYGON_TRIANGLE_OPERATION
+#define GFRD_POLYGON_TRIANGLE_OPERATION
+#include "Real3Type.hpp"
+#include <boost/array.hpp>
+#include <algorithm>
+#include <cassert>
+
+namespace ecell4{
+
+template<typename coordT>
+inline coordT centroid(const boost::array<coordT, 3>& vertices)
+{
+ return (vertices[0] + vertices[1] + vertices[2]) * (1e0 / 3e0);
+}
+
+template<typename coordT>
+inline coordT incenter(const boost::array<coordT, 3>& vertices)
+{
+ typedef typename element_type_of<coordT>::type valueT;
+ const valueT a = length(vertices[2] - vertices[1]);
+ const valueT b = length(vertices[0] - vertices[2]);
+ const valueT c = length(vertices[1] - vertices[0]);
+ const valueT abc = a + b + c;
+ return (vertices[0] * a + vertices[1] * b + vertices[2] * c) * (1e0 / abc);
+}
+
+template<typename coordT>
+inline coordT incenter(const boost::array<coordT, 3>& vertices,
+ const boost::array<coordT, 3>& edges)
+{
+ typedef typename element_type_of<coordT>::type valueT;
+ const valueT a = length(edges[1]);
+ const valueT b = length(edges[2]);
+ const valueT c = length(edges[0]);
+ const valueT abc = a + b + c;
+ return (vertices[0] * a + vertices[1] * b + vertices[2] * c) * (1e0 / abc);
+}
+
+template<typename coordT>
+inline coordT incenter(const boost::array<coordT, 3>& vertices,
+ const boost::array<typename element_type_of<coordT>::type, 3>& length_of_edge)
+{
+ typedef typename element_type_of<coordT>::type valueT;
+ const valueT a = length_of_edge[1];
+ const valueT b = length_of_edge[2];
+ const valueT c = length_of_edge[0];
+ const valueT abc = a + b + c;
+ return (vertices[0] * a + vertices[1] * b + vertices[2] * c) * (1e0 / abc);
+}
+
+template<typename coordT>
+inline std::size_t
+match_edge(const coordT& vec, const boost::array<coordT, 3>& edges,
+ const typename element_type_of<coordT>::type tol = 1e-10)
+{
+ for(std::size_t i=0; i<3; ++i)
+ {
+ if((std::abs(vec[0] - edges[i][0]) < tol) &&
+ (std::abs(vec[1] - edges[i][1]) < tol) &&
+ (std::abs(vec[2] - edges[i][2]) < tol)) return i;
+ }
+ throw std::invalid_argument("not match any edge");
+}
+
+template<typename coordT>
+coordT
+project_to_plane(const coordT& pos, const boost::array<coordT, 3>& vertices,
+ const coordT& normal)
+{
+ typedef typename element_type_of<coordT>::type valueT;
+ assert(std::abs(length(normal) - 1.0) < 1e-10);
+ const valueT distance = dot_product(normal, pos - vertices.front());
+ return pos - (normal * distance);
+}
+
+template<typename coordT>
+coordT
+closest_point(const coordT& pos, const boost::array<coordT, 3>& vertices)
+{
+ typedef typename element_type_of<coordT>::type valueT;
+ // this implementation is from Real-Time Collision Detection by Christer Ericson,
+ // published by Morgan Kaufmann Publishers, (c) 2005 Elsevier Inc.
+ // pp.141-142
+
+ const coordT a = vertices[0];
+ const coordT b = vertices[1];
+ const coordT c = vertices[2];
+
+ const coordT ab = b - a;
+ const coordT ac = c - a;
+ const coordT ap = pos - a;
+ const valueT d1 = dot_product(ab, ap);
+ const valueT d2 = dot_product(ac, ap);
+ if (d1 <= 0.0 && d2 <= 0.0)
+ return a;
+
+ const coordT bp = pos - b;
+ const valueT d3 = dot_product(ab, bp);
+ const valueT d4 = dot_product(ac, bp);
+ if (d3 >= 0.0 && d4 <= d3)
+ return b;
+
+ const valueT vc = d1*d4 - d3*d2;
+ if (vc <= 0.0 && d1 >= 0.0 && d3 <= 0.0)
+ {
+ valueT v = d1 / (d1 - d3);
+ return a + ab * v;
+ }
+
+ const coordT cp = pos - c;
+ const valueT d5 = dot_product(ab, cp);
+ const valueT d6 = dot_product(ac, cp);
+ if (d6 >= 0.0 && d5 <= d6)
+ return c;
+
+ const valueT vb = d5*d2 - d1*d6;
+ if (vb <= 0.0 && d2 >= 0.0 && d6 <= 0.0)
+ {
+ const valueT w = d2 / (d2 - d6);
+ return a + ac * w;
+ }
+
+ const valueT va = d3*d6 - d5*d4;
+ if (va <= 0.0 && (d4 - d3) >= 0.0 && (d5 - d6) >= 0.0)
+ {
+ const valueT w = (d4 - d3) / ((d4 - d3) + (d5 - d6));
+ return b + (c - b) * w;
+ }
+
+ const valueT denom = 1.0 / (va + vb + vc);
+ const valueT v = vb * denom;
+ const valueT w = vc * denom;
+ return a + ab * v + ac * w;
+}
+
+template<typename coordT>
+std::pair<typename element_type_of<coordT>::type, // distance
+ typename element_type_of<coordT>::type> // r of circle in triangle
+distance(const coordT& pos, const boost::array<coordT, 3>& vertices)
+{
+ return std::make_pair(length(closest_point(pos, vertices) - pos), 0.);
+}
+
+template<typename coordT>
+std::pair<bool, coordT>
+test_intersect_segment_triangle(const coordT& begin, const coordT& end,
+ const boost::array<coordT, 3>& vertices)
+{
+ typedef typename element_type_of<coordT>::type valueT;
+ // this implementation is from Real-Time Collision Detection by Christer Ericson,
+ // published by Morgan Kaufmann Publishers, (c) 2005 Elsevier Inc.
+ // pp.190-194
+
+ const coordT line = begin - end;
+ const coordT ab = vertices[1] - vertices[0];
+ const coordT ac = vertices[2] - vertices[0];
+ const coordT normal = cross_product(ab, ac);
+
+ const valueT d = dot_product(line, normal);
+ if(d < 0.0)
+ return std::make_pair(false, coordT(0.,0.,0.));
+
+ const coordT ap = begin - vertices[0];
+ const valueT t = dot_product(ap, normal);
+ if(t < 0.0 || d < t)
+ return std::make_pair(false, coordT(0.,0.,0.));
+
+ const coordT e = cross_product(line, ap);
+ valueT v = dot_product(ac, e);
+ if(v < 0. || d < v)
+ return std::make_pair(false, coordT(0.,0.,0.));
+ valueT w = -1.0 * dot_product(ab, e);
+ if(w < 0. || d < v + w)
+ return std::make_pair(false, coordT(0.,0.,0.));
+
+ const valueT ood = 1. / d;
+ v *= ood;
+ w *= ood;
+ const valueT u = 1. - v - w;
+ const coordT intersect = vertices[0] * u + vertices[1] * v + vertices[2] * w;
+
+ return std::make_pair(true, intersect);
+}
+
+
+}
+#endif /* GFRD_POLYGON_TRIANGLE */
diff --git a/ecell4/egfrd/VolumeClearer.hpp b/ecell4/egfrd/VolumeClearer.hpp
new file mode 100644
index 0000000..dca2ae8
--- /dev/null
+++ b/ecell4/egfrd/VolumeClearer.hpp
@@ -0,0 +1,19 @@
+#ifndef VOLUME_CLEARER_HPP
+#define VOLUME_CLEARER_HPP
+
+template<typename Tps_, typename Tpid_>
+class VolumeClearer
+{
+public:
+ typedef Tps_ particle_shape_type;
+ typedef Tpid_ particle_id_type;
+
+public:
+ virtual ~VolumeClearer() {}
+
+ virtual bool operator()(particle_shape_type const& shape, particle_id_type const& ignore) = 0;
+
+ virtual bool operator()(particle_shape_type const& shape, particle_id_type const& ignore0, particle_id_type const& ignore1) = 0;
+};
+
+#endif /* VOLUME_CLEARER_HPP */
diff --git a/ecell4/egfrd/World.hpp b/ecell4/egfrd/World.hpp
new file mode 100644
index 0000000..62de2b2
--- /dev/null
+++ b/ecell4/egfrd/World.hpp
@@ -0,0 +1,1083 @@
+#ifndef WORLD_HPP
+#define WORLD_HPP
+
+#include <sstream>
+
+#include <ecell4/core/exceptions.hpp>
+#include <ecell4/core/RandomNumberGenerator.hpp>
+#include <ecell4/core/Species.hpp>
+#include <ecell4/core/types.hpp>
+#include <ecell4/core/Identifier.hpp>
+#include <ecell4/core/SerialIDGenerator.hpp>
+#include <ecell4/core/Real3.hpp>
+#include <ecell4/core/Context.hpp>
+#include <ecell4/core/RandomNumberGenerator.hpp>
+#include <ecell4/core/Model.hpp>
+#include <ecell4/core/extras.hpp>
+#include <ecell4/core/SerialIDGenerator.hpp>
+#include <ecell4/core/get_mapper_mf.hpp>
+
+#ifdef WITH_HDF5
+#include <ecell4/core/ParticleSpaceHDF5Writer.hpp>
+#endif
+
+#include <ecell4/core/Sphere.hpp>
+#include "./ParticleTraits.hpp" // This refers ecell4::Particle
+#include "structures.hpp"
+
+#include <ecell4/core/ParticleSpaceCellListImpl.hpp>
+#include "ParticleContainer.hpp"
+
+#include <map>
+#include <boost/lexical_cast.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/weak_ptr.hpp>
+#include <boost/array.hpp>
+#include <boost/utility/enable_if.hpp>
+#include <boost/type_traits/is_same.hpp>
+#include <boost/foreach.hpp>
+#include "generator.hpp"
+#include "filters.hpp"
+//#include "ParticleID.hpp"
+//#include "SpeciesTypeID.hpp"
+//#include "SpeciesInfo.hpp"
+#include "Defs.hpp"
+//#include "SerialIDGenerator.hpp"
+#include "Transaction.hpp"
+// #include "Structure.hpp"
+// #include "Surface.hpp"
+// #include "Region.hpp"
+#include "geometry.hpp"
+//#include "GSLRandomNumberGenerator.hpp"
+//#include "Point.hpp" // XXX: workaround. should be removed later.
+#include "Real3Type.hpp"
+#include "utils/pair.hpp"
+
+// #include "ParticleSimulationStructure.hpp"
+// #include "CuboidalRegion.hpp"
+// #include "PlanarSurface.hpp"
+// #include "CylindricalSurface.hpp"
+// #include "SphericalSurface.hpp"
+
+/*
+ * ParticleContainerBase
+ */
+#include "utils/range.hpp"
+#include "utils/unassignable_adapter.hpp"
+#include "MatrixSpace.hpp"
+#include "abstract_set.hpp"
+#include "generator.hpp"
+#include "exceptions.hpp"
+#include "ParticleContainer.hpp"
+#include "Transaction.hpp"
+
+#include <ecell4/core/AABBSurface.hpp>
+#include "Polygon.hpp"
+
+
+// For twofold_container
+inline
+bool is_initialized(std::string const &obj)
+{
+ return (0 < obj.size());
+}
+
+inline
+bool is_initialized(ecell4::Species const &obj)
+{
+ return (0 < obj.serial().size());
+}
+
+template<typename Tderived_, typename TD_>
+struct WorldTraitsBase
+{
+ typedef std::size_t size_type;
+ typedef ecell4::Real length_type;
+ typedef ecell4::Real D_type;
+ typedef ecell4::Real time_type;
+ typedef ecell4::ParticleID particle_id_type;
+ typedef ecell4::SerialIDGenerator<particle_id_type> particle_id_generator;
+ typedef ecell4::Species species_id_type; // std::string
+ // typedef ecell4::Species::serial_type species_id_type; // std::string
+ typedef ecell4::Particle particle_type;
+ typedef ecell4::Real3 position_type;
+ // typedef ecell4::GSLRandomNumberGenerator rng_type;
+ typedef ecell4::RandomNumberGenerator rng_type;
+ typedef ecell4::Model model_type;
+
+ struct MoleculeInfo
+ {
+ const ecell4::Real radius;
+ const ecell4::Real D;
+ const std::string structure_id;
+ };
+
+ typedef MoleculeInfo molecule_info_type;
+ // typedef MoleculeInfo species_info_type;
+ // typedef SpeciesInfo<species_id_type, D_type, length_type, structure_id_type>
+ // species_info_type;
+
+ // typedef Sphere particle_shape_type;
+ typedef ecell4::Sphere particle_shape_type;
+ typedef std::string structure_id_type;
+
+ typedef std::pair<particle_id_type, particle_type> particle_id_pair;
+ // typedef std::pair<const particle_id_type, particle_type> particle_id_pair;
+ typedef std::pair<particle_id_pair, length_type> particle_id_pair_and_distance;
+ // typedef unassignable_adapter<particle_id_pair_and_distance, get_default_impl::std::vector> particle_id_pair_and_distance_list;
+ typedef std::vector<particle_id_pair_and_distance> particle_id_pair_and_distance_list;
+ typedef abstract_limited_generator<particle_id_pair> particle_id_pair_generator;
+
+ typedef ecell4::Structure<Tderived_> structure_type;
+ typedef ecell4::Structure<Tderived_> particle_simulation_structure_type;
+ typedef ecell4::AABBRegion<Tderived_> cuboidal_region_type;
+
+ // typedef Structure<Tderived_> structure_type;
+ // typedef ParticleSimulationStructure<Tderived_>
+ // particle_simulation_structure_type;
+ // // typedef Surface<Tderived_> surface_type;
+ // // typedef Region<Tderived_> region_type;
+ // // typedef SphericalSurface<Tderived_> spherical_surface_type;
+ // // typedef CylindricalSurface<Tderived_> cylindrical_surface_type;
+ // // typedef PlanarSurface<Tderived_> planar_surface_type;
+ // typedef CuboidalRegion<Tderived_> cuboidal_region_type;
+
+ static const Real tolerance();
+ static const Real TOLERANCE;
+};
+
+template<typename Tderived_, typename TD_>
+const Real WorldTraitsBase<Tderived_, TD_>::tolerance()
+{
+ return 1e-7;
+}
+
+template<typename Tderived_, typename TD_>
+const Real WorldTraitsBase<Tderived_, TD_>::TOLERANCE = WorldTraitsBase<Tderived_, TD_>::tolerance();
+
+template<typename TD_>
+struct WorldTraits: public WorldTraitsBase<WorldTraits<TD_>, TD_>
+{
+public:
+ typedef WorldTraitsBase<WorldTraits<TD_>, TD_> base_type;
+ typedef typename base_type::length_type length_type;
+ typedef typename base_type::position_type position_type;
+
+ template<typename Tval_>
+ static Tval_ apply_boundary(Tval_ const& v, position_type const& edge_lengths)
+ {
+ return v;
+ }
+
+ template<typename Tval_>
+ static Tval_ periodic_transpose(Tval_ const& p0, Tval_ const& p1, Tval_ const& world_size)
+ {
+ return p0;
+ }
+
+ template<typename T1_, typename T2_>
+ static length_type distance(T1_ const& p0, T2_ const& p1, position_type const& edge_lengths)
+ {
+ return ::distance(p0, p1);
+ }
+
+ template<typename Toc_, typename Tfun_, typename Tsphere_>
+ static void each_neighbor(Toc_& oc, Tfun_& fun, Tsphere_ const& pos)
+ {
+ oc.each_neighbor(oc.index(pos), fun);
+ }
+
+ template<typename Toc_, typename Tfun_, typename Tsphere_>
+ static void each_neighbor(Toc_ const& oc, Tfun_& fun, Tsphere_ const& pos)
+ {
+ oc.each_neighbor(oc.index(pos), fun);
+ }
+
+ template<typename Toc_, typename Tfun_, typename Tsphere_>
+ static void take_neighbor(Toc_& oc, Tfun_& fun, const Tsphere_& cmp)
+ {
+ take_neighbor(oc, fun, cmp);
+ }
+
+ template<typename Toc_, typename Tfun_, typename Tsphere_>
+ static void take_neighbor(Toc_ const& oc, Tfun_& fun, const Tsphere_& cmp)
+ {
+ take_neighbor(oc, fun, cmp);
+ }
+};
+
+template<typename TD_>
+struct CyclicWorldTraits: public WorldTraitsBase<CyclicWorldTraits<TD_>, TD_>
+{
+public:
+ typedef WorldTraitsBase<CyclicWorldTraits<TD_>, TD_> base_type;
+ typedef typename base_type::length_type length_type;
+ typedef typename base_type::position_type position_type;
+
+ template<typename Tval_>
+ static Tval_ apply_boundary(Tval_ const& v, position_type const& edge_lengths)
+ {
+ return ::apply_boundary(v, edge_lengths);
+ }
+
+ static length_type periodic_transpose(length_type const& p0, length_type const& p1, length_type const& world_size)
+ {
+ return ::periodic_transpose(p0, p1, world_size);
+ }
+
+ static position_type periodic_transpose(position_type const& p0, position_type const& p1, position_type const& edge_lengths)
+ {
+ return ::periodic_transpose(p0, p1, edge_lengths);
+ }
+
+ template<typename T1_, typename T2_, typename T3_>
+ static length_type distance(T1_ const& p0, T2_ const& p1, T3_ const& edge_lengths)
+ {
+ return distance_cyclic(p0, p1, edge_lengths);
+ }
+
+ template<typename Toc_, typename Tfun_, typename Tsphere_>
+ static void each_neighbor(Toc_& oc, Tfun_& fun, Tsphere_ const& pos)
+ {
+ oc.each_neighbor_cyclic(oc.index(pos), fun);
+ }
+
+ template<typename Toc_, typename Tfun_, typename Tsphere_>
+ static void each_neighbor(Toc_ const& oc, Tfun_& fun, Tsphere_ const& pos)
+ {
+ oc.each_neighbor_cyclic(oc.index(pos), fun);
+ }
+
+ template<typename Toc_, typename Tfun_, typename Tsphere_>
+ static void take_neighbor(Toc_& oc, Tfun_& fun, const Tsphere_& cmp)
+ {
+ take_neighbor_cyclic(oc, fun, cmp);
+ }
+
+ template<typename Toc_, typename Tfun_, typename Tsphere_>
+ static void take_neighbor(Toc_ const& oc, Tfun_& fun, const Tsphere_& cmp)
+ {
+ take_neighbor_cyclic(oc, fun, cmp);
+ }
+};
+
+template<typename Ttraits_>
+class World
+ : public ParticleContainer<Ttraits_>
+{
+public:
+
+ typedef Ttraits_ traits_type;
+ typedef ParticleContainer<Ttraits_> base_type;
+
+ typedef ParticleContainer<traits_type> particle_container_type;
+ typedef typename traits_type::length_type length_type;
+ typedef typename traits_type::molecule_info_type molecule_info_type;
+ typedef typename traits_type::position_type position_type;
+ typedef typename traits_type::particle_type particle_type;
+ typedef typename traits_type::particle_id_type particle_id_type;
+ typedef typename traits_type::particle_id_generator particle_id_generator;
+ typedef typename traits_type::species_id_type species_id_type;
+ typedef typename traits_type::particle_shape_type particle_shape_type;
+ typedef typename traits_type::size_type size_type;
+ typedef typename traits_type::structure_id_type structure_id_type;
+ typedef typename traits_type::structure_type structure_type;
+ typedef typename traits_type::rng_type rng_type;
+ typedef typename traits_type::particle_id_pair particle_id_pair;
+ typedef typename traits_type::particle_id_pair_and_distance_list
+ particle_id_pair_and_distance_list;
+ typedef typename traits_type::model_type model_type;
+
+ /**
+ * ParticleContainerBase
+ */
+ typedef MatrixSpace<particle_type, particle_id_type, ecell4::utils::get_mapper_mf> particle_matrix_type;
+ typedef sized_iterator_range<typename particle_matrix_type::const_iterator> particle_id_pair_range;
+ typedef typename particle_matrix_type::matrix_sizes_type matrix_sizes_type;
+ typedef ecell4::ParticleSpaceCellListImpl particle_space_type;
+ typedef typename base_type::transaction_type transaction_type;
+ typedef typename base_type::time_type time_type;
+
+protected:
+
+ typedef std::map<species_id_type, molecule_info_type> molecule_info_map;
+ typedef std::map<structure_id_type, boost::shared_ptr<structure_type> > structure_map;
+ typedef std::set<particle_id_type> particle_id_set;
+ typedef std::map<species_id_type, particle_id_set> per_species_particle_id_set;
+ typedef select_second<typename molecule_info_map::value_type> species_second_selector_type;
+ typedef select_second<typename structure_map::value_type> surface_second_selector_type;
+
+public:
+
+ typedef boost::transform_iterator<species_second_selector_type,
+ typename molecule_info_map::const_iterator> molecule_info_iterator;
+ typedef boost::transform_iterator<surface_second_selector_type,
+ typename structure_map::const_iterator> surface_iterator;
+ typedef sized_iterator_range<molecule_info_iterator> molecule_info_range;
+ typedef sized_iterator_range<surface_iterator> structures_range;
+
+public:
+
+ World(
+ const position_type& edge_lengths = position_type(1, 1, 1),
+ const matrix_sizes_type& matrix_sizes = matrix_sizes_type(3, 3, 3))
+ : ps_(new particle_space_type(edge_lengths, matrix_sizes))
+ {
+ // rng_ = boost::shared_ptr<rng_type>(new rng_type());
+ rng_ = boost::shared_ptr<rng_type>(new ecell4::GSLRandomNumberGenerator());
+ (*rng_).seed();
+
+ add_world_structure();
+ }
+
+ World(
+ const position_type& edge_lengths, const matrix_sizes_type& matrix_sizes,
+ const boost::shared_ptr<rng_type>& rng)
+ :ps_(new particle_space_type(edge_lengths, matrix_sizes)), rng_(rng)
+ {
+ add_world_structure();
+ }
+
+ World(const std::string filename)
+ : ps_(new particle_space_type(position_type(1, 1, 1), matrix_sizes_type(3, 3, 3))), rng_()
+ {
+ rng_ = boost::shared_ptr<rng_type>(new ecell4::GSLRandomNumberGenerator());
+ this->load(filename);
+ }
+
+ virtual bool update_particle(const particle_id_type& pid, const particle_type& p)
+ {
+ if (molecule_info_map_.find(p.species()) == molecule_info_map_.end())
+ {
+ register_species(p);
+ }
+ return (*ps_).update_particle(pid, p);
+ }
+
+ molecule_info_range get_molecule_info_range() const
+ {
+ return molecule_info_range(
+ molecule_info_iterator(
+ molecule_info_map_.begin(), species_second_selector_type()),
+ molecule_info_iterator(
+ molecule_info_map_.end(), species_second_selector_type()),
+ molecule_info_map_.size());
+ }
+
+ bool add_structure(boost::shared_ptr<structure_type> surface)
+ {
+ return structure_map_.insert(std::make_pair(surface->id(), surface)).second;
+ }
+
+ virtual boost::shared_ptr<structure_type> get_structure(
+ structure_id_type const& id) const
+ {
+ typename structure_map::const_iterator i(structure_map_.find(id));
+ if (structure_map_.end() == i)
+ {
+ throw not_found(std::string("Unknown surface (id=")
+ + boost::lexical_cast<std::string>(id) + ")");
+ }
+ return (*i).second;
+ }
+
+ structures_range get_structures() const
+ {
+ return structures_range(
+ surface_iterator(structure_map_.begin(), surface_second_selector_type()),
+ surface_iterator(structure_map_.end(), surface_second_selector_type()),
+ structure_map_.size());
+ }
+
+ // particle_id_set get_particle_ids(species_id_type const& sid) const
+ // {
+ // typename per_species_particle_id_set::const_iterator i(
+ // particle_pool_.find(sid));
+ // if (i == particle_pool_.end())
+ // {
+ // throw not_found(std::string("Unknown species (id=")
+ // + boost::lexical_cast<std::string>(sid) + ")");
+ // }
+ // return (*i).second;
+ // }
+
+ /** ecell4::Space
+ */
+
+ inline boost::shared_ptr<rng_type>& rng()
+ {
+ return rng_;
+ }
+
+ virtual void save(const std::string& filename) const
+ {
+#ifdef WITH_HDF5
+ boost::scoped_ptr<H5::H5File>
+ fout(new H5::H5File(filename.c_str(), H5F_ACC_TRUNC));
+ rng_->save(fout.get());
+ pidgen_.save(fout.get());
+ boost::scoped_ptr<H5::Group>
+ group(new H5::Group(fout->createGroup("ParticleSpace")));
+ // ps_->save(group.get());
+ ecell4::save_particle_space(*this, group.get());
+
+ /** matrix_sizes
+ */
+ const matrix_sizes_type sizes = matrix_sizes();
+ const hsize_t dims[] = {3};
+ const H5::ArrayType sizes_type(H5::PredType::NATIVE_INT, 1, dims);
+ H5::Attribute attr_sizes(
+ group->createAttribute(
+ "matrix_sizes", sizes_type, H5::DataSpace(H5S_SCALAR)));
+ int data[] = {sizes[0], sizes[1], sizes[2]};
+ attr_sizes.write(sizes_type, data);
+
+ ecell4::extras::save_version_information(fout.get(), std::string("ecell4-egfrd-") + std::string(ECELL4_VERSION));
+#else
+ throw ecell4::NotSupported(
+ "This method requires HDF5. The HDF5 support is turned off.");
+#endif
+ }
+
+ virtual void load(const std::string& filename)
+ {
+#ifdef WITH_HDF5
+ //XXX: structures will be lost.
+ //XXX: the order of particles in MatrixSpace will be lost.
+ //XXX: initialize Simulator
+ boost::scoped_ptr<H5::H5File>
+ fin(new H5::H5File(filename.c_str(), H5F_ACC_RDONLY));
+
+ const std::string required = "ecell4-egfrd-4.1.0";
+ try
+ {
+ const std::string version = ecell4::extras::load_version_information(*fin);
+ if (!ecell4::extras::check_version_information(version, required))
+ {
+ std::stringstream ss;
+ ss << "The version of the given file [" << version
+ << "] is too old. [" << required << "] or later is required.";
+ throw ecell4::NotSupported(ss.str());
+ }
+ }
+ catch(H5::GroupIException not_found_error)
+ {
+ throw ecell4::NotFound("No version information was found.");
+ }
+
+ const H5::Group group(fin->openGroup("ParticleSpace"));
+
+ /** matrix_sizes
+ */
+ int data[3];
+ const hsize_t dims[] = {3};
+ const H5::ArrayType sizes_type(H5::PredType::NATIVE_INT, 1, dims);
+ group.openAttribute("matrix_sizes").read(sizes_type, data);
+ matrix_sizes_type sizes(data[0], data[1], data[2]);
+ //XXX: reset is called twice. see ecell4::load_particle_space
+ this->reset(edge_lengths(), sizes);
+
+ // ps_->load(group);
+ ecell4::load_particle_space(group, this);
+ pidgen_.load(*fin);
+ rng_->load(*fin);
+#else
+ throw ecell4::NotSupported(
+ "This method requires HDF5. The HDF5 support is turned off.");
+#endif
+ }
+
+ virtual const length_type volume() const
+ {
+ const position_type& L(edge_lengths());
+ return L[0] * L[1] * L[2];
+ }
+
+ virtual void reset(const position_type& lengths, const matrix_sizes_type& sizes)
+ {
+ boost::scoped_ptr<particle_space_type>
+ newps(new particle_space_type(lengths, sizes));
+ ps_.swap(newps);
+
+ ; // newps will be released here
+ }
+
+ void set_value(const ecell4::Species& sp, const ecell4::Real value)
+ {
+ const ecell4::Integer num1 = static_cast<ecell4::Integer>(value);
+ const ecell4::Integer num2 = num_molecules_exact(sp);
+ if (num1 > num2)
+ {
+ add_molecules(sp, num1 - num2);
+ }
+ else if (num1 < num2)
+ {
+ remove_molecules(sp, num2 - num1);
+ }
+ }
+
+ virtual ecell4::Real get_value(const ecell4::Species& sp) const
+ {
+ return static_cast<ecell4::Real>(num_molecules(sp));
+ }
+
+ virtual ecell4::Real get_value_exact(const ecell4::Species& sp) const
+ {
+ return static_cast<ecell4::Real>(num_molecules_exact(sp));
+ }
+
+ void bind_to(boost::shared_ptr<model_type> model)
+ {
+ if (boost::shared_ptr<model_type> bound_model = lock_model())
+ {
+ if (bound_model.get() != model.get())
+ {
+ std::cerr << "Warning: Model already bound to BDWorld"
+ << std::endl;
+ }
+ }
+
+ model_ = model;
+ }
+
+ boost::shared_ptr<model_type> lock_model() const
+ {
+ return model_.lock();
+ }
+
+ /**
+ * This is a function in the traits of ecell4::ParticleSpace.
+ * Be carefull about the difference from
+ * "particle_id_pair new_particle(species_id_type const&, position_type const&)".
+ */
+ std::pair<std::pair<particle_id_type, particle_type>, bool>
+ new_particle(const ecell4::Species& sp, const position_type& pos)
+ {
+ const species_id_type sid(sp.serial());
+ typename molecule_info_map::const_iterator i(molecule_info_map_.find(sid));
+ molecule_info_type const minfo(
+ i != molecule_info_map_.end() ? (*i).second : get_molecule_info(sp));
+ return new_particle(particle_type(sid, pos, minfo.radius, minfo.D));
+ }
+
+ std::pair<std::pair<particle_id_type, particle_type>, bool>
+ new_particle(const particle_type& p)
+ {
+ const particle_id_pair_and_distance_list overlapped(
+ check_overlap(
+ particle_shape_type(p.position(), p.radius())));
+ if (overlapped.size() > 0)
+ {
+ return std::make_pair(std::make_pair(pidgen_(), p), false);
+ // return std::make_pair(std::make_pair(particle_id_type(), p), false);
+ }
+ else
+ {
+ const particle_id_type pid = pidgen_();
+ return std::make_pair(std::make_pair(pid, p), update_particle(pid, p));
+ }
+ }
+
+ void add_molecules(const ecell4::Species& sp, const ecell4::Integer& num)
+ {
+ ecell4::extras::throw_in_particles(*this, sp, num, rng());
+ }
+
+ void add_molecules(
+ const ecell4::Species& sp, const ecell4::Integer& num,
+ const boost::shared_ptr<ecell4::Shape> shape)
+ {
+ ecell4::extras::throw_in_particles(*this, sp, num, shape, rng());
+ }
+
+ void remove_molecules(const ecell4::Species& sp, const ecell4::Integer& num)
+ {
+ if (num < 0)
+ {
+ throw std::invalid_argument(
+ "The number of molecules must be positive.");
+ }
+
+ std::vector<std::pair<ecell4::ParticleID, ecell4::Particle> >
+ particles(list_particles(sp));
+ const Integer num_particles(particles.size());
+ if (num_particles < num)
+ {
+ throw std::invalid_argument(
+ "The number of molecules cannot be negative.");
+ }
+
+ shuffle((*rng_), particles);
+ for (std::vector<std::pair<ecell4::ParticleID, ecell4::Particle> >::const_iterator
+ i(particles.begin()); i != particles.begin() + num; ++i)
+ {
+ remove_particle((*i).first);
+ }
+ }
+
+ /**
+ * draw attributes of species and return it as a molecule info.
+ * @param sp a species
+ * @return info a molecule info
+ */
+ molecule_info_type get_molecule_info(species_id_type const& sp) const
+ {
+ ecell4::Real radius(0.0), D(0.0);
+ std::string structure_id("world");
+
+ if (sp.has_attribute("radius") && sp.has_attribute("D"))
+ {
+ radius = std::atof(sp.get_attribute("radius").c_str());
+ D = std::atof(sp.get_attribute("D").c_str());
+ if (sp.has_attribute("structure_id"))
+ {
+ structure_id = sp.get_attribute("structure_id");
+ }
+ }
+ else if (boost::shared_ptr<model_type> bound_model = lock_model())
+ {
+ ecell4::Species attributed(bound_model->apply_species_attributes(sp));
+
+ if (attributed.has_attribute("radius")
+ && attributed.has_attribute("D"))
+ {
+ radius = std::atof(
+ attributed.get_attribute("radius").c_str());
+ D = std::atof(attributed.get_attribute("D").c_str());
+ }
+
+ if (sp.has_attribute("structure_id"))
+ {
+ structure_id = attributed.get_attribute("structure_id");
+ }
+ }
+
+ molecule_info_type info = {radius, D, structure_id};
+ return info;
+ }
+
+protected:
+
+ const molecule_info_type& register_species(const particle_type& p)
+ {
+ const molecule_info_type defaults = {p.radius(), p.D(), "world"};
+ const species_id_type sp(p.species());
+ molecule_info_type info = defaults;
+ // molecule_info_type info(get_molecule_info(sp, defaults));
+ molecule_info_map_.insert(std::make_pair(sp, info));
+ return (*molecule_info_map_.find(sp)).second;
+ }
+
+ void add_world_structure()
+ {
+ typedef typename traits_type::cuboidal_region_type cuboidal_region_type;
+ typedef typename cuboidal_region_type::shape_type
+ cuboidal_region_shape_type;
+
+ this->add_structure(
+ boost::shared_ptr<structure_type>(
+ new cuboidal_region_type(
+ "world", cuboidal_region_shape_type(
+ position_type(0, 0, 0), edge_lengths()))));
+ // const position_type& center(edge_lengths() * 0.5);
+ // this->add_structure(
+ // boost::shared_ptr<structure_type>(
+ // new cuboidal_region_type(
+ // "world", cuboidal_region_shape_type(center, center))));
+ }
+
+public:
+
+ /**
+ * redirects
+ */
+
+ virtual ecell4::Integer num_particles() const
+ {
+ return (*ps_).num_particles();
+ }
+
+ virtual ecell4::Integer num_particles_exact(const ecell4::Species& sp) const
+ {
+ return (*ps_).num_particles_exact(sp);
+ }
+
+ virtual ecell4::Integer num_particles(const ecell4::Species& sp) const
+ {
+ return (*ps_).num_particles(sp);
+ }
+
+ virtual ecell4::Integer num_molecules(const ecell4::Species& sp) const
+ {
+ return (*ps_).num_molecules(sp);
+ }
+
+ virtual ecell4::Integer num_molecules_exact(const ecell4::Species& sp) const
+ {
+ return (*ps_).num_molecules_exact(sp);
+ }
+
+ virtual ecell4::Integer num_species() const
+ {
+ return (*ps_).num_species();
+ }
+
+ virtual bool has_species(const ecell4::Species& sp) const
+ {
+ return (*ps_).has_species(sp);
+ }
+
+ virtual std::vector<std::pair<particle_id_type, particle_type> > list_particles() const
+ {
+ return (*ps_).list_particles();
+ }
+
+ virtual std::vector<std::pair<particle_id_type, particle_type> >
+ list_particles(const ecell4::Species& sp) const
+ {
+ return (*ps_).list_particles(sp);
+ }
+
+ virtual std::vector<std::pair<particle_id_type, particle_type> >
+ list_particles_exact(const ecell4::Species& sp) const
+ {
+ return (*ps_).list_particles_exact(sp);
+ }
+
+ std::vector<ecell4::Species> list_species() const
+ {
+ return (*ps_).list_species();
+ }
+
+ virtual const position_type& edge_lengths() const
+ {
+ return (*ps_).edge_lengths();
+ }
+
+ virtual void reset(const position_type& lengths)
+ {
+ (*ps_).reset(lengths);
+ }
+
+ position_type cell_sizes() const
+ {
+ return (*ps_).cell_sizes();
+ }
+
+ matrix_sizes_type matrix_sizes() const
+ {
+ return (*ps_).matrix_sizes();
+ }
+
+ virtual bool has_particle(particle_id_type const& id) const
+ {
+ return (*ps_).has_particle(id);
+ }
+
+ virtual particle_id_pair get_particle(particle_id_type const& id) const
+ {
+ return (*ps_).get_particle(id);
+ }
+
+ virtual length_type distance(
+ position_type const& lhs, position_type const& rhs) const
+ {
+ return (*ps_).distance(lhs, rhs);
+ }
+
+ virtual position_type apply_boundary(position_type const& v) const
+ {
+ return (*ps_).apply_boundary(v);
+ }
+
+ virtual const time_type t() const
+ {
+ return (*ps_).t();
+ }
+
+ virtual void set_t(const time_type& t)
+ {
+ (*ps_).set_t(t);
+ }
+
+ virtual void remove_particle(particle_id_type const& id)
+ {
+ (*ps_).remove_particle(id);
+ }
+
+ virtual position_type periodic_transpose(
+ position_type const& p0, position_type const& p1) const
+ {
+ return (*ps_).periodic_transpose(p0, p1);
+ }
+
+ std::vector<std::pair<std::pair<particle_id_type, particle_type>, length_type> >
+ list_particles_within_radius(
+ const position_type& pos, const length_type& radius) const
+ {
+ return (*ps_).list_particles_within_radius(pos, radius);
+ }
+
+ std::vector<std::pair<std::pair<particle_id_type, particle_type>, length_type> >
+ list_particles_within_radius(
+ const position_type& pos, const length_type& radius,
+ const particle_id_type& ignore) const
+ {
+ return (*ps_).list_particles_within_radius(pos, radius, ignore);
+ }
+
+ std::vector<std::pair<std::pair<particle_id_type, particle_type>, length_type> >
+ list_particles_within_radius(
+ const position_type& pos, const length_type& radius,
+ const particle_id_type& ignore1, const particle_id_type& ignore2) const
+ {
+ return (*ps_).list_particles_within_radius(pos, radius, ignore1, ignore2);
+ }
+
+ /**
+ * wrappers
+ */
+
+ template<typename T1_>
+ T1_ calculate_pair_CoM(
+ T1_ const& p1, T1_ const& p2,
+ typename element_type_of<T1_>::type const& D1,
+ typename element_type_of<T1_>::type const& D2)
+ {
+ typedef typename element_type_of<T1_>::type element_type;
+
+ const T1_ p2_trans(periodic_transpose(p2, p1));
+ const element_type D12(add(D1, D2));
+ const element_type s(divide(D1, D12)), t(divide(D2, D12));
+ const T1_ com(add(multiply(p1, t), multiply(p2_trans, s)));
+ return apply_boundary(com);
+ }
+
+ particle_id_pair get_particle(particle_id_type const& id, bool& found) const
+ {
+ found = (*ps_).has_particle(id);
+ if (!found)
+ {
+ return particle_id_pair();
+ }
+ return get_particle(id);
+ }
+
+ virtual particle_id_pair_and_distance_list check_overlap(particle_shape_type const& s) const
+ {
+ return (*ps_).list_particles_within_radius(s.position(), s.radius());
+ }
+
+ virtual particle_id_pair_and_distance_list check_overlap(particle_shape_type const& s, particle_id_type const& ignore) const
+ {
+ return (*ps_).list_particles_within_radius(s.position(), s.radius(), ignore);
+ }
+
+ virtual particle_id_pair_and_distance_list check_overlap(particle_shape_type const& s, particle_id_type const& ignore1, particle_id_type const& ignore2) const
+ {
+ return (*ps_).list_particles_within_radius(s.position(), s.radius(), ignore1, ignore2);
+ }
+
+ // template<typename Tsph_, typename Tset_>
+ // particle_id_pair_and_distance_list* check_overlap(Tsph_ const& s, Tset_ const& ignore,
+ // typename boost::disable_if<boost::is_same<Tsph_, particle_id_pair> >::type* = 0) const
+ // {
+ // typename utils::template overlap_checker<Tset_> oc(ignore);
+ // traits_type::take_neighbor(*pmat_, oc, s);
+ // return oc.result();
+ // }
+
+ // template<typename Tsph_>
+ // particle_id_pair_and_distance_list* check_overlap(Tsph_ const& s,
+ // typename boost::disable_if<boost::is_same<Tsph_, particle_id_pair> >::type* = 0) const
+ // {
+ // typename utils::template overlap_checker<boost::array<particle_id_type, 0> > oc;
+ // traits_type::take_neighbor(*pmat_, oc, s);
+ // return oc.result();
+ // }
+
+ particle_id_pair_range get_particles_range() const
+ {
+ const particle_space_type::particle_container_type& particles((*ps_).particles());
+ return particle_id_pair_range(particles.begin(), particles.end(), particles.size());
+ }
+
+ /**
+ *
+ */
+
+ virtual transaction_type* create_transaction();
+
+ template<typename T_>
+ length_type distance(T_ const& lhs, position_type const& rhs) const
+ {
+ // return (*ps_).distance(lhs, rhs);
+ return traits_type::distance(lhs, rhs, edge_lengths());
+ }
+
+ void clear()
+ {
+ // particle_id_generator pidgen_;
+ // boost::shared_ptr<rng_type> rng_;
+ // boost::weak_ptr<model_type> model_;
+ ; // do nothing
+
+ // molecule_info_map molecule_info_map_;
+ // structure_map structure_map_;
+ // per_species_particle_id_set particle_pool_;
+ molecule_info_map_.clear();
+ structure_map_.clear();
+
+ (*ps_).reset((*ps_).edge_lengths());
+ }
+
+ // for polygon
+ virtual void add_surface(const boost::array<position_type, 3>& vertices)
+ {
+ polygon_.emplace(vertices);
+ }
+
+// virtual position_type
+// apply_reflection(const position_type& pos, const position_type& disp)
+// {
+// return polygon_.apply_reflection(pos, disp,
+// (polygon_.get_faces_within_radius(pos, length(disp))).first,
+// this->edge_lengths());
+// }
+
+ virtual position_type
+ apply_structure(const position_type& pos, const position_type& disp)
+ {
+ return this->apply_structure_rec(pos, disp, Polygon<position_type>::make_nonsence_id());
+ }
+
+protected:
+
+ // for polygon
+ position_type
+ apply_structure_rec(const position_type& pos, const position_type& disp,
+ const typename Polygon<position_type>::face_id_type ignore)
+ {
+ typedef typename Polygon<position_type>::face_id_type face_id_t;
+
+ const ecell4::AABBSurface unitcell(
+ position_type(0., 0., 0.), this->edge_lengths());
+ const std::pair<bool, length_type> test_unitcell =
+ unitcell.intersect_ray(pos, disp);
+ const length_type dist_to_unit_cell =
+ length(disp) * test_unitcell.second;
+
+ const std::pair<bool, std::pair<length_type, face_id_t> > test_polygon =
+ this->polygon_.intersect_ray(pos, disp, ignore);
+
+ if(!test_unitcell.first && !test_polygon.first)
+ return pos + disp;
+
+ if(test_polygon.first && test_polygon.second.first < dist_to_unit_cell)
+ {
+ const std::pair<std::pair<position_type, position_type>, face_id_t>
+ reflected = this->polygon_.apply_reflection(
+ pos, disp, test_polygon.second.second);
+ return this->apply_structure_rec(reflected.first.first,
+ reflected.first.second - reflected.first.first, reflected.second);
+ }
+ else if(test_unitcell.first)
+ {
+ if(test_unitcell.second <= 0.0 || 1.0 < test_unitcell.second)
+ {
+ std::cerr << "aabb.is_inside(begin) = " << unitcell._is_inside(pos) << std::endl;
+ std::cerr << "begin = " << pos << std::endl;
+ std::cerr << "edge_length = " << this->edge_lengths() << std::endl;
+ std::cerr << "test_unitcell.first = " << test_unitcell.first << std::endl;
+ std::cerr << "test_unitcell.second = " << test_unitcell.second << std::endl;
+ std::cerr << "test_polygon.first = " << test_polygon.first << std::endl;
+ std::cerr << "test_polygon.second.first = " << test_polygon.second.first << std::endl;
+ std::cerr << "test_polygon.second.second = " << test_polygon.second.second << std::endl;
+ assert(0);
+ }
+ const std::pair<position_type, position_type> next_segment =
+ apply_periodic_only_once(pos, disp, test_unitcell.second, unitcell);
+ return this->apply_structure_rec(
+ next_segment.first, next_segment.second - next_segment.first,
+ Polygon<position_type>::make_nonsence_id());
+ }
+ else
+ throw std::logic_error("never reach here");
+ }
+
+ std::pair<position_type, position_type>
+ apply_periodic_only_once(const position_type& pos, const position_type& disp,
+ const length_type tmin, const ecell4::AABBSurface& aabb)
+ {
+ //XXX: this function assumes the conditions described below is satisfied.
+ // - aabb.lower = (0, 0, 0)
+ // - periodic boundary is applied
+ assert(0. < tmin && tmin <= 1.0);
+ position_type next_begin = pos + disp * tmin;
+ position_type next_end = pos + disp;
+ position_type pullback;
+ if(std::abs(next_begin[0] - aabb.upper()[0]) < 1e-12)
+ {
+ next_begin[0] = aabb.lower()[0];
+ next_end[0] -= (aabb.upper()[0] - aabb.lower()[0]);
+ }
+ else if(std::abs(next_begin[0] - aabb.lower()[0]) < 1e-12)
+ {
+ next_begin[0] = aabb.upper()[0];
+ next_end[0] += (aabb.upper()[0] - aabb.lower()[0]);
+ }
+ else if(std::abs(next_begin[1] - aabb.upper()[1]) < 1e-12)
+ {
+ next_begin[1] = aabb.lower()[1];
+ next_end[1] -= (aabb.upper()[1] - aabb.lower()[1]);
+ }
+ else if(std::abs(next_begin[1] - aabb.lower()[1]) < 1e-12)
+ {
+ next_begin[1] = aabb.upper()[1];
+ next_end[1] += (aabb.upper()[1] - aabb.lower()[1]);
+ }
+ else if(std::abs(next_begin[2] - aabb.upper()[2]) < 1e-12)
+ {
+ next_begin[2] = aabb.lower()[2];
+ next_end[2] -= (aabb.upper()[2] - aabb.lower()[2]);
+ }
+ else if(std::abs(next_begin[2] - aabb.lower()[2]) < 1e-12)
+ {
+ next_begin[2] = aabb.upper()[2];
+ next_end[2] += (aabb.upper()[2] - aabb.lower()[2]);
+ }
+ else
+ {
+ throw std::logic_error("never reach here");
+ }
+ assert(aabb._is_inside(next_begin));
+
+ return std::make_pair(next_begin, next_end);
+ }
+
+private:
+
+ particle_id_generator pidgen_;
+ molecule_info_map molecule_info_map_;
+ structure_map structure_map_;
+
+ /** ecell4::Space
+ */
+ boost::shared_ptr<rng_type> rng_;
+ boost::weak_ptr<model_type> model_;
+
+protected:
+
+ boost::scoped_ptr<particle_space_type> ps_;
+
+ Polygon<position_type> polygon_;
+};
+
+template<typename Ttraits_>
+inline typename World<Ttraits_>::transaction_type*
+World<Ttraits_>::create_transaction()
+{
+ return new TransactionImpl<World>(*this);
+}
+
+#endif /* WORLD_HPP */
diff --git a/ecell4/egfrd/abstract_set.hpp b/ecell4/egfrd/abstract_set.hpp
new file mode 100644
index 0000000..d82da7c
--- /dev/null
+++ b/ecell4/egfrd/abstract_set.hpp
@@ -0,0 +1,91 @@
+#ifndef ABSTRACT_SET_HPP
+#define ABSTRACT_SET_HPP
+
+#include <set>
+#include <map>
+#include <boost/range/begin.hpp>
+#include <boost/range/end.hpp>
+#include <boost/range/const_iterator.hpp>
+#include <boost/range/value_type.hpp>
+#include <algorithm>
+
+template<typename T_>
+struct collection_value: public boost::range_value<T_>
+{
+};
+
+template<typename T_>
+struct inserter: public std::unary_function<typename collection_value<T_>::type, bool>
+{
+ typedef T_ set_type;
+ typedef typename collection_value<set_type>::type argument_type;
+
+ inserter(set_type& set): set_(set) {}
+
+ bool operator()(argument_type const& v)
+ {
+ set_.push_back(v);
+ return true;
+ }
+
+private:
+ set_type& set_;
+};
+
+template<typename Tval_, typename Tcompare_, typename Talloc_>
+struct inserter<std::set<Tval_, Tcompare_, Talloc_> >: public std::unary_function<typename collection_value<std::set<Tval_, Tcompare_, Talloc_> >::type, bool>
+{
+ typedef std::set<Tval_, Tcompare_, Talloc_> set_type;
+ typedef typename collection_value<set_type>::type argument_type;
+
+ inserter(set_type& set): set_(set) {}
+
+ bool operator()(argument_type const& v)
+ {
+ return set_.insert(v).second;
+ }
+
+private:
+ set_type& set_;
+};
+
+template<typename Tkey_, typename Tval_, typename Tcompare_, typename Talloc_>
+struct inserter<std::map<Tkey_, Tval_, Tcompare_, Talloc_> >: public std::unary_function<typename collection_value<std::map<Tkey_, Tval_, Tcompare_, Talloc_> >::type, bool>
+{
+ typedef std::map<Tkey_, Tval_, Tcompare_, Talloc_> set_type;
+ typedef typename collection_value<set_type>::type argument_type;
+
+ inserter(set_type& set): set_(set) {}
+
+ bool operator()(argument_type const& v)
+ {
+ return set_.insert(v).second;
+ }
+
+private:
+ set_type& set_;
+};
+
+template<typename T_>
+inline bool collection_contains(T_ const& s, typename collection_value<T_>::type const& v)
+{
+ typename boost::range_const_iterator<T_>::type e(boost::end(s));
+ return e != std::find(boost::begin(s), e, v);
+}
+
+template<typename T_>
+inline bool insert(T_& s, typename collection_value<T_>::type const& v)
+{
+ return inserter<T_>(s)(v);
+}
+
+template<typename T1, typename T2, typename Tr>
+inline void difference(T1 const& r1, T2 const& r2, Tr const& result)
+{
+ std::set_difference(
+ boost::begin(r1), boost::end(r1),
+ boost::begin(r2), boost::end(r2),
+ result);
+}
+
+#endif /* ABSTRACT_SET_HPP */
diff --git a/ecell4/egfrd/compat.h b/ecell4/egfrd/compat.h
new file mode 100644
index 0000000..79d0607
--- /dev/null
+++ b/ecell4/egfrd/compat.h
@@ -0,0 +1,47 @@
+#if !defined( COMPAT_HPP )
+#define COMPAT_HPP
+
+#ifdef HAVE_CONFIG_H
+#include <ecell4/egfrd/config.h>
+#endif /* HAVE_CONFIG_H */
+
+#if defined( __cplusplus )
+#include <cmath>
+#include <limits>
+#else
+#include <math.h>
+#include <limits.h>
+#endif
+
+#if !HAVE_DECL_INFINITY
+#if defined( __cplusplus )
+# define INFINITY ( std::numeric_limits< double >::infinity() )
+#else
+# if HAVE_DECL_HUGE_VAL
+# define INFINITY ( HUGE_VAL )
+# else
+# error could not define the constant 'INFINITY'
+# endif
+#endif
+#endif /* HAVE_DECL_INFINITY */
+
+#if !defined( HAVE_SINCOS )
+inline void sincos( double x, double* s, double* c )
+{
+ *s = sin( x );
+ *c = cos( x );
+}
+#endif /* !HAVE_SINCOS */
+
+#if !defined( HAVE_ISFINITE )
+inline int isfinite( double x )
+{
+ return x == x && x != INFINITY && -x != INFINITY;
+}
+#else
+#ifdef __cplusplus
+using std::isfinite;
+#endif
+#endif
+
+#endif // __COMPAT_HPP
diff --git a/ecell4/egfrd/config.h.in b/ecell4/egfrd/config.h.in
new file mode 100644
index 0000000..eddacd8
--- /dev/null
+++ b/ecell4/egfrd/config.h.in
@@ -0,0 +1,21 @@
+/* WARNING! All changes made to this file will be lost! */
+#include <ecell4/core/config.h>
+
+#ifndef __ECELL4_EPDP_CONFIG_H
+#define __ECELL4_EPDP_CONFIG_H
+
+#ifdef WIN32_MSC
+/* The following is the default behavior on Windows environment. */
+#define HAVE_DECL_INFINITY 0
+// #define HAVE_ISFINITE
+// #define HAVE_SINCOS
+#define NO_BESSEL_TABLE 1
+#else
+#cmakedefine HAVE_DECL_INFINITY 1
+#cmakedefine HAVE_ISFINITE 1
+#cmakedefine HAVE_SINCOS 1
+// #define NO_BESSEL_TABLE 1
+#cmakedefine NO_BESSEL_TABLE 1
+#endif
+
+#endif /* __ECELL4_EPDP_CONFIG_H */
diff --git a/ecell4/egfrd/egfrd.hpp b/ecell4/egfrd/egfrd.hpp
new file mode 100644
index 0000000..2211e56
--- /dev/null
+++ b/ecell4/egfrd/egfrd.hpp
@@ -0,0 +1,289 @@
+#ifndef __ECELL4_EGFRD_EGFRD_HPP
+#define __ECELL4_EGFRD_EGFRD_HPP
+
+#include <ecell4/core/types.hpp>
+#include <ecell4/core/SimulatorFactory.hpp>
+#include "World.hpp"
+#include "EGFRDSimulator.hpp"
+#include "BDSimulator.hpp"
+
+namespace ecell4
+{
+
+namespace egfrd
+{
+
+typedef ::World< ::CyclicWorldTraits<Real> > EGFRDWorld;
+typedef EGFRDWorld::molecule_info_type MoleculeInfo;
+typedef ::EGFRDSimulator< ::EGFRDSimulatorTraitsBase<EGFRDWorld> > EGFRDSimulator;
+typedef ::BDSimulator< ::BDSimulatorTraitsBase<EGFRDWorld> > BDSimulator;
+
+typedef EGFRDSimulator::reaction_info_type ReactionInfo;
+// typedef BDSimulator::reaction_info_type ReactionInfo;
+
+class EGFRDFactory
+ : public SimulatorFactory<EGFRDWorld, EGFRDSimulator>
+{
+public:
+
+ typedef SimulatorFactory<EGFRDWorld, EGFRDSimulator> base_type;
+
+protected:
+
+ typedef EGFRDWorld::matrix_sizes_type matrix_sizes_type;
+
+public:
+
+ EGFRDFactory(
+ const matrix_sizes_type& matrix_sizes = default_matrix_sizes(),
+ Real bd_dt_factor = default_bd_dt_factor(),
+ Integer dissociation_retry_moves = default_dissociation_retry_moves(),
+ Real user_max_shell_size = default_user_max_shell_size())
+ : base_type(), rng_(),
+ matrix_sizes_(matrix_sizes), bd_dt_factor_(bd_dt_factor),
+ dissociation_retry_moves_(dissociation_retry_moves),
+ user_max_shell_size_(user_max_shell_size)
+ {
+ ; // do nothing
+ }
+
+ static inline const matrix_sizes_type default_matrix_sizes()
+ {
+ return Integer3(0, 0, 0);
+ }
+
+ static inline const Real default_bd_dt_factor()
+ {
+ return 0.0;
+ }
+
+ static inline const Integer default_dissociation_retry_moves()
+ {
+ return -1;
+ }
+
+ static inline const Real default_user_max_shell_size()
+ {
+ return 0.0;
+ }
+
+ virtual ~EGFRDFactory()
+ {
+ ; // do nothing
+ }
+
+ EGFRDFactory& rng(const boost::shared_ptr<RandomNumberGenerator>& rng)
+ {
+ rng_ = rng;
+ return (*this);
+ }
+
+ inline EGFRDFactory* rng_ptr(const boost::shared_ptr<RandomNumberGenerator>& rng)
+ {
+ return &(this->rng(rng)); //XXX: == this
+ }
+
+ virtual EGFRDWorld* create_world(const std::string filename) const
+ {
+ return new EGFRDWorld(filename);
+ }
+
+ virtual EGFRDWorld* create_world(
+ const Real3& edge_lengths = Real3(1, 1, 1)) const
+ {
+ if (rng_)
+ {
+ return new EGFRDWorld(edge_lengths, matrix_sizes_, rng_);
+ }
+ // else if (matrix_sizes_[0] >= 3 && matrix_sizes_[1] >= 3
+ // && matrix_sizes_[2] >= 3)
+ else if (matrix_sizes_ != default_matrix_sizes())
+ {
+ return new EGFRDWorld(edge_lengths, matrix_sizes_);
+ }
+ else
+ {
+ return new EGFRDWorld(edge_lengths);
+ }
+ }
+
+ virtual EGFRDWorld* create_world(const boost::shared_ptr<Model>& m) const
+ {
+ return extras::generate_world_from_model(*this, m);
+ }
+
+ virtual EGFRDSimulator* create_simulator(
+ const boost::shared_ptr<Model>& model,
+ const boost::shared_ptr<world_type>& world) const
+ {
+ if (user_max_shell_size_ != default_user_max_shell_size())
+ {
+ return new EGFRDSimulator(
+ world, model, bd_dt_factor_, dissociation_retry_moves_, user_max_shell_size_);
+ }
+ else if (dissociation_retry_moves_ != default_dissociation_retry_moves())
+ {
+ return new EGFRDSimulator(
+ world, model, bd_dt_factor_, dissociation_retry_moves_);
+ }
+ else if (bd_dt_factor_ != default_bd_dt_factor())
+ {
+ return new EGFRDSimulator(world, model, bd_dt_factor_);
+ }
+ else
+ {
+ return new EGFRDSimulator(world, model);
+ }
+ }
+
+ virtual EGFRDSimulator* create_simulator(
+ const boost::shared_ptr<world_type>& world) const
+ {
+ if (boost::shared_ptr<Model> bound_model = world->lock_model())
+ {
+ return create_simulator(bound_model, world);
+ }
+ else
+ {
+ throw std::invalid_argument("A world must be bound to a model.");
+ }
+ }
+
+protected:
+
+ boost::shared_ptr<RandomNumberGenerator> rng_;
+ matrix_sizes_type matrix_sizes_;
+ Real bd_dt_factor_;
+ Integer dissociation_retry_moves_;
+ Real user_max_shell_size_;
+};
+
+class BDFactory
+ : public SimulatorFactory<EGFRDWorld, BDSimulator>
+{
+public:
+
+ typedef SimulatorFactory<EGFRDWorld, BDSimulator> base_type;
+
+protected:
+
+ typedef EGFRDWorld::matrix_sizes_type matrix_sizes_type;
+
+public:
+
+ BDFactory(
+ const matrix_sizes_type& matrix_sizes = default_matrix_sizes(),
+ Real bd_dt_factor = default_bd_dt_factor(),
+ Integer dissociation_retry_moves = default_dissociation_retry_moves())
+ : base_type(), rng_(),
+ matrix_sizes_(matrix_sizes), bd_dt_factor_(bd_dt_factor),
+ dissociation_retry_moves_(dissociation_retry_moves)
+ {
+ ; // do nothing
+ }
+
+ static inline const matrix_sizes_type default_matrix_sizes()
+ {
+ return Integer3(0, 0, 0);
+ }
+
+ static inline const Real default_bd_dt_factor()
+ {
+ return 0.0;
+ }
+
+ static inline const Integer default_dissociation_retry_moves()
+ {
+ return -1;
+ }
+
+ virtual ~BDFactory()
+ {
+ ; // do nothing
+ }
+
+ BDFactory& rng(const boost::shared_ptr<RandomNumberGenerator>& rng)
+ {
+ rng_ = rng;
+ return (*this);
+ }
+
+ inline BDFactory* rng_ptr(const boost::shared_ptr<RandomNumberGenerator>& rng)
+ {
+ return &(this->rng(rng)); //XXX: == this
+ }
+
+ virtual EGFRDWorld* create_world(const std::string filename) const
+ {
+ return new EGFRDWorld(filename);
+ }
+
+ virtual EGFRDWorld* create_world(
+ const Real3& edge_lengths = Real3(1, 1, 1)) const
+ {
+ if (rng_)
+ {
+ return new EGFRDWorld(edge_lengths, matrix_sizes_, rng_);
+ }
+ // else if (matrix_sizes_[0] >= 3 && matrix_sizes_[1] >= 3
+ // && matrix_sizes_[2] >= 3)
+ else if (matrix_sizes_ != default_matrix_sizes())
+ {
+ return new EGFRDWorld(edge_lengths, matrix_sizes_);
+ }
+ else
+ {
+ return new EGFRDWorld(edge_lengths);
+ }
+ }
+
+ virtual EGFRDWorld* create_world(const boost::shared_ptr<Model>& m) const
+ {
+ return extras::generate_world_from_model(*this, m);
+ }
+
+ virtual BDSimulator* create_simulator(
+ const boost::shared_ptr<Model>& model,
+ const boost::shared_ptr<world_type>& world) const
+ {
+ if (dissociation_retry_moves_ != default_dissociation_retry_moves())
+ {
+ return new BDSimulator(
+ world, model, bd_dt_factor_, dissociation_retry_moves_);
+ }
+ else if (bd_dt_factor_ != default_bd_dt_factor())
+ {
+ return new BDSimulator(world, model, bd_dt_factor_);
+ }
+ else
+ {
+ return new BDSimulator(world, model);
+ }
+ }
+
+ virtual BDSimulator* create_simulator(
+ const boost::shared_ptr<world_type>& world) const
+ {
+ if (boost::shared_ptr<Model> bound_model = world->lock_model())
+ {
+ return create_simulator(bound_model, world);
+ }
+ else
+ {
+ throw std::invalid_argument("A world must be bound to a model.");
+ }
+ }
+
+protected:
+
+ boost::shared_ptr<RandomNumberGenerator> rng_;
+ matrix_sizes_type matrix_sizes_;
+ Real bd_dt_factor_;
+ Integer dissociation_retry_moves_;
+};
+
+} // egfrd
+
+} // ecell4
+
+#endif /* __ECELL4_EGFRD_EGFRD_HPP */
diff --git a/ecell4/egfrd/exceptions.hpp b/ecell4/egfrd/exceptions.hpp
new file mode 100644
index 0000000..e332cef
--- /dev/null
+++ b/ecell4/egfrd/exceptions.hpp
@@ -0,0 +1,201 @@
+#ifndef EXCEPTIONS_HPP
+#define EXCEPTIONS_HPP
+
+#include <ecell4/core/exceptions.hpp>
+
+class PropagationError
+ : public ecell4::Exception
+{
+public:
+
+ PropagationError(const std::string& str)
+ : str_(str)
+ {
+ ;
+ }
+
+ virtual ~PropagationError() throw()
+ {
+ ;
+ }
+
+ virtual const char* what() const throw()
+ {
+ return str_.c_str();
+ }
+
+private:
+
+ std::string str_;
+};
+
+class NoSpace
+ : public ecell4::Exception
+{
+public:
+
+ NoSpace()
+ : str_()
+ {
+ ;
+ }
+
+ NoSpace(const std::string& str)
+ : str_(str)
+ {
+ ;
+ }
+
+ virtual ~NoSpace() throw()
+ {
+ ;
+ }
+
+ virtual const char* what() const throw()
+ {
+ return str_.c_str();
+ }
+
+private:
+
+ std::string str_;
+};
+
+typedef ecell4::IllegalState illegal_state;
+// typedef ecell4::IllegalArgument illegal_argument; //XXX: not used.
+typedef ecell4::NotFound not_found;
+typedef ecell4::AlreadyExists already_exists;
+typedef ecell4::NotSupported unsupported;
+typedef ecell4::NotImplemented not_implemented;
+
+typedef PropagationError propagation_error;
+typedef NoSpace no_space;
+
+// #include <string>
+// #include <exception>
+// #include <stdexcept>
+//
+// class illegal_state: public std::exception
+// {
+// public:
+// illegal_state(std::string const& str): str_(str) {}
+//
+// virtual ~illegal_state() throw() {}
+//
+// virtual const char* what() const throw()
+// {
+// return str_.c_str();
+// }
+//
+// private:
+// std::string str_;
+// };
+//
+// class illegal_argument: public std::exception
+// {
+// public:
+// illegal_argument(std::string const& str): str_(str) {}
+//
+// virtual ~illegal_argument() throw() {}
+//
+// virtual const char* what() const throw()
+// {
+// return str_.c_str();
+// }
+//
+// private:
+// std::string str_;
+// };
+//
+// class not_found: public std::exception
+// {
+// public:
+// not_found(std::string const& str): str_(str) {}
+//
+// virtual ~not_found() throw() {}
+//
+// virtual const char* what() const throw()
+// {
+// return str_.c_str();
+// }
+//
+// private:
+// std::string str_;
+// };
+//
+// class already_exists: public std::exception
+// {
+// public:
+// already_exists(std::string const& str): str_(str) {}
+//
+// virtual ~already_exists() throw() {}
+//
+// virtual const char* what() const throw()
+// {
+// return str_.c_str();
+// }
+//
+// private:
+// std::string str_;
+// };
+//
+// class unsupported: public std::exception
+// {
+// public:
+// unsupported(std::string const& str): str_(str) {}
+//
+// virtual ~unsupported() throw() {}
+//
+// virtual const char* what() const throw()
+// {
+// return str_.c_str();
+// }
+//
+// private:
+// std::string str_;
+// };
+//
+// class propagation_error: public std::runtime_error
+// {
+// public:
+// propagation_error(std::string const& msg): std::runtime_error(msg) {}
+//
+// virtual ~propagation_error() throw() {}
+//
+// private:
+// std::string str_;
+// };
+//
+// class not_implemented: public std::exception
+// {
+// public:
+// not_implemented(std::string const& str): str_(str) {}
+//
+// virtual ~not_implemented() throw() {}
+//
+// virtual const char* what() const throw()
+// {
+// return str_.c_str();
+// }
+//
+// private:
+// std::string str_;
+// };
+//
+// class no_space: public std::exception
+// {
+// public:
+// no_space(std::string const& str = ""): str_(str) {}
+//
+// virtual ~no_space() throw() {}
+//
+// virtual const char* what() const throw()
+// {
+// return str_.c_str();
+// }
+//
+// private:
+// std::string str_;
+// };
+
+#endif /* EXCEPTIONS_HPP */
diff --git a/ecell4/egfrd/factorial.hpp b/ecell4/egfrd/factorial.hpp
new file mode 100644
index 0000000..9b8bc04
--- /dev/null
+++ b/ecell4/egfrd/factorial.hpp
@@ -0,0 +1,443 @@
+#ifndef FACTORIAL_HPP
+#define FACTORIAL_HPP
+
+
+
+// Table adopted and modified from GNU Scientific Library Version 1.9
+// (gamma.c).
+const int FACTORIAL_NMAX( 170 );
+
+static const double factorials[FACTORIAL_NMAX+1] =
+{
+ 1.0,
+ 1.0,
+ 2.0,
+ 6.0,
+ 24.0,
+ 120.0,
+ 720.0,
+ 5040.0,
+ 40320.0,
+
+ 362880.0,
+ 3628800.0,
+ 39916800.0,
+ 479001600.0,
+
+ 6227020800.0,
+ 87178291200.0,
+ 1307674368000.0,
+ 20922789888000.0,
+ 355687428096000.0,
+ 6402373705728000.0,
+ 121645100408832000.0,
+ 2432902008176640000.0,
+ 51090942171709440000.0,
+ 1124000727777607680000.0,
+ 25852016738884976640000.0,
+ 620448401733239439360000.0,
+ 15511210043330985984000000.0,
+ 403291461126605635584000000.0,
+ 10888869450418352160768000000.0,
+ 304888344611713860501504000000.0,
+ 8841761993739701954543616000000.0,
+ 265252859812191058636308480000000.0,
+ 8222838654177922817725562880000000.0,
+ 263130836933693530167218012160000000.0,
+ 8683317618811886495518194401280000000.0,
+ 2.95232799039604140847618609644e38,
+ 1.03331479663861449296666513375e40,
+ 3.71993326789901217467999448151e41,
+ 1.37637530912263450463159795816e43,
+ 5.23022617466601111760007224100e44,
+ 2.03978820811974433586402817399e46,
+ 8.15915283247897734345611269600e47,
+ 3.34525266131638071081700620534e49,
+ 1.40500611775287989854314260624e51,
+ 6.04152630633738356373551320685e52,
+ 2.65827157478844876804362581101e54,
+ 1.19622220865480194561963161496e56,
+ 5.50262215981208894985030542880e57,
+ 2.58623241511168180642964355154e59,
+ 1.24139155925360726708622890474e61,
+ 6.08281864034267560872252163321e62,
+ 3.04140932017133780436126081661e64,
+ 1.55111875328738228022424301647e66,
+ 8.06581751709438785716606368564e67,
+ 4.27488328406002556429801375339e69,
+ 2.30843697339241380472092742683e71,
+ 1.26964033536582759259651008476e73,
+ 7.10998587804863451854045647464e74,
+ 4.05269195048772167556806019054e76,
+ 2.35056133128287857182947491052e78,
+ 1.38683118545689835737939019720e80,
+ 8.32098711274139014427634118320e81,
+ 5.07580213877224798800856812177e83,
+ 3.14699732603879375256531223550e85,
+ 1.982608315404440064116146708360e87,
+ 1.268869321858841641034333893350e89,
+ 8.247650592082470666723170306800e90,
+ 5.443449390774430640037292402480e92,
+ 3.647111091818868528824985909660e94,
+ 2.480035542436830599600990418570e96,
+ 1.711224524281413113724683388810e98,
+ 1.197857166996989179607278372170e100,
+ 8.504785885678623175211676442400e101,
+ 6.123445837688608686152407038530e103,
+ 4.470115461512684340891257138130e105,
+ 3.307885441519386412259530282210e107,
+ 2.480914081139539809194647711660e109,
+ 1.885494701666050254987932260860e111,
+ 1.451830920282858696340707840860e113,
+ 1.132428117820629783145752115870e115,
+ 8.946182130782975286851441715400e116,
+ 7.156945704626380229481153372320e118,
+ 5.797126020747367985879734231580e120,
+ 4.753643337012841748421382069890e122,
+ 3.945523969720658651189747118010e124,
+ 3.314240134565353266999387579130e126,
+ 2.817104114380550276949479442260e128,
+ 2.422709538367273238176552320340e130,
+ 2.107757298379527717213600518700e132,
+ 1.854826422573984391147968456460e134,
+ 1.650795516090846108121691926250e136,
+ 1.485715964481761497309522733620e138,
+ 1.352001527678402962551665687590e140,
+ 1.243841405464130725547532432590e142,
+ 1.156772507081641574759205162310e144,
+ 1.087366156656743080273652852570e146,
+ 1.032997848823905926259970209940e148,
+ 9.916779348709496892095714015400e149,
+ 9.619275968248211985332842594960e151,
+ 9.426890448883247745626185743100e153,
+ 9.332621544394415268169923885600e155,
+ 9.33262154439441526816992388563e157,
+ 9.42594775983835942085162312450e159,
+ 9.61446671503512660926865558700e161,
+ 9.90290071648618040754671525458e163,
+ 1.02990167451456276238485838648e166,
+ 1.08139675824029090050410130580e168,
+ 1.146280563734708354534347384148e170,
+ 1.226520203196137939351751701040e172,
+ 1.324641819451828974499891837120e174,
+ 1.443859583202493582204882102460e176,
+ 1.588245541522742940425370312710e178,
+ 1.762952551090244663872161047110e180,
+ 1.974506857221074023536820372760e182,
+ 2.231192748659813646596607021220e184,
+ 2.543559733472187557120132004190e186,
+ 2.925093693493015690688151804820e188,
+ 3.393108684451898201198256093590e190,
+ 3.96993716080872089540195962950e192,
+ 4.68452584975429065657431236281e194,
+ 5.57458576120760588132343171174e196,
+ 6.68950291344912705758811805409e198,
+ 8.09429852527344373968162284545e200,
+ 9.87504420083360136241157987140e202,
+ 1.21463043670253296757662432419e205,
+ 1.50614174151114087979501416199e207,
+ 1.88267717688892609974376770249e209,
+ 2.37217324288004688567714730514e211,
+ 3.01266001845765954480997707753e213,
+ 3.85620482362580421735677065923e215,
+ 4.97450422247728744039023415041e217,
+ 6.46685548922047367250730439554e219,
+ 8.47158069087882051098456875820e221,
+ 1.11824865119600430744996307608e224,
+ 1.48727070609068572890845089118e226,
+ 1.99294274616151887673732419418e228,
+ 2.69047270731805048359538766215e230,
+ 3.65904288195254865768972722052e232,
+ 5.01288874827499166103492629211e234,
+ 6.91778647261948849222819828311e236,
+ 9.61572319694108900419719561353e238,
+ 1.34620124757175246058760738589e241,
+ 1.89814375907617096942852641411e243,
+ 2.69536413788816277658850750804e245,
+ 3.85437071718007277052156573649e247,
+ 5.55029383273930478955105466055e249,
+ 8.04792605747199194484902925780e251,
+ 1.17499720439091082394795827164e254,
+ 1.72724589045463891120349865931e256,
+ 2.55632391787286558858117801578e258,
+ 3.80892263763056972698595524351e260,
+ 5.71338395644585459047893286526e262,
+ 8.62720977423324043162318862650e264,
+ 1.31133588568345254560672467123e267,
+ 2.00634390509568239477828874699e269,
+ 3.08976961384735088795856467036e271,
+ 4.78914290146339387633577523906e273,
+ 7.47106292628289444708380937294e275,
+ 1.17295687942641442819215807155e278,
+ 1.85327186949373479654360975305e280,
+ 2.94670227249503832650433950735e282,
+ 4.71472363599206132240694321176e284,
+ 7.59070505394721872907517857094e286,
+ 1.22969421873944943411017892849e289,
+ 2.00440157654530257759959165344e291,
+ 3.28721858553429622726333031164e293,
+ 5.42391066613158877498449501421e295,
+ 9.00369170577843736647426172359e297,
+ 1.50361651486499904020120170784e300,
+ 2.52607574497319838753801886917e302,
+ 4.26906800900470527493925188890e304,
+ 7.25741561530799896739672821113e306,
+
+ /*
+ 1.24101807021766782342484052410e309,
+ 2.13455108077438865629072570146e311,
+ 3.69277336973969237538295546352e313,
+ 6.42542566334706473316634250653e315,
+ 1.12444949108573632830410993864e318,
+ 1.97903110431089593781523349201e320,
+ 3.50288505463028580993296328086e322,
+ 6.23513539724190874168067463993e324,
+ 1.11608923610630166476084076055e327,
+ 2.00896062499134299656951336898e329,
+ 3.63621873123433082379081919786e331,
+ 6.61791809084648209929929094011e333,
+ 1.21107901062490622417177024204e336,
+ 2.22838537954982745247605724535e338,
+ 4.12251295216718078708070590390e340,
+ 7.66787409103095626397011298130e342,
+ 1.43389245502278882136241112750e345,
+ 2.69571781544284298416133291969e347,
+ 5.09490667118697324006491921822e349,
+ 9.68032267525524915612334651460e351,
+ 1.84894163097375258881955918429e354,
+ 3.54996793146960497053355363384e356,
+ 6.85143810773633759312975851330e358,
+ 1.32917899290084949306717315158e361,
+ 2.59189903615665651148098764559e363,
+ 5.08012211086704676250273578535e365,
+ 1.00078405584080821221303894971e368,
+ 1.98155243056480026018181712043e370,
+ 3.94328933682395251776181606966e372,
+ 7.88657867364790503552363213932e374,
+ */
+};
+
+
+static const double factorials_r[FACTORIAL_NMAX+1] =
+{
+ 1.0 / 1.0,
+ 1.0 / 1.0,
+ 1.0 / 2.0,
+ 1.0 / 6.0,
+ 1.0 / 24.0,
+ 1.0 / 120.0,
+ 1.0 / 720.0,
+ 1.0 / 5040.0,
+ 1.0 / 40320.0,
+ 1.0 / 362880.0,
+ 1.0 / 3628800.0,
+ 1.0 / 39916800.0,
+ 1.0 / 479001600.0,
+ 1.0 / 6227020800.0,
+ 1.0 / 87178291200.0,
+ 1.0 / 1307674368000.0,
+ 1.0 / 20922789888000.0,
+ 1.0 / 355687428096000.0,
+ 1.0 / 6402373705728000.0,
+ 1.0 / 121645100408832000.0,
+ 1.0 / 2432902008176640000.0,
+ 1.0 / 51090942171709440000.0,
+ 1.0 / 1124000727777607680000.0,
+ 1.0 / 25852016738884976640000.0,
+ 1.0 / 620448401733239439360000.0,
+ 1.0 / 15511210043330985984000000.0,
+ 1.0 / 403291461126605635584000000.0,
+ 1.0 / 10888869450418352160768000000.0,
+ 1.0 / 304888344611713860501504000000.0,
+ 1.0 / 8841761993739701954543616000000.0,
+ 1.0 / 265252859812191058636308480000000.0,
+ 1.0 / 8222838654177922817725562880000000.0,
+ 1.0 / 263130836933693530167218012160000000.0,
+ 1.0 / 8683317618811886495518194401280000000.0,
+ 1.0 / 2.95232799039604140847618609644e38,
+ 1.0 / 1.03331479663861449296666513375e40,
+ 1.0 / 3.71993326789901217467999448151e41,
+ 1.0 / 1.37637530912263450463159795816e43,
+ 1.0 / 5.23022617466601111760007224100e44,
+ 1.0 / 2.03978820811974433586402817399e46,
+ 1.0 / 8.15915283247897734345611269600e47,
+ 1.0 / 3.34525266131638071081700620534e49,
+ 1.0 / 1.40500611775287989854314260624e51,
+ 1.0 / 6.04152630633738356373551320685e52,
+ 1.0 / 2.65827157478844876804362581101e54,
+ 1.0 / 1.19622220865480194561963161496e56,
+ 1.0 / 5.50262215981208894985030542880e57,
+ 1.0 / 2.58623241511168180642964355154e59,
+ 1.0 / 1.24139155925360726708622890474e61,
+ 1.0 / 6.08281864034267560872252163321e62,
+ 1.0 / 3.04140932017133780436126081661e64,
+ 1.0 / 1.55111875328738228022424301647e66,
+ 1.0 / 8.06581751709438785716606368564e67,
+ 1.0 / 4.27488328406002556429801375339e69,
+ 1.0 / 2.30843697339241380472092742683e71,
+ 1.0 / 1.26964033536582759259651008476e73,
+ 1.0 / 7.10998587804863451854045647464e74,
+ 1.0 / 4.05269195048772167556806019054e76,
+ 1.0 / 2.35056133128287857182947491052e78,
+ 1.0 / 1.38683118545689835737939019720e80,
+ 1.0 / 8.32098711274139014427634118320e81,
+ 1.0 / 5.07580213877224798800856812177e83,
+ 1.0 / 3.14699732603879375256531223550e85,
+ 1.0 / 1.982608315404440064116146708360e87,
+ 1.0 / 1.268869321858841641034333893350e89,
+ 1.0 / 8.247650592082470666723170306800e90,
+ 1.0 / 5.443449390774430640037292402480e92,
+ 1.0 / 3.647111091818868528824985909660e94,
+ 1.0 / 2.480035542436830599600990418570e96,
+ 1.0 / 1.711224524281413113724683388810e98,
+ 1.0 / 1.197857166996989179607278372170e100,
+ 1.0 / 8.504785885678623175211676442400e101,
+ 1.0 / 6.123445837688608686152407038530e103,
+ 1.0 / 4.470115461512684340891257138130e105,
+ 1.0 / 3.307885441519386412259530282210e107,
+ 1.0 / 2.480914081139539809194647711660e109,
+ 1.0 / 1.885494701666050254987932260860e111,
+ 1.0 / 1.451830920282858696340707840860e113,
+ 1.0 / 1.132428117820629783145752115870e115,
+ 1.0 / 8.946182130782975286851441715400e116,
+ 1.0 / 7.156945704626380229481153372320e118,
+ 1.0 / 5.797126020747367985879734231580e120,
+ 1.0 / 4.753643337012841748421382069890e122,
+ 1.0 / 3.945523969720658651189747118010e124,
+ 1.0 / 3.314240134565353266999387579130e126,
+ 1.0 / 2.817104114380550276949479442260e128,
+ 1.0 / 2.422709538367273238176552320340e130,
+ 1.0 / 2.107757298379527717213600518700e132,
+ 1.0 / 1.854826422573984391147968456460e134,
+ 1.0 / 1.650795516090846108121691926250e136,
+ 1.0 / 1.485715964481761497309522733620e138,
+ 1.0 / 1.352001527678402962551665687590e140,
+ 1.0 / 1.243841405464130725547532432590e142,
+ 1.0 / 1.156772507081641574759205162310e144,
+ 1.0 / 1.087366156656743080273652852570e146,
+ 1.0 / 1.032997848823905926259970209940e148,
+ 1.0 / 9.916779348709496892095714015400e149,
+ 1.0 / 9.619275968248211985332842594960e151,
+ 1.0 / 9.426890448883247745626185743100e153,
+ 1.0 / 9.332621544394415268169923885600e155,
+ 1.0 / 9.33262154439441526816992388563e157,
+ 1.0 / 9.42594775983835942085162312450e159,
+ 1.0 / 9.61446671503512660926865558700e161,
+ 1.0 / 9.90290071648618040754671525458e163,
+ 1.0 / 1.02990167451456276238485838648e166,
+ 1.0 / 1.08139675824029090050410130580e168,
+ 1.0 / 1.146280563734708354534347384148e170,
+ 1.0 / 1.226520203196137939351751701040e172,
+ 1.0 / 1.324641819451828974499891837120e174,
+ 1.0 / 1.443859583202493582204882102460e176,
+ 1.0 / 1.588245541522742940425370312710e178,
+ 1.0 / 1.762952551090244663872161047110e180,
+ 1.0 / 1.974506857221074023536820372760e182,
+ 1.0 / 2.231192748659813646596607021220e184,
+ 1.0 / 2.543559733472187557120132004190e186,
+ 1.0 / 2.925093693493015690688151804820e188,
+ 1.0 / 3.393108684451898201198256093590e190,
+ 1.0 / 3.96993716080872089540195962950e192,
+ 1.0 / 4.68452584975429065657431236281e194,
+ 1.0 / 5.57458576120760588132343171174e196,
+ 1.0 / 6.68950291344912705758811805409e198,
+ 1.0 / 8.09429852527344373968162284545e200,
+ 1.0 / 9.87504420083360136241157987140e202,
+ 1.0 / 1.21463043670253296757662432419e205,
+ 1.0 / 1.50614174151114087979501416199e207,
+ 1.0 / 1.88267717688892609974376770249e209,
+ 1.0 / 2.37217324288004688567714730514e211,
+ 1.0 / 3.01266001845765954480997707753e213,
+ 1.0 / 3.85620482362580421735677065923e215,
+ 1.0 / 4.97450422247728744039023415041e217,
+ 1.0 / 6.46685548922047367250730439554e219,
+ 1.0 / 8.47158069087882051098456875820e221,
+ 1.0 / 1.11824865119600430744996307608e224,
+ 1.0 / 1.48727070609068572890845089118e226,
+ 1.0 / 1.99294274616151887673732419418e228,
+ 1.0 / 2.69047270731805048359538766215e230,
+ 1.0 / 3.65904288195254865768972722052e232,
+ 1.0 / 5.01288874827499166103492629211e234,
+ 1.0 / 6.91778647261948849222819828311e236,
+ 1.0 / 9.61572319694108900419719561353e238,
+ 1.0 / 1.34620124757175246058760738589e241,
+ 1.0 / 1.89814375907617096942852641411e243,
+ 1.0 / 2.69536413788816277658850750804e245,
+ 1.0 / 3.85437071718007277052156573649e247,
+ 1.0 / 5.55029383273930478955105466055e249,
+ 1.0 / 8.04792605747199194484902925780e251,
+ 1.0 / 1.17499720439091082394795827164e254,
+ 1.0 / 1.72724589045463891120349865931e256,
+ 1.0 / 2.55632391787286558858117801578e258,
+ 1.0 / 3.80892263763056972698595524351e260,
+ 1.0 / 5.71338395644585459047893286526e262,
+ 1.0 / 8.62720977423324043162318862650e264,
+ 1.0 / 1.31133588568345254560672467123e267,
+ 1.0 / 2.00634390509568239477828874699e269,
+ 1.0 / 3.08976961384735088795856467036e271,
+ 1.0 / 4.78914290146339387633577523906e273,
+ 1.0 / 7.47106292628289444708380937294e275,
+ 1.0 / 1.17295687942641442819215807155e278,
+ 1.0 / 1.85327186949373479654360975305e280,
+ 1.0 / 2.94670227249503832650433950735e282,
+ 1.0 / 4.71472363599206132240694321176e284,
+ 1.0 / 7.59070505394721872907517857094e286,
+ 1.0 / 1.22969421873944943411017892849e289,
+ 1.0 / 2.00440157654530257759959165344e291,
+ 1.0 / 3.28721858553429622726333031164e293,
+ 1.0 / 5.42391066613158877498449501421e295,
+ 1.0 / 9.00369170577843736647426172359e297,
+ 1.0 / 1.50361651486499904020120170784e300,
+ 1.0 / 2.52607574497319838753801886917e302,
+ 1.0 / 4.26906800900470527493925188890e304,
+ 1.0 / 7.25741561530799896739672821113e306,
+
+ /*
+ 1.0 / 1.24101807021766782342484052410e309,
+ 1.0 / 2.13455108077438865629072570146e311,
+ 1.0 / 3.69277336973969237538295546352e313,
+ 1.0 / 6.42542566334706473316634250653e315,
+ 1.0 / 1.12444949108573632830410993864e318,
+ 1.0 / 1.97903110431089593781523349201e320,
+ 1.0 / 3.50288505463028580993296328086e322,
+ 1.0 / 6.23513539724190874168067463993e324,
+ 1.0 / 1.11608923610630166476084076055e327,
+ 1.0 / 2.00896062499134299656951336898e329,
+ 1.0 / 3.63621873123433082379081919786e331,
+ 1.0 / 6.61791809084648209929929094011e333,
+ 1.0 / 1.21107901062490622417177024204e336,
+ 1.0 / 2.22838537954982745247605724535e338,
+ 1.0 / 4.12251295216718078708070590390e340,
+ 1.0 / 7.66787409103095626397011298130e342,
+ 1.0 / 1.43389245502278882136241112750e345,
+ 1.0 / 2.69571781544284298416133291969e347,
+ 1.0 / 5.09490667118697324006491921822e349,
+ 1.0 / 9.68032267525524915612334651460e351,
+ 1.0 / 1.84894163097375258881955918429e354,
+ 1.0 / 3.54996793146960497053355363384e356,
+ 1.0 / 6.85143810773633759312975851330e358,
+ 1.0 / 1.32917899290084949306717315158e361,
+ 1.0 / 2.59189903615665651148098764559e363,
+ 1.0 / 5.08012211086704676250273578535e365,
+ 1.0 / 1.00078405584080821221303894971e368,
+ 1.0 / 1.98155243056480026018181712043e370,
+ 1.0 / 3.94328933682395251776181606966e372,
+ 1.0 / 7.88657867364790503552363213932e374,
+ */
+};
+
+
+inline const double factorial( const unsigned int n )
+{
+ // assert( n <= FACTORIAL_NMAX );
+ return factorials[n];
+}
+
+
+inline const double factorial_r( const unsigned int n )
+{
+ // assert( n <= FACTORIAL_NMAX );
+ return factorials_r[n];
+}
+
+#endif /* FACTORIAL_HPP */
diff --git a/ecell4/egfrd/filters.hpp b/ecell4/egfrd/filters.hpp
new file mode 100644
index 0000000..153c648
--- /dev/null
+++ b/ecell4/egfrd/filters.hpp
@@ -0,0 +1,74 @@
+#ifndef ALGORITHM_HPP
+#define ALGORITHM_HPP
+
+#include <functional>
+#include <cmath>
+#include <boost/range/iterator.hpp>
+#include <boost/utility/enable_if.hpp>
+#include <boost/type_traits/is_const.hpp>
+// #include "Shape.hpp"
+#include "geometry.hpp"
+
+template<typename Toc_, typename Tfun_, typename Tsphere_>
+class neighbor_filter
+ : public std::binary_function<
+ typename boost::range_iterator<Toc_>::type,
+ typename Toc_::position_type,
+ void>
+{
+ typedef typename boost::range_iterator<Toc_>::type first_argument_type;
+ typedef typename Toc_::position_type second_argument_type;
+ typedef void result_type;
+ typedef Tsphere_ sphere_type;
+
+public:
+ inline neighbor_filter(Tfun_& next,
+ const sphere_type& cmp)
+ : next_(next), cmp_(cmp) {}
+
+ inline result_type operator()(first_argument_type i,
+ second_argument_type const& off) const {
+ typename first_argument_type::reference item(*i);
+
+ const typename sphere_type::length_type dist(
+ distance(shape(offset(item.second, off)), cmp_.position()));
+ if (dist < cmp_.radius())
+ {
+ next_(i, dist);
+ }
+ }
+
+private:
+ Tfun_& next_;
+ const sphere_type cmp_;
+};
+
+template<typename Toc_, typename Tfun_, typename Tsphere_>
+inline void take_neighbor(Toc_& oc, Tfun_& fun, const Tsphere_& cmp)
+{
+ oc.each_neighbor(oc.index(cmp.position()),
+ neighbor_filter<Toc_, Tfun_, Tsphere_>(fun, cmp));
+}
+
+template<typename Toc_, typename Tfun_, typename Tsphere_>
+inline void take_neighbor(Toc_ const& oc, Tfun_& fun, const Tsphere_& cmp)
+{
+ oc.each_neighbor(oc.index(cmp.position()),
+ neighbor_filter<Toc_ const, Tfun_, Tsphere_>(fun, cmp));
+}
+
+template<typename Toc_, typename Tfun_, typename Tsphere_>
+inline void take_neighbor_cyclic(Toc_& oc, Tfun_& fun, const Tsphere_& cmp)
+{
+ oc.each_neighbor_cyclic(oc.index(cmp.position()),
+ neighbor_filter<Toc_, Tfun_, Tsphere_>(fun, cmp));
+}
+
+template<typename Toc_, typename Tfun_, typename Tsphere_>
+inline void take_neighbor_cyclic(Toc_ const& oc, Tfun_& fun, const Tsphere_& cmp)
+{
+ oc.each_neighbor_cyclic(oc.index(cmp.position()),
+ neighbor_filter<Toc_ const, Tfun_, Tsphere_>(fun, cmp));
+}
+
+#endif /* ALGORITHM_HPP */
diff --git a/ecell4/egfrd/findRoot.cpp b/ecell4/egfrd/findRoot.cpp
new file mode 100644
index 0000000..d532480
--- /dev/null
+++ b/ecell4/egfrd/findRoot.cpp
@@ -0,0 +1,51 @@
+#ifdef HAVE_CONFIG_H
+#include <ecell4/egfrd/config.h>
+#endif /* HAVE_CONFIG_H */
+
+#include <stdexcept>
+#include <gsl/gsl_errno.h>
+
+#include "Logger.hpp"
+#include "findRoot.hpp"
+
+Real findRoot(gsl_function const& F, gsl_root_fsolver* solver, Real low,
+ Real high, Real tol_abs, Real tol_rel, char const* funcName)
+{
+ Real l(low);
+ Real h(high);
+
+ gsl_root_fsolver_set(solver, const_cast<gsl_function*>(&F), l, h);
+
+ const unsigned int maxIter(100);
+
+ unsigned int i(0);
+ for (;;)
+ {
+ gsl_root_fsolver_iterate(solver);
+ l = gsl_root_fsolver_x_lower(solver);
+ h = gsl_root_fsolver_x_upper(solver);
+
+ const int status(gsl_root_test_interval(l, h, tol_abs,
+ tol_rel));
+
+ if (status == GSL_CONTINUE)
+ {
+ if (i >= maxIter)
+ {
+ gsl_root_fsolver_free(solver);
+ throw std::runtime_error(std::string(funcName) + ": failed to converge");
+ }
+ }
+ else
+ {
+ break;
+ }
+
+ ++i;
+ }
+
+
+ const Real root(gsl_root_fsolver_root(solver));
+
+ return root;
+}
diff --git a/ecell4/egfrd/findRoot.hpp b/ecell4/egfrd/findRoot.hpp
new file mode 100644
index 0000000..768df48
--- /dev/null
+++ b/ecell4/egfrd/findRoot.hpp
@@ -0,0 +1,12 @@
+#ifndef FIND_ROOT_HPP
+#define FIND_ROOT_HPP
+
+#include <gsl/gsl_roots.h>
+
+#include "Defs.hpp"
+
+
+Real findRoot(gsl_function const& F, gsl_root_fsolver* solver, Real low,
+ Real high, Real tol_abs, Real tol_rel, char const* funcName);
+
+#endif /* FIND_ROOT_HPP */
diff --git a/ecell4/egfrd/freeFunctions.hpp b/ecell4/egfrd/freeFunctions.hpp
new file mode 100644
index 0000000..9bf6bc8
--- /dev/null
+++ b/ecell4/egfrd/freeFunctions.hpp
@@ -0,0 +1,436 @@
+#ifndef FREE_FUNTIONS_HPP
+#define FREE_FUNTIONS_HPP
+
+#include <ecell4/core/config.h>
+
+#include "Defs.hpp"
+#include "compat.h"
+
+#include <algorithm>
+#include <stdexcept>
+#include <gsl/gsl_math.h>
+#include <gsl/gsl_roots.h>
+#include <gsl/gsl_errno.h>
+
+#ifdef WIN32_MSC
+#include <gsl/gsl_sf_erf.h>
+
+inline double erf(const double x)
+{
+ return gsl_sf_erf(x);
+}
+
+inline double pow_2(const double x)
+{
+ return x * x;
+}
+
+static inline double expm1(const double x)
+{
+ return gsl_expm1(x);
+}
+
+static inline double erfc(const double x)
+{
+ return gsl_sf_erfc(x);
+}
+#else
+inline double pow_2(const double x)
+{
+ return gsl_pow_2(x);
+}
+#endif
+
+/**
+ Calculates std::exp(x^2) * erfc(x)
+
+ See asymptotic expansion here:
+ http://en.wikipedia.org/wiki/Error_function
+*/
+static inline Real expxsq_erfc(Real x)
+{
+ Real result;
+
+ const Real xsq(x * x);
+ if(x > 26.0)
+ {
+ const Real M_1_SQRTPI(M_2_SQRTPI * 0.5);
+
+ const Real x2sq_r(1.0 / (2.0 * xsq)); // 2 / (2 x)^2
+
+ /*
+ up to second term in the expansion.
+ abs err ~= 9e-8 at x == 20, 3e-8 at x == 25
+
+ the third term
+ - (8 / (x2sq * x2sq * x2sq))
+ and beyond doesn't have a major contribution for large x.
+ */
+
+ result = (M_1_SQRTPI / x) *
+ (1.0 - x2sq_r + // term 1
+ x2sq_r * x2sq_r); // term 2
+ }
+ else
+ {
+ result = std::exp(xsq) * erfc(x);
+ }
+
+ return result;
+}
+
+
+/**
+ W(a, b) := std::exp(2 a b + b^2) erfc(a + b)
+*/
+static inline Real W(Real a, Real b)
+{
+ // std::exp(2 a b + b^2) erfc(a + b) ==
+ // std::exp(- a^2) std::exp((a + b)^2) erfc(a + b)
+ return std::exp(- a * a) * expxsq_erfc(a + b);
+}
+
+static inline Real __p_irr(Real r, Real t, Real r0, Real kf, Real D, Real sigma, Real alpha)
+{
+ // printf("irrp %.16g %.16g %.16g\n",r,r0,t);
+ const Real sqrtD(std::sqrt(D));
+
+ const Real Dt4(4.0 * D * t);
+ const Real r_plus_r0_minus_2sigma(r + r0 - 2.0 * sigma);
+
+ const Real num1(std::exp(- pow_2(r - r0) / Dt4));
+ const Real num2(std::exp(- pow_2(r_plus_r0_minus_2sigma) / Dt4));
+ const Real num3(W(r_plus_r0_minus_2sigma / std::sqrt(Dt4),
+ alpha * std::sqrt(t)));
+
+ const Real num((num1 + num2) / std::sqrt(4.0 * M_PI * t) - alpha * num3);
+
+ const Real den(4.0 * M_PI * r * r0 * sqrtD);
+
+ const Real result(num / den);
+
+ const Real jacobian(4.0 * M_PI * r * r);
+
+ return result * jacobian;
+}
+
+static inline Real p_irr(Real r, Real t, Real r0, Real kf, Real D, Real sigma)
+{
+ const Real kD(4.0 * M_PI * sigma * D);
+ const Real alpha((1.0 + (kf / kD)) * (std::sqrt(D) / sigma));
+
+ const Real p(__p_irr(r, t, r0, kf, D, sigma, alpha));
+
+ return p;
+}
+
+
+static inline Real __p_reaction_irr(Real t, Real r0, Real kf, Real D, Real sigma,
+ Real alpha, Real kD)
+{
+ const Real sqrtt(std::sqrt(t));
+ const Real sqrtD(std::sqrt(D));
+
+ const Real r0_m_sigma_over_sqrt4D_t((r0 - sigma)
+ / ((sqrtD + sqrtD) * sqrtt));
+
+ const Real Wf(W(r0_m_sigma_over_sqrt4D_t, alpha * sqrtt));
+ const Real factor(sigma * kf / (r0 * (kf + kD)));
+
+ return factor * (erfc(r0_m_sigma_over_sqrt4D_t) - Wf);
+}
+
+
+static inline Real p_survival_irr(Real t, Real r0, Real kf, Real D, Real sigma)
+{
+ const Real kD(4.0 * M_PI * sigma * D);
+ const Real alpha((1.0 + (kf / kD)) * (std::sqrt(D) / sigma));
+
+ const Real p(__p_reaction_irr(t, r0, kf, D, sigma, alpha, kD));
+
+ return 1.0 - p;
+}
+
+static inline Real
+__p_reaction_irr_t_inf(Real r0, Real kf, Real sigma, Real kD)
+{
+ const Real kf_kD_r0((kf + kD) * r0);
+ return 1 - (kf_kD_r0 - kf * sigma) / kf_kD_r0;
+}
+
+
+static inline Real p_survival_nocollision(Real t, Real r0, Real D, Real a)
+{
+ const Real Dt(D * t);
+ const Real asq(a * a);
+ const Real a_r(1.0 / a);
+ const Real asq_r(a_r * a_r);
+
+ const Real PIr0(M_PI * r0);
+
+ const Real angle_factor(PIr0 * a_r);
+ const Real exp_factor(- Dt * M_PI * M_PI * asq_r);
+
+ const Real TOLERANCE(1e-8);
+
+ const unsigned int i_max(
+ std::max(static_cast<unsigned int>(
+ std::ceil(std::sqrt(M_PI * M_PI
+ + asq * std::log(1.0 / TOLERANCE) / Dt) *
+ M_1_PI)), 2u));
+
+ Real p(0.0);
+ Real sign(1.0);
+ unsigned int i(1);
+ while(true)
+ {
+ const Real term(sign *
+ std::exp(exp_factor * i * i) *
+ std::sin(angle_factor * i) / i);
+
+ p += term;
+
+ if(i >= i_max)
+ {
+ break;
+ }
+
+ sign = -sign;
+ ++i;
+ }
+
+ const Real factor((a + a) / PIr0);
+
+ return p * factor;
+}
+
+static inline Real dp_survival_nocollision(Real t, Real r0, Real D, Real a)
+{
+ const Real Dt(D * t);
+ const Real asq(a * a);
+ const Real a_r(1.0 / a);
+ const Real asq_r(a_r * a_r);
+
+ const Real PIr0(M_PI * r0);
+
+ const Real angle_factor(PIr0 * a_r);
+ const Real exp_factor(- Dt * M_PI * M_PI * asq_r);
+
+ const Real TOLERANCE(1e-8);
+
+ const unsigned int i_max(
+ std::max(static_cast<unsigned int>(
+ std::ceil(std::sqrt(M_PI * M_PI
+ + asq * std::log(1.0 / TOLERANCE) / Dt) *
+ M_1_PI)), 2u));
+
+ Real p(0.0);
+ Real sign(- 1.0);
+ unsigned int i(1);
+ while(true)
+ {
+ const Real term(sign *
+ std::exp(exp_factor * i * i) *
+ std::sin(angle_factor * i) * i);
+
+ p += term;
+
+ if(i >= i_max)
+ {
+ break;
+ }
+
+ sign = -sign;
+ ++i;
+ }
+
+ const Real factor(D * (M_PI + M_PI) / (a * r0));
+
+ return p * factor;
+}
+
+static inline Real p_theta_free(Real theta, Real r, Real r0, Real t, Real D)
+{
+ Real sin_theta;
+ Real cos_theta;
+ sincos(theta, &sin_theta, &cos_theta);
+
+ const Real Dt4(4.0 * D * t);
+ const Real Dt4Pi(Dt4 * M_PI);
+
+ const Real term1(std::exp(- (r * r - 2.0 * cos_theta * r * r0 + r0 * r0) /
+ Dt4));
+ const Real term2(1.0 / std::sqrt(Dt4Pi * Dt4Pi * Dt4Pi));
+
+ return term1 * term2 * sin_theta; // jacobian
+}
+
+static inline Real ip_theta_free(Real theta, Real r, Real r0, Real t, Real D)
+{
+ const Real Dt(D * t);
+ const Real Dt2(Dt + Dt);
+ const Real rr0(r * r0);
+
+ const Real rr0_over_2Dt(rr0 / Dt2);
+
+ const Real rsqr0sq_over_4Dt((r * r + r0 * r0) / (Dt2 + Dt2));
+
+ const Real term1(expm1(rr0_over_2Dt
+ - rsqr0sq_over_4Dt));
+ const Real term2(expm1(rr0_over_2Dt * cos(theta)
+ - rsqr0sq_over_4Dt));
+
+ const Real den(4.0 * std::sqrt(M_PI * M_PI * M_PI * Dt) * rr0);
+
+ return (term1 - term2) / den;
+}
+
+static inline Real g_bd(Real r, Real sigma, Real t, Real D)
+{
+ const Real Dt4(4.0 * D * t);
+ const Real mDt4_r(- 1.0 / Dt4);
+ const Real sqrtDt4(std::sqrt(Dt4));
+ const Real sqrtDt4_r(1.0 / sqrtDt4);
+ const Real sqrtPi(std::sqrt(M_PI));
+
+ const Real rps(r + sigma);
+ const Real rms(r - sigma);
+
+ const Real term1((std::exp(rps * rps * mDt4_r) -
+ std::exp(rms * rms * mDt4_r)) * sqrtDt4 /
+ (sqrtPi * r));
+ const Real term2(erf(rps * sqrtDt4_r) - erf(rms * sqrtDt4_r));
+
+ return 0.5 * (term1 + term2) * r * r;
+}
+
+static inline Real I_bd(Real sigma, Real t, Real D)
+{
+ const Real sqrtPi(std::sqrt(M_PI));
+
+ const Real Dt(D * t);
+ const Real Dt2(Dt + Dt);
+ const Real sqrtDt(std::sqrt(Dt));
+ const Real sigmasq(sigma * sigma);
+
+ const Real term1(1.0 / (3.0 * sqrtPi));
+ const Real term2(sigmasq - Dt2);
+ const Real term3(Dt2 - 3.0 * sigmasq);
+ const Real term4(sqrtPi * sigmasq * sigma * erfc(sigma / sqrtDt));
+
+ const Real result(term1 * (- sqrtDt *
+ (term2 * std::exp(- sigmasq / Dt) + term3)
+ + term4));
+
+ return result;
+}
+
+
+static inline Real I_bd_r(Real r, Real sigma, Real t, Real D)
+{
+ const Real sqrtPi(std::sqrt(M_PI));
+
+ const Real Dt(D * t);
+ const Real Dt2(Dt + Dt);
+ const Real Dt4(Dt2 + Dt2);
+ const Real sqrtDt(std::sqrt(Dt));
+ const Real sqrtDt4(std::sqrt(Dt4));
+ const Real sigmasq(sigma * sigma);
+
+ const Real sigmacb(sigmasq * sigma);
+ const Real rcb(gsl_pow_3(r));
+
+ const Real rsigma(r * sigma);
+
+ const Real rps_sq(pow_2(r + sigma));
+ const Real rms_sq(pow_2(r - sigma));
+
+ const Real term1(- 2.0 * sqrtDt / sqrtPi);
+ const Real term2(std::exp(- sigmasq / Dt) * (sigmasq - Dt2));
+ const Real term3(- std::exp(- rps_sq / Dt4) * (rms_sq + rsigma - Dt2));
+ const Real term4(std::exp(- rms_sq / Dt4) * (rps_sq - rsigma - Dt2));
+ const Real term5(- sigmasq * 3.0 + Dt2);
+
+ const Real term6((sigmacb - rcb) * erf((r - sigma) / sqrtDt4));
+ const Real term7(- (sigmacb + sigmacb) * erf(sigma / sqrtDt));
+ const Real term8((sigmacb + rcb) * erf((r + sigma) / sqrtDt4));
+
+ const Real result((term1 * (term2 + term3 + term4 + term5)
+ // + sigmasq + rsigma + rsigma - Dt2)//expm1
+ + term6 + term7 + term8) / 6.0);
+
+ return result;
+}
+
+
+struct g_bd_params
+{
+ const Real sigma;
+ const Real t;
+ const Real D;
+ const Real target;
+};
+
+
+static inline Real I_gbd_r_F(Real r, const g_bd_params* params)
+{
+ const Real sigma(params->sigma);
+ const Real t(params->t);
+ const Real D(params->D);
+ const Real target(params->target);
+
+ return I_bd_r(r, sigma, t, D) - target;
+}
+
+static inline Real drawR_gbd(Real rnd, Real sigma, Real t, Real D)
+{
+ const Real I(I_bd(sigma, t, D));
+
+ g_bd_params params = { sigma, t, D, rnd * I };
+
+ gsl_function F =
+ {
+ reinterpret_cast<double (*)(double, void*)>(&I_gbd_r_F),
+ ¶ms
+ };
+
+ Real low(sigma);
+ Real high(sigma + 10.0 * std::sqrt (6.0 * D * t));
+
+ const gsl_root_fsolver_type* solverType(gsl_root_fsolver_brent);
+ gsl_root_fsolver* solver(gsl_root_fsolver_alloc(solverType));
+ gsl_root_fsolver_set(solver, &F, low, high);
+
+ const unsigned int maxIter(100);
+
+ unsigned int i(0);
+ while(true)
+ {
+ gsl_root_fsolver_iterate(solver);
+
+ low = gsl_root_fsolver_x_lower(solver);
+ high = gsl_root_fsolver_x_upper(solver);
+ int status(gsl_root_test_interval(low, high, 1e-18, 1e-12));
+
+ if(status == GSL_CONTINUE)
+ {
+ if(i >= maxIter)
+ {
+ gsl_root_fsolver_free(solver);
+ throw std::runtime_error("drawR_gbd: failed to converge");
+ }
+ }
+ else
+ {
+ break;
+ }
+
+ ++i;
+ }
+
+ gsl_root_fsolver_free(solver);
+
+ return low;
+}
+
+#endif /* FREE_FUNTIONS_HPP */
diff --git a/ecell4/egfrd/funcSum.cpp b/ecell4/egfrd/funcSum.cpp
new file mode 100644
index 0000000..63b5f66
--- /dev/null
+++ b/ecell4/egfrd/funcSum.cpp
@@ -0,0 +1,154 @@
+#ifdef HAVE_CONFIG_H
+#include <ecell4/egfrd/config.h>
+#endif /* HAVE_CONFIG_H */
+
+#include <vector>
+#include <cmath>
+#include <boost/bind.hpp>
+#include <gsl/gsl_sum.h>
+
+#include "Logger.hpp"
+#include "funcSum.hpp"
+
+typedef std::vector<Real> RealVector;
+
+static Logger& _log(Logger::get_logger("funcSum"));
+
+Real
+funcSum_all(boost::function<Real(unsigned int i)> f, size_t max_i)
+{
+ Real sum(0.0);
+
+ const Real p_0(f(0));
+ if (p_0 == 0.0)
+ {
+ return 0.0;
+ }
+
+ sum = p_0;
+
+ RealVector::size_type i(1);
+ while(i < max_i)
+ {
+ const Real p_i(f(i));
+ sum += p_i;
+
+ ++i;
+ }
+
+ return sum;
+}
+
+
+Real
+funcSum_all_accel(boost::function<Real(unsigned int i)> f,
+ size_t max_i, Real tolerance)
+{
+ RealVector pTable;
+ pTable.reserve(max_i);
+
+ const Real p_0(f(0));
+ if (p_0 == 0.0)
+ {
+ return 0.0;
+ }
+
+ pTable.push_back(p_0);
+
+ RealVector::size_type i(1);
+ for(; i < max_i; ++i)
+ {
+ const Real p_i(f(i));
+ pTable.push_back(p_i);
+ }
+
+ Real sum;
+ Real error;
+ gsl_sum_levin_utrunc_workspace*
+ workspace(gsl_sum_levin_utrunc_alloc(i));
+ gsl_sum_levin_utrunc_accel(&pTable[0], pTable.size(), workspace,
+ &sum, &error);
+ if (fabs(error) >= fabs(sum * tolerance))
+ {
+ _log.error("series acceleration error: %.16g"
+ " (rel error: %.16g), terms_used = %d (%d given)",
+ fabs(error), fabs(error / sum),
+ workspace->terms_used, pTable.size());
+ }
+
+ gsl_sum_levin_utrunc_free(workspace);
+
+ return sum;
+}
+
+
+Real
+funcSum(boost::function<Real(unsigned int i)> f, size_t max_i, Real tolerance)
+{
+ const unsigned int CONVERGENCE_CHECK(4);
+
+ Real sum(0.0);
+ RealVector pTable;
+
+ const Real p_0(f(0));
+ if (p_0 == 0.0)
+ {
+ return 0.0;
+ }
+
+ pTable.push_back(p_0);
+ sum = p_0;
+
+ bool extrapolationNeeded(true);
+
+ unsigned int convergenceCounter(0);
+
+ RealVector::size_type i(1);
+ while(i < max_i)
+ {
+ const Real p_i(f(i));
+ pTable.push_back(p_i);
+ sum += p_i;
+
+ ++i;
+
+ if (fabs(sum) * tolerance >= fabs(p_i)) // '=' is important
+ {
+ ++convergenceCounter;
+ }
+ /*
+ // this screws it up; why?
+ else
+ {
+ convergenceCounter = 0;
+ }
+ */
+
+ if (convergenceCounter >= CONVERGENCE_CHECK)
+ {
+ extrapolationNeeded = false;
+ break;
+ }
+
+ }
+
+ if (extrapolationNeeded)
+ {
+ Real error;
+ gsl_sum_levin_utrunc_workspace*
+ workspace(gsl_sum_levin_utrunc_alloc(i));
+ gsl_sum_levin_utrunc_accel(&pTable[0], pTable.size(), workspace,
+ &sum, &error);
+ if (fabs(error) >= fabs(sum * tolerance * 10))
+ {
+ _log.error("series acceleration error: %.16g"
+ " (rel error: %.16g), terms_used = %d (%d given)",
+ fabs(error), fabs(error / sum),
+ workspace->terms_used, pTable.size());
+ }
+
+ gsl_sum_levin_utrunc_free(workspace);
+ }
+
+ return sum;
+}
diff --git a/ecell4/egfrd/funcSum.hpp b/ecell4/egfrd/funcSum.hpp
new file mode 100644
index 0000000..a5a1f0e
--- /dev/null
+++ b/ecell4/egfrd/funcSum.hpp
@@ -0,0 +1,20 @@
+#if !defined( __FUNCSUM_HPP )
+#define __FUNCSUM_HPP
+
+#include <boost/function.hpp>
+#include <cstddef>
+
+#include "Defs.hpp"
+
+static const Real TOLERANCE( 1e-8 );
+
+Real funcSum_all(boost::function<Real(unsigned int i)> f, std::size_t max_i);
+
+Real funcSum_all_accel(boost::function<Real(unsigned int i)> f,
+ std::size_t max_i, Real tolerance = TOLERANCE);
+
+Real funcSum(boost::function<Real(unsigned int i)> f,
+ std::size_t max_i, Real tolerance = TOLERANCE);
+
+
+#endif /* __FUNCSUM_HPP */
diff --git a/ecell4/egfrd/generator.hpp b/ecell4/egfrd/generator.hpp
new file mode 100644
index 0000000..432fe30
--- /dev/null
+++ b/ecell4/egfrd/generator.hpp
@@ -0,0 +1,555 @@
+#ifndef GENERATOR_HPP
+#define GENERATOR_HPP
+
+#include <cstddef>
+#include <stdexcept>
+#include <functional>
+
+#include <boost/utility/enable_if.hpp>
+#include <boost/call_traits.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/optional.hpp>
+#include <boost/range/value_type.hpp>
+#include <boost/range/begin.hpp>
+#include <boost/range/end.hpp>
+#include <boost/range/size.hpp>
+#include <boost/range/size_type.hpp>
+#include <boost/range/iterator.hpp>
+#include <boost/range/const_iterator.hpp>
+#include <boost/range/iterator_range.hpp>
+#include <boost/mpl/or.hpp>
+#include <boost/iterator/iterator_categories.hpp>
+#include <boost/iterator/iterator_traits.hpp>
+#include <boost/iterator/iterator_facade.hpp>
+#include <boost/iterator/is_readable_iterator.hpp>
+#include <boost/type_traits/is_same.hpp>
+#include <boost/type_traits/is_convertible.hpp>
+#include <boost/type_traits/remove_reference.hpp>
+#include <boost/type_traits/remove_const.hpp>
+#include "utils/range.hpp"
+#include "utils/reset.hpp"
+#include "utils/reference_or_instance.hpp"
+
+template<typename Tgen_>
+bool valid(Tgen_ const& t)
+{
+ return true;
+}
+
+
+template<typename Tgen_>
+std::size_t count(Tgen_ const& t)
+{
+ throw std::runtime_error("generation is not limited");
+}
+
+template<typename Tgen_, typename Tpred_>
+bool drop_while(Tgen_& gen, Tpred_& pred)
+{
+ do
+ {
+ if (!valid(gen))
+ return false;
+ } while (pred(gen()));
+ return true;
+}
+
+template<typename Tgen_, typename Tpred_>
+bool drop_until(Tgen_& gen, Tpred_& pred)
+{
+ do
+ {
+ if (!valid(gen))
+ return false;
+ } while (!pred(gen()));
+ return true;
+}
+
+template<typename Tgen_>
+bool cue(Tgen_& gen,
+ typename boost::call_traits<typename Tgen_::result_type>::param_type val)
+{
+ do
+ {
+ if (!valid(gen))
+ return false;
+ } while (val != gen());
+
+ return true;
+}
+
+template<typename Tretval_>
+struct abstract_generator
+{
+ typedef Tretval_ result_type;
+
+ virtual ~abstract_generator() {}
+
+ virtual Tretval_ operator()() = 0;
+};
+
+
+template<typename Tretval_>
+struct abstract_limited_generator: public abstract_generator<Tretval_>
+{
+ virtual ~abstract_limited_generator() {}
+
+ virtual std::size_t count() const
+ {
+ throw std::runtime_error("indetermined");
+ }
+
+ virtual bool valid() const = 0;
+
+ virtual Tretval_ operator()() = 0;
+};
+
+
+template<typename Tretval_>
+bool valid(abstract_limited_generator<Tretval_> const& gen)
+{
+ return gen.valid();
+}
+
+template<typename Tretval_>
+std::size_t count(abstract_limited_generator<Tretval_> const& gen)
+{
+ return gen.count();
+}
+
+template<typename Tgen_, typename Tpointer_>
+class ptr_generator
+{
+public:
+ typedef Tgen_ generator_type;
+ typedef Tpointer_ pointer_type;
+ typedef typename generator_type::result_type result_type;
+
+public:
+ ptr_generator(Tpointer_ const& impl): impl_(impl)
+ {
+ BOOST_ASSERT(&*impl_);
+ }
+
+ explicit ptr_generator(Tpointer_& impl): impl_(impl)
+ {
+ BOOST_ASSERT(&*impl_);
+ }
+
+ ptr_generator(ptr_generator const& that)
+ : impl_(const_cast<ptr_generator&>(that).impl_) {}
+
+ explicit ptr_generator(ptr_generator& that): impl_(that.impl_) {}
+
+ bool valid() const
+ {
+ return ::valid(*impl_);
+ }
+
+ std::size_t count() const
+ {
+ return ::count(*impl_);
+ }
+
+ result_type operator()()
+ {
+ return (*impl_)();
+ }
+
+ Tpointer_ const& ptr() const
+ {
+ return impl_;
+ }
+
+private:
+ ptr_generator const& operator=(ptr_generator const& rhs)
+ {
+ impl_ = rhs.impl_;
+ return *this;
+ }
+
+private:
+ Tpointer_ impl_;
+};
+
+template<typename Tgen, typename Tpointer>
+bool valid(ptr_generator<Tgen, Tpointer> const& gen)
+{
+ return gen.valid();
+}
+
+template<typename Tgen, typename Tpointer>
+bool count(ptr_generator<Tgen, Tpointer> const& gen)
+{
+ return gen.count();
+}
+
+
+template<typename Trange_,
+ typename Titer_ = typename boost::range_iterator<Trange_>::type,
+ typename Tresult_ = typename boost::iterator_reference<Titer_>::type,
+ bool Bra_ =
+ boost::is_convertible<
+ typename boost::iterator_category_to_traversal<
+ typename boost::BOOST_ITERATOR_CATEGORY<Titer_>::type
+ >::type,
+ boost::random_access_traversal_tag>::value>
+class range_generator: public abstract_limited_generator<Tresult_>
+{
+ template<typename Trange, typename Titer, typename Tresult, bool Bra>
+ friend bool valid(range_generator<Trange, Titer, Tresult, Bra> const& gen);
+ template<typename Trange, typename Titer, typename Tresult, bool Bra>
+ friend std::size_t count(range_generator<Trange, Titer, Tresult, Bra> const& gen);
+
+public:
+ typedef Titer_ range_iterator;
+ typedef Tresult_ result_type;
+
+public:
+ template<typename Tanother_range_>
+ range_generator(Tanother_range_ const& range)
+ : i_(boost::begin(range)), end_(boost::end(range)),
+ count_(::size(range)) {}
+
+ template<typename Tanother_range_>
+ range_generator(Tanother_range_& range)
+ : i_(boost::begin(range)), end_(boost::end(range)),
+ count_(::size(range)) {}
+
+ range_generator(range_iterator const& begin, range_iterator const& end)
+ : i_(begin), end_(end), count_(::size(std::make_pair(begin, end))) {}
+
+ virtual ~range_generator() {}
+
+ virtual result_type operator()()
+ {
+ --count_;
+ return *i_++;
+ }
+
+ virtual std::size_t count() const
+ {
+ return count_;
+ }
+
+ virtual bool valid() const
+ {
+ return i_ != end_;
+ }
+
+private:
+ range_iterator i_, end_;
+ std::size_t count_;
+};
+
+template<typename Trange_, typename Titer_, typename Tresult_>
+class range_generator<Trange_, Titer_, Tresult_, false>
+ : public abstract_limited_generator<Tresult_>
+{
+ template<typename Trange, typename Titer, typename Tresult, bool Bra>
+ friend bool valid(range_generator<Trange, Titer, Tresult, Bra> const& gen);
+ template<typename Trange, typename Titer, typename Tresult, bool Bra>
+ friend std::size_t count(range_generator<Trange, Titer, Tresult, Bra> const& gen);
+
+public:
+ typedef Titer_ range_iterator;
+ typedef Tresult_ result_type;
+
+public:
+ template<typename Tanother_range_>
+ range_generator(Tanother_range_ const& range)
+ : i_(boost::begin(range)), end_(boost::end(range)) {}
+
+ template<typename Tanother_range_>
+ range_generator(Tanother_range_& range)
+ : i_(boost::begin(range)), end_(boost::end(range)) {}
+
+ range_generator(range_iterator const& begin, range_iterator const& end)
+ : i_(begin), end_(end) {}
+
+ template<typename Tanother_range_>
+ range_generator(Tanother_range_ const& range, std::size_t count)
+ : i_(boost::begin(range)), end_(boost::end(range)),
+ count_(count) {}
+
+ template<typename Tanother_range_>
+ range_generator(Tanother_range_& range, std::size_t count)
+ : i_(boost::begin(range)), end_(boost::end(range)),
+ count_(count) {}
+
+ range_generator(range_iterator const& begin, range_iterator const& end,
+ std::size_t count)
+ : i_(begin), end_(end), count_(count) {}
+
+ virtual ~range_generator() {}
+
+ virtual result_type operator()()
+ {
+ if (count_.is_initialized())
+ {
+ --boost::get(count_);
+ }
+ return *i_++;
+ }
+
+ virtual std::size_t count() const
+ {
+ if (count_.is_initialized())
+ {
+ return boost::get(count_);
+ }
+ throw std::runtime_error("count not given through the constructor");
+ }
+
+ virtual bool valid() const
+ {
+ return i_ != end_;
+ }
+
+private:
+ range_iterator i_, end_;
+ boost::optional<std::size_t> count_;
+};
+
+template<bool, typename T_>
+inline abstract_limited_generator<typename boost::iterator_reference<typename boost::range_iterator<T_>::type>::type >*
+make_range_generator(T_& range)
+{
+ return new range_generator<T_, typename boost::range_iterator<T_>::type, typename boost::iterator_reference<typename boost::range_iterator<T_>::type>::type>(range);
+}
+
+template<typename Tresult_, typename T_>
+inline abstract_limited_generator<Tresult_>*
+make_range_generator(T_& range)
+{
+ return new range_generator<T_, typename boost::range_iterator<T_>::type, Tresult_>(range);
+}
+
+template<bool, typename T_>
+inline abstract_limited_generator<typename boost::iterator_reference<typename boost::range_const_iterator<T_>::type>::type >*
+make_range_generator(T_ const& range)
+{
+ return new range_generator<T_, typename boost::range_const_iterator<T_>::type, typename boost::iterator_reference<typename boost::range_const_iterator<T_>::type>::type>(range);
+}
+
+template<typename Tresult_, typename T_>
+inline abstract_limited_generator<Tresult_>*
+make_range_generator(T_ const& range)
+{
+ return new range_generator<T_, typename boost::range_const_iterator<T_>::type, Tresult_>(range);
+}
+
+template<typename Tgen_, typename Tfun_, typename Tpointer_ = Tgen_*>
+struct transform_generator: public abstract_limited_generator<typename Tfun_::result_type>
+{
+ typedef Tgen_ generator_type;
+ typedef Tpointer_ pointer_type;
+ typedef typename boost::remove_reference<Tfun_>::type transformer_type;
+ typedef typename transformer_type::result_type result_type;
+
+ virtual ~transform_generator() {}
+
+ virtual std::size_t count() const
+ {
+ return ::count(*gen_);
+ }
+
+ virtual bool valid() const
+ {
+ return ::valid(*gen_);
+ }
+
+ virtual result_type operator()()
+ {
+ return fun_((*gen_)());
+ }
+
+ transformer_type const& functor() const
+ {
+ return fun_;
+ }
+
+ transformer_type& functor()
+ {
+ return fun_;
+ }
+
+ transform_generator(Tgen_* gen,
+ typename boost::call_traits<Tfun_>::param_type fun)
+ : gen_(gen), fun_(fun) {}
+
+public:
+ Tfun_ fun_;
+ Tpointer_ gen_;
+};
+
+template<typename Tgen_, typename Tfun_>
+inline transform_generator<Tgen_, Tfun_, boost::shared_ptr<Tgen_> >
+make_transform_generator(Tgen_* gen, Tfun_ const& fun)
+{
+ return transform_generator<Tgen_, Tfun_, boost::shared_ptr<Tgen_> >(gen, fun);
+}
+
+template<typename Tgen1_, typename Tgen2_,
+ bool Bvalid_ = boost::is_same<
+ typename Tgen1_::result_type,
+ typename Tgen2_::result_type>::value >
+struct chained_generator
+{
+ struct two_generators_return_different_types;
+ enum { _ = sizeof(two_generators_return_different_types) };
+};
+
+template<typename Tgen1_, typename Tgen2_>
+struct chained_generator<Tgen1_, Tgen2_, true>
+ : abstract_limited_generator<typename Tgen1_::result_type>
+{
+ typedef Tgen1_ first_generator_type;
+ typedef Tgen2_ second_generator_type;
+ typedef typename Tgen1_::result_type result_type;
+
+ virtual ~chained_generator() {}
+
+ chained_generator(Tgen1_& gen1, Tgen2_& gen2)
+ : gen1_(gen1), gen2_(gen2) {}
+
+ virtual std::size_t count() const
+ {
+ return ::count(gen1_) + ::count(gen2_);
+ }
+
+ virtual bool valid() const
+ {
+ return ::valid(gen1_) || ::valid(gen2_);
+ }
+
+ virtual result_type operator()()
+ {
+ if (::valid(gen1_))
+ return gen1_();
+ return gen2_();
+ }
+
+private:
+ Tgen1_& gen1_;
+ Tgen2_& gen2_;
+};
+
+template<typename Tgen1, typename Tgen2>
+bool valid(chained_generator<Tgen1, Tgen2, true> const& gen)
+{
+ return gen.valid();
+}
+
+template<typename Tgen_, typename Tpointer_ = Tgen_*>
+class generator_iterator:
+ public boost::iterator_facade<
+ generator_iterator<Tgen_, Tpointer_>,
+ typename boost::remove_reference<typename Tgen_::result_type>::type,
+ boost::single_pass_traversal_tag,
+ typename Tgen_::result_type>
+{
+ typedef boost::iterator_facade<
+ generator_iterator<Tgen_, Tpointer_>,
+ typename boost::remove_reference<typename Tgen_::result_type>::type,
+ boost::single_pass_traversal_tag,
+ typename Tgen_::result_type> base_type;
+
+public:
+ typedef Tgen_ generator_type;
+ typedef Tpointer_ pointer_type;
+ typedef typename generator_type::result_type reference;
+
+public:
+ generator_iterator(): gen_(), advanced_(false) {}
+
+ generator_iterator(Tpointer_ const& gen)
+ : gen_(valid(*gen) ? gen: Tpointer_()),
+ advanced_(false) {}
+
+ void fetch()
+ {
+ if (gen_ && !advanced_)
+ {
+ if (valid(*gen_))
+ {
+ last_ = (*gen_)();
+ }
+ else
+ {
+ ::reset(gen_);
+ last_.reset();
+ }
+ advanced_ = true;
+ }
+ }
+
+ void increment()
+ {
+ fetch();
+ advanced_ = false;
+ }
+
+ reference dereference() const
+ {
+ const_cast<generator_iterator*>(this)->fetch();
+ return last_.get();
+ }
+
+ bool equal(generator_iterator const& rhs) const
+ {
+ const_cast<generator_iterator*>(this)->fetch();
+ return (!gen_ && !rhs.gen_) || (gen_ && rhs.gen_ && *gen_ == *rhs.gen_);
+ }
+
+ typename base_type::difference_type distance_to(
+ generator_iterator const& rhs) const
+ {
+ return (gen_ ? ::count(*gen_): 0) - (rhs.gen_ ? ::count(*rhs.gen_): 0);
+ }
+
+protected:
+ Tpointer_ gen_;
+ bool advanced_;
+ boost::optional<reference> last_;
+};
+
+template<typename Tgen_, typename Tpointer_>
+class generator_range
+{
+ template<typename T_> friend typename std::iterator_traits<T_>::difference_type std::distance(T_, T_);
+
+public:
+ typedef Tgen_ generator_type;
+ typedef typename boost::remove_reference<typename generator_type::result_type>::type value_type;
+ typedef typename generator_type::result_type reference;
+ typedef const reference const_reference;
+
+ typedef generator_iterator<Tgen_, Tpointer_> iterator;
+ typedef iterator const_iterator;
+
+public:
+ iterator begin() const
+ {
+ return iterator(gen_);
+ }
+
+ iterator end() const
+ {
+ return iterator();
+ }
+
+ generator_range(Tpointer_ const& gen): gen_(gen) {}
+
+private:
+ Tpointer_ gen_;
+};
+
+template<typename Tgen, typename Tpointer>
+inline generator_range<Tgen, Tpointer>
+make_generator_range(Tpointer const& gen)
+{
+ return generator_range<Tgen, Tpointer>(gen);
+}
+
+#endif /* GENERATOR_HPP */
diff --git a/ecell4/egfrd/geometry.hpp b/ecell4/egfrd/geometry.hpp
new file mode 100644
index 0000000..cb09947
--- /dev/null
+++ b/ecell4/egfrd/geometry.hpp
@@ -0,0 +1,234 @@
+#ifndef GEOMETRY_HPP
+#define GEOMETRY_HPP
+
+#include <boost/type_traits/is_arithmetic.hpp>
+#include <boost/utility/enable_if.hpp>
+#include <boost/mpl/and.hpp>
+#include "linear_algebra.hpp"
+
+template< typename T1_, typename T2_ >
+inline typename element_type_of< T1_ >::type distance(
+ T1_ const& p1, T2_ const p2,
+ typename boost::enable_if<
+ typename boost::mpl::and_<
+ is_vector3<T1_>,
+ is_vector3<T2_> > >::type* = 0)
+{
+ return std::sqrt(
+ pow_2( p1[0] - p2[0] )
+ + pow_2( p1[1] - p2[1] )
+ + pow_2( p1[2] - p2[2] ) );
+}
+
+template<typename T_>
+inline typename element_type_of<T_>::type distance(T_ const& p1, T_ const& p2)
+{
+ return distance(p1, p2, (void*)0);
+}
+
+template<typename T_>
+inline T_ normalize(T_ const& p)
+{
+ return divide(p, length(p));
+}
+
+template<typename T_>
+inline T_ normalize(T_ const& p,
+ typename element_type_of< T_ >::type const& r)
+{
+ return multiply(p, r / length(p));
+}
+
+
+/**
+ * Transpose the position pos1 so that it can be used with another
+ * position pos2.
+ *
+ * pos1 is transposed into one of mirror images of the cyclic boundary
+ * condition so that the distance between pos1 and pos2 is smallest.
+ *
+ * Both of given pos1 and pos2 must be within the cyclic boundary. However,
+ * note that the returned transposed pos1 may not be within the cyclic boundary.
+ */
+template<typename T_>
+inline T_ periodic_transpose(T_ const& p0, T_ const& p1, T_ const& world_size, typename boost::enable_if<is_scalar<T_> >::type*)
+{
+ const T_ diff(p1 - p0), half(world_size / 2);
+ if (diff > half)
+ {
+ return p0 + world_size;
+ }
+ else if (diff < -half)
+ {
+ return p0 - world_size;
+ }
+ else
+ {
+ return p0;
+ }
+}
+
+template<typename T_>
+inline T_ periodic_transpose(T_ const& p0, T_ const& p1, typename element_type_of<T_>::type const& world_size, typename boost::enable_if<is_vector3<T_> >::type*)
+{
+ T_ retval;
+ retval[0] = periodic_transpose(p0[0], p1[0], world_size, (void*)0);
+ retval[1] = periodic_transpose(p0[1], p1[1], world_size, (void*)0);
+ retval[2] = periodic_transpose(p0[2], p1[2], world_size, (void*)0);
+ return retval;
+}
+
+template<typename T_>
+inline T_ periodic_transpose(T_ const& p0, T_ const& p1, T_ const& edge_lengths, typename boost::enable_if<is_vector3<T_> >::type*)
+{
+ T_ retval;
+ retval[0] = periodic_transpose(p0[0], p1[0], edge_lengths[0], (void*)0);
+ retval[1] = periodic_transpose(p0[1], p1[1], edge_lengths[1], (void*)0);
+ retval[2] = periodic_transpose(p0[2], p1[2], edge_lengths[2], (void*)0);
+ return retval;
+}
+
+template<typename T1_, typename T2_>
+inline T1_ periodic_transpose(T1_ const& p0, T1_ const& p1, T2_ const& world_size)
+{
+ return periodic_transpose(p0, p1, world_size, (void*)0);
+}
+
+template<typename T_>
+inline T_ apply_boundary(T_ const& p1, T_ const& world_size, typename boost::enable_if<is_scalar<T_> >::type*)
+{
+ return modulo(p1, world_size);
+}
+
+template<typename T_>
+inline T_ apply_boundary(T_ const& p1,
+ typename element_type_of<T_>::type const& world_size,
+ typename boost::enable_if<is_vector3<T_> >::type*)
+{
+ return modulo(p1, world_size);
+}
+
+template<typename T1_, typename T2_>
+inline T1_ apply_boundary(T1_ const& p1, T2_ const& edge_lengths, typename boost::enable_if<typename boost::mpl::and_<is_vector3<T1_>, is_vector3<T2_> > >::type*)
+{
+ return modulo(p1, edge_lengths);
+}
+
+template<typename T1_, typename T2_>
+inline T1_ apply_boundary(T1_ const& p1, T2_ const& world_size)
+{
+ return apply_boundary(p1, world_size, (void*)0);
+}
+
+template<typename T1_, typename T2_>
+inline typename element_type_of<T1_>::type distance_cyclic(
+ T1_ const& p1, T2_ const& p2,
+ typename element_type_of<T1_>::type const& world_size,
+ typename boost::enable_if<
+ typename boost::mpl::and_<
+ is_vector3<T1_>,
+ is_vector3<T2_> > >::type* = 0)
+{
+ return distance(p1, periodic_transpose(p2, p1, world_size));
+}
+
+template<typename T1_, typename T2_, typename T3_>
+inline typename element_type_of<T1_>::type distance_cyclic(
+ T1_ const& p1, T2_ const& p2, T3_ const& edge_lengths,
+ typename boost::enable_if<
+ typename boost::mpl::and_<
+ is_vector3<T1_>,
+ is_vector3<T2_>,
+ is_vector3<T3_> > >::type* = 0)
+{
+ return distance(p1, periodic_transpose(p2, p1, edge_lengths));
+}
+
+template<typename T_>
+inline typename element_type_of<T_>::type
+distance_cyclic(T_ const& p1, T_ const& p2,
+ typename element_type_of<T_>::type const& world_size)
+{
+ return distance_cyclic(p1, p2, world_size, (void*)0);
+}
+
+template<typename T>
+inline T spherical_to_cartesian(T const& s)
+{
+ typename element_type_of<T>::type const sintheta(std::sin(s[1]));
+ T retval;
+ retval[0] = s[0] * std::cos(s[2]) * sintheta;
+ retval[1] = s[0] * std::sin(s[2]) * sintheta;
+ retval[2] = s[0] * std::cos(s[1]);
+ return retval;
+}
+
+template<typename T1, typename T2>
+inline T1 rotate_vector(T1 const& v, T2 const& axis, double angle)
+{
+ double const c(std::cos(angle)), s(std::sin(angle)), cc(1. - c);
+ double const mat[3][3] = {
+ {
+ c + cc * axis[0] * axis[0],
+ cc * axis[0] * axis[1] - axis[2] * s,
+ cc * axis[0] * axis[2] + axis[1] * s
+ },
+ {
+ cc * axis[0] * axis[1] + axis[2] * s,
+ c + cc * axis[1] * axis[1],
+ cc * axis[1] * axis[2] - axis[0] * s
+ },
+ {
+ cc * axis[0] * axis[2] - axis[1] * s,
+ cc * axis[1] * axis[2] + axis[0] * s,
+ c + cc * axis[2] * axis[2]
+ }
+ };
+
+ return multiply(mat, v);
+}
+
+// reflect
+template<typename coordT>
+coordT reflect_plane(const coordT& begin, const coordT& end,
+ const coordT& normal, const coordT& plane)
+{
+ typedef typename element_type_of<coordT>::type valueT;
+// assert(std::abs(length(normal) - 1.0) < 1e-12);
+ const valueT norm_b = dot_product((begin - plane), normal);
+ const valueT norm_e = dot_product((end - plane), normal);
+ if(norm_b == 0.0)
+ {
+ throw std::invalid_argument("reflection: begin is on the plane");
+ }
+ else if(norm_b * norm_e > 0.0 && std::abs(norm_e) < 1e-10)
+ {
+ return (begin * 1e-10) + (end * (1.0 - 1e-10));
+ }
+ else if(norm_b * norm_e < 0.0 && std::abs(norm_e) < 1e-10)
+ {
+ return begin * 1e-10 + (end - (normal * (norm_e * 2.0))) * (1. - 1e-10);
+ }
+ else if(norm_b * norm_e > 0.0)
+ {
+ return end;
+ }
+ else
+ {
+ return end - (normal * (norm_e * 2.0));
+ }
+}
+
+template<typename coordT>
+inline typename element_type_of<coordT>::type
+angle(const coordT& lhs, const coordT& rhs)
+{
+ typedef typename element_type_of<coordT>::type valueT;
+ const valueT lensq_l = length_sq(lhs);
+ const valueT lensq_r = length_sq(rhs);
+ const valueT inner = dot_product(lhs, rhs);
+ return acos(inner / std::sqrt(lensq_l * lensq_r));
+}
+
+
+#endif /* GEOMETRY_HPP */
diff --git a/ecell4/egfrd/legacy/BDSimulator.hpp b/ecell4/egfrd/legacy/BDSimulator.hpp
new file mode 100644
index 0000000..63c5bd5
--- /dev/null
+++ b/ecell4/egfrd/legacy/BDSimulator.hpp
@@ -0,0 +1,125 @@
+#ifndef BD_SIMULATOR_HPP
+#define BD_SIMULATOR_HPP
+
+#include <algorithm>
+#include <limits>
+#include <boost/foreach.hpp>
+#include "BDPropagator.hpp"
+#include "World.hpp"
+#include "ParticleSimulator.hpp"
+#include "utils/pair.hpp"
+
+template<typename Tworld_>
+struct BDSimulatorTraitsBase: public ParticleSimulatorTraitsBase<Tworld_>
+{
+};
+
+template<typename Ttraits_>
+class BDSimulator: public ParticleSimulator<Ttraits_>
+{
+public:
+ typedef Ttraits_ traits_type;
+ typedef ParticleSimulator<Ttraits_> base_type;
+ typedef typename traits_type::world_type world_type;
+ typedef typename world_type::traits_type::rng_type rng_type;
+ typedef typename world_type::species_id_type species_id_type;
+ typedef typename world_type::species_info_type species_info_type;
+ typedef typename traits_type::time_type time_type;
+ typedef typename traits_type::network_rules_type network_rules_type;
+ typedef typename traits_type::reaction_rule_type reaction_rule_type;
+ typedef typename traits_type::rate_type rate_type;
+ typedef typename traits_type::reaction_record_type reaction_record_type;
+ typedef typename traits_type::reaction_recorder_type
+ reaction_recorder_type;
+
+public:
+ Real const& dt_factor()
+ {
+ return dt_factor_;
+ }
+
+ virtual ~BDSimulator() {}
+
+ BDSimulator(boost::shared_ptr<world_type> world,
+ boost::shared_ptr<network_rules_type const> network_rules,
+ rng_type& rng, Real dt_factor = 1.,
+ int dissociation_retry_moves = 1)
+ : base_type(world, network_rules, rng),
+ dt_factor_(dt_factor), num_retries_(dissociation_retry_moves)
+ {
+ calculate_dt();
+ }
+
+ virtual void calculate_dt()
+ {
+ base_type::dt_ = dt_factor_ * determine_dt(*base_type::world_);
+ LOG_DEBUG(("dt=%f", base_type::dt_));
+ }
+
+ virtual void step()
+ {
+ _step(base_type::dt_);
+ }
+
+ virtual bool step(time_type upto)
+ {
+ time_type const lt(upto - base_type::t_);
+ if (lt <= 0.)
+ return false;
+ if (base_type::dt_ < lt)
+ {
+ _step(base_type::dt_);
+ }
+ else
+ {
+ _step(lt);
+ base_type::t_ = upto;
+ }
+ return true;
+ }
+
+ static Real determine_dt(world_type const& world)
+ {
+ Real D_max(0.), radius_min(std::numeric_limits<Real>::max());
+
+ BOOST_FOREACH(species_info_type s, world.get_species())
+ {
+ if (D_max < s.D)
+ D_max = s.D;
+ if (radius_min > s.radius)
+ radius_min = s.radius;
+ }
+ return gsl_pow_2(radius_min * 2) / (D_max * 2);
+ }
+
+protected:
+ void _step(time_type dt)
+ {
+ {
+ BDPropagator<traits_type> propagator(
+ *base_type::world_,
+ *base_type::network_rules_,
+ base_type::rng_,
+ dt, num_retries_,
+ base_type::rrec_.get(), 0,
+ make_select_first_range(base_type::world_->
+ get_particles_range()));
+ while (propagator());
+ LOG_DEBUG(("%d: t=%lg, dt=%lg", base_type::num_steps_,
+ base_type::t_, dt));
+ }
+ ++base_type::num_steps_;
+ base_type::t_ += dt;
+ }
+
+private:
+ Real const dt_factor_;
+ int const num_retries_;
+ static Logger& log_;
+};
+
+template<typename Ttraits_>
+Logger& BDSimulator<Ttraits_>::log_(Logger::get_logger("BDSimulator"));
+
+
+#endif /* BD_SIMULATOR_HPP */
diff --git a/ecell4/egfrd/legacy/BasicNetworkRulesImpl.cpp b/ecell4/egfrd/legacy/BasicNetworkRulesImpl.cpp
new file mode 100644
index 0000000..b80c7ce
--- /dev/null
+++ b/ecell4/egfrd/legacy/BasicNetworkRulesImpl.cpp
@@ -0,0 +1,59 @@
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif /* HAVE_CONFIG_H */
+
+#include <boost/lexical_cast.hpp>
+#include "utils/range_support.hpp"
+#include "exceptions.hpp"
+#include "generator.hpp"
+#include "BasicNetworkRulesImpl.hpp"
+
+BasicNetworkRulesImpl::~BasicNetworkRulesImpl()
+{
+}
+
+BasicNetworkRulesImpl::BasicNetworkRulesImpl()
+ : serial_(0)
+{
+}
+
+BasicNetworkRulesImpl::identifier_type
+BasicNetworkRulesImpl::add_reaction_rule(ReactionRule const& r)
+{
+ std::pair<BasicNetworkRulesImpl::reaction_rule_set::iterator, bool>
+ res(reaction_rules_map_[r.get_reactants()].insert(r));
+ if (!res.second)
+ throw already_exists(boost::lexical_cast<std::string>(r));
+
+ (*res.first).set_id(serial_++);
+ return (*res.first).id();
+}
+
+void BasicNetworkRulesImpl::remove_reaction_rule(ReactionRule const& r)
+{
+ reaction_rules_map_[r.get_reactants()].erase(r);
+}
+
+BasicNetworkRulesImpl::reaction_rule_generator*
+BasicNetworkRulesImpl::query_reaction_rule(SpeciesTypeID const& r1) const
+{
+ reaction_rules_map::const_iterator i(
+ reaction_rules_map_.find(ReactionRule::Reactants(r1)));
+ if (i == reaction_rules_map_.end())
+ {
+ return 0;
+ }
+ return make_range_generator<ReactionRule>((*i).second);
+}
+
+BasicNetworkRulesImpl::reaction_rule_generator*
+BasicNetworkRulesImpl::query_reaction_rule(SpeciesTypeID const& r1, SpeciesTypeID const& r2) const
+{
+ reaction_rules_map::const_iterator i(
+ reaction_rules_map_.find(ReactionRule::Reactants(r1, r2)));
+ if (i == reaction_rules_map_.end())
+ {
+ return 0;
+ }
+ return make_range_generator<ReactionRule>((*i).second);
+}
diff --git a/ecell4/egfrd/legacy/BasicNetworkRulesImpl.hpp b/ecell4/egfrd/legacy/BasicNetworkRulesImpl.hpp
new file mode 100644
index 0000000..be7492c
--- /dev/null
+++ b/ecell4/egfrd/legacy/BasicNetworkRulesImpl.hpp
@@ -0,0 +1,33 @@
+#ifndef BASIC_NETWORK_RULES_IMPL_HPP
+#define BASIC_NETWORK_RULES_IMPL_HPP
+
+#include <map>
+#include <set>
+
+#include "NetworkRules.hpp"
+#include "ReactionRule.hpp"
+
+class BasicNetworkRulesImpl: public NetworkRules
+{
+ typedef std::set<ReactionRule> reaction_rule_set;
+ typedef std::map<ReactionRule::Reactants, reaction_rule_set> reaction_rules_map;
+ typedef ReactionRule::identifier_type identifier_type;
+
+public:
+ virtual identifier_type add_reaction_rule(ReactionRule const&);
+ virtual void remove_reaction_rule(ReactionRule const&);
+
+ virtual reaction_rule_generator* query_reaction_rule(SpeciesTypeID const& r1) const;
+
+ virtual reaction_rule_generator* query_reaction_rule(SpeciesTypeID const& r1, SpeciesTypeID const& r2) const;
+
+ virtual ~BasicNetworkRulesImpl();
+
+ BasicNetworkRulesImpl();
+
+private:
+ reaction_rules_map reaction_rules_map_;
+ identifier_type serial_;
+};
+
+#endif /* BASIC_NETWORK_RULES_IMPL_HPP */
diff --git a/ecell4/egfrd/legacy/BasicReactionRecorderImpl.hpp b/ecell4/egfrd/legacy/BasicReactionRecorderImpl.hpp
new file mode 100644
index 0000000..c3c14a2
--- /dev/null
+++ b/ecell4/egfrd/legacy/BasicReactionRecorderImpl.hpp
@@ -0,0 +1,24 @@
+#ifndef BASIC_REACTION_RECORDER_IMPL_HPP
+#define BASIC_REACTION_RECORDER_IMPL_HPP
+
+#include <vector>
+#include "ReactionRecorder.hpp"
+
+template<typename Trr_>
+class BasicReactionRecorderImpl: public ReactionRecorder<Trr_>
+{
+public:
+ typedef Trr_ reaction_record_type;
+
+public:
+ virtual void operator()(reaction_record_type const& rec)
+ {
+ records_.push_back(rec);
+ }
+
+
+protected:
+ std::vector<reaction_record_type> records_;
+};
+
+#endif /* BASIC_REACTION_RECORDER_IMPL_HPP */
diff --git a/ecell4/egfrd/legacy/Box.hpp b/ecell4/egfrd/legacy/Box.hpp
new file mode 100644
index 0000000..beca6f7
--- /dev/null
+++ b/ecell4/egfrd/legacy/Box.hpp
@@ -0,0 +1,369 @@
+#ifndef BOX_HPP
+#define BOX_HPP
+
+#include <boost/array.hpp>
+#include <boost/range/begin.hpp>
+#include <boost/range/end.hpp>
+#include <boost/multi_array.hpp>
+#include <utility>
+#include <algorithm>
+#include "utils/array_helper.hpp"
+#include "Shape.hpp"
+#include "linear_algebra.hpp"
+
+class Box;
+
+template<typename Tstrm_, typename Ttraits_>
+inline std::basic_ostream<Tstrm_, Ttraits_>& operator<<(std::basic_ostream<Tstrm_, Ttraits_>& strm,
+ const Box& v);
+
+class Box
+{
+public:
+ /*
+ typedef T_ value_type;
+ typedef Vector3<T_> position_type;
+ typedef T_ length_type;
+ */
+ typedef ecell4::Position3 position_type;
+ typedef position_type::value_type value_type;
+ typedef position_type::value_type length_type;
+
+public:
+ Box(position_type const& position = position_type())
+ : position_(position),
+ units_(array_gen(
+ create_vector<position_type>(1., 0., 0.),
+ create_vector<position_type>(0., 1., 0.),
+ create_vector<position_type>(0., 0., 1.))),
+ half_extent_(array_gen<length_type>(0.5, 0.5, 0.5)) {}
+
+ template<typename Tarray_>
+ Box(position_type const& position, Tarray_ const& half_extent)
+ : position_(position),
+ units_(array_gen(
+ create_vector<position_type>(1., 0., 0.),
+ create_vector<position_type>(0., 1., 0.),
+ create_vector<position_type>(0., 0., 1.)))
+ {
+ std::copy(boost::begin(half_extent), boost::end(half_extent),
+ boost::begin(half_extent_));
+ }
+
+ template<typename Tarray1, typename Tarray2>
+ Box(position_type const& position,
+ Tarray1 const& units, Tarray2 const& half_extent)
+ : position_(position)
+ {
+ std::copy(boost::begin(units), boost::end(units),
+ boost::begin(units_));
+ std::copy(boost::begin(half_extent), boost::end(half_extent),
+ boost::begin(half_extent_));
+ }
+
+ template<typename Tarray_>
+ Box(position_type const& position,
+ position_type const& vx,
+ position_type const& vy,
+ position_type const& vz,
+ Tarray_ const& half_extent = array_gen<length_type>(0.5, 0.5, 0.5))
+ : position_(position), units_(array_gen(vx, vy, vz))
+ {
+ std::copy(boost::begin(half_extent), boost::end(half_extent),
+ boost::begin(half_extent_));
+ }
+
+ Box(position_type const& position,
+ position_type const& vx,
+ position_type const& vy,
+ position_type const& vz,
+ length_type const& half_lx,
+ length_type const& half_ly,
+ length_type const& half_lz)
+ : position_(position), units_(array_gen(vx, vy, vz)),
+ half_extent_(array_gen<length_type>(half_lx, half_ly, half_lz)) {}
+
+ position_type const& position() const
+ {
+ return position_;
+ }
+
+ position_type& position()
+ {
+ return position_;
+ }
+
+ position_type const& unit_x() const
+ {
+ return units_[0];
+ }
+
+ position_type& unit_x()
+ {
+ return units_[0];
+ }
+
+ position_type const& unit_y() const
+ {
+ return units_[1];
+ }
+
+ position_type& unit_y()
+ {
+ return units_[1];
+ }
+
+ position_type const& unit_z() const
+ {
+ return units_[2];
+ }
+
+ position_type& unit_z()
+ {
+ return units_[2];
+ }
+
+ boost::array<position_type, 3> const& units() const
+ {
+ return units_;
+ }
+
+ boost::array<position_type, 3>& units()
+ {
+ return units_;
+ }
+
+ length_type const Lx() const
+ {
+ return 2 * half_extent_[0];
+ }
+
+ length_type Lx()
+ {
+ return 2 * half_extent_[0];
+ }
+
+ length_type const Ly() const
+ {
+ return 2 * half_extent_[1];
+ }
+
+ length_type Ly()
+ {
+ return 2 * half_extent_[1];
+ }
+
+ length_type const Lz() const
+ {
+ return 2 * half_extent_[2];
+ }
+
+ length_type Lz()
+ {
+ return 2 * half_extent_[2];
+ }
+
+ boost::array<length_type, 3> const& half_extent() const
+ {
+ return half_extent_;
+ }
+
+ boost::array<length_type, 3>& half_extent()
+ {
+ return half_extent_;
+ }
+
+ bool operator==(const Box& rhs) const
+ {
+ return position_ == rhs.position_ && units_ == rhs.units_ &&
+ half_extent_ == rhs.half_extent_;
+ }
+
+ bool operator!=(const Box& rhs) const
+ {
+ return !operator==(rhs);
+ }
+
+ std::string show(int precision)
+ {
+ std::ostringstream strm;
+ strm.precision(precision);
+ strm << *this;
+ return strm.str();
+ }
+
+protected:
+ // Middle of box.
+ position_type position_;
+ boost::array<position_type, 3> units_;
+ // Extent: for a box of 2 by 2 by 2, half_extent is 1 by 1 by 1.
+ boost::array<length_type, 3> half_extent_;
+};
+
+
+inline boost::array<Box::length_type, 3>
+to_internal(Box const& obj, Box::position_type const& pos)
+{
+ // Return pos relative to position of box.
+ typedef Box::position_type position_type;
+ position_type pos_vector(subtract(pos, obj.position()));
+
+ return array_gen<Box::length_type>(
+ dot_product(pos_vector, obj.unit_x()),
+ dot_product(pos_vector, obj.unit_y()),
+ dot_product(pos_vector, obj.unit_z()));
+}
+
+
+inline std::pair<Box::position_type,
+ Box::length_type>
+projected_point(Box const& obj, typename Box::position_type const& pos)
+{
+ // Todo. If we ever need it.
+ // The projection of a point on a box.
+ return std::make_pair(typename Box::position_type(),
+ typename Box::length_type());
+}
+
+
+inline Box::length_type
+distance(Box const& obj, typename Box::position_type const& pos)
+{
+ typedef Box::length_type length_type;
+ boost::array<length_type, 3> x_y_z(to_internal(obj, pos));
+ boost::array<length_type, 3> dx_dy_dz(subtract(abs(x_y_z), obj.half_extent()));
+
+ if (dx_dy_dz[0] > 0)
+ {
+ if (dx_dy_dz[1] > 0)
+ {
+ if (dx_dy_dz[2] > 0)
+ {
+ // Far away from box.
+ return length(dx_dy_dz);
+ }
+ else
+ {
+ return length(array_slice<0, 2>(dx_dy_dz));
+ }
+ }
+ else
+ {
+ if (dx_dy_dz[2] > 0)
+ {
+ return std::sqrt(gsl_pow_2(dx_dy_dz[0]) + gsl_pow_2(dx_dy_dz[2]));
+ }
+ else
+ {
+ return dx_dy_dz[0];
+ }
+ }
+ }
+ else
+ {
+ if (dx_dy_dz[1] > 0)
+ {
+ if (dx_dy_dz[2] > 0)
+ {
+ return length(array_slice<1, 3>(dx_dy_dz));
+ }
+ else
+ {
+ return dx_dy_dz[1];
+ }
+ }
+ else
+ {
+ if (dx_dy_dz[2] > 0)
+ {
+ return dx_dy_dz[2];
+ }
+ else
+ {
+ // Inside box.
+ return std::max(std::max(dx_dy_dz[0], dx_dy_dz[1]), dx_dy_dz[2]);
+ }
+ }
+ }
+}
+
+template<typename Trng>
+inline Box::position_type
+random_position(Box const& shape, Trng& rng)
+{
+ boost::const_multi_array_ref<Box::length_type, 2> mat(&shape.units()[0][0], boost::extents[3][3]);
+ // -1 < rng() < 1. See for example CuboidalRegion.hpp.
+ return add(
+ shape.position(),
+ multiply(
+ create_vector<Box::position_type>(
+ shape.half_extent()[0] * rng(),
+ shape.half_extent()[1] * rng(),
+ shape.half_extent()[2] * rng()),
+ mat));
+}
+
+
+inline Box const& shape(Box const& shape)
+{
+ return shape;
+}
+
+
+inline Box& shape(Box& shape)
+{
+ return shape;
+}
+
+template<>
+struct is_shape<Box>: public boost::mpl::true_ {};
+
+template<>
+struct shape_position_type<Box>
+{
+ typedef Box::position_type type;
+};
+
+template<typename Tstrm_, typename Ttraits_>
+inline std::basic_ostream<Tstrm_, Ttraits_>& operator<<(std::basic_ostream<Tstrm_, Ttraits_>& strm,
+ const Box& v)
+{
+ strm << "{" << v.position() << ", " << v.unit_x() << ", " << v.unit_y() << ", " << v.unit_z() << "," << v.Lx() << ", " << v.Ly() << ", " << v.Lz() << "}";
+ return strm;
+}
+
+
+#if defined(HAVE_TR1_FUNCTIONAL)
+namespace std { namespace tr1 {
+#elif defined(HAVE_STD_HASH)
+namespace std {
+#elif defined(HAVE_BOOST_FUNCTIONAL_HASH_HPP)
+namespace boost {
+#endif
+
+template<>
+struct hash<Box>
+{
+ typedef Box argument_type;
+
+ std::size_t operator()(argument_type const& val)
+ {
+ return hash<typename argument_type::position_type>()(val.position()) ^
+ hash<typename argument_type::position_type>()(val.unit_x()) ^
+ hash<typename argument_type::position_type>()(val.unit_y()) ^
+ hash<typename argument_type::position_type>()(val.unit_z()) ^
+ hash<typename argument_type::length_type>()(val.half_extent()[0]) ^
+ hash<typename argument_type::length_type>()(val.half_extent()[1]) ^
+ hash<typename argument_type::length_type>()(val.half_extent()[2]);
+ }
+};
+
+#if defined(HAVE_TR1_FUNCTIONAL)
+} } // namespace std::tr1
+#elif defined(HAVE_STD_HASH)
+} // namespace std
+#elif defined(HAVE_BOOST_FUNCTIONAL_HASH_HPP)
+} // namespace boost
+#endif
+
+#endif /* BOX_HPP */
diff --git a/ecell4/egfrd/legacy/CuboidalRegion.hpp b/ecell4/egfrd/legacy/CuboidalRegion.hpp
new file mode 100644
index 0000000..6572fcf
--- /dev/null
+++ b/ecell4/egfrd/legacy/CuboidalRegion.hpp
@@ -0,0 +1,62 @@
+#ifndef CUBOIDAL_REGION_HPP
+#define CUBOIDAL_REGION_HPP
+
+#include <boost/bind.hpp>
+#include "Region.hpp"
+#include "Box.hpp"
+
+template<typename Ttraits_>
+class CuboidalRegion
+ : public BasicRegionImpl<Ttraits_, Box >
+{
+public:
+ typedef BasicRegionImpl<Ttraits_, Box> base_type;
+ typedef typename base_type::traits_type traits_type;
+ typedef typename base_type::identifier_type identifier_type;
+ typedef typename base_type::shape_type shape_type;
+ typedef typename base_type::rng_type rng_type;
+ typedef typename base_type::position_type position_type;
+ typedef typename base_type::length_type length_type;
+
+ identifier_type const& id() const
+ {
+ return base_type::id_;
+ }
+
+ virtual position_type random_position(rng_type& rng) const
+ {
+ return ::random_position(base_type::shape(),
+ boost::bind(&rng_type::uniform, rng, -1., 1.));
+ }
+
+ virtual position_type random_vector(length_type const& r, rng_type& rng) const
+ {
+ return normalize(
+ create_vector<position_type>(
+ rng.uniform(-1., 1.),
+ rng.uniform(-1., 1.),
+ rng.uniform(-1., 1.)),
+ r);
+ }
+
+ virtual position_type bd_displacement(length_type const& sigma, rng_type& rng) const
+ {
+ return create_vector<position_type>(
+ rng.gaussian(sigma), rng.gaussian(sigma), rng.gaussian(sigma));
+ }
+
+ virtual void accept(ImmutativeStructureVisitor<traits_type> const& visitor) const
+ {
+ visitor(*this);
+ }
+
+ virtual void accept(MutativeStructureVisitor<traits_type> const& visitor)
+ {
+ visitor(*this);
+ }
+
+ CuboidalRegion(identifier_type const& id, shape_type const& shape)
+ : base_type(id, shape) {}
+};
+
+#endif /* CUBOIDAL_REGION_HPP */
diff --git a/ecell4/egfrd/legacy/Cylinder.hpp b/ecell4/egfrd/legacy/Cylinder.hpp
new file mode 100644
index 0000000..329261e
--- /dev/null
+++ b/ecell4/egfrd/legacy/Cylinder.hpp
@@ -0,0 +1,285 @@
+#ifndef CYLINDER_HPP
+#define CYLINDER_HPP
+
+#include <ostream>
+#include <cmath>
+#include "Vector3.hpp"
+#include "Position3Type.hpp"
+#include "Shape.hpp"
+
+class Cylinder;
+
+template<typename Tstrm_>
+inline std::basic_ostream<Tstrm_>& operator<<(std::basic_ostream<Tstrm_>& strm,
+ const Cylinder& v);
+
+// Todo. Make sure cylinder is never larger than 1 cellsize or something.
+
+class Cylinder
+{
+public:
+ /*
+ typedef T_ value_type;
+ typedef Vector3<T_> position_type;
+ typedef T_ length_type;
+ */
+ typedef ecell4::Position3 position_type;
+ typedef position_type::value_type value_type;
+ typedef position_type::value_type length_type;
+
+public:
+ Cylinder()
+ : position_(), radius_(0), unit_z_(), half_length_(0) {}
+
+ Cylinder(position_type const& position, length_type const& radius,
+ position_type const& unit_z, length_type const& half_length )
+ : position_(position), radius_(radius), unit_z_(unit_z),
+ half_length_(half_length) {}
+
+ bool operator==(const Cylinder& rhs) const
+ {
+ return position_ == rhs.position() && radius_ == rhs.radius() && unit_z_ == rhs.unit_z() && half_length_ == rhs.half_length();
+ }
+
+ bool operator!=(const Cylinder& rhs) const
+ {
+ return !operator==(rhs);
+ }
+
+ position_type const& position() const
+ {
+ return position_;
+ }
+
+ position_type& position()
+ {
+ return position_;
+ }
+
+ length_type const& radius() const
+ {
+ return radius_;
+ }
+
+ length_type& radius()
+ {
+ return radius_;
+ }
+
+ position_type const& unit_z() const
+ {
+ return unit_z_;
+ }
+
+ position_type& unit_z()
+ {
+ return unit_z_;
+ }
+
+ inline position_type const& axis() const
+ {
+ return unit_z_;
+ }
+
+ inline position_type& axis()
+ {
+ return unit_z_;
+ }
+
+ length_type const& half_length() const
+ {
+ return half_length_;
+ }
+
+ length_type& half_length()
+ {
+ return half_length_;
+ }
+
+ std::string show(int precision)
+ {
+ std::ostringstream strm;
+ strm.precision(precision);
+ strm << *this;
+ return strm.str();
+ }
+
+private:
+ position_type position_; // centre.
+ length_type radius_;
+ position_type unit_z_; // Z-unit_z. should be normalized.
+ length_type half_length_;
+};
+
+template<typename Tstrm_>
+inline std::basic_ostream<Tstrm_>& operator<<(std::basic_ostream<Tstrm_>& strm,
+ const Cylinder& v)
+{
+ strm << "{" << v.position() << ", " << v.radius() << ", " << v.unit_z() << ", " << v.half_length() << "}";
+ return strm;
+}
+
+
+inline std::pair<Cylinder::length_type,
+ Cylinder::length_type>
+to_internal(Cylinder const& obj, Cylinder::position_type const& pos)
+{
+ // Return pos relative to position of cylinder.
+ typedef Cylinder::position_type position_type;
+ typedef Cylinder::length_type length_type;
+
+ const position_type pos_vector(subtract(pos, obj.position()));
+ // z can be < 0
+ const length_type z(dot_product(pos_vector, obj.unit_z()));
+ // r is always >= 0
+ const length_type r(length(pos_vector - multiply(obj.unit_z(), z)));
+
+ return std::make_pair(r, z);
+}
+
+
+inline std::pair<Cylinder::position_type,
+ Cylinder::length_type>
+projected_point(Cylinder const& obj,
+ Cylinder::position_type const& pos)
+{
+ typedef Cylinder::length_type length_type;
+
+ // The projection lies on the z-axis.
+ std::pair<length_type, length_type> r_z(to_internal(obj, pos));
+ return std::make_pair(
+ add(obj.position(), multiply(obj.unit_z(), r_z.second)),
+ r_z.first);
+}
+
+
+inline Cylinder::length_type
+distance(Cylinder const& obj,
+ Cylinder::position_type const& pos)
+{
+ typedef Cylinder::position_type position_type;
+ typedef Cylinder::length_type length_type;
+
+ /* First compute the (z,r) components of pos in a coordinate system
+ * defined by the vectors unitR and unit_z, where unitR is
+ * choosen such that unitR and unit_z define a plane in which
+ * pos lies. */
+ const std::pair<length_type, length_type> r_z(to_internal(obj, pos));
+
+ /* Then compute distance to cylinder. */
+ const length_type dz(std::fabs(r_z.second) - obj.half_length());
+ const length_type dr(r_z.first - obj.radius());
+ length_type distance;
+ if (dz > 0)
+ {
+ // pos is (either) to the right or to the left of the cylinder.
+ if (r_z.first > obj.radius())
+ {
+ // Compute distance to edge.
+ distance = std::sqrt( dz * dz + dr * dr );
+ }
+ else
+ {
+ distance = dz;
+ }
+ }
+ else
+ {
+ if (dr > obj.radius())
+ {
+ // pos is somewhere 'parallel' to the cylinder.
+ distance = dr;
+ }
+ else
+ {
+ // Inside cylinder.
+ distance = std::max(dr, dz);
+ }
+ }
+ return distance;
+}
+
+template<typename Trng>
+inline Cylinder::position_type
+random_position(Cylinder const& shape, Trng& rng)
+{
+ // -1 < rng() < 1. See for example CylindricalSurface.hpp.
+ return add(shape.position(),
+ multiply(shape.unit_z(), rng() * shape.half_length()));
+}
+
+
+inline Cylinder const& shape(Cylinder const& shape)
+{
+ return shape;
+}
+
+
+inline Cylinder& shape(Cylinder& shape)
+{
+ return shape;
+}
+
+template<>
+struct is_shape<Cylinder>: public boost::mpl::true_ {};
+
+template<>
+struct shape_position_type<Cylinder>
+{
+ typedef typename Cylinder::position_type type;
+};
+
+template<>
+struct shape_position_type<const Cylinder>
+{
+ typedef typename Cylinder::position_type type;
+};
+
+template<>
+struct shape_length_type<Cylinder> {
+ typedef typename Cylinder::length_type type;
+};
+
+
+inline typename shape_length_type<Cylinder>::type const& shape_size(Cylinder const& shape)
+{
+ return shape.radius();
+}
+
+
+inline typename shape_length_type<Cylinder>::type& shape_size(Cylinder& shape)
+{
+ return shape.radius();
+}
+
+#if defined(HAVE_TR1_FUNCTIONAL)
+namespace std { namespace tr1 {
+#elif defined(HAVE_STD_HASH)
+namespace std {
+#elif defined(HAVE_BOOST_FUNCTIONAL_HASH_HPP)
+namespace boost {
+#endif
+
+template<>
+struct hash<Cylinder>
+{
+ typedef Cylinder argument_type;
+
+ std::size_t operator()(argument_type const& val)
+ {
+ return hash<typename argument_type::position_type>()(val.position()) ^
+ hash<typename argument_type::length_type>()(val.radius()) ^
+ hash<typename argument_type::position_type>()(val.unit_z()) ^
+ hash<typename argument_type::length_type>()(val.half_length());
+ }
+};
+
+#if defined(HAVE_TR1_FUNCTIONAL)
+} } // namespace std::tr1
+#elif defined(HAVE_STD_HASH)
+} // namespace std
+#elif defined(HAVE_BOOST_FUNCTIONAL_HASH_HPP)
+} // namespace boost
+#endif
+
+#endif /* CYLINDER_HPP */
diff --git a/ecell4/egfrd/legacy/CylindricalSurface.hpp b/ecell4/egfrd/legacy/CylindricalSurface.hpp
new file mode 100644
index 0000000..cfed0ed
--- /dev/null
+++ b/ecell4/egfrd/legacy/CylindricalSurface.hpp
@@ -0,0 +1,64 @@
+#ifndef CYLINDRICAL_SURFACE_HPP
+#define CYLINDRICAL_SURFACE_HPP
+
+#include <boost/bind.hpp>
+#include "Surface.hpp"
+#include "Cylinder.hpp"
+
+template<typename Ttraits_>
+class CylindricalSurface
+ : public BasicSurfaceImpl<Ttraits_, Cylinder>
+{
+public:
+ typedef BasicSurfaceImpl<Ttraits_, Cylinder> base_type;
+ typedef typename base_type::traits_type traits_type;
+ typedef typename base_type::identifier_type identifier_type;
+ typedef typename base_type::shape_type shape_type;
+ typedef typename base_type::rng_type rng_type;
+ typedef typename base_type::position_type position_type;
+ typedef typename base_type::length_type length_type;
+
+ virtual position_type random_position(rng_type& rng) const
+ {
+ return ::random_position(base_type::shape(), boost::bind(&rng_type::uniform, rng, -1., 1.));
+ }
+
+ virtual position_type random_vector(length_type const& r, rng_type& rng) const
+ {
+ return multiply(base_type::shape().unit_z(),
+ (rng.uniform_int(0, 1) * 2 - 1) * r);
+ }
+
+ virtual position_type bd_displacement(length_type const& sigma, rng_type& rng) const
+ {
+ return multiply(base_type::shape().unit_z(), rng.gaussian(sigma));
+ }
+
+ virtual length_type minimal_distance(length_type const& radius) const
+ {
+ length_type cylinder_radius = base_type::shape().radius();
+ // Return minimal distance *to* surface.
+ return (cylinder_radius + radius) * traits_type::MINIMAL_SEPARATION_FACTOR - cylinder_radius;
+ }
+
+ virtual void accept(ImmutativeStructureVisitor<traits_type> const& visitor) const
+ {
+ visitor(*this);
+ }
+
+ virtual void accept(MutativeStructureVisitor<traits_type> const& visitor)
+ {
+ visitor(*this);
+ }
+
+ CylindricalSurface(identifier_type const& id, shape_type const& shape)
+ : base_type(id, shape) {}
+};
+
+template<typename Ttraits_>
+inline typename CylindricalSurface<Ttraits_>::shape_type const& shape(CylindricalSurface<Ttraits_> const& obj)
+{
+ return obj.shape();
+}
+
+#endif /* CYLINDRICAL_SURFACE_HPP */
diff --git a/ecell4/egfrd/legacy/DynamicPriorityQueue.hpp b/ecell4/egfrd/legacy/DynamicPriorityQueue.hpp
new file mode 100644
index 0000000..9e19c53
--- /dev/null
+++ b/ecell4/egfrd/legacy/DynamicPriorityQueue.hpp
@@ -0,0 +1,578 @@
+#ifndef __DYNAMICPRIORITYQUEUE_HPP
+#define __DYNAMICPRIORITYQUEUE_HPP
+//
+// written by Koichi Takahashi based on the initial version by Eiichiro Adachi.
+// modified by Mozoyoshi Koizumi
+//
+
+
+
+#include <functional>
+#include <vector>
+#include <algorithm>
+#include <utility>
+#include <stdexcept>
+
+#include <boost/format.hpp>
+#include <boost/lexical_cast.hpp>
+
+#include <ecell4/core/config.h>
+
+//#define HAVE_TR1_UNORDERED_MAP
+
+#if HAVE_UNORDERED_MAP
+#include <unordered_map>
+#elif HAVE_TR1_UNORDERED_MAP
+#include <tr1/unordered_map>
+#elif HAVE_BOOST_UNORDERED_MAP_HPP
+#include <boost/unordered_map.hpp>
+#else
+#include <map>
+#endif /* HAVE_UNORDERED_MAP */
+
+#ifdef DEBUG
+#include <iostream>
+#endif
+
+#include "utils/swap.hpp"
+
+template<typename Tid_>
+struct default_id_generator
+{
+ typedef Tid_ identifier_type;
+
+ default_id_generator(): next_() {}
+
+ default_id_generator(identifier_type const& first): next_(first) {}
+
+ identifier_type operator()()
+ {
+ return ++next_;
+ }
+
+protected:
+ identifier_type next_;
+};
+
+
+template<typename Tid_ = unsigned long long,
+ typename Tindex_ = std::size_t,
+ typename Tidgen_ = default_id_generator<Tid_> >
+class persistent_id_policy
+{
+public:
+ typedef Tid_ identifier_type;
+ typedef Tindex_ index_type;
+ typedef Tidgen_ identifier_generator;
+
+protected:
+ struct hasher
+ : public std::unary_function<identifier_type, std::size_t>
+ {
+ std::size_t operator()(identifier_type value) const
+ {
+ return static_cast<std::size_t>(value) ^
+ static_cast<std::size_t>(
+ value >> (sizeof(identifier_type) * 8 / 2));
+ }
+ };
+#if HAVE_UNORDERED_MAP
+ typedef std::unordered_map<identifier_type, index_type, hasher> index_map;
+#elif HAVE_TR1_UNORDERED_MAP
+ typedef std::tr1::unordered_map<identifier_type, index_type, hasher> index_map;
+#elif HAVE_BOOST_UNORDERED_MAP_HPP
+ typedef boost::unordered_map<identifier_type, index_type, hasher> index_map;
+#else
+ typedef std::map<identifier_type, index_type> index_map;
+#endif
+
+public:
+ index_type index(identifier_type const& id) const
+ {
+ typename index_map::const_iterator i(index_map_.find(id));
+ if (i == index_map_.end())
+ {
+ throw std::out_of_range((boost::format("%s: Key not found (%s)") % __PRETTY_FUNCTION__ % boost::lexical_cast<std::string>(id)).str());
+ }
+ return (*i).second;
+ }
+
+ identifier_type push(index_type index)
+ {
+ const identifier_type id(idgen_());
+ index_map_.insert(typename index_map::value_type(id, index));
+ return id;
+ }
+
+ void pop(index_type index, identifier_type id, identifier_type last_item_id)
+ {
+ index_map_[last_item_id] = index;
+ index_map_.erase(id);
+ }
+
+ void clear()
+ {
+ index_map_.clear();
+ }
+
+private:
+ index_map index_map_;
+ identifier_generator idgen_;
+};
+
+template<typename Tindex_ = std::size_t>
+class volatile_id_policy
+{
+public:
+ typedef Tindex_ identifier_type;
+ typedef Tindex_ index_type;
+
+ index_type index(identifier_type const& id) const
+ {
+ return id;
+ }
+
+ identifier_type push(index_type index)
+ {
+ return index;
+ }
+
+ void pop(index_type, identifier_type, identifier_type) {}
+
+ void clear() {}
+};
+
+
+/**
+ Dynamic priority queue for items of type Titem_.
+
+ When Tpolicy_ template parameter is persistent_id_policy, identifier_types assigned
+ to pushed items are persistent for the life time of this priority
+ queue.
+
+ When Volatileidentifier_typePolicy template parameter is used as the Tpolicy_,
+ identifier_types are valid only until the next call of pop or push methods.
+ However, Volatileidentifier_typePolicy saves some memory and eliminates the
+ overhead incurred in pop/push methods.
+*/
+
+template<typename Titem_, typename Tcomparator = std::less_equal<Titem_>, class Tpolicy_ = persistent_id_policy<> >
+class DynamicPriorityQueue: private Tpolicy_
+{
+public:
+ typedef Tpolicy_ policy_type;
+ typedef typename policy_type::identifier_type identifier_type;
+ typedef typename policy_type::index_type index_type;
+ typedef Titem_ element_type;
+ typedef std::pair<identifier_type, element_type> value_type;
+ typedef Tcomparator comparator_type;
+
+protected:
+ typedef std::vector<value_type> value_vector;
+ typedef std::vector<index_type> index_vector;
+
+public:
+ typedef typename value_vector::size_type size_type;
+ typedef typename value_vector::const_iterator iterator;
+ typedef typename value_vector::const_iterator const_iterator;
+
+public:
+ bool empty() const
+ {
+ return items_.empty();
+ }
+
+ size_type size() const
+ {
+ return items_.size();
+ }
+
+ void clear();
+
+ value_type const& top() const
+ {
+ return items_[top_index()];
+ }
+
+ value_type const& second() const
+ {
+ return items_[second_index()];
+ }
+
+ element_type const& get(identifier_type id) const
+ {
+ return items_[policy_type::index(id)].second;
+ }
+
+ void pop()
+ {
+ pop_by_index(top_index());
+ }
+
+ void pop(identifier_type id)
+ {
+ pop_by_index(policy_type::index(id));
+ }
+
+ void replace(value_type const& item);
+
+ identifier_type push(element_type const& item);
+
+ element_type const& operator[](identifier_type id) const
+ {
+ return get(id);
+ }
+
+ const_iterator begin() const
+ {
+ return items_.begin();
+ }
+
+ const_iterator end() const
+ {
+ return items_.end();
+ }
+
+ // self-diagnostic methods
+ bool check() const; // check all
+ bool check_size() const;
+ bool check_position_mapping() const;
+ bool check_heap() const;
+
+
+protected:
+ index_type top_index() const
+ {
+ return heap_[0];
+ }
+
+ index_type second_index() const
+ {
+ if (size() <= 1)
+ {
+ throw std::out_of_range("DynamicPriorityQueue::second_index():"
+ " item count less than 2.");
+ }
+
+ const index_type index1(heap_[1]);
+
+ if (size() == 2)
+ {
+ return index1;
+ }
+
+ const index_type index2(heap_[2]);
+ if (comp(items_[index1].second, items_[index2].second))
+ {
+ return index1;
+ }
+ else
+ {
+ return index2;
+ }
+ }
+
+ void pop_by_index(index_type index);
+
+ void move(index_type index)
+ {
+ const index_type pos(position_vector_[index]);
+ move_pos(pos);
+ }
+
+ void move_top()
+ {
+ move_down_pos(0);
+ }
+
+ void move_pos(index_type pos);
+
+ void move_up(index_type index)
+ {
+ const index_type position(position_vector_[index]);
+ move_up_pos(position);
+ }
+
+ void move_down(index_type index)
+ {
+ const index_type position(position_vector_[index]);
+ move_down_pos(position);
+ }
+
+
+ void move_up_pos(index_type position, index_type start = 0);
+ void move_down_pos(index_type position);
+
+ void move_up_pos_impl(index_type position, index_type start = 0);
+ void move_down_pos_impl(index_type position);
+
+private:
+ value_vector items_;
+ index_vector heap_;
+ index_vector position_vector_;
+
+ comparator_type comp;
+};
+
+template<typename Titem_, typename Tcomparator_, typename Tpolicy_>
+inline void DynamicPriorityQueue<Titem_, Tcomparator_, Tpolicy_>::clear()
+{
+ items_.clear();
+ heap_.clear();
+ position_vector_.clear();
+ policy_type::clear();
+}
+
+
+template<typename Titem_, typename Tcomparator_, typename Tpolicy_>
+inline void DynamicPriorityQueue<Titem_, Tcomparator_, Tpolicy_>::move_pos(index_type pos)
+{
+ const index_type index(heap_[pos]);
+ const value_type& item(items_[index]);
+ const index_type succ(2 * pos + 1);
+ if (succ < size())
+ {
+ if (comp(items_[heap_[succ]].second, item.second) || (succ + 1 < size() && comp(items_[heap_[succ + 1]].second, item.second)))
+ {
+ move_down_pos_impl(pos);
+ return;
+ }
+ }
+
+ move_up_pos(pos);
+}
+
+template<typename Titem_, typename Tcomparator_, typename Tpolicy_>
+inline void DynamicPriorityQueue<Titem_, Tcomparator_, Tpolicy_>::move_up_pos(index_type position, index_type start)
+{
+ if (position == 0)
+ return;
+
+ const index_type index(heap_[position]);
+ const value_type& item(items_[index]);
+
+ const index_type pred((position - 1) / 2);
+ const index_type predindex_type(heap_[pred]);
+
+ if (comp(item.second, items_[predindex_type].second))
+ {
+ move_up_pos_impl(position, start);
+ }
+}
+
+
+template<typename Titem_, typename Tcomparator_, typename Tpolicy_>
+inline void DynamicPriorityQueue<Titem_, Tcomparator_, Tpolicy_>::move_down_pos(index_type position)
+{
+ const index_type index(heap_[position]);
+ const value_type& item(items_[index]);
+
+ const index_type succ(2 * position + 1);
+ if (succ < size())
+ {
+ if (comp(items_[heap_[succ]].second, item.second) || (succ + 1 < size() && comp(items_[heap_[succ + 1]].second, item.second)))
+ {
+ move_down_pos_impl(position);
+ }
+ }
+}
+
+template<typename Titem_, typename Tcomparator_, typename Tpolicy_>
+inline void DynamicPriorityQueue<Titem_, Tcomparator_, Tpolicy_>::move_up_pos_impl(index_type position, index_type start)
+{
+ const index_type index(heap_[position]);
+ const value_type& item(items_[index]);
+
+ if (position <= start)
+ {
+ return;
+ }
+
+ index_type pos(position);
+ index_type pred((pos - 1) / 2);
+ index_type predindex_type(heap_[pred]);
+
+ do
+ {
+ heap_[pos] = predindex_type;
+ position_vector_[predindex_type] = pos;
+ pos = pred;
+
+ if (pos <= start)
+ {
+ break;
+ }
+
+ pred = (pos - 1) / 2;
+ predindex_type = heap_[pred];
+
+ } while (! comp(items_[predindex_type].second, item.second));
+
+ heap_[pos] = index;
+ position_vector_[index] = pos;
+}
+
+
+template<typename Titem_, typename Tcomparator_, typename Tpolicy_>
+inline void DynamicPriorityQueue<Titem_, Tcomparator_, Tpolicy_>::move_down_pos_impl(index_type position)
+{
+ const index_type index(heap_[position]);
+
+ index_type succ(2 * position + 1);
+ index_type pos(position);
+ while (succ < size())
+ {
+ const index_type right_pos(succ + 1);
+ if (right_pos < size() && !comp(items_[heap_[succ]].second, items_[heap_[right_pos]].second))
+ {
+ succ = right_pos;
+ }
+
+ heap_[pos] = heap_[succ];
+ position_vector_[heap_[pos]] = pos;
+ pos = succ;
+ succ = 2 * pos + 1;
+ }
+
+ heap_[pos] = index;
+ position_vector_[index] = pos;
+
+ move_up_pos(pos, position);
+}
+
+
+
+template<typename Titem_, typename Tcomparator_, typename Tpolicy_>
+inline typename DynamicPriorityQueue<Titem_, Tcomparator_, Tpolicy_>::identifier_type
+DynamicPriorityQueue<Titem_, Tcomparator_, Tpolicy_>::push(Titem_ const& item)
+{
+ const index_type index(items_.size());
+ const identifier_type id(policy_type::push(index));
+ items_.push_back(value_type(id, item));
+ // index == pos at this time.
+ heap_.push_back(index);
+ position_vector_.push_back(index);
+ move_up_pos(index);
+ return id;
+}
+
+
+template<typename Titem_, typename Tcomparator_, typename Tpolicy_>
+inline void DynamicPriorityQueue<Titem_, Tcomparator_, Tpolicy_>::pop_by_index(index_type index)
+{
+ value_type& item(items_[index]);
+ // 1. update index<->identifier_type mapping.
+ policy_type::pop(index, item.first, items_.back().first);
+
+ // 2. pop the item from the items_.
+ blit_swap(item, items_.back());
+ items_.pop_back();
+
+ const index_type removed_pos(position_vector_[index]);
+ const index_type moved_pos(position_vector_.back());
+
+ // 3. swap position_vector_[end] and position_vector_[index]
+ position_vector_[index] = moved_pos;
+ heap_[moved_pos] = index;
+
+ // 4. if heap_[end] and heap_[removed] do not overlap,
+ // swap these, pop back, and update the heap_.
+ if (removed_pos != heap_.size() - 1)
+ {
+ heap_[removed_pos] = heap_.back();
+ position_vector_[heap_.back()] = removed_pos;
+
+ position_vector_.pop_back();
+ heap_.pop_back();
+
+ move_pos(removed_pos);
+ }
+ else // if heap_[end] and heap_[removed] are the same, simply pop back.
+ {
+ position_vector_.pop_back();
+ heap_.pop_back();
+ }
+}
+
+template<typename Titem_, typename Tcomparator_, typename Tpolicy_>
+inline void DynamicPriorityQueue<Titem_, Tcomparator_, Tpolicy_>::replace(value_type const& value)
+{
+ const index_type index(policy_type::index(value.first));
+ items_[index].second = value.second;
+ move(index);
+}
+
+template<typename Titem_, typename Tcomparator_, typename Tpolicy_>
+inline bool DynamicPriorityQueue<Titem_, Tcomparator_, Tpolicy_>::check() const
+{
+ bool result(true);
+
+ result = result && check_size();
+ result = result && check_position_mapping();
+ result = result && check_heap();
+
+ return result;
+}
+
+
+template<typename Titem_, typename Tcomparator_, typename Tpolicy_>
+inline bool DynamicPriorityQueue<Titem_, Tcomparator_, Tpolicy_>::check_size() const
+{
+ bool result(true);
+
+ // check sizes of data structures.
+ result = result && items_.size() == size();
+ result = result && heap_.size() == size();
+ result = result && position_vector_.size() == size();
+
+ return result;
+}
+
+
+template<typename Titem_, typename Tcomparator_, typename Tpolicy_>
+inline bool DynamicPriorityQueue<Titem_, Tcomparator_, Tpolicy_>::check_position_mapping() const
+{
+ bool result(true);
+
+ // assert correct mapping between the heap_ and the position_vector_.
+ for (index_type i(0); i < size(); ++i)
+ {
+ result = result && heap_[i] < size();
+ result = result && position_vector_[i] < size();
+ result = result && heap_[position_vector_[i]] == i;
+ }
+
+ return result;
+}
+
+template<typename Titem_, typename Tcomparator_, typename Tpolicy_>
+inline bool DynamicPriorityQueue<Titem_, Tcomparator_, Tpolicy_>::check_heap() const
+{
+ bool result(true);
+
+ // assert correct ordering of items in the heap_.
+
+ for (index_type pos(0); pos < size(); ++pos)
+ {
+ const value_type& item(items_[heap_[pos]]);
+
+ const index_type succ(pos * 2 + 1);
+ if (succ < size())
+ {
+ result = result &&
+ comp(item.second, items_[heap_[succ]].second);
+
+ const index_type right_pos(succ + 1);
+ if (right_pos < size())
+ {
+ result = result && comp(item.second, items_[heap_[right_pos]].second);
+ }
+ }
+
+ }
+
+ return result;
+}
+
+
+#endif // __DYNAMICPRIORITYQUEUE_HPP
diff --git a/ecell4/egfrd/legacy/EGFRDSimulatorFactory.hpp b/ecell4/egfrd/legacy/EGFRDSimulatorFactory.hpp
new file mode 100644
index 0000000..88cffb1
--- /dev/null
+++ b/ecell4/egfrd/legacy/EGFRDSimulatorFactory.hpp
@@ -0,0 +1,89 @@
+#ifndef EGFRD_SIMULATOR_FACTORY_HPP
+#define EGFRD_SIMULATOR_FACTORY_HPP
+
+#include "ParticleSimulatorFactory.hpp"
+#include "EGFRDSimulator.hpp"
+#include "CuboidalRegion.hpp"
+#include "linear_algebra.hpp"
+
+template<typename Ttraits_>
+class EGFRDSimulatorFactory: public ParticleSimulatorFactory<Ttraits_>
+{
+public:
+ typedef ParticleSimulatorFactory<Ttraits_> base_type;
+ typedef Ttraits_ traits_type;
+ typedef typename traits_type::world_type::traits_type world_traits_type;
+ typedef typename traits_type::world_type world_type;
+ typedef typename traits_type::network_rules_type network_rules_type;
+ typedef typename world_traits_type::length_type length_type;
+ typedef typename world_traits_type::size_type size_type;
+ typedef typename world_traits_type::position_type position_type;
+ typedef typename world_traits_type::rng_type rng_type;
+ typedef CuboidalRegion<traits_type> cuboidal_region_type;
+
+public:
+ EGFRDSimulatorFactory(rng_type& rng): rng_(rng) {}
+
+ virtual ~EGFRDSimulatorFactory() {}
+
+ virtual EGFRDSimulator<traits_type>* operator()(ParticleModel const& model) const
+ {
+ length_type const world_size(boost::lexical_cast<length_type>(model["size"]));
+ size_type matrix_size(3);
+ int dissociation_retry_moves(3);
+
+ try
+ {
+ matrix_size = boost::lexical_cast<length_type>(model["matrix_size"]);
+ }
+ catch (not_found const&) {}
+
+ try
+ {
+ dissociation_retry_moves = boost::lexical_cast<length_type>(model["dissociation_retry_moves"]);
+ }
+ catch (not_found const&) {}
+
+ position_type const x(divide(position_type(world_size, world_size, world_size), 2));
+ boost::shared_ptr<world_type> world(
+ new world_type(world_size, matrix_size));
+ world->add_structure(
+ boost::shared_ptr<cuboidal_region_type>(
+ new cuboidal_region_type(
+ "world",
+ typename cuboidal_region_type::shape_type(x, x))));
+
+ BOOST_FOREACH (boost::shared_ptr<StructureType> st,
+ model.get_structure_types())
+ {
+ std::string const& type((*st)["type"]);
+ // TODO: add surfaces to world
+ }
+
+ BOOST_FOREACH (boost::shared_ptr<SpeciesType> st,
+ model.get_species_types())
+ {
+ std::string const& structure_id((*st)["structure"]);
+ world->add_species(
+ typename world_traits_type::species_type(
+ st->id(),
+ boost::lexical_cast<typename world_traits_type::D_type>(
+ (*st)["D"]),
+ boost::lexical_cast<length_type>((*st)["radius"]),
+ boost::lexical_cast<typename world_traits_type::structure_id_type>(
+ structure_id.empty() ? "world": structure_id)
+ ));
+ }
+
+ return new EGFRDSimulator<traits_type>(
+ world,
+ boost::shared_ptr<network_rules_type>(
+ new network_rules_type(model.network_rules())),
+ rng_, dissociation_retry_moves);
+ }
+
+protected:
+ rng_type& rng_;
+};
+
+#endif /* EGFRD_SIMULATION_HPP */
diff --git a/ecell4/egfrd/legacy/EventScheduler.hpp b/ecell4/egfrd/legacy/EventScheduler.hpp
new file mode 100644
index 0000000..f138a29
--- /dev/null
+++ b/ecell4/egfrd/legacy/EventScheduler.hpp
@@ -0,0 +1,143 @@
+#ifndef __EVENTSCHEDULER_HPP
+#define __EVENTSCHEDULER_HPP
+//
+// written by Koichi Takahashi <shafi at e-cell.org>,
+// E-Cell Project.
+//
+
+#include <boost/range/iterator_range.hpp>
+#include <boost/shared_ptr.hpp>
+#include <stdexcept>
+#include "DynamicPriorityQueue.hpp"
+
+/**
+ Event scheduler.
+
+ This class works as a sequential
+ event scheduler with a heap-tree based priority queue.
+
+*/
+
+template<typename Ttime_>
+class EventScheduler
+{
+public:
+ typedef Ttime_ time_type;
+
+ struct Event
+ {
+ typedef Ttime_ time_type;
+
+ Event(time_type const& time): time_(time) {}
+
+ virtual ~Event() {}
+
+ time_type const& time() const
+ {
+ return time_;
+ }
+
+ protected:
+ const time_type time_;
+ };
+
+protected:
+ struct event_comparator
+ {
+ bool operator()(boost::shared_ptr<Event> const& lhs,
+ boost::shared_ptr<Event> const& rhs) const
+ {
+ return lhs->time() <= rhs->time();
+ }
+ };
+
+ typedef DynamicPriorityQueue<boost::shared_ptr<Event>, event_comparator> EventPriorityQueue;
+
+public:
+ typedef typename EventPriorityQueue::size_type size_type;
+ typedef typename EventPriorityQueue::identifier_type identifier_type;
+ typedef typename EventPriorityQueue::value_type value_type;
+ typedef boost::iterator_range<typename EventPriorityQueue::const_iterator> events_range;
+
+public:
+
+
+ EventScheduler(): time_( 0.0 ) {}
+
+ ~EventScheduler() {}
+
+ time_type time() const
+ {
+ return time_;
+ }
+
+ size_type size() const
+ {
+ return eventPriorityQueue_.size();
+ }
+
+ value_type const& top() const
+ {
+ return eventPriorityQueue_.top();
+ }
+
+ value_type pop()
+ {
+ if (eventPriorityQueue_.empty())
+ {
+ throw std::out_of_range("queue is empty");
+ }
+ const value_type top(eventPriorityQueue_.top());
+ eventPriorityQueue_.pop();
+ time_ = top.second->time();
+ return top;
+ }
+
+ value_type const& second() const
+ {
+ return eventPriorityQueue_.second();
+ }
+
+ boost::shared_ptr<Event> get(identifier_type const& id) const
+ {
+ return eventPriorityQueue_.get(id);
+ }
+
+ void clear()
+ {
+ time_ = 0.0;
+ eventPriorityQueue_.clear();
+ }
+
+ identifier_type add(boost::shared_ptr<Event> const& event)
+ {
+ return eventPriorityQueue_.push(event);
+ }
+
+ void remove(identifier_type const& id)
+ {
+ eventPriorityQueue_.pop(id);
+ }
+
+ void update(value_type const& pair)
+ {
+ eventPriorityQueue_.replace(pair);
+ }
+
+ bool check() const
+ {
+ return eventPriorityQueue_.check();
+ }
+
+ events_range events() const
+ {
+ return boost::make_iterator_range(eventPriorityQueue_.begin(),
+ eventPriorityQueue_.end());
+ }
+
+private:
+ EventPriorityQueue eventPriorityQueue_;
+ time_type time_;
+};
+
+#endif /* __EVENTSCHEDULER_HPP */
diff --git a/ecell4/egfrd/legacy/Identifier.hpp b/ecell4/egfrd/legacy/Identifier.hpp
new file mode 100644
index 0000000..0b79c60
--- /dev/null
+++ b/ecell4/egfrd/legacy/Identifier.hpp
@@ -0,0 +1,221 @@
+#ifndef IDENTIFIER_HPP
+#define IDENTIFIER_HPP
+
+#include <utility>
+
+struct DefaultLot
+{
+ DefaultLot& operator=(DefaultLot const&) {
+ return *this;
+ }
+
+ operator bool() const { return false; }
+
+ bool operator!() const { return true; }
+
+ DefaultLot& operator++()
+ {
+ return *this;
+ }
+
+ DefaultLot operator++(int)
+ {
+ return DefaultLot();
+ }
+
+ DefaultLot& operator--()
+ {
+ return *this;
+ }
+
+ DefaultLot operator--(int)
+ {
+ return DefaultLot();
+ }
+
+ bool operator==(DefaultLot const& rhs) const
+ {
+ return true;
+ }
+
+ bool operator!=(DefaultLot const& rhs) const
+ {
+ return false;
+ }
+
+ bool operator<(DefaultLot const& rhs) const
+ {
+ return false;
+ }
+
+ bool operator>=(DefaultLot const& rhs) const
+ {
+ return false;
+ }
+
+ bool operator>(DefaultLot const& rhs) const
+ {
+ return false;
+ }
+
+ bool operator<=(DefaultLot const& rhs) const
+ {
+ return false;
+ }
+};
+
+template<typename Tbase_, typename Tserial_, typename Tlot_ = DefaultLot>
+struct Identifier
+{
+ typedef Tlot_ lot_type;
+ typedef Tserial_ serial_type;
+ typedef std::pair<lot_type, serial_type> value_type;
+
+ Identifier(value_type const& value)
+ : value_(value) {}
+
+ Tbase_ lot_add(lot_type const& rhs) const
+ {
+ return value_type(value_.first + rhs, value_.second);
+ }
+
+ Tbase_ lot_subtract(lot_type const& rhs) const
+ {
+ return value_type(value_.first - rhs, value_.second);
+ }
+
+ Tbase_& lot_advance(lot_type const& rhs)
+ {
+ value_.first += rhs;
+ return static_cast<Tbase_&>(*this);
+ }
+
+ Tbase_& lot_retrace(lot_type const& rhs)
+ {
+ value_.first -= rhs;
+ return static_cast<Tbase_&>(*this);
+ }
+
+ Tbase_ serial_add(serial_type const& rhs) const
+ {
+ return value_type(value_.first, value_.second + rhs);
+ }
+
+ Tbase_ seral_subtract(serial_type const& rhs) const
+ {
+ return value_type(value_.first, value_.second - rhs);
+ }
+
+ Tbase_& serial_advance(serial_type const& rhs)
+ {
+ value_.second += rhs;
+ return static_cast<Tbase_&>(*this);
+ }
+
+ Tbase_& serial_retrace(serial_type const& rhs)
+ {
+ value_.second -= rhs;
+ return static_cast<Tbase_&>(*this);
+ }
+
+ Tbase_& operator=(Tbase_ const& rhs)
+ {
+ value_.first = rhs.value_.first;
+ value_.second = rhs.value_.second;
+ }
+
+ operator bool() const
+ {
+ return value_.second != 0;
+ }
+
+ bool operator!() const
+ {
+ return value_.second == 0;
+ }
+
+ bool is_initialized() const
+ {
+ return value_.second != 0;
+ }
+
+ bool operator==(Tbase_ const& rhs) const
+ {
+ return value_.first == rhs.value_.first &&
+ value_.second == rhs.value_.second;
+ }
+
+ bool operator!=(Tbase_ const& rhs) const
+ {
+ return value_.first != rhs.value_.first
+ || value_.second != rhs.value_.second;
+ }
+
+ bool operator<(Tbase_ const& rhs) const
+ {
+ return value_.second < rhs.value_.second
+ || (value_.second == rhs.value_.second &&
+ value_.first < rhs.value_.first);
+ }
+
+ bool operator>=(Tbase_ const& rhs) const
+ {
+ return value_.second > rhs.value_.second
+ || (value_.second == rhs.value_.second &&
+ value_.first >= rhs.value_.first);
+ }
+
+ bool operator>(Tbase_ const& rhs) const
+ {
+ return value_.second > rhs.value_.second
+ || (value_.second == rhs.value_.second &&
+ value_.first > rhs.value_.first);
+ }
+
+ bool operator<=(Tbase_ const& rhs) const
+ {
+ return value_.second < rhs.value_.second
+ || (value_.second == rhs.value_.second &&
+ value_.first <= rhs.value_.first);
+ }
+
+ operator value_type() const
+ {
+ return value_;
+ }
+
+ value_type const& operator()() const
+ {
+ return value_;
+ }
+
+ lot_type& lot()
+ {
+ return value_.first;
+ }
+
+ lot_type const& lot() const
+ {
+ return value_.first;
+ }
+
+ serial_type& serial()
+ {
+ return value_.second;
+ }
+
+ serial_type const& serial() const
+ {
+ return value_.second;
+ }
+
+ value_type& operator()()
+ {
+ return value_;
+ }
+
+protected:
+ value_type value_;
+};
+
+#endif /* IDENTIFIER_HPP */
diff --git a/ecell4/egfrd/legacy/Makefile.am b/ecell4/egfrd/legacy/Makefile.am
new file mode 100755
index 0000000..aa1a5c1
--- /dev/null
+++ b/ecell4/egfrd/legacy/Makefile.am
@@ -0,0 +1,439 @@
+ACLOCAL_AMFLAGS=-I m4
+
+SUBDIRS = binding doc test
+
+TOPSRCDIR = ${top_srcdir}
+
+LTDL_SHLIB_EXT = @LTDL_SHLIB_EXT@
+
+PYTHON = @PYTHON@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+
+NUMPY_INCLUDE_DIR=@NUMPY_INCLUDE_DIR@
+PYTHON_INCLUDES = @PYTHON_INCLUDES@
+
+pkgpyexecdir = @pkgpyexecdir@
+
+LIBPYTHON = -lpython$(PYTHON_VERSION)
+
+INCLUDES = ${PYTHON_INCLUDES} -I${NUMPY_INCLUDE_DIR}
+AM_CXXFLAGS = @CXXFLAGS@ @GSL_CFLAGS@
+LIBBOOSTPYTHON = -l at BOOST_PYTHON_LIBNAME@
+LIBBOOSTREGEX = -l at BOOST_REGEX_LIBNAME@
+
+CFLAGS = @GSL_CFLAGS@ @BOOST_CPPFLAGS@
+
+PYCHECKER = @PYCHECKER@
+PYCHECKER_FLAGS = --limit 0
+
+noinst_PYTHON = \
+ bd.py\
+ gfrdbase.py\
+ logger.py\
+ gfrdbase.py\
+ utils.py\
+ egfrd.py\
+ gfrd.py\
+ surface.py\
+ single.py\
+ dimer.py
+
+
+lib_LTLIBRARIES = libegfrd_utils.la libegfrd_gf.la libegfrd.la _gfrd.la _greens_functions.la
+
+noinst_HEADERS = \
+ abstract_set.hpp\
+ BasicNetworkRulesImpl.hpp\
+ GreensFunction3DRadInf.hpp\
+ BDPropagator.hpp\
+ BDSimulator.hpp\
+ bessel.hpp\
+ Box.hpp\
+ ConsoleAppender.hpp\
+ Cylinder.hpp\
+ Defs.hpp\
+ DomainFactory.hpp\
+ Domain.hpp\
+ DomainID.hpp\
+ DynamicPriorityQueue.hpp\
+ EGFRDSimulator.hpp\
+ EventScheduler.hpp\
+ exceptions.hpp\
+ factorial.hpp\
+ filters.hpp\
+ findRoot.hpp\
+ freeFunctions.hpp\
+ funcSum.hpp\
+ generator.hpp\
+ geometry.hpp\
+ GreensFunction.hpp\
+ GSLRandomNumberGenerator.hpp\
+ gsl_rng_base.hpp\
+ HalfOrderBesselGenerator.hpp\
+ Identifier.hpp\
+ linear_algebra.hpp\
+ Logger.hpp\
+ MatrixSpace.hpp\
+ Model.hpp\
+ Multi.hpp\
+ NetworkRules.hpp\
+ NetworkRulesWrapper.hpp\
+ PairGreensFunction.hpp\
+ Pair.hpp\
+ ParticleContainerBase.hpp\
+ ParticleContainer.hpp\
+ Particle.hpp\
+ ParticleID.hpp\
+ ParticleSimulator.hpp\
+ Point.hpp\
+ PyEventScheduler.hpp\
+ ReactionRule.hpp\
+ ReactionRuleInfo.hpp\
+ Region.hpp\
+ SerialIDGenerator.hpp\
+ Shape.hpp\
+ Shell.hpp\
+ ShellID.hpp\
+ Single.hpp\
+ sorted_list.hpp\
+ SpeciesInfo.hpp\
+ SpeciesType.hpp\
+ SpeciesTypeID.hpp\
+ Sphere.hpp\
+ Structure.hpp\
+ StructureUtils.hpp\
+ StructureType.hpp\
+ Surface.hpp\
+ Transaction.hpp\
+ twofold_container.hpp\
+ Vector3.hpp\
+ World.hpp\
+ peer/numpy/scalar_converters.hpp \
+ peer/numpy/ndarray_converters.hpp \
+ peer/numpy/pyarray_backed_allocator.hpp \
+ peer/numpy/type_mappings.hpp \
+ peer/numpy/wrapped_multi_array.hpp \
+ peer/set_indexing_suite.hpp \
+ peer/compat.h \
+ peer/pickle_support.hpp \
+ peer/converters/sequence.hpp \
+ peer/converters/tuple.hpp \
+ peer/converters/tuple/to_python.hpp \
+ peer/converters/tuple/from_python.hpp \
+ peer/converters/iterator.hpp \
+ peer/converters/generator/to_python.hpp \
+ peer/converters/generator/from_python.hpp \
+ peer/converters/iterator/to_python.hpp \
+ peer/converters/sequence/to_python.hpp \
+ peer/converters/sequence/from_python.hpp \
+ peer/wrappers/range/pyiterable_range.hpp \
+ peer/wrappers/range/stl_container_wrapper.hpp \
+ peer/wrappers/exception/exception_wrapper.hpp \
+ peer/wrappers/generator/pyiterator_generator.hpp \
+ peer/wrappers/generator/generator_wrapper.hpp \
+ peer/wrappers/iterator/pyseq_iterator.hpp \
+ peer/wrappers/iterator/stl_iterator_wrapper.hpp \
+ peer/py_hash_support.hpp \
+ peer/utils.hpp \
+ utils/array_helper.hpp\
+ utils/array_traits.hpp\
+ utils/fun_composition.hpp\
+ utils/fun_wrappers.hpp\
+ utils/get_default_impl.hpp\
+ utils/get_mapper_mf.hpp\
+ utils.hpp\
+ utils/memberwise_compare.hpp\
+ utils/pair.hpp\
+ utils/pointer_preds.hpp\
+ utils/range.hpp\
+ utils/range_support.hpp\
+ utils/reference_or_instance.hpp\
+ utils/unassignable_adapter.hpp
+
+_gfrd_la_CPPFLAGS = -DPY_ARRAY_UNIQUE_SYMBOL=PyArray_API
+
+pkginclude_HEADERS =\
+ Defs.hpp\
+ OldDefs.hpp\
+ Logger.hpp\
+ utils.hpp\
+ ConsoleAppender.hpp\
+ CylindricalBesselTable.hpp\
+ SphericalBesselGenerator.hpp\
+ HalfOrderBesselGenerator.hpp\
+ GreensFunction1DRadAbs.hpp\
+ GreensFunction1DAbsAbs.hpp\
+ PairGreensFunction.hpp\
+ GreensFunction3D.hpp\
+ GreensFunction3DAbsSym.hpp\
+ GreensFunction3DAbs.hpp\
+ GreensFunction3DRadAbs.hpp\
+ GreensFunction3DRadAbsBase.hpp\
+ GreensFunction3DRadInf.hpp\
+ GreensFunction3DSym.hpp\
+ abstract_set.hpp\
+ linear_algebra.hpp\
+ sorted_list.hpp\
+ twofold_container.hpp\
+ filters.hpp\
+ freeFunctions.hpp\
+ BasicNetworkRulesImpl.hpp\
+ BDPropagator.hpp\
+ BDSimulator.hpp\
+ Box.hpp\
+ ConsoleAppender.hpp\
+ Cylinder.hpp\
+ Defs.hpp\
+ DomainFactory.hpp\
+ Domain.hpp\
+ DomainID.hpp\
+ DynamicPriorityQueue.hpp\
+ EGFRDSimulator.hpp\
+ EventScheduler.hpp\
+ exceptions.hpp\
+ generator.hpp\
+ geometry.hpp\
+ GreensFunction.hpp\
+ GSLRandomNumberGenerator.hpp\
+ gsl_rng_base.hpp\
+ Identifier.hpp\
+ MatrixSpace.hpp\
+ Model.hpp\
+ Multi.hpp\
+ NetworkRules.hpp\
+ NetworkRulesWrapper.hpp\
+ PairGreensFunction.hpp\
+ Pair.hpp\
+ ParticleContainerBase.hpp\
+ ParticleContainer.hpp\
+ Particle.hpp\
+ ParticleID.hpp\
+ ParticleSimulator.hpp\
+ Point.hpp\
+ ReactionRule.hpp\
+ ReactionRuleInfo.hpp\
+ Region.hpp\
+ SerialIDGenerator.hpp\
+ Shape.hpp\
+ Shell.hpp\
+ ShellID.hpp\
+ Single.hpp\
+ SpeciesInfo.hpp\
+ SpeciesType.hpp\
+ SpeciesTypeID.hpp\
+ Sphere.hpp\
+ Structure.hpp\
+ StructureUtils.hpp\
+ StructureType.hpp\
+ Surface.hpp\
+ Transaction.hpp\
+ Vector3.hpp\
+ World.hpp\
+ AnalyticalPair.hpp\
+ AnalyticalSingle.hpp\
+ BasicReactionRecorderImpl.hpp\
+ CuboidalRegion.hpp\
+ CylindricalBesselGenerator.hpp\
+ CylindricalSurface.hpp\
+ DomainUtils.hpp\
+ EGFRDSimulatorFactory.hpp\
+ ParticleModel.hpp\
+ ParticleSimulationStructure.hpp\
+ ParticleSimulatorFactory.hpp\
+ PlanarSurface.hpp\
+ Plane.hpp\
+ PyEventScheduler.hpp\
+ ReactionRecord.hpp\
+ ReactionRecorder.hpp\
+ ShapedDomain.hpp\
+ SphericalSurface.hpp\
+ VolumeClearer.hpp
+
+libegfrd_utils_la_LIBADD = $(LIBBOOSTREGEX)
+libegfrd_utils_la_SOURCES=\
+ Defs.hpp\
+ OldDefs.hpp\
+ Logger.hpp\
+ ConsoleAppender.hpp\
+ utils.hpp\
+ Logger.cpp\
+ ConsoleAppender.cpp\
+ utils.cpp
+
+libegfrd_gf_la_LIBADD = libegfrd_utils.la $(GSL_LIBS)
+libegfrd_gf_la_SOURCES=\
+ factorial.hpp\
+ funcSum.hpp\
+ freeFunctions.hpp\
+ SphericalBesselTable.hpp\
+ findRoot.hpp\
+ CylindricalBesselTable.hpp\
+ SphericalBesselGenerator.hpp\
+ HalfOrderBesselGenerator.hpp\
+ GreensFunction1DRadAbs.hpp\
+ GreensFunction1DAbsAbs.hpp\
+ PairGreensFunction.hpp\
+ GreensFunction3D.hpp\
+ GreensFunction3DAbsSym.hpp\
+ GreensFunction3DAbs.hpp\
+ GreensFunction3DRadAbs.hpp\
+ GreensFunction3DRadAbsBase.hpp\
+ GreensFunction3DRadInf.hpp\
+ GreensFunction3DSym.hpp\
+ findRoot.cpp\
+ funcSum.cpp\
+ GreensFunction1DAbsAbs.cpp\
+ GreensFunction1DRadAbs.cpp\
+ PairGreensFunction.cpp\
+ GreensFunction3D.cpp\
+ GreensFunction3DAbs.cpp\
+ GreensFunction3DAbsSym.cpp\
+ GreensFunction3DRadAbsBase.cpp\
+ GreensFunction3DRadAbs.cpp\
+ GreensFunction3DRadInf.cpp\
+ GreensFunction3DSym.cpp\
+ SphericalBesselGenerator.cpp
+
+libegfrd_la_LIBADD = libegfrd_utils.la libegfrd_gf.la $(GSL_LIBS)
+libegfrd_la_SOURCES=\
+ abstract_set.hpp\
+ linear_algebra.hpp\
+ sorted_list.hpp\
+ twofold_container.hpp\
+ filters.hpp\
+ freeFunctions.hpp\
+ BasicNetworkRulesImpl.hpp\
+ BDPropagator.hpp\
+ BDSimulator.hpp\
+ Box.hpp\
+ ConsoleAppender.hpp\
+ Cylinder.hpp\
+ Defs.hpp\
+ DomainFactory.hpp\
+ Domain.hpp\
+ DomainID.hpp\
+ DynamicPriorityQueue.hpp\
+ EGFRDSimulator.hpp\
+ EventScheduler.hpp\
+ exceptions.hpp\
+ generator.hpp\
+ geometry.hpp\
+ GreensFunction.hpp\
+ GSLRandomNumberGenerator.hpp\
+ gsl_rng_base.hpp\
+ Identifier.hpp\
+ MatrixSpace.hpp\
+ Model.hpp\
+ Multi.hpp\
+ NetworkRules.hpp\
+ NetworkRulesWrapper.hpp\
+ PairGreensFunction.hpp\
+ Pair.hpp\
+ ParticleContainerBase.hpp\
+ ParticleContainer.hpp\
+ Particle.hpp\
+ ParticleID.hpp\
+ ParticleSimulator.hpp\
+ Point.hpp\
+ ReactionRule.hpp\
+ ReactionRuleInfo.hpp\
+ Region.hpp\
+ SerialIDGenerator.hpp\
+ Shape.hpp\
+ Shell.hpp\
+ ShellID.hpp\
+ Single.hpp\
+ SpeciesInfo.hpp\
+ SpeciesType.hpp\
+ SpeciesTypeID.hpp\
+ Sphere.hpp\
+ Structure.hpp\
+ StructureUtils.hpp\
+ StructureType.hpp\
+ Surface.hpp\
+ Transaction.hpp\
+ Vector3.hpp\
+ World.hpp\
+ AnalyticalPair.hpp\
+ AnalyticalSingle.hpp\
+ BasicReactionRecorderImpl.hpp\
+ CuboidalRegion.hpp\
+ CylindricalBesselGenerator.hpp\
+ CylindricalSurface.hpp\
+ DomainUtils.hpp\
+ EGFRDSimulatorFactory.hpp\
+ ParticleModel.hpp\
+ ParticleSimulationStructure.hpp\
+ ParticleSimulatorFactory.hpp\
+ PlanarSurface.hpp\
+ Plane.hpp\
+ PyEventScheduler.hpp\
+ ReactionRecord.hpp\
+ ReactionRecorder.hpp\
+ ShapedDomain.hpp\
+ SphericalSurface.hpp\
+ VolumeClearer.hpp\
+ BasicNetworkRulesImpl.cpp\
+ Model.cpp\
+ NetworkRules.cpp\
+ ParticleModel.cpp\
+ SpeciesType.cpp\
+ SphericalBesselGenerator.cpp\
+ StructureType.cpp
+
+_gfrd_la_LDFLAGS = -module -export-dynamic -avoid-version $(no_undefined)
+_gfrd_la_LIBADD = binding/libbinding_utils.la libegfrd.la
+_gfrd_la_LIBADD += $(LIBBOOSTPYTHON) $(LIBBOOSTREGEX) $(LIBPYTHON) $(GSL_LIBS)
+_gfrd_la_SOURCES=\
+ pyGFRD.cpp
+
+_greens_functions_la_LDFLAGS = -module -export-dynamic -avoid-version $(no_undefined)
+_greens_functions_la_LIBADD = libegfrd_gf.la libegfrd_utils.la
+_greens_functions_la_LIBADD += $(LIBBOOSTPYTHON) $(LIBBOOSTREGEX) $(LIBPYTHON) $(GSL_LIBS)
+_greens_functions_la_SOURCES=\
+ greens_functions.cpp
+
+nodist__greens_functions_la_SOURCES = \
+ SphericalBesselTable.hpp\
+ CylindricalBesselTable.hpp
+
+BUILT_SOURCES = \
+ SphericalBesselTable.hpp\
+ CylindricalBesselTable.hpp
+
+CLEANFILES = \
+ SphericalBesselTable.hpp\
+ CylindricalBesselTable.hpp
+
+SphericalBesselTable.hpp: make_sjy_table.py
+ $(PYTHON) make_sjy_table.py SphericalBesselTable.hpp
+
+CylindricalBesselTable.hpp: make_cjy_table.py
+ $(PYTHON) make_cjy_table.py CylindricalBesselTable.hpp
+
+
+_gfrd.so: _gfrd.la
+ ln -sf .libs/_gfrd.so ./_gfrd.so
+
+_greens_functions.so: _greens_functions.la
+ ln -sf .libs/_greens_functions.so ./_greens_functions.so
+
+all-local: _gfrd.so _greens_functions.so
+
+clean-local:
+ rm -f _gfrd.so _greens_functions.so
+
+
+pycheck:
+ $(PYCHECKER) $(PYCHECKER_FLAGS) $(top_srcdir)/egfrd.py
+
+
+dist-hook:
+ rm -rf `find $(distdir)/samples -name '.svn'`
+
+
+EXTRA_DIST = \
+ autogen.sh\
+ samples\
+ make_sjy_table.py
diff --git a/ecell4/egfrd/legacy/Model.cpp b/ecell4/egfrd/legacy/Model.cpp
new file mode 100644
index 0000000..b985f93
--- /dev/null
+++ b/ecell4/egfrd/legacy/Model.cpp
@@ -0,0 +1,59 @@
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif /* HAVE_CONFIG_H */
+
+#include <algorithm>
+#include <boost/type_traits/remove_pointer.hpp>
+#include <boost/lexical_cast.hpp>
+
+#include "utils/fun_wrappers.hpp"
+
+#include "SpeciesType.hpp"
+#include "NetworkRules.hpp"
+#include "BasicNetworkRulesImpl.hpp"
+#include "Model.hpp"
+
+Model::Model(): network_rules_(new BasicNetworkRulesImpl())
+{
+}
+
+Model::~Model()
+{
+}
+
+void Model::add_species_type(boost::shared_ptr<species_type_type> const& species)
+{
+ species->bind_to_model(this, species_type_id_generator_());
+ species_type_map_.insert(std::make_pair(species->id(), species));
+}
+
+boost::shared_ptr<Model::species_type_type> Model::get_species_type_by_id(species_id_type const& id) const
+{
+ species_type_map_type::const_iterator i(species_type_map_.find(id));
+ if (species_type_map_.end() == i)
+ {
+ throw not_found(boost::lexical_cast<std::string>(id));
+ }
+
+ return (*i).second;
+}
+
+Model::species_type_range Model::get_species_types() const
+{
+ return species_type_range(
+ species_type_iterator(species_type_map_.begin(), species_second_selector_type()),
+ species_type_iterator(species_type_map_.end(), species_second_selector_type()));
+}
+
+std::string const& Model::operator[](std::string const& name) const
+{
+ string_map_type::const_iterator i(attrs_.find(name));
+ if (i == attrs_.end())
+ throw not_found((boost::format("key %s not found") % name).str());
+ return (*i).second;
+}
+
+std::string& Model::operator[](std::string const& name)
+{
+ return attrs_[name];
+}
diff --git a/ecell4/egfrd/legacy/Model.hpp b/ecell4/egfrd/legacy/Model.hpp
new file mode 100644
index 0000000..4b90918
--- /dev/null
+++ b/ecell4/egfrd/legacy/Model.hpp
@@ -0,0 +1,74 @@
+#ifndef MODEL_HPP
+#define MODEL_HPP
+
+#include <boost/shared_ptr.hpp>
+#include <boost/scoped_ptr.hpp>
+#include <boost/noncopyable.hpp>
+#include <boost/iterator/transform_iterator.hpp>
+#include <boost/range/iterator_range.hpp>
+#include <map>
+
+#include "SerialIDGenerator.hpp"
+#include "SpeciesTypeID.hpp"
+#include "SpeciesType.hpp"
+#include "utils/pair.hpp"
+#include <ecell4/core/get_mapper_mf.hpp>
+
+class NetworkRules;
+
+class Model: private boost::noncopyable
+{
+public:
+ typedef SpeciesType species_type_type;
+ typedef species_type_type::identifier_type species_id_type;
+
+private:
+ typedef SerialIDGenerator<species_id_type> species_type_id_generator_type;
+ typedef std::map<species_id_type, boost::shared_ptr<species_type_type> > species_type_map_type;
+ typedef select_second<species_type_map_type::value_type> species_second_selector_type;
+
+ typedef ecell4::utils::get_mapper_mf<std::string, std::string>::type string_map_type;
+
+public:
+ typedef boost::transform_iterator<species_second_selector_type,
+ species_type_map_type::const_iterator> species_type_iterator;
+ typedef boost::iterator_range<species_type_iterator> species_type_range;
+ typedef NetworkRules network_rules_type;
+ typedef string_map_type::const_iterator string_map_iterator;
+ typedef boost::iterator_range<string_map_iterator> attributes_range;
+
+public:
+ Model();
+
+ virtual ~Model();
+
+ NetworkRules& network_rules() const
+ {
+ return *network_rules_;
+ }
+
+ void add_species_type(boost::shared_ptr<species_type_type> const& species);
+
+ boost::shared_ptr<species_type_type> get_species_type_by_id(species_id_type const& id) const;
+
+ species_type_range get_species_types() const;
+
+ std::string const& operator[](std::string const& name) const;
+
+ std::string& operator[](std::string const& name);
+
+ attributes_range attributes() const
+ {
+ return attributes_range(attrs_.begin(), attrs_.end());
+ }
+
+
+public:
+ species_type_id_generator_type species_type_id_generator_;
+ species_type_map_type species_type_map_;
+ boost::scoped_ptr<NetworkRules> network_rules_;
+ string_map_type attrs_;
+};
+
+
+#endif /* MODEL_HPP */
diff --git a/ecell4/egfrd/legacy/NetworkRules.cpp b/ecell4/egfrd/legacy/NetworkRules.cpp
new file mode 100644
index 0000000..c6add86
--- /dev/null
+++ b/ecell4/egfrd/legacy/NetworkRules.cpp
@@ -0,0 +1,9 @@
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif /* HAVE_CONFIG_H */
+
+#include "NetworkRules.hpp"
+
+NetworkRules::~NetworkRules()
+{
+}
diff --git a/ecell4/egfrd/legacy/NetworkRules.hpp b/ecell4/egfrd/legacy/NetworkRules.hpp
new file mode 100644
index 0000000..4edc44a
--- /dev/null
+++ b/ecell4/egfrd/legacy/NetworkRules.hpp
@@ -0,0 +1,27 @@
+#ifndef NETWORK_RULES_HPP
+#define NETWORK_RULES_HPP
+
+#include <map>
+#include "ReactionRule.hpp"
+#include "generator.hpp"
+
+class NetworkRules
+{
+public:
+ typedef ReactionRule reaction_rule_type;
+ typedef SpeciesTypeID species_id_type;
+ typedef abstract_limited_generator<reaction_rule_type> reaction_rule_generator;
+ typedef reaction_rule_type::identifier_type identifier_type;
+
+public:
+ virtual identifier_type add_reaction_rule(ReactionRule const&) = 0;
+ virtual void remove_reaction_rule(ReactionRule const&) = 0;
+
+ virtual reaction_rule_generator* query_reaction_rule(species_id_type const& r1) const = 0;
+
+ virtual reaction_rule_generator* query_reaction_rule(species_id_type const& r1, species_id_type const& r2) const = 0;
+
+ virtual ~NetworkRules() = 0;
+};
+
+#endif /* NETWORK_RULES_HPP */
diff --git a/ecell4/egfrd/legacy/NetworkRulesWrapper.hpp b/ecell4/egfrd/legacy/NetworkRulesWrapper.hpp
new file mode 100644
index 0000000..43ff37c
--- /dev/null
+++ b/ecell4/egfrd/legacy/NetworkRulesWrapper.hpp
@@ -0,0 +1,129 @@
+#ifndef NETWORK_RULES_WRAPPER_HPP
+#define NETWORK_RULES_WRAPPER_HPP
+
+#include <map>
+#include <vector>
+#include <boost/scoped_ptr.hpp>
+#include <boost/bind.hpp>
+#include <boost/lexical_cast.hpp>
+#include "twofold_container.hpp"
+#include "utils/range.hpp"
+#include "ReactionRuleInfo.hpp"
+#include "generator.hpp"
+
+template<typename T_, typename Trri_>
+class NetworkRulesWrapper
+{
+public:
+ typedef T_ backend_type;
+ typedef Trri_ reaction_rule_type;
+ typedef typename reaction_rule_type::species_id_type species_id_type;
+ typedef std::vector<reaction_rule_type> reaction_rule_vector;
+ typedef reaction_rule_vector reaction_rules;
+ typedef std::map<species_id_type, reaction_rule_vector> first_order_reaction_rule_vector_map;
+ typedef std::map<std::pair<species_id_type, species_id_type>, reaction_rule_vector> second_order_reaction_rule_vector_map;
+
+public:
+ reaction_rule_vector const& query_reaction_rule(species_id_type const& r1) const
+ {
+ typename first_order_reaction_rule_vector_map::const_iterator i(
+ first_order_cache_.find(r1));
+ if (i == first_order_cache_.end())
+ {
+ std::pair<
+ typename first_order_reaction_rule_vector_map::iterator,
+ bool> x(first_order_cache_.insert(
+ std::make_pair(r1, reaction_rule_vector())));
+ boost::scoped_ptr<typename backend_type::reaction_rule_generator>
+ gen(backend_.query_reaction_rule(r1));
+ if (gen)
+ {
+ while (::valid(*gen))
+ {
+ typename backend_type::reaction_rule_type const r((*gen)());
+ typedef typename reaction_rule_type::rate_type rate_type;
+ rate_type rate;
+ try{
+ rate = boost::lexical_cast<rate_type>(r["k"]);
+ }
+ catch (boost::bad_lexical_cast &)
+ // There is no standard textual representation of infinity
+ // in the C++ standard, so boost throws a bad_lexical_cast
+ // for 'inf', just like for any other non-numerical text.
+ {
+ if(r["k"].compare("inf") == 0){
+ rate = std::numeric_limits<rate_type>::infinity();
+ }
+ else{
+ throw;
+ }
+ }
+ (*x.first).second.push_back(reaction_rule_type(
+ r.id(),
+ rate,
+ r.get_reactants(),
+ r.get_products()));
+ }
+ }
+ return (*x.first).second;
+ }
+ return (*i).second;
+ }
+
+ reaction_rule_vector const& query_reaction_rule(
+ species_id_type const& r1, species_id_type const& r2) const
+ {
+ typename second_order_reaction_rule_vector_map::const_iterator i(
+ second_order_cache_.find(std::make_pair(r1, r2)));
+ if (i == second_order_cache_.end())
+ {
+ std::pair<
+ typename second_order_reaction_rule_vector_map::iterator,
+ bool> x(second_order_cache_.insert(
+ std::make_pair(std::make_pair(r1, r2),
+ reaction_rule_vector())));
+ boost::scoped_ptr<typename backend_type::reaction_rule_generator>
+ gen(backend_.query_reaction_rule(r1, r2));
+ if (gen)
+ {
+ while (::valid(*gen))
+ {
+ typename backend_type::reaction_rule_type const r((*gen)());
+ typedef typename reaction_rule_type::rate_type rate_type;
+ rate_type rate;
+ try{
+ rate = boost::lexical_cast<rate_type>(r["k"]);
+ }
+ catch (boost::bad_lexical_cast &)
+ // There is no standard textual representation of infinity
+ // in the C++ standard, so boost throws a bad_lexical_cast
+ // for 'inf', just like for any other non-numerical text.
+ {
+ if(r["k"].compare("inf") == 0){
+ rate = std::numeric_limits<rate_type>::infinity();
+ }
+ else{
+ throw;
+ }
+ }
+ (*x.first).second.push_back(reaction_rule_type(
+ r.id(),
+ rate,
+ r.get_reactants(),
+ r.get_products()));
+ }
+ }
+ return (*x.first).second;
+ }
+ return (*i).second;
+ }
+
+ NetworkRulesWrapper(backend_type const& backend): backend_(backend) {}
+
+private:
+ mutable first_order_reaction_rule_vector_map first_order_cache_;
+ mutable second_order_reaction_rule_vector_map second_order_cache_;
+ backend_type const& backend_;
+};
+
+#endif /* NETWORK_RULES_WRAPPER_HPP */
diff --git a/ecell4/egfrd/legacy/ParticleID.hpp b/ecell4/egfrd/legacy/ParticleID.hpp
new file mode 100644
index 0000000..319da30
--- /dev/null
+++ b/ecell4/egfrd/legacy/ParticleID.hpp
@@ -0,0 +1,57 @@
+#ifndef PARTICLE_ID_HPP
+#define PARTICLE_ID_HPP
+
+#include <ecell4/core/config.h>
+
+#include <ostream>
+#if defined(HAVE_TR1_FUNCTIONAL)
+#include <tr1/functional>
+#elif defined(HAVE_STD_HASH)
+#include <functional>
+#elif defined(HAVE_BOOST_FUNCTIONAL_HASH_HPP)
+#include <boost/functional/hash.hpp>
+#endif
+#include "Identifier.hpp"
+
+struct ParticleID: public Identifier<ParticleID, unsigned long long, int>
+{
+ typedef Identifier<ParticleID, unsigned long long, int> base_type;
+
+ ParticleID(value_type const& value = value_type(0, 0))
+ : base_type(value) {}
+};
+
+#if defined(HAVE_TR1_FUNCTIONAL)
+namespace std { namespace tr1 {
+#elif defined(HAVE_STD_HASH)
+namespace std {
+#elif defined(HAVE_BOOST_FUNCTIONAL_HASH_HPP)
+namespace boost {
+#endif
+
+template<>
+struct hash<ParticleID>
+{
+ std::size_t operator()(ParticleID const& val) const
+ {
+ return static_cast<std::size_t>(val().first ^ val().second);
+ }
+};
+
+#if defined(HAVE_TR1_FUNCTIONAL)
+} } // namespace std::tr1
+#elif defined(HAVE_STD_HASH)
+} // namespace std
+#elif defined(HAVE_BOOST_FUNCTIONAL_HASH_HPP)
+} // namespace boost
+#endif
+
+template<typename Tstrm_, typename Ttraits_>
+inline std::basic_ostream<Tstrm_, Ttraits_>& operator<<(std::basic_ostream<Tstrm_, Ttraits_>& strm,
+ const ParticleID& v)
+{
+ strm << "PID(" << v().first << ":" << v().second << ")";
+ return strm;
+}
+
+#endif /* PARTICLE_ID_HPP */
diff --git a/ecell4/egfrd/legacy/ParticleModel.cpp b/ecell4/egfrd/legacy/ParticleModel.cpp
new file mode 100644
index 0000000..05df607
--- /dev/null
+++ b/ecell4/egfrd/legacy/ParticleModel.cpp
@@ -0,0 +1,51 @@
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif /* HAVE_CONFIG_H */
+
+#include <algorithm>
+#include <boost/type_traits/remove_pointer.hpp>
+#include <boost/lexical_cast.hpp>
+
+#include "utils/fun_wrappers.hpp"
+
+#include "ParticleModel.hpp"
+
+ParticleModel::ParticleModel()
+{
+}
+
+ParticleModel::~ParticleModel()
+{
+}
+
+void ParticleModel::add_structure_type(boost::shared_ptr<structure_type_type> const& structure)
+{
+ std::pair<structure_type_map_type::iterator, bool> r(
+ structure_type_map_.insert(std::make_pair(structure->id(), structure)));
+ if (!r.second)
+ {
+ throw already_exists(
+ (boost::format("structure id \"%s\" is already used by %s") %
+ structure->id() %
+ boost::lexical_cast<std::string>(*(*(r.first)).second)).str());
+ }
+ structure->bind_to_model(this, structure->id());
+}
+
+boost::shared_ptr<ParticleModel::structure_type_type> ParticleModel::get_structure_type_by_id(structure_id_type const& id) const
+{
+ structure_type_map_type::const_iterator i(structure_type_map_.find(id));
+ if (structure_type_map_.end() == i)
+ {
+ throw not_found(boost::lexical_cast<std::string>(id));
+ }
+
+ return (*i).second;
+}
+
+ParticleModel::structure_type_range ParticleModel::get_structure_types() const
+{
+ return structure_type_range(
+ structure_type_iterator(structure_type_map_.begin(), structure_second_selector_type()),
+ structure_type_iterator(structure_type_map_.end(), structure_second_selector_type()));
+}
diff --git a/ecell4/egfrd/legacy/ParticleModel.hpp b/ecell4/egfrd/legacy/ParticleModel.hpp
new file mode 100644
index 0000000..0342107
--- /dev/null
+++ b/ecell4/egfrd/legacy/ParticleModel.hpp
@@ -0,0 +1,40 @@
+#ifndef PARTICLE_MODEL_HPP
+#define PARTICLE_MODEL_HPP
+
+#include "Defs.hpp"
+#include "Model.hpp"
+#include "StructureType.hpp"
+
+class ParticleModel: public Model
+{
+public:
+ typedef Model base_type;
+ typedef StructureType structure_type_type;
+ typedef structure_type_type::identifier_type structure_id_type;
+
+ typedef std::map<structure_id_type, boost::shared_ptr<structure_type_type> > structure_type_map_type;
+
+ typedef select_second<structure_type_map_type::value_type> structure_second_selector_type;
+
+public:
+ typedef boost::transform_iterator<structure_second_selector_type,
+ structure_type_map_type::const_iterator> structure_type_iterator;
+ typedef boost::iterator_range<structure_type_iterator> structure_type_range;
+
+public:
+ ParticleModel();
+
+ virtual ~ParticleModel();
+
+ boost::shared_ptr<structure_type_type> get_structure_type_by_id(structure_id_type const& id) const;
+
+ void add_structure_type(boost::shared_ptr<structure_type_type> const& structure);
+
+ structure_type_range get_structure_types() const;
+
+public:
+ structure_type_map_type structure_type_map_;
+};
+
+
+#endif /* MODEL_HPP */
diff --git a/ecell4/egfrd/legacy/ParticleSimulationStructure.hpp b/ecell4/egfrd/legacy/ParticleSimulationStructure.hpp
new file mode 100644
index 0000000..2406043
--- /dev/null
+++ b/ecell4/egfrd/legacy/ParticleSimulationStructure.hpp
@@ -0,0 +1,44 @@
+#ifndef PARTICLE_SIMULATION_STRUCTURE_HPP
+#define PARTICLE_SIMULATION_STRUCTURE_HPP
+
+#include "Structure.hpp"
+
+template<typename Ttraits_>
+struct ImmutativeStructureVisitor;
+
+template<typename Ttraits_>
+struct MutativeStructureVisitor;
+
+// template<typename Ttraits_>
+// struct ParticleSimulationStructure: public Structure<typename Ttraits_::world_type::traits_type>
+// {
+// typedef Ttraits_ traits_type;
+// typedef Structure<typename traits_type::world_type::traits_type> base_type;
+// typedef typename base_type::identifier_type identifier_type;
+//
+// virtual ~ParticleSimulationStructure() {}
+//
+// virtual void accept(ImmutativeStructureVisitor<traits_type> const&) const = 0;
+//
+// virtual void accept(MutativeStructureVisitor<traits_type> const&) = 0;
+//
+// ParticleSimulationStructure(identifier_type const& id): base_type(id) {}
+// };
+
+template<typename Ttraits_>
+struct ParticleSimulationStructure: public Structure<Ttraits_>
+{
+ typedef Ttraits_ traits_type;
+ typedef Structure<traits_type> base_type;
+ typedef typename base_type::identifier_type identifier_type;
+
+ virtual ~ParticleSimulationStructure() {}
+
+ virtual void accept(ImmutativeStructureVisitor<traits_type> const&) const = 0;
+
+ virtual void accept(MutativeStructureVisitor<traits_type> const&) = 0;
+
+ ParticleSimulationStructure(identifier_type const& id): base_type(id) {}
+};
+
+#endif /* PARTICLE_SIMULATION_STRUCTURE_HPP */
diff --git a/ecell4/egfrd/legacy/ParticleSimulatorFactory.hpp b/ecell4/egfrd/legacy/ParticleSimulatorFactory.hpp
new file mode 100644
index 0000000..c4f2b0d
--- /dev/null
+++ b/ecell4/egfrd/legacy/ParticleSimulatorFactory.hpp
@@ -0,0 +1,22 @@
+#ifndef PARTICLE_SIMULATOR_FACTORY_HPP
+#define PARTICLE_SIMULATOR_FACTORY_HPP
+
+#include <boost/noncopyable.hpp>
+#include "ParticleSimulator.hpp"
+#include "ParticleModel.hpp"
+
+template<typename Ttraits_>
+class ParticleSimulatorFactory
+{
+public:
+ typedef Ttraits_ traits_type;
+
+public:
+ ParticleSimulatorFactory() {}
+
+ virtual ~ParticleSimulatorFactory() {}
+
+ virtual ParticleSimulator<traits_type>* operator()(ParticleModel const& model) const = 0;
+};
+
+#endif /* PARTICLE_SIMULATION_HPP */
diff --git a/ecell4/egfrd/legacy/PlanarSurface.hpp b/ecell4/egfrd/legacy/PlanarSurface.hpp
new file mode 100644
index 0000000..a8f34d1
--- /dev/null
+++ b/ecell4/egfrd/legacy/PlanarSurface.hpp
@@ -0,0 +1,71 @@
+#ifndef PLANAR_SURFACE_HPP
+#define PLANAR_SURFACE_HPP
+
+#include <boost/bind.hpp>
+#include "Surface.hpp"
+#include "Plane.hpp"
+
+template<typename Ttraits_>
+class PlanarSurface
+ : public BasicSurfaceImpl<Ttraits_, Plane>
+{
+public:
+ typedef BasicSurfaceImpl<Ttraits_, Plane> base_type;
+ typedef typename base_type::traits_type traits_type;
+ typedef typename base_type::identifier_type identifier_type;
+ typedef typename base_type::shape_type shape_type;
+ typedef typename base_type::rng_type rng_type;
+ typedef typename base_type::position_type position_type;
+ typedef typename base_type::length_type length_type;
+
+ virtual position_type random_position(rng_type& rng) const
+ {
+ return ::random_position(base_type::shape(), boost::bind(&rng_type::uniform, rng, -1., 1.));
+ }
+
+ virtual position_type random_vector(length_type const& r, rng_type& rng) const
+ {
+ return multiply(
+ normalize(
+ add(
+ multiply(
+ base_type::shape().units()[0], rng.uniform(-1., 1.)),
+ multiply(
+ base_type::shape().units()[1], rng.uniform(-1., 1.)))), r);
+ }
+
+ virtual position_type bd_displacement(length_type const& sigma, rng_type& rng) const
+ {
+ length_type const x(rng.gaussian(sigma)), y(rng.gaussian(sigma));
+ return add(
+ multiply(base_type::shape().unit_x(), x),
+ multiply(base_type::shape().unit_y(), y));
+ }
+
+ virtual length_type minimal_distance(length_type const& radius) const
+ {
+ // PlanarSurface has thickness of 0.
+ return radius * traits_type::MINIMAL_SEPARATION_FACTOR;
+ }
+
+ virtual void accept(ImmutativeStructureVisitor<traits_type> const& visitor) const
+ {
+ visitor(*this);
+ }
+
+ virtual void accept(MutativeStructureVisitor<traits_type> const& visitor)
+ {
+ visitor(*this);
+ }
+
+ PlanarSurface(identifier_type const& id, shape_type const& shape)
+ : base_type(id, shape) {}
+};
+
+template<typename Ttraits_>
+inline typename PlanarSurface<Ttraits_>::shape_type const& shape(PlanarSurface<Ttraits_> const& obj)
+{
+ return obj.shape();
+}
+
+#endif /* PLANAR_SURFACE_HPP */
diff --git a/ecell4/egfrd/legacy/Plane.hpp b/ecell4/egfrd/legacy/Plane.hpp
new file mode 100644
index 0000000..20c3aaf
--- /dev/null
+++ b/ecell4/egfrd/legacy/Plane.hpp
@@ -0,0 +1,329 @@
+#ifndef PLANE_HPP
+#define PLANE_HPP
+
+#include <boost/range/begin.hpp>
+#include <boost/range/end.hpp>
+#include <boost/array.hpp>
+#include <boost/multi_array.hpp>
+#include <utility>
+#include <algorithm>
+#include "utils/array_helper.hpp"
+#include "Shape.hpp"
+#include "linear_algebra.hpp"
+
+class Plane;
+template<typename Tstrm_, typename Ttraits_>
+inline std::basic_ostream<Tstrm_, Ttraits_>& operator<<(std::basic_ostream<Tstrm_, Ttraits_>& strm,
+ const Plane& v);
+
+class Plane
+{
+public:
+ /*
+ typedef T_ value_type;
+ typedef Vector3<T_> position_type;
+ typedef T_ length_type;
+ */
+ typedef ecell4::Position3 position_type;
+ typedef position_type::value_type value_type;
+ typedef position_type::value_type length_type;
+
+public:
+ Plane(position_type const& position = position_type())
+ : position_(position),
+ units_(array_gen(
+ create_vector<position_type>(1., 0., 0.),
+ create_vector<position_type>(0., 1., 0.),
+ create_vector<position_type>(0., 0., 1.))),
+ half_extent_(array_gen<length_type>(0.5, 0.5)) {}
+
+ template<typename Tarray_>
+ Plane(position_type const& position, Tarray_ const& half_extent)
+ : position_(position),
+ units_(array_gen(
+ create_vector<position_type>(1., 0., 0.),
+ create_vector<position_type>(0., 1., 0.),
+ create_vector<position_type>(0., 0., 1.)))
+ {
+ std::copy(boost::begin(half_extent), boost::end(half_extent),
+ boost::begin(half_extent_));
+ }
+
+ template<typename Tarray1, typename Tarray2>
+ Plane(position_type const& position,
+ Tarray1 const& units, Tarray2 const& half_extent)
+ : position_(position)
+ {
+ std::copy(boost::begin(units), boost::end(units),
+ boost::begin(units_));
+ std::copy(boost::begin(half_extent), boost::end(half_extent),
+ boost::begin(half_extent_));
+ }
+
+ template<typename Tarray_>
+ Plane(position_type const& position,
+ position_type const& vx,
+ position_type const& vy,
+ Tarray_ const& half_extent = array_gen<length_type>(0.5, 0.5))
+ : position_(position), units_(array_gen(vx, vy, cross_product(vx, vy)))
+ {
+ std::copy(boost::begin(half_extent), boost::end(half_extent),
+ boost::begin(half_extent_));
+ }
+
+ Plane(position_type const& position,
+ position_type const& vx,
+ position_type const& vy,
+ length_type const& half_lx,
+ length_type const& half_ly)
+ : position_(position), units_(array_gen(vx, vy, cross_product(vx, vy))),
+ half_extent_(array_gen<length_type>(half_lx, half_ly)) {}
+
+ position_type const& position() const
+ {
+ return position_;
+ }
+
+ position_type& position()
+ {
+ return position_;
+ }
+
+ position_type const& unit_x() const
+ {
+ return units_[0];
+ }
+
+ position_type& unit_x()
+ {
+ return units_[0];
+ }
+
+ position_type const& unit_y() const
+ {
+ return units_[1];
+ }
+
+ position_type& unit_y()
+ {
+ return units_[1];
+ }
+
+ position_type const& unit_z() const
+ {
+ return units_[2];
+ }
+
+ position_type& unit_z()
+ {
+ return units_[2];
+ }
+
+ boost::array<position_type, 3> const& units() const
+ {
+ return units_;
+ }
+
+ boost::array<position_type, 3>& units()
+ {
+ return units_;
+ }
+
+ length_type const Lx() const
+ {
+ return 2 * half_extent_[0];
+ }
+
+ length_type Lx()
+ {
+ return 2 * half_extent_[0];
+ }
+
+ length_type const Ly() const
+ {
+ return 2 * half_extent_[1];
+ }
+
+ length_type Ly()
+ {
+ return 2 * half_extent_[1];
+ }
+
+ boost::array<length_type, 2> const& half_extent() const
+ {
+ return half_extent_;
+ }
+
+ boost::array<length_type, 2>& half_extent()
+ {
+ return half_extent_;
+ }
+
+ bool operator==(const Plane& rhs) const
+ {
+ return position_ == rhs.position_ && units_ == rhs.units_ &&
+ half_extent_ == rhs.half_extent_;
+ }
+
+ bool operator!=(const Plane& rhs) const
+ {
+ return !operator==(rhs);
+ }
+
+ std::string show(int precision)
+ {
+ std::ostringstream strm;
+ strm.precision(precision);
+ strm << *this;
+ return strm.str();
+ }
+
+protected:
+ position_type position_;
+ boost::array<position_type, 3> units_;
+ boost::array<length_type, 2> half_extent_;
+};
+
+
+inline boost::array<Plane::length_type, 3>
+to_internal(Plane const& obj, typename Plane::position_type const& pos)
+{
+ typedef typename Plane::position_type position_type;
+ position_type pos_vector(subtract(pos, obj.position()));
+
+ return array_gen<Plane::length_type>(
+ dot_product(pos_vector, obj.unit_x()),
+ dot_product(pos_vector, obj.unit_y()),
+ dot_product(pos_vector, obj.unit_z()));
+}
+
+
+inline std::pair<Plane::position_type,
+ Plane::length_type>
+projected_point(Plane const& obj, Plane::position_type const& pos)
+{
+ boost::array<Plane::length_type, 3> x_y_z(to_internal(obj, pos));
+ return std::make_pair(
+ add(add(obj.position(), multiply(obj.unit_x(), x_y_z[0])),
+ multiply(obj.unit_y(), x_y_z[1])),
+ x_y_z[2]);
+}
+
+
+inline Plane::length_type
+distance(Plane const& obj, Plane::position_type const& pos)
+{
+ typedef Plane::length_type length_type;
+ boost::array<length_type, 3> const x_y_z(to_internal(obj, pos));
+
+ length_type const dx(subtract(abs(x_y_z[0]), obj.half_extent()[0]));
+ length_type const dy(subtract(abs(x_y_z[1]), obj.half_extent()[1]));
+
+ if (dx < 0 && dy < 0) {
+ // Projected point of pos is on the plane.
+ // Probably an infinite plane anyway.
+ return x_y_z[2];
+ }
+
+ if (dx > 0)
+ {
+ if (dy > 0)
+ {
+ // Far away from plane.
+ return std::sqrt(gsl_pow_2(dx) + gsl_pow_2(dy) +
+ gsl_pow_2(x_y_z[2]));
+ }
+ else
+ {
+ return std::sqrt(gsl_pow_2(dx) + gsl_pow_2(x_y_z[2]));
+ }
+ }
+ else
+ {
+ if (dy > 0)
+ {
+ return std::sqrt(gsl_pow_2(dy) + gsl_pow_2(x_y_z[2]));
+ }
+ else
+ {
+ // Already tested above.
+ return x_y_z[2];
+ }
+ }
+}
+
+template<typename Trng>
+inline Plane::position_type
+random_position(Plane const& shape, Trng& rng)
+{
+ typedef Plane::length_type length_type;
+
+ // -1 < rng() < 1. See for example PlanarSurface.hpp.
+ return add(
+ shape.position(),
+ add(multiply(shape.units()[0], shape.half_extent()[0] * rng()),
+ multiply(shape.units()[1], shape.half_extent()[1] * rng())));
+}
+
+
+inline Plane const& shape(Plane const& shape)
+{
+ return shape;
+}
+
+
+inline Plane& shape(Plane& shape)
+{
+ return shape;
+}
+
+template<>
+struct is_shape<Plane>: public boost::mpl::true_ {};
+
+template<>
+struct shape_position_type<Plane>
+{
+ typedef Plane::position_type type;
+};
+
+template<typename Tstrm_, typename Ttraits_>
+inline std::basic_ostream<Tstrm_, Ttraits_>& operator<<(std::basic_ostream<Tstrm_, Ttraits_>& strm,
+ const Plane& v)
+{
+ strm << "{" << v.position() << ", " << v.unit_x() << ", " << v.unit_y() << "," << v.Lx() << ", " << v.Ly() << "}";
+ return strm;
+}
+
+
+#if defined(HAVE_TR1_FUNCTIONAL)
+namespace std { namespace tr1 {
+#elif defined(HAVE_STD_HASH)
+namespace std {
+#elif defined(HAVE_BOOST_FUNCTIONAL_HASH_HPP)
+namespace boost {
+#endif
+
+template<>
+struct hash<Plane>
+{
+ typedef Plane argument_type;
+
+ std::size_t operator()(argument_type const& val)
+ {
+ return hash<typename argument_type::position_type>()(val.position()) ^
+ hash<typename argument_type::position_type>()(val.unit_x()) ^
+ hash<typename argument_type::position_type>()(val.unit_y()) ^
+ hash<typename argument_type::length_type>()(val.half_extent()[0]) ^
+ hash<typename argument_type::length_type>()(val.half_extent()[1]);
+ }
+};
+
+#if defined(HAVE_TR1_FUNCTIONAL)
+} } // namespace std::tr1
+#elif defined(HAVE_STD_HASH)
+} // namespace std
+#elif defined(HAVE_BOOST_FUNCTIONAL_HASH_HPP)
+} // namespace boost
+#endif
+
+#endif /* PLANE_HPP */
diff --git a/ecell4/egfrd/legacy/Point.hpp b/ecell4/egfrd/legacy/Point.hpp
new file mode 100644
index 0000000..40b5d7e
--- /dev/null
+++ b/ecell4/egfrd/legacy/Point.hpp
@@ -0,0 +1,44 @@
+#ifndef POINT_HPP
+#define POINT_HPP
+
+#include "Shape.hpp"
+#include "Vector3.hpp"
+
+#include "Position3Type.hpp"
+
+template<typename T_>
+struct shape_position_type<Vector3<T_> >
+{
+ typedef Vector3<T_> type;
+};
+
+template<typename T_>
+struct shape_length_type<Vector3<T_> >
+{
+ typedef T_ type;
+};
+
+template<typename T_>
+inline Vector3<T_> shape_position(Vector3<T_> const& v)
+{
+ return v;
+}
+
+
+template<>
+struct shape_position_type<ecell4::Position3>
+{
+ typedef ecell4::Position3 type;
+};
+
+template<>
+struct shape_length_type<ecell4::Position3>
+{
+ typedef ecell4::Position3::value_type type;
+};
+
+inline ecell4::Position3 shape_position(ecell4::Position3 const &v)
+{
+ return v;
+}
+#endif /* POINT_HPP */
diff --git a/ecell4/egfrd/legacy/PyEventScheduler.hpp b/ecell4/egfrd/legacy/PyEventScheduler.hpp
new file mode 100644
index 0000000..3b09e20
--- /dev/null
+++ b/ecell4/egfrd/legacy/PyEventScheduler.hpp
@@ -0,0 +1,6 @@
+#ifndef PY_EVENT_SCHEDULER_HPP
+#define PY_EVENT_SCHEDULER_HPP
+
+#include <boost/python.hpp>
+
+#endif /* PY_EVENT_SCHEDULER_HPP */
diff --git a/ecell4/egfrd/legacy/ReactionRule.hpp b/ecell4/egfrd/legacy/ReactionRule.hpp
new file mode 100644
index 0000000..7d5833f
--- /dev/null
+++ b/ecell4/egfrd/legacy/ReactionRule.hpp
@@ -0,0 +1,206 @@
+#ifndef REACTION_RULE_HPP
+#define REACTION_RULE_HPP
+
+#include <vector>
+#include <ostream>
+#include <algorithm>
+
+#include <boost/format.hpp>
+#include <boost/bind.hpp>
+#include <boost/range/size.hpp>
+#include <boost/range/begin.hpp>
+#include <boost/range/end.hpp>
+#include <boost/range/const_iterator.hpp>
+#include <boost/lexical_cast.hpp>
+#include <boost/range/iterator_range.hpp>
+#include <ecell4/core/get_mapper_mf.hpp>
+
+#include "Defs.hpp"
+#include "utils/range_support.hpp"
+#include "exceptions.hpp"
+#include "utils.hpp"
+#include "SpeciesTypeID.hpp"
+#include "twofold_container.hpp"
+#include "utils/memberwise_compare.hpp"
+
+class NetworkRules;
+
+class ReactionRule
+{
+public:
+ typedef SpeciesTypeID species_type_id_type;
+
+private:
+ typedef std::vector<species_type_id_type> species_type_id_vector;
+ typedef ecell4::utils::get_mapper_mf<std::string, std::string>::type string_map_type;
+
+public:
+ typedef int identifier_type;
+ typedef string_map_type::const_iterator string_map_iterator;
+ typedef boost::iterator_range<string_map_iterator> attributes_range;
+
+ typedef species_type_id_vector::const_iterator species_type_id_iterator;
+ typedef boost::iterator_range<species_type_id_iterator> species_type_id_range;
+ typedef twofold_container<SpeciesTypeID> Reactants;
+
+public:
+ Reactants const& get_reactants() const
+ {
+ return reactants_;
+ }
+
+ void add_product(SpeciesTypeID const& s)
+ {
+ products_.insert(
+ std::lower_bound(products_.begin(), products_.end(), s),
+ s);
+ }
+
+ species_type_id_range get_products() const
+ {
+ return products_;
+ }
+
+ identifier_type const& id() const
+ {
+ return id_;
+ }
+
+ // package-private
+ identifier_type const& set_id(identifier_type const& val) const
+ {
+ id_ = val;
+ return id_;
+ }
+
+ std::string const& operator[](std::string const& name) const
+ {
+ string_map_type::const_iterator i(attrs_.find(name));
+ if (i == attrs_.end())
+ throw not_found((boost::format("key %s not found") % name).str());
+ return (*i).second;
+ }
+
+ std::string& operator[](std::string const& name)
+ {
+ return attrs_[name];
+ }
+
+ attributes_range attributes() const
+ {
+ return attributes_range(attrs_.begin(), attrs_.end());
+ }
+
+ ReactionRule()
+ : id_(), reactants_() {}
+
+ explicit ReactionRule(Reactants const& _reactants)
+ : id_(), reactants_(_reactants) {}
+
+ template<typename Trange_>
+ ReactionRule(Reactants const& _reactants, Trange_ const& products)
+ : id_(), reactants_(_reactants)
+ {
+ BOOST_ASSERT(reactants_.size() > 0);
+ std::for_each(boost::begin(products), boost::end(products),
+ boost::bind(&ReactionRule::add_product, this, _1));
+ std::stable_sort(products_.begin(), products_.end());
+ }
+
+private:
+ mutable identifier_type id_;
+ Reactants reactants_;
+ species_type_id_vector products_;
+ Real k_;
+ string_map_type attrs_;
+};
+
+inline bool operator<(ReactionRule const& lhs, ReactionRule const& rhs)
+{
+ int tmp = memberwise_compare(lhs.get_reactants(), rhs.get_reactants());
+ if (tmp > 0)
+ {
+ return false;
+ }
+ else if (tmp < 0)
+ {
+ return true;
+ }
+ return memberwise_compare(lhs.get_products(), rhs.get_products()) < 0;
+}
+
+inline bool operator==(ReactionRule const& lhs, ReactionRule const& rhs)
+{
+ return lhs.get_reactants() == rhs.get_reactants() &&
+ memberwise_compare(lhs.get_products(), rhs.get_products()) == 0;
+}
+
+inline bool operator!=(ReactionRule const& lhs, ReactionRule const& rhs)
+{
+ return !(lhs == rhs);
+}
+
+template<typename T2_>
+inline ReactionRule new_reaction_rule(SpeciesTypeID const& r1, T2_ const& products, Real k)
+{
+ ReactionRule retval((ReactionRule::Reactants(r1)));
+ retval["k"] = boost::lexical_cast<std::string>(k);
+ std::for_each(boost::begin(products), boost::end(products),
+ boost::bind(&ReactionRule::add_product, &retval, _1));
+ return retval;
+}
+
+template<typename T2_>
+inline ReactionRule new_reaction_rule(SpeciesTypeID const& r1, SpeciesTypeID const& r2, T2_ const& products, Real k)
+{
+ ReactionRule retval(ReactionRule::Reactants(r1, r2));
+ retval["k"] = boost::lexical_cast<std::string>(k);
+ std::for_each(boost::begin(products), boost::end(products),
+ boost::bind(&ReactionRule::add_product, &retval, _1));
+ return retval;
+}
+
+inline bool valid(ReactionRule const& r)
+{
+ return r.get_reactants().size() != 0;
+}
+
+template<typename Tchar_, typename Ttraits_>
+inline std::basic_ostream<Tchar_, Ttraits_>&
+operator<<(std::basic_ostream<Tchar_, Ttraits_>& out, ReactionRule const& r)
+{
+ bool first;
+ out << "ReactionRule(id=" << r.id() << ", reactants={";
+ first = true;
+ ReactionRule::Reactants const& reactants(r.get_reactants());
+ ReactionRule::species_type_id_range products(r.get_products());
+ for (typename boost::range_const_iterator<ReactionRule::Reactants>::type
+ i(boost::begin(reactants)), e(boost::end(reactants));
+ i != e; ++i)
+ {
+ if (!first)
+ {
+ out << ", ";
+ }
+ out << *i;
+ first = false;
+ }
+ out << "}, products={";
+ first = true;
+ for (typename boost::range_const_iterator<
+ ReactionRule::species_type_id_range>::type
+ i(boost::begin(products)), e(boost::end(products));
+ i != e; ++i)
+ {
+ if (!first)
+ {
+ out << ", ";
+ }
+ out << *i;
+ first = false;
+ }
+ out << "})";
+ return out;
+}
+
+#endif /* REACTION_RULE_HPP */
diff --git a/ecell4/egfrd/legacy/Region.hpp b/ecell4/egfrd/legacy/Region.hpp
new file mode 100644
index 0000000..e81961c
--- /dev/null
+++ b/ecell4/egfrd/legacy/Region.hpp
@@ -0,0 +1,92 @@
+#ifndef REGION_HPP
+#define REGION_HPP
+
+#include <ostream>
+#if defined(HAVE_TR1_FUNCTIONAL)
+#include <tr1/functional>
+#elif defined(HAVE_STD_HASH)
+#include <functional>
+#elif defined(HAVE_BOOST_FUNCTIONAL_HASH_HPP)
+#include <boost/functional/hash.hpp>
+#endif
+
+#include <sstream>
+#include "ParticleSimulationStructure.hpp"
+#include "Box.hpp"
+
+template<typename Ttraits_>
+class Region: public ParticleSimulationStructure<Ttraits_>
+{
+public:
+ typedef ParticleSimulationStructure<Ttraits_> base_type;
+ typedef typename base_type::identifier_type identifier_type;
+
+public:
+ virtual ~Region() {}
+
+ Region(identifier_type const& id): base_type(id) {}
+};
+
+template<typename Ttraits_, typename Tshape_>
+class BasicRegionImpl: public Region<Ttraits_>
+{
+public:
+ typedef Region<Ttraits_> base_type;
+ typedef Tshape_ shape_type;
+ typedef typename base_type::identifier_type identifier_type;
+ typedef typename base_type::length_type length_type;
+ typedef typename base_type::position_type position_type;
+
+public:
+ virtual ~BasicRegionImpl() {}
+
+ shape_type& shape()
+ {
+ return shape_;
+ }
+
+ shape_type const& shape() const
+ {
+ return shape_;
+ }
+
+ // virtual bool operator==(Structure<typename Ttraits_::world_type::traits_type> const& rhs) const
+ virtual bool operator==(Structure<Ttraits_> const& rhs) const
+ {
+ BasicRegionImpl const* _rhs(dynamic_cast<BasicRegionImpl const*>(&rhs));
+ return _rhs && base_type::id_ == rhs.id() && shape_ == _rhs->shape();
+ }
+
+ virtual std::size_t hash() const
+ {
+#if defined(HAVE_TR1_FUNCTIONAL)
+ using std::tr1::hash;
+#elif defined(HAVE_STD_HASH)
+ using std::hash;
+#elif defined(HAVE_BOOST_FUNCTIONAL_HASH_HPP)
+ using boost::hash;
+#endif
+ return hash<identifier_type>()(base_type::id_) ^ hash<shape_type>()(shape());
+ }
+
+ virtual std::string as_string() const
+ {
+ std::ostringstream out;
+ out << "Region(" << base_type::id_ << ":" << shape() << ")";
+ return out.str();
+ }
+
+ std::pair<position_type, length_type>
+ projected_point(position_type const& pos) const
+ {
+ return ::projected_point(shape(), pos);
+ }
+
+ BasicRegionImpl(identifier_type const& id, shape_type const& shape)
+ : base_type(id), shape_(shape) {}
+
+protected:
+ shape_type shape_;
+};
+
+#endif /* REGION_HPP */
diff --git a/ecell4/egfrd/legacy/SerialIDGenerator.hpp b/ecell4/egfrd/legacy/SerialIDGenerator.hpp
new file mode 100644
index 0000000..e33ea9a
--- /dev/null
+++ b/ecell4/egfrd/legacy/SerialIDGenerator.hpp
@@ -0,0 +1,306 @@
+#ifndef SERIAL_ID_GENERATOR_HPP
+#define SERIAL_ID_GENERATOR_HPP
+
+#include <functional>
+#include <boost/type_traits/is_integral.hpp>
+
+namespace detail {
+
+template<bool Vis_integral, typename Tid_>
+struct identifier_lot_helper
+{
+ typedef typename Tid_::lot_type type;
+};
+
+template<typename Tid_>
+struct identifier_lot_helper<true, Tid_>
+{
+ typedef Tid_ type;
+};
+
+template<bool Vis_integral, typename Tid_>
+struct identifier_lot_adder_helper: public std::binary_function<
+ Tid_, typename Tid_::lot_type, Tid_>
+{
+ Tid_ operator()(Tid_ const& lhs, typename Tid_::lot_type rhs)
+ {
+ return lhs.lot_add(rhs);
+ }
+};
+
+template<typename Tid_>
+struct identifier_lot_adder_helper<true, Tid_>: public std::binary_function<
+ Tid_, Tid_, Tid_>
+{
+ Tid_ operator()(Tid_ const& lhs, Tid_ const& rhs)
+ {
+ return lhs + rhs;
+ }
+};
+
+template<bool Vis_integral, typename Tid_>
+struct identifier_lot_advancer_helper: public std::binary_function<
+ Tid_&, typename Tid_::lot_type, Tid_&>
+{
+ Tid_& operator()(Tid_& lhs, typename Tid_::lot_type const& rhs)
+ {
+ lhs.lot_advance(rhs);
+ return lhs;
+ }
+};
+
+template<typename Tid_>
+struct identifier_lot_advancer_helper<true, Tid_>: public std::binary_function<
+ Tid_&, Tid_, Tid_&>
+{
+ Tid_& operator()(Tid_& lhs, Tid_ const& rhs)
+ {
+ lhs += rhs;
+ return lhs;
+ }
+};
+
+template<bool Vis_integral, typename Tid_>
+struct identifier_lot_retracer_helper: public std::binary_function<
+ Tid_&, typename Tid_::lot_type, Tid_&>
+{
+ Tid_& operator()(Tid_& lhs, typename Tid_::lot_type const& rhs)
+ {
+ lhs.lot_retrace(rhs);
+ return lhs;
+ }
+};
+
+template<typename Tid_>
+struct identifier_lot_retracer_helper<true, Tid_>: public std::binary_function<
+ Tid_, Tid_, Tid_>
+{
+ Tid_& operator()(Tid_& lhs, Tid_ const& rhs)
+ {
+ lhs -= rhs;
+ return lhs;
+ }
+};
+
+template<bool Vis_integral, typename Tid_>
+struct identifier_lot_retriever_helper: public std::binary_function<
+ Tid_&, typename Tid_::lot_type, Tid_&>
+{
+ typename identifier_lot_helper<Vis_integral, Tid_>::type const& operator()(Tid_ const& lhs)
+ {
+ return lhs.lot();
+ }
+};
+
+template<typename Tid_>
+struct identifier_lot_retriever_helper<true, Tid_>: public std::binary_function<
+ Tid_, Tid_, Tid_>
+{
+ typename identifier_lot_helper<true, Tid_>::type& operator()(Tid_& lhs)
+ {
+ return lhs;
+ }
+};
+
+template<bool Vis_integral, typename Tid_>
+struct identifier_serial_helper
+{
+ typedef typename Tid_::serial_type type;
+};
+
+template<typename Tid_>
+struct identifier_serial_helper<true, Tid_>
+{
+ typedef Tid_ type;
+};
+template<bool Vis_integral, typename Tid_>
+struct identifier_serial_advancer_helper: public std::binary_function<
+ Tid_&, typename Tid_::serial_type, Tid_&>
+{
+ Tid_& operator()(Tid_& lhs, typename Tid_::serial_type const& rhs)
+ {
+ lhs.serial_advance(rhs);
+ return lhs;
+ }
+};
+
+template<typename Tid_>
+struct identifier_serial_advancer_helper<true, Tid_>: public std::binary_function<
+ Tid_&, Tid_, Tid_&>
+{
+ Tid_& operator()(Tid_& lhs, Tid_ const& rhs)
+ {
+ lhs += rhs;
+ return lhs;
+ }
+};
+
+template<bool Vis_integral, typename Tid_>
+struct identifier_serial_retracer_helper: public std::binary_function<
+ Tid_&, typename Tid_::serial_type, Tid_&>
+{
+ Tid_& operator()(Tid_& lhs, typename Tid_::serial_type const& rhs)
+ {
+ lhs.serial_retrace(rhs);
+ return lhs;
+ }
+};
+
+template<typename Tid_>
+struct identifier_serial_retracer_helper<true, Tid_>: public std::binary_function<
+ Tid_, Tid_, Tid_>
+{
+ Tid_& operator()(Tid_& lhs, Tid_ const& rhs)
+ {
+ lhs -= rhs;
+ return lhs;
+ }
+};
+
+template<bool Vis_integral, typename Tid_>
+struct identifier_serial_retriever_helper: public std::binary_function<
+ Tid_&, typename Tid_::serial_type, Tid_&>
+{
+ typename identifier_serial_helper<Vis_integral, Tid_>::type const& operator()(Tid_ const& lhs)
+ {
+ return lhs.serial();
+ }
+};
+
+template<typename Tid_>
+struct identifier_serial_retriever_helper<true, Tid_>: public std::binary_function<
+ Tid_, Tid_, Tid_>
+{
+ typename identifier_serial_helper<true, Tid_>::type& operator()(Tid_& lhs)
+ {
+ return lhs;
+ }
+};
+
+} // namespace detail
+
+template<typename Tid_>
+struct identifier_lot: public detail::identifier_lot_helper<
+ boost::is_integral<Tid_>::value, Tid_>
+{
+};
+
+template<typename Tid_>
+struct identifier_lot_adder
+ : public detail::identifier_lot_adder_helper<
+ boost::is_integral<Tid_>::value, Tid_>
+{
+};
+
+template<typename Tid_>
+struct identifier_lot_advancer
+ : public detail::identifier_lot_advancer_helper<
+ boost::is_integral<Tid_>::value, Tid_>
+{
+};
+
+template<typename Tid_>
+struct identifier_lot_retracer
+ : public detail::identifier_lot_retracer_helper<
+ boost::is_integral<Tid_>::value, Tid_>
+{
+};
+
+template<typename Tid_>
+struct identifier_lot_retriever
+ : public detail::identifier_lot_retriever_helper<
+ boost::is_integral<Tid_>::value, Tid_>
+{
+};
+
+template<typename Tid_>
+struct identifier_serial: public detail::identifier_serial_helper<
+ boost::is_integral<Tid_>::value, Tid_>
+{
+};
+
+template<typename Tid_>
+struct identifier_serial_advancer
+ : public detail::identifier_serial_advancer_helper<
+ boost::is_integral<Tid_>::value, Tid_>
+{
+};
+
+template<typename Tid_>
+struct identifier_serial_retracer
+ : public detail::identifier_serial_retracer_helper<
+ boost::is_integral<Tid_>::value, Tid_>
+{
+};
+
+template<typename Tid_>
+struct identifier_serial_retriever
+ : public detail::identifier_serial_retriever_helper<
+ boost::is_integral<Tid_>::value, Tid_>
+{
+};
+
+template<typename Tid_>
+Tid_ lot_add(Tid_ const& lhs, typename identifier_lot<Tid_>::type const& rhs)
+{
+ return identifier_lot_adder<Tid_>()(lhs, rhs);
+}
+
+template<typename Tid_>
+Tid_& lot_advance(Tid_& lhs, typename identifier_lot<Tid_>::type const& rhs)
+
+{
+ return identifier_lot_advancer<Tid_>()(lhs, rhs);
+}
+
+template<typename Tid_>
+Tid_& lot_retrace(Tid_& lhs, typename identifier_lot<Tid_>::type const& rhs)
+{
+ return identifier_lot_retracer<Tid_>()(lhs, rhs);
+}
+
+template<typename Tid_>
+typename identifier_lot<Tid_>::type lot(Tid_& lhs)
+{
+ return identifier_lot_retriever<Tid_>()(lhs);
+}
+
+template<typename Tid_>
+Tid_& serial_advance(Tid_& lhs, typename identifier_serial<Tid_>::type const& rhs)
+{
+ return identifier_serial_advancer<Tid_>()(lhs, rhs);
+}
+
+template<typename Tid_>
+Tid_& serial_retrace(Tid_& lhs, typename identifier_serial<Tid_>::type const& rhs)
+{
+ return identifier_serial_retracer<Tid_>()(lhs, rhs);
+}
+
+template<typename Tid_>
+typename identifier_serial<Tid_>::type serial(Tid_& lhs)
+{
+ return identifier_serial_retriever<Tid_>()(lhs);
+}
+
+template<typename Tid_>
+struct SerialIDGenerator
+{
+ typedef Tid_ identifier_type;
+ typedef typename identifier_lot<identifier_type>::type lot_type;
+
+ SerialIDGenerator(lot_type const& lot = lot_type())
+ : next_(lot_add(identifier_type(), lot))
+ {
+ }
+
+ identifier_type operator()()
+ {
+ return serial_advance(next_, 1);
+ }
+
+private:
+ identifier_type next_;
+};
+
+#endif /* SERIAL_ID_GENERATOR_HPP */
diff --git a/ecell4/egfrd/legacy/Shape.hpp b/ecell4/egfrd/legacy/Shape.hpp
new file mode 100644
index 0000000..7b5d971
--- /dev/null
+++ b/ecell4/egfrd/legacy/Shape.hpp
@@ -0,0 +1,100 @@
+#ifndef SHAPE_HPP
+#define SHAPE_HPP
+
+#include <boost/type_traits/remove_cv.hpp>
+#include "Vector3.hpp"
+#include "Position3Type.hpp"
+#include "geometry.hpp"
+
+template<typename Tshape_>
+struct is_shape: public boost::mpl::false_ {};
+
+// template<typename Tobj_>
+// inline typename Tobj_::shape_type const& shape(Tobj_ const& obj)
+// {
+// return obj.shape();
+// }
+
+//XXX: See Shell.hpp and ParticleTraits.hpp
+// template<typename Tobj_>
+// inline typename Tobj_::shape_type& shape(Tobj_& obj)
+// {
+// return obj.shape();
+// }
+//
+// template<typename Tshape_>
+// inline Tshape_ offset(Tshape_ const& shape, typename Tshape_::position_type off,
+// typename boost::enable_if<is_shape<Tshape_> >::type* = 0)
+// {
+// Tshape_ retval(shape);
+// retval.position() += off;
+// return retval;
+// }
+
+template<typename T_>
+struct shape_position_type
+{
+ struct argument_is_not_a_shape;
+ static const std::size_t x = sizeof(argument_is_not_a_shape);
+};
+
+template<typename T_>
+struct shape_length_type
+{
+ typedef typename element_type_of<typename shape_position_type<typename boost::remove_cv<T_>::type >::type>::type type;
+};
+
+template<typename T_>
+inline typename shape_position_type<T_>::type const& shape_position(T_ const& shape,
+ typename boost::enable_if<is_shape<T_> >::type* = 0)
+{
+ return shape.position();
+}
+
+template<typename T_>
+inline typename shape_position_type<T_>::type& shape_position(T_& shape,
+ typename boost::enable_if<is_shape<T_> >::type* = 0)
+{
+ return shape.position();
+}
+
+template<typename T_>
+inline typename shape_length_type<T_>::type const& shape_size(T_ const& shape,
+ typename boost::enable_if<is_shape<T_> >::type* = 0)
+{
+}
+
+template<typename T_>
+inline typename shape_length_type<T_>::type& shape_size(T_& shape,
+ typename boost::enable_if<is_shape<T_> >::type* = 0)
+{
+}
+
+template< typename T1_, typename T2_ >
+inline typename shape_length_type<T1_>::type
+distance_cyclic(
+ T1_ const& p1, T2_ const& p2,
+ typename shape_length_type<T1_>::type const& world_size,
+ typename boost::enable_if<is_shape<T1_> >::type* = 0)
+{
+ return distance(p1, cyclic_transpose(p2, shape_position(p1), world_size));
+}
+
+template< typename T1_, typename T2_ >
+inline typename shape_length_type<T1_>::type
+distance_cyclic(
+ T1_ const& p1, T2_ const& p2,
+ typename shape_position_type<T1_>::type const& edge_lengths,
+ typename boost::enable_if<is_shape<T1_> >::type* = 0)
+{
+ return distance(p1, cyclic_transpose(p2, shape_position(p1), edge_lengths));
+}
+
+template<typename T, typename Trng>
+inline typename shape_position_type<T>::type
+random_position(T const& shape, Trng const& rng)
+{
+ return random_position(shape, const_cast<Trng&>(rng));
+}
+
+#endif /* SHAPE_HPP */
diff --git a/ecell4/egfrd/legacy/SpeciesInfo.hpp b/ecell4/egfrd/legacy/SpeciesInfo.hpp
new file mode 100644
index 0000000..ee2d928
--- /dev/null
+++ b/ecell4/egfrd/legacy/SpeciesInfo.hpp
@@ -0,0 +1,97 @@
+#ifndef SPECIES_INFO_HPP
+#define SPECIES_INFO_HPP
+
+#include <set>
+#include <string>
+#include <ostream>
+#include "Defs.hpp"
+
+template<typename Tid_, typename TD_, typename Tlen_, typename Tstructure_id_>
+struct SpeciesInfo
+{
+ typedef Tid_ identifier_type;
+ typedef TD_ D_type;
+ typedef TD_ v_type;
+ typedef Tlen_ length_type;
+ typedef Tstructure_id_ structure_id_type;
+
+ identifier_type const& id() const
+ {
+ return id_;
+ }
+
+ length_type const& radius() const
+ {
+ return radius_;
+ }
+
+ length_type& radius()
+ {
+ return radius_;
+ }
+
+ structure_id_type const& structure_id() const
+ {
+ return structure_id_;
+ }
+
+ structure_id_type& structure_id()
+ {
+ return structure_id_;
+ }
+
+ D_type const& D() const
+ {
+ return diffusion_coef_;
+ }
+
+ D_type& D()
+ {
+ return diffusion_coef_;
+ }
+
+ v_type const& v() const
+ {
+ return drift_velocity_;
+ }
+
+ v_type& v()
+ {
+ return drift_velocity_;
+ }
+
+ bool operator==(SpeciesInfo const& rhs) const
+ {
+ return id_ == rhs.id() && diffusion_coef_ == rhs.D() && drift_velocity_ == rhs.v() &&
+ radius_ == rhs.radius() && structure_id_ == rhs.structure_id();
+ }
+
+ bool operator!=(SpeciesInfo const& rhs) const
+ {
+ return !operator==(rhs);
+ }
+
+ SpeciesInfo() {}
+
+ SpeciesInfo(identifier_type const& id, D_type const& D = 0.,
+ length_type const& r = 0., structure_id_type const& s = "", v_type const& v = 0.)
+ : id_(id), diffusion_coef_(D), drift_velocity_(v), radius_(r), structure_id_(s) {}
+
+private:
+
+ identifier_type id_;
+ D_type diffusion_coef_;
+ v_type drift_velocity_;
+ length_type radius_;
+ structure_id_type structure_id_;
+};
+
+template<typename Tchar_, typename Ttraits_, typename Tid_, typename TD_, typename Tlen_, typename Tstructure_id_>
+inline std::basic_ostream<Tchar_, Ttraits_>&
+operator<<(std::basic_ostream<Tchar_, Ttraits_>& strm, const SpeciesInfo<Tid_, TD_, Tlen_, Tstructure_id_>& s)
+{
+ strm << "SpeciesInfo(id=" << s.id() << ", D=" << s.D() << ", v=" << s.v() << ", radius=" << s.radius() << ", surface=" << s.structure_id() << ")";
+ return strm;
+}
+
+#endif /* SPECIES_INFO_HPP */
diff --git a/ecell4/egfrd/legacy/SpeciesType.cpp b/ecell4/egfrd/legacy/SpeciesType.cpp
new file mode 100644
index 0000000..1fa1c6d
--- /dev/null
+++ b/ecell4/egfrd/legacy/SpeciesType.cpp
@@ -0,0 +1,32 @@
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif /* HAVE_CONFIG_H */
+
+#include "SpeciesType.hpp"
+
+SpeciesType::identifier_type const& SpeciesType::id() const
+{
+ if (!model_)
+ {
+ throw illegal_state("not bound to Model");
+ }
+ return id_;
+}
+
+std::string const& SpeciesType::operator[](std::string const& name) const
+{
+ string_map_type::const_iterator i(attrs_.find(name));
+ if (i == attrs_.end())
+ throw not_found((boost::format("key %s not found") % name).str());
+ return (*i).second;
+}
+
+std::string& SpeciesType::operator[](std::string const& name)
+{
+ return attrs_[name];
+}
+
+SpeciesType::attributes_range SpeciesType::attributes() const
+{
+ return attributes_range(attrs_.begin(), attrs_.end());
+}
diff --git a/ecell4/egfrd/legacy/SpeciesType.hpp b/ecell4/egfrd/legacy/SpeciesType.hpp
new file mode 100644
index 0000000..91c6cb2
--- /dev/null
+++ b/ecell4/egfrd/legacy/SpeciesType.hpp
@@ -0,0 +1,81 @@
+#ifndef SPECIES_TYPE_HPP
+#define SPECIES_TYPE_HPP
+
+#include <ostream>
+#include <string>
+#include <boost/format.hpp>
+#include <boost/range/value_type.hpp>
+#include <boost/range/const_iterator.hpp>
+#include <boost/range/iterator_range.hpp>
+
+#include "SpeciesTypeID.hpp"
+
+#include "exceptions.hpp"
+#include <ecell4/core/get_mapper_mf.hpp>
+
+class Model;
+
+class SpeciesType
+{
+ friend class Model;
+private:
+ typedef ecell4::utils::get_mapper_mf<std::string, std::string>::type string_map_type;
+
+public:
+ typedef SpeciesTypeID identifier_type;
+ typedef string_map_type::const_iterator string_map_iterator;
+ typedef boost::iterator_range<string_map_iterator> attributes_range;
+
+public:
+ identifier_type const& id() const;
+
+ std::string const& operator[](std::string const& name) const;
+
+ std::string& operator[](std::string const& name);
+
+ attributes_range attributes() const;
+
+ Model* model() const
+ {
+ return model_;
+ }
+
+ SpeciesType(): model_(0) {}
+
+protected:
+ void bind_to_model(Model* model, identifier_type const& id)
+ {
+ model_ = model;
+ id_ = id;
+ }
+
+private:
+ Model* model_;
+ identifier_type id_;
+ string_map_type attrs_;
+};
+
+template<typename Tchar_, typename Ttraits_>
+inline std::basic_ostream<Tchar_, Ttraits_>&
+operator<<(std::basic_ostream<Tchar_, Ttraits_>& out, const SpeciesType& v)
+{
+ bool first = true;
+ out << "SpeciesType(id=" << v.id() << ", attributes={";
+
+ typename SpeciesType::attributes_range attributes(v.attributes());
+ for (typename boost::range_const_iterator<
+ typename SpeciesType::attributes_range>::type
+ i(attributes.begin()), e(attributes.end()); i != e; ++i)
+ {
+ typename boost::range_value<typename SpeciesType::attributes_range>::type
+ const& pair(*i);
+ if (!first)
+ out << ", ";
+ out << pair.first << ":" << pair.second;
+ first = false;
+ }
+ out << "})";
+ return out;
+}
+
+#endif /* SPECIES_TYPE_HPP */
diff --git a/ecell4/egfrd/legacy/SpeciesTypeID.hpp b/ecell4/egfrd/legacy/SpeciesTypeID.hpp
new file mode 100644
index 0000000..5bfb0fa
--- /dev/null
+++ b/ecell4/egfrd/legacy/SpeciesTypeID.hpp
@@ -0,0 +1,57 @@
+#ifndef SPECIES_TYPE_ID_HPP
+#define SPECIES_TYPE_ID_HPP
+
+#include <ecell4/core/config.h>
+
+#include <ostream>
+#if defined(HAVE_TR1_FUNCTIONAL)
+#include <tr1/functional>
+#elif defined(HAVE_STD_HASH)
+#include <functional>
+#elif defined(HAVE_BOOST_FUNCTIONAL_HASH_HPP)
+#include <boost/functional/hash.hpp>
+#endif
+#include "Identifier.hpp"
+
+struct SpeciesTypeID: public Identifier<SpeciesTypeID, unsigned long long, int>
+{
+ typedef Identifier<SpeciesTypeID, unsigned long long, int> base_type;
+
+ SpeciesTypeID(value_type const& value = value_type(0, 0))
+ : base_type(value) {}
+};
+
+#if defined(HAVE_TR1_FUNCTIONAL)
+namespace std { namespace tr1 {
+#elif defined(HAVE_STD_HASH)
+namespace std {
+#elif defined(HAVE_BOOST_FUNCTIONAL_HASH_HPP)
+namespace boost {
+#endif
+
+template<>
+struct hash<SpeciesTypeID>
+{
+ std::size_t operator()(SpeciesTypeID const& val) const
+ {
+ return static_cast<std::size_t>(val().first ^ val().second);
+ }
+};
+
+#if defined(HAVE_TR1_FUNCTIONAL)
+} } // namespace std::tr1
+#elif defined(HAVE_STD_HASH)
+} // namespace std
+#elif defined(HAVE_BOOST_FUNCTIONAL_HASH_HPP)
+} // namespace boost
+#endif
+
+template<typename Tstrm_, typename Ttraits_>
+inline std::basic_ostream<Tstrm_, Ttraits_>& operator<<(std::basic_ostream<Tstrm_, Ttraits_>& strm,
+ const SpeciesTypeID& v)
+{
+ strm << "SID(" << v().first << ":" << v().second << ")";
+ return strm;
+}
+
+#endif /* SPECIES_TYPE_ID_HPP */
diff --git a/ecell4/egfrd/legacy/Sphere.hpp b/ecell4/egfrd/legacy/Sphere.hpp
new file mode 100644
index 0000000..238cd4f
--- /dev/null
+++ b/ecell4/egfrd/legacy/Sphere.hpp
@@ -0,0 +1,184 @@
+#ifndef SPHERE_HPP
+#define SPHERE_HPP
+
+#include <ostream>
+#include "Vector3.hpp"
+#include "Position3Type.hpp"
+#include "Shape.hpp"
+
+class Sphere;
+template<typename Tstrm_, typename Ttraits_>
+inline std::basic_ostream<Tstrm_, Ttraits_>& operator<<(std::basic_ostream<Tstrm_, Ttraits_>& strm,
+ const Sphere& v);
+
+class Sphere
+{
+public:
+ /*
+ typedef T_ value_type;
+ typedef Vector3<T_> position_type;
+ typedef T_ length_type;
+ */
+ typedef ecell4::Position3 position_type;
+ typedef position_type::value_type value_type;
+ typedef position_type::value_type length_type;
+
+public:
+ Sphere()
+ : position_(), radius_(0) {}
+
+ Sphere(const position_type& position, const length_type& radius)
+ : position_(position), radius_(radius) {}
+
+ bool operator==(const Sphere& rhs) const
+ {
+ return position_ == rhs.position_ && radius_ == rhs.radius_;
+ }
+
+ bool operator!=(const Sphere& rhs) const
+ {
+ return !operator==(rhs);
+ }
+
+ position_type const& position() const
+ {
+ return position_;
+ }
+
+ position_type& position()
+ {
+ return position_;
+ }
+
+ length_type const& radius() const
+ {
+ return radius_;
+ }
+
+ length_type& radius()
+ {
+ return radius_;
+ }
+
+ std::string show(int precision)
+ {
+ std::ostringstream strm;
+ strm.precision(precision);
+ strm << *this;
+ return strm.str();
+ }
+
+private:
+ position_type position_;
+ length_type radius_;
+};
+
+template<typename Tstrm_, typename Ttraits_>
+inline std::basic_ostream<Tstrm_, Ttraits_>& operator<<(std::basic_ostream<Tstrm_, Ttraits_>& strm,
+ const Sphere& v)
+{
+ strm << "{" << v.position() << ", " << v.radius() << "}";
+ return strm;
+}
+
+
+inline std::pair<Sphere::position_type,
+ Sphere::length_type>
+projected_point(Sphere const& obj,
+ Sphere::position_type const& pos)
+{
+ // Todo. If we ever need it.
+ // The projection of a point on a sphere.
+ return std::make_pair(Sphere::position_type(),
+ Sphere::length_type());
+}
+
+
+inline Sphere::length_type
+distance(Sphere const& obj, Sphere::position_type const& pos)
+{
+ return distance(pos, obj.position()) - obj.radius();
+}
+
+
+inline Sphere const& shape(Sphere const& shape)
+{
+ return shape;
+}
+
+
+inline Sphere& shape(Sphere& shape)
+{
+ return shape;
+}
+
+template<typename Trng>
+inline Sphere::position_type
+random_position(Sphere const& shape, Trng& rng)
+{
+ return add(shape.position(),
+ create_vector<Sphere::position_type>(
+ shape.radius() * rng(),
+ shape.radius() * rng(),
+ shape.radius() * rng()));
+}
+
+template<>
+struct is_shape<Sphere>: public boost::mpl::true_ {};
+
+template<>
+struct shape_position_type<Sphere> {
+ typedef Sphere::position_type type;
+};
+
+template<>
+struct shape_position_type<const Sphere> {
+ typedef Sphere::position_type type;
+};
+
+template<>
+struct shape_length_type<Sphere> {
+ typedef Sphere::length_type type;
+};
+
+
+inline typename shape_length_type<Sphere>::type const& shape_size(Sphere const& shape)
+{
+ return shape.radius();
+}
+
+
+inline typename shape_length_type<Sphere>::type& shape_size(Sphere &shape)
+{
+ return shape.radius();
+}
+
+#if defined(HAVE_TR1_FUNCTIONAL)
+namespace std { namespace tr1 {
+#elif defined(HAVE_STD_HASH)
+namespace std {
+#elif defined(HAVE_BOOST_FUNCTIONAL_HASH_HPP)
+namespace boost {
+#endif
+
+template<>
+struct hash<Sphere>
+{
+ typedef Sphere argument_type;
+
+ std::size_t operator()(argument_type const& val)
+ {
+ return hash<typename argument_type::position_type>()(val.position()) ^
+ hash<typename argument_type::length_type>()(val.radius());
+ }
+};
+
+#if defined(HAVE_TR1_FUNCTIONAL)
+} } // namespace std::tr1
+#elif defined(HAVE_STD_HASH)
+} // namespace std
+#elif defined(HAVE_BOOST_FUNCTIONAL_HASH_HPP)
+} // namespace boost
+#endif
+
+#endif /* SPHERE_HPP */
diff --git a/ecell4/egfrd/legacy/SphericalSurface.hpp b/ecell4/egfrd/legacy/SphericalSurface.hpp
new file mode 100644
index 0000000..875f28d
--- /dev/null
+++ b/ecell4/egfrd/legacy/SphericalSurface.hpp
@@ -0,0 +1,54 @@
+#ifndef SPHERICAL_SURFACE_HPP
+#define SPHERICAL_SURFACE_HPP
+
+#include "Surface.hpp"
+#include "Sphere.hpp"
+
+template<typename Ttraits_>
+class SphericalSurface
+ : public BasicSurfaceImpl<Ttraits_, Sphere >
+{
+public:
+ typedef BasicSurfaceImpl<Ttraits_, Sphere > base_type;
+ typedef typename base_type::traits_type traits_type;
+ typedef typename base_type::identifier_type identifier_type;
+ typedef typename base_type::shape_type shape_type;
+ typedef typename base_type::rng_type rng_type;
+ typedef typename base_type::position_type position_type;
+ typedef typename base_type::length_type length_type;
+
+ virtual position_type random_position(rng_type& rng) const
+ {
+ return position_type(); // TODO
+ }
+
+ virtual position_type random_vector(length_type const& r, rng_type& rng) const
+ {
+ return position_type(); // TODO
+ }
+
+ virtual position_type bd_displacement(length_type const& r, rng_type& rng) const
+ {
+ return position_type(); // TODO
+ }
+
+ virtual length_type minimal_distance(length_type const& radius) const
+ {
+ return 0.; // TODO
+ }
+
+ virtual void accept(ImmutativeStructureVisitor<traits_type> const& visitor) const
+ {
+ visitor(*this);
+ }
+
+ virtual void accept(MutativeStructureVisitor<traits_type> const& visitor)
+ {
+ visitor(*this);
+ }
+
+ SphericalSurface(identifier_type const& id, shape_type const& shape)
+ : base_type(id, shape) {}
+};
+
+#endif /* SPHERICAL_SURFACE_HPP */
diff --git a/ecell4/egfrd/legacy/Structure.hpp b/ecell4/egfrd/legacy/Structure.hpp
new file mode 100644
index 0000000..04d598f
--- /dev/null
+++ b/ecell4/egfrd/legacy/Structure.hpp
@@ -0,0 +1,114 @@
+#ifndef STRUCTURE_HPP
+#define STRUCTURE_HPP
+
+#include <ostream>
+#if defined(HAVE_TR1_FUNCTIONAL)
+#include <tr1/functional>
+#elif defined(HAVE_STD_HASH)
+#include <functional>
+#elif defined(HAVE_BOOST_FUNCTIONAL_HASH_HPP)
+#include <boost/functional/hash.hpp>
+#endif
+
+#include <sstream>
+#include "Vector3.hpp"
+#include "Position3Type.hpp"
+
+template<typename Ttraits_>
+class Structure
+{
+public:
+ typedef Ttraits_ traits_type;
+ typedef typename traits_type::rng_type rng_type;
+ typedef typename traits_type::structure_id_type identifier_type;
+ typedef typename traits_type::length_type length_type;
+ typedef typename traits_type::position_type position_type;
+ typedef std::pair<position_type, length_type> projected_type;
+
+public:
+ virtual ~Structure() {}
+
+ identifier_type const& id() const
+ {
+ return id_;
+ }
+
+ virtual bool operator==(Structure const& rhs) const
+ {
+ return id_ == rhs.id();
+ }
+
+ bool operator!=(Structure const& rhs) const
+ {
+ return !operator==(rhs);
+ }
+
+ virtual position_type random_position(rng_type& rng) const = 0;
+
+ virtual position_type random_vector(length_type const& r, rng_type& rng) const = 0;
+
+ virtual position_type bd_displacement(length_type const& r, rng_type& rng) const = 0;
+
+ virtual projected_type projected_point(position_type const& pos) const = 0;
+
+ virtual std::size_t hash() const
+ {
+#if defined(HAVE_TR1_FUNCTIONAL)
+ using std::tr1::hash;
+#elif defined(HAVE_STD_HASH)
+ using std::hash;
+#elif defined(HAVE_BOOST_FUNCTIONAL_HASH_HPP)
+ using boost::hash;
+#endif
+ return hash<identifier_type>()(id_);
+ }
+
+ virtual std::string as_string() const
+ {
+ std::ostringstream out;
+ out << "Structure(" << id() << ")";
+ return out.str();
+ }
+
+ Structure(identifier_type const& id)
+ : id_(id) {}
+
+protected:
+ identifier_type id_;
+};
+
+template<typename Tstrm, typename Ttraits, typename T_traits>
+inline std::basic_ostream<Tstrm, Ttraits>& operator<<(std::basic_ostream<Tstrm, Ttraits>& strm, const Structure<T_traits>& v)
+{
+ strm << v.as_string();
+ return strm;
+}
+
+#if defined(HAVE_TR1_FUNCTIONAL)
+namespace std { namespace tr1 {
+#elif defined(HAVE_STD_HASH)
+namespace std {
+#elif defined(HAVE_BOOST_FUNCTIONAL_HASH_HPP)
+namespace boost {
+#endif
+
+template<typename Ttraits>
+struct hash<Structure<Ttraits> >
+{
+ typedef Structure<Ttraits> argument_type;
+
+ std::size_t operator()(argument_type const& val)
+ {
+ return val.hash();
+ }
+};
+
+#if defined(HAVE_TR1_FUNCTIONAL)
+} } // namespace std::tr1
+#elif defined(HAVE_STD_HASH)
+} // namespace std
+#elif defined(HAVE_BOOST_FUNCTIONAL_HASH_HPP)
+} // namespace boost
+#endif
+
+#endif /* STRUCTURE_HPP */
diff --git a/ecell4/egfrd/legacy/StructureType.cpp b/ecell4/egfrd/legacy/StructureType.cpp
new file mode 100644
index 0000000..8181f58
--- /dev/null
+++ b/ecell4/egfrd/legacy/StructureType.cpp
@@ -0,0 +1,32 @@
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif /* HAVE_CONFIG_H */
+
+#include "StructureType.hpp"
+
+StructureType::identifier_type const& StructureType::id() const
+{
+ if (!model_)
+ {
+ throw illegal_state("not bound to Model");
+ }
+ return id_;
+}
+
+std::string const& StructureType::operator[](std::string const& name) const
+{
+ string_map_type::const_iterator i(attrs_.find(name));
+ if (i == attrs_.end())
+ throw not_found((boost::format("key %s not found") % name).str());
+ return (*i).second;
+}
+
+std::string& StructureType::operator[](std::string const& name)
+{
+ return attrs_[name];
+}
+
+StructureType::attributes_range StructureType::attributes() const
+{
+ return attributes_range(attrs_.begin(), attrs_.end());
+}
diff --git a/ecell4/egfrd/legacy/StructureType.hpp b/ecell4/egfrd/legacy/StructureType.hpp
new file mode 100644
index 0000000..379aaad
--- /dev/null
+++ b/ecell4/egfrd/legacy/StructureType.hpp
@@ -0,0 +1,79 @@
+#ifndef STRUCTURE_TYPE_HPP
+#define STRUCTURE_TYPE_HPP
+
+#include <ostream>
+#include <string>
+#include <boost/format.hpp>
+#include <boost/range/value_type.hpp>
+#include <boost/range/const_iterator.hpp>
+#include <boost/range/iterator_range.hpp>
+
+#include "exceptions.hpp"
+#include <ecell4/core/get_mapper_mf.hpp>
+
+class ParticleModel;
+
+class StructureType
+{
+ friend class ParticleModel;
+private:
+ typedef ecell4::utils::get_mapper_mf<std::string, std::string>::type string_map_type;
+
+public:
+ typedef std::string identifier_type;
+ typedef string_map_type::const_iterator string_map_iterator;
+ typedef boost::iterator_range<string_map_iterator> attributes_range;
+
+public:
+ identifier_type const& id() const;
+
+ std::string const& operator[](std::string const& name) const;
+
+ std::string& operator[](std::string const& name);
+
+ attributes_range attributes() const;
+
+ ParticleModel* model() const
+ {
+ return model_;
+ }
+
+ StructureType(): model_(0) {}
+
+protected:
+ void bind_to_model(ParticleModel* model, identifier_type const& id)
+ {
+ model_ = model;
+ id_ = id;
+ }
+
+private:
+ ParticleModel* model_;
+ identifier_type id_;
+ string_map_type attrs_;
+};
+
+template<typename Tchar_, typename Ttraits_>
+inline std::basic_ostream<Tchar_, Ttraits_>&
+operator<<(std::basic_ostream<Tchar_, Ttraits_>& out, const StructureType& v)
+{
+ bool first = true;
+ out << "StructureType(id=" << v.id() << ", attributes={";
+
+ typename StructureType::attributes_range attributes(v.attributes());
+ for (typename boost::range_const_iterator<
+ typename StructureType::attributes_range>::type
+ i(attributes.begin()), e(attributes.end()); i != e; ++i)
+ {
+ typename boost::range_value<typename StructureType::attributes_range>::type
+ const& pair(*i);
+ if (!first)
+ out << ", ";
+ out << pair.first << ":" << pair.second;
+ first = false;
+ }
+ out << "})";
+ return out;
+}
+
+#endif /* STRUCTURE_TYPE_HPP */
diff --git a/ecell4/egfrd/legacy/StructureUtils.hpp b/ecell4/egfrd/legacy/StructureUtils.hpp
new file mode 100644
index 0000000..bc9e037
--- /dev/null
+++ b/ecell4/egfrd/legacy/StructureUtils.hpp
@@ -0,0 +1,111 @@
+#ifndef STRUCTURE_UTILS_HPP
+#define STRUCTURE_UTILS_HPP
+
+#include <string>
+#include <typeinfo>
+#include "linear_algebra.hpp"
+#include "geometry.hpp"
+#include "exceptions.hpp"
+#include "Surface.hpp"
+#include "Region.hpp"
+
+template<typename Tsim_>
+struct StructureUtils
+{
+ typedef Tsim_ simulator_type;
+ typedef typename simulator_type::traits_type traits_type;
+ typedef typename traits_type::world_type::position_type position_type;
+ typedef typename traits_type::world_type::length_type length_type;
+ typedef typename traits_type::world_type::structure_id_type structure_id_type;
+ typedef typename traits_type::world_type::structure_type structure_type;
+ typedef typename simulator_type::surface_type surface_type;
+ typedef typename simulator_type::region_type region_type;
+ typedef typename simulator_type::sphere_type sphere_type;
+ typedef typename simulator_type::cylinder_type cylinder_type;
+ typedef typename simulator_type::box_type box_type;
+ typedef typename simulator_type::plane_type plane_type;
+ typedef typename simulator_type::spherical_surface_type spherical_surface_type;
+ typedef typename simulator_type::cylindrical_surface_type cylindrical_surface_type;
+ typedef typename simulator_type::planar_surface_type planar_surface_type;
+ typedef typename simulator_type::cuboidal_region_type cuboidal_region_type;
+ typedef typename simulator_type::world_type::traits_type::rng_type rng_type;
+
+ static planar_surface_type* create_planar_surface(
+ structure_id_type const& id,
+ position_type const& corner,
+ position_type const& unit_x,
+ position_type const& unit_y,
+ length_type const& lx,
+ length_type const& ly)
+ {
+ BOOST_ASSERT(is_cartesian_versor(unit_x));
+ BOOST_ASSERT(is_cartesian_versor(unit_y));
+ BOOST_ASSERT(is_cartesian_versor(cross_product(unit_x, unit_y)));
+
+ const length_type half_lx(lx / 2);
+ const length_type half_ly(ly / 2);
+
+ const position_type pos(add(add(corner, multiply(unit_x, half_lx)),
+ multiply(unit_y, half_ly)));
+
+ return new planar_surface_type(id,
+ plane_type(pos, unit_x, unit_y,
+ half_lx, half_ly));
+ }
+
+ static spherical_surface_type* create_spherical_surface(
+ structure_id_type const& id,
+ position_type const& pos,
+ length_type const& radius)
+ {
+ return new spherical_surface_type(id, sphere_type(pos, radius));
+ }
+
+ static cylindrical_surface_type* create_cylindrical_surface(
+ structure_id_type const& id,
+ position_type const& corner,
+ length_type const& radius,
+ position_type const& unit_z,
+ length_type const& length)
+ {
+ BOOST_ASSERT(is_cartesian_versor(unit_z));
+
+ const length_type half_length(length / 2);
+ const position_type pos(add(corner, multiply(unit_z, half_length)));
+
+ return new cylindrical_surface_type(id,
+ cylinder_type(pos, radius, unit_z, half_length));
+ }
+
+ static cuboidal_region_type* create_cuboidal_region(
+ structure_id_type const& id,
+ position_type const& corner,
+ boost::array<length_type, 3> const& extent)
+ {
+ const boost::array<length_type, 3> half_extent(divide(extent, 2));
+ return new cuboidal_region_type(id,
+ box_type(add(corner, half_extent),
+ create_vector<position_type>(1, 0, 0),
+ create_vector<position_type>(0, 1, 0),
+ create_vector<position_type>(0, 0, 1),
+ half_extent));
+ }
+
+ static position_type random_vector(structure_type const& structure,
+ length_type const& r, rng_type& rng)
+ {
+ return structure.random_vector(r, rng);
+ }
+
+ static position_type random_position(structure_type const& structure, rng_type& rng)
+ {
+ return structure.random_position(rng);
+ }
+
+ static length_type minimal_distance_from_surface(surface_type const& surface, length_type const& radius)
+ {
+ return surface.minimal_distance(radius);
+ }
+};
+
+#endif /* STRUCTURE_UTILS_HPP */
diff --git a/ecell4/egfrd/legacy/Surface.hpp b/ecell4/egfrd/legacy/Surface.hpp
new file mode 100644
index 0000000..0dd37e7
--- /dev/null
+++ b/ecell4/egfrd/legacy/Surface.hpp
@@ -0,0 +1,98 @@
+#ifndef SURFACE_HPP
+#define SURFACE_HPP
+
+#include <ostream>
+#if defined(HAVE_TR1_FUNCTIONAL)
+#include <tr1/functional>
+#elif defined(HAVE_STD_HASH)
+#include <functional>
+#elif defined(HAVE_BOOST_FUNCTIONAL_HASH_HPP)
+#include <boost/functional/hash.hpp>
+#endif
+
+#include <sstream>
+#include "ParticleSimulationStructure.hpp"
+#include "Cylinder.hpp"
+#include "Sphere.hpp"
+#include "Plane.hpp"
+
+template<typename Ttraits_>
+class Surface: public ParticleSimulationStructure<Ttraits_>
+{
+public:
+ typedef ParticleSimulationStructure<Ttraits_> base_type;
+ typedef typename base_type::identifier_type identifier_type;
+ typedef typename base_type::length_type length_type;
+
+public:
+ virtual ~Surface() {}
+
+ Surface(identifier_type const& id): base_type(id) {}
+
+ virtual length_type minimal_distance(length_type const& radius) const = 0;
+};
+
+template<typename Ttraits_, typename Tshape_>
+class BasicSurfaceImpl: public Surface<Ttraits_>
+{
+public:
+ typedef Surface<Ttraits_> base_type;
+ typedef Tshape_ shape_type;
+ typedef typename base_type::identifier_type identifier_type;
+ typedef typename base_type::length_type length_type;
+ typedef typename base_type::position_type position_type;
+ typedef std::pair<position_type, length_type> projected_type;
+
+public:
+ virtual ~BasicSurfaceImpl() {}
+
+ shape_type& shape()
+ {
+ return shape_;
+ }
+
+ shape_type const& shape() const
+ {
+ return shape_;
+ }
+
+ // virtual bool operator==(Structure<typename Ttraits_::world_type::traits_type> const& rhs) const
+ virtual bool operator==(Structure<Ttraits_> const& rhs) const
+ {
+ BasicSurfaceImpl const* _rhs(dynamic_cast<BasicSurfaceImpl const*>(&rhs));
+ return _rhs && base_type::id_ == rhs.id() && shape_ == _rhs->shape();
+ }
+
+ virtual std::size_t hash() const
+ {
+#if defined(HAVE_TR1_FUNCTIONAL)
+ using std::tr1::hash;
+#elif defined(HAVE_STD_HASH)
+ using std::hash;
+#elif defined(HAVE_BOOST_FUNCTIONAL_HASH_HPP)
+ using boost::hash;
+#endif
+ return hash<identifier_type>()(base_type::id_) ^ hash<shape_type>()(shape());
+ }
+
+ virtual std::string as_string() const
+ {
+ std::ostringstream out;
+ out << "Surface(" << base_type::id_ << ":" << shape() << ")";
+ return out.str();
+ }
+
+ projected_type
+ projected_point(position_type const& pos) const
+ {
+ return ::projected_point(shape(), pos);
+ }
+
+ BasicSurfaceImpl(identifier_type const& id, shape_type const& shape)
+ : base_type(id), shape_(shape) {}
+
+protected:
+ shape_type shape_;
+};
+
+#endif /* SURFACE_HPP */
diff --git a/ecell4/egfrd/legacy/Vector3.hpp b/ecell4/egfrd/legacy/Vector3.hpp
new file mode 100644
index 0000000..adf20f5
--- /dev/null
+++ b/ecell4/egfrd/legacy/Vector3.hpp
@@ -0,0 +1,149 @@
+#ifndef VECTOR3_HPP
+#define VECTOR3_HPP
+
+#include <ecell4/core/config.h>
+
+#include <ostream>
+#include <iomanip>
+#include <functional>
+#include <algorithm>
+
+#if defined(HAVE_TR1_FUNCTIONAL)
+#include <tr1/functional>
+#elif defined(HAVE_STD_HASH)
+#include <functional>
+#elif defined(HAVE_BOOST_FUNCTIONAL_HASH_HPP)
+#include <boost/functional/hash.hpp>
+#endif
+
+#include <boost/array.hpp>
+#include "utils/array_traits.hpp"
+#include "linear_algebra.hpp"
+
+template<typename T_>
+struct Vector3: public boost::array<T_, 3>
+{
+ typedef boost::array<T_, 3> base_type;
+ typedef typename base_type::value_type value_type;
+ typedef typename base_type::size_type size_type;
+
+ Vector3& operator+=(Vector3 const& rhs)
+ {
+ *this = add(*this, rhs);
+ return *this;
+ }
+
+ Vector3& operator-=(Vector3 const& rhs)
+ {
+ *this = subtract(*this, rhs);
+ return *this;
+ }
+
+ template<typename TT_>
+ Vector3& operator*=(TT_ const& rhs)
+ {
+ *this = multiply(*this, rhs);
+ return *this;
+ }
+
+ template<typename TT_>
+ Vector3& operator/=(TT_ const& rhs)
+ {
+ *this = divide(*this, rhs);
+ return *this;
+ }
+
+ Vector3()
+ {
+ (*this)[0] = 0;
+ (*this)[1] = 0;
+ (*this)[2] = 0;
+ }
+
+ Vector3(const T_ (&a)[3]): base_type(
+ *reinterpret_cast<const base_type*>(&a)) {}
+
+ Vector3(const T_ a[3]): base_type(
+ *reinterpret_cast<const base_type*>(a)) {}
+
+ Vector3(const base_type& a): base_type(a) {}
+
+ Vector3(value_type p0, value_type p1, value_type p2)
+ {
+ (*this)[0] = p0;
+ (*this)[1] = p1;
+ (*this)[2] = p2;
+ }
+};
+
+template< typename T_ >
+inline Vector3< T_ > operator+(Vector3< T_ > const& lhs, Vector3< T_ > const& rhs)
+{
+ return add( lhs, rhs );
+}
+
+template< typename T_ >
+inline Vector3< T_ > operator-(Vector3< T_ > const& lhs, Vector3< T_ > const& rhs)
+{
+ return subtract( lhs, rhs );
+}
+
+template<typename T_>
+inline Vector3<T_> operator/(Vector3<T_> const& lhs, T_ const& rhs)
+{
+ return divide(lhs, rhs);
+}
+
+template<typename T_>
+inline Vector3<T_> operator*(Vector3<T_> const& lhs, T_ const& rhs)
+{
+ return multiply(lhs, rhs);
+}
+
+template<typename Tstrm_, typename Ttraits_, typename T_>
+inline std::basic_ostream<Tstrm_, Ttraits_>&
+operator<<(std::basic_ostream<Tstrm_, Ttraits_>& strm, const Vector3<T_>& v)
+{
+ strm << std::setprecision(12) << "(" << v[0] << ", " << v[1] << ", " << v[2] << ")";
+ return strm;
+}
+
+template<typename T_>
+struct is_vector<Vector3<T_>, 3>: public boost::mpl::true_ {};
+
+template< typename T_ >
+struct element_type_of< Vector3< T_ > >
+{
+ typedef T_ type;
+};
+
+#if defined(HAVE_TR1_FUNCTIONAL)
+namespace std { namespace tr1 {
+#elif defined(HAVE_STD_HASH)
+namespace std {
+#elif defined(HAVE_BOOST_FUNCTIONAL_HASH_HPP)
+namespace boost {
+#endif
+
+template<typename T_>
+struct hash<Vector3<T_> >
+{
+ typedef Vector3<T_> argument_type;
+
+ std::size_t operator()(argument_type const& val)
+ {
+ return hash<typename argument_type::value_type>()(val[0]) ^
+ hash<typename argument_type::value_type>()(val[1]) ^
+ hash<typename argument_type::value_type>()(val[2]);
+ }
+};
+
+#if defined(HAVE_TR1_FUNCTIONAL)
+} } // namespace std::tr1
+#elif defined(HAVE_STD_HASH)
+} // namespace std
+#elif defined(HAVE_BOOST_FUNCTIONAL_HASH_HPP)
+} // namespace boost
+#endif
+
+#endif /* VECTOR3_HPP */
diff --git a/ecell4/egfrd/legacy/acinclude.m4 b/ecell4/egfrd/legacy/acinclude.m4
new file mode 100644
index 0000000..017d7a1
--- /dev/null
+++ b/ecell4/egfrd/legacy/acinclude.m4
@@ -0,0 +1,142 @@
+
+## this one is commonly used with AM_PATH_PYTHON ...
+dnl AM_CHECK_PYMOD(MODNAME [,SYMBOL [,ACTION-IF-FOUND [,ACTION-IF-NOT-FOUND]]])
+dnl Check if a module containing a given symbol is visible to python.
+AC_DEFUN([AM_CHECK_PYMOD],
+[AC_REQUIRE([AM_PATH_PYTHON])
+py_mod_var=`echo $1['_']$2 | sed 'y%./+-%__p_%'`
+AC_MSG_CHECKING(for ifelse([$2],[],,[$2 in ])python module $1)
+AC_CACHE_VAL(py_cv_mod_$py_mod_var, [
+ifelse([$2],[], [prog="
+import sys
+try:
+ import $1
+except ImportError:
+ sys.exit(1)
+except:
+ sys.exit(0)
+sys.exit(0)"], [prog="
+import $1
+$1.$2"])
+if $PYTHON -c "$prog" 1>&AC_FD_CC 2>&AC_FD_CC
+ then
+ eval "py_cv_mod_$py_mod_var=yes"
+ else
+ eval "py_cv_mod_$py_mod_var=no"
+ fi
+])
+py_val=`eval "echo \`echo '$py_cv_mod_'$py_mod_var\`"`
+if test "x$py_val" != xno; then
+ AC_MSG_RESULT(yes)
+ ifelse([$3], [],, [$3
+])dnl
+else
+ AC_MSG_RESULT(no)
+ ifelse([$4], [],, [$4
+])dnl
+fi
+])
+
+dnl a macro to check for ability to create python extensions
+dnl AM_CHECK_PYTHON_HEADERS([ACTION-IF-POSSIBLE], [ACTION-IF-NOT-POSSIBLE])
+dnl function also defines PYTHON_INCLUDES
+AC_DEFUN([AM_CHECK_PYTHON_HEADERS],
+[AC_REQUIRE([AM_PATH_PYTHON])
+AC_MSG_CHECKING(for headers required to compile python extensions)
+dnl deduce PYTHON_INCLUDES
+py_prefix=`$PYTHON -c "import sys; print sys.prefix"`
+py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"`
+PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}"
+if test "$py_prefix" != "$py_exec_prefix"; then
+ PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}"
+fi
+AC_SUBST(PYTHON_INCLUDES)
+dnl check if the headers exist:
+save_CPPFLAGS="$CPPFLAGS"
+CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES"
+AC_TRY_CPP([#include <Python.h>],dnl
+[AC_MSG_RESULT(found)
+$1],dnl
+[AC_MSG_RESULT(not found)
+$2])
+CPPFLAGS="$save_CPPFLAGS"
+])
+
+dnl numpy package.
+dnl find arrayobject.h.
+dnl
+AC_DEFUN([ECELL_CHECK_NUMPY], [
+ AC_REQUIRE([AM_CHECK_PYTHON_HEADERS])
+
+ AC_ARG_WITH(numpy-includes,
+ AC_HELP_STRING([--with-numpy-includes=DIR],
+ [specify the numpy header location]),
+ [NUMPY_INCLUDE_DIR=$withval],
+ [NUMPY_INCLUDE_DIR=]
+ )
+
+ AC_MSG_CHECKING([for numpy include directory])
+ if test -z "$NUMPY_INCLUDE_DIR"; then
+ if ! NUMPY_INCLUDE_DIR=`$PYTHON -c "import numpy; print numpy.get_include();"`; then
+ py_prefix=`$PYTHON -c "import sys; print sys.prefix"`
+ pydir=python${PYTHON_VERSION}
+ numpy_include="site-packages/numpy/core/include"
+ EXT_GUESS= \
+ "${py_prefix}/Lib/${numpy_include}" \
+ "${py_prefix}/lib/${pydir}/${numpy_include}" \
+ "${py_prefix}/lib64/${pydir}/${numpy_include}" \
+ "/usr/lib/${pydir}/${numpy_include}" \
+ "/usr/lib64/${pydir}/${numpy_include}" \
+ "/usr/local/lib/${pydir}/${numpy_include}" \
+ "/usr/local/lib64/${pydir}/${numpy_include}" \
+ "${prefix}/include" \
+ "/usr/include/${pydir}" \
+ "/usr/local/include" \
+ "/opt/numpy/include"
+ NUMPY_INCLUDE_DIR=""
+ for ac_dir in $EXT_GUESS ; do
+ if test -f ${ac_dir}/numpy/arrayobject.h ; then
+ NUMPY_INCLUDE_DIR=`(cd $ac_dir ; pwd)`
+ fi
+ done
+ fi
+ fi
+ if test -z "${NUMPY_INCLUDE_DIR}"; then
+ AC_MSG_RESULT([not found in ${EXT_GUESS}.])
+ else
+ AC_MSG_RESULT(${NUMPY_INCLUDE_DIR})
+ fi
+ ac_save_CPPFLAGS="${CPPFLAGS}"
+ CPPFLAGS="-I${NUMPY_INCLUDE_DIR} ${PYTHON_INCLUDES}"
+ AC_CHECK_HEADERS([numpy/arrayobject.h], [], [
+ AC_MSG_ERROR([no usable NumPy headers were found. please check the installation of NumPy package.])
+ ], [
+#include <Python.h>
+ ])
+ CPPFLAGS="${ac_save_CPPFLAGS}"
+ AC_SUBST(NUMPY_INCLUDE_DIR)
+])
+
+AC_DEFUN([ECELL_CHECK_NUMPY_ARRAY_DESCR], [
+ AC_MSG_CHECKING([PyArray_Descr has hasobject])
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I${NUMPY_INCLUDE_DIR} ${PYTHON_INCLUDES} $CPPFLAGS"
+ AC_CHECK_MEMBER([PyArray_Descr.hasobject], [
+ AC_DEFINE([PYARRAY_DESCR_HAS_HASOBJECT], [1], [Define to 1 if PyArray_Descr has hasobject field])
+ ], [], [
+#include <Python.h>
+#include <numpy/arrayobject.h>
+])
+ CPPFLAGS="$ac_save_CPPFLAGS"
+])
+
+AC_DEFUN([ECELL_CHECK_LOGGING_MODULE], [
+ AC_MSG_CHECKING([if classes in the Python's logging module is old-fashioned])
+ AC_REQUIRE([AM_PATH_PYTHON])
+ if "$PYTHON" -c "import sys, logging; sys.exit(type(logging.Handler) == type)"; then
+ AC_MSG_RESULT(yes)
+ AC_DEFINE([HAVE_OLD_FASHIONED_LOGGER_CLASSES], [1], [Defined to 1 if Python's logging module is old-fashioned])
+ else
+ AC_MSG_RESULT(no)
+ fi
+])
diff --git a/ecell4/egfrd/legacy/autogen.sh b/ecell4/egfrd/legacy/autogen.sh
new file mode 100755
index 0000000..4f65d4e
--- /dev/null
+++ b/ecell4/egfrd/legacy/autogen.sh
@@ -0,0 +1,63 @@
+#!/bin/sh
+# Run this to generate all the initial makefiles, etc.
+# This was lifted from the Gimp, and adapted slightly by
+# Raph Levien .
+
+DIE=0
+
+PROJECT="brown"
+
+libtoolize=libtoolize
+
+if which glibtoolize >/dev/null 2>&1; then
+ libtoolize=glibtoolize
+fi
+
+(autoconf --version) < /dev/null > /dev/null 2>&1 || {
+ echo
+ echo "You must have autoconf installed to compile $PROJECT."
+ DIE=1
+}
+
+($libtoolize --version) < /dev/null > /dev/null 2>&1 || {
+ echo
+ echo "You must have libtool installed to compile $PROJECT."
+ DIE=1
+}
+
+(automake --version) < /dev/null > /dev/null 2>&1 || {
+ echo
+ echo "You must have automake installed to compile $PROJECT."
+ DIE=1
+}
+
+if test "$DIE" -eq 1; then
+ exit 1
+fi
+
+$libtoolize -c --force --automake
+
+case $CC in
+*xlc | *xlc\ * | *lcc | *lcc\ *) am_opt=--include-deps;;
+esac
+
+for dir in .
+ do
+ echo -n Running autotools for $dir ...
+ (cd $dir; \
+ { echo -n ' aclocal '; aclocal -I m4 ; } && \
+ { echo -n 'autoheader '; autoheader -f ; } && \
+ { echo -n 'automake '; automake --copy --add-missing $am_opt; } && \
+ { echo -n 'autoconf '; autoconf; } && \
+ echo )
+
+ if test $? != 0 ; then
+ echo "Error processing $dir"
+ exit $?
+ fi
+
+done
+
+echo 'Finished running autotools. Run ./configure next.'
+
+
diff --git a/ecell4/egfrd/legacy/bessel.hpp b/ecell4/egfrd/legacy/bessel.hpp
new file mode 100644
index 0000000..a8751a9
--- /dev/null
+++ b/ecell4/egfrd/legacy/bessel.hpp
@@ -0,0 +1,7 @@
+#ifndef __BESSEL_HPP__
+#define __BESSEL_HPP__
+
+void bessjy(double x, double xnu, double *rj, double *ry, double *rjp, double *ryp);
+
+
+#endif /* __BESSEL_HPP__ */
diff --git a/ecell4/egfrd/legacy/configure.ac b/ecell4/egfrd/legacy/configure.ac
new file mode 100644
index 0000000..f27e35c
--- /dev/null
+++ b/ecell4/egfrd/legacy/configure.ac
@@ -0,0 +1,195 @@
+AC_REVISION([$Id$])
+dnl
+dnl
+AC_INIT
+AC_CONFIG_SRCDIR([autogen.sh])
+dnl
+AC_DISABLE_STATIC
+AM_PROG_LIBTOOL
+dnl AC_CONFIG_AUX_DIR()
+dnl
+dnl
+AH_TEMPLATE(HAVE_SINCOS)
+AH_TEMPLATE(HAVE_INLINE)
+dnl
+dnl
+AC_CANONICAL_TARGET([])
+AM_INIT_AUTOMAKE([epdp],[0.3b])
+
+dnl Check pdflatex
+AC_PROG_PDFLATEX()
+
+dnl
+AC_PROG_MAKE_SET
+dnl
+dnl checks for programs
+dnl
+AM_PATH_PYTHON(2.4)
+
+dnl
+dnl
+dnl checks for libraries
+dnl
+dnl
+AX_PATH_GSL([1.11],,AC_MSG_ERROR([could not find required version of GSL.]))
+dnl
+AC_CHECK_LIB(m,exp,,AC_MSG_ERROR([could not find libm.]))
+dnl
+AC_CHECK_LIB(python${PYTHON_VERSION},PySys_GetObject,,AC_MSG_ERROR([could not find libpython.]))
+dnl
+AC_PROG_CXX
+AC_LANG_CPLUSPLUS
+dnl
+dnl
+
+DEBUG=
+AC_ARG_ENABLE([debug],
+ AC_HELP_STRING([--enable-debug],
+ [inhibit any optimization options]),
+ [ DEBUG=1 ]
+)
+
+if test -n "$DEBUG"; then
+ CFLAGS=""
+ CXXFLAGS=""
+ CPPFLAGS="-DDEBUG=1"
+fi
+
+if test "$GXX" = "yes"; then
+ CXXFLAGS="$CXXFLAGS -Wall -Wstrict-aliasing=0 -Wno-invalid-offsetof"
+ CFLAGS="$CFLAGS -Wall"
+fi
+
+AC_SUBST(DEBUG)
+
+CXXFLAGS="$CXXFLAGS -g"
+CFLAGS="$CFLAGS -g"
+
+AX_BOOST_BASE([1.37],,AC_MSG_ERROR([could not find required version of BOOST.]))
+
+CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
+LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
+
+BOOST_PYTHON_LIBNAME=boost_python
+
+AC_ARG_WITH(boost-python-libname,
+ AC_HELP_STRING([--with-boost-python-libname=LIBNAME],
+ [specify the library name of Boost.Python [[boost_python]]]
+ ),
+ [BOOST_PYTHON_LIBNAME=$withval]
+)
+AC_SUBST(BOOST_PYTHON_LIBNAME)
+
+BOOST_REGEX_LIBNAME=boost_regex
+
+AC_ARG_WITH(boost-regex-libname,
+ AC_HELP_STRING([--with-boost-date-time-libname=LIBNAME],
+ [specify the library name of Boost.Python [[boost_regex]]]
+ ),
+ [BOOST_REGEX_LIBNAME=$withval]
+)
+AC_SUBST(BOOST_REGEX_LIBNAME)
+
+dnl
+dnl
+AM_CHECK_PYMOD(numpy,,,[AC_MSG_ERROR([could not find Python numpy module.])])
+AM_CHECK_PYMOD(scipy,,,[AC_MSG_ERROR([could not find Python scipy module.])])
+dnl
+dnl
+dnl
+dnl checks for header files
+dnl
+dnl
+dnl
+ECELL_CHECK_NUMPY
+ECELL_CHECK_NUMPY_ARRAY_DESCR
+ECELL_CHECK_LOGGING_MODULE
+dnl
+AM_CHECK_PYTHON_HEADERS()
+ac_save_CPPFLAGS="$CPPFLAGS"
+CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES"
+AC_CHECK_TYPES([PyBaseExceptionObject],[],[],[
+#include <Python.h>
+#include <pyerrors.h>
+])
+CPPFLAGS="$ac_save_CPPFLAGS"
+AC_CHECK_FUNCS([PyInt_FromSize_t],[],[],[
+#include <Python.h>
+])
+dnl
+dnl
+AC_CHECK_HEADERS([unordered_map boost/unordered_map.hpp boost/functional/hash.hpp])
+AC_CHECK_HEADER([tr1/unordered_map], [
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ AC_MSG_CHECKING([for a stupid bug in tr1/unordered_map])
+ AC_TRY_COMPILE([
+#include <tr1/unordered_map>
+ ], [
+std::tr1::unordered_map<int, int> a, b(a);
+ ], [
+ AC_MSG_RESULT([ok])
+ AC_DEFINE([HAVE_TR1_UNORDERED_MAP], 1, [Define to 1 if you have usable <tr1/unordered_map> header file])
+ ], [
+ AC_MSG_RESULT([buggy])
+ ])
+ AC_LANG_RESTORE
+], [
+ AC_MSG_RESULT([buggy])
+])
+
+AC_CHECK_TYPES([std::hash<int>],[],[],[
+#include <functional>
+])
+AC_CHECK_HEADERS([tr1/functional], [
+ AC_CHECK_TYPES([std::tr1::hash<int>],[],[],[
+#include <tr1/functional>
+ ])
+])
+dnl
+dnl checks for types
+dnl
+dnl
+dnl checks for structures
+dnl
+dnl
+dnl checks for compiler characteristics
+dnl
+dnl
+AC_C_INLINE
+if test "$ac_cv_c_inline" != no ; then
+ AC_DEFINE(HAVE_INLINE,1)
+ AC_SUBST(HAVE_INLINE)
+fi
+dnl
+dnl extract LTDL_SHLIB_EXT
+dnl
+rm -f conftest
+./libtool --config > conftest
+. ./conftest
+rm -f conftest
+dnl
+dnl compatibility for libtool 1.5.6
+LTDL_SHLIB_EXT=""
+if test -n "$shrext_cmds"; then
+ LTDL_SHLIB_EXT=$shrext_cmds
+ AC_SUBST(LTDL_SHLIB_EXT)
+dnl compatibility for libtool 1.5.0
+elif test -n "$shrext"; then
+ LTDL_SHLIB_EXT=$shrext
+ AC_SUBST(LTDL_SHLIB_EXT)
+fi
+dnl
+dnl checks for library functions
+dnl
+AC_CHECK_FUNCS([sincos isfinite])
+AC_CHECK_DECLS([INFINITY, HUGE_VAL],,,[
+#include <math.h>
+])
+dnl
+dnl
+dnl no checks for system services
+dnl
+AC_CONFIG_HEADERS([config.h])
+AC_CONFIG_FILES([Makefile binding/Makefile test/Makefile doc/Makefile samples/benchmark/Makefile])
+AC_OUTPUT([])
diff --git a/ecell4/egfrd/legacy/doc/Makefile.am b/ecell4/egfrd/legacy/doc/Makefile.am
new file mode 100644
index 0000000..091794b
--- /dev/null
+++ b/ecell4/egfrd/legacy/doc/Makefile.am
@@ -0,0 +1,30 @@
+
+# BUILT
+if HAVE_PDFLATEX
+# Automake manual 18.2 Handling new file extensions
+.tex.pdf:
+ pdflatex $<
+
+# Compile and install; do not distribute.
+pdf_DATA = \
+ implementation_notes.pdf\
+ p1_fp.pdf
+endif
+
+
+# INSTALL
+# Install and distribute.
+nobase_dist_doc_DATA = \
+ testing.txt\
+ math/*
+
+
+# DIST
+# Distribute; do not install.
+EXTRA_DIST = *.tex
+
+
+# CLEAN
+clean-local:
+ rm -f *.log *.aux *.pdf
+
diff --git a/ecell4/egfrd/legacy/doc/implementation_notes.tex b/ecell4/egfrd/legacy/doc/implementation_notes.tex
new file mode 100644
index 0000000..52177f8
--- /dev/null
+++ b/ecell4/egfrd/legacy/doc/implementation_notes.tex
@@ -0,0 +1,382 @@
+\documentclass[english]{article}
+
+
+\begin{document}
+
+\title{Enhanced Green's Function Reaction Dynamics Implementation Notes}
+
+
+\author{Koichi Takahashi}
+
+\maketitle
+
+\section*{Definitions}
+
+
+\subsection*{Conventions}
+
+\begin{itemize}
+\item Units are in SI MKS unless otherwise noted.
+\end{itemize}
+
+\subsection*{Symbols}
+
+\begin{description}
+\item [{$D$}] a translational diffusion coefficient.
+\item [{$a$}] a radius of the protective sphere.
+\item [{$e$}] the base of natural logarithm.
+\item [{$t$}] time.
+\item [{$r$}] a distance from the origin.
+\item [{$r_{0}$}] an initial distance of the particle from the origin.
+\item [{$\mathbf{r}$}] a position in Cartesian coordinates.
+\item [{$\mathbf{r_{0}}$}] an initial position in Cartesian coordinates
+\item [{\textmd{$\vartheta_{i}$}}] Jacobi theta function as defined in
+\emph{Abramowitz and Stegun}.
+\item [{$\mathcal{U}$}] a unit uniform random variable.
+\end{description}
+
+\subsection*{Terminology}
+
+\begin{description}
+\item[Distance (between objects)] Distance between positions of two
+ objects in space.
+\item[Gap (between objects)] Smallest distance between surfaces of two objects.
+\item[Protective Sphere / Domain / Shell] Excluive region for an object.
+\item[Mobility radius (of an object)] The maximum displacement an
+ object can make within its protective sphere.
+
+\end{description}
+
+
+
+\section{Green's functions}
+
+
+\subsection{Free Single}
+
+Cartesian form:
+
+\begin{equation}
+p(\mathbf{r},t)=
+\frac{1}{(4\pi Dt)^{\frac{3}{2}}}e^{-\frac{|\mathbf{r}|^{2}}{4Dt}}.
+\end{equation}
+
+
+In spherical coordinates:
+
+\begin{equation}
+ p(r,t|r_{0},t_{0}=0)=
+ \frac{1}{(4\pi Dt)^{\frac{3}{2}}}
+ e^{-\frac{r^{2}+r_{0}^{2}-2rr_{0}\cos(\theta)}
+ {4Dt}}.
+\end{equation}
+
+
+\subsubsection{Survival probability}
+
+\begin{equation}
+S(t)=1.
+\end{equation}
+
+
+\subsubsection{Sampling $r$}
+
+\begin{equation}
+\mathrm{erf}\left(\frac{r}{2 \sqrt{Dt}}\right)
+- \frac{e^{-\frac{r^2}{4 D t}} r}{\sqrt{\pi D t}}
+\end{equation}
+
+
+\subsubsection{Sampling $\theta$}
+
+
+\subsection{Single with an absorbing sphere}
+
+We find the following in section 14.7 of C\&J (eq. 17 in page 366),
+that is for the sphere $0 \geq r>a$ with an absorbing surface and
+an unit instantaneous spherical surface source at $r=r_{0},t=0$;
+
+\begin{equation}
+\frac{1}{2\pi arr_{0}}\sum_{n=1}^{\infty}e^{-\frac{Dn^{2}\pi^{2}t}{a^{2}}}\sin\frac{n\pi r}{a}\sin\frac{n\pi r_{0}}{a}.\end{equation}
+
+
+The initial condition with a Dirac delta $\delta(r,t)$ corresponds to
+taking the limit $r_{0}\rightarrow0$. Using
+\begin{equation}
+ \lim_{r_{0}\rightarrow0}\left(\frac{a}{n\pi r_{0}}\sin\frac{n\pi
+ r_{0}}{a}\right)=1,
+\end{equation}
+ we obtain the desired Green's function
+ \begin{equation}
+ p_{1}(r,t)=\frac{1}{2a^{2}r}\sum_{n=1}^{\infty}n\, e^{-\frac{Dn^{2}\pi^{2}t}{a^{2}}}\sin\frac{n\pi r}{a}.
+ \end{equation}
+
+
+A conceptually identical equation can be found in eq (3.12) in \textit{Kalos
+and Verlet 1974}. See also 9.3 (3) and (19) in C\&J.
+
+Note the Jacobian in terms of $r$, $4\pi r^{2}$.
+
+
+\subsubsection{Survival probability}
+
+We want to calculate \begin{equation}
+S(t)=\int_{0}^{a}4\pi r^{2}p_{1}(r,t)dr.\end{equation}
+
+
+We get \begin{equation}
+S(t)=-2\sum_{n=1}^{\infty}(-1)^{n}e^{-\frac{Dn^{2}\pi^{2}t}{a^{2}}}.\end{equation}
+
+
+Numerically, this series is not a good behaving one and does not converge
+well. Using the fact that \begin{equation}
+\sum_{n=1}^{\infty}(-1)^{(n-1)}e^{-n^{2}w}=\frac{1}{2}(1-\vartheta_{4}(0,e^{-w})),\end{equation}
+ where $\vartheta$ is Jacobi's theta, we rewrite $S(t)$ as \begin{equation}
+S(t)=1-\vartheta_{4}(0,e^{-\frac{D\pi^{2}t}{a^{2}}}).\end{equation}
+ Then we can efficiently evaluate this function through a product
+representation \begin{equation}
+\vartheta_{4}(0,q)=\prod_{n=1}^{\infty}(1-q^{2n})(1-q^{(2n-1)})^{2}.\end{equation}
+
+
+
+\subsubsection{Sampling $r$}
+
+Unless we are somehow able to obtain an inverse function, one simple
+but not awfully efficient way to sample $r$ is to use another integral
+of $p_{1}(r,t)$, \begin{equation}
+\int_{0}^{r'}4\pi r^{2}p_{1}(r,t)dr=\frac{2}{a\pi}\sum_{n=1}^{\infty}\frac{e^{-\frac{Dn^{2}\pi^{2}t}{a^{2}}}\left(a\sin\frac{n\pi r'}{a}-n\pi r'\cos\frac{n\pi r'}{a}\right)}{n}.\end{equation}
+
+
+Using this, and eq. (6), with nonlinear programming, we find $r'$
+so that
+\begin{equation}
+ \mathcal{U}-\frac{\int_{0}^{r'}4\pi r^{2}p_{1}(r,t)dr}{S(t)}=0,
+\end{equation}
+ where $\mathcal{U}$ is a unit uniform random number.
+
+
+\section{Main algorithm}
+
+The main part of the implementation of EGFRD algorithm is described
+in this section. Here I avoided details and concentrated on basic
+concepts, flows and schemes that should be useful to understand
+the implementation.
+
+\subsection{Classes}
+
+\subsubsection{Species}
+
+\paragraph{Properties}
+
+\begin{itemize}
+\item[radius] the radius of a particle of this Species in [$m$].
+\item[D] the diffusion coefficient of particles of this Species in [$m^2/s$].
+\end{itemize}
+
+\subsubsection{Particle}
+
+\paragraph{Properties}
+
+\begin{itemize}
+\item[pos] the position of this Particle.
+\item[species] the Species this Particle belongs to.
+\end{itemize}
+
+\subsubsection{Single}
+
+\paragraph{Properties}
+
+\begin{itemize}
+\item[eventType] the time of the next event, either SINGLE\_REACTION or
+ SINGLE\_ESCAPE.
+\item[dt] the time to the next event from the lastTime.
+\item[lastTime] the last time this Single was updated.
+\item[mobilityRadius] $shellSize - particle.radius$. This
+ indicates the maximum displacement the particle can make within the
+ shell.
+\item[particle] the particle that this Single represents.
+\item[pos] the position of this Single defined as the position of the
+ particle.
+\item[shellSize] the shell size of this Single.
+
+
+\end{itemize}
+
+\paragraph{Methods}
+
+\begin{itemize}
+\item[burst( t )] This method updates the position of the particle at
+ time $t$.
+ \begin{enumerate}
+ \item[precondition] $lastTime <= t <= lastTime + dt$.
+
+ \item draw $r$ from the Greens Function (which one?).
+
+ \item propagate( r, t )
+ \end{enumerate}
+
+\item[determineNextEvent()] This method updates dt and eventType of
+ this Single.
+
+%\item[displace( r )] This method displaces the particle to a random
+% point on the spherical surface of distance r from the original
+% position.
+
+\item[propagate( r, t )] This method displaces the particle to a
+ random point on the spherical surface of distance r from the
+ original position, set lastTime to t, then reset the shell size to
+ the radius of the particle, dt to zero, and eventType to SINGLE\_ESCAPE.
+
+\end{itemize}
+
+\subsubsection{Pair}
+
+\paragraph{Properties}
+
+\begin{itemize}
+\item[CoM] Center-of-Mass
+ $= ( \frac{\sqrt{D2}}{\sqrt{D1}} * single1.pos +
+ \frac{\sqrt{D1}}{\sqrt{D2}} * single2.pos ) / (
+ \frac{\sqrt{D2}}{\sqrt{D1}}+\frac{\sqrt{D1}}{\sqrt{D2}})$
+
+\item[D\_tot] Total of the diffusion constants of the pair of particles.
+ $single1.particle.D + single2.particle.D$
+
+\item[D\_geom] Geometric mean of the diffusion constants of the pair of
+ particles. $\sqrt{ single1.particle.D \cdot single2.particle.D}$.
+ This defines the diffusion constant of the CoM $D_{CoM}$
+
+
+\item[single1, single2] the pair of singles this Pair is responsible for.
+
+\item[eventType] the type of the next event, one of SINGLE\_REACTION,
+ IV\_REACTION, IV\_ESCAPE, or COM\_ESCAPE.
+
+\item[lastTime] the last time this Pair was updated.
+
+\item[dt] the time to the next event from the lastTime.
+
+\item[shellSize] the shell size of this Pair.
+
+\end{itemize}
+
+\paragraph{Methods}
+
+\begin{itemize}
+\item
+\end{itemize}
+
+
+\subsection{Pair implementation}
+
+\subsubsection{Determining Next Event}
+
+\paragraph{Determining $a_r$ and $a_R$}
+
+Here we have some degrees of freedom in Pair parameters, such as how
+to determine the ratio between $a_r$ and $a_R$ given certain size of
+the shell. The objective here is to maximize the probability for the
+pair to react, not to escape either through the protective shells of
+the CoM or the inter-particle vector. If the pair is non-reactive, on
+the other hand, we want to maximize the time to escape by setting
+these two parameters. To do a perfect job here can be as hard as
+solving some equations involving the Green's functions analytically.
+However, the empirical strategy described below works reasonably
+good in most cases.
+
+We want to equalize the expected mean time for the CoM to escape
+through $a_R$ and for the inter-particle vector to escape through
+$a_r$. To keep the problem handy, here we ignore the boundary
+at $\sigma$. Then, we can expect that the mean time for the CoM
+and the inter-particle vector to arrive at the absorbing shell
+are
+
+\begin{eqnarray}
+ \Delta t_r &=& \frac{a^{\{A,B\}}_r - r^{\{A,B\}}_0 - \sigma^{\{A,B\}}}
+ {\sqrt{D_{tot}}},\\
+ \Delta t_R &=& \frac{a_R}{\sqrt{D_{CoM}}},
+\end{eqnarray}
+respectively, where ${\{A,B\}}$ is either $A$ or $B$, depending on which
+one of the particles define the protective shell.
+
+
+Use the following to set $a_R$ and $a_r$
+
+\begin{eqnarray}
+ a_R &=& \frac{\sqrt{D_{CoM}}
+ (D_A ( a - r_0 - \sigma_A ) + D_B (a - \sigma_A))}
+ {(D_A {D_B}^5)^{1/4} + D_A( \sqrt{D_{CoM}} + \sqrt{D_{tot}})}, \\
+ a_r &=& \frac{D_{tot}
+ (\sqrt{D_{CoM}} r_0 + \sqrt{D_{tot}} (a - \sigma_A))}
+ {(D_A {D_B}^5)^{1/4} + D_A( \sqrt{D_{CoM}} + \sqrt{D_{tot}})},
+\end{eqnarray}
+when
+\begin{math}
+ ( D_A = D_B \wedge \sigma_A > \sigma_B ) \ \vee \ \\
+ \left ( ( D_A > D_B ) \wedge a_r > a_{thr} \right ) \ \vee \
+ \left ( ( D_A < D_B ) \wedge a_r < a_{thr} \right ), \\
+ a_{thr} = \frac{( D_A + D_B ) (\sigma_B - \sigma_A)}{D_A - D_B},
+\end{math}
+that means the particle $A$ defines the Pair shell. Otherwise,
+\begin{eqnarray}
+ a_R &=& \frac{\sqrt{D_{CoM}}
+ (D_B ( a - r_0 - \sigma_B ) + D_A (a - \sigma_B))}
+ {({D_A}^5 D_B)^{1/4} + D_B( \sqrt{D_{CoM}} + \sqrt{D_{tot}})}, \\
+ a_r &=& \frac{D_{tot}
+ (\sqrt{D_{CoM}} r_0 + \sqrt{D_{tot}} (a - \sigma_B))}
+ {({D_A}^5 D_B)^{1/4} + D_B( \sqrt{D_{CoM}} + \sqrt{D_{tot}})},
+\end{eqnarray}
+
+When $D_A = D_B \wedge \sigma_A = \sigma_B$, the choice of shell-defining particle
+doesn't make any difference.
+
+
+
+
+
+
+
+
+\subsection{Handling the Squeezing Conditions}
+
+When two particles are very close to each other, a Pair must be formed
+to advance time. However, the distance from the center-of-mass of the
+Pair to the closest neighbor of this pair of particles is very close
+to or is less than the minimum mobility radius of the pair, the Pair
+can no longer hold, and the couple of particles is said to be 'squeezed'
+by the closest neighbor of the Pair.
+
+(FIXME: a figure here)
+
+There are three types of methods in avoiding and handling the squeezing
+conditions.
+
+\begin{enumerate}
+\item To avoid (or minimize the possibility of) squeezing in the first place.
+
+\item To recover from a squeezing condition by displacing one or more
+ particles in some arbitrary methods.
+
+\item To allow squeezing to happen under some controlled conditions,
+ watch influenced objects, and, when necessary, intervene the
+ physical simulation in order to protect consistency of the simulator
+ until the squeezing condition is dissolved.
+\end{enumerate}
+
+It is unclear if methods of type (1) that can avoid squeezing to
+happen completely can be possible, thus this type of method shall be used in
+conjunction with either (2) 'recovery' methods or (3) 'allow and
+watch' methods.
+
+Here I describe a type of 'allow and watch' methods that is included
+in the implementation.
+
+
+
+\subsection{Subvolumes and Cyclic Boundaries}
+
+
+
+
+
+\end{document}
diff --git a/ecell4/egfrd/legacy/doc/math/Pair2D.nb b/ecell4/egfrd/legacy/doc/math/Pair2D.nb
new file mode 100644
index 0000000..bc57dab
--- /dev/null
+++ b/ecell4/egfrd/legacy/doc/math/Pair2D.nb
@@ -0,0 +1,4923 @@
+(* Content-type: application/mathematica *)
+
+(*** Wolfram Notebook File ***)
+(* http://www.wolfram.com/nb *)
+
+(* CreatedBy='Mathematica 7.0' *)
+
+(*CacheID: 234*)
+(* Internal cache information:
+NotebookFileLineBreakTest
+NotebookFileLineBreakTest
+NotebookDataPosition[ 145, 7]
+NotebookDataLength[ 157458, 4914]
+NotebookOptionsPosition[ 151602, 4717]
+NotebookOutlinePosition[ 152159, 4737]
+CellTagsIndexPosition[ 152116, 4734]
+WindowFrame->Normal*)
+
+(* Beginning of Notebook Content *)
+Notebook[{
+Cell[BoxData[
+ RowBox[{"(*",
+ RowBox[{"Define", " ", "functions"}], "*)"}]], "Input",
+ CellChangeTimes->{{3.464996520987191*^9, 3.4649965322393007`*^9}, {
+ 3.4649965625973997`*^9, 3.464996635351671*^9}, {3.46500914340935*^9,
+ 3.46500914677929*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"urr0", "[",
+ RowBox[{"n_", ",", "r_"}], "]"}], ":=",
+ RowBox[{
+ RowBox[{"1", "/",
+ RowBox[{"(",
+ RowBox[{"2", " ", "Pi", " ", "k"}], ")"}]}], " ", "e", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r0"}]}], "]"}], " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r"}]}], "]"}]}]}]], "Input"],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"ur0r", "[",
+ RowBox[{"n_", ",", "r_"}], "]"}], ":=",
+ RowBox[{
+ RowBox[{"1", "/",
+ RowBox[{"(",
+ RowBox[{"2", " ", "Pi", " ", "k"}], ")"}]}], " ", "e", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r"}]}], "]"}], " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r0"}]}], "]"}]}]}]], "Input",
+ CellChangeTimes->{{3.464996644305251*^9, 3.464996669389474*^9}, {
+ 3.464996789649354*^9, 3.464996792949348*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"General", "::", "\<\"spell1\"\>"}],
+ RowBox[{
+ ":", " "}], "\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"\:30b9\:30da\:30eb\:9593\
+\:9055\:3044\:306e\:53ef\:80fd\:6027\:304c\:3042\:308a\:307e\:3059\:ff0e\:65b0\
+\:898f\:30b7\:30f3\:30dc\:30eb\\\\\\\\\\\\\\\"\\\\\\\"\\\", \\\"MT\\\"]\\)\
+\[NoBreak]\\!\\(\\*StyleBox[\\!\\(ur0r\\), \
+\\\"MT\\\"]\\)\[NoBreak]\\!\\(\\*StyleBox[\\\"\\\\\\\"\\\\\\\\\\\\\\\"\:306f\
+\:3059\:3067\:306b\:3042\:308b\:30b7\:30f3\:30dc\:30eb\\\\\\\\\\\\\\\"\\\\\\\"\
+\\\", \\\"MT\\\"]\\)\[NoBreak]\\!\\(\\*StyleBox[\\!\\(urr0\\), \\\"MT\\\"]\\)\
+\[NoBreak]\\!\\(\\*StyleBox[\\\"\\\\\\\"\\\\\\\\\\\\\\\"\:306b\:4f3c\:3066\
+\:3044\:307e\:3059\:ff0e\\\\\\\"\\\", \\\"MT\\\"]\\) \\!\\(\\*ButtonBox[\\\"\
+\[RightSkeleton]\\\", ButtonStyle->\\\"Link\\\", ButtonFrame->None, \
+ButtonData:>\\\"paclet:ref/message/General/spell1\\\", ButtonNote -> \
+\\\"General::spell1\\\"]\\)\"\>"}]], "Message", "MSG",
+ CellChangeTimes->{3.4650284519954567`*^9}]
+}, Open ]],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"wi", "[",
+ RowBox[{"n_", ",", "r_"}], "]"}], ":=",
+ RowBox[{
+ RowBox[{"1", "/",
+ RowBox[{"(",
+ RowBox[{"2", " ", "Pi", " ", "k"}], ")"}]}],
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"An", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r"}]}], "]"}]}], "+",
+ RowBox[{"Bn", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r"}]}], "]"}]}]}], ")"}]}]}]], "Input",
+ CellChangeTimes->{{3.4649968036992607`*^9, 3.464996841299477*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"bess", "=",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "1"}], "+", "n"}], ",", "z_"}], "]"}], "\[Rule]",
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",", "z"}], "]"}], "+",
+ RowBox[{"2", " ",
+ RowBox[{"n", "/", "z"}], " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",", "z"}], "]"}]}]}]}], ",",
+ RowBox[{
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "1"}], "+", "n"}], ",", "z_"}], "]"}], "\[Rule]",
+ RowBox[{
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",", "z"}], "]"}], "-",
+ RowBox[{"2", " ",
+ RowBox[{"n", "/", "z"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",", "z"}], "]"}]}]}]}]}], "}"}]}]], "Input",
+ CellChangeTimes->{{3.46502869963933*^9, 3.4650287069902687`*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "1"}], "+", "n"}], ",", "z_"}], "]"}], "\[Rule]",
+ RowBox[{
+ FractionBox[
+ RowBox[{"2", " ", "n", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",", "z"}], "]"}]}], "z"], "+",
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",", "z"}], "]"}]}]}], ",",
+ RowBox[{
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "1"}], "+", "n"}], ",", "z_"}], "]"}], "\[Rule]",
+ RowBox[{
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"2", " ", "n", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",", "z"}], "]"}]}], "z"]}], "+",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",", "z"}], "]"}]}]}]}], "}"}]], "Output",
+ CellChangeTimes->{3.465028736101714*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"der", "[", "s_", "]"}], "=",
+ RowBox[{"FullSimplify", "[",
+ RowBox[{
+ RowBox[{"D", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"wi", "[",
+ RowBox[{"n", ",", "s"}], "]"}], "+",
+ RowBox[{"urr0", "[",
+ RowBox[{"n", ",", "s"}], "]"}]}], ",", "s"}], "]"}], "/.", "bess"}],
+ "]"}]}]], "Input",
+ CellChangeTimes->{{3.4650273394292383`*^9, 3.465027340489285*^9}, {
+ 3.465027616058898*^9, 3.465027735079214*^9}, {3.4650278758068953`*^9,
+ 3.465027912149527*^9}, {3.465028295309252*^9, 3.4650282964830103`*^9}, {
+ 3.465028715389406*^9, 3.4650287178936663`*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ FractionBox["1",
+ RowBox[{"2", " ", "k", " ", "\[Pi]", " ", "s"}]],
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"n", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{"An", "+",
+ RowBox[{"e", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r0"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{"An", "+",
+ RowBox[{"e", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r0"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{"Bn", " ", "n", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "-",
+ RowBox[{"Bn", " ", "q", " ", "s", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}]}], ")"}]}]], "Output",
+ CellChangeTimes->{
+ 3.465027627363399*^9, 3.4650277385075817`*^9, {3.465027887872402*^9,
+ 3.465027912946643*^9}, 3.4650282987751627`*^9, 3.465028459601646*^9, {
+ 3.465028729967141*^9, 3.465028742436324*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"{", "solution", "}"}], "=",
+ RowBox[{"FullSimplify", "[",
+ RowBox[{"Solve", "[",
+ RowBox[{
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"der", "[", "s", "]"}], "\[Equal]",
+ RowBox[{"h",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"wi", "[",
+ RowBox[{"n", ",", "s"}], "]"}], "+",
+ RowBox[{"urr0", "[",
+ RowBox[{"n", ",", "s"}], "]"}]}], ")"}]}]}], ",",
+ RowBox[{
+ RowBox[{
+ RowBox[{"wi", "[",
+ RowBox[{"n", ",", "a"}], "]"}], "+",
+ RowBox[{"ur0r", "[",
+ RowBox[{"n", ",", "a"}], "]"}]}], "==", "0"}]}], "}"}], ",",
+ RowBox[{"{",
+ RowBox[{"An", ",", "Bn"}], "}"}]}], "]"}], "]"}]}]], "Input",
+ CellChangeTimes->{{3.46499696421952*^9, 3.464997037572978*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"An", "\[Rule]",
+ RowBox[{"-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"e", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r0"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r0"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r0"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}]}], ")"}]}]}], ")"}]}],
+ ")"}], "/",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}]}], ")"}]}]}], ")"}]}]}]}],
+ ",",
+ RowBox[{"Bn", "\[Rule]",
+ RowBox[{"-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"e", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r0"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}]}], "-",
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r0"}]}], "]"}]}]}], ")"}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}]}], ")"}]}]}], ")"}]}]}]}]}],
+ "}"}], "}"}]], "Output",
+ CellChangeTimes->{3.465028397984737*^9, 3.465028473367322*^9,
+ 3.465028769108425*^9}]
+}, Open ]],
+
+Cell[BoxData[
+ RowBox[{"(*",
+ RowBox[{
+ RowBox[{"The", " ", "solution", " ", "is"}], ",", " ",
+ RowBox[{"at", " ", "fixed", " ", "n"}]}], "*)"}]], "Input",
+ CellChangeTimes->{{3.465003732609207*^9, 3.465003746839182*^9}, {
+ 3.465009150429286*^9, 3.4650091531792088`*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"solutionn", "=",
+ RowBox[{"FullSimplify", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"wi", "[",
+ RowBox[{"n", ",", "r"}], "]"}], "/.", "solution"}], ",",
+ RowBox[{
+ RowBox[{"{",
+ RowBox[{"r", ">", "0"}], "}"}], "&&",
+ RowBox[{"{",
+ RowBox[{"a", ">", "0"}], "}"}], "&&",
+ RowBox[{"{",
+ RowBox[{"r0", ">", "0"}], "}"}], "&&",
+ RowBox[{"{",
+ RowBox[{"n", "\[Element]", "Integers"}], "}"}], "&&",
+ RowBox[{"{",
+ RowBox[{"n", "\[GreaterEqual]", "0"}], "}"}]}]}], "]"}]}]], "Input",
+ CellChangeTimes->{{3.465003765809223*^9, 3.465003847119248*^9}, {
+ 3.465011080569249*^9, 3.465011104759265*^9}, {3.465011162291977*^9,
+ 3.465011174249423*^9}}],
+
+Cell[BoxData[
+ RowBox[{"-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"e", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}]}], "-",
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r0"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r0"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}]}], ")"}]}]}], ")"}]}]}],
+ ")"}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"2", " ", "k", " ", "\[Pi]", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}]}], ")"}]}]}], ")"}]}],
+ ")"}]}]}]], "Output",
+ CellChangeTimes->{3.46500382139851*^9, 3.4650038814411097`*^9,
+ 3.4650093756336412`*^9, 3.46501121407939*^9, 3.465027800196801*^9,
+ 3.465027964914584*^9, 3.46502830438936*^9, 3.465028503292445*^9,
+ 3.465028772992305*^9}]
+}, Open ]],
+
+Cell[BoxData[
+ RowBox[{"(*",
+ RowBox[{
+ "This", " ", "solution", " ", "has", " ", "poles", " ", "at", " ", "the",
+ " ", "zeros", " ", "of"}], "*)"}]], "Input",
+ CellChangeTimes->{{3.465003927869266*^9, 3.465003936161063*^9}, {
+ 3.465009157149685*^9, 3.4650091590191936`*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"equationk", " ", "=", " ",
+ RowBox[{"Simplify", "[", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}]}], ")"}]}]}], ")"}],
+ "]"}]}]], "Input",
+ CellChangeTimes->{{3.4650039383492327`*^9, 3.4650039806631107`*^9}, {
+ 3.465027977259346*^9, 3.4650279953698893`*^9}, {3.465028514469204*^9,
+ 3.4650285357996073`*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}]}], ")"}]}]}]], "Output",
+ CellChangeTimes->{
+ 3.465003975425762*^9, 3.465009376777582*^9, {3.4650279788718452`*^9,
+ 3.465027996536384*^9}, {3.4650285161414423`*^9, 3.465028536901491*^9},
+ 3.4650287766923933`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"tmpnum", "=",
+ RowBox[{"-",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}]}], "-",
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r0"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r0"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}]}], ")"}]}]}], ")"}]}]}],
+ ")"}]}]}]], "Input",
+ CellChangeTimes->{{3.465008989696829*^9, 3.465009054529223*^9}, {
+ 3.465009174913804*^9, 3.465009184609563*^9}, {3.465009244731144*^9,
+ 3.465009246299309*^9}, {3.465010915209323*^9, 3.465010931549279*^9}, {
+ 3.465012121668621*^9, 3.465012123799354*^9}, {3.465028024332992*^9,
+ 3.465028049609239*^9}, {3.465028568893333*^9, 3.4650285763492613`*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}]}], ")"}]}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}]}], "-",
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r0"}]}], "]"}]}], "-",
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r0"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}]}], ")"}]}]}],
+ ")"}]}]}]], "Output",
+ CellChangeTimes->{3.465028050652946*^9, 3.465028577685164*^9,
+ 3.465028780953032*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"solute", "=",
+ RowBox[{"e", " ",
+ RowBox[{"tmpnum", "/",
+ RowBox[{"(",
+ RowBox[{"2", " ", "k", " ", "Pi", " ", "equationk"}],
+ ")"}]}]}]}]], "Input",
+ CellChangeTimes->{{3.465004052709672*^9, 3.4650040812191973`*^9}, {
+ 3.465028060495475*^9, 3.4650280826713963`*^9}, {3.4650281586492043`*^9,
+ 3.465028212762974*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"e", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}]}], ")"}]}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}]}], "-",
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r0"}]}], "]"}]}], "-",
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r0"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}]}], ")"}]}]}], ")"}]}]}],
+ ")"}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"2", " ", "k", " ", "\[Pi]", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}]}], ")"}]}]}], ")"}]}],
+ ")"}]}]], "Output",
+ CellChangeTimes->{{3.465028064407044*^9, 3.4650280787571*^9}, {
+ 3.465028155697752*^9, 3.465028213677059*^9}, 3.465028586657688*^9,
+ 3.465028783586874*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"Simplify", "[",
+ RowBox[{"solute", "-", "solutionn"}], "]"}]], "Input",
+ CellChangeTimes->{{3.465028592231159*^9, 3.46502859834061*^9}}],
+
+Cell[BoxData["0"], "Output",
+ CellChangeTimes->{3.4650285993005238`*^9, 3.4650287864013147`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"{", "solun", "}"}], "=",
+ RowBox[{"Solve", "[",
+ RowBox[{
+ RowBox[{"equationk", "\[Equal]", "0"}], ",",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}]}], "]"}]}]], "Input",
+ CellChangeTimes->{{3.4650041604492893`*^9, 3.465004178771497*^9}, {
+ 3.4650062356693773`*^9, 3.465006242369338*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}], "\[Rule]",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"n", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}]}], "-",
+ RowBox[{"h", " ", "s", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}]}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"n", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "-",
+ RowBox[{"h", " ", "s", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "-",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}]}], ")"}]}]}], "}"}],
+ "}"}]], "Output",
+ CellChangeTimes->{3.465004180231718*^9, 3.465006243382094*^9,
+ 3.4650093795366783`*^9, 3.465028234241942*^9, 3.4650286044154243`*^9,
+ 3.4650287971533623`*^9}]
+}, Open ]],
+
+Cell[BoxData[
+ RowBox[{"(*",
+ RowBox[{
+ "The", " ", "residues", " ", "for", " ", "this", " ", "integration", " ",
+ "are"}], "*)"}]], "Input",
+ CellChangeTimes->{{3.465004266780231*^9, 3.4650042723792133`*^9}, {
+ 3.465009419569323*^9, 3.465009422049334*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"numerator", "=",
+ RowBox[{"Simplify", "[",
+ RowBox[{"Together", "[",
+ RowBox[{"tmpnum", "/.", "solun"}], "]"}], "]"}]}]], "Input",
+ CellChangeTimes->{{3.465012245209152*^9, 3.465012258759203*^9}, {
+ 3.465012320279203*^9, 3.465012392512993*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}]}], ")"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r0"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r0"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r0"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}]}], ")"}]}]}], ")"}]}], ")"}],
+ "/",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "-",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}]}], ")"}]}]], "Output",
+ CellChangeTimes->{{3.4650122507182837`*^9, 3.465012260093822*^9}, {
+ 3.4650123398774233`*^9, 3.465012361075692*^9}, 3.465012393305582*^9,
+ 3.465028247870327*^9, 3.46502861734231*^9, 3.4650288034027653`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"Dequationk", "=",
+ RowBox[{"Simplify", "[",
+ RowBox[{
+ RowBox[{"FullSimplify", "[",
+ RowBox[{"D", "[",
+ RowBox[{"equationk", ",", "q"}], "]"}], "]"}], "/.", "bess"}],
+ "]"}]}]], "Input",
+ CellChangeTimes->{{3.4650041953992653`*^9, 3.465004201239246*^9}, {
+ 3.4650061477727423`*^9, 3.465006159099184*^9}, {3.46502882249936*^9,
+ 3.4650288508032007`*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ FractionBox["1", "q"],
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "2"}], " ",
+ SuperscriptBox["n", "2"], " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "+",
+ RowBox[{"2", " ", "h", " ", "n", " ", "s", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "-",
+ RowBox[{
+ SuperscriptBox["q", "2"], " ",
+ SuperscriptBox["s", "2"], " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "-",
+ RowBox[{"a", " ", "n", " ", "q", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"a", " ", "q"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "+",
+ RowBox[{"a", " ", "h", " ", "q", " ", "s", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"a", " ", "q"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "-",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}]}], "+",
+ RowBox[{"a", " ", "q", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"a", " ", "q"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"2", " ",
+ SuperscriptBox["n", "2"]}], "-",
+ RowBox[{"2", " ", "h", " ", "n", " ", "s"}], "+",
+ RowBox[{
+ SuperscriptBox["q", "2"], " ",
+ SuperscriptBox["s", "2"]}]}], ")"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}]}], "+",
+ RowBox[{"a", " ", "q", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"a", " ", "q"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{"n", " ", "q", " ", "s", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "-",
+ RowBox[{"h", " ", "q", " ",
+ SuperscriptBox["s", "2"], " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "+",
+ RowBox[{"a", " ",
+ SuperscriptBox["q", "2"], " ", "s", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"a", " ", "q"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}]}], ")"}]}]], "Output",
+ CellChangeTimes->{
+ 3.465006160685314*^9, 3.465009389744376*^9, 3.465028670633984*^9, {
+ 3.465028811860956*^9, 3.465028852317011*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"denominator", "=",
+ RowBox[{"FullSimplify", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/",
+ RowBox[{"(",
+ RowBox[{"2", " ", "q", " ", "k"}], ")"}]}], " ", "Dequationk"}], "/.",
+ "solun"}], "]"}]}]], "Input",
+ CellChangeTimes->{{3.465006170619351*^9, 3.465006283559177*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"General", "::", "\<\"spell1\"\>"}],
+ RowBox[{
+ ":", " "}], "\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"\:30b9\:30da\:30eb\:9593\
+\:9055\:3044\:306e\:53ef\:80fd\:6027\:304c\:3042\:308a\:307e\:3059\:ff0e\:65b0\
+\:898f\:30b7\:30f3\:30dc\:30eb\\\\\\\\\\\\\\\"\\\\\\\"\\\", \\\"MT\\\"]\\)\
+\[NoBreak]\\!\\(\\*StyleBox[\\!\\(denominator\\), \\\"MT\\\"]\\)\[NoBreak]\\!\
+\\(\\*StyleBox[\\\"\\\\\\\"\\\\\\\\\\\\\\\"\:306f\:3059\:3067\:306b\:3042\
+\:308b\:30b7\:30f3\:30dc\:30eb\\\\\\\\\\\\\\\"\\\\\\\"\\\", \\\"MT\\\"]\\)\
+\[NoBreak]\\!\\(\\*StyleBox[\\!\\(Denominator\\), \\\"MT\\\"]\\)\[NoBreak]\\!\
+\\(\\*StyleBox[\\\"\\\\\\\"\\\\\\\\\\\\\\\"\:306b\:4f3c\:3066\:3044\:307e\
+\:3059\:ff0e\\\\\\\"\\\", \\\"MT\\\"]\\) \\!\\(\\*ButtonBox[\\\"\
+\[RightSkeleton]\\\", ButtonStyle->\\\"Link\\\", ButtonFrame->None, \
+ButtonData:>\\\"paclet:ref/message/General/spell1\\\", ButtonNote -> \
+\\\"General::spell1\\\"]\\)\"\>"}]], "Message", "MSG",
+ CellChangeTimes->{3.465028873948928*^9}],
+
+Cell[BoxData[
+ RowBox[{"-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["n", "2"], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-",
+ SuperscriptBox["h", "2"]}], "+",
+ SuperscriptBox["q", "2"]}], ")"}], " ",
+ SuperscriptBox["s", "2"]}]}], ")"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}]}], "q"]}], "-",
+ RowBox[{"a", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "-",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"a", " ", "q"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"a", " ", "q"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "-",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}]}], ")"}]}]}], ")"}]}]}],
+ ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"2", " ", "k", " ", "q", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}]}], ")"}]}], ")"}]}]}]], "Output",\
+
+ CellChangeTimes->{{3.465006264355875*^9, 3.4650062857946367`*^9},
+ 3.465009432971335*^9, 3.46502892129241*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"prefn", "=",
+ RowBox[{"Simplify", "[",
+ RowBox[{"e", " ",
+ RowBox[{"numerator", "/",
+ RowBox[{"(",
+ RowBox[{"2", " ", "k", " ", "Pi", " ", "denominator"}], ")"}]}]}],
+ "]"}]}]], "Input",
+ CellChangeTimes->{{3.465006301699548*^9, 3.46500636256952*^9}, {
+ 3.465006549583947*^9, 3.4650065589693613`*^9}, {3.465006615729261*^9,
+ 3.465006618089349*^9}, {3.465009476919691*^9, 3.4650094904612207`*^9}}],
+
+Cell[BoxData[
+ RowBox[{"-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"e", " ",
+ SuperscriptBox["q", "2"], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}]}], ")"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r0"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r0"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "r0"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}]}], ")"}]}]}], ")"}]}], ")"}],
+ "/",
+ RowBox[{"(",
+ RowBox[{"\[Pi]", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["n", "2"], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-",
+ SuperscriptBox["h", "2"]}], "+",
+ SuperscriptBox["q", "2"]}], ")"}], " ",
+ SuperscriptBox["s", "2"]}]}], ")"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "q"}]}], "]"}]}], "+",
+ RowBox[{"a", " ", "q", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "-",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "+",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"a", " ", "q"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"a", " ", "q"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{"n", ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}], "-",
+ RowBox[{"q", " ", "s", " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"q", " ", "s"}]}], "]"}]}]}], ")"}]}]}], ")"}]}]}],
+ ")"}]}], ")"}]}]}]], "Output",
+ CellChangeTimes->{
+ 3.465006363859769*^9, 3.4650065529299793`*^9, {3.46500660247094*^9,
+ 3.4650066189000807`*^9}, 3.4650093009001923`*^9, 3.465009433916567*^9, {
+ 3.4650094792949266`*^9, 3.46500949119223*^9}, 3.4650101741286697`*^9,
+ 3.465012413150815*^9, 3.465012470221596*^9, 3.465028969458783*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"trans", "=",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselK", "[",
+ RowBox[{"n_", ",",
+ RowBox[{"q", " ", "x_"}]}], "]"}], "->",
+ RowBox[{
+ RowBox[{"1", "/", "2"}], " ", "Pi", " ", "I", " ",
+ RowBox[{"Exp", "[",
+ RowBox[{
+ RowBox[{"-", "Pi"}], " ",
+ RowBox[{
+ RowBox[{"(", "n", ")"}], "/", "2"}], " ", "I"}], "]"}],
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"u", " ", "x"}]}], "]"}]}], "+",
+ RowBox[{"I", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"u", " ", "x"}]}], "]"}]}]}], ")"}]}]}], ",",
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n_", ",",
+ RowBox[{"q", " ", "x_"}]}], "]"}], "->",
+ RowBox[{
+ RowBox[{"Exp", "[", " ",
+ RowBox[{"Pi", " ",
+ RowBox[{
+ RowBox[{"(", "n", ")"}], "/", "2"}], " ", "I"}], "]"}],
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"u", " ", "x"}]}], "]"}]}]}], ",",
+ RowBox[{"q", "\[Rule]",
+ RowBox[{"I", " ", "u"}]}]}], "}"}]}]], "Input"],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselK", "[",
+ RowBox[{"n_", ",",
+ RowBox[{"q", " ", "x_"}]}], "]"}], "\[Rule]",
+ RowBox[{
+ FractionBox["1", "2"], " ", "\[ImaginaryI]", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-",
+ FractionBox["1", "2"]}], " ", "\[ImaginaryI]", " ", "n", " ",
+ "\[Pi]"}]], " ", "\[Pi]", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"u", " ", "x"}]}], "]"}]}], "+",
+ RowBox[{"\[ImaginaryI]", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"u", " ", "x"}]}], "]"}]}]}], ")"}]}]}], ",",
+ RowBox[{
+ RowBox[{"BesselI", "[",
+ RowBox[{"n_", ",",
+ RowBox[{"q", " ", "x_"}]}], "]"}], "\[Rule]",
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{"\[ImaginaryI]", " ", "n", " ", "\[Pi]"}], "2"]], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"u", " ", "x"}]}], "]"}]}]}], ",",
+ RowBox[{"q", "\[Rule]",
+ RowBox[{"\[ImaginaryI]", " ", "u"}]}]}], "}"}]], "Output",
+ CellChangeTimes->{3.465006386892065*^9, 3.46500943414812*^9,
+ 3.4650124727227697`*^9, 3.4650289843717833`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"Simplify", "[",
+ RowBox[{"equationk", "/.", "trans"}], "]"}]], "Input",
+ CellChangeTimes->{{3.4650063903492327`*^9, 3.465006434499675*^9}, {
+ 3.465010180589292*^9, 3.465010182109317*^9}, {3.4650103001391478`*^9,
+ 3.465010317051754*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"-",
+ FractionBox["1", "2"]}], " ", "\[Pi]", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}]}]], "Output",\
+
+ CellChangeTimes->{3.465006415408965*^9, 3.465006543484695*^9,
+ 3.4650094676646442`*^9, 3.465010183700742*^9, 3.465010318031008*^9,
+ 3.465012474942376*^9, 3.465028987562429*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"prefnBJ", "=",
+ RowBox[{"Simplify", "[",
+ RowBox[{"prefn", "/.", "trans"}], "]"}]}]], "Input",
+ CellChangeTimes->{{3.465010343639591*^9, 3.46501035094925*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"e", " ", "\[Pi]", " ",
+ SuperscriptBox["u", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"\[ImaginaryI]", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}]}], ")"}],
+ "/",
+ RowBox[{"(",
+ RowBox[{"2", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "2"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["n", "2"], "-",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["h", "2"], "+",
+ SuperscriptBox["u", "2"]}], ")"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "-",
+ RowBox[{"\[ImaginaryI]", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{"a", " ", "\[Pi]", " ", "u", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"\[ImaginaryI]", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"\[ImaginaryI]", " ", "s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}]}]}],
+ ")"}]}], ")"}]}]], "Output",
+ CellChangeTimes->{3.465012630569562*^9, 3.465029009150031*^9}]
+}, Open ]],
+
+Cell[BoxData[
+ RowBox[{"(*",
+ RowBox[{"manually", " ", "simplify", " ", "prefnBJ"}], "*)"}]], "Input",
+ CellChangeTimes->{{3.465029071389292*^9, 3.465029085009225*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"2", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "2"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["n", "2"], "-",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["h", "2"], "+",
+ SuperscriptBox["u", "2"]}], ")"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "-",
+ RowBox[{"\[ImaginaryI]", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{"a", " ", "\[Pi]", " ", "u", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"\[ImaginaryI]", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"\[ImaginaryI]", " ", "s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}]}]}],
+ ")"}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"\[ImaginaryI]", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}], ")"}]}]], "Input",
+ CellChangeTimes->{{3.465029107799436*^9, 3.465029136832382*^9}, {
+ 3.465029169009283*^9, 3.465029220372314*^9}, {3.465029252240646*^9,
+ 3.465029265171405*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"2", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "2"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["n", "2"], "-",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["h", "2"], "+",
+ SuperscriptBox["u", "2"]}], ")"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "-",
+ RowBox[{"\[ImaginaryI]", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{"a", " ", "\[Pi]", " ", "u", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"\[ImaginaryI]", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"\[ImaginaryI]", " ", "s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}]}]}],
+ ")"}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"\[ImaginaryI]", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}], ")"}]}]], "Output",
+ CellChangeTimes->{{3.465029119415265*^9, 3.4650291379704514`*^9}, {
+ 3.4650291759647903`*^9, 3.46502922720218*^9}, 3.46503030515451*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"predenom1", "=",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"2", " ",
+ RowBox[{"(",
+ RowBox[{"a", " ", "\[Pi]", " ", "u", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}], " ",
+ RowBox[{"FullSimplify", "[",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"\[ImaginaryI]", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"\[ImaginaryI]", " ", "s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}],
+ "]"}]}], ")"}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"\[ImaginaryI]", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{"-",
+ RowBox[{"Simplify", "[",
+ RowBox[{"4", " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["n", "2"], "-",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["h", "2"], "+",
+ SuperscriptBox["u", "2"]}], ")"}]}]}], ")"}], " ",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "-",
+ RowBox[{"\[ImaginaryI]", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"\[ImaginaryI]", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}], ")"}]}]}],
+ "]"}]}]}]}]], "Input",
+ CellChangeTimes->{{3.465029307069273*^9, 3.465029420599545*^9}, {
+ 3.4650295248198347`*^9, 3.465029574929974*^9}, {3.46502961179698*^9,
+ 3.465029617719244*^9}, {3.4650297717793293`*^9, 3.465029797001807*^9}, {
+ 3.465029891392437*^9, 3.465029894324305*^9}, 3.465030055341745*^9, {
+ 3.46503107479919*^9, 3.465031083060627*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "4"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-",
+ SuperscriptBox["n", "2"]}], "+",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["h", "2"], "+",
+ SuperscriptBox["u", "2"]}], ")"}]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"2", " ", "a", " ", "\[Pi]", " ", "u", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"\[ImaginaryI]", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}]}], ")"}],
+ "/",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"\[ImaginaryI]", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}], ")"}]}]}]], "Output",
+ CellChangeTimes->{{3.4650293574785967`*^9, 3.465029399350439*^9},
+ 3.465029449951551*^9, {3.4650295380715637`*^9, 3.465029576921867*^9},
+ 3.465029619160747*^9, 3.4650297987152843`*^9, 3.465029895560274*^9,
+ 3.465030057695209*^9, 3.465030308366173*^9, {3.465031078866832*^9,
+ 3.465031084211277*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"predenom2", "=",
+ RowBox[{
+ RowBox[{"predenom1", "/.",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], "\[Rule]", "A"}], "}"}]}], "/.",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], "\[Rule]", "B"}],
+ "}"}]}]}]], "Input",
+ CellChangeTimes->{{3.46502989784638*^9, 3.465029944959269*^9}, {
+ 3.465029986399425*^9, 3.465029989692934*^9}, {3.4650300608920803`*^9,
+ 3.4650300651630783`*^9}, 3.4650302283939857`*^9, 3.4650304991736727`*^9}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "4"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-",
+ SuperscriptBox["n", "2"]}], "+",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["h", "2"], "+",
+ SuperscriptBox["u", "2"]}], ")"}]}]}], ")"}]}], "+",
+ FractionBox[
+ RowBox[{"2", " ", "a", " ",
+ RowBox[{"(",
+ RowBox[{"A", "+",
+ RowBox[{"\[ImaginaryI]", " ", "B"}]}], ")"}], " ", "\[Pi]", " ", "u",
+ " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"B", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"A", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}], ")"}]}],
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"\[ImaginaryI]", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}]]}]], "Output",
+ CellChangeTimes->{3.465029900450683*^9, 3.465029945693783*^9,
+ 3.465029990969941*^9, 3.4650300659423933`*^9, 3.4650302297418003`*^9,
+ 3.4650303103563766`*^9, 3.465030504252941*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"{", "solB", "}"}], "=",
+ RowBox[{"Solve", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"A", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"B", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}], "==", "0"}], ",", "B"}],
+ "]"}]}]], "Input",
+ CellChangeTimes->{{3.4650305202493477`*^9, 3.465030592223063*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{"{",
+ RowBox[{"B", "\[Rule]",
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"A", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}],
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]]}]}], "}"}], "}"}]], "Output",
+ CellChangeTimes->{{3.4650305707222443`*^9, 3.465030592971027*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"predenom3", "=",
+ RowBox[{
+ RowBox[{"FullSimplify", "[",
+ RowBox[{"predenom2", "/.", "solB"}], "]"}], "/.",
+ RowBox[{"{",
+ RowBox[{"A", "->",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}]}], "}"}]}]}]], "Input",
+ CellChangeTimes->{{3.465030046079398*^9, 3.4650301221345587`*^9},
+ 3.465030285039299*^9, 3.46503040206909*^9, 3.465030506833921*^9, {
+ 3.4650305969092207`*^9, 3.4650305981726923`*^9}, {3.465030705264842*^9,
+ 3.4650307227296467`*^9}}],
+
+Cell[BoxData[
+ RowBox[{"4", " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["n", "2"], "-",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["h", "2"], "+",
+ SuperscriptBox["u", "2"]}], ")"}]}], "+",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"],
+ SuperscriptBox[
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "2"]]}], ")"}]}]], "Output",
+ CellChangeTimes->{
+ 3.4650303127639313`*^9, {3.4650303952000723`*^9, 3.465030403240107*^9},
+ 3.4650305076675158`*^9, 3.465030598959812*^9, 3.465030729000638*^9}]
+}, Open ]],
+
+Cell[BoxData[
+ RowBox[{"(*",
+ RowBox[{"The", " ", "final", " ", "solution", " ", "is"}], "*)"}]], "Input",\
+
+ CellChangeTimes->{{3.46503099054926*^9, 3.465031005939341*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"solnBJ", "=",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"e", " ", "\[Pi]", " ",
+ SuperscriptBox["u", "2"],
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}]}], ")"}],
+ "/", "predenom3"}]}]], "Input",
+ CellChangeTimes->{{3.465030904750581*^9, 3.465030951972302*^9}, {
+ 3.4650310344702473`*^9, 3.465031050919426*^9}, 3.465031104031218*^9,
+ 3.465031144707419*^9}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"e", " ", "\[Pi]", " ",
+ SuperscriptBox["u", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}]}], ")"}],
+ "/",
+ RowBox[{"(",
+ RowBox[{"4", " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["n", "2"], "-",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["h", "2"], "+",
+ SuperscriptBox["u", "2"]}], ")"}]}], "+",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"],
+ SuperscriptBox[
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "2"]]}], ")"}]}],
+ ")"}]}]], "Output",
+ CellChangeTimes->{{3.465030922777128*^9, 3.465030953761644*^9}, {
+ 3.46503104063172*^9, 3.4650310526536703`*^9}, 3.465031104941629*^9,
+ 3.465031145555581*^9}]
+}, Open ]],
+
+Cell[BoxData[
+ RowBox[{"(*",
+ RowBox[{"In", " ", "trigonometric", " ", "form", " ", "III"}],
+ "*)"}]], "Input",
+ CellChangeTimes->{{3.465088358129265*^9, 3.465088360989203*^9}, {
+ 3.465091808899225*^9, 3.465091810029261*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"expansions1", "=",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n_", ",", "z_"}], "]"}], "\[Rule]",
+ RowBox[{
+ RowBox[{"Sqrt", "[",
+ RowBox[{"2", "/",
+ RowBox[{"(",
+ RowBox[{"Pi", " ", "z"}], ")"}]}], "]"}],
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",", "z"}], "]"}], " ",
+ RowBox[{"Cos", "[",
+ RowBox[{"z", "-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"n", "/", "2"}], "+",
+ RowBox[{"1", "/", "4"}]}], ")"}], "Pi"}]}], "]"}]}], "-",
+ RowBox[{
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",", "z"}], "]"}],
+ RowBox[{"Sin", "[",
+ RowBox[{"z", "-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"n", "/", "2"}], "+",
+ RowBox[{"1", "/", "4"}]}], ")"}], "Pi"}]}], "]"}]}]}],
+ ")"}]}]}], ",",
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{"n_", ",", "z_"}], "]"}], "->",
+ RowBox[{
+ RowBox[{"Sqrt", "[",
+ RowBox[{"2", "/",
+ RowBox[{"(",
+ RowBox[{"Pi", " ", "z"}], ")"}]}], "]"}],
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",", "z"}], "]"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{"z", "-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"n", "/", "2"}], "+",
+ RowBox[{"1", "/", "4"}]}], ")"}], "Pi"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",", "z"}], "]"}],
+ RowBox[{"Cos", "[",
+ RowBox[{"z", "-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"n", "/", "2"}], "+",
+ RowBox[{"1", "/", "4"}]}], ")"}], "Pi"}]}], "]"}]}]}],
+ ")"}]}]}]}], "}"}]}]], "Input",
+ CellChangeTimes->{{3.465088371723092*^9, 3.4650885608942413`*^9},
+ 3.465090956679463*^9, {3.465091079706538*^9, 3.465091086839293*^9}, {
+ 3.465091418976742*^9, 3.465091504599207*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n_", ",", "z_"}], "]"}], "\[Rule]",
+ RowBox[{
+ SqrtBox[
+ FractionBox["2", "\[Pi]"]], " ",
+ SqrtBox[
+ FractionBox["1", "z"]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ FractionBox["1", "4"], "+",
+ FractionBox["n", "2"]}], ")"}], " ", "\[Pi]"}], "-", "z"}],
+ "]"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",", "z"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",", "z"}], "]"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ FractionBox["1", "4"], "+",
+ FractionBox["n", "2"]}], ")"}], " ", "\[Pi]"}], "-", "z"}],
+ "]"}]}]}], ")"}]}]}], ",",
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{"n_", ",", "z_"}], "]"}], "\[Rule]",
+ RowBox[{
+ SqrtBox[
+ FractionBox["2", "\[Pi]"]], " ",
+ SqrtBox[
+ FractionBox["1", "z"]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ FractionBox["1", "4"], "+",
+ FractionBox["n", "2"]}], ")"}], " ", "\[Pi]"}], "-", "z"}],
+ "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",", "z"}], "]"}]}], "-",
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",", "z"}], "]"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ FractionBox["1", "4"], "+",
+ FractionBox["n", "2"]}], ")"}], " ", "\[Pi]"}], "-", "z"}],
+ "]"}]}]}], ")"}]}]}]}], "}"}]], "Output",
+ CellChangeTimes->{
+ 3.465088562082041*^9, 3.465090958202948*^9, 3.465091087697847*^9,
+ 3.4650914319456987`*^9, {3.465091479186461*^9, 3.465091505453024*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"expansions2", "=",
+ RowBox[{
+ RowBox[{
+ RowBox[{"TrigExpand", "[",
+ RowBox[{"expansions1", "/.",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ FractionBox["1", "4"], "+",
+ FractionBox["n", "2"]}], ")"}], " ", "\[Pi]"}], "-", "z"}],
+ "\[Rule]",
+ RowBox[{
+ RowBox[{"Pi", "/", "4"}], "+",
+ RowBox[{"n", " ",
+ RowBox[{"Pi", "/", "2"}]}], "-", "z"}]}], "}"}]}], "]"}], "/.",
+ RowBox[{"{", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"Cos", "[",
+ FractionBox[
+ RowBox[{"n", " ", "\[Pi]"}], "2"], "]"}], " ", "\[Rule]", "0"}], ",",
+ RowBox[{
+ RowBox[{"Sin", "[",
+ FractionBox[
+ RowBox[{"n", " ", "\[Pi]"}], "2"], "]"}], "\[Rule]",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"-", "1"}], ")"}], "^",
+ RowBox[{"(",
+ RowBox[{"n", "+", "1"}], ")"}]}]}]}], "}"}]}], "//",
+ "Simplify"}]}]], "Input",
+ CellChangeTimes->{{3.465090603579298*^9, 3.46509066562919*^9}, {
+ 3.465090695979219*^9, 3.465090747829767*^9}, {3.465090779179268*^9,
+ 3.465090867481102*^9}, {3.4650909604063053`*^9, 3.465090969003915*^9}, {
+ 3.465091487508622*^9, 3.465091544439323*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n_", ",", "z_"}], "]"}], "\[Rule]",
+ FractionBox[
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"-", "1"}], ")"}], "n"], " ",
+ SqrtBox[
+ FractionBox["1", "z"]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",", "z"}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"Cos", "[", "z", "]"}], "-",
+ RowBox[{"Sin", "[", "z", "]"}]}], ")"}]}], "-",
+ RowBox[{
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",", "z"}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"Cos", "[", "z", "]"}], "+",
+ RowBox[{"Sin", "[", "z", "]"}]}], ")"}]}]}], ")"}]}],
+ SqrtBox["\[Pi]"]]}], ",",
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{"n_", ",", "z_"}], "]"}], "\[Rule]",
+ FractionBox[
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"-", "1"}], ")"}], "n"], " ",
+ SqrtBox[
+ FractionBox["1", "z"]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",", "z"}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"Cos", "[", "z", "]"}], "-",
+ RowBox[{"Sin", "[", "z", "]"}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",", "z"}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"Cos", "[", "z", "]"}], "+",
+ RowBox[{"Sin", "[", "z", "]"}]}], ")"}]}]}], ")"}]}],
+ SqrtBox["\[Pi]"]]}]}], "}"}]], "Output",
+ CellChangeTimes->{{3.4650906445634537`*^9, 3.4650906665187197`*^9}, {
+ 3.465090737909219*^9, 3.465090749019158*^9}, {3.465090780883863*^9,
+ 3.465090868287961*^9}, {3.4650909612970743`*^9, 3.46509097059534*^9},
+ 3.465091091402684*^9, 3.465091546762648*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"Simplify", "[",
+ RowBox[{"equationk", "/.", "trans"}], "]"}]], "Input"],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"-",
+ FractionBox["1", "2"]}], " ", "\[Pi]", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}]}]], "Output",\
+
+ CellChangeTimes->{3.465091554662119*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"trigtmp1", "=",
+ RowBox[{
+ RowBox[{
+ RowBox[{"Simplify", "[",
+ RowBox[{"equationk", "/.", "trans"}], "]"}], "/.", "expansions2"}], "//",
+ "TrigFactor"}]}]], "Input",
+ CellChangeTimes->{{3.4650885734891663`*^9, 3.465088614523862*^9}, {
+ 3.465088666315487*^9, 3.4650886708393717`*^9}, {3.465088710840626*^9,
+ 3.465088747269278*^9}, 3.465088788813159*^9, {3.4650888805192347`*^9,
+ 3.465088883389304*^9}, {3.465089011268907*^9, 3.4650890550589323`*^9}, {
+ 3.4650893939892178`*^9, 3.465089445432324*^9}, {3.465089482749651*^9,
+ 3.465089523639282*^9}, {3.465089596609779*^9, 3.465089624213007*^9}, {
+ 3.465089667979198*^9, 3.4650897274292517`*^9}, {3.4650898290493298`*^9,
+ 3.465089839222331*^9}, {3.465091026289345*^9, 3.4650910322414207`*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"-",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"-", "1"}], ")"}],
+ RowBox[{"2", " ", "n"}]]}], " ",
+ SqrtBox[
+ FractionBox["1",
+ RowBox[{"a", " ", "u"}]]], " ",
+ SqrtBox[
+ FractionBox["1",
+ RowBox[{"s", " ", "u"}]]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"a", " ", "u"}], "-",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"n", " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"h", " ", "s", " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"P", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"n", " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"h", " ", "s", " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"n", " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"h", " ", "s", " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"n", " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"h", " ", "s", " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"a", " ", "u"}], "-",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]], "Output",
+ CellChangeTimes->{{3.4650886038464193`*^9, 3.4650886161414127`*^9},
+ 3.465088672451178*^9, {3.4650887234767103`*^9, 3.4650887482509823`*^9},
+ 3.465088789921546*^9, 3.465088884232491*^9, {3.4650890176727448`*^9,
+ 3.465089056081636*^9}, {3.465089411500607*^9, 3.46508944680096*^9}, {
+ 3.465089496258143*^9, 3.465089524445107*^9}, 3.465089597551162*^9,
+ 3.465089630437676*^9, {3.465089672352303*^9, 3.465089688621502*^9}, {
+ 3.465089720809757*^9, 3.4650897283114023`*^9}, {3.465089835606944*^9,
+ 3.465089840769404*^9}, {3.46509102748412*^9, 3.465091033244762*^9},
+ 3.465091104386622*^9, 3.465091565924553*^9}]
+}, Open ]],
+
+Cell[BoxData[
+ RowBox[{"transcossin", ":=",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"a_", " ",
+ RowBox[{"Cos", "[", "z_", "]"}]}], "+",
+ RowBox[{"b_", " ",
+ RowBox[{"Sin", "[", "z_", "]"}]}]}], "\[Rule]",
+ RowBox[{
+ RowBox[{"Sqrt", "[",
+ RowBox[{"1", "+",
+ RowBox[{
+ RowBox[{"b", "^", "2"}], "/",
+ RowBox[{"a", "^", "2"}]}]}], "]"}], " ", "a", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{"z", "-",
+ RowBox[{"ArcTan", "[",
+ RowBox[{"b", "/", "a"}], "]"}]}], "]"}]}]}], "}"}]}]], "Input"],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"falpha1", "=",
+ RowBox[{
+ RowBox[{"trigtmp1", "/.", "transcossin"}], "//", "Simplify"}]}]], "Input",
+ CellChangeTimes->{{3.465089844899251*^9, 3.4650898527393293`*^9}, {
+ 3.465089898929328*^9, 3.4650899182291927`*^9}, {3.465090220969277*^9,
+ 3.465090240229278*^9}, 3.465091124184308*^9, {3.465091162933647*^9,
+ 3.4650911655893517`*^9}, {3.465104706279297*^9, 3.465104714139223*^9},
+ 3.465104891041623*^9}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"-",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"-", "1"}], ")"}],
+ RowBox[{"2", " ", "n"}]]}], " ",
+ SqrtBox[
+ FractionBox["1",
+ RowBox[{"a", " ", "u"}]]], " ",
+ SqrtBox[
+ FractionBox["1",
+ RowBox[{"s", " ", "u"}]]], " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "-",
+ RowBox[{"ArcTan", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"P", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"P", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}]}],
+ "]"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"P", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}], " ",
+ RowBox[{"\[Sqrt]",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"P", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}], "2"],
+ "/",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"P", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}],
+ "2"]}]}], ")"}]}]}]], "Output",
+ CellChangeTimes->{
+ 3.4650898537337503`*^9, {3.4650899087930317`*^9, 3.465089922193611*^9},
+ 3.4650902412915373`*^9, 3.4650911255338573`*^9, 3.465091166503313*^9,
+ 3.465091575709957*^9, {3.465104711126713*^9, 3.465104715222522*^9},
+ 3.465104892043041*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"Simplify", "[",
+ RowBox[{
+ RowBox[{"falpha1", "/.",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"P", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], "\[Rule]", "C"}], "}"}]}], "/.",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], "\[Rule]", "D"}], "}"}]}],
+ "]"}], "/.",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"P", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], "\[Rule]", "C"}], "}"}]}], "/.",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], "\[Rule]", "D"}],
+ "}"}]}]], "Input",
+ CellChangeTimes->{{3.46510500786924*^9, 3.465105138643696*^9},
+ 3.46510521645366*^9}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"-",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"-", "1"}], ")"}],
+ RowBox[{"2", " ", "n"}]]}], " ",
+ SqrtBox[
+ FractionBox["1",
+ RowBox[{"a", " ", "u"}]]], " ",
+ SqrtBox[
+ FractionBox["1",
+ RowBox[{"s", " ", "u"}]]], " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "-",
+ RowBox[{"ArcTan", "[",
+ FractionBox[
+ RowBox[{
+ RowBox[{"C", " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"D", " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}],
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "D"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"C", " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}]], "]"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "D"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"C", " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ SqrtBox[
+ RowBox[{"1", "+",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"C", " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"D", " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}], ")"}], "2"],
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"D", " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"C", " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}], ")"}], "2"]]}]]}]], "Output",\
+
+ CellChangeTimes->{{3.465105010296665*^9, 3.465105139553565*^9},
+ 3.4651052176231422`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "-",
+ RowBox[{"ArcTan", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"P", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"P", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}]}],
+ "]"}]}], ")"}], "//", "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.465091670574421*^9, 3.4650916845892887`*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "-",
+ RowBox[{"ArcTan", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"P", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"P", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}]}],
+ "]"}]}]], "Output",
+ CellChangeTimes->{
+ 3.4650916276445923`*^9, {3.465091675324911*^9, 3.465091685593363*^9}}]
+}, Open ]],
+
+Cell[BoxData[
+ RowBox[{"(*",
+ RowBox[{
+ "calculate", " ", "survival", " ", "rate", " ", "and", " ", "theta"}],
+ "*)"}]], "Input",
+ CellChangeTimes->{{3.465091887509831*^9, 3.465091900539297*^9}, {
+ 3.465092921749217*^9, 3.465092926969285*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"f", "[",
+ RowBox[{"n_", ",", "r_", ",", "u_"}], "]"}], "=",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], " ", "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], " ", ")"}],
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}]}]], "Input",
+ CellChangeTimes->{{3.465091903300673*^9, 3.465091905789207*^9}, {
+ 3.4650920737092543`*^9, 3.465092102879538*^9}, {3.4650921431434317`*^9,
+ 3.465092144459614*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}]], "Output",
+ CellChangeTimes->{
+ 3.465091906516164*^9, {3.465092075193077*^9, 3.465092103650332*^9},
+ 3.4650921450518293`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"denomf", "[",
+ RowBox[{"n_", ",", "u_"}], "]"}], "=",
+ RowBox[{
+ SuperscriptBox["n", "2"], "-",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["h", "2"], "+",
+ SuperscriptBox["u", "2"]}], ")"}]}], "+",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"],
+ SuperscriptBox[
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "2"]]}]}]], "Input",
+ CellChangeTimes->{{3.46509212972928*^9, 3.465092200062438*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ SuperscriptBox["n", "2"], "-",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["h", "2"], "+",
+ SuperscriptBox["u", "2"]}], ")"}]}], "+",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"],
+ SuperscriptBox[
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "2"]]}]], "Output",
+ CellChangeTimes->{{3.465092153129221*^9, 3.465092201203692*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"denomf", "[",
+ RowBox[{"m", ",", "u"}], "]"}], "//", "TeXForm"}]], "Input"],
+
+Cell["\<\
+\\frac{((h s-m) J_m(s u)+s u J_{m+1}(s u)){}^2}{J_m(a u){}^2}-s^2 \
+\\left(h^2+u^2\\right)+m^2\
+\>", "Output",
+ CellChangeTimes->{3.465099985944092*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"solnBJ", "\[Equal]",
+ RowBox[{"e", " ", "Pi", " ",
+ RowBox[{
+ RowBox[{"u", "^", "2"}], " ", "/", "4"}], " ",
+ RowBox[{"f", "[",
+ RowBox[{"n", ",", "r", ",", "u"}], "]"}],
+ RowBox[{
+ RowBox[{"f", "[",
+ RowBox[{"n", ",", "r0", ",", "u"}], "]"}], "/",
+ RowBox[{"denomf", "[",
+ RowBox[{"n", ",", "u"}], "]"}]}]}]}], ")"}], "//",
+ "Simplify"}]], "Input",
+ CellChangeTimes->{{3.4650922062923*^9, 3.465092273883403*^9}}],
+
+Cell[BoxData["True"], "Output",
+ CellChangeTimes->{
+ 3.46509221145048*^9, {3.465092244344838*^9, 3.465092274919239*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"Simplify", "[",
+ RowBox[{"equationk", "/.", "trans"}], "]"}], "\[Equal]",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "Pi"}], "/", "2"}],
+ RowBox[{"f", "[",
+ RowBox[{"n", ",", "a", ",", "u"}], "]"}]}]}], ")"}], "//",
+ "Simplify"}]], "Input",
+ CellChangeTimes->{{3.465092616739191*^9, 3.465092658329275*^9}, {
+ 3.465092692367969*^9, 3.465092696139485*^9}}],
+
+Cell[BoxData["True"], "Output",
+ CellChangeTimes->{{3.465092643343665*^9, 3.465092659823202*^9},
+ 3.465092697154419*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"bess2", "=",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "1"}], "+", "n"}], ",", "z_"}], "]"}], "\[Rule]",
+ RowBox[{
+ RowBox[{"2",
+ RowBox[{"n", " ", "/", "z"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",", "z"}], "]"}]}], "-",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",", "z"}], "]"}]}]}], ",",
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "1"}], "+", "n"}], ",", "z_"}], "]"}], "\[Rule]",
+ RowBox[{
+ RowBox[{"2",
+ RowBox[{"n", " ", "/", "z"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",", "z"}], "]"}]}], "-",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",", "z"}], "]"}]}]}]}], "}"}]}]], "Input",
+ CellChangeTimes->{{3.465093142536635*^9, 3.465093255759307*^9}, {
+ 3.4650933165809393`*^9, 3.4650933208516893`*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "1"}], "+", "n"}], ",", "z_"}], "]"}], "\[Rule]",
+ RowBox[{
+ FractionBox[
+ RowBox[{"2", " ", "n", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",", "z"}], "]"}]}], "z"], "-",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",", "z"}], "]"}]}]}], ",",
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "1"}], "+", "n"}], ",", "z_"}], "]"}], "\[Rule]",
+ RowBox[{
+ FractionBox[
+ RowBox[{"2", " ", "n", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",", "z"}], "]"}]}], "z"], "-",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",", "z"}], "]"}]}]}]}], "}"}]], "Output",
+ CellChangeTimes->{3.4650933235340443`*^9, 3.465093367941874*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"kDf", "=",
+ RowBox[{
+ RowBox[{
+ RowBox[{"Simplify", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"k", " ",
+ RowBox[{"D", "[",
+ RowBox[{
+ RowBox[{"f", "[",
+ RowBox[{"n", ",", "r", ",", "u"}], "]"}], ",", "r"}], "]"}]}], "/.",
+ "bess2"}], "/.",
+ RowBox[{"{",
+ RowBox[{"r", "\[Rule]", "a"}], "}"}]}], "//", "Expand"}], "]"}], "/.",
+ RowBox[{"{", " ",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "->", " ",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}],
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "/",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}]}], "}"}]}], "//",
+ "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.4650929735402527`*^9, 3.465093021299053*^9}, {
+ 3.465093111439534*^9, 3.46509312034103*^9}, {3.465093370189251*^9,
+ 3.465093390449318*^9}, {3.465093426251628*^9, 3.465093447169211*^9}, {
+ 3.465093520299279*^9, 3.465093690029235*^9}, {3.46509375379419*^9,
+ 3.4650937682092876`*^9}}],
+
+Cell[BoxData[
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"2", " ", "k", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}],
+ RowBox[{"a", " ", "\[Pi]", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]]}]], "Output",
+ CellChangeTimes->{{3.465093607914454*^9, 3.4650936916417294`*^9}, {
+ 3.465093755282956*^9, 3.4650937690298347`*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"Simplify", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"k", " ",
+ RowBox[{"D", "[",
+ RowBox[{
+ RowBox[{"f", "[",
+ RowBox[{"n", ",", "r", ",", "u"}], "]"}], ",", "r"}], "]"}]}], "/.",
+ "bess2"}], "/.",
+ RowBox[{"{",
+ RowBox[{"r", "\[Rule]", "a"}], "}"}]}], "//", "Expand"}], "]"}]], "Input",\
+
+ CellChangeTimes->{{3.465104038607863*^9, 3.465104058699225*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ FractionBox["1", "a"],
+ RowBox[{"k", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"n", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"a", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "n"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"a", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}], ")"}]}], "-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"n", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"a", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}],
+ ")"}]}]}]], "Output",
+ CellChangeTimes->{{3.46510403982355*^9, 3.465104059675008*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"e", " ", "Pi", " ",
+ RowBox[{
+ RowBox[{"u", "^", "2"}], " ", "/", "4"}], " ", "kDf", " ",
+ RowBox[{
+ RowBox[{"FullSimplify", "[",
+ RowBox[{
+ RowBox[{"f", "[",
+ RowBox[{"n", ",", "r0", ",", "u"}], "]"}], "/.",
+ RowBox[{"{", " ",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "->", " ",
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}],
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "/",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}]}], "}"}]}], "]"}], "/",
+ RowBox[{"denomf", "[",
+ RowBox[{"n", ",", "u"}], "]"}]}]}], "//", "Simplify"}]], "Input",
+ CellChangeTimes->{{3.465093964739258*^9, 3.4650940650297813`*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"e", " ", "k", " ",
+ SuperscriptBox["u", "2"], " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}]}], ")"}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"2", " ", "a", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["n", "2"], "-",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["h", "2"], "+",
+ SuperscriptBox["u", "2"]}], ")"}]}]}], ")"}], " ",
+ SuperscriptBox[
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "2"]}], "+",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"]}], ")"}]}],
+ ")"}]}]], "Output",
+ CellChangeTimes->{{3.465093978002461*^9, 3.465094003922991*^9}, {
+ 3.465094059325181*^9, 3.4650940659953413`*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"e", " ", "Pi", " ",
+ RowBox[{
+ RowBox[{"u", "^", "2"}], " ", "/", " ", "4"}], " ", "kDf", " ",
+ RowBox[{
+ RowBox[{"f", "[",
+ RowBox[{"n", ",", "r0", ",", "u"}], "]"}], "/",
+ RowBox[{"denomf", "[",
+ RowBox[{"n", ",", "u"}], "]"}]}]}], "//", "Simplify"}]], "Input",
+ CellChangeTimes->{{3.465093779394326*^9, 3.465093813789301*^9},
+ 3.4650938676141987`*^9, {3.465093906349242*^9, 3.465093920219576*^9}, {
+ 3.465093961220543*^9, 3.465093962752543*^9}}],
+
+Cell[BoxData[
+ RowBox[{"-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"e", " ", "k", " ",
+ SuperscriptBox["u", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}]}], ")"}],
+ "/",
+ RowBox[{"(",
+ RowBox[{"2", " ", "a", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["n", "2"], "-",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["h", "2"], "+",
+ SuperscriptBox["u", "2"]}], ")"}]}], "+",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"],
+ SuperscriptBox[
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "2"]]}], ")"}]}],
+ ")"}]}]}]], "Output",
+ CellChangeTimes->{{3.465093808595264*^9, 3.465093814820404*^9},
+ 3.465093875661134*^9, {3.4650939099486227`*^9, 3.465093921180993*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"Limit", "[",
+ RowBox[{
+ RowBox[{"Integrate", "[",
+ RowBox[{
+ RowBox[{"Cos", "[",
+ RowBox[{"m", " ", "p"}], "]"}], ",",
+ RowBox[{"{",
+ RowBox[{"p", ",", "0", ",",
+ RowBox[{"2", " ", "Pi"}]}], "}"}]}], "]"}], ",",
+ RowBox[{"m", "\[Rule]", "0"}]}], "]"}]], "Input",
+ CellChangeTimes->{{3.465100388254388*^9, 3.465100440589329*^9}, {
+ 3.465106029666601*^9, 3.4651060348013067`*^9}}],
+
+Cell[BoxData[
+ RowBox[{"2", " ", "\[Pi]"}]], "Output",
+ CellChangeTimes->{{3.465100404944278*^9, 3.465100441810025*^9}, {
+ 3.4651060309094353`*^9, 3.465106035660798*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"Limit", "[",
+ RowBox[{
+ RowBox[{"Integrate", "[",
+ RowBox[{
+ RowBox[{"Cos", "[",
+ RowBox[{"m", " ", "p"}], "]"}], ",",
+ RowBox[{"{",
+ RowBox[{"p", ",", "0", ",", "p1"}], "}"}]}], "]"}], ",",
+ RowBox[{"m", "\[Rule]", "0"}]}], "]"}]], "Input",
+ CellChangeTimes->{{3.465108503180661*^9, 3.465108543735868*^9}}],
+
+Cell[BoxData["p1"], "Output",
+ CellChangeTimes->{3.4651085450616417`*^9}]
+}, Open ]]
+},
+WindowSize->{834, 1520},
+WindowMargins->{{744, Automatic}, {Automatic, 25}},
+PrintingPageRange->{Automatic, Automatic},
+PrintingOptions->{"Magnification"->1.,
+"PaperOrientation"->"Portrait",
+"PaperSize"->{594.3000000000001, 840.51},
+"PostScriptOutputFile"->"/home/kaizu/Pair2D.nb.pdf"},
+FrontEndVersion->"7.0 for Linux x86 (64-bit) (2009\:5e744\:670823\:65e5)",
+StyleDefinitions->"Default.nb"
+]
+(* End of Notebook Content *)
+
+(* Internal cache information *)
+(*CellTagsOutline
+CellTagsIndex->{}
+*)
+(*CellTagsIndex
+CellTagsIndex->{}
+*)
+(*NotebookFileOutline
+Notebook[{
+Cell[545, 20, 253, 5, 32, "Input"],
+Cell[801, 27, 409, 13, 32, "Input"],
+Cell[CellGroupData[{
+Cell[1235, 44, 524, 15, 32, "Input"],
+Cell[1762, 61, 989, 16, 24, "Message"]
+}, Open ]],
+Cell[2766, 80, 570, 18, 32, "Input"],
+Cell[CellGroupData[{
+Cell[3361, 102, 970, 30, 55, "Input"],
+Cell[4334, 134, 918, 30, 83, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[5289, 169, 629, 16, 32, "Input"],
+Cell[5921, 187, 1350, 39, 69, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[7308, 231, 843, 25, 55, "Input"],
+Cell[8154, 258, 5942, 168, 192, "Output"]
+}, Open ]],
+Cell[14111, 429, 279, 6, 32, "Input"],
+Cell[CellGroupData[{
+Cell[14415, 439, 731, 20, 55, "Input"],
+Cell[15149, 461, 4658, 133, 132, "Output"]
+}, Open ]],
+Cell[19822, 597, 282, 6, 32, "Input"],
+Cell[CellGroupData[{
+Cell[20129, 607, 1521, 45, 77, "Input"],
+Cell[21653, 654, 1323, 42, 52, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[23013, 701, 3181, 90, 143, "Input"],
+Cell[26197, 793, 2636, 85, 112, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[28870, 883, 362, 9, 32, "Input"],
+Cell[29235, 894, 4484, 132, 152, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[33756, 1031, 162, 3, 32, "Input"],
+Cell[33921, 1036, 96, 1, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[34054, 1042, 380, 10, 32, "Input"],
+Cell[34437, 1054, 1719, 50, 72, "Output"]
+}, Open ]],
+Cell[36171, 1107, 264, 6, 32, "Input"],
+Cell[CellGroupData[{
+Cell[36460, 1117, 278, 6, 32, "Input"],
+Cell[36741, 1125, 3369, 102, 132, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[40147, 1232, 401, 10, 32, "Input"],
+Cell[40551, 1244, 4077, 122, 180, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[44665, 1371, 323, 9, 32, "Input"],
+Cell[44991, 1382, 1001, 16, 45, "Message"],
+Cell[45995, 1400, 3144, 96, 151, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[49176, 1501, 446, 10, 32, "Input"],
+Cell[49625, 1513, 5771, 166, 186, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[55433, 1684, 1212, 38, 55, "Input"],
+Cell[56648, 1724, 1318, 38, 82, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[58003, 1767, 265, 5, 32, "Input"],
+Cell[58271, 1774, 1487, 46, 68, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[59795, 1825, 188, 4, 32, "Input"],
+Cell[59986, 1831, 6497, 192, 206, "Output"]
+}, Open ]],
+Cell[66498, 2026, 170, 3, 32, "Input"],
+Cell[CellGroupData[{
+Cell[66693, 2033, 3899, 112, 143, "Input"],
+Cell[70595, 2147, 3876, 111, 120, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[74508, 2263, 4673, 129, 231, "Input"],
+Cell[79184, 2394, 3461, 103, 116, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[82682, 2502, 1293, 38, 55, "Input"],
+Cell[83978, 2542, 1355, 43, 51, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[85370, 2590, 505, 16, 32, "Input"],
+Cell[85878, 2608, 435, 13, 50, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[86350, 2626, 879, 24, 55, "Input"],
+Cell[87232, 2652, 1118, 34, 53, "Output"]
+}, Open ]],
+Cell[88365, 2689, 175, 4, 32, "Input"],
+Cell[CellGroupData[{
+Cell[88565, 2697, 2995, 87, 121, "Input"],
+Cell[91563, 2786, 3894, 119, 153, "Output"]
+}, Open ]],
+Cell[95472, 2908, 230, 5, 32, "Input"],
+Cell[CellGroupData[{
+Cell[95727, 2917, 2201, 68, 121, "Input"],
+Cell[97931, 2987, 2096, 69, 108, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[100064, 3061, 1305, 38, 119, "Input"],
+Cell[101372, 3101, 1972, 60, 157, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[103381, 3166, 97, 2, 32, "Input"],
+Cell[103481, 3170, 1347, 44, 68, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[104865, 3219, 796, 14, 32, "Input"],
+Cell[105664, 3235, 4387, 125, 141, "Output"]
+}, Open ]],
+Cell[110066, 3363, 571, 18, 32, "Input"],
+Cell[CellGroupData[{
+Cell[110662, 3385, 444, 8, 32, "Input"],
+Cell[111109, 3395, 7293, 223, 229, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[118439, 3623, 2112, 69, 77, "Input"],
+Cell[120554, 3694, 2200, 77, 120, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[122791, 3776, 2885, 86, 143, "Input"],
+Cell[125679, 3864, 2688, 85, 72, "Output"]
+}, Open ]],
+Cell[128382, 3952, 249, 6, 32, "Input"],
+Cell[CellGroupData[{
+Cell[128656, 3962, 1417, 44, 55, "Input"],
+Cell[130076, 4008, 1239, 41, 52, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[131352, 4054, 1022, 33, 59, "Input"],
+Cell[132377, 4089, 914, 30, 53, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[133328, 4124, 113, 3, 32, "Input"],
+Cell[133444, 4129, 162, 4, 46, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[133643, 4138, 522, 15, 32, "Input"],
+Cell[134168, 4155, 121, 2, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[134326, 4162, 442, 13, 32, "Input"],
+Cell[134771, 4177, 123, 2, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[134931, 4184, 1023, 31, 55, "Input"],
+Cell[135957, 4217, 917, 29, 83, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[136911, 4251, 2042, 59, 99, "Input"],
+Cell[138956, 4312, 799, 24, 51, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[139792, 4341, 436, 14, 32, "Input"],
+Cell[140231, 4357, 2199, 68, 88, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[142467, 4430, 1843, 52, 121, "Input"],
+Cell[144313, 4484, 2337, 73, 81, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[146687, 4562, 514, 12, 32, "Input"],
+Cell[147204, 4576, 3253, 98, 133, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[150494, 4679, 442, 12, 32, "Input"],
+Cell[150939, 4693, 171, 3, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[151147, 4701, 363, 10, 32, "Input"],
+Cell[151513, 4713, 73, 1, 31, "Output"]
+}, Open ]]
+}
+]
+*)
+
+(* End of internal cache information *)
diff --git a/ecell4/egfrd/legacy/doc/math/PairSolution.nb b/ecell4/egfrd/legacy/doc/math/PairSolution.nb
new file mode 100644
index 0000000..a40ac13
--- /dev/null
+++ b/ecell4/egfrd/legacy/doc/math/PairSolution.nb
@@ -0,0 +1,1649 @@
+(***********************************************************************
+
+ Mathematica-Compatible Notebook
+
+This notebook can be used on any computer system with Mathematica 3.0,
+MathReader 3.0, or any compatible application. The data for the notebook
+starts with the line of stars above.
+
+To get the notebook into a Mathematica-compatible application, do one of
+the following:
+
+* Save the data starting with the line of stars above into a file
+ with a name ending in .nb, then open the file inside the application;
+
+* Copy the data starting with the line of stars above to the
+ clipboard, then use the Paste menu command inside the application.
+
+Data for notebooks contains only printable 7-bit ASCII and can be
+sent directly in email or through ftp in text mode. Newlines can be
+CR, LF or CRLF (Unix, Macintosh or MS-DOS style).
+
+NOTE: If you modify the data for this notebook not in a Mathematica-
+compatible application, you must delete the line below containing the
+word CacheID, otherwise Mathematica-compatible applications may try to
+use invalid cache data.
+
+For more information on notebooks and Mathematica-compatible
+applications, contact Wolfram Research:
+ web: http://www.wolfram.com
+ email: info at wolfram.com
+ phone: +1-217-398-0700 (U.S.)
+
+Notebook reader applications are available free of charge from
+Wolfram Research.
+***********************************************************************)
+
+(*CacheID: 232*)
+
+
+(*NotebookFileLineBreakTest
+NotebookFileLineBreakTest*)
+(*NotebookOptionsPosition[ 55027, 1324]*)
+(*NotebookOutlinePosition[ 55661, 1347]*)
+(* CellTagsIndexPosition[ 55617, 1343]*)
+(*WindowFrame->Normal*)
+
+
+
+Notebook[{
+Cell[BoxData[
+ \(\(\(\n\)\(Define\ functions\)\)\)], "Input"],
+
+Cell[BoxData[{
+ \(\(\(urr0[n_, r_] :=
+ 1/\((4\ Pi\ D\ Sqrt[r\ ]\ Sqrt[r0])\) \((2\ n\ + 1)\)
+ BesselK[n + 1/2, q\ r0] BesselI[n + 1/2, \ q\ r]\)\(\n\)
+ \)\), "\n",
+ \(\t\(\(ur0r[n_,
+ r_] := \n\ \ 1/\((4\ Pi\ D\ Sqrt[r]\ Sqrt[r0])\) \((2\ n\ + 1)\)
+ BesselI[n + 1/2, q\ r0] BesselK[n + 1/2, \ q\ r]\)\(\n\)\(\n\)
+ \)\), "\n",
+ \(wi[n_,
+ r_] := \(\(\((2 n + 1)\)/
+ Sqrt[r]\) \((An\ BesselI[n + 1/2, q\ r] +
+ Bn\ BesselK[n + 1/2, q\ r])\)\(\t\)\)\)}], "Input"],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(der[r_] = Simplify[D[wi[n, r] + urr0[n, r], r]]\)], "Input"],
+
+Cell[BoxData[
+ \(\(1\/\(8\ D\ \[Pi]\ r\^\(3/2\)\ \@r0\)\)
+ \((\((1 + 2\ n)\)\
+ \((4\ An\ D\ \[Pi]\ q\ r\ \@r0\ BesselI[3\/2 + n, q\ r] -
+ 4\ Bn\ D\ \[Pi]\ q\ r\ \@r0\ BesselK[\(-\(1\/2\)\) + n, q\ r] -
+ 4\ Bn\ D\ \[Pi]\ \@r0\ BesselK[1\/2 + n, q\ r] +
+ q\ r\ BesselI[3\/2 + n, q\ r]\ BesselK[1\/2 + n, q\ r0] +
+ q\ r\ BesselI[\(-\(1\/2\)\) + n, q\ r]\
+ \((4\ An\ D\ \[Pi]\ \@r0 + BesselK[1\/2 + n, q\ r0])\) -
+ BesselI[1\/2 + n, q\ r]\
+ \((4\ An\ D\ \[Pi]\ \@r0 + BesselK[1\/2 + n, q\ r0])\) -
+ 4\ Bn\ D\ \[Pi]\ q\ r\ \@r0\ BesselK[3\/2 + n, q\ r])\))\)\)],
+ "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \({solution} =
+ Simplify[Solve[{der[s] == h \((wi[n, s] + urr0[n, s])\),
+ wi[n, a] + ur0r[n, a] == 0}, {An, Bn}]]\)], "Input"],
+
+Cell[BoxData[
+ \({{An \[Rule] \(-\(\((BesselK[1\/2 + n,
+ a\ q]\ \((\((q\ s\ BesselI[\(-\(1\/2\)\) + n,
+ q\ s] - \((1 + 2\ h\ s)\)\ BesselI[1\/2 + n,
+ q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[
+ 1\/2 + n, q\ r0] +
+ BesselI[1\/2 + n,
+ q\ r0]\ \((q\ s\ BesselK[\(-\(1\/2\)\) + n,
+ q\ s] + \((1 + 2\ h\ s)\)\ BesselK[1\/2 + n,
+ q\ s] +
+ q\ s\ BesselK[3\/2 + n,
+ q\ s])\))\))\)/\((4\ D\ \[Pi]\ \@r0\ \((\((q\ \
+s\ BesselI[\(-\(1\/2\)\) + n, q\ s] - \((1 + 2\ h\ s)\)\ BesselI[1\/2 + n,
+ q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[
+ 1\/2 + n, a\ q] +
+ BesselI[1\/2 + n,
+ a\ q]\ \((q\ s\ BesselK[\(-\(1\/2\)\) + n,
+ q\ s] + \((1 + 2\ h\ s)\)\ BesselK[1\/2 + n,
+ q\ s] +
+ q\ s\ BesselK[3\/2 + n, q\ s])\))\))\)\)\),
+ Bn \[Rule] \(-\(\((\((q\ s\ BesselI[\(-\(1\/2\)\) + n,
+ q\ s] - \((1 + 2\ h\ s)\)\ BesselI[1\/2 + n,
+ q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ \((BesselI[1\/2 + n,
+ q\ r0]\ BesselK[1\/2 + n, a\ q] -
+ BesselI[1\/2 + n, a\ q]\ BesselK[1\/2 + n,
+ q\ r0])\))\)/\((4\ D\ \[Pi]\ \@r0\ \((\((q\ s\ \
+BesselI[\(-\(1\/2\)\) + n, q\ s] - \((1 + 2\ h\ s)\)\ BesselI[1\/2 + n,
+ q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[
+ 1\/2 + n, a\ q] +
+ BesselI[1\/2 + n,
+ a\ q]\ \((q\ s\ BesselK[\(-\(1\/2\)\) + n,
+ q\ s] + \((1 + 2\ h\ s)\)\ BesselK[1\/2 + n,
+ q\ s] +
+ q\ s\ BesselK[3\/2 + n,
+ q\ s])\))\))\)\)\)}}\)], "Output"]
+}, Open ]],
+
+Cell["The solution is, at fixed n", "Input"],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+solutionn=Simplify[(2n+1)/Sqrt[r](An BesselI[n+1/2,q r]+Bn BesselK[n+1/2,q \
+r])/.solution, {r>0}&&{a>0}&&{r0>0}&&{s>0}&&{n\[Element]Integers}&&{n>=0}]\
+\>", "Input"],
+
+Cell[BoxData[
+ RowBox[{\(General::"spell1"\), \(\(:\)\(\ \)\), "\<\"Possible spelling \
+error: new symbol name \\\"\\!\\(solutionn\\)\\\" is similar to existing \
+symbol \\\"\\!\\(solution\\)\\\". \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \
+ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
+ButtonData:>\\\"General::spell1\\\"]\\)\"\>"}]], "Message"],
+
+Cell[BoxData[
+ \(\(-\(\((
+ \((1 + 2\ n)\)\
+ \((\((q\ s\ BesselI[\(-\(1\/2\)\) + n, q\ s] -
+ \((1 + 2\ h\ s)\)\ BesselI[1\/2 + n, q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\
+ BesselK[1\/2 + n, q\ r]\
+ \((BesselI[1\/2 + n, q\ r0]\ BesselK[1\/2 + n, a\ q] -
+ BesselI[1\/2 + n, a\ q]\ BesselK[1\/2 + n, q\ r0])\) +
+ BesselI[1\/2 + n, q\ r]\ BesselK[1\/2 + n, a\ q]\
+ \((\((q\ s\ BesselI[\(-\(1\/2\)\) + n, q\ s] -
+ \((1 + 2\ h\ s)\)\ BesselI[1\/2 + n, q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\
+ BesselK[1\/2 + n, q\ r0] +
+ BesselI[1\/2 + n, q\ r0]\
+ \((q\ s\ BesselK[\(-\(1\/2\)\) + n, q\ s] +
+ \((1 + 2\ h\ s)\)\ BesselK[1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n, q\ s])\))\))\))\)/
+ \((4\ D\ \[Pi]\ \@r\ \@r0\
+ \((\((q\ s\ BesselI[\(-\(1\/2\)\) + n, q\ s] -
+ \((1 + 2\ h\ s)\)\ BesselI[1\/2 + n, q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\
+ BesselK[1\/2 + n, a\ q] +
+ BesselI[1\/2 + n, a\ q]\
+ \((q\ s\ BesselK[\(-\(1\/2\)\) + n, q\ s] +
+ \((1 + 2\ h\ s)\)\ BesselK[1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n, q\ s])\))\))\)\)\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(\(\[IndentingNewLine]solute =
+ numerator/\((4\ D\ \[Pi]\ \@r\ \@r0\ \ equationk)\)\)\)], "Input"],
+
+Cell[BoxData[
+ \(\((BesselK[1\/2 + n, a\ q]\
+ \((\((\((n - h\ s)\)\ BesselI[1\/2 + n, q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\
+ BesselK[1\/2 + n, q\ r] +
+ BesselI[1\/2 + n, q\ r]\
+ \((\((\(-n\) + h\ s)\)\ BesselK[1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n, q\ s])\))\)\
+ \((\((\((n - h\ s)\)\ BesselI[1\/2 + n, q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\
+ BesselK[1\/2 + n, q\ r0] +
+ BesselI[1\/2 + n, q\ r0]\
+ \((\((\(-n\) + h\ s)\)\ BesselK[1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n, q\ s])\))\))\)/
+ \((2\ D\ \[Pi]\ \@r\ \@r0\
+ \((\((\(-n\) + h\ s)\)\ BesselK[1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n, q\ s])\)\
+ \((\((\((n - h\ s)\)\ BesselI[1\/2 + n, q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\
+ BesselK[1\/2 + n, a\ q] +
+ BesselI[1\/2 + n, a\ q]\
+ \((\((\(-n\) + h\ s)\)\ BesselK[1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n, q\ s])\))\))\)\)], "Output"]
+}, Open ]],
+
+Cell["This solution has poles at the zeroes of ", "Input"],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(equationk =
+ FullSimplify[\((q\ s\ BesselI[\(-\(1\/2\)\) + n,
+ q\ s] - \((1 + 2\ h\ s)\)\ BesselI[1\/2 + n, q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)/2]\ BesselK[1\/2 + n,
+ a\ q] + BesselI[1\/2 + n,
+ a\ q]\ FullSimplify[\((q\ s\ BesselK[\(-\(1\/2\)\) + n,
+ q\ s] + \((1 + 2\ h\ s)\)\ BesselK[1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n, q\ s])\)/2]\)], "Input"],
+
+Cell[BoxData[
+ \(\((\((n - h\ s)\)\ BesselI[1\/2 + n, q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[1\/2 + n, a\ q] +
+ BesselI[1\/2 + n,
+ a\ q]\ \((\((\(-n\) + h\ s)\)\ BesselK[1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n, q\ s])\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(numerator =
+ 2 \((\ BesselK[1\/2 + n,
+ a\ q]\ \((\((\((n - h\ s)\)\ BesselI[1\/2 + n, q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[1\/2 + n,
+ q\ r] +
+ BesselI[1\/2 + n,
+ q\ r]\ \((\((\(-n\) + h\ s)\)\ BesselK[1\/2 + n,
+ q\ s] +
+ q\ s\ BesselK[3\/2 + n,
+ q\ s])\))\)\ \((\((\((n - h\ s)\)\ BesselI[
+ 1\/2 + n, q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[1\/2 + n,
+ q\ r0] +
+ BesselI[1\/2 + n,
+ q\ r0]\ \((\((\(-n\) + h\ s)\)\ BesselK[1\/2 + n,
+ q\ s] +
+ q\ s\ BesselK[3\/2 + n, q\ s])\))\))\)/\((\((\(-n\) +
+ h\ s)\)\ BesselK[1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n, q\ s])\)\)], "Input"],
+
+Cell[BoxData[
+ RowBox[{\(General::"spell1"\), \(\(:\)\(\ \)\), "\<\"Possible spelling \
+error: new symbol name \\\"\\!\\(numerator\\)\\\" is similar to existing \
+symbol \\\"\\!\\(Numerator\\)\\\". \
+\\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", ButtonStyle->\\\"RefGuideLinkText\
+\\\", ButtonFrame->None, ButtonData:>\\\"General::spell1\\\"]\\)\"\>"}]], \
+"Message"],
+
+Cell[BoxData[
+ \(\((2\ BesselK[1\/2 + n,
+ a\ q]\ \((\((\((n - h\ s)\)\ BesselI[1\/2 + n, q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[1\/2 + n,
+ q\ r] +
+ BesselI[1\/2 + n,
+ q\ r]\ \((\((\(-n\) + h\ s)\)\ BesselK[1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n,
+ q\ s])\))\)\ \((\((\((n - h\ s)\)\ BesselI[1\/2 + n,
+ q\ s] + q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[
+ 1\/2 + n, q\ r0] +
+ BesselI[1\/2 + n,
+ q\ r0]\ \((\((\(-n\) + h\ s)\)\ BesselK[1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n, q\ s])\))\))\)/\((\((\(-n\) +
+ h\ s)\)\ BesselK[1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n, q\ s])\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["Solve[equationk==0,BesselI[1/2 + n, a q]]", "Input"],
+
+Cell[BoxData[
+ \({{BesselI[1\/2 + n, a\ q] \[Rule]
+ \(-\(\(\((
+ n\ BesselI[1\/2 + n, q\ s] -
+ h\ s\ BesselI[1\/2 + n, q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\
+ BesselK[1\/2 + n, a\ q]\)\/\(\(-n\)\
+ BesselK[1\/2 + n, q\ s] + h\ s\ BesselK[1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n, q\ s]\)\)\)}}\)], "Output"]
+}, Open ]],
+
+Cell[BoxData[
+ \(denominator =
+ Simplify[\(1\/q\)
+ \((BesselK[1\/2 + n, a\ q]\
+ \((\(-2\)\ \((n - h\ s)\)\ BesselK[1\/2 + n, q\ s] +
+ 2\ q\ s\ BesselK[3\/2 + n, q\ s])\)\
+ \((1\/BesselK[1\/2 + n, a\ q]\^2 +
+ \(n + n\^2 -
+ s\ \((h + h\^2\ s - q\^2\ s)\)\)\/\((
+ \((\(-n\) + h\ s)\)\ BesselK[1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n, q\ s])\)\^2)\))\)]\)],
+ "Input"],
+
+Cell["The residues for this integration are", "Input"],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(denominator =
+ Simplify[\(1\/q\) \((BesselK[1\/2 + n,
+ a\ q]\ \((\(-2\)\ \((n - h\ s)\)\ BesselK[1\/2 + n, q\ s] +
+ 2\ q\ s\ BesselK[3\/2 + n,
+ q\ s])\)\ \((1\/BesselK[1\/2 + n, a\ q]\^2 + \(n + n\^2 \
+- s\ \((h + h\^2\ s - q\^2\ s)\)\)\/\((\((\(-n\) + h\ s)\)\ BesselK[1\/2 + n, \
+q\ s] + q\ s\ BesselK[3\/2 + n, q\ s])\)\^2)\))\)]\)], "Input"],
+
+Cell[BoxData[
+ RowBox[{\(General::"spell1"\), \(\(:\)\(\ \)\), "\<\"Possible spelling \
+error: new symbol name \\\"\\!\\(denominator\\)\\\" is similar to existing \
+symbol \\\"\\!\\(Denominator\\)\\\". \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\
+\", ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
+ButtonData:>\\\"General::spell1\\\"]\\)\"\>"}]], "Message"],
+
+Cell[BoxData[
+ \(\(BesselK[1\/2 + n, a\ q]\ \((\(-2\)\ \((n - h\ s)\)\ BesselK[1\/2 + n, \
+q\ s] + 2\ q\ s\ BesselK[3\/2 + n, q\ s])\)\ \((1\/BesselK[1\/2 + n, a\ q]\^2 \
++ \(n + n\^2 - s\ \((h + h\^2\ s - q\^2\ s)\)\)\/\((\((\(-n\) + h\ s)\)\ \
+BesselK[1\/2 + n, q\ s] + q\ s\ BesselK[3\/2 + n, q\ s])\)\^2)\)\)\/q\)], \
+"Output"]
+}, Open ]],
+
+Cell["\<\
+Such that the solution is
+\
+\>", "Input"],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(prefn = \
+ q\ numerator/\((2\ \[Pi]\ \@r\ \@r0\ \ denominator)\)\)], "Input"],
+
+Cell[BoxData[
+ \(\((q\^2\ \((\((\((n - h\ s)\)\ BesselI[1\/2 + n, q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[1\/2 + n,
+ q\ r] +
+ BesselI[1\/2 + n,
+ q\ r]\ \((\((\(-n\) + h\ s)\)\ BesselK[1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n,
+ q\ s])\))\)\ \((\((\((n - h\ s)\)\ BesselI[1\/2 + n,
+ q\ s] + q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[
+ 1\/2 + n, q\ r0] +
+ BesselI[1\/2 + n,
+ q\ r0]\ \((\((\(-n\) + h\ s)\)\ BesselK[1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n,
+ q\ s])\))\))\)/\((\[Pi]\ \@r\ \@r0\ \((\((\(-n\) +
+ h\ s)\)\ BesselK[1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n,
+ q\ s])\)\ \((\(-2\)\ \((n - h\ s)\)\ BesselK[1\/2 + n,
+ q\ s] +
+ 2\ q\ s\ BesselK[3\/2 + n,
+ q\ s])\)\ \((1\/BesselK[1\/2 + n, a\ q]\^2 + \(n + n\^2 - s\
+\ \((h + h\^2\ s - q\^2\ s)\)\)\/\((\((\(-n\) + h\ s)\)\ BesselK[1\/2 + n, q\ \
+s] + q\ s\ BesselK[3\/2 + n, q\ s])\)\^2)\))\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["mysol=FullSimplify[prefn/.{n->0, q->I al}]", "Input"],
+
+Cell[BoxData[
+ \(\(\[ExponentialE]\^\(2\ \[ImaginaryI]\ al\ s\)\
+ \@\(\[ImaginaryI]\ al\ r\)\
+ \((al\ s\ Cos[al\ \((r - s)\)] + \((1 + h\ s)\)\ Sin[al\ \((r - s)\)])
+ \)\ \((al\ s\ Cos[al\ \((r0 - s)\)] +
+ \((1 + h\ s)\)\ Sin[al\ \((r0 - s)\)])\)\)\/\(2\ \[Pi]\
+ r\^\(3/2\)\ \@r0\ \@\(\[ImaginaryI]\ al\ r0\)\
+ \((\[ExponentialE]\^\(2\ \[ImaginaryI]\ al\ s\)\ s\^2\
+ \((h + \((al\^2 + h\^2)\)\ s)\) +
+ a\ \[ExponentialE]\^\(2\ \[ImaginaryI]\ a\ al\)\
+ \((al\ s - \[ImaginaryI]\ \((1 + h\ s)\))\)\^2)\)\)\)], "Output"]
+}, Open ]],
+
+Cell[BoxData[
+ \(\(\[ImaginaryI]\ \((al\ s\ Cos[al\ \((a - s)\)] + \((1 + h\ s)\)\ \
+Sin[al\ \((a - s)\)])\)\)\/\(\@\(\[ImaginaryI]\ a\ al\)\ \@\(\[ImaginaryI]\ \
+al\ s\)\)\)], "Input"],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(trans = {BesselK[n_, q\ x_] ->
+ 1/2\ Pi\ \ I\ Exp[\(-Pi\)\ \((n)\)/2\ I] \((\(-BesselJ[n, u\ x]\) +
+ I\ BesselY[n, u\ x])\),
+ BesselI[n_, q\ x_] -> Exp[\ Pi\ \((n)\)/2\ I] BesselJ[n, u\ x],
+ q \[Rule] I\ u}\)], "Input"],
+
+Cell[BoxData[
+ \({BesselK[n_, q\ x_] \[Rule]
+ 1\/2\ \[ImaginaryI]\ \[ExponentialE]\^\(\(-\(1\/2\)\)\ \[ImaginaryI]\ \
+n\ \[Pi]\)\ \[Pi]\ \((\(-BesselJ[n, u\ x]\) + \[ImaginaryI]\ BesselY[n,
+ u\ x])\),
+ BesselI[n_,
+ q\ x_] \[Rule] \[ExponentialE]\^\(\(\[ImaginaryI]\ n\ \[Pi]\)\/2\)\ \
+BesselJ[n, u\ x], q \[Rule] \[ImaginaryI]\ u}\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["perfnBJ=Simplify[prefn/.trans]", "Input"],
+
+Cell[BoxData[
+ \(\(-\(\((\[Pi]\ u\^2\ \((\((n - h\ s)\)\ BesselJ[1\/2 + n,
+ s\ u]\ BesselY[1\/2 + n, r\ u] -
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ BesselY[1\/2 + n, r\ u] +
+ BesselJ[1\/2 + n,
+ r\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n, s\ u])\))\)\ \((\((n -
+ h\ s)\)\ BesselJ[1\/2 + n, s\ u]\ BesselY[1\/2 + n,
+ r0\ u] -
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ BesselY[1\/2 + n, r0\ u] +
+ BesselJ[1\/2 + n,
+ r0\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n,
+ s\ u])\))\))\)/\((8\ \@r\ \@r0\ \((\((n - h\ s)\)\ \
+BesselJ[1\/2 + n, s\ u] - s\ u\ BesselJ[3\/2 + n, s\ u] + \[ImaginaryI]\ \
+\((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] + s\ u\ BesselY[3\/2 + n, s\ \
+u])\))\)\^2\ \((1\/\((BesselJ[1\/2 + n, a\ u] - \[ImaginaryI]\ BesselY[1\/2 + \
+n, a\ u])\)\^2 + \((n + n\^2 -
+ s\ \((h + h\^2\ s +
+ s\ u\^2)\))\)/\((\((\(-n\) + h\ s)\)\ \
+BesselJ[1\/2 + n, s\ u] + s\ u\ BesselJ[3\/2 + n, s\ u] - \[ImaginaryI]\ \
+\((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] + s\ u\ BesselY[3\/2 + n, s\ \
+u])\))\)\^2)\))\)\)\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["equationj=Simplify[equationk/.trans]", "Input"],
+
+Cell[BoxData[
+ RowBox[{\(General::"spell1"\), \(\(:\)\(\ \)\), "\<\"Possible spelling \
+error: new symbol name \\\"\\!\\(equationj\\)\\\" is similar to existing \
+symbol \\\"\\!\\(equationk\\)\\\". \
+\\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", ButtonStyle->\\\"RefGuideLinkText\
+\\\", ButtonFrame->None, ButtonData:>\\\"General::spell1\\\"]\\)\"\>"}]], \
+"Message"],
+
+Cell[BoxData[
+ \(\(-\(1\/2\)\)\ \[Pi]\ \((\((n - h\ s)\)\ BesselJ[1\/2 + n,
+ s\ u]\ BesselY[1\/2 + n, a\ u] -
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ BesselY[1\/2 + n, a\ u] +
+ BesselJ[1\/2 + n,
+ a\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n, s\ u])\))\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(\(\(\[IndentingNewLine]\)\(solnBJ = \(-\((\[Pi]\ u\^2\ \((\((n -
+ h\ s)\)\ BesselJ[1\/2 + n, s\ u]\ BesselY[1\/2 + n,
+ r\ u] -
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ BesselY[1\/2 + n, r\ u] +
+ BesselJ[1\/2 + n,
+ r\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n,
+ s\ u] +
+ s\ u\ BesselY[3\/2 + n, s\ u])\))\)\ \((\((n -
+ h\ s)\)\ BesselJ[1\/2 + n, s\ u]\ BesselY[1\/2 + n,
+ r0\ u] -
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ BesselY[1\/2 + n, r0\ u] +
+ BesselJ[1\/2 + n,
+ r0\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n,
+ s\ u] +
+ s\ u\ BesselY[3\/2 + n,
+ s\ u])\))\))\)\)/\((8\ \@r\ \@r0\ \(\((n + n\^2 - \
+s\ \((h + h\^2\ s + s\ u\^2)\))\)\ BesselJ[1\/2 + n, a\ u]\^2 + \((\((\(-n\) \
++ h\ s)\)\ BesselJ[1\/2 + n, s\ u] + s\ u\ BesselJ[3\/2 + n, s\ \
+u])\)\^2\)\/BesselJ[1\/2 + n, a\ u]\^2)\)\)\)\)], "Input"],
+
+Cell[BoxData[
+ \(\(-\(\((
+ \[Pi]\ u\^2\ BesselJ[1\/2 + n, a\ u]\^2\
+ \((\((n - h\ s)\)\ BesselJ[1\/2 + n, s\ u]\
+ BesselY[1\/2 + n, r\ u] -
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ BesselY[1\/2 + n, r\ u] +
+ BesselJ[1\/2 + n, r\ u]\
+ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n, s\ u])\))\)\
+ \((\((n - h\ s)\)\ BesselJ[1\/2 + n, s\ u]\
+ BesselY[1\/2 + n, r0\ u] -
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ BesselY[1\/2 + n, r0\ u] +
+ BesselJ[1\/2 + n, r0\ u]\
+ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n, s\ u])\))\))\)/
+ \((8\ \@r\ \@r0\
+ \((\((n + n\^2 - s\ \((h + h\^2\ s + s\ u\^2)\))\)\
+ BesselJ[1\/2 + n, a\ u]\^2 +
+ \((\((\(-n\) + h\ s)\)\ BesselJ[1\/2 + n, s\ u] +
+ s\ u\ BesselJ[3\/2 + n, s\ u])\)\^2)\))\)\)\)\)],
+ "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+P[n_,x_]=BesselY[n,x]+BesselJ[n,x]
+M[n_,x_]=BesselY[n,x]-BesselJ[n,x]\
+\>", "Input"],
+
+Cell[BoxData[
+ \(BesselJ[n, x] + BesselY[n, x]\)], "Output"],
+
+Cell[BoxData[
+ \(\(-BesselJ[n, x]\) + BesselY[n, x]\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+Solve[{PL[n,x]==BesselY[n,x]+BesselJ[n,x],
+MI[n,x]==BesselY[n,x]-BesselJ[n,x]},{BesselY[n,x],BesselJ[n,x]}]\
+\>", "Input"],
+
+Cell[BoxData[
+ \({{BesselY[n, x] \[Rule] 1\/2\ \((MI[n, x] + PL[n, x])\),
+ BesselJ[n, x] \[Rule]
+ 1\/2\ \((\(-MI[n, x]\) + PL[n, x])\)}}\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(solnBJ1 =
+ Simplify[\(-\((\[Pi]\ u\^2\ \((\((n - h\ s)\)\ BesselJ[1\/2 + n,
+ s\ u]\ BesselY[1\/2 + n, r\ u] -
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ BesselY[1\/2 + n, r\ u] +
+ BesselJ[1\/2 + n,
+ r\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n,
+ s\ u] +
+ s\ u\ BesselY[3\/2 + n, s\ u])\))\)\ \((\((n -
+ h\ s)\)\ BesselJ[1\/2 + n, s\ u]\ BesselY[1\/2 + n,
+ r0\ u] -
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ BesselY[1\/2 + n, r0\ u] +
+ BesselJ[1\/2 + n,
+ r0\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n,
+ s\ u] +
+ s\ u\ BesselY[3\/2 + n,
+ s\ u])\))\))\)\)/\((8\ \@r\ \@r0\ \((\((n +
+ n\^2 - s\ \((h + h\^2\ s +
+ s\ u\^2)\) + \((\((n - h\ s)\)\ \((BesselJ[1\/2 + \
+n, s\ u] + BesselY[1\/2 + n, s\ u])\) - s\ u\ \((BesselJ[3\/2 + n, s\ u] + \
+BesselY[3\/2 + n, s\ u])\))\)\^2\/\((BesselJ[1\/2 + n, a\ u] + BesselY[1\/2 + \
+n, a\ u])\)\^2)\))\))\)]\)], "Input"],
+
+Cell[BoxData[
+ \(\(-\(\((\[Pi]\ u\^2\ \((\((n - h\ s)\)\ BesselJ[1\/2 + n,
+ s\ u]\ BesselY[1\/2 + n, r\ u] -
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ BesselY[1\/2 + n, r\ u] +
+ BesselJ[1\/2 + n,
+ r\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n, s\ u])\))\)\ \((\((n -
+ h\ s)\)\ BesselJ[1\/2 + n, s\ u]\ BesselY[1\/2 + n,
+ r0\ u] -
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ BesselY[1\/2 + n, r0\ u] +
+ BesselJ[1\/2 + n,
+ r0\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n,
+ s\ u])\))\))\)/\((8\ \@r\ \@r0\ \((n + n\^2 -
+ s\ \((h + h\^2\ s +
+ s\ u\^2)\) + \((\((n - h\ s)\)\ \((BesselJ[1\/2 + n, s\ \
+u] + BesselY[1\/2 + n, s\ u])\) - s\ u\ \((BesselJ[3\/2 + n, s\ u] + \
+BesselY[3\/2 + n, s\ u])\))\)\^2\/\((BesselJ[1\/2 + n, a\ u] + BesselY[1\/2 + \
+n, a\ u])\)\^2)\))\)\)\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["siso=Solve[FullSimplify[equationj/.n->0]==0,Sin[(a-s) u]]", "Input"],
+
+Cell[BoxData[
+ \({{Sin[\((a - s)\)\ u] \[Rule] \(-\(\(s\ u\ Cos[\((a - s)\)\ u]\)\/\(1 +
+ h\ s\)\)\)}}\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(FullSimplify[
+ Simplify[\(-\((\[Pi]\ u\^2\ \((\((n - h\ s)\)\ BesselJ[1\/2 + n,
+ s\ u]\ BesselY[1\/2 + n, r\ u] -
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ BesselY[1\/2 + n,
+ r\ u] +
+ BesselJ[1\/2 + n,
+ r\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n,
+ s\ u] +
+ s\ u\ BesselY[3\/2 + n, s\ u])\))\)\ \((\((n -
+ h\ s)\)\ BesselJ[1\/2 + n, s\ u]\ BesselY[
+ 1\/2 + n, r0\ u] -
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ BesselY[1\/2 + n,
+ r0\ u] +
+ BesselJ[1\/2 + n,
+ r0\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n,
+ s\ u] +
+ s\ u\ BesselY[3\/2 + n,
+ s\ u])\))\))\)\)/\((8\ \@r\ \@r0\ \(\((n + \
+n\^2 - s\ \((h + h\^2\ s + s\ u\^2)\))\)\ BesselJ[1\/2 + n, a\ u]\^2 + \((\((\
+\(-n\) + h\ s)\)\ BesselJ[1\/2 + n, s\ u] + s\ u\ BesselJ[3\/2 + n, s\ \
+u])\)\^2\)\/BesselJ[1\/2 + n, a\ u]\^2)\) /. n \[Rule] 0]]\)], "Input"],
+
+Cell[BoxData[
+ \(\(\@\(r\ u\)\ Sin[a\ u]\^2\ \((s\ u\ Cos[\((r - s)\)\ u] + \((1 + h\ s)\
+\)\ Sin[\((r - s)\)\ u])\)\ \((s\ u\ Cos[\((r0 - s)\)\ u] + \((1 + h\ s)\)\ \
+Sin[\((r0 - s)\)\ u])\)\)\/\(2\ \[Pi]\ r\^\(3/2\)\ \@r0\ \@\(r0\ u\)\ \((\(-a\
+\)\ s\^2\ u\^2\ Cos[s\ u]\^2 + s\^2\ \((h + h\^2\ s + s\ u\^2)\)\ Sin[a\ \
+u]\^2 + a\ \((1 + h\ s)\)\ \((\(-\((1 + h\ s)\)\)\ Sin[s\ u]\^2 + s\ u\ Sin[2\
+\ s\ u])\))\)\)\)], "Output"]
+}, Open ]],
+
+Cell["", "Input"],
+
+Cell[CellGroupData[{
+
+Cell["FullSimplify[perfnBJ/.n->0,]", "Input"],
+
+Cell[BoxData[
+ \(\(-\(\(\[ExponentialE]\^\(\(-\[ImaginaryI]\)\ \((a - s)\)\ u\)\ \@\(r\ \
+u\)\ \((s\ u\ Cos[\((r - s)\)\ u] + \((1 +
+ h\ s)\)\ Sin[\((r - s)\)\ u])\)\ \((s\ u\ Cos[\((r0 -
+ s)\)\ u] + \((1 +
+ h\ s)\)\ Sin[\((r0 -
+ s)\)\ u])\)\)\/\(2\ \[Pi]\ r\^\(3/2\)\ \@r0\ \@\(r0\
+\ u\)\ \((\((a\ \((1 + h\ s + \[ImaginaryI]\ s\ u)\)\^2 -
+ s\^2\ \((h + h\^2\ s + s\ u\^2)\))\)\ Cos[\((a -
+ s)\)\ u] + \[ImaginaryI]\ \((a\ \((1 + h\ s + \
+\[ImaginaryI]\ s\ u)\)\^2 +
+ s\^2\ \((h + h\^2\ s + s\ u\^2)\))\)\ Sin[\((a -
+ s)\)\ u])\)\)\)\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["perfnBJ", "Input"],
+
+Cell[BoxData[
+ \(\(-\(\((\[Pi]\ u\^2\ \((\((n - h\ s)\)\ BesselJ[1\/2 + n,
+ s\ u]\ BesselY[1\/2 + n, r\ u] -
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ BesselY[1\/2 + n, r\ u] +
+ BesselJ[1\/2 + n,
+ r\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n, s\ u])\))\)\ \((\((n -
+ h\ s)\)\ BesselJ[1\/2 + n, s\ u]\ BesselY[1\/2 + n,
+ r0\ u] -
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ BesselY[1\/2 + n, r0\ u] +
+ BesselJ[1\/2 + n,
+ r0\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n,
+ s\ u])\))\))\)/\((8\ \@r\ \@r0\ \((\((n - h\ s)\)\ \
+BesselJ[1\/2 + n, s\ u] - s\ u\ BesselJ[3\/2 + n, s\ u] + \[ImaginaryI]\ \
+\((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] + s\ u\ BesselY[3\/2 + n, s\ \
+u])\))\)\^2\ \((1\/\((BesselJ[1\/2 + n, a\ u] - \[ImaginaryI]\ BesselY[1\/2 + \
+n, a\ u])\)\^2 + \((n + n\^2 -
+ s\ \((h + h\^2\ s +
+ s\ u\^2)\))\)/\((\((\(-n\) + h\ s)\)\ \
+BesselJ[1\/2 + n, s\ u] + s\ u\ BesselJ[3\/2 + n, s\ u] - \[ImaginaryI]\ \
+\((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] + s\ u\ BesselY[3\/2 + n, s\ \
+u])\))\)\^2)\))\)\)\)\)], "Output"]
+}, Open ]],
+
+Cell["The final solution", "Input"],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(solnBJY = \((1 +
+ 2\ n)\) \((\[Pi]\ u\^2\ \((\((\((n - h\ s)\)\ BesselJ[1\/2 + n,
+ s\ u]\ -
+ s\ u\ BesselJ[3\/2 + n, s\ u])\)\ BesselY[1\/2 + n,
+ r\ u] +
+ BesselJ[1\/2 + n,
+ r\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n,
+ s\ u] +
+ s\ u\ BesselY[3\/2 + n,
+ s\ u])\))\)\ \((\((\((n - h\ s)\)\ BesselJ[
+ 1\/2 + n, s\ u]\ -
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ )\)
+ BesselY[1\/2 + n, r0\ u] +
+ BesselJ[1\/2 + n,
+ r0\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n,
+ s\ u] +
+ s\ u\ BesselY[3\/2 + n,
+ s\ u])\))\))\)/\((8\ \@r\ \(\@r0\) \((\
+ n + n\^2 -
+ s\ \((h + h\^2\ s +
+ s\ u\^2)\) + \((\((\((\(-n\) + h\ s)\)\ BesselJ[1\/2 \
++ n, s\ u] + s\ u\ BesselJ[3\/2 + n, s\ u])\)\^2 + \((\((\(-n\) + h\ s)\)\ \
+BesselY[1\/2 + n, s\ u] + s\ u\ BesselY[3\/2 + n, s\ u])\)\^2)\)/\((BesselJ[1\
+\/2 + n, a\ u]\^2 + BesselY[1\/2 + n, a\ u]\^2)\))\))\)\)], "Input"],
+
+Cell[BoxData[
+ \(\((\((1 +
+ 2\ n)\)\ \[Pi]\ u\^2\ \((\((\((n - h\ s)\)\ BesselJ[1\/2 + n,
+ s\ u] - s\ u\ BesselJ[3\/2 + n, s\ u])\)\ BesselY[
+ 1\/2 + n, r\ u] +
+ BesselJ[1\/2 + n,
+ r\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n,
+ s\ u])\))\)\ \((\((\((n - h\ s)\)\ BesselJ[1\/2 + n,
+ s\ u] - s\ u\ BesselJ[3\/2 + n, s\ u])\)\ BesselY[
+ 1\/2 + n, r0\ u] +
+ BesselJ[1\/2 + n,
+ r0\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n,
+ s\ u])\))\))\)/\((8\ \@r\ \@r0\ \((n + n\^2 -
+ s\ \((h + h\^2\ s +
+ s\ u\^2)\) + \((\((\((\(-n\) + h\ s)\)\ BesselJ[1\/2 + n, \
+s\ u] + s\ u\ BesselJ[3\/2 + n, s\ u])\)\^2 + \((\((\(-n\) + h\ s)\)\ \
+BesselY[1\/2 + n, s\ u] + s\ u\ BesselY[3\/2 + n, s\ u])\)\^2)\)/\((BesselJ[1\
+\/2 + n, a\ u]\^2 + BesselY[1\/2 + n, a\ u]\^2)\))\))\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(\(\(\[IndentingNewLine]\)\(\[IndentingNewLine]\)\(\((FullSimplify[
+ Expand[\((\((n - h\ s)\)\ BesselJ[1\/2 + n, s\ u] - s\ u\ BesselJ[3\
+\/2 + n, s\ u] + \[ImaginaryI]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ \
+u] + s\ u\ BesselY[3\/2 + n, s\ u])\))\)\^2/\((BesselJ[1\/2 + n, a\ u] - \
+\[ImaginaryI]\ BesselY[1\/2 + n, a\ u])\)\^2 di1/di2]] +
+ FullSimplify[
+ n + n\^2 - s\ \((h + h\^2\ s + s\ u\^2)\)])\)\[IndentingNewLine]
+ FullSimplify[
+ 1\/\((BesselJ[1\/2 + n, a\ u] + \[ImaginaryI]\ BesselY[1\/2 + n, a\ u])\
+\) /. n \[Rule] 0]\[IndentingNewLine]
+ FullSimplify[\((\((n - h\ s)\)\ BesselJ[1\/2 + n, s\ u] - s\ u\ BesselJ[3\
+\/2 + n, s\ u] + \[ImaginaryI]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ \
+u] + s\ u\ BesselY[3\/2 + n, s\ u])\))\)\/1 /.
+ n \[Rule] 0]\[IndentingNewLine]
+ si = Collect[
+ equationk/\((\(1\/\((BesselJ[1\/2 + n,
+ a\ u] + \[ImaginaryI]\ BesselY[1\/2 + n,
+ a\ u])\)\) \(\(1\/1\)\((\((n - h\ s)\)\ BesselJ[
+ 1\/2 + n, s\ u] -
+ s\ u\ BesselJ[3\/2 + n,
+ s\ u] + \[ImaginaryI]\ \((\((\(-n\) +
+ h\ s)\)\ BesselY[1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n, s\ u])\))\)\))\) /. trans,
+ BesselY[1\/2 + n, a\ u], FullSimplify]\[IndentingNewLine]
+ Simplify[
+ equationk/\((\((\((n - h\ s)\)\ BesselJ[1\/2 + n, s\ u] - s\ u\ \
+BesselJ[3\/2 + n, s\ u] + \[ImaginaryI]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 \
++ n, s\ u] + s\ u\ BesselY[3\/2 + n, s\ u])\))\)\/\((BesselJ[1\/2 + n, a\ u] \
++ \[ImaginaryI]\ BesselY[1\/2 + n, a\ u])\))\) /. {q \[Rule] \ u\ I,
+ n \[Rule] 0}]\[IndentingNewLine]
+ FullSimplify[\(si/I\)/Pi*4 - di1 + di2]\[IndentingNewLine]
+ di1 =
+ FullSimplify[\(si/I\)/Pi*4 - \ \((\
+ BesselJ[1\/2 + n, a\ u]^2)\) + \ \((\
+ BesselY[1\/2 + n, a\ u]^2)\) +
+ 1\/2\ \[Pi]\ BesselJ[1\/2 + n, a\ u]\ \(BesselY[1\/2 + n, a\ u]/I\)/
+ Pi*4]\[IndentingNewLine]
+ di2 =
+ Simplify[\((\ \(-\ \((\ BesselJ[1\/2 + n, a\ u]^2)\)\) + \ \((\
+ BesselY[1\/2 + n, a\ u]^2)\) +
+ 1\/2\ \[Pi]\ BesselJ[1\/2 + n,
+ a\ u]\ \(BesselY[1\/2 + n, a\ u]/I\)/
+ Pi*4)\)]\[IndentingNewLine]\[IndentingNewLine]
+ \)\)\)], "Input"],
+
+Cell[BoxData[
+ \(n + n\^2 -
+ s\ \((h + h\^2\ s +
+ s\ u\^2)\) + \((\((n - h\ s)\)\^2\ BesselJ[1\/2 + n, s\ u]\^2 +
+ 2\ s\ \((\(-n\) + h\ s)\)\ u\ BesselJ[1\/2 + n, s\ u]\ BesselJ[
+ 3\/2 + n, s\ u] +
+ s\^2\ u\^2\ BesselJ[3\/2 + n, s\ u]\^2 + \((\((\(-n\) + h\ s)\)\ \
+BesselY[1\/2 + n, s\ u] + s\ u\ BesselY[3\/2 + n, s\ u])\)\^2)\)/\((BesselJ[1\
+\/2 + n, a\ u]\^2 + BesselY[1\/2 + n, a\ u]\^2)\)\)], "Output"],
+
+Cell[BoxData[
+ \(\[ImaginaryI]\ \[ExponentialE]\^\(\(-\[ImaginaryI]\)\ a\ u\)\ \@\(\[Pi]\
+\/2\)\ \@\(a\ u\)\)], "Output"],
+
+Cell[BoxData[
+ \(\(\[ExponentialE]\^\(\(-\[ImaginaryI]\)\ s\ u\)\ \@\(2\/\[Pi]\)\ \((\(-\
+\[ImaginaryI]\)\ \((1 + h\ s)\) + s\ u)\)\)\/\@\(s\ u\)\)], "Output"],
+
+Cell[BoxData[
+ \(\(-\(1\/2\)\)\ \[Pi]\ BesselJ[1\/2 + n, a\ u]\ BesselY[1\/2 + n,
+ a\ u] - \(\[Pi]\ BesselJ[1\/2 + n, a\ u]\^2\ \((\((n - h\ s)\)\ \
+BesselY[1\/2 + n, s\ u] - s\ u\ BesselY[3\/2 + n, s\ u])\)\)\/\(2\ \((\((\(-n\
+\) + h\ s)\)\ BesselJ[1\/2 + n, s\ u] + s\ u\ BesselJ[3\/2 + n, s\ u] + \
+\[ImaginaryI]\ \((\((n - h\ s)\)\ BesselY[1\/2 + n, s\ u] - s\ u\ \
+BesselY[3\/2 + n, s\ u])\))\)\) - \(\[ImaginaryI]\ \[Pi]\ \((\((n - h\ s)\)\ \
+BesselJ[1\/2 + n, s\ u] - s\ u\ BesselJ[3\/2 + n, s\ u])\)\ BesselY[1\/2 + n, \
+a\ u]\^2\)\/\(2\ \((n - h\ s)\)\ BesselJ[1\/2 + n, s\ u] - 2\ s\ u\ BesselJ[3\
+\/2 + n, s\ u] + 2\ \[ImaginaryI]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, \
+s\ u] + s\ u\ BesselY[3\/2 + n, s\ u])\)\)\)], "Output"],
+
+Cell[BoxData[
+ \(\(\[ImaginaryI]\ \@\(s\ u\)\ \((\[ExponentialE]\^\(2\ \[ImaginaryI]\ a\ \
+u\)\ \((\(-\[ImaginaryI]\) - \[ImaginaryI]\ h\ s + s\ u)\) + \
+\[ExponentialE]\^\(2\ \[ImaginaryI]\ s\ u\)\ \((\[ImaginaryI] + \[ImaginaryI]\
+\ h\ s + s\ u)\))\)\)\/\(2\ \@\(\[ImaginaryI]\ a\ u\)\ \@\(a\ u\)\ \@\(\
+\[ImaginaryI]\ s\ u\)\ \((1 + h\ s + \[ImaginaryI]\ s\ u)\)\)\)], "Output"],
+
+Cell[BoxData[
+ \(0\)], "Output"],
+
+Cell[BoxData[
+ \(\(-\(\((\((BesselJ[1\/2 + n, a\ u]\^2 +
+ BesselY[1\/2 + n, a\ u]\^2)\)\ \((\((n - h\ s)\)\ BesselJ[
+ 1\/2 + n, s\ u] -
+ s\ u\ BesselJ[3\/2 + n,
+ s\ u] + \[ImaginaryI]\ \((\((n - h\ s)\)\ BesselY[
+ 1\/2 + n, s\ u] -
+ s\ u\ BesselY[3\/2 + n, s\ u])\))\))\)/\((\((n -
+ h\ s)\)\ BesselJ[1\/2 + n, s\ u] -
+ s\ u\ BesselJ[3\/2 + n,
+ s\ u] + \[ImaginaryI]\ \((\((\(-n\) + h\ s)\)\ BesselY[
+ 1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n, s\ u])\))\)\)\)\)], "Output"],
+
+Cell[BoxData[
+ \(\(-\((BesselJ[1\/2 + n, a\ u] + \[ImaginaryI]\ BesselY[1\/2 + n, a\ u])\
+\)\^2\)\)], "Output"]
+}, Open ]],
+
+Cell["The solution from the bible at n=0", "Input"],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+R[r_]=(Sqrt[H^2+b^2k2^2al^2](G Sin[(r-a)al]+a k1 al \
+Cos[(r-a)al]))/Sqrt[(b-a)(a^2k1^2al^2+G^2)(H^2+b^2k2^2al^2)+(H a k1+G b k2)(G \
+H + a b k2 k1 al^2)]\
+\>", "Input"],
+
+Cell[BoxData[
+ \(\(\@\(H\^2 + al\^2\ b\^2\ k2\^2\)\ \((a\ al\ k1\ Cos[al\ \((\(-a\) + r)\
+\)] + G\ Sin[al\ \((\(-a\) + r)\)])\)\)\/\@\(\((a\ H\ k1 + b\ G\ k2)\)\ \((G\ \
+H + a\ al\^2\ b\ k1\ k2)\) + \((\(-a\) + b)\)\ \((G\^2 + a\^2\ al\^2\ \
+k1\^2)\)\ \((H\^2 + al\^2\ b\^2\ k2\^2)\)\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(\(\(\[IndentingNewLine]\)\(p = {k1 \[Rule] 1, h1 \[Rule] h,
+ a \[Rule] s, k2 \[Rule] 0, h2 \[Rule] 1, b \[Rule] ae,
+ G \[Rule] 1 + h\ s, H \[Rule] ae}\)\)\)], "Input"],
+
+Cell[BoxData[
+ \({k1 \[Rule] 1, h1 \[Rule] h, a \[Rule] s, k2 \[Rule] 0, h2 \[Rule] 1,
+ b \[Rule] ae, G \[Rule] 1 + h\ s, H \[Rule] ae}\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["books=FullSimplify[1 /( 2 Pi r r0) R[r] R[r0]/.p]", "Input"],
+
+Cell[BoxData[
+ \(\(\((al\ s\ Cos[al\ \((r - s)\)] + \((1 + h\ s)\)\ Sin[al\ \((r - \
+s)\)])\)\ \((al\ s\ Cos[al\ \((r0 - s)\)] + \((1 + h\ s)\)\ Sin[al\ \((r0 - \
+s)\)])\)\)\/\(2\ \[Pi]\ r\ r0\ \((s\ \((1 + h\ s)\) + \((ae - s)\)\ \((al\^2\ \
+s\^2 + \((1 + h\ s)\)\^2)\))\)\)\)], "Output"]
+}, Open ]],
+
+Cell["Where al is the solution of", "Input"],
+
+Cell[CellGroupData[{
+
+Cell["FullSimplify[equationk/.{n->0, q->I al}]", "Input"],
+
+Cell[BoxData[
+ \(\(\[ImaginaryI]\ \((al\ s\ Cos[al\ \((a - s)\)] + \((1 + h\ s)\)\ \
+Sin[al\ \((a - s)\)])\)\)\/\(\@\(\[ImaginaryI]\ a\ al\)\ \@\(\[ImaginaryI]\ \
+al\ s\)\)\)], "Output",
+ GeneratedCell->False,
+ CellAutoOverwrite->False]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["(al s Cos[al (a-s)]+(1+h s) Sin[al (a-s)])//TeXForm", "Input"],
+
+Cell["\<\
+\\text{al} s \\cos (\\text{al} (a-s))+(h s+1) \\sin (\\text{al} (a-s))\
+\>", "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["me=FullSimplify[solnBJY/.n->0]", "Input"],
+
+Cell[BoxData[
+ \(\(\@\(r\ u\)\ \((s\ u\ Cos[\((r - s)\)\ u] + \((1 + h\ s)\)\ Sin[\((r - \
+s)\)\ u])\)\ \((s\ u\ Cos[\((r0 - s)\)\ u] + \((1 + h\ s)\)\ Sin[\((r0 - s)\)\
+\ u])\)\)\/\(2\ \[Pi]\ r\^\(3/2\)\ \@r0\ \@\(r0\ u\)\ \((\((1 + h\ s)\)\ \((a \
++ a\ h\ s - h\ s\^2)\) + \((a - s)\)\ s\^2\ u\^2)\)\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["FullSimplify[me/books/.{ae->a,u->al}]", "Input"],
+
+Cell[BoxData[
+ \(\(\@\(al\ r\)\ \@r0\)\/\(\@r\ \@\(al\ r0\)\)\)], "Output"]
+}, Open ]],
+
+Cell["\<\
+
+There is a good moment to look at the survival equation
+
+\
+\>", "Input"],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(surv[r_, r0_, u_] =
+ FullSimplify[
+ Exp[\(-D\)\ u^2\ t]
+ \(\ \((s\ u\ Cos[\((r - s)\)\ u] +
+ \((1 + h\ s)\)\ Sin[\((r - s)\)\ u])\)\
+ \((s\ u\ Cos[\((r0 - s)\)\ u] +
+ \((1 + h\ s)\)\ Sin[\((r0 - s)\)\ u])\)\)\/\(2\ \[Pi]\ r\ \
+ r0\ \ \((
+ \((1 + h\ s)\)\ \((a + a\ h\ s - h\ s\^2)\) +
+ \((a - s)\)\ s\^2\ u\^2)\)\)]\)], "Input"],
+
+Cell[BoxData[
+ \(\(E\^\(\(-D\)\ t\ u\^2\)\
+ \((s\ u\ Cos[\((r - s)\)\ u] + \((1 + h\ s)\)\ Sin[\((r - s)\)\ u])
+ \)\ \((s\ u\ Cos[\((r0 - s)\)\ u] +
+ \((1 + h\ s)\)\ Sin[\((r0 - s)\)\ u])\)\)\/\(2\ \[Pi]\ r\ r0\
+ \((\((1 + h\ s)\)\ \((a + a\ h\ s - h\ s\^2)\) +
+ \((a - s)\)\ s\^2\ u\^2)\)\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["surv[r,r0,u]//TeXForm", "Input"],
+
+Cell["\<\
+\\frac{e^{-D t u^2} (s u \\cos ((r-s) u)+(h s+1) \\sin ((r-s) u)) (s u \\cos \
+((\\text{r0}-s) u)+(h s+1) \\sin ((\\text{r0}-s) u))}{2 \\pi r \\text{r0}
+ \\left((a-s) s^2 u^2+(h s+1) \\left(-h s^2+a h s+a\\right)\\right)}\
+\>", "Output"]
+}, Open ]],
+
+Cell[BoxData[
+ \(The\ decay\ of\ the\ survival\ function\)], "Input"],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+dsdt=FullSimplify[Integrate[D[4 Pi r^2 surv[r,r0,u],t],{r,s,a}]]\
+\>", "Input"],
+
+Cell[BoxData[
+ \(\(2\ D\ E\^\(\(-D\)\ t\ u\^2\)\
+ \((h\ s\^2\ u - \((a - s + a\ h\ s)\)\ u\ Cos[\((a - s)\)\ u] +
+ \((1 + h\ s + a\ s\ u\^2)\)\ Sin[\((a - s)\)\ u])\)\
+ \((s\ u\ Cos[\((r0 - s)\)\ u] + \((1 + h\ s)\)\ Sin[\((r0 - s)\)\ u])
+ \)\)\/\(r0\ \((1 + h\ s)\)\ \((h\ s\^2 - a\ \((1 + h\ s)\))\) +
+ r0\ s\^2\ \((\(-a\) + s)\)\ u\^2\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["leavea=FullSimplify[D D[surv[r,r0,u],r]/.{r->a}]", "Input"],
+
+Cell[BoxData[
+ \(\(-\(\(D\ E\^\(\(-D\)\ t\ u\^2\)\
+ \((\(-\((a - s + a\ h\ s)\)\)\ u\ Cos[\((a - s)\)\ u] +
+ \((1 + h\ s + a\ s\ u\^2)\)\ Sin[\((a - s)\)\ u])\)\
+ \((s\ u\ Cos[\((r0 - s)\)\ u] +
+ \((1 + h\ s)\)\ Sin[\((r0 - s)\)\ u])\)\)\/\(2\ a\^2\ \[Pi]\
+ r0\ \((\((1 + h\ s)\)\ \((a + a\ h\ s - h\ s\^2)\) +
+ \((a - s)\)\ s\^2\ u\^2)\)\)\)\)\)], "Output"]
+}, Open ]],
+
+Cell["The solution is correct", "Input"],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+FullSimplify[FullSimplify[D D[D[surv[r,r0,u],r],r]]+2 FullSimplify[D \
+D[surv[r,r0,u],r]/r]+FullSimplify[-D[surv[r,r0,u],t]]]\
+\>", "Input"],
+
+Cell[BoxData[
+ \(0\)], "Output"]
+}, Open ]],
+
+Cell["The solution has the good limit at r=s", "Input"],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[{
+ \(\[IndentingNewLine]leaves =
+ FullSimplify[\ \(-\ D\)\ D[surv[r, r0, u], r] /. {r \[Rule] s}]\n\t\t\t
+ \),
+ \(leaves =
+ FullSimplify[\(-\ D\)\ h\ surv[r, r0, u] /. {r \[Rule] s}]\)}], "Input"],
+
+Cell[BoxData[
+ \(\(D\ E\^\(\(-D\)\ t\ u\^2\)\ h\ u\
+ \((s\ u\ Cos[\((r0 - s)\)\ u] + \((1 + h\ s)\)\ Sin[\((r0 - s)\)\ u])
+ \)\)\/\(\(-2\)\ \[Pi]\ r0\ \((1 + h\ s)\)\
+ \((a + a\ h\ s - h\ s\^2)\) -
+ 2\ \[Pi]\ r0\ \((a - s)\)\ s\^2\ u\^2\)\)], "Output"],
+
+Cell[BoxData[
+ \(\(D\ E\^\(\(-D\)\ t\ u\^2\)\ h\ u\
+ \((s\ u\ Cos[\((r0 - s)\)\ u] + \((1 + h\ s)\)\ Sin[\((r0 - s)\)\ u])
+ \)\)\/\(\(-2\)\ \[Pi]\ r0\ \((1 + h\ s)\)\
+ \((a + a\ h\ s - h\ s\^2)\) -
+ 2\ \[Pi]\ r0\ \((a - s)\)\ s\^2\ u\^2\)\)], "Output"]
+}, Open ]],
+
+Cell[BoxData[
+ \(So\ the\ total\ decay\ is\)], "Input"],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(\(\nFullSimplify[dsdt - leavea\ *\ 4\ Pi\ a^2 - leaves*4\ \ Pi\ s^2]
+ \)\)], "Input"],
+
+Cell[BoxData[
+ \(0\)], "Output"]
+}, Open ]],
+
+Cell["Verify also also the limit r = a", "Input"],
+
+Cell[CellGroupData[{
+
+Cell["surv[a,r0,u]", "Input"],
+
+Cell[BoxData[
+ \(\(\[ExponentialE]\^\(\(-D\)\ t\ u\^2\)\ \((s\ u\ Cos[\((a - s)\)\ u] + \
+\((1 + h\ s)\)\ Sin[\((a - s)\)\ u])\)\ \((s\ u\ Cos[\((r0 - s)\)\ u] + \((1 \
++ h\ s)\)\ Sin[\((r0 - s)\)\ u])\)\)\/\(2\ a\ \[Pi]\ r0\ \((\((1 + h\ s)\)\ \
+\((a + a\ h\ s - h\ s\^2)\) + \((a - s)\)\ s\^2\ u\^2)\)\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["solnBJY", "Input"],
+
+Cell[BoxData[
+ \(\((\((1 +
+ 2\ n)\)\ \[Pi]\ u\^2\ \((\((\((n - h\ s)\)\ BesselJ[1\/2 + n,
+ s\ u] - s\ u\ BesselJ[3\/2 + n, s\ u])\)\ BesselY[
+ 1\/2 + n, r\ u] +
+ BesselJ[1\/2 + n,
+ r\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n,
+ s\ u])\))\)\ \((\((\((n - h\ s)\)\ BesselJ[1\/2 + n,
+ s\ u] - s\ u\ BesselJ[3\/2 + n, s\ u])\)\ BesselY[
+ 1\/2 + n, r0\ u] +
+ BesselJ[1\/2 + n,
+ r0\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n,
+ s\ u])\))\))\)/\((8\ \@r\ \@r0\ \((n + n\^2 -
+ s\ \((h + h\^2\ s +
+ s\ u\^2)\) + \(\((\((\(-n\) + h\ s)\)\ BesselJ[1\/2 + n, \
+s\ u] + s\ u\ BesselJ[3\/2 + n, s\ u])\)\^2 + \((\((\(-n\) + h\ s)\)\ \
+BesselY[1\/2 + n, s\ u] + s\ u\ BesselY[3\/2 + n, s\ \
+u])\)\^2\)\/\(BesselJ[1\/2 + n, a\ u]\^2 + BesselY[1\/2 + n, a\ u]\^2\))\))\)\
+\)], "Output"]
+}, Open ]],
+
+Cell[BoxData[
+ \(\(\(\[IndentingNewLine]\)\(The\ term\ \ \((\((\(-n\) + h\ s)\)\ BesselY[
+ 1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n,
+ s\ u])\)\ goes\ to\ infinity, \ \(so\ we\ have\ to\ take\ it\ \
+out ... \)\ What\ remains\ \(\(is\)\(:\)\)\)\)\)], "Input"],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(\(\(\[IndentingNewLine]\)\(FullSimplify[\((\((1 +
+ 2\ n)\)\ \[Pi]\ u\^2\ \((BesselJ[1\/2 + n,
+ r\ u]\ )\)\ \((BesselJ[1\/2 + n,
+ r0\ u]\ )\))\)/\((8\ \@r\ \@r0\ \((1\/\(BesselJ[1\/2 + n, a\ \
+u]\^2 + BesselY[1\/2 + n, a\ u]\^2\))\))\)]\)\)\)], "Input"],
+
+Cell[BoxData[
+ \(\(\((1 + 2\ n)\)\ \[Pi]\ u\^2\ BesselJ[1\/2 + n, r\ u]\ BesselJ[1\/2 + \
+n, r0\ u]\ \((BesselJ[1\/2 + n, a\ u]\^2 + BesselY[1\/2 + n, a\ \
+u]\^2)\)\)\/\(8\ \@r\ \@r0\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["Simplify[equationj/.s->0]", "Input"],
+
+Cell[BoxData[
+ \(1\/2\ n\ \[Pi]\ \((BesselJ[1\/2 + n, a\ u]\ BesselY[1\/2 + n, 0] -
+ BesselJ[1\/2 + n, 0]\ BesselY[1\/2 + n, a\ u])\)\)], "Output"]
+}, Open ]],
+
+Cell[BoxData[
+ \(So\ the\ equation\ defining\ u\ is\ \ \ BesselJ[1\/2 + n,
+ a\ u]\ \[Equal] 0\)], "Input"],
+
+Cell["\<\
+We obtain thus the equation 8 page 382 section 14.16 using the relation 20 \
+appendix III\
+\>", "Input"],
+
+Cell["", "Input"],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[{
+ \(FullSimplify[\ BesselY[1\/2 + 2, 0]]\), "\[IndentingNewLine]",
+ \(FullSimplify[\ BesselJ[1\/2 + 2, 0]]\)}], "Input"],
+
+Cell[BoxData[
+ \(ComplexInfinity\)], "Output"],
+
+Cell[BoxData[
+ \(0\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(FullSimplify[\(\((\((\(-n\) + h\ s)\)\ BesselJ[1\/2 + n, s\ u] + s\ u\ \
+BesselJ[3\/2 + n, s\ u])\)\^2 + \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ \
+u] + s\ u\ BesselY[3\/2 + n, s\ u])\)\^2\)\/\(BesselJ[1\/2 + n, a\ u]\^2 + \
+BesselY[1\/2 + n, a\ u]\^2\) /. n \[Rule] 2]\)], "Input"],
+
+Cell[BoxData[
+ \(\(a\^5\ \((9\ \((3 + h\ s)\)\^2 + 3\ s\^2\ \((1 + h\ s)\)\ \((3 + h\ s)\
+\)\ u\^2 + s\^4\ \((\(-2\) + h\ s\ \((2 + h\ s)\))\)\ u\^4 + s\^6\ \
+u\^6)\)\)\/\(s\^5\ \((9 + 3\ a\^2\ u\^2 + a\^4\ u\^4)\)\)\)], "Output"]
+}, Open ]],
+
+Cell["Solution of the GFRD for the A+B<->C->something and ", "Input"],
+
+Cell["First, about the separation", "Input"],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+Clear[R,r]
+FullSimplify[Solve[{R==(a rA+ b rB)/(a+b), r==rA-rB},{rA,rB}]]\
+\>", "Input"],
+
+Cell[BoxData[
+ \({{rA \[Rule] \(b\ r\)\/\(a + b\) + R,
+ rB \[Rule] \(-\(\(a\ r\)\/\(a + b\)\)\) + R}}\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+ R=(a rA+b rB)/(a+b)
+ r=rA-rB\
+\>", "Input"],
+
+Cell[BoxData[
+ \(\(a\ rA + b\ rB\)\/\(a + b\)\)], "Output"],
+
+Cell[BoxData[
+ \(rA - rB\)], "Output"]
+}, Open ]],
+
+Cell["", "Input"],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+FullSimplify[DA(D[R,rA])^2+DB(D[R,rB])^2]
+DA(D[r,rA])^2+DB(D[r,rB])^2\
+\>", "Input"],
+
+Cell[BoxData[
+ \(\(a\^2\ DA + b\^2\ DB\)\/\((a + b)\)\^2\)], "Output"],
+
+Cell[BoxData[
+ \(DA + DB\)], "Output"]
+}, Open ]],
+
+Cell["Let us start with the decay of C ", "Input"],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+p0[q_,r_]= A BesselI[1/2,r q^2]+B BesselK[1/2,r q^2]
+
+FullSimplify[Solve[ {p1==(d + h p0[q,s]-(h0+hc) p1)q^2, D[p0[q,r],r]== h \
+p0[q,s]-h0 p1,p0[q,a]==0},{A,B,p1}]]\
+\>", "Input"],
+
+Cell[BoxData[
+ \(\(B\ \[ExponentialE]\^\(\(-q\^2\)\ r\)\ \@\(\[Pi]\/2\)\)\/\@\(q\^2\ r\) \
++ \(A\ \@\(2\/\[Pi]\)\ Sinh[q\^2\ r]\)\/\@\(q\^2\ r\)\)], "Output"],
+
+Cell[BoxData[
+ \({{p1 \[Rule] \(d\ q\^2\ \((\[ExponentialE]\^\(q\^2\ \((2\ r + s)\)\)\ q\
+\^2\ \((\(-1\) + 2\ q\^2\ r)\)\ s + \[ExponentialE]\^\(q\^2\ \((2\ a + s)\)\)\
+\ q\^2\ \((1 + 2\ q\^2\ r)\)\ s + 2\ \[ExponentialE]\^\(q\^2\ \((2\ a + \
+r)\)\)\ h\ r\ \@\(q\^2\ r\)\ \@\(q\^2\ s\) - 2\ \[ExponentialE]\^\(q\^2\ \((r \
++ 2\ s)\)\)\ h\ r\ \@\(q\^2\ r\)\ \@\(q\^2\ \
+s\))\)\)\/\(\[ExponentialE]\^\(q\^2\ \((2\ r + s)\)\)\ q\^2\ \((1 + \((h0 + \
+hc)\)\ q\^2)\)\ \((\(-1\) + 2\ q\^2\ r)\)\ s + \[ExponentialE]\^\(q\^2\ \((2\ \
+a + s)\)\)\ q\^2\ \((1 + \((h0 + hc)\)\ q\^2)\)\ \((1 + 2\ q\^2\ r)\)\ s + 2\ \
+\[ExponentialE]\^\(q\^2\ \((2\ a + r)\)\)\ h\ \((1 + hc\ q\^2)\)\ r\ \@\(q\^2\
+\ r\)\ \@\(q\^2\ s\) - 2\ \[ExponentialE]\^\(q\^2\ \((r + 2\ s)\)\)\ h\ \((1 \
++ hc\ q\^2)\)\ r\ \@\(q\^2\ r\)\ \@\(q\^2\ s\)\),
+ A \[Rule] \(-\(\(2\ d\ \[ExponentialE]\^\(q\^2\ \((r + s)\)\)\ h0\ \@\
+\(2\ \[Pi]\)\ q\^2\ \((q\^2\ r)\)\^\(3/2\)\ s\)\/\(\[ExponentialE]\^\(q\^2\ \
+\((2\ r + s)\)\)\ q\^2\ \((1 + \((h0 + hc)\)\ q\^2)\)\ \((\(-1\) +
+ 2\ q\^2\ r)\)\ s + \[ExponentialE]\^\(q\^2\ \((2\ a + \
+s)\)\)\ q\^2\ \((1 + \((h0 + hc)\)\ q\^2)\)\ \((1 + 2\ q\^2\ r)\)\ s +
+ 2\ \[ExponentialE]\^\(q\^2\ \((2\ a + r)\)\)\ h\ \((1 +
+ hc\ q\^2)\)\ r\ \@\(q\^2\ r\)\ \@\(q\^2\ s\) -
+ 2\ \[ExponentialE]\^\(q\^2\ \((r + 2\ s)\)\)\ h\ \((1 +
+ hc\ q\^2)\)\ r\ \@\(q\^2\ r\)\ \@\(q\^2\ s\)\)\)\),
+ B \[Rule] \(2\ d\ \[ExponentialE]\^\(q\^2\ \((r + s)\)\)\ \((\(-1\) + \
+\[ExponentialE]\^\(2\ a\ q\^2\))\)\ h0\ \@\(2\/\[Pi]\)\ q\^2\ \((q\^2\ r)\)\^\
+\(3/2\)\ s\)\/\(\[ExponentialE]\^\(q\^2\ \((2\ r + s)\)\)\ q\^2\ \((1 + \((h0 \
++ hc)\)\ q\^2)\)\ \((\(-1\) + 2\ q\^2\ r)\)\ s + \[ExponentialE]\^\(q\^2\ \
+\((2\ a + s)\)\)\ q\^2\ \((1 + \((h0 + hc)\)\ q\^2)\)\ \((1 + 2\ q\^2\ r)\)\ \
+s + 2\ \[ExponentialE]\^\(q\^2\ \((2\ a + r)\)\)\ h\ \((1 + hc\ q\^2)\)\ r\ \
+\@\(q\^2\ r\)\ \@\(q\^2\ s\) - 2\ \[ExponentialE]\^\(q\^2\ \((r + 2\ s)\)\)\ \
+h\ \((1 + hc\ q\^2)\)\ r\ \@\(q\^2\ r\)\ \@\(q\^2\ s\)\)}}\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(\(\(\[IndentingNewLine]\)\(p1 =
+ FullSimplify[\(d\ q\^2\ \((\[ExponentialE]\^\(q\^2\ \((2\ r + s)\)\)\ q\
+\^2\ \((\(-1\) + 2\ q\^2\ r)\)\ s + \[ExponentialE]\^\(q\^2\ \((2\ a + s)\)\)\
+\ q\^2\ \((1 + 2\ q\^2\ r)\)\ s + 2\ \[ExponentialE]\^\(q\^2\ \((2\ a + \
+r)\)\)\ h\ r\ \@\(\(\ \)\(r\)\)\ q\^2\ \@\(\(\ \)\(s\)\) - 2\ \[ExponentialE]\
+\^\(q\^2\ \((r + 2\ s)\)\)\ h\ r\ \@\(\(\ \)\(r\)\)\ q\^2\ \@\(\(\ \)\(s\)\))\
+\)\)\/\(\[ExponentialE]\^\(q\^2\ \((2\ r + s)\)\)\ q\^2\ \((1 + \((h0 + hc)\)\
+\ q\^2)\)\ \((\(-1\) + 2\ q\^2\ r)\)\ s + \[ExponentialE]\^\(q\^2\ \((2\ a + \
+s)\)\)\ q\^2\ \((1 + \((h0 + hc)\)\ q\^2)\)\ \((1 + 2\ q\^2\ r)\)\ s + 2\ \
+\[ExponentialE]\^\(q\^2\ \((2\ a + r)\)\)\ h\ \((1 + hc\ q\^2)\)\ r\ \@\(\(\ \
+\)\(r\)\)\ q\^2\ \@\(\(\ \)\(s\)\) - 2\ \[ExponentialE]\^\(q\^2\ \((r + 2\ s)\
+\)\)\ h\ \((1 + hc\ q\^2)\)\ r\ \@\(\(\ \)\(r\)\)\ q\^2\ \@\(\(\ \)\(s\)\)\)]\
+\[IndentingNewLine]
+ pp0 =
+ FullSimplify[
+ p0[q, r] /. {A \[Rule] \(-\(\(2\ d\ \[ExponentialE]\^\(q\^2\ \((r + \
+s)\)\)\ h0\ \@\(2\ \[Pi]\)\ q\^2\ \((q\^2\ r)\)\^\(3/2\)\ s\)\/\(\
+\[ExponentialE]\^\(q\^2\ \((2\ r + s)\)\)\ q\^2\ \((1 + \((h0 +
+ hc)\)\ q\^2)\)\ \((\(-1\) +
+ 2\ q\^2\ r)\)\ s + \[ExponentialE]\^\(q\^2\ \((2\ \
+a + s)\)\)\ q\^2\ \((1 + \((h0 + hc)\)\ q\^2)\)\ \((1 + 2\ q\^2\ r)\)\ s +
+ 2\ \[ExponentialE]\^\(q\^2\ \((2\ a + r)\)\)\ h\ \((1 +
+ hc\ q\^2)\)\ r\ \@\(\(\ \)\(r\)\)\ q\^2\ \@\(\(\ \
+\)\(s\)\) - 2\ \[ExponentialE]\^\(q\^2\ \((r + 2\ s)\)\)\ h\ \((1 +
+ hc\ q\^2)\)\ r\ \@\(\(\ \)\(r\)\)\ q\^2\ \@\(\(\ \
+\)\(s\)\)\)\)\),
+ B \[Rule] \(2\ d\ \[ExponentialE]\^\(q\^2\ \((r + s)\)\)\ \((\(-1\
+\) + \[ExponentialE]\^\(2\ a\ q\^2\))\)\ h0\ \@\(2\/\[Pi]\)\ q\^2\ \((q\^2\ \
+r)\)\^\(3/2\)\ s\)\/\(\[ExponentialE]\^\(q\^2\ \((2\ r + s)\)\)\ q\^2\ \((1 + \
+\((h0 + hc)\)\ q\^2)\)\ \((\(-1\) + 2\ q\^2\ r)\)\ s + \
+\[ExponentialE]\^\(q\^2\ \((2\ a + s)\)\)\ q\^2\ \((1 + \((h0 + hc)\)\ \
+q\^2)\)\ \((1 + 2\ q\^2\ r)\)\ s + 2\ \[ExponentialE]\^\(q\^2\ \((2\ a + r)\)\
+\)\ h\ \((1 + hc\ q\^2)\)\ r\ \@\(\(\ \)\(r\)\)\ q\^2\ \@\(\(\ \)\(s\)\) - 2\ \
+\[ExponentialE]\^\(q\^2\ \((r + 2\ s)\)\)\ h\ \((1 + hc\ q\^2)\)\ r\ \@\(\(\ \
+\)\(r\)\)\ q\^2\ \@\(\(\ \)\(s\)\)\)}]\)\)\)], "Input"],
+
+Cell[BoxData[
+ \(d\/\(h0 + hc + 1\/q\^2 + \(2\ h0\)\/\(\(-2\) + \
+\(\((\[ExponentialE]\^\(q\^2\ \((2\ r + s)\)\)\ \((1 - 2\ q\^2\ r)\) - \
+\[ExponentialE]\^\(q\^2\ \((2\ a + s)\)\)\ \((1 + 2\ q\^2\ r)\))\)\ \@s\)\/\(\
+\((\[ExponentialE]\^\(q\^2\ \((2\ a + r)\)\) - \[ExponentialE]\^\(q\^2\ \((r \
++ 2\ s)\)\))\)\ h\ r\^\(3/2\)\)\)\)\)], "Output"],
+
+Cell[BoxData[
+ \(\(2\ d\ \[ExponentialE]\^\(q\^2\ s\)\ \((\[ExponentialE]\^\(2\ a\ \
+q\^2\) - \[ExponentialE]\^\(2\ q\^2\ r\))\)\ h0\ q\^2\ r\ \@s\)\/\(2\ \
+\[ExponentialE]\^\(q\^2\ \((2\ a + r)\)\)\ h\ \((1 + hc\ q\^2)\)\ r\^\(3/2\) \
+- 2\ \[ExponentialE]\^\(q\^2\ \((r + 2\ s)\)\)\ h\ \((1 + hc\ q\^2)\)\ \
+r\^\(3/2\) + \[ExponentialE]\^\(q\^2\ \((2\ r + s)\)\)\ \((1 + \((h0 + hc)\)\ \
+q\^2)\)\ \((\(-1\) + 2\ q\^2\ r)\)\ \@s + \[ExponentialE]\^\(q\^2\ \((2\ a + \
+s)\)\)\ \((1 + \((h0 + hc)\)\ q\^2)\)\ \((1 + 2\ q\^2\ r)\)\ \@s\)\)], \
+"Output"]
+}, Open ]],
+
+Cell[BoxData[""], "Input"],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+FullSimplify[\\!\\(h0 + hc +
+ 1\\/q\\^2 + \\(2\\ h0\\)\\/\\(\\(-2\\) + \
+\\(\\((\[ExponentialE]\\^\\(q\\^2\\ \\((2\\ r + \\
+s)\\)\\)\\ \\((1 - 2\\ q\\^2\\ r)\\) - \[ExponentialE]\\^\\(q\\^2\\ \\((2\\ a \
++ s)\\)\\)\\ \\
+\\((1 + 2\\ q\\^2\\ r)\\))\\)\\ \\@s\\)\\/\\(\\((\[ExponentialE]\\^\\(q\\^2\\ \
+\\((2\\ a + \\
+r)\\)\\) - \[ExponentialE]\\^\\(q\\^2\\ \\((r + 2\\ s)\\)\\))\\)\\ h\\ \
+r\\^\\(3/2\\)\\)\\)\\)]\
+\>", "Input"],
+
+Cell[BoxData[
+ \(h0 + hc +
+ 1\/q\^2 + \(2\ h0\)\/\(\(-2\) + \(\((\[ExponentialE]\^\(q\^2\ \((2\ r + \
+s)\)\)\ \((1 - 2\ q\^2\ r)\) - \[ExponentialE]\^\(q\^2\ \((2\ a + s)\)\)\ \
+\((1 + 2\ q\^2\ r)\))\)\ \@s\)\/\(\((\[ExponentialE]\^\(q\^2\ \((2\ a + \
+r)\)\) - \[ExponentialE]\^\(q\^2\ \((r + 2\ s)\)\))\)\ h\ r\^\(3/2\)\)\)\)], \
+"Output"]
+}, Open ]]
+},
+FrontEndVersion->"X 3.0",
+ScreenRectangle->{{0, 1024}, {0, 768}},
+WindowSize->{994, 632},
+WindowMargins->{{4, Automatic}, {Automatic, 21}}
+]
+
+
+(***********************************************************************
+Cached data follows. If you edit this Notebook file directly, not using
+Mathematica, you must remove the line containing CacheID at the top of
+the file. The cache data will then be recreated when you save this file
+from within Mathematica.
+***********************************************************************)
+
+(*CellTagsOutline
+CellTagsIndex->{}
+*)
+
+(*CellTagsIndex
+CellTagsIndex->{}
+*)
+
+(*NotebookFileOutline
+Notebook[{
+Cell[1709, 49, 64, 1, 43, "Input"],
+Cell[1776, 52, 536, 12, 187, "Input"],
+
+Cell[CellGroupData[{
+Cell[2337, 68, 80, 1, 27, "Input"],
+Cell[2420, 71, 705, 12, 131, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[3162, 88, 162, 3, 27, "Input"],
+Cell[3327, 93, 2293, 38, 334, "Output"]
+}, Open ]],
+Cell[5635, 134, 44, 0, 27, "Input"],
+
+Cell[CellGroupData[{
+Cell[5704, 138, 176, 3, 42, "Input"],
+Cell[5883, 143, 365, 5, 23, "Message"],
+Cell[6251, 150, 1539, 26, 252, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[7827, 181, 123, 2, 49, "Input"],
+Cell[7953, 185, 1177, 22, 292, "Output"]
+}, Open ]],
+Cell[9145, 210, 58, 0, 27, "Input"],
+
+Cell[CellGroupData[{
+Cell[9228, 214, 489, 8, 81, "Input"],
+Cell[9720, 224, 290, 5, 88, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[10047, 234, 1009, 19, 192, "Input"],
+Cell[11059, 255, 368, 6, 23, "Message"],
+Cell[11430, 263, 851, 15, 211, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[12318, 283, 58, 0, 27, "Input"],
+Cell[12379, 285, 442, 8, 59, "Output"]
+}, Open ]],
+Cell[12836, 296, 521, 11, 113, "Input"],
+Cell[13360, 309, 54, 0, 27, "Input"],
+
+Cell[CellGroupData[{
+Cell[13439, 313, 427, 7, 113, "Input"],
+Cell[13869, 322, 370, 5, 23, "Message"],
+Cell[14242, 329, 334, 5, 113, "Output"]
+}, Open ]],
+Cell[14591, 337, 52, 3, 42, "Input"],
+
+Cell[CellGroupData[{
+Cell[14668, 344, 103, 2, 33, "Input"],
+Cell[14774, 348, 1211, 21, 278, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[16022, 374, 59, 0, 27, "Input"],
+Cell[16084, 376, 613, 10, 54, "Output"]
+}, Open ]],
+Cell[16712, 389, 188, 3, 49, "Input"],
+
+Cell[CellGroupData[{
+Cell[16925, 396, 281, 5, 43, "Input"],
+Cell[17209, 403, 389, 7, 44, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[17635, 415, 47, 0, 27, "Input"],
+Cell[17685, 417, 1376, 22, 332, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[19098, 444, 53, 0, 27, "Input"],
+Cell[19154, 446, 368, 6, 23, "Message"],
+Cell[19525, 454, 362, 6, 88, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[19924, 465, 1153, 19, 229, "Input"],
+Cell[21080, 486, 1070, 20, 213, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[22187, 511, 94, 3, 42, "Input"],
+Cell[22284, 516, 63, 1, 27, "Output"],
+Cell[22350, 519, 68, 1, 27, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[22455, 525, 132, 3, 42, "Input"],
+Cell[22590, 530, 171, 3, 44, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[22798, 538, 1256, 21, 265, "Input"],
+Cell[24057, 561, 1110, 18, 280, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[25204, 584, 74, 0, 27, "Input"],
+Cell[25281, 586, 137, 2, 43, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[25455, 593, 1244, 21, 234, "Input"],
+Cell[26702, 616, 433, 6, 54, "Output"]
+}, Open ]],
+Cell[27150, 625, 17, 0, 27, "Input"],
+
+Cell[CellGroupData[{
+Cell[27192, 629, 45, 0, 27, "Input"],
+Cell[27240, 631, 745, 12, 54, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[28022, 648, 24, 0, 27, "Input"],
+Cell[28049, 650, 1376, 22, 332, "Output"]
+}, Open ]],
+Cell[29440, 675, 35, 0, 27, "Input"],
+
+Cell[CellGroupData[{
+Cell[29500, 679, 1321, 24, 268, "Input"],
+Cell[30824, 705, 1126, 19, 294, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[31987, 729, 2429, 44, 619, "Input"],
+Cell[34419, 775, 468, 8, 132, "Output"],
+Cell[34890, 785, 124, 2, 50, "Output"],
+Cell[35017, 789, 162, 2, 72, "Output"],
+Cell[35182, 793, 756, 10, 156, "Output"],
+Cell[35941, 805, 384, 5, 55, "Output"],
+Cell[36328, 812, 35, 1, 27, "Output"],
+Cell[36366, 815, 679, 12, 130, "Output"],
+Cell[37048, 829, 114, 2, 48, "Output"]
+}, Open ]],
+Cell[37177, 834, 51, 0, 27, "Input"],
+
+Cell[CellGroupData[{
+Cell[37253, 838, 179, 4, 42, "Input"],
+Cell[37435, 844, 302, 4, 54, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[37774, 853, 203, 3, 43, "Input"],
+Cell[37980, 858, 158, 2, 27, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[38175, 865, 67, 0, 27, "Input"],
+Cell[38245, 867, 292, 4, 46, "Output"]
+}, Open ]],
+Cell[38552, 874, 44, 0, 27, "Input"],
+
+Cell[CellGroupData[{
+Cell[38621, 878, 57, 0, 27, "Input"],
+Cell[38681, 880, 241, 5, 49, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[38959, 890, 68, 0, 27, "Input"],
+Cell[39030, 892, 96, 2, 27, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[39163, 899, 47, 0, 27, "Input"],
+Cell[39213, 901, 320, 4, 54, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[39570, 910, 54, 0, 27, "Input"],
+Cell[39627, 912, 78, 1, 53, "Output"]
+}, Open ]],
+Cell[39720, 916, 83, 5, 72, "Input"],
+
+Cell[CellGroupData[{
+Cell[39828, 925, 468, 10, 46, "Input"],
+Cell[40299, 937, 357, 6, 50, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[40693, 948, 38, 0, 27, "Input"],
+Cell[40734, 950, 250, 4, 57, "Output"]
+}, Open ]],
+Cell[40999, 957, 72, 1, 27, "Input"],
+
+Cell[CellGroupData[{
+Cell[41096, 962, 89, 2, 27, "Input"],
+Cell[41188, 966, 401, 6, 50, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[41626, 977, 65, 0, 27, "Input"],
+Cell[41694, 979, 445, 7, 50, "Output"]
+}, Open ]],
+Cell[42154, 989, 40, 0, 27, "Input"],
+
+Cell[CellGroupData[{
+Cell[42219, 993, 150, 3, 27, "Input"],
+Cell[42372, 998, 35, 1, 27, "Output"]
+}, Open ]],
+Cell[42422, 1002, 55, 0, 27, "Input"],
+
+Cell[CellGroupData[{
+Cell[42502, 1006, 231, 5, 75, "Input"],
+Cell[42736, 1013, 290, 5, 50, "Output"],
+Cell[43029, 1020, 290, 5, 50, "Output"]
+}, Open ]],
+Cell[43334, 1028, 58, 1, 27, "Input"],
+
+Cell[CellGroupData[{
+Cell[43417, 1033, 110, 2, 43, "Input"],
+Cell[43530, 1037, 35, 1, 27, "Output"]
+}, Open ]],
+Cell[43580, 1041, 49, 0, 27, "Input"],
+
+Cell[CellGroupData[{
+Cell[43654, 1045, 29, 0, 27, "Input"],
+Cell[43686, 1047, 322, 4, 50, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[44045, 1056, 24, 0, 27, "Input"],
+Cell[44072, 1058, 1125, 20, 280, "Output"]
+}, Open ]],
+Cell[45212, 1081, 298, 5, 62, "Input"],
+
+Cell[CellGroupData[{
+Cell[45535, 1090, 320, 5, 79, "Input"],
+Cell[45858, 1097, 201, 3, 56, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[46096, 1105, 42, 0, 27, "Input"],
+Cell[46141, 1107, 160, 2, 47, "Output"]
+}, Open ]],
+Cell[46316, 1112, 120, 2, 44, "Input"],
+Cell[46439, 1116, 115, 3, 27, "Input"],
+Cell[46557, 1121, 17, 0, 27, "Input"],
+
+Cell[CellGroupData[{
+Cell[46599, 1125, 141, 2, 113, "Input"],
+Cell[46743, 1129, 49, 1, 27, "Output"],
+Cell[46795, 1132, 35, 1, 27, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[46867, 1138, 306, 4, 61, "Input"],
+Cell[47176, 1144, 233, 3, 47, "Output"]
+}, Open ]],
+Cell[47424, 1150, 71, 0, 27, "Input"],
+Cell[47498, 1152, 44, 0, 27, "Input"],
+
+Cell[CellGroupData[{
+Cell[47567, 1156, 98, 3, 42, "Input"],
+Cell[47668, 1161, 126, 2, 44, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[47831, 1168, 54, 3, 42, "Input"],
+Cell[47888, 1173, 62, 1, 44, "Output"],
+Cell[47953, 1176, 41, 1, 27, "Output"]
+}, Open ]],
+Cell[48009, 1180, 17, 0, 27, "Input"],
+
+Cell[CellGroupData[{
+Cell[48051, 1184, 94, 3, 42, "Input"],
+Cell[48148, 1189, 73, 1, 48, "Output"],
+Cell[48224, 1192, 41, 1, 27, "Output"]
+}, Open ]],
+Cell[48280, 1196, 50, 0, 27, "Input"],
+
+Cell[CellGroupData[{
+Cell[48355, 1200, 190, 5, 57, "Input"],
+Cell[48548, 1207, 161, 2, 74, "Output"],
+Cell[48712, 1211, 2118, 28, 230, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[50867, 1244, 2378, 35, 273, "Input"],
+Cell[53248, 1281, 349, 5, 83, "Output"],
+Cell[53600, 1288, 553, 8, 63, "Output"]
+}, Open ]],
+Cell[54168, 1299, 26, 0, 27, "Input"],
+
+Cell[CellGroupData[{
+Cell[54219, 1303, 440, 10, 87, "Input"],
+Cell[54662, 1315, 349, 6, 73, "Output"]
+}, Open ]]
+}
+]
+*)
+
+
+
+
+(***********************************************************************
+End of Mathematica Notebook file.
+***********************************************************************)
+
diff --git a/ecell4/egfrd/legacy/doc/math/bd.nb b/ecell4/egfrd/legacy/doc/math/bd.nb
new file mode 100644
index 0000000..dbb0ddd
--- /dev/null
+++ b/ecell4/egfrd/legacy/doc/math/bd.nb
@@ -0,0 +1,513 @@
+(* Content-type: application/mathematica *)
+
+(*** Wolfram Notebook File ***)
+(* http://www.wolfram.com/nb *)
+
+(* CreatedBy='Mathematica 6.0' *)
+
+(*CacheID: 234*)
+(* Internal cache information:
+NotebookFileLineBreakTest
+NotebookFileLineBreakTest
+NotebookDataPosition[ 145, 7]
+NotebookDataLength[ 17906, 504]
+NotebookOptionsPosition[ 17022, 468]
+NotebookOutlinePosition[ 17353, 483]
+CellTagsIndexPosition[ 17310, 480]
+WindowFrame->Normal
+ContainsDynamic->False*)
+
+(* Beginning of Notebook Content *)
+Notebook[{
+
+Cell[CellGroupData[{
+Cell[BoxData[
+ RowBox[{"$Assumptions", "=",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"r", ">", "0"}], ",",
+ RowBox[{"r0", ">", "0"}], ",",
+ RowBox[{"s", ">", "0"}], ",", " ",
+ RowBox[{"D", ">", "0"}], ",",
+ RowBox[{"t", ">", "0"}], ",", " ",
+ RowBox[{"r0", " ", ">", " ", "s"}], ",", " ",
+ RowBox[{"r", ">", "s"}], ",", " ",
+ RowBox[{"k", ">", "0"}], ",",
+ RowBox[{"k", "\[Element]", " ", "Reals"}], ",",
+ RowBox[{"D", " ", "\[Element]", "Reals"}], ",", " ",
+ RowBox[{"t", "\[Element]", "Reals"}], ",", " ",
+ RowBox[{"s", "\[Element]", "Reals"}], ",", " ",
+ RowBox[{"r0", " ", "\[Element]", " ", "Reals"}], ",", " ",
+ RowBox[{"r", " ", "\[Element]", " ", "Reals"}]}], "}"}]}]], "Input",
+ CellChangeTimes->{{3.405920621896772*^9, 3.405920624839014*^9},
+ 3.405920654993496*^9, {3.405922474986178*^9, 3.405922499861792*^9}, {
+ 3.405922552191284*^9, 3.4059225582429657`*^9}, {3.4059262727536697`*^9,
+ 3.405926274178149*^9}, 3.405926494355487*^9, 3.405931235259067*^9,
+ 3.40593134997567*^9, {3.4059366010748043`*^9, 3.405936617919901*^9}, {
+ 3.406021991801828*^9, 3.406021993122177*^9}, {3.416437071640493*^9,
+ 3.416437076124731*^9}, {3.416437548194697*^9, 3.416437563808877*^9}, {
+ 3.41802180788892*^9, 3.418021843732999*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"r", ">", "0"}], ",",
+ RowBox[{"r0", ">", "0"}], ",",
+ RowBox[{"s", ">", "0"}], ",",
+ RowBox[{"D", ">", "0"}], ",",
+ RowBox[{"t", ">", "0"}], ",",
+ RowBox[{"r0", ">", "s"}], ",",
+ RowBox[{"r", ">", "s"}], ",",
+ RowBox[{"k", ">", "0"}], ",",
+ RowBox[{"k", "\[Element]", "Reals"}], ",",
+ RowBox[{"D", "\[Element]", "Reals"}], ",",
+ RowBox[{"t", "\[Element]", "Reals"}], ",",
+ RowBox[{"s", "\[Element]", "Reals"}], ",",
+ RowBox[{"r0", "\[Element]", "Reals"}], ",",
+ RowBox[{"r", "\[Element]", "Reals"}]}], "}"}]], "Output",
+ CellChangeTimes->{
+ 3.416437076966042*^9, {3.416437551068707*^9, 3.416437564300992*^9},
+ 3.418020639400481*^9, 3.418021809492931*^9, 3.418021849313905*^9,
+ 3.426268300683908*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"fbd", " ", "=", " ",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", " ", "/", " ",
+ RowBox[{
+ RowBox[{"(", " ",
+ RowBox[{"4", " ", "Pi", " ", "D", " ", "t"}], ")"}], "^",
+ RowBox[{"(",
+ RowBox[{"3", "/", "2"}], ")"}]}]}], ")"}], " ",
+ RowBox[{"Exp", "[",
+ RowBox[{
+ RowBox[{"-", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"r", "^", "2"}], " ", "-", " ",
+ RowBox[{"2", " ", "r", " ", "r0", " ", "Costheta"}], " ", "+", " ",
+ RowBox[{"r0", "^", "2"}]}], ")"}]}], "/", " ",
+ RowBox[{"(", " ",
+ RowBox[{"4", " ", "D", " ", "t"}], " ", ")"}]}], "]"}],
+ " "}]}]], "Input",
+ CellChangeTimes->{{3.405920120298148*^9, 3.4059201671975517`*^9}, {
+ 3.405920217975114*^9, 3.405920261729103*^9}, {3.405921916506585*^9,
+ 3.405921918359653*^9}, {3.405922058663032*^9, 3.405922072533635*^9}, {
+ 3.40592220671373*^9, 3.405922207079297*^9}, {3.405925649769588*^9,
+ 3.4059256906951237`*^9}, {3.405925897210326*^9, 3.405925900343919*^9},
+ 3.40592606899164*^9, {3.4059267008491793`*^9, 3.405926736844799*^9}, {
+ 3.4059268043260317`*^9, 3.405926804512047*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{
+ RowBox[{"-",
+ SuperscriptBox["r", "2"]}], "+",
+ RowBox[{"2", " ", "Costheta", " ", "r", " ", "r0"}], "-",
+ SuperscriptBox["r0", "2"]}],
+ RowBox[{"4", " ", "D", " ", "t"}]]],
+ RowBox[{"8", " ",
+ SuperscriptBox["\[Pi]",
+ RowBox[{"3", "/", "2"}]], " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"D", " ", "t"}], ")"}],
+ RowBox[{"3", "/", "2"}]]}]]], "Output",
+ CellChangeTimes->{{3.405920133788515*^9, 3.405920167800416*^9},
+ 3.405920262550598*^9, 3.405922073781124*^9, 3.405922207683528*^9, {
+ 3.405925676034377*^9, 3.405925691194736*^9}, 3.4059259008035727`*^9,
+ 3.405926069523048*^9, 3.4059267015616198`*^9, 3.405926737302804*^9,
+ 3.405926804912018*^9, 3.405936380759119*^9, 3.4144367237848177`*^9,
+ 3.414507624305064*^9, 3.416436251954981*^9, 3.418020639540056*^9,
+ 3.4262683007931643`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"tmp", " ", "=", " ",
+ RowBox[{
+ RowBox[{"Integrate", "[", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"Sin", "[",
+ RowBox[{"ArcCos", "[", "Costheta", "]"}], "]"}], " ", "2", " ", "Pi",
+ " ", "fbd", " ",
+ RowBox[{"(",
+ RowBox[{"1", "/",
+ RowBox[{"(",
+ RowBox[{"-",
+ RowBox[{"Sin", "[",
+ RowBox[{"ArcCos", "[", "Costheta", "]"}], "]"}]}], ")"}]}],
+ ")"}]}], ",", " ",
+ RowBox[{"{",
+ RowBox[{"Costheta", ",", " ",
+ RowBox[{"Cos", "[", "0", "]"}], ",", " ",
+ RowBox[{"Cos", "[", "Pi", "]"}]}], "}"}]}], "]"}], "//", " ",
+ "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.405925769701017*^9, 3.405925784323833*^9}, {
+ 3.4059259140016193`*^9, 3.4059259406699047`*^9}, {3.405925993286965*^9,
+ 3.4059260487738953`*^9}, {3.405926080556981*^9, 3.40592608644014*^9}, {
+ 3.405926230149136*^9, 3.405926258090055*^9}, {3.405926316190838*^9,
+ 3.405926322102311*^9}, {3.405926391809847*^9, 3.4059263988278513`*^9}, {
+ 3.40592649984793*^9, 3.405926549380796*^9}, {3.405926927008252*^9,
+ 3.405926927470623*^9}, {3.405927063336031*^9, 3.405927081312971*^9}, {
+ 3.405927151275752*^9, 3.405927233791483*^9}, 3.405927404632346*^9, {
+ 3.405927527054346*^9, 3.405927553247867*^9}, {3.4059277618489437`*^9,
+ 3.405927787611475*^9}, {3.4059280636250343`*^9, 3.405928064483779*^9}, {
+ 3.405928243187475*^9, 3.405928271726266*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0"}], ")"}], "2"],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "1"}], "+",
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{"r", " ", "r0"}],
+ RowBox[{"D", " ", "t"}]]]}], ")"}]}],
+ RowBox[{"2", " ",
+ SqrtBox["\[Pi]"], " ", "r", " ", "r0", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]]], "Output",
+ CellChangeTimes->{
+ 3.405926019501005*^9, {3.405926075161128*^9, 3.405926087766781*^9}, {
+ 3.4059262600525103`*^9, 3.40592627955571*^9}, 3.405926322221426*^9,
+ 3.405926399143104*^9, {3.405926496279126*^9, 3.405926550582058*^9},
+ 3.405926704374354*^9, 3.405926739901853*^9, 3.4059268074330072`*^9,
+ 3.4059269287378283`*^9, {3.4059270647908916`*^9, 3.4059270827600393`*^9}, {
+ 3.405927154051778*^9, 3.405927234348275*^9}, 3.4059274054508944`*^9, {
+ 3.4059275281112413`*^9, 3.405927553779097*^9}, {3.405927766242402*^9,
+ 3.405927788781427*^9}, 3.405927909979515*^9, 3.4059280656969852`*^9, {
+ 3.405928245330599*^9, 3.405928272948675*^9}, 3.4059363827654257`*^9,
+ 3.414436725685884*^9, 3.414507625725222*^9, 3.416436254138029*^9,
+ 3.418020641273821*^9, 3.4262683030158987`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"gbd", " ", "=", " ",
+ RowBox[{
+ RowBox[{"Integrate", "[",
+ RowBox[{
+ RowBox[{"tmp", " ", "r", " ", "r"}], ",", " ",
+ RowBox[{"{",
+ RowBox[{"r", ",", "0", ",", "s"}], "}"}]}], "]"}], "//", " ",
+ "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.405926400777589*^9, 3.405926410310339*^9}, {
+ 3.4059265615886993`*^9, 3.405926586892764*^9}, {3.405926643899171*^9,
+ 3.405926678741477*^9}, {3.405927289851573*^9, 3.405927290277398*^9}, {
+ 3.4059273353123302`*^9, 3.40592733589589*^9}, {3.405927441012974*^9,
+ 3.405927442045594*^9}, {3.405927587643141*^9, 3.405927598869752*^9}, {
+ 3.405927861770877*^9, 3.405927862964147*^9}, {3.405927951023778*^9,
+ 3.405927951944674*^9}, {3.4059281226172457`*^9, 3.405928141081942*^9}, {
+ 3.405928276719561*^9, 3.405928289891502*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ FractionBox["1", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "1"}], "+",
+ FractionBox[
+ RowBox[{"2", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], "2"],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]]}], "+",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r0", "+", "s"}], ")"}], "2"],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]]}], ")"}], " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}],
+ RowBox[{
+ SqrtBox["\[Pi]"], " ", "r0"}]], "+",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r0", "+", "s"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}], "+",
+ RowBox[{"Erfc", "[",
+ FractionBox[
+ RowBox[{"r0", "-", "s"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}], ")"}]}]], "Output",
+ CellChangeTimes->{
+ 3.405926418231845*^9, {3.405926575396369*^9, 3.405926591368063*^9}, {
+ 3.405926646875532*^9, 3.4059266692398243`*^9}, 3.405926718064624*^9, {
+ 3.405926754720895*^9, 3.4059267744561996`*^9}, 3.405926830269115*^9,
+ 3.40592725046945*^9, 3.405927295440486*^9, 3.405927337839679*^9, {
+ 3.4059274181309566`*^9, 3.405927447098546*^9}, 3.405927557131956*^9,
+ 3.4059276002480993`*^9, {3.405927772785139*^9, 3.405927793293405*^9}, {
+ 3.4059278994001083`*^9, 3.405927924149688*^9}, 3.405927954183044*^9,
+ 3.405928092967218*^9, {3.405928132423747*^9, 3.4059281429240417`*^9}, {
+ 3.405928282552477*^9, 3.405928291665531*^9}, 3.405931379277306*^9,
+ 3.405936406291627*^9, 3.41443675149212*^9, 3.4145076514734573`*^9,
+ 3.416436277806024*^9, 3.418020664626183*^9, 3.42626832387582*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"igbd", " ", "=", " ",
+ RowBox[{
+ RowBox[{"Integrate", "[",
+ RowBox[{
+ RowBox[{"gbd", " ", "r0", " ", "r0"}], ",",
+ RowBox[{"{",
+ RowBox[{"r0", ",", "s", ",", " ", "Infinity"}], "}"}]}], "]"}], " ", "//",
+ " ", "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.40593358859131*^9, 3.405933622664637*^9}, {
+ 3.414437260224127*^9, 3.4144372689172983`*^9}, {3.414506764269648*^9,
+ 3.4145067656839867`*^9}, 3.418022465274146*^9, {3.426269085171517*^9,
+ 3.426269085618031*^9}, {3.426269983668219*^9, 3.426269984154398*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox["s", "2"],
+ RowBox[{"D", " ", "t"}]]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}], " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["s", "2"], "-",
+ RowBox[{"2", " ", "D", " ", "t"}], "+",
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ SuperscriptBox["s", "2"],
+ RowBox[{"D", " ", "t"}]]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "3"}], " ",
+ SuperscriptBox["s", "2"]}], "+",
+ RowBox[{"2", " ", "D", " ", "t"}]}], ")"}]}]}], ")"}]}], "+",
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ SuperscriptBox["s", "2"],
+ RowBox[{"D", " ", "t"}]]], " ",
+ SqrtBox["\[Pi]"], " ",
+ SuperscriptBox["s", "3"], " ",
+ RowBox[{"Erfc", "[",
+ FractionBox["s",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]], "]"}]}]}], ")"}]}],
+ RowBox[{"3", " ",
+ SqrtBox["\[Pi]"]}]]], "Output",
+ CellChangeTimes->{{3.405933590719325*^9, 3.405933623078652*^9},
+ 3.405936416713635*^9, 3.414436763524382*^9, 3.414438115092637*^9,
+ 3.41450762223671*^9, 3.4145086848470078`*^9, 3.4164369742720547`*^9,
+ 3.4164371852497997`*^9, 3.416437332119282*^9, 3.416438607044241*^9,
+ 3.418021355917379*^9, 3.426269083928301*^9, 3.4262699399603443`*^9,
+ 3.426270948657145*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"igbdr", " ", "=", " ",
+ RowBox[{
+ RowBox[{"Integrate", "[",
+ RowBox[{
+ RowBox[{"gbd", " ", "r0", " ", "r0"}], ",",
+ RowBox[{"{",
+ RowBox[{"r0", ",", "s", ",", " ", "r"}], "}"}]}], "]"}], " ", "//",
+ " ", "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.40593358859131*^9, 3.405933622664637*^9}, {
+ 3.414437260224127*^9, 3.4144372689172983`*^9}, {3.414506764269648*^9,
+ 3.4145067656839867`*^9}, {3.418020652162237*^9, 3.4180206606643877`*^9},
+ 3.418022453741588*^9, {3.426269090065968*^9, 3.42626909052986*^9}, {
+ 3.426269976268076*^9, 3.4262699766981697`*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ FractionBox["1", "6"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{
+ FractionBox["1",
+ SqrtBox["\[Pi]"]],
+ RowBox[{"2", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{
+ SuperscriptBox["r", "2"], "+",
+ RowBox[{"2", " ", "r", " ", "s"}], "+",
+ RowBox[{"4", " ",
+ SuperscriptBox["s", "2"]}]}],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]], " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{"r", " ",
+ RowBox[{"(",
+ RowBox[{"r", "+",
+ RowBox[{"2", " ", "s"}]}], ")"}]}],
+ RowBox[{"4", " ", "D", " ", "t"}]]], " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["s", "2"], "-",
+ RowBox[{"2", " ", "D", " ", "t"}]}], ")"}]}], "-",
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{"3", " ",
+ SuperscriptBox["s", "2"]}],
+ RowBox[{"4", " ", "D", " ", "t"}]]], " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["r", "2"], "-",
+ RowBox[{"r", " ", "s"}], "+",
+ SuperscriptBox["s", "2"], "-",
+ RowBox[{"2", " ", "D", " ", "t"}]}], ")"}]}], "+",
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{"s", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"4", " ", "r"}], "+",
+ RowBox[{"3", " ", "s"}]}], ")"}]}],
+ RowBox[{"4", " ", "D", " ", "t"}]]], " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["r", "2"], "+",
+ RowBox[{"r", " ", "s"}], "+",
+ SuperscriptBox["s", "2"], "-",
+ RowBox[{"2", " ", "D", " ", "t"}]}], ")"}]}], "+",
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{
+ SuperscriptBox["r", "2"], "+",
+ RowBox[{"2", " ", "r", " ", "s"}], "+",
+ RowBox[{"4", " ",
+ SuperscriptBox["s", "2"]}]}],
+ RowBox[{"4", " ", "D", " ", "t"}]]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "3"}], " ",
+ SuperscriptBox["s", "2"]}], "+",
+ RowBox[{"2", " ", "D", " ", "t"}]}], ")"}]}]}], ")"}]}]}]}], "+",
+
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-",
+ SuperscriptBox["r", "3"]}], "+",
+ SuperscriptBox["s", "3"]}], ")"}], " ",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r", "-", "s"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}], "-",
+ RowBox[{"2", " ",
+ SuperscriptBox["s", "3"], " ",
+ RowBox[{"Erf", "[",
+ FractionBox["s",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["r", "3"], "+",
+ SuperscriptBox["s", "3"]}], ")"}], " ",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r", "+", "s"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}]}], ")"}]}]], "Output",
+ CellChangeTimes->{3.426269969665133*^9, 3.4262700839209414`*^9}]
+}, Open ]]
+},
+WindowSize->{640, 750},
+WindowMargins->{{Automatic, 0}, {Automatic, 30}},
+FrontEndVersion->"6.0 for Linux x86 (64-bit) (June 2, 2008)",
+StyleDefinitions->"Default.nb"
+]
+(* End of Notebook Content *)
+
+(* Internal cache information *)
+(*CellTagsOutline
+CellTagsIndex->{}
+*)
+(*CellTagsIndex
+CellTagsIndex->{}
+*)
+(*NotebookFileOutline
+Notebook[{
+Cell[CellGroupData[{
+Cell[590, 23, 1292, 25, 77, "Input"],
+Cell[1885, 50, 797, 20, 52, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[2719, 75, 1162, 27, 55, "Input"],
+Cell[3884, 104, 949, 23, 61, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[4870, 132, 1460, 31, 99, "Input"],
+Cell[6333, 165, 1381, 32, 71, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[7751, 202, 827, 16, 32, "Input"],
+Cell[8581, 220, 2007, 52, 98, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[10625, 277, 578, 12, 32, "Input"],
+Cell[11206, 291, 1600, 47, 76, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[12843, 343, 625, 13, 32, "Input"],
+Cell[13471, 358, 3535, 107, 147, "Output"]
+}, Open ]]
+}
+]
+*)
+
+(* End of internal cache information *)
diff --git a/ecell4/egfrd/legacy/doc/math/falphasurv.nb b/ecell4/egfrd/legacy/doc/math/falphasurv.nb
new file mode 100644
index 0000000..8a62c32
--- /dev/null
+++ b/ecell4/egfrd/legacy/doc/math/falphasurv.nb
@@ -0,0 +1,794 @@
+(* Content-type: application/mathematica *)
+
+(*** Wolfram Notebook File ***)
+(* http://www.wolfram.com/nb *)
+
+(* CreatedBy='Mathematica 6.0' *)
+
+(*CacheID: 234*)
+(* Internal cache information:
+NotebookFileLineBreakTest
+NotebookFileLineBreakTest
+NotebookDataPosition[ 145, 7]
+NotebookDataLength[ 23580, 785]
+NotebookOptionsPosition[ 20983, 694]
+NotebookOutlinePosition[ 21318, 709]
+CellTagsIndexPosition[ 21275, 706]
+WindowFrame->Normal
+ContainsDynamic->False*)
+
+(* Beginning of Notebook Content *)
+Notebook[{
+
+Cell[CellGroupData[{
+Cell[BoxData[
+ RowBox[{"$Assumptions", "=",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"r", ">", "0"}], ",",
+ RowBox[{"r0", ">", "0"}], ",",
+ RowBox[{"u", ">", "0"}], ",",
+ RowBox[{"s", ">", "0"}], ",",
+ RowBox[{"h", ">", "0"}], ",",
+ RowBox[{"a", ">", "0"}], ",",
+ RowBox[{"a", ">", "s"}], ",", " ",
+ RowBox[{"r", "<", "a"}], ",", " ",
+ RowBox[{"r0", "<", "a"}], ",", " ",
+ RowBox[{"r", ">", "s"}], ",", " ",
+ RowBox[{"r0", ">", "s"}], ",", " ",
+ RowBox[{"D", ">", "0"}], ",",
+ RowBox[{"t", ">", "0"}], ",",
+ RowBox[{"n", "\[Element]", "Integers"}], ",",
+ RowBox[{"n", ">", "0"}], ",",
+ RowBox[{"theta", "\[GreaterEqual]", "0"}], ",",
+ RowBox[{"theta", "\[LessEqual]", "\[Pi]"}], ",", " ",
+ RowBox[{"gamma", ">", "0"}], ",", " ",
+ RowBox[{"thd", ">", "0"}], ",", " ",
+ RowBox[{"thd", "\[Element]", "Reals"}]}], "}"}]}]], "Input",
+ CellChangeTimes->{{3.399669477248418*^9, 3.3996694791506233`*^9}, {
+ 3.399669614921514*^9, 3.399669618200058*^9}, {3.421527225379478*^9,
+ 3.421527246193986*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"r", ">", "0"}], ",",
+ RowBox[{"r0", ">", "0"}], ",",
+ RowBox[{"u", ">", "0"}], ",",
+ RowBox[{"s", ">", "0"}], ",",
+ RowBox[{"h", ">", "0"}], ",",
+ RowBox[{"a", ">", "0"}], ",",
+ RowBox[{"a", ">", "s"}], ",",
+ RowBox[{"r", "<", "a"}], ",",
+ RowBox[{"r0", "<", "a"}], ",",
+ RowBox[{"r", ">", "s"}], ",",
+ RowBox[{"r0", ">", "s"}], ",",
+ RowBox[{"D", ">", "0"}], ",",
+ RowBox[{"t", ">", "0"}], ",",
+ RowBox[{"n", "\[Element]", "Integers"}], ",",
+ RowBox[{"n", ">", "0"}], ",",
+ RowBox[{"theta", "\[GreaterEqual]", "0"}], ",",
+ RowBox[{"theta", "\[LessEqual]", "\[Pi]"}], ",",
+ RowBox[{"gamma", ">", "0"}], ",",
+ RowBox[{"thd", ">", "0"}], ",",
+ RowBox[{"thd", "\[Element]", "Reals"}]}], "}"}]], "Output",
+ CellChangeTimes->{
+ 3.399669170898428*^9, 3.399669208698984*^9, 3.3996694796348963`*^9,
+ 3.3996696188122663`*^9, {3.4204950019975863`*^9, 3.420495010342381*^9}, {
+ 3.42152722779652*^9, 3.421527246871634*^9}, 3.421787590956414*^9}]
+}, Open ]],
+
+Cell[BoxData[
+ RowBox[{"falphasurv", " ", ":=", " ",
+ RowBox[{
+ RowBox[{"u", " ", "s", " ",
+ RowBox[{"Cos", "[", " ",
+ RowBox[{"u", " ",
+ RowBox[{"(", " ",
+ RowBox[{"a", " ", "-", " ", "s"}], " ", ")"}]}], " ", "]"}]}], " ",
+ "+", " ",
+ RowBox[{
+ RowBox[{"(", " ",
+ RowBox[{"1", " ", "+", " ",
+ RowBox[{"h", " ", "s"}]}], " ", ")"}], " ",
+ RowBox[{"Sin", "[", " ",
+ RowBox[{"u", " ",
+ RowBox[{"(", " ",
+ RowBox[{"a", " ", "-", " ", "s"}], " ", ")"}]}], " ",
+ "]"}]}]}]}]], "Input"],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Limit", "[",
+ RowBox[{"falphasurv", ",", " ",
+ RowBox[{"a", "\[Rule]", "Infinity"}]}], "]"}], " ", "//", " ",
+ "Simplify"}]], "Input",
+ CellChangeTimes->{{3.42049499335503*^9, 3.420494996968313*^9}, {
+ 3.4204950564666147`*^9, 3.420495074330533*^9}}],
+
+Cell[BoxData[
+ RowBox[{"Limit", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ",",
+ RowBox[{"a", "\[Rule]", "\[Infinity]"}]}], "]"}]], "Output",
+ CellChangeTimes->{{3.42049499908121*^9, 3.420495013332217*^9}, {
+ 3.420495069110569*^9, 3.42049507507311*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Solve", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"falphasurv", " ", "\[Equal]", " ", "0"}], "/.", " ",
+ RowBox[{"a", "\[Rule]", "Infinity"}]}], " ", ",", " ", "u"}], "]"}],
+ " "}]], "Input",
+ CellChangeTimes->{{3.420495015238496*^9, 3.420495048914009*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Solve", "::", "\<\"tdep\"\>"}],
+ RowBox[{
+ ":", " "}], "\<\"The equations appear to involve the variables to be solved \
+for in an essentially non-algebraic way. \\!\\(\\*ButtonBox[\\\"\
+\[RightSkeleton]\\\", ButtonStyle->\\\"Link\\\", ButtonFrame->None, \
+ButtonData:>\\\"paclet:ref/message/Solve/tdep\\\", ButtonNote -> \
+\\\"Solve::tdep\\\"]\\)\"\>"}]], "Message", "MSG",
+ CellChangeTimes->{{3.420495034419857*^9, 3.4204950494856653`*^9}}],
+
+Cell[BoxData[
+ RowBox[{"Solve", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{"u", " ", "\[Infinity]"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{"u", " ", "\[Infinity]"}], "]"}]}]}], "\[Equal]", "0"}], ",",
+ "u"}], "]"}]], "Output",
+ CellChangeTimes->{{3.420495020582736*^9, 3.420495049496955*^9}}]
+}, Open ]],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"trans", " ", ":=", " ",
+ RowBox[{"{", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"a_", " ",
+ RowBox[{"Cos", "[", "z_", "]"}]}], "+",
+ RowBox[{"b_", " ",
+ RowBox[{"Sin", "[", "z_", "]"}]}]}], " ", "->",
+ RowBox[{
+ RowBox[{"Sqrt", "[",
+ RowBox[{"1", "+",
+ RowBox[{
+ RowBox[{"b", "^", "2"}], "/",
+ RowBox[{"a", "^", "2"}]}]}], "]"}], " ", "a", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{"z", "-",
+ RowBox[{"ArcTan", "[",
+ RowBox[{"b", "/", "a"}], "]"}]}], "]"}]}]}], "}"}]}],
+ "\[IndentingNewLine]"}]], "Input"],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"falphasurv2", " ", "=", " ",
+ RowBox[{"falphasurv", " ", "/.", " ", "trans"}]}]], "Input"],
+
+Cell[BoxData[
+ RowBox[{"s", " ",
+ SqrtBox[
+ RowBox[{"1", "+",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], "2"],
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]]}]], " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "-",
+ RowBox[{"ArcTan", "[",
+ FractionBox[
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}],
+ RowBox[{"s", " ", "u"}]], "]"}]}], "]"}]}]], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"phase", " ", "=", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], " ", "-",
+ RowBox[{"ArcTan", "[",
+ FractionBox[
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}],
+ RowBox[{"s", " ", "u"}]], "]"}]}]}]], "Input"],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "-",
+ RowBox[{"ArcTan", "[",
+ FractionBox[
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}],
+ RowBox[{"s", " ", "u"}]], "]"}]}]], "Output",
+ CellChangeTimes->{3.399673526779499*^9}]
+}, Open ]],
+
+Cell[BoxData[""], "Input",
+ CellChangeTimes->{3.399669759692897*^9}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"falphaaux", " ", ":=", " ",
+ RowBox[{"phase", " ", "-", " ",
+ RowBox[{"(", " ",
+ RowBox[{
+ RowBox[{"n", " ", "Pi"}], " ", "+", " ",
+ RowBox[{"Pi", "/", " ", "2"}]}], ")"}]}]}], " ",
+ "\[IndentingNewLine]"}]], "Input"],
+
+Cell["when k -> Inifinity, it becomes simple. ", "Text",
+ CellChangeTimes->{{3.3996695761868*^9, 3.399669601914014*^9}, {
+ 3.399673623798175*^9, 3.399673637542103*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Reduce", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"falphaaux", " ", "\[Equal]", " ", "0"}], "/.", " ",
+ RowBox[{"h", "\[Rule]", "Infinity"}]}], "//", " ", "Simplify"}], ",",
+ "u"}], "]"}], " ", "//", " ", "Simplify"}]], "Input",
+ CellChangeTimes->{{3.399673517651574*^9, 3.399673533687056*^9}, {
+ 3.3996735710902557`*^9, 3.3996736190169153`*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"a", "\[NotEqual]", "s"}], "&&",
+ RowBox[{
+ FractionBox[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+", "n"}], ")"}], " ", "\[Pi]"}],
+ RowBox[{"a", "-", "s"}]], "\[Equal]", "u"}]}]], "Output",
+ CellChangeTimes->{{3.3996735236356573`*^9, 3.3996735339355373`*^9}, {
+ 3.399673575082366*^9, 3.399673619558457*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"\[IndentingNewLine]",
+ RowBox[{"f", " ", "=", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"Exp", "[",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ", "u", " ", "u"}], " ", "]"}], " ",
+ "/", "u"}], " ", "\[Equal]", " ", "thd"}]}]}]], "Input",
+ CellChangeTimes->{{3.421527190047716*^9, 3.421527190319545*^9}, {
+ 3.421527265080615*^9, 3.421527266151236*^9}, {3.421787577830658*^9,
+ 3.421787578405652*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ FractionBox[
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], "u"], "\[Equal]", "thd"}]], "Output",
+ CellChangeTimes->{3.421527191172619*^9, 3.421527266474224*^9,
+ 3.4217875793354177`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Solve", "[",
+ RowBox[{"f", " ", ",", "u"}], "]"}], " ", "//", " ",
+ "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.421527206593687*^9, 3.42152721169602*^9}, {
+ 3.421527283946527*^9, 3.4215273162308693`*^9}, {3.421787581221381*^9,
+ 3.421787582964732*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"InverseFunction", "::", "\<\"ifun\"\>"}],
+ RowBox[{
+ ":", " "}], "\<\"Inverse functions are being used. Values may be lost for \
+multivalued inverses. \\!\\(\\*ButtonBox[\\\"\[RightSkeleton]\\\", \
+ButtonStyle->\\\"Link\\\", ButtonFrame->None, \
+ButtonData:>\\\"paclet:ref/message/InverseFunction/ifun\\\", ButtonNote -> \\\
+\"InverseFunction::ifun\\\"]\\)\"\>"}]], "Message", "MSG",
+ CellChangeTimes->{{3.4217875837060337`*^9, 3.421787595832397*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Solve", "::", "\<\"ifun\"\>"}],
+ RowBox[{
+ ":", " "}], "\<\"Inverse functions are being used by \\!\\(Solve\\), so \
+some solutions may not be found; use Reduce for complete solution \
+information. \\!\\(\\*ButtonBox[\\\"\[RightSkeleton]\\\", \
+ButtonStyle->\\\"Link\\\", ButtonFrame->None, \
+ButtonData:>\\\"paclet:ref/message/Solve/ifun\\\", ButtonNote -> \
+\\\"Solve::ifun\\\"]\\)\"\>"}]], "Message", "MSG",
+ CellChangeTimes->{{3.4217875837060337`*^9, 3.421787595843378*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"{",
+ RowBox[{"u", "\[Rule]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-",
+ FractionBox["1", "2"]}], " ",
+ RowBox[{"ProductLog", "[",
+ FractionBox[
+ RowBox[{"2", " ", "D", " ", "t"}],
+ SuperscriptBox["thd", "2"]], "]"}]}]], "thd"]}]}], "}"}], ",",
+ RowBox[{"{",
+ RowBox[{"u", "\[Rule]",
+ FractionBox["1",
+ SqrtBox[
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"ProductLog", "[",
+ FractionBox[
+ RowBox[{"2", " ", "D", " ", "t"}],
+ SuperscriptBox["thd", "2"]], "]"}]], " ",
+ SuperscriptBox["thd", "2"]}]]]}], "}"}]}], "}"}]], "Output",
+ CellChangeTimes->{{3.421527192668315*^9, 3.4215272865486193`*^9},
+ 3.421527316715212*^9, {3.4217875842458677`*^9, 3.421787596248171*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"%", " ", "/.", " ",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"D", "->", "0.001"}], ",", " ",
+ RowBox[{"t", "->", "0.01"}], ",", " ",
+ RowBox[{"thd", "->", "30"}]}], "}"}]}]], "Input"],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"{",
+ RowBox[{"u", "\[Rule]",
+ RowBox[{"-", "0.03333333296296298`"}]}], "}"}], ",",
+ RowBox[{"{",
+ RowBox[{"u", "\[Rule]", "0.03333333296296298`"}], "}"}]}],
+ "}"}]], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"Clear", "[",
+ RowBox[{"D", ",", "t", ",", "thd"}], "]"}]], "Input"],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Clear", "::", "\<\"wrsym\"\>"}],
+ RowBox[{
+ ":", " "}], "\<\"Symbol \\!\\(D\\) is Protected. \
+\\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", ButtonStyle->\\\"RefGuideLinkText\
+\\\", ButtonFrame->None, ButtonData:>\\\"General::wrsym\\\"]\\)\"\>"}]], \
+"Message"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"\[IndentingNewLine]",
+ RowBox[{"f", " ", "=", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"Exp", "[",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ RowBox[{"alphai", "^", "2"}]}], " ", "]"}], " ", "/", " ",
+ "alphai"}], " ", ")"}], " ", "/", " ",
+ RowBox[{"(", " ",
+ RowBox[{
+ RowBox[{"Exp", "[", " ",
+ RowBox[{
+ RowBox[{"-", " ", "D"}], " ", "t", " ",
+ RowBox[{"alpha0", "^", "2"}]}], "]"}], "/", "alpha0"}], ")"}]}], " ",
+ "\[Equal]", " ", "thd"}]}]}]], "Input"],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"General", "::", "\<\"spell1\"\>"}],
+ RowBox[{
+ ":", " "}], "\<\"Possible spelling error: new symbol name \
+\\\"\\!\\(alpha0\\)\\\" is similar to existing symbol \
+\\\"\\!\\(falpha0\\)\\\". \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \
+ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
+ButtonData:>\\\"General::spell1\\\"]\\)\"\>"}]], "Message"],
+
+Cell[BoxData[
+ RowBox[{
+ FractionBox[
+ RowBox[{"alpha0", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{
+ SuperscriptBox["alpha0", "2"], " ", "D", " ", "t"}], "-",
+ RowBox[{
+ SuperscriptBox["alphai", "2"], " ", "D", " ", "t"}]}]]}], "alphai"],
+ "\[Equal]", "thd"}]], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"FullSimplify", "[",
+ RowBox[{"Solve", "[",
+ RowBox[{"f", ",", "alphai"}], "]"}], "]"}],
+ "\[IndentingNewLine]"}]], "Input",
+ FontFamily->"Nimbus mono l",
+ FontSize->16],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"InverseFunction", "::", "\<\"ifun\"\>"}],
+ RowBox[{
+ ":", " "}], "\<\"Inverse functions are being used. Values may be lost for \
+multivalued inverses. \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \
+ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
+ButtonData:>\\\"InverseFunction::ifun\\\"]\\)\"\>"}]], "Message"],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Solve", "::", "\<\"ifun\"\>"}],
+ RowBox[{
+ ":", " "}], "\<\"Inverse functions are being used by \\!\\(Solve\\), so \
+some solutions may not be found; use Reduce for complete solution \
+information. \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \
+ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
+ButtonData:>\\\"Solve::ifun\\\"]\\)\"\>"}]], "Message"],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"{",
+ RowBox[{"alphai", "\[Rule]",
+ RowBox[{"-",
+ FractionBox[
+ SqrtBox[
+ RowBox[{"ProductLog", "[",
+ FractionBox[
+ RowBox[{"2", " ",
+ SuperscriptBox["alpha0", "2"], " ", "D", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"2", " ",
+ SuperscriptBox["alpha0", "2"], " ", "D", " ", "t"}]], " ", "t"}],
+
+ SuperscriptBox["thd", "2"]], "]"}]],
+ RowBox[{
+ SqrtBox["2"], " ",
+ SqrtBox["D"], " ",
+ SqrtBox["t"]}]]}]}], "}"}], ",",
+ RowBox[{"{",
+ RowBox[{"alphai", "\[Rule]",
+ FractionBox[
+ SqrtBox[
+ RowBox[{"ProductLog", "[",
+ FractionBox[
+ RowBox[{"2", " ",
+ SuperscriptBox["alpha0", "2"], " ", "D", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"2", " ",
+ SuperscriptBox["alpha0", "2"], " ", "D", " ", "t"}]], " ", "t"}],
+
+ SuperscriptBox["thd", "2"]], "]"}]],
+ RowBox[{
+ SqrtBox["2"], " ",
+ SqrtBox["D"], " ",
+ SqrtBox["t"]}]]}], "}"}]}], "}"}]], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"falphasurv", " ", "\[Equal]", " ", "0"}], " ", "/.", " ",
+ RowBox[{"s", "\[Rule]", "0"}]}]], "Input"],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Sin", "[",
+ RowBox[{"a", " ", "u"}], "]"}], "\[Equal]", "0"}]], "Output"]
+}, Open ]],
+
+Cell[BoxData[""], "Input"],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"Reduce", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"falphasurv", " ", "\[Equal]", " ", "0"}], " ", "/.", " ",
+ RowBox[{"s", "\[Rule]", "0"}]}], " ", ")"}], " ", "&&", " ",
+ RowBox[{"a", ">", "0"}]}], ",", " ", "u"}], "]"}]], "Input"],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"C", "[", "1", "]"}], "\[Element]", "Integers"}], "&&",
+ RowBox[{"a", ">", "0"}], "&&",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"u", "\[Equal]",
+ FractionBox[
+ RowBox[{"2", " ", "\[Pi]", " ",
+ RowBox[{"C", "[", "1", "]"}]}], "a"]}], "||",
+ RowBox[{"u", "\[Equal]",
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{
+ RowBox[{"-", "\[Pi]"}], "-",
+ RowBox[{"2", " ", "\[Pi]", " ",
+ RowBox[{"C", "[", "1", "]"}]}]}], "a"]}]}]}], ")"}]}]], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"p1", " ", "=", " ",
+ RowBox[{
+ RowBox[{"1", "/",
+ RowBox[{"(",
+ RowBox[{"2", " ", "a", " ", "a", " ", "r"}], ")"}]}], " ",
+ RowBox[{"Sum", "[", " ",
+ RowBox[{
+ RowBox[{"n", " ",
+ RowBox[{"Exp", "[", " ",
+ RowBox[{
+ RowBox[{"-", "D"}], " ",
+ RowBox[{"n", "^", "2"}], " ", "Pi", " ", "Pi", " ",
+ RowBox[{"t", " ", "/", " ",
+ RowBox[{"(",
+ RowBox[{"a", "^", "2"}], " ", ")"}]}]}], "]"}], " ",
+ RowBox[{"Sin", "[", " ",
+ RowBox[{"n", " ", "Pi", " ",
+ RowBox[{"r", "/", "a"}]}], "]"}]}], ",", " ",
+ RowBox[{"{",
+ RowBox[{"n", ",", " ", "Infinity"}], "}"}]}], "]"}]}]}]], "Input"],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{
+ UnderoverscriptBox["\[Sum]",
+ RowBox[{"n", "=", "1"}], "\[Infinity]"],
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"D", " ",
+ SuperscriptBox["n", "2"], " ",
+ SuperscriptBox["\[Pi]", "2"], " ", "t"}],
+ SuperscriptBox["a", "2"]]}]], " ", "n", " ",
+ RowBox[{"Sin", "[",
+ FractionBox[
+ RowBox[{"n", " ", "\[Pi]", " ", "r"}], "a"], "]"}]}]}],
+ RowBox[{"2", " ",
+ SuperscriptBox["a", "2"], " ", "r"}]]], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"p1m", " ", "=", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/",
+ RowBox[{"(",
+ RowBox[{"2", " ", "a", " ", "a", " ", "r"}], ")"}]}], " ",
+ RowBox[{"Sum", "[", " ",
+ RowBox[{
+ RowBox[{"n", " ",
+ RowBox[{"Exp", "[", " ",
+ RowBox[{
+ RowBox[{"-", " ", "D"}], " ",
+ RowBox[{"u", "^", "2"}], " ",
+ RowBox[{"t", " ", "/", " ", "4"}]}], "]"}], " ",
+ RowBox[{"Sin", "[", " ",
+ RowBox[{"u", " ",
+ RowBox[{"r", " ", "/", " ", "2"}]}], "]"}]}], ",", " ",
+ RowBox[{"{",
+ RowBox[{"n", ",", "Infinity"}], "}"}]}], "]"}]}], " ", "/.", " ",
+ RowBox[{"u", "\[Rule]", " ",
+ RowBox[{"2", " ", "Pi", " ",
+ RowBox[{
+ RowBox[{"n", "/", "a"}], " "}]}]}]}]}]], "Input"],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Sum", "::", "\<\"div\"\>"}],
+ RowBox[{
+ ":", " "}], "\<\"Sum does not converge. \\!\\(\\*ButtonBox[\\\"More\
+\[Ellipsis]\\\", ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
+ButtonData:>\\\"Sum::div\\\"]\\)\"\>"}]], "Message"],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Sum", "::", "\<\"div\"\>"}],
+ RowBox[{
+ ":", " "}], "\<\"Sum does not converge. \\!\\(\\*ButtonBox[\\\"More\
+\[Ellipsis]\\\", ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
+ButtonData:>\\\"Sum::div\\\"]\\)\"\>"}]], "Message"],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{
+ UnderoverscriptBox["\[Sum]",
+ RowBox[{"n", "=", "1"}], "\[Infinity]"],
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"D", " ",
+ SuperscriptBox["n", "2"], " ",
+ SuperscriptBox["\[Pi]", "2"], " ", "t"}],
+ SuperscriptBox["a", "2"]]}]], " ", "n", " ",
+ RowBox[{"Sin", "[",
+ FractionBox[
+ RowBox[{"n", " ", "\[Pi]", " ", "r"}], "a"], "]"}]}]}],
+ RowBox[{"2", " ",
+ SuperscriptBox["a", "2"], " ", "r"}]]], "Output"]
+}, Open ]],
+
+Cell[BoxData[""], "Input"]
+},
+WindowSize->{704, 607},
+WindowMargins->{{Automatic, 0}, {Automatic, 25}},
+FrontEndVersion->"6.0 for Linux x86 (64-bit) (February 7, 2008)",
+StyleDefinitions->"Default.nb"
+]
+(* End of Notebook Content *)
+
+(* Internal cache information *)
+(*CellTagsOutline
+CellTagsIndex->{}
+*)
+(*CellTagsIndex
+CellTagsIndex->{}
+*)
+(*NotebookFileOutline
+Notebook[{
+Cell[CellGroupData[{
+Cell[590, 23, 1070, 26, 77, "Input"],
+Cell[1663, 51, 1048, 26, 72, "Output"]
+}, Open ]],
+Cell[2726, 80, 554, 17, 32, "Input"],
+Cell[CellGroupData[{
+Cell[3305, 101, 294, 7, 32, "Input"],
+Cell[3602, 110, 634, 19, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[4273, 134, 301, 8, 32, "Input"],
+Cell[4577, 144, 480, 9, 45, "Message"],
+Cell[5060, 155, 498, 15, 31, "Output"]
+}, Open ]],
+Cell[5573, 173, 636, 20, 55, "Input"],
+Cell[CellGroupData[{
+Cell[6234, 197, 117, 2, 32, "Input"],
+Cell[6354, 201, 595, 21, 57, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[6986, 227, 302, 10, 52, "Input"],
+Cell[7291, 239, 295, 10, 45, "Output"]
+}, Open ]],
+Cell[7601, 252, 68, 1, 32, "Input"],
+Cell[7672, 255, 278, 8, 55, "Input"],
+Cell[7953, 265, 170, 2, 31, "Text"],
+Cell[CellGroupData[{
+Cell[8148, 271, 410, 10, 32, "Input"],
+Cell[8561, 283, 362, 10, 46, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[8960, 298, 446, 11, 55, "Input"],
+Cell[9409, 311, 293, 8, 51, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[9739, 324, 300, 7, 32, "Input"],
+Cell[10042, 333, 489, 9, 45, "Message"],
+Cell[10534, 344, 516, 10, 65, "Message"],
+Cell[11053, 356, 943, 27, 87, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[12033, 388, 216, 6, 32, "Input"],
+Cell[12252, 396, 245, 8, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[12534, 409, 93, 2, 32, "Input"],
+Cell[12630, 413, 297, 7, 24, "Message"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[12964, 425, 605, 18, 55, "Input"],
+Cell[13572, 445, 392, 8, 45, "Message"],
+Cell[13967, 455, 325, 10, 53, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[14329, 470, 212, 7, 64, "Input"],
+Cell[14544, 479, 360, 7, 45, "Message"],
+Cell[14907, 488, 397, 8, 65, "Message"],
+Cell[15307, 498, 1177, 37, 155, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[16521, 540, 138, 3, 32, "Input"],
+Cell[16662, 545, 111, 3, 31, "Output"]
+}, Open ]],
+Cell[16788, 551, 26, 0, 32, "Input"],
+Cell[CellGroupData[{
+Cell[16839, 555, 300, 8, 32, "Input"],
+Cell[17142, 565, 543, 17, 46, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[17722, 587, 709, 20, 55, "Input"],
+Cell[18434, 609, 556, 17, 67, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[19027, 631, 794, 23, 55, "Input"],
+Cell[19824, 656, 276, 6, 24, "Message"],
+Cell[20103, 664, 276, 6, 24, "Message"],
+Cell[20382, 672, 556, 17, 67, "Output"]
+}, Open ]],
+Cell[20953, 692, 26, 0, 32, "Input"]
+}
+]
+*)
+
+(* End of internal cache information *)
diff --git a/ecell4/egfrd/legacy/doc/math/fppair.nb b/ecell4/egfrd/legacy/doc/math/fppair.nb
new file mode 100644
index 0000000..275a63d
--- /dev/null
+++ b/ecell4/egfrd/legacy/doc/math/fppair.nb
@@ -0,0 +1,1942 @@
+(************** Content-type: application/mathematica **************
+ CreatedBy='Mathematica 5.2'
+
+ Mathematica-Compatible Notebook
+
+This notebook can be used with any Mathematica-compatible
+application, such as Mathematica, MathReader or Publicon. The data
+for the notebook starts with the line containing stars above.
+
+To get the notebook into a Mathematica-compatible application, do
+one of the following:
+
+* Save the data starting with the line of stars above into a file
+ with a name ending in .nb, then open the file inside the
+ application;
+
+* Copy the data starting with the line of stars above to the
+ clipboard, then use the Paste menu command inside the application.
+
+Data for notebooks contains only printable 7-bit ASCII and can be
+sent directly in email or through ftp in text mode. Newlines can be
+CR, LF or CRLF (Unix, Macintosh or MS-DOS style).
+
+NOTE: If you modify the data for this notebook not in a Mathematica-
+compatible application, you must delete the line below containing
+the word CacheID, otherwise Mathematica-compatible applications may
+try to use invalid cache data.
+
+For more information on notebooks and Mathematica-compatible
+applications, contact Wolfram Research:
+ web: http://www.wolfram.com
+ email: info at wolfram.com
+ phone: +1-217-398-0700 (U.S.)
+
+Notebook reader applications are available free of charge from
+Wolfram Research.
+*******************************************************************)
+
+(*CacheID: 232*)
+
+
+(*NotebookFileLineBreakTest
+NotebookFileLineBreakTest*)
+(*NotebookOptionsPosition[ 69033, 1572]*)
+(*NotebookOutlinePosition[ 70090, 1604]*)
+(* CellTagsIndexPosition[ 70046, 1600]*)
+(*WindowFrame->Normal*)
+
+
+
+Notebook[{
+
+Cell[CellGroupData[{
+Cell[BoxData[
+ \(\(\(\n\)\(Define\ functions\)\)\)], "Input"],
+
+Cell[BoxData[
+ RowBox[{\(General::"spell1"\), \(\(:\)\(\ \)\), "\<\"Possible spelling \
+error: new symbol name \\\"\\!\\(Define\\)\\\" is similar to existing symbol \
+\\\"\\!\\(Refine\\)\\\". \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \
+ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
+ButtonData:>\\\"General::spell1\\\"]\\)\"\>"}]], "Message"],
+
+Cell[BoxData[
+ \(Define\ functions\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[{
+ \(\(\(urr0[n_, r_] :=
+ 1/\((4\ Pi\ D\ Sqrt[r\ ]\ Sqrt[r0])\) \((2\ n\ + 1)\)
+ BesselK[n + 1/2, q\ r0] BesselI[n + 1/2, \ q\ r]\)\(\n\)
+ \)\), "\n",
+ \(\t\(\(ur0r[n_,
+ r_] := \n\ \ 1/\((4\ Pi\ D\ Sqrt[r]\ Sqrt[r0])\) \((2\ n\ + 1)\)
+ BesselI[n + 1/2, q\ r0] BesselK[n + 1/2, \ q\ r]\)\(\n\)\(\n\)
+ \)\), "\n",
+ \(wi[n_,
+ r_] := \(\(\((2 n + 1)\)/
+ Sqrt[r]\) \((An\ BesselI[n + 1/2, q\ r] +
+ Bn\ BesselK[n + 1/2, q\ r])\)\(\t\)\)\)}], "Input"],
+
+Cell[BoxData[
+ RowBox[{\(General::"spell1"\), \(\(:\)\(\ \)\), "\<\"Possible spelling \
+error: new symbol name \\\"\\!\\(ur0r\\)\\\" is similar to existing symbol \\\
+\"\\!\\(urr0\\)\\\". \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \
+ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
+ButtonData:>\\\"General::spell1\\\"]\\)\"\>"}]], "Message"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(der[r_] = Simplify[D[wi[n, r] + urr0[n, r], r]]\)], "Input"],
+
+Cell[BoxData[
+ \(\(\(1\/\(8\ D\ \[Pi]\ r\^\(3/2\)\ \@r0\)\)\((\((1 +
+ 2\ n)\)\ \((4\ An\ D\ \[Pi]\ q\ r\ \@r0\ BesselI[3\/2 + n,
+ q\ r] -
+ 4\ Bn\ D\ \[Pi]\ q\ r\ \@r0\ BesselK[\(-\(1\/2\)\) + n, q\ r] -
+ 4\ Bn\ D\ \[Pi]\ \@r0\ BesselK[1\/2 + n, q\ r] +
+ q\ r\ BesselI[3\/2 + n, q\ r]\ BesselK[1\/2 + n, q\ r0] +
+ q\ r\ BesselI[\(-\(1\/2\)\) + n,
+ q\ r]\ \((4\ An\ D\ \[Pi]\ \@r0 +
+ BesselK[1\/2 + n, q\ r0])\) -
+ BesselI[1\/2 + n,
+ q\ r]\ \((4\ An\ D\ \[Pi]\ \@r0 +
+ BesselK[1\/2 + n, q\ r0])\) -
+ 4\ Bn\ D\ \[Pi]\ q\ r\ \@r0\ BesselK[3\/2 + n,
+ q\ r])\))\)\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \({solution} =
+ Simplify[Solve[{der[s] == h \((wi[n, s] + urr0[n, s])\),
+ wi[n, a] + ur0r[n, a] == 0}, {An, Bn}]]\)], "Input"],
+
+Cell[BoxData[
+ \({{An \[Rule] \(-\(\((BesselK[1\/2 + n,
+ a\ q]\ \((\((q\ s\ BesselI[\(-\(1\/2\)\) + n,
+ q\ s] - \((1 + 2\ h\ s)\)\ BesselI[1\/2 + n,
+ q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[
+ 1\/2 + n, q\ r0] +
+ BesselI[1\/2 + n,
+ q\ r0]\ \((q\ s\ BesselK[\(-\(1\/2\)\) + n,
+ q\ s] + \((1 + 2\ h\ s)\)\ BesselK[1\/2 + n,
+ q\ s] +
+ q\ s\ BesselK[3\/2 + n,
+ q\ s])\))\))\)/\((4\ D\ \[Pi]\ \@r0\ \((\((q\ \
+s\ BesselI[\(-\(1\/2\)\) + n, q\ s] - \((1 + 2\ h\ s)\)\ BesselI[1\/2 + n,
+ q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[
+ 1\/2 + n, a\ q] +
+ BesselI[1\/2 + n,
+ a\ q]\ \((q\ s\ BesselK[\(-\(1\/2\)\) + n,
+ q\ s] + \((1 + 2\ h\ s)\)\ BesselK[1\/2 + n,
+ q\ s] +
+ q\ s\ BesselK[3\/2 + n, q\ s])\))\))\)\)\),
+ Bn \[Rule] \(-\(\((\((q\ s\ BesselI[\(-\(1\/2\)\) + n,
+ q\ s] - \((1 + 2\ h\ s)\)\ BesselI[1\/2 + n,
+ q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ \((BesselI[1\/2 + n,
+ q\ r0]\ BesselK[1\/2 + n, a\ q] -
+ BesselI[1\/2 + n, a\ q]\ BesselK[1\/2 + n,
+ q\ r0])\))\)/\((4\ D\ \[Pi]\ \@r0\ \((\((q\ s\ \
+BesselI[\(-\(1\/2\)\) + n, q\ s] - \((1 + 2\ h\ s)\)\ BesselI[1\/2 + n,
+ q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[
+ 1\/2 + n, a\ q] +
+ BesselI[1\/2 + n,
+ a\ q]\ \((q\ s\ BesselK[\(-\(1\/2\)\) + n,
+ q\ s] + \((1 + 2\ h\ s)\)\ BesselK[1\/2 + n,
+ q\ s] +
+ q\ s\ BesselK[3\/2 + n,
+ q\ s])\))\))\)\)\)}}\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["The solution is, at fixed n", "Input"],
+
+Cell["\<\
+Syntax::sntxf: \"The solution is\" cannot be followed by \", at fixed n\". \
+More\[Ellipsis]\
+\>", "Message"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+solutionn=Simplify[(2n+1)/Sqrt[r](An BesselI[n+1/2,q r]+Bn BesselK[n+1/2,q \
+r])/.solution, {r>0}&&{a>0}&&{r0>0}&&{s>0}&&{n\[Element]Integers}&&{n>=0}]\
+\>", "Input"],
+
+Cell[BoxData[
+ RowBox[{\(General::"spell1"\), \(\(:\)\(\ \)\), "\<\"Possible spelling \
+error: new symbol name \\\"\\!\\(solutionn\\)\\\" is similar to existing \
+symbol \\\"\\!\\(solution\\)\\\". \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \
+ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
+ButtonData:>\\\"General::spell1\\\"]\\)\"\>"}]], "Message"],
+
+Cell[BoxData[
+ \(\(-\(\((\((1 +
+ 2\ n)\)\ \((\((q\ s\ BesselI[\(-\(1\/2\)\) + n,
+ q\ s] - \((1 + 2\ h\ s)\)\ BesselI[1\/2 + n,
+ q\ s] + q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[
+ 1\/2 + n,
+ q\ r]\ \((BesselI[1\/2 + n, q\ r0]\ BesselK[1\/2 + n,
+ a\ q] -
+ BesselI[1\/2 + n, a\ q]\ BesselK[1\/2 + n, q\ r0])\) +
+ BesselI[1\/2 + n, q\ r]\ BesselK[1\/2 + n,
+ a\ q]\ \((\((q\ s\ BesselI[\(-\(1\/2\)\) + n,
+ q\ s] - \((1 + 2\ h\ s)\)\ BesselI[1\/2 + n,
+ q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[
+ 1\/2 + n, q\ r0] +
+ BesselI[1\/2 + n,
+ q\ r0]\ \((q\ s\ BesselK[\(-\(1\/2\)\) + n,
+ q\ s] + \((1 + 2\ h\ s)\)\ BesselK[1\/2 + n,
+ q\ s] +
+ q\ s\ BesselK[3\/2 + n,
+ q\ s])\))\))\))\)/\((4\ D\ \[Pi]\ \@r\ \@r0\ \
+\((\((q\ s\ BesselI[\(-\(1\/2\)\) + n, q\ s] - \((1 + 2\ h\ s)\)\ BesselI[
+ 1\/2 + n, q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[1\/2 + n,
+ a\ q] +
+ BesselI[1\/2 + n,
+ a\ q]\ \((q\ s\ BesselK[\(-\(1\/2\)\) + n,
+ q\ s] + \((1 + 2\ h\ s)\)\ BesselK[1\/2 + n,
+ q\ s] +
+ q\ s\ BesselK[3\/2 + n, q\ s])\))\))\)\)\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(\(\(\[IndentingNewLine]\)\(solute =
+ numerator/\((4\ D\ \[Pi]\ \@r\ \@r0\ \ equationk)\)\)\)\)], "Input"],
+
+Cell[BoxData[
+ RowBox[{\(General::"spell1"\), \(\(:\)\(\ \)\), "\<\"Possible spelling \
+error: new symbol name \\\"\\!\\(numerator\\)\\\" is similar to existing \
+symbol \\\"\\!\\(Numerator\\)\\\". \
+\\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", ButtonStyle->\\\"RefGuideLinkText\
+\\\", ButtonFrame->None, ButtonData:>\\\"General::spell1\\\"]\\)\"\>"}]], \
+"Message"],
+
+Cell[BoxData[
+ \(numerator\/\(4\ D\ equationk\ \[Pi]\ \@r\ \@r0\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["This solution has poles at the zeroes of ", "Input"],
+
+Cell[BoxData[
+ RowBox[{\(General::"spell1"\), \(\(:\)\(\ \)\), "\<\"Possible spelling \
+error: new symbol name \\\"\\!\\(the\\)\\\" is similar to existing symbol \
+\\\"\\!\\(The\\)\\\". \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \
+ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
+ButtonData:>\\\"General::spell1\\\"]\\)\"\>"}]], "Message"],
+
+Cell[BoxData[
+ \({at\ has\ of\ poles\ the\ This\ zeroes\ \((An \[Rule] \(-\(\((BesselK[
+ 1\/2 + n,
+ a\ q]\ \((\((q\ s\ BesselI[\(-\(1\/2\)\) + n,
+ q\ s] - \((1 + 2\ h\ s)\)\ BesselI[
+ 1\/2 + n, q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[
+ 1\/2 + n, q\ r0] +
+ BesselI[1\/2 + n,
+ q\ r0]\ \((q\ s\ BesselK[\(-\(1\/2\)\) + n,
+ q\ s] + \((1 + 2\ h\ s)\)\ BesselK[
+ 1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n,
+ q\ s])\))\))\)/\((4\ D\ \[Pi]\ \@r0\ \
+\((\((q\ s\ BesselI[\(-\(1\/2\)\) + n, q\ s] - \((1 + 2\ h\ s)\)\ BesselI[
+ 1\/2 + n, q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[
+ 1\/2 + n, a\ q] +
+ BesselI[1\/2 + n,
+ a\ q]\ \((q\ s\ BesselK[\(-\(1\/2\)\) + n,
+ q\ s] + \((1 + 2\ h\ s)\)\ BesselK[
+ 1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n, q\ s])\))\))\)\)\))\),
+ at\ has\ of\ poles\ the\ This\ zeroes\ \((Bn \[Rule] \(-\(\((\((q\ s\ \
+BesselI[\(-\(1\/2\)\) + n, q\ s] - \((1 + 2\ h\ s)\)\ BesselI[1\/2 + n,
+ q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ \((BesselI[
+ 1\/2 + n, q\ r0]\ BesselK[1\/2 + n, a\ q] -
+ BesselI[1\/2 + n, a\ q]\ BesselK[1\/2 + n,
+ q\ r0])\))\)/\((4\ D\ \[Pi]\ \@r0\ \((\((q\ s\ \
+BesselI[\(-\(1\/2\)\) + n, q\ s] - \((1 + 2\ h\ s)\)\ BesselI[1\/2 + n,
+ q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[
+ 1\/2 + n, a\ q] +
+ BesselI[1\/2 + n,
+ a\ q]\ \((q\ s\ BesselK[\(-\(1\/2\)\) + n,
+ q\ s] + \((1 + 2\ h\ s)\)\ BesselK[
+ 1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n,
+ q\ s])\))\))\)\)\))\)}\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(equationk =
+ FullSimplify[\((q\ s\ BesselI[\(-\(1\/2\)\) + n,
+ q\ s] - \((1 + 2\ h\ s)\)\ BesselI[1\/2 + n, q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)/2]\ BesselK[1\/2 + n,
+ a\ q] + BesselI[1\/2 + n,
+ a\ q]\ FullSimplify[\((q\ s\ BesselK[\(-\(1\/2\)\) + n,
+ q\ s] + \((1 + 2\ h\ s)\)\ BesselK[1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n, q\ s])\)/2]\)], "Input"],
+
+Cell[BoxData[
+ \(\((\((n - h\ s)\)\ BesselI[1\/2 + n, q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[1\/2 + n, a\ q] +
+ BesselI[1\/2 + n,
+ a\ q]\ \((\((\(-n\) + h\ s)\)\ BesselK[1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n, q\ s])\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(numerator =
+ 2 \((\ BesselK[1\/2 + n,
+ a\ q]\ \((\((\((n - h\ s)\)\ BesselI[1\/2 + n, q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[1\/2 + n,
+ q\ r] +
+ BesselI[1\/2 + n,
+ q\ r]\ \((\((\(-n\) + h\ s)\)\ BesselK[1\/2 + n,
+ q\ s] +
+ q\ s\ BesselK[3\/2 + n,
+ q\ s])\))\)\ \((\((\((n - h\ s)\)\ BesselI[
+ 1\/2 + n, q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[1\/2 + n,
+ q\ r0] +
+ BesselI[1\/2 + n,
+ q\ r0]\ \((\((\(-n\) + h\ s)\)\ BesselK[1\/2 + n,
+ q\ s] +
+ q\ s\ BesselK[3\/2 + n, q\ s])\))\))\)/\((\((\(-n\) +
+ h\ s)\)\ BesselK[1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n, q\ s])\)\)], "Input"],
+
+Cell[BoxData[
+ \(\((2\ BesselK[1\/2 + n,
+ a\ q]\ \((\((\((n - h\ s)\)\ BesselI[1\/2 + n, q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[1\/2 + n,
+ q\ r] +
+ BesselI[1\/2 + n,
+ q\ r]\ \((\((\(-n\) + h\ s)\)\ BesselK[1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n,
+ q\ s])\))\)\ \((\((\((n - h\ s)\)\ BesselI[1\/2 + n,
+ q\ s] + q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[
+ 1\/2 + n, q\ r0] +
+ BesselI[1\/2 + n,
+ q\ r0]\ \((\((\(-n\) + h\ s)\)\ BesselK[1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n, q\ s])\))\))\)/\((\((\(-n\) +
+ h\ s)\)\ BesselK[1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n, q\ s])\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["Solve[equationk==0,BesselI[1/2 + n, a q]]", "Input"],
+
+Cell[BoxData[
+ \({{BesselI[1\/2 + n,
+ a\ q] \[Rule] \(-\(\(\((n\ BesselI[1\/2 + n, q\ s] -
+ h\ s\ BesselI[1\/2 + n, q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[1\/2 + n,
+ a\ q]\)\/\(\(-n\)\ BesselK[1\/2 + n, q\ s] +
+ h\ s\ BesselK[1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n, q\ s]\)\)\)}}\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(denominator =
+ Simplify[\(1\/q\) \((BesselK[1\/2 + n,
+ a\ q]\ \((\(-2\)\ \((n - h\ s)\)\ BesselK[1\/2 + n, q\ s] +
+ 2\ q\ s\ BesselK[3\/2 + n,
+ q\ s])\)\ \((1\/BesselK[1\/2 + n, a\ q]\^2 + \(n + n\^2 \
+- s\ \((h + h\^2\ s - q\^2\ s)\)\)\/\((\((\(-n\) + h\ s)\)\ BesselK[1\/2 + n, \
+q\ s] + q\ s\ BesselK[3\/2 + n, q\ s])\)\^2)\))\)]\)], "Input"],
+
+Cell[BoxData[
+ RowBox[{\(General::"spell1"\), \(\(:\)\(\ \)\), "\<\"Possible spelling \
+error: new symbol name \\\"\\!\\(denominator\\)\\\" is similar to existing \
+symbol \\\"\\!\\(Denominator\\)\\\". \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\
+\", ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
+ButtonData:>\\\"General::spell1\\\"]\\)\"\>"}]], "Message"],
+
+Cell[BoxData[
+ \(\(BesselK[1\/2 + n, a\ q]\ \((\(-2\)\ \((n - h\ s)\)\ BesselK[1\/2 + n, \
+q\ s] + 2\ q\ s\ BesselK[3\/2 + n, q\ s])\)\ \((1\/BesselK[1\/2 + n, a\ q]\^2 \
++ \(n + n\^2 - s\ \((h + h\^2\ s - q\^2\ s)\)\)\/\((\((\(-n\) + h\ s)\)\ \
+BesselK[1\/2 + n, q\ s] + q\ s\ BesselK[3\/2 + n, q\ s])\)\^2)\)\)\/q\)], \
+"Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["The residues for this integration are", "Input"],
+
+Cell[BoxData[
+ RowBox[{\(General::"spell1"\), \(\(:\)\(\ \)\), "\<\"Possible spelling \
+error: new symbol name \\\"\\!\\(for\\)\\\" is similar to existing symbol \
+\\\"\\!\\(For\\)\\\". \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \
+ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
+ButtonData:>\\\"General::spell1\\\"]\\)\"\>"}]], "Message"],
+
+Cell[BoxData[
+ RowBox[{\(General::"spell1"\), \(\(:\)\(\ \)\), "\<\"Possible spelling \
+error: new symbol name \\\"\\!\\(this\\)\\\" is similar to existing symbol \\\
+\"\\!\\(This\\)\\\". \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \
+ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
+ButtonData:>\\\"General::spell1\\\"]\\)\"\>"}]], "Message"],
+
+Cell[BoxData[
+ \(are\ for\ integration\ residues\ The\ this\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(denominator =
+ Simplify[\(1\/q\) \((BesselK[1\/2 + n,
+ a\ q]\ \((\(-2\)\ \((n - h\ s)\)\ BesselK[1\/2 + n, q\ s] +
+ 2\ q\ s\ BesselK[3\/2 + n,
+ q\ s])\)\ \((1\/BesselK[1\/2 + n, a\ q]\^2 + \(n + n\^2 \
+- s\ \((h + h\^2\ s - q\^2\ s)\)\)\/\((\((\(-n\) + h\ s)\)\ BesselK[1\/2 + n, \
+q\ s] + q\ s\ BesselK[3\/2 + n, q\ s])\)\^2)\))\)]\)], "Input"],
+
+Cell[BoxData[
+ \(\(BesselK[1\/2 + n, a\ q]\ \((\(-2\)\ \((n - h\ s)\)\ BesselK[1\/2 + n, \
+q\ s] + 2\ q\ s\ BesselK[3\/2 + n, q\ s])\)\ \((1\/BesselK[1\/2 + n, a\ q]\^2 \
++ \(n + n\^2 - s\ \((h + h\^2\ s - q\^2\ s)\)\)\/\((\((\(-n\) + h\ s)\)\ \
+BesselK[1\/2 + n, q\ s] + q\ s\ BesselK[3\/2 + n, q\ s])\)\^2)\)\)\/q\)], \
+"Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+Such that the solution is
+\
+\>", "Input"],
+
+Cell[BoxData[
+ RowBox[{\(General::"spell1"\), \(\(:\)\(\ \)\), "\<\"Possible spelling \
+error: new symbol name \\\"\\!\\(Such\\)\\\" is similar to existing symbol \\\
+\"\\!\\(Sech\\)\\\". \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \
+ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
+ButtonData:>\\\"General::spell1\\\"]\\)\"\>"}]], "Message"],
+
+Cell[BoxData[
+ \({is\ Such\ that\ the\ \((An \[Rule] \(-\(\((BesselK[1\/2 + n,
+ a\ q]\ \((\((q\ s\ BesselI[\(-\(1\/2\)\) + n,
+ q\ s] - \((1 + 2\ h\ s)\)\ BesselI[
+ 1\/2 + n, q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[
+ 1\/2 + n, q\ r0] +
+ BesselI[1\/2 + n,
+ q\ r0]\ \((q\ s\ BesselK[\(-\(1\/2\)\) + n,
+ q\ s] + \((1 + 2\ h\ s)\)\ BesselK[
+ 1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n,
+ q\ s])\))\))\)/\((4\ D\ \[Pi]\ \@r0\ \
+\((\((q\ s\ BesselI[\(-\(1\/2\)\) + n, q\ s] - \((1 + 2\ h\ s)\)\ BesselI[
+ 1\/2 + n, q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[
+ 1\/2 + n, a\ q] +
+ BesselI[1\/2 + n,
+ a\ q]\ \((q\ s\ BesselK[\(-\(1\/2\)\) + n,
+ q\ s] + \((1 + 2\ h\ s)\)\ BesselK[
+ 1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n, q\ s])\))\))\)\)\))\),
+ is\ Such\ that\ the\ \((Bn \[Rule] \(-\(\((\((q\ s\ BesselI[\(-\(1\/2\)\
+\) + n, q\ s] - \((1 + 2\ h\ s)\)\ BesselI[1\/2 + n, q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ \((BesselI[
+ 1\/2 + n, q\ r0]\ BesselK[1\/2 + n, a\ q] -
+ BesselI[1\/2 + n, a\ q]\ BesselK[1\/2 + n,
+ q\ r0])\))\)/\((4\ D\ \[Pi]\ \@r0\ \((\((q\ s\ \
+BesselI[\(-\(1\/2\)\) + n, q\ s] - \((1 + 2\ h\ s)\)\ BesselI[1\/2 + n,
+ q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[
+ 1\/2 + n, a\ q] +
+ BesselI[1\/2 + n,
+ a\ q]\ \((q\ s\ BesselK[\(-\(1\/2\)\) + n,
+ q\ s] + \((1 + 2\ h\ s)\)\ BesselK[
+ 1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n,
+ q\ s])\))\))\)\)\))\)}\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(prefn = \
+ q\ numerator/\((2\ \[Pi]\ \@r\ \@r0\ \ denominator)\)\)], "Input"],
+
+Cell[BoxData[
+ \(\((q\^2\ \((\((\((n - h\ s)\)\ BesselI[1\/2 + n, q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[1\/2 + n,
+ q\ r] +
+ BesselI[1\/2 + n,
+ q\ r]\ \((\((\(-n\) + h\ s)\)\ BesselK[1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n,
+ q\ s])\))\)\ \((\((\((n - h\ s)\)\ BesselI[1\/2 + n,
+ q\ s] + q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[
+ 1\/2 + n, q\ r0] +
+ BesselI[1\/2 + n,
+ q\ r0]\ \((\((\(-n\) + h\ s)\)\ BesselK[1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n,
+ q\ s])\))\))\)/\((\[Pi]\ \@r\ \@r0\ \((\((\(-n\) +
+ h\ s)\)\ BesselK[1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n,
+ q\ s])\)\ \((\(-2\)\ \((n - h\ s)\)\ BesselK[1\/2 + n,
+ q\ s] +
+ 2\ q\ s\ BesselK[3\/2 + n,
+ q\ s])\)\ \((1\/BesselK[1\/2 + n, a\ q]\^2 + \(n + n\^2 - s\
+\ \((h + h\^2\ s - q\^2\ s)\)\)\/\((\((\(-n\) + h\ s)\)\ BesselK[1\/2 + n, q\ \
+s] + q\ s\ BesselK[3\/2 + n, q\ s])\)\^2)\))\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["mysol=FullSimplify[prefn/.{n->0, q->I al}]", "Input"],
+
+Cell[BoxData[
+ \(\(\[ExponentialE]\^\(2\ \[ImaginaryI]\ al\ s\)\ \@\(\[ImaginaryI]\ al\ \
+r\)\ \((al\ s\ Cos[al\ \((r - s)\)] + \((1 + h\ s)\)\ Sin[al\ \((r - s)\)])\)\
+\ \((al\ s\ Cos[al\ \((r0 - s)\)] + \((1 + h\ s)\)\ Sin[al\ \((r0 - \
+s)\)])\)\)\/\(2\ \[Pi]\ r\^\(3/2\)\ \@r0\ \@\(\[ImaginaryI]\ al\ r0\)\ \((\
+\[ExponentialE]\^\(2\ \[ImaginaryI]\ al\ s\)\ s\^2\ \((h + \((al\^2 + h\^2)\)\
+\ s)\) + a\ \[ExponentialE]\^\(2\ \[ImaginaryI]\ a\ al\)\ \((al\ s - \
+\[ImaginaryI]\ \((1 + h\ s)\))\)\^2)\)\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(\(\[ImaginaryI]\ \((al\ s\ Cos[al\ \((a - s)\)] + \((1 + h\ s)\)\ \
+Sin[al\ \((a - s)\)])\)\)\/\(\@\(\[ImaginaryI]\ a\ al\)\ \@\(\[ImaginaryI]\ \
+al\ s\)\)\)], "Input"],
+
+Cell[BoxData[
+ \(\(\[ImaginaryI]\ \((al\ s\ Cos[al\ \((a - s)\)] + \((1 + h\ s)\)\ \
+Sin[al\ \((a - s)\)])\)\)\/\(\@\(\[ImaginaryI]\ a\ al\)\ \@\(\[ImaginaryI]\ \
+al\ s\)\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(trans = {BesselK[n_, q\ x_] ->
+ 1/2\ Pi\ \ I\ Exp[\(-Pi\)\ \((n)\)/2\ I] \((\(-BesselJ[n, u\ x]\) +
+ I\ BesselY[n, u\ x])\),
+ BesselI[n_, q\ x_] -> Exp[\ Pi\ \((n)\)/2\ I] BesselJ[n, u\ x],
+ q \[Rule] I\ u}\)], "Input"],
+
+Cell[BoxData[
+ \({BesselK[n_, q\ x_] \[Rule]
+ 1\/2\ \[ImaginaryI]\ \[ExponentialE]\^\(\(-\(1\/2\)\)\ \[ImaginaryI]\ \
+n\ \[Pi]\)\ \[Pi]\ \((\(-BesselJ[n, u\ x]\) + \[ImaginaryI]\ BesselY[n,
+ u\ x])\),
+ BesselI[n_,
+ q\ x_] \[Rule] \[ExponentialE]\^\(\(\[ImaginaryI]\ n\ \[Pi]\)\/2\)\ \
+BesselJ[n, u\ x], q \[Rule] \[ImaginaryI]\ u}\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["perfnBJ=Simplify[prefn/.trans]", "Input"],
+
+Cell[BoxData[
+ \(\(-\(\((\[Pi]\ u\^2\ \((\((n - h\ s)\)\ BesselJ[1\/2 + n,
+ s\ u]\ BesselY[1\/2 + n, r\ u] -
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ BesselY[1\/2 + n, r\ u] +
+ BesselJ[1\/2 + n,
+ r\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n, s\ u])\))\)\ \((\((n -
+ h\ s)\)\ BesselJ[1\/2 + n, s\ u]\ BesselY[1\/2 + n,
+ r0\ u] -
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ BesselY[1\/2 + n, r0\ u] +
+ BesselJ[1\/2 + n,
+ r0\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n,
+ s\ u])\))\))\)/\((8\ \@r\ \@r0\ \((\((n - h\ s)\)\ \
+BesselJ[1\/2 + n, s\ u] - s\ u\ BesselJ[3\/2 + n, s\ u] + \[ImaginaryI]\ \
+\((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] + s\ u\ BesselY[3\/2 + n, s\ \
+u])\))\)\^2\ \((1\/\((BesselJ[1\/2 + n, a\ u] - \[ImaginaryI]\ BesselY[1\/2 + \
+n, a\ u])\)\^2 + \(n + n\^2 - s\ \((h + h\^2\ s + s\ u\^2)\)\)\/\((\((\(-n\) \
++ h\ s)\)\ BesselJ[1\/2 + n, s\ u] + s\ u\ BesselJ[3\/2 + n, s\ u] - \
+\[ImaginaryI]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] + s\ u\ \
+BesselY[3\/2 + n, s\ u])\))\)\^2)\))\)\)\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["equationj=Simplify[equationk/.trans]", "Input"],
+
+Cell[BoxData[
+ RowBox[{\(General::"spell1"\), \(\(:\)\(\ \)\), "\<\"Possible spelling \
+error: new symbol name \\\"\\!\\(equationj\\)\\\" is similar to existing \
+symbol \\\"\\!\\(equationk\\)\\\". \
+\\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", ButtonStyle->\\\"RefGuideLinkText\
+\\\", ButtonFrame->None, ButtonData:>\\\"General::spell1\\\"]\\)\"\>"}]], \
+"Message"],
+
+Cell[BoxData[
+ \(\(-\(1\/2\)\)\ \[Pi]\ \((\((n - h\ s)\)\ BesselJ[1\/2 + n,
+ s\ u]\ BesselY[1\/2 + n, a\ u] -
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ BesselY[1\/2 + n, a\ u] +
+ BesselJ[1\/2 + n,
+ a\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n, s\ u])\))\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(\(\(\[IndentingNewLine]\)\(solnBJ = \(-\((\[Pi]\ u\^2\ \((\((n -
+ h\ s)\)\ BesselJ[1\/2 + n, s\ u]\ BesselY[1\/2 + n,
+ r\ u] -
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ BesselY[1\/2 + n, r\ u] +
+ BesselJ[1\/2 + n,
+ r\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n,
+ s\ u] +
+ s\ u\ BesselY[3\/2 + n, s\ u])\))\)\ \((\((n -
+ h\ s)\)\ BesselJ[1\/2 + n, s\ u]\ BesselY[1\/2 + n,
+ r0\ u] -
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ BesselY[1\/2 + n, r0\ u] +
+ BesselJ[1\/2 + n,
+ r0\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n,
+ s\ u] +
+ s\ u\ BesselY[3\/2 + n,
+ s\ u])\))\))\)\)/\((8\ \@r\ \@r0\ \
+\(\(1\/BesselJ[1\/2 + n, a\ u]\^2\)\((\((n + n\^2 -
+ s\ \((h + h\^2\ s +
+ s\ u\^2)\))\)\ BesselJ[1\/2 + n, a\ u]\^2 + \
+\((\((\(-n\) + h\ s)\)\ BesselJ[1\/2 + n, s\ u] + s\ u\ BesselJ[3\/2 + n, s\ \
+u])\)\^2)\)\))\)\)\)\)], "Input"],
+
+Cell[BoxData[
+ \(\(-\(\((\[Pi]\ u\^2\ BesselJ[1\/2 + n, a\ u]\^2\ \((\((n -
+ h\ s)\)\ BesselJ[1\/2 + n, s\ u]\ BesselY[1\/2 + n,
+ r\ u] -
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ BesselY[1\/2 + n, r\ u] +
+ BesselJ[1\/2 + n,
+ r\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n, s\ u])\))\)\ \((\((n -
+ h\ s)\)\ BesselJ[1\/2 + n, s\ u]\ BesselY[1\/2 + n,
+ r0\ u] -
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ BesselY[1\/2 + n, r0\ u] +
+ BesselJ[1\/2 + n,
+ r0\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n,
+ s\ u])\))\))\)/\((8\ \@r\ \@r0\ \((\((n + n\^2 -
+ s\ \((h + h\^2\ s +
+ s\ u\^2)\))\)\ BesselJ[1\/2 + n, a\ u]\^2 + \
+\((\((\(-n\) + h\ s)\)\ BesselJ[1\/2 + n, s\ u] + s\ u\ BesselJ[3\/2 + n, s\ \
+u])\)\^2)\))\)\)\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+P[n_,x_]=BesselY[n,x]+BesselJ[n,x]
+M[n_,x_]=BesselY[n,x]-BesselJ[n,x]\
+\>", "Input"],
+
+Cell[BoxData[
+ \(BesselJ[n, x] + BesselY[n, x]\)], "Output"],
+
+Cell[BoxData[
+ \(\(-BesselJ[n, x]\) + BesselY[n, x]\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+Solve[{PL[n,x]==BesselY[n,x]+BesselJ[n,x],
+MI[n,x]==BesselY[n,x]-BesselJ[n,x]},{BesselY[n,x],BesselJ[n,x]}]\
+\>", "Input"],
+
+Cell[BoxData[
+ \({{BesselY[n, x] \[Rule] 1\/2\ \((MI[n, x] + PL[n, x])\),
+ BesselJ[n, x] \[Rule]
+ 1\/2\ \((\(-MI[n, x]\) + PL[n, x])\)}}\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(solnBJ1 =
+ Simplify[\(-\((\[Pi]\ u\^2\ \((\((n - h\ s)\)\ BesselJ[1\/2 + n,
+ s\ u]\ BesselY[1\/2 + n, r\ u] -
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ BesselY[1\/2 + n, r\ u] +
+ BesselJ[1\/2 + n,
+ r\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n,
+ s\ u] +
+ s\ u\ BesselY[3\/2 + n, s\ u])\))\)\ \((\((n -
+ h\ s)\)\ BesselJ[1\/2 + n, s\ u]\ BesselY[1\/2 + n,
+ r0\ u] -
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ BesselY[1\/2 + n, r0\ u] +
+ BesselJ[1\/2 + n,
+ r0\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n,
+ s\ u] +
+ s\ u\ BesselY[3\/2 + n,
+ s\ u])\))\))\)\)/\((8\ \@r\ \@r0\ \((\((n +
+ n\^2 - s\ \((h + h\^2\ s +
+ s\ u\^2)\) + \((\((n - h\ s)\)\ \((BesselJ[1\/2 + \
+n, s\ u] + BesselY[1\/2 + n, s\ u])\) - s\ u\ \((BesselJ[3\/2 + n, s\ u] + \
+BesselY[3\/2 + n, s\ u])\))\)\^2/\((BesselJ[1\/2 + n, a\ u] + BesselY[1\/2 + \
+n, a\ u])\)\^2)\))\))\)]\)], "Input"],
+
+Cell[BoxData[
+ \(\(-\(\((\[Pi]\ u\^2\ \((\((n - h\ s)\)\ BesselJ[1\/2 + n,
+ s\ u]\ BesselY[1\/2 + n, r\ u] -
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ BesselY[1\/2 + n, r\ u] +
+ BesselJ[1\/2 + n,
+ r\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n, s\ u])\))\)\ \((\((n -
+ h\ s)\)\ BesselJ[1\/2 + n, s\ u]\ BesselY[1\/2 + n,
+ r0\ u] -
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ BesselY[1\/2 + n, r0\ u] +
+ BesselJ[1\/2 + n,
+ r0\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n,
+ s\ u])\))\))\)/\((8\ \@r\ \@r0\ \((n + n\^2 -
+ s\ \((h + h\^2\ s +
+ s\ u\^2)\) + \((\((n - h\ s)\)\ \((BesselJ[1\/2 + n, s\ \
+u] + BesselY[1\/2 + n, s\ u])\) - s\ u\ \((BesselJ[3\/2 + n, s\ u] + \
+BesselY[3\/2 + n, s\ u])\))\)\^2\/\((BesselJ[1\/2 + n, a\ u] + BesselY[1\/2 + \
+n, a\ u])\)\^2)\))\)\)\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["siso=Solve[FullSimplify[equationj/.n->0]==0,Sin[(a-s) u]]", "Input"],
+
+Cell[BoxData[
+ \({{Sin[\((a - s)\)\ u] \[Rule] \(-\(\(s\ u\ Cos[\((a - s)\)\ u]\)\/\(1 +
+ h\ s\)\)\)}}\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(FullSimplify[
+ Simplify[\(-\((\[Pi]\ u\^2\ \((\((n - h\ s)\)\ BesselJ[1\/2 + n,
+ s\ u]\ BesselY[1\/2 + n, r\ u] -
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ BesselY[1\/2 + n,
+ r\ u] +
+ BesselJ[1\/2 + n,
+ r\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n,
+ s\ u] +
+ s\ u\ BesselY[3\/2 + n, s\ u])\))\)\ \((\((n -
+ h\ s)\)\ BesselJ[1\/2 + n, s\ u]\ BesselY[
+ 1\/2 + n, r0\ u] -
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ BesselY[1\/2 + n,
+ r0\ u] +
+ BesselJ[1\/2 + n,
+ r0\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n,
+ s\ u] +
+ s\ u\ BesselY[3\/2 + n,
+ s\ u])\))\))\)\)/\((8\ \@r\ \@r0\ \
+\(\(1\/BesselJ[1\/2 + n, a\ u]\^2\)\((\((n + n\^2 -
+ s\ \((h + h\^2\ s +
+ s\ u\^2)\))\)\ BesselJ[1\/2 + n, a\ u]\^2 + \
+\((\((\(-n\) + h\ s)\)\ BesselJ[1\/2 + n, s\ u] + s\ u\ BesselJ[3\/2 + n, s\ \
+u])\)\^2)\)\))\) /. n \[Rule] 0]]\)], "Input"],
+
+Cell[BoxData[
+ \(\(\@\(r\ u\)\ Sin[a\ u]\^2\ \((s\ u\ Cos[\((r - s)\)\ u] + \((1 + h\ s)\
+\)\ Sin[\((r - s)\)\ u])\)\ \((s\ u\ Cos[\((r0 - s)\)\ u] + \((1 + h\ s)\)\ \
+Sin[\((r0 - s)\)\ u])\)\)\/\(2\ \[Pi]\ r\^\(3/2\)\ \@r0\ \@\(r0\ u\)\ \((\(-a\
+\)\ s\^2\ u\^2\ Cos[s\ u]\^2 + s\^2\ \((h + h\^2\ s + s\ u\^2)\)\ Sin[a\ \
+u]\^2 + a\ \((1 + h\ s)\)\ \((\(-\((1 + h\ s)\)\)\ Sin[s\ u]\^2 + s\ u\ Sin[2\
+\ s\ u])\))\)\)\)], "Output"]
+}, Open ]],
+
+Cell["", "Input"],
+
+Cell[CellGroupData[{
+
+Cell["FullSimplify[perfnBJ/.n->0,]", "Input"],
+
+Cell[BoxData[
+ RowBox[{\(Syntax::"com"\), \(\(:\)\(\ \)\), "\<\"Warning: comma \
+encountered with no adjacent expression; the expression will be treated as \
+Null. \\!\\(\\\"\\\\n\\\"\\) \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \
+ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
+ButtonData:>\\\"Syntax::com\\\"]\\)\"\>"}]], "Message"],
+
+Cell[BoxData[
+ \(\(-\(\(\[ExponentialE]\^\(\(-\[ImaginaryI]\)\ \((a - s)\)\ u\)\ \@\(r\ \
+u\)\ \((s\ u\ Cos[\((r - s)\)\ u] + \((1 +
+ h\ s)\)\ Sin[\((r - s)\)\ u])\)\ \((s\ u\ Cos[\((r0 -
+ s)\)\ u] + \((1 +
+ h\ s)\)\ Sin[\((r0 -
+ s)\)\ u])\)\)\/\(2\ \[Pi]\ r\^\(3/2\)\ \@r0\ \@\(r0\
+\ u\)\ \((\((a\ \((1 + h\ s + \[ImaginaryI]\ s\ u)\)\^2 -
+ s\^2\ \((h + h\^2\ s + s\ u\^2)\))\)\ Cos[\((a -
+ s)\)\ u] + \[ImaginaryI]\ \((a\ \((1 + h\ s + \
+\[ImaginaryI]\ s\ u)\)\^2 +
+ s\^2\ \((h + h\^2\ s + s\ u\^2)\))\)\ Sin[\((a -
+ s)\)\ u])\)\)\)\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["perfnBJ", "Input"],
+
+Cell[BoxData[
+ \(\(-\(\((\[Pi]\ u\^2\ \((\((n - h\ s)\)\ BesselJ[1\/2 + n,
+ s\ u]\ BesselY[1\/2 + n, r\ u] -
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ BesselY[1\/2 + n, r\ u] +
+ BesselJ[1\/2 + n,
+ r\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n, s\ u])\))\)\ \((\((n -
+ h\ s)\)\ BesselJ[1\/2 + n, s\ u]\ BesselY[1\/2 + n,
+ r0\ u] -
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ BesselY[1\/2 + n, r0\ u] +
+ BesselJ[1\/2 + n,
+ r0\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n,
+ s\ u])\))\))\)/\((8\ \@r\ \@r0\ \((\((n - h\ s)\)\ \
+BesselJ[1\/2 + n, s\ u] - s\ u\ BesselJ[3\/2 + n, s\ u] + \[ImaginaryI]\ \
+\((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] + s\ u\ BesselY[3\/2 + n, s\ \
+u])\))\)\^2\ \((1\/\((BesselJ[1\/2 + n, a\ u] - \[ImaginaryI]\ BesselY[1\/2 + \
+n, a\ u])\)\^2 + \(n + n\^2 - s\ \((h + h\^2\ s + s\ u\^2)\)\)\/\((\((\(-n\) \
++ h\ s)\)\ BesselJ[1\/2 + n, s\ u] + s\ u\ BesselJ[3\/2 + n, s\ u] - \
+\[ImaginaryI]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] + s\ u\ \
+BesselY[3\/2 + n, s\ u])\))\)\^2)\))\)\)\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["The final solution", "Input"],
+
+Cell[BoxData[
+ \({final\ The\ \((An \[Rule] \(-\(\((BesselK[1\/2 + n,
+ a\ q]\ \((\((q\ s\ BesselI[\(-\(1\/2\)\) + n,
+ q\ s] - \((1 + 2\ h\ s)\)\ BesselI[
+ 1\/2 + n, q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[
+ 1\/2 + n, q\ r0] +
+ BesselI[1\/2 + n,
+ q\ r0]\ \((q\ s\ BesselK[\(-\(1\/2\)\) + n,
+ q\ s] + \((1 + 2\ h\ s)\)\ BesselK[
+ 1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n,
+ q\ s])\))\))\)/\((4\ D\ \[Pi]\ \@r0\ \
+\((\((q\ s\ BesselI[\(-\(1\/2\)\) + n, q\ s] - \((1 + 2\ h\ s)\)\ BesselI[
+ 1\/2 + n, q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[
+ 1\/2 + n, a\ q] +
+ BesselI[1\/2 + n,
+ a\ q]\ \((q\ s\ BesselK[\(-\(1\/2\)\) + n,
+ q\ s] + \((1 + 2\ h\ s)\)\ BesselK[
+ 1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n, q\ s])\))\))\)\)\))\),
+ final\ The\ \((Bn \[Rule] \(-\(\((\((q\ s\ BesselI[\(-\(1\/2\)\) + n,
+ q\ s] - \((1 + 2\ h\ s)\)\ BesselI[1\/2 + n,
+ q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ \((BesselI[
+ 1\/2 + n, q\ r0]\ BesselK[1\/2 + n, a\ q] -
+ BesselI[1\/2 + n, a\ q]\ BesselK[1\/2 + n,
+ q\ r0])\))\)/\((4\ D\ \[Pi]\ \@r0\ \((\((q\ s\ \
+BesselI[\(-\(1\/2\)\) + n, q\ s] - \((1 + 2\ h\ s)\)\ BesselI[1\/2 + n,
+ q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[
+ 1\/2 + n, a\ q] +
+ BesselI[1\/2 + n,
+ a\ q]\ \((q\ s\ BesselK[\(-\(1\/2\)\) + n,
+ q\ s] + \((1 + 2\ h\ s)\)\ BesselK[
+ 1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n,
+ q\ s])\))\))\)\)\))\)}\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(solnBJY = \((1 +
+ 2\ n)\) \((\[Pi]\ u\^2\ \((\((\((n - h\ s)\)\ BesselJ[1\/2 + n,
+ s\ u]\ -
+ s\ u\ BesselJ[3\/2 + n, s\ u])\)\ BesselY[1\/2 + n,
+ r\ u] +
+ BesselJ[1\/2 + n,
+ r\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n,
+ s\ u] +
+ s\ u\ BesselY[3\/2 + n,
+ s\ u])\))\)\ \((\((\((n - h\ s)\)\ BesselJ[
+ 1\/2 + n, s\ u]\ -
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ )\)
+ BesselY[1\/2 + n, r0\ u] +
+ BesselJ[1\/2 + n,
+ r0\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n,
+ s\ u] +
+ s\ u\ BesselY[3\/2 + n,
+ s\ u])\))\))\)/\((8\ \@r\ \(\@r0\) \((\
+ n + n\^2 -
+ s\ \((h + h\^2\ s +
+ s\ u\^2)\) + \((\((\((\(-n\) + h\ s)\)\ BesselJ[1\/2 \
++ n, s\ u] + s\ u\ BesselJ[3\/2 + n, s\ u])\)\^2 + \((\((\(-n\) + h\ s)\)\ \
+BesselY[1\/2 + n, s\ u] + s\ u\ BesselY[3\/2 + n, s\ u])\)\^2)\)/\((BesselJ[1\
+\/2 + n, a\ u]\^2 + BesselY[1\/2 + n, a\ u]\^2)\))\))\)\)], "Input"],
+
+Cell[BoxData[
+ RowBox[{\(General::"spell1"\), \(\(:\)\(\ \)\), "\<\"Possible spelling \
+error: new symbol name \\\"\\!\\(solnBJY\\)\\\" is similar to existing symbol \
+\\\"\\!\\(solnBJ\\)\\\". \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \
+ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
+ButtonData:>\\\"General::spell1\\\"]\\)\"\>"}]], "Message"],
+
+Cell[BoxData[
+ \(\((\((1 +
+ 2\ n)\)\ \[Pi]\ u\^2\ \((\((\((n - h\ s)\)\ BesselJ[1\/2 + n,
+ s\ u] - s\ u\ BesselJ[3\/2 + n, s\ u])\)\ BesselY[
+ 1\/2 + n, r\ u] +
+ BesselJ[1\/2 + n,
+ r\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n,
+ s\ u])\))\)\ \((\((\((n - h\ s)\)\ BesselJ[1\/2 + n,
+ s\ u] - s\ u\ BesselJ[3\/2 + n, s\ u])\)\ BesselY[
+ 1\/2 + n, r0\ u] +
+ BesselJ[1\/2 + n,
+ r0\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n,
+ s\ u])\))\))\)/\((8\ \@r\ \@r0\ \((n + n\^2 -
+ s\ \((h + h\^2\ s +
+ s\ u\^2)\) + \(\((\((\(-n\) + h\ s)\)\ BesselJ[1\/2 + n, \
+s\ u] + s\ u\ BesselJ[3\/2 + n, s\ u])\)\^2 + \((\((\(-n\) + h\ s)\)\ \
+BesselY[1\/2 + n, s\ u] + s\ u\ BesselY[3\/2 + n, s\ \
+u])\)\^2\)\/\(BesselJ[1\/2 + n, a\ u]\^2 + BesselY[1\/2 + n, a\ u]\^2\))\))\)\
+\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(\(\(\[IndentingNewLine]\)\(\[IndentingNewLine]\)\(\((FullSimplify[
+ Expand[\((\((n - h\ s)\)\ BesselJ[1\/2 + n, s\ u] - s\ u\ BesselJ[3\
+\/2 + n, s\ u] + \[ImaginaryI]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ \
+u] + s\ u\ BesselY[3\/2 + n, s\ u])\))\)\^2/\((BesselJ[1\/2 + n, a\ u] - \
+\[ImaginaryI]\ BesselY[1\/2 + n, a\ u])\)\^2 di1/di2]] +
+ FullSimplify[
+ n + n\^2 - s\ \((h + h\^2\ s + s\ u\^2)\)])\)\[IndentingNewLine]
+ FullSimplify[
+ 1\/\((BesselJ[1\/2 + n, a\ u] + \[ImaginaryI]\ BesselY[1\/2 + n, a\ u])\
+\) /. n \[Rule] 0]\[IndentingNewLine]
+ FullSimplify[\(\(1\/1\)\((\((n - h\ s)\)\ BesselJ[1\/2 + n, s\ u] -
+ s\ u\ BesselJ[3\/2 + n,
+ s\ u] + \[ImaginaryI]\ \((\((\(-n\) + h\ s)\)\ BesselY[
+ 1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n, s\ u])\))\)\) /.
+ n \[Rule] 0]\[IndentingNewLine]
+ si = Collect[
+ equationk/\((\(1\/\((BesselJ[1\/2 + n,
+ a\ u] + \[ImaginaryI]\ BesselY[1\/2 + n,
+ a\ u])\)\) \(\(1\/1\) \((\((n - h\ s)\)\ BesselJ[
+ 1\/2 + n, s\ u] -
+ s\ u\ BesselJ[3\/2 + n,
+ s\ u] + \[ImaginaryI]\ \((\((\(-n\) +
+ h\ s)\)\ BesselY[1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n, s\ u])\))\)\))\) /.
+ trans, BesselY[1\/2 + n, a\ u], FullSimplify]\[IndentingNewLine]
+ Simplify[
+ equationk/\((\((\((n - h\ s)\)\ BesselJ[1\/2 + n, s\ u] -
+ s\ u\ BesselJ[3\/2 + n,
+ s\ u] + \[ImaginaryI]\ \((\((\(-n\) + h\ s)\)\ BesselY[
+ 1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n, s\ u])\))\)/\((BesselJ[
+ 1\/2 + n,
+ a\ u] + \[ImaginaryI]\ BesselY[1\/2 + n,
+ a\ u])\))\) /. {q \[Rule] \ u\ I,
+ n \[Rule] 0}]\[IndentingNewLine]
+ FullSimplify[\(si/I\)/Pi*4 - di1 + di2]\[IndentingNewLine]
+ di1 =
+ FullSimplify[\(si/I\)/Pi*4 - \ \((\
+ BesselJ[1\/2 + n, a\ u]^2)\) + \ \((\
+ BesselY[1\/2 + n, a\ u]^2)\) +
+ 1\/2\ \[Pi]\ BesselJ[1\/2 + n, a\ u]\ \(BesselY[1\/2 + n, a\ u]/I\)/
+ Pi*4]\[IndentingNewLine]
+ di2 =
+ Simplify[\((\ \(-\ \((\ BesselJ[1\/2 + n, a\ u]^2)\)\) + \ \((\
+ BesselY[1\/2 + n, a\ u]^2)\) +
+ 1\/2\ \[Pi]\ BesselJ[1\/2 + n,
+ a\ u]\ \(BesselY[1\/2 + n, a\ u]/I\)/
+ Pi*4)\)]\[IndentingNewLine]\[IndentingNewLine]
+ \)\)\)], "Input"],
+
+Cell[BoxData[
+ \(n + n\^2 -
+ s\ \((h + h\^2\ s +
+ s\ u\^2)\) + \(di1\ \((\((n - h\ s)\)\ BesselJ[1\/2 + n, s\ u] - \
+s\ u\ BesselJ[3\/2 + n, s\ u] + \[ImaginaryI]\ \((\((\(-n\) + h\ s)\)\ \
+BesselY[1\/2 + n, s\ u] + s\ u\ BesselY[3\/2 + n, s\ u])\))\)\^2\)\/\(di2\ \
+\((BesselJ[1\/2 + n, a\ u] - \[ImaginaryI]\ BesselY[1\/2 + n, a\ \
+u])\)\^2\)\)], "Output"],
+
+Cell[BoxData[
+ \(\[ImaginaryI]\ \[ExponentialE]\^\(\(-\[ImaginaryI]\)\ a\ u\)\ \@\(\[Pi]\
+\/2\)\ \@\(a\ u\)\)], "Output"],
+
+Cell[BoxData[
+ \(\(\[ExponentialE]\^\(\(-\[ImaginaryI]\)\ s\ u\)\ \@\(2\/\[Pi]\)\ \((\(-\
+\[ImaginaryI]\)\ \((1 + h\ s)\) + s\ u)\)\)\/\@\(s\ u\)\)], "Output"],
+
+Cell[BoxData[
+ \(\(-\(1\/2\)\)\ \[Pi]\ BesselJ[1\/2 + n, a\ u]\ BesselY[1\/2 + n,
+ a\ u] - \(\[Pi]\ BesselJ[1\/2 + n, a\ u]\^2\ \((\((n - h\ s)\)\ \
+BesselY[1\/2 + n, s\ u] - s\ u\ BesselY[3\/2 + n, s\ u])\)\)\/\(2\ \((\((\(-n\
+\) + h\ s)\)\ BesselJ[1\/2 + n, s\ u] + s\ u\ BesselJ[3\/2 + n, s\ u] + \
+\[ImaginaryI]\ \((\((n - h\ s)\)\ BesselY[1\/2 + n, s\ u] - s\ u\ \
+BesselY[3\/2 + n, s\ u])\))\)\) - \(\[ImaginaryI]\ \[Pi]\ \((\((n - h\ s)\)\ \
+BesselJ[1\/2 + n, s\ u] - s\ u\ BesselJ[3\/2 + n, s\ u])\)\ BesselY[1\/2 + n, \
+a\ u]\^2\)\/\(2\ \((n - h\ s)\)\ BesselJ[1\/2 + n, s\ u] - 2\ s\ u\ BesselJ[3\
+\/2 + n, s\ u] + 2\ \[ImaginaryI]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, \
+s\ u] + s\ u\ BesselY[3\/2 + n, s\ u])\)\)\)], "Output"],
+
+Cell[BoxData[
+ \(\(\[ImaginaryI]\ \@\(s\ u\)\ \((\[ExponentialE]\^\(2\ \[ImaginaryI]\ a\ \
+u\)\ \((\(-\[ImaginaryI]\) - \[ImaginaryI]\ h\ s + s\ u)\) + \
+\[ExponentialE]\^\(2\ \[ImaginaryI]\ s\ u\)\ \((\[ImaginaryI] + \[ImaginaryI]\
+\ h\ s + s\ u)\))\)\)\/\(2\ \@\(\[ImaginaryI]\ a\ u\)\ \@\(a\ u\)\ \@\(\
+\[ImaginaryI]\ s\ u\)\ \((1 + h\ s + \[ImaginaryI]\ s\ u)\)\)\)], "Output"],
+
+Cell[BoxData[
+ \(\(-di1\) +
+ di2 + \((2\ \((\(-\[ImaginaryI]\)\ BesselJ[1\/2 + n, a\ u] +
+ BesselY[1\/2 + n,
+ a\ u])\)\ \((\((\(-n\) + h\ s)\)\ BesselJ[1\/2 + n,
+ s\ u]\ BesselY[1\/2 + n, a\ u] +
+ s\ u\ BesselJ[3\/2 + n, s\ u]\ BesselY[1\/2 + n, a\ u] +
+ BesselJ[1\/2 + n,
+ a\ u]\ \((\((n - h\ s)\)\ BesselY[1\/2 + n, s\ u] -
+ s\ u\ BesselY[3\/2 + n, s\ u])\))\))\)/\((\((n -
+ h\ s)\)\ BesselJ[1\/2 + n, s\ u] -
+ s\ u\ BesselJ[3\/2 + n,
+ s\ u] + \[ImaginaryI]\ \((\((\(-n\) + h\ s)\)\ BesselY[
+ 1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n, s\ u])\))\)\)], "Output"],
+
+Cell[BoxData[
+ \(\(-\(\(\((BesselJ[1\/2 + n, a\ u]\^2 +
+ BesselY[1\/2 + n, a\ u]\^2)\)\ \((\((n - h\ s)\)\ BesselJ[
+ 1\/2 + n, s\ u] -
+ s\ u\ BesselJ[3\/2 + n,
+ s\ u] + \[ImaginaryI]\ \((\((n - h\ s)\)\ BesselY[
+ 1\/2 + n, s\ u] -
+ s\ u\ BesselY[3\/2 + n, s\ u])\))\)\)\/\(\((n -
+ h\ s)\)\ BesselJ[1\/2 + n, s\ u] -
+ s\ u\ BesselJ[3\/2 + n,
+ s\ u] + \[ImaginaryI]\ \((\((\(-n\) + h\ s)\)\ BesselY[
+ 1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n, s\ u])\)\)\)\)\)], "Output"],
+
+Cell[BoxData[
+ \(\(-\((BesselJ[1\/2 + n, a\ u] + \[ImaginaryI]\ BesselY[1\/2 + n, a\ u])\
+\)\^2\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["The solution from the bible at n=0", "Input"],
+
+Cell[BoxData[
+ RowBox[{\(Set::"write"\), \(\(:\)\(\ \)\), "\<\"Tag \\!\\(Times\\) in \\!\
+\\(at\\\\ bible\\\\ from\\\\ n\\\\ the\\\\ The\\\\ \\(\\({\\(\\(An \[Rule] \
+\\(\\(-\\(\\(\\(\\(\\(BesselK[\\(\\(\\(\\(1\\/2 + n\\)\\), \\(\\(a\\\\ \
+q\\)\\)\\)\\)]\\)\\)\\\\ \
+\\(\\((\\(\\(\\(\\((\\(\\(Times[\\(\\(\[LeftSkeleton] 3 \
+\[RightSkeleton]\\)\\)]\\)\\) + \\(\\(Times[\\(\\(\[LeftSkeleton] 3 \
+\[RightSkeleton]\\)\\)]\\)\\) + \\(\\(Times[\\(\\(\[LeftSkeleton] 3 \
+\[RightSkeleton]\\)\\)]\\)\\))\\)\\)\\\\ \
+\\(\\(BesselK[\\(\\(\\(\\(Plus[\\(\\(\[LeftSkeleton] 2 \
+\[RightSkeleton]\\)\\)]\\)\\), \\(\\(Times[\\(\\(\[LeftSkeleton] 2 \
+\[RightSkeleton]\\)\\)]\\)\\)\\)\\)]\\)\\)\\)\\) + \
+\\(\\(\\(\\(\[LeftSkeleton] 1 \[RightSkeleton]\\)\\)\\\\ \\(\\((\\(\
+\[LeftSkeleton] 1 \[RightSkeleton]\\))\\)\\)\\)\\))\\)\\)\\)\\/\\(4\\\\ D\\\\ \
+\[Pi]\\\\ \\@r0\\\\ \\(\\((\\(\\(\\(\\(Plus[\\(\\(\[LeftSkeleton] 3 \
+\[RightSkeleton]\\)\\)]\\)\\)\\\\ \\(\\(BesselK[\\(\\(\[LeftSkeleton] 2 \
+\[RightSkeleton]\\)\\)]\\)\\)\\)\\) + \\(\\(\\(\\(BesselI[\\(\\(\
+\[LeftSkeleton] 2 \[RightSkeleton]\\)\\)]\\)\\)\\\\ \\(\\(Plus[\\(\\(\
+\[LeftSkeleton] 3 \
+\[RightSkeleton]\\)\\)]\\)\\)\\)\\))\\)\\)\\)\\)\\)\\)\\)\\)\\), \\(\\(Bn \
+\[Rule] \\(\\(-\\(\\(\\(\\(\\((\\(\[LeftSkeleton] 1 \
+\[RightSkeleton]\\))\\)\\)\\\\ \\(\\((\\(\[LeftSkeleton] 1 \
+\[RightSkeleton]\\))\\)\\)\\)\\/\\(4\\\\ \\(\\(\[LeftSkeleton] 3 \
+\[RightSkeleton]\\)\\)\\\\ \\(\\((\\(\\(\\(\\(Plus[\\(\\(\[LeftSkeleton] 3 \
+\[RightSkeleton]\\)\\)]\\)\\)\\\\ \\(\\(\[LeftSkeleton] 1 \[RightSkeleton]\\)\
+\\)\\)\\) + \\(\\(\[LeftSkeleton] 1 \[RightSkeleton]\\)\\))\\)\\)\\)\\)\\)\\)\
+\\)\\)\\)}\\)\\)\\) is Protected. \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \
+ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
+ButtonData:>\\\"General::write\\\"]\\)\"\>"}]], "Message"],
+
+Cell[BoxData[
+ \(0\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+R[r_]=(Sqrt[H^2+b^2k2^2al^2](G Sin[(r-a)al]+a k1 al \
+Cos[(r-a)al]))/Sqrt[(b-a)(a^2k1^2al^2+G^2)(H^2+b^2k2^2al^2)+(H a k1+G b k2)(G \
+H + a b k2 k1 al^2)]\
+\>", "Input"],
+
+Cell[BoxData[
+ \(\(\@\(H\^2 + al\^2\ b\^2\ k2\^2\)\ \((a\ al\ k1\ Cos[al\ \((\(-a\) + r)\
+\)] + G\ Sin[al\ \((\(-a\) + r)\)])\)\)\/\@\(\((a\ H\ k1 + b\ G\ k2)\)\ \((G\ \
+H + a\ al\^2\ b\ k1\ k2)\) + \((\(-a\) + b)\)\ \((G\^2 + a\^2\ al\^2\ \
+k1\^2)\)\ \((H\^2 + al\^2\ b\^2\ k2\^2)\)\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(\(\(\[IndentingNewLine]\)\(p = {k1 \[Rule] 1, h1 \[Rule] h,
+ a \[Rule] s, k2 \[Rule] 0, h2 \[Rule] 1, b \[Rule] ae,
+ G \[Rule] 1 + h\ s, H \[Rule] ae}\)\)\)], "Input"],
+
+Cell[BoxData[
+ \({k1 \[Rule] 1, h1 \[Rule] h, a \[Rule] s, k2 \[Rule] 0, h2 \[Rule] 1,
+ b \[Rule] ae, G \[Rule] 1 + h\ s, H \[Rule] ae}\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["books=FullSimplify[1 /( 2 Pi r r0) R[r] R[r0]/.p]", "Input"],
+
+Cell[BoxData[
+ \(\(\((al\ s\ Cos[al\ \((r - s)\)] + \((1 + h\ s)\)\ Sin[al\ \((r - \
+s)\)])\)\ \((al\ s\ Cos[al\ \((r0 - s)\)] + \((1 + h\ s)\)\ Sin[al\ \((r0 - \
+s)\)])\)\)\/\(2\ \[Pi]\ r\ r0\ \((s\ \((1 + h\ s)\) + \((ae - s)\)\ \((al\^2\ \
+s\^2 + \((1 + h\ s)\)\^2)\))\)\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["Where al is the solution of", "Input"],
+
+Cell[BoxData[
+ \({al\ is\ of\ the\ Where\ \((An \[Rule] \(-\(\((BesselK[1\/2 + n,
+ a\ q]\ \((\((q\ s\ BesselI[\(-\(1\/2\)\) + n,
+ q\ s] - \((1 + 2\ h\ s)\)\ BesselI[
+ 1\/2 + n, q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[
+ 1\/2 + n, q\ r0] +
+ BesselI[1\/2 + n,
+ q\ r0]\ \((q\ s\ BesselK[\(-\(1\/2\)\) + n,
+ q\ s] + \((1 + 2\ h\ s)\)\ BesselK[
+ 1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n,
+ q\ s])\))\))\)/\((4\ D\ \[Pi]\ \@r0\ \
+\((\((q\ s\ BesselI[\(-\(1\/2\)\) + n, q\ s] - \((1 + 2\ h\ s)\)\ BesselI[
+ 1\/2 + n, q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[
+ 1\/2 + n, a\ q] +
+ BesselI[1\/2 + n,
+ a\ q]\ \((q\ s\ BesselK[\(-\(1\/2\)\) + n,
+ q\ s] + \((1 + 2\ h\ s)\)\ BesselK[
+ 1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n, q\ s])\))\))\)\)\))\),
+ al\ is\ of\ the\ Where\ \((Bn \[Rule] \(-\(\((\((q\ s\ \
+BesselI[\(-\(1\/2\)\) + n, q\ s] - \((1 + 2\ h\ s)\)\ BesselI[1\/2 + n,
+ q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ \((BesselI[
+ 1\/2 + n, q\ r0]\ BesselK[1\/2 + n, a\ q] -
+ BesselI[1\/2 + n, a\ q]\ BesselK[1\/2 + n,
+ q\ r0])\))\)/\((4\ D\ \[Pi]\ \@r0\ \((\((q\ s\ \
+BesselI[\(-\(1\/2\)\) + n, q\ s] - \((1 + 2\ h\ s)\)\ BesselI[1\/2 + n,
+ q\ s] +
+ q\ s\ BesselI[3\/2 + n, q\ s])\)\ BesselK[
+ 1\/2 + n, a\ q] +
+ BesselI[1\/2 + n,
+ a\ q]\ \((q\ s\ BesselK[\(-\(1\/2\)\) + n,
+ q\ s] + \((1 + 2\ h\ s)\)\ BesselK[
+ 1\/2 + n, q\ s] +
+ q\ s\ BesselK[3\/2 + n,
+ q\ s])\))\))\)\)\))\)}\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["FullSimplify[equationk/.{n->0, q->I al}]", "Input"],
+
+Cell[BoxData[
+ \(\(\[ImaginaryI]\ \((al\ s\ Cos[al\ \((a - s)\)] + \((1 + h\ s)\)\ \
+Sin[al\ \((a - s)\)])\)\)\/\(\@\(\[ImaginaryI]\ a\ al\)\ \@\(\[ImaginaryI]\ \
+al\ s\)\)\)], "Output"],
+
+Cell[BoxData[
+ \(\(\[ImaginaryI]\ \((al\ s\ Cos[al\ \((a - s)\)] + \((1 + h\ s)\)\ \
+Sin[al\ \((a - s)\)])\)\)\/\(\@\(\[ImaginaryI]\ a\ al\)\ \@\(\[ImaginaryI]\ \
+al\ s\)\)\)], "Output",
+ GeneratedCell->False,
+ CellAutoOverwrite->False]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["(al s Cos[al (a-s)]+(1+h s) Sin[al (a-s)])//TeXForm", "Input"],
+
+Cell["\<\
+\\text{al} s \\cos (\\text{al} (a-s))+(h s+1) \\sin (\\text{al} (a-s))\
+\>", "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["me=FullSimplify[solnBJY/.n->0]", "Input"],
+
+Cell[BoxData[
+ \(\(\@\(r\ u\)\ \((s\ u\ Cos[\((r - s)\)\ u] + \((1 + h\ s)\)\ Sin[\((r - \
+s)\)\ u])\)\ \((s\ u\ Cos[\((r0 - s)\)\ u] + \((1 + h\ s)\)\ Sin[\((r0 - s)\)\
+\ u])\)\)\/\(2\ \[Pi]\ r\^\(3/2\)\ \@r0\ \@\(r0\ u\)\ \((\((1 + h\ s)\)\ \((a \
++ a\ h\ s - h\ s\^2)\) + \((a - s)\)\ s\^2\ u\^2)\)\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["FullSimplify[me/books/.{ae->a,u->al}]", "Input"],
+
+Cell[BoxData[
+ \(\(\@\(al\ r\)\ \@r0\)\/\(\@r\ \@\(al\ r0\)\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+
+There is a good moment to look at the survival equation
+
+\
+\>", "Input"],
+
+Cell[BoxData[
+ RowBox[{\(General::"spell1"\), \(\(:\)\(\ \)\), "\<\"Possible spelling \
+error: new symbol name \\\"\\!\\(There\\)\\\" is similar to existing symbol \
+\\\"\\!\\(Where\\)\\\". \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \
+ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
+ButtonData:>\\\"General::spell1\\\"]\\)\"\>"}]], "Message"],
+
+Cell[BoxData[
+ RowBox[{\(General::"spell"\), \(\(:\)\(\ \)\), "\<\"Possible spelling \
+error: new symbol name \\\"\\!\\(equation\\)\\\" is similar to existing \
+symbols \\!\\({equationj, equationk}\\). \\!\\(\\*ButtonBox[\\\"More\
+\[Ellipsis]\\\", ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
+ButtonData:>\\\"General::spell\\\"]\\)\"\>"}]], "Message"],
+
+Cell[BoxData[
+ \(a\ at\ equation\ good\ is\ look\ moment\ survival\ the\ There\ to\)], \
+"Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(surv[r_, r0_, u_] =
+ FullSimplify[
+ Exp[\(-D\)\ u^2\ t] \(\(\ \)\(\((s\ u\ Cos[\((r - s)\)\ u] + \((1 +
+ h\ s)\)\ Sin[\((r - s)\)\ u])\)\ \((s\ u\ Cos[\((r0 -
+ s)\)\ u] + \((1 +
+ h\ s)\)\ Sin[\((r0 -
+ s)\)\ u])\)\)\)/\((2\ \[Pi]\ r\ \ r0\ \ \((\((1 +
+ h\ s)\)\ \((a + a\ h\ s - h\ s\^2)\) + \((a -
+ s)\)\ s\^2\ u\^2)\))\)]\)], "Input"],
+
+Cell[BoxData[
+ \(\(\[ExponentialE]\^\(\(-D\)\ t\ u\^2\)\ \((s\ u\ Cos[\((r - s)\)\ u] + \
+\((1 + h\ s)\)\ Sin[\((r - s)\)\ u])\)\ \((s\ u\ Cos[\((r0 - s)\)\ u] + \((1 \
++ h\ s)\)\ Sin[\((r0 - s)\)\ u])\)\)\/\(2\ \[Pi]\ r\ r0\ \((\((1 + h\ s)\)\ \
+\((a + a\ h\ s - h\ s\^2)\) + \((a - s)\)\ s\^2\ u\^2)\)\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["surv[r,r0,u]//TeXForm", "Input"],
+
+Cell["\<\
+\\frac{e^{-D t u^2} (s u \\cos ((r-s) u)+(h s+1) \\sin ((r-s) u)) (s u \\cos \
+((\\text{r0}-s) u)+(h s+1) \\sin ((\\text{r0}-s) u))}{2 \\pi r \\text{r0}
+ \\left((a-s) s^2 u^2+(h s+1) \\left(-h s^2+a h s+a\\right)\\right)}\
+\>", "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+FullSimplify[Integrate[D[surv[r,r0,u],t],{r,s,a},\\!\\(Assumptions \[Rule] \
+\\((Re[s\\/\\(a - s\\)] \[GreaterEqual] 0 ||
+ Re[s\\/\\(a - s\\)] \[LessEqual] \\(-1\\) ||
+ Im[s\\/\\(a - s\\)] \[NotEqual] 0)\\)\\)]]\
+\>", "Input"],
+
+Cell[BoxData[
+ \(\(-\(\((D\ \[ExponentialE]\^\(\(-D\)\ t\ u\^2\)\ u\^2\ \((s\ u\ \
+Cos[\((r0 - s)\)\ u] + \((1 +
+ h\ s)\)\ Sin[\((r0 - s)\)\ u])\)\ \((CosIntegral[
+ a\ u]\ \((s\ u\ Cos[s\ u] - \((1 + h\ s)\)\ Sin[
+ s\ u])\) +
+ CosIntegral[
+ s\ u]\ \((\(-s\)\ u\ Cos[s\ u] + \((1 + h\ s)\)\ Sin[
+ s\ u])\) + \((\((1 + h\ s)\)\ Cos[s\ u] +
+ s\ u\ Sin[s\ u])\)\ \((SinIntegral[a\ u] -
+ SinIntegral[s\ u])\))\))\)/\((2\ \[Pi]\ r0\ \((\((1 +
+ h\ s)\)\ \((a + a\ h\ s - h\ s\^2)\) + \((a -
+ s)\)\ s\^2\ u\^2)\))\)\)\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["leavea=FullSimplify[D D[surv[r,r0,u],r]/.{r->a}]", "Input"],
+
+Cell[BoxData[
+ \(\(-\(\(D\ \[ExponentialE]\^\(\(-D\)\ t\ u\^2\)\ \((\(-\((a - s +
+ a\ h\ s)\)\)\ u\ Cos[\((a - s)\)\ u] + \((1 + h\ s +
+ a\ s\ u\^2)\)\ Sin[\((a -
+ s)\)\ u])\)\ \((s\ u\ Cos[\((r0 - s)\)\ u] + \((1 +
+ h\ s)\)\ Sin[\((r0 -
+ s)\)\ u])\)\)\/\(2\ a\^2\ \[Pi]\ r0\ \((\((1 +
+ h\ s)\)\ \((a + a\ h\ s - h\ s\^2)\) + \((a -
+ s)\)\ s\^2\ u\^2)\)\)\)\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(\(\(\[IndentingNewLine]\)\(leaves =
+ FullSimplify[\(-\(\((D\ \[ExponentialE]\^\(\(-D\)\ t\ u\^2\)\ \
+\((\(-\((a - s +
+ a\ h\ s)\)\)\ u\ - \(\((1 + h\ s)\)\ Sin[\((a - \
+s)\)\ u]\)\/\(s\ u\) + \((1 + h\ s +
+ a\ s\ u\^2)\)\ Sin[\((a -
+ s)\)\ u])\)\ \((s\ u\ Cos[\((r0 -
+ s)\)\ u] + \((1 +
+ h\ s)\)\ Sin[\((r0 -
+ s)\)\ u])\))\)/\((2\ a\^2\ \[Pi]\ r0\ \((\((1 +
+ h\ s)\)\ \((a + a\ h\ s - h\ s\^2)\) + \((a -
+ s)\)\ s\^2\ u\^2)\))\)\)\)]\)\)\)], "Input"],
+
+Cell[BoxData[
+ RowBox[{\(General::"spell1"\), \(\(:\)\(\ \)\), "\<\"Possible spelling \
+error: new symbol name \\\"\\!\\(leaves\\)\\\" is similar to existing symbol \
+\\\"\\!\\(leavea\\)\\\". \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \
+ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
+ButtonData:>\\\"General::spell1\\\"]\\)\"\>"}]], "Message"],
+
+Cell[BoxData[
+ \(\(-\(\(D\ \[ExponentialE]\^\(\(-D\)\ t\ u\^2\)\ \((\(-s\)\ \((a - s +
+ a\ h\ s)\)\ u\^2 + \((\(-1\) +
+ s\ \((u + a\ s\ u\^3 +
+ h\ \((\(-1\) + s\ u)\))\))\)\ Sin[\((a -
+ s)\)\ u])\)\ \((s\ u\ Cos[\((r0 - s)\)\ u] + \((1 +
+ h\ s)\)\ Sin[\((r0 -
+ s)\)\ u])\)\)\/\(2\ a\^2\ \[Pi]\ r0\ s\ u\ \((\((1 \
++ h\ s)\)\ \((a + a\ h\ s - h\ s\^2)\) + \((a -
+ s)\)\ s\^2\ u\^2)\)\)\)\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["Itegrate[(leavea+leaves),{t,0,T}]", "Input"],
+
+Cell[BoxData[
+ RowBox[{\(General::"spell1"\), \(\(:\)\(\ \)\), "\<\"Possible spelling \
+error: new symbol name \\\"\\!\\(Itegrate\\)\\\" is similar to existing \
+symbol \\\"\\!\\(Integrate\\)\\\". \
+\\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", ButtonStyle->\\\"RefGuideLinkText\
+\\\", ButtonFrame->None, ButtonData:>\\\"General::spell1\\\"]\\)\"\>"}]], \
+"Message"],
+
+Cell[BoxData[
+ \(Itegrate[\(-\(\(D\ \[ExponentialE]\^\(\(-D\)\ t\ u\^2\)\ \((\(-\((a -
+ s + a\ h\ s)\)\)\ u\ Cos[\((a - s)\)\ u] + \((1 +
+ h\ s +
+ a\ s\ u\^2)\)\ Sin[\((a -
+ s)\)\ u])\)\ \((s\ u\ Cos[\((r0 -
+ s)\)\ u] + \((1 +
+ h\ s)\)\ Sin[\((r0 -
+ s)\)\ u])\)\)\/\(2\ a\^2\ \[Pi]\ r0\ \((\((1 +
+ h\ s)\)\ \((a + a\ h\ s - h\ s\^2)\) + \((a -
+ s)\)\ s\^2\ u\^2)\)\)\)\) - \(D\ \
+\[ExponentialE]\^\(\(-D\)\ t\ u\^2\)\ \((\(-s\)\ \((a - s + a\ h\ s)\)\ u\^2 \
++ \((\(-1\) + s\ \((u + a\ s\ u\^3 + h\ \((\(-1\) + s\ u)\))\))\)\ Sin[\((a - \
+s)\)\ u])\)\ \((s\ u\ Cos[\((r0 - s)\)\ u] + \((1 + h\ s)\)\ Sin[\((r0 - s)\)\
+\ u])\)\)\/\(2\ a\^2\ \[Pi]\ r0\ s\ u\ \((\((1 + h\ s)\)\ \((a + a\ h\ s - h\ \
+s\^2)\) + \((a - s)\)\ s\^2\ u\^2)\)\), {t, 0, T}]\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+FullSimplify[Solve[(al s Cos[al (a-s)]+(1+h s) Sin[al (a-s)])==0,Cos[al \
+(a-s)]]/.al->u]\
+\>", "Input"],
+
+Cell[BoxData[
+ \({{Cos[\((a -
+ s)\)\ u] \[Rule] \(-\(\(\((1 +
+ h\ s)\)\ Sin[\((a -
+ s)\)\ u]\)\/\(s\ u\)\)\)}}\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["FullSimplify[h D surv[s,r0,u]]", "Input"],
+
+Cell[BoxData[
+ \(\(D\ \[ExponentialE]\^\(\(-D\)\ t\ u\^2\)\ h\ u\ \((s\ u\ Cos[\((r0 - \
+s)\)\ u] + \((1 + h\ s)\)\ Sin[\((r0 - s)\)\ u])\)\)\/\(2\ \[Pi]\ r0\ \((\((1 \
++ h\ s)\)\ \((a + a\ h\ s - h\ s\^2)\) + \((a - s)\)\ s\^2\ u\^2)\)\)\)], \
+"Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["Verify also also the limit s->0", "Input"],
+
+Cell[BoxData[
+ RowBox[{\(General::"spell1"\), \(\(:\)\(\ \)\), "\<\"Possible spelling \
+error: new symbol name \\\"\\!\\(limit\\)\\\" is similar to existing symbol \
+\\\"\\!\\(Limit\\)\\\". \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \
+ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
+ButtonData:>\\\"General::spell1\\\"]\\)\"\>"}]], "Message"],
+
+Cell[BoxData[
+ \(also\^2\ limit\ s\ the\ Verify \[Rule] 0\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["solnBJY", "Input"],
+
+Cell[BoxData[
+ \(\((\((1 +
+ 2\ n)\)\ \[Pi]\ u\^2\ \((\((\((n - h\ s)\)\ BesselJ[1\/2 + n,
+ s\ u] - s\ u\ BesselJ[3\/2 + n, s\ u])\)\ BesselY[
+ 1\/2 + n, r\ u] +
+ BesselJ[1\/2 + n,
+ r\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n,
+ s\ u])\))\)\ \((\((\((n - h\ s)\)\ BesselJ[1\/2 + n,
+ s\ u] - s\ u\ BesselJ[3\/2 + n, s\ u])\)\ BesselY[
+ 1\/2 + n, r0\ u] +
+ BesselJ[1\/2 + n,
+ r0\ u]\ \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n,
+ s\ u])\))\))\)/\((8\ \@r\ \@r0\ \((n + n\^2 -
+ s\ \((h + h\^2\ s +
+ s\ u\^2)\) + \(\((\((\(-n\) + h\ s)\)\ BesselJ[1\/2 + n, \
+s\ u] + s\ u\ BesselJ[3\/2 + n, s\ u])\)\^2 + \((\((\(-n\) + h\ s)\)\ \
+BesselY[1\/2 + n, s\ u] + s\ u\ BesselY[3\/2 + n, s\ \
+u])\)\^2\)\/\(BesselJ[1\/2 + n, a\ u]\^2 + BesselY[1\/2 + n, a\ u]\^2\))\))\)\
+\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(\(\(\[IndentingNewLine]\)\(The\ term\ \ \((\((\(-n\) + h\ s)\)\ BesselY[
+ 1\/2 + n, s\ u] +
+ s\ u\ BesselY[3\/2 + n,
+ s\ u])\)\ goes\ to\ infinity, \ \(so\ we\ have\ to\ take\ it\ \
+out ... \)\ What\ remains\ \(\(is\)\(:\)\)\)\)\)], "Input"],
+
+Cell[BoxData[
+ RowBox[{\(Syntax::"tsntxi"\), \(\(:\)\(\ \)\), \
+"\<\"\\\"\\!\\(\\(\\(Theterm \\(\\((\\(\\(\\(\\((\\(\\(-n\\)\\) + \\(\\(hs\\)\
+\\))\\)\\) \\(\\(BesselY[\\(\\(\\(\\(1\\/2 + n\\)\\), \
+\\(\\(su\\)\\)\\)\\)]\\)\\)\\)\\) + \\(\\(su\\(\\(BesselY[\\(\\(\\(\\(3\\/2 + \
+n\\)\\), \\(\\(su\\)\\)\\)\\)]\\)\\)\\)\\))\\)\\) goestoinfinity\\)\\), \
+\\(\\(\\(\\(\\(\\(sowehavetotakeitout\\)\\) ...\\)\\) Whatremains\\(\\(is \
+:\\)\\)\\)\\)\\)\\\" is incomplete; more input is needed.\\!\\(\\\"\\\"\\) \
+\\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", ButtonStyle->\\\"RefGuideLinkText\
+\\\", ButtonFrame->None, ButtonData:>\\\"General::tsntxi\\\"]\\)\"\>"}]], \
+"Message"],
+
+Cell[BoxData[
+ StyleBox[
+ ErrorBox[\(The
+ term \((\((\(-n\) + h s)\) BesselY[1\/2 + n, s u] +
+ s u BesselY[3\/2 + n, s u])\) goes to
+ infinity, \(so we have to take it out ... \) What
+ remains \( \(is\)\(:\)\)\)],
+ ShowStringCharacters->True]], "Message"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(\(\(\[IndentingNewLine]\)\(FullSimplify[\((\((1 +
+ 2\ n)\)\ \[Pi]\ u\^2\ \((BesselJ[1\/2 + n,
+ r\ u]\ )\)\ \((BesselJ[1\/2 + n,
+ r0\ u]\ )\))\)/\((8\ \@r\ \@r0\ \((1\/\(BesselJ[1\/2 + n, a\ \
+u]\^2 + BesselY[1\/2 + n, a\ u]\^2\))\))\)]\)\)\)], "Input"],
+
+Cell[BoxData[
+ \(\(\((1 + 2\ n)\)\ \[Pi]\ u\^2\ BesselJ[1\/2 + n, r\ u]\ BesselJ[1\/2 + \
+n, r0\ u]\ \((BesselJ[1\/2 + n, a\ u]\^2 + BesselY[1\/2 + n, a\ \
+u]\^2)\)\)\/\(8\ \@r\ \@r0\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["Simplify[equationj/.s->0]", "Input"],
+
+Cell[BoxData[
+ \(1\/2\ n\ \[Pi]\ \((BesselJ[1\/2 + n, a\ u]\ BesselY[1\/2 + n, 0] -
+ BesselJ[1\/2 + n, 0]\ BesselY[1\/2 + n, a\ u])\)\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(So\ the\ equation\ defining\ u\ is\ \ \ BesselJ[1\/2 + n,
+ a\ u]\ \[Equal] 0\)], "Input"],
+
+Cell[BoxData[
+ \(defining\ equation\ is\ So\ the\ u\ BesselJ[1\/2 + n, a\ u] \[Equal]
+ 0\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+We obtain thus the equation 8 page 382 section 14.16 using the relation 20 \
+appendix III\
+\>", "Input"],
+
+Cell[BoxData[
+ RowBox[{\(General::"spell1"\), \(\(:\)\(\ \)\), "\<\"Possible spelling \
+error: new symbol name \\\"\\!\\(thus\\)\\\" is similar to existing symbol \\\
+\"\\!\\(this\\)\\\". \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \
+ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
+ButtonData:>\\\"General::spell1\\\"]\\)\"\>"}]], "Message"],
+
+Cell[BoxData[
+ RowBox[{\(General::"spell1"\), \(\(:\)\(\ \)\), "\<\"Possible spelling \
+error: new symbol name \\\"\\!\\(using\\)\\\" is similar to existing symbol \
+\\\"\\!\\(Using\\)\\\". \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \
+ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
+ButtonData:>\\\"General::spell1\\\"]\\)\"\>"}]], "Message"],
+
+Cell[BoxData[
+ \(865459.2`\ appendix\ equation\ III\ obtain\ page\ relation\ section\ \
+the\^2\ thus\ using\ We\)], "Output"]
+}, Open ]],
+
+Cell["", "Input"],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[{
+ \(FullSimplify[\ BesselY[1\/2 + 2, 0]]\), "\[IndentingNewLine]",
+ \(FullSimplify[\ BesselJ[1\/2 + 2, 0]]\)}], "Input"],
+
+Cell[BoxData[
+ \(ComplexInfinity\)], "Output"],
+
+Cell[BoxData[
+ \(0\)], "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ \(FullSimplify[\((\((\((\(-n\) + h\ s)\)\ BesselJ[1\/2 + n, s\ u] + s\ u\ \
+BesselJ[3\/2 + n, s\ u])\)\^2 + \((\((\(-n\) + h\ s)\)\ BesselY[1\/2 + n, s\ \
+u] + s\ u\ BesselY[3\/2 + n, s\ u])\)\^2)\)/\((BesselJ[1\/2 + n, a\ u]\^2 +
+ BesselY[1\/2 + n, a\ u]\^2)\) /. n \[Rule] 2]\)], "Input"],
+
+Cell[BoxData[
+ \(\(a\^5\ \((9\ \((3 + h\ s)\)\^2 + 3\ s\^2\ \((1 + h\ s)\)\ \((3 + h\ s)\
+\)\ u\^2 + s\^4\ \((\(-2\) + h\ s\ \((2 + h\ s)\))\)\ u\^4 + s\^6\ \
+u\^6)\)\)\/\(s\^5\ \((9 + 3\ a\^2\ u\^2 + a\^4\ u\^4)\)\)\)], "Output"]
+}, Open ]]
+},
+FrontEndVersion->"5.2 for X",
+ScreenRectangle->{{0, 3200}, {0, 1200}},
+WindowSize->{1177, 921},
+WindowMargins->{{354, Automatic}, {Automatic, 46}},
+PrintingPageRange->{Automatic, Automatic},
+PrintingOptions->{"PrintingMargins"->{{54, 54}, {72, 72}},
+"PaperSize"->{612, 792},
+"PaperOrientation"->"Portrait",
+"PrintCellBrackets"->True,
+"PrintRegistrationMarks"->True,
+"PrintMultipleHorizontalPages"->False,
+"PostScriptOutputFile":>FrontEnd`FileName[{$RootDirectory, "home", "shafi", \
+"Desktop"}, "PairSolution.nb.ps", CharacterEncoding -> "iso8859-1"],
+"Magnification"->1}
+]
+
+(*******************************************************************
+Cached data follows. If you edit this Notebook file directly, not
+using Mathematica, you must remove the line containing CacheID at
+the top of the file. The cache data will then be recreated when
+you save this file from within Mathematica.
+*******************************************************************)
+
+(*CellTagsOutline
+CellTagsIndex->{}
+*)
+
+(*CellTagsIndex
+CellTagsIndex->{}
+*)
+
+(*NotebookFileOutline
+Notebook[{
+
+Cell[CellGroupData[{
+Cell[1776, 53, 64, 1, 43, "Input"],
+Cell[1843, 56, 360, 5, 20, "Message"],
+Cell[2206, 63, 51, 1, 27, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[2294, 69, 536, 12, 123, "Input"],
+Cell[2833, 83, 356, 5, 20, "Message"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[3226, 93, 80, 1, 27, "Input"],
+Cell[3309, 96, 760, 14, 123, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[4106, 115, 162, 3, 27, "Input"],
+Cell[4271, 120, 2293, 38, 303, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[6601, 163, 44, 0, 27, "Input"],
+Cell[6648, 165, 119, 3, 20, "Message"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[6804, 173, 176, 3, 27, "Input"],
+Cell[6983, 178, 365, 5, 20, "Message"],
+Cell[7351, 185, 1703, 29, 229, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[9091, 219, 131, 2, 49, "Input"],
+Cell[9225, 223, 368, 6, 20, "Message"],
+Cell[9596, 231, 82, 1, 49, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[9715, 237, 58, 0, 27, "Input"],
+Cell[9776, 239, 354, 5, 20, "Message"],
+Cell[10133, 246, 2443, 39, 329, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[12613, 290, 489, 8, 81, "Input"],
+Cell[13105, 300, 290, 5, 44, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[13432, 310, 1009, 19, 189, "Input"],
+Cell[14444, 331, 851, 15, 155, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[15332, 351, 58, 0, 27, "Input"],
+Cell[15393, 353, 423, 7, 59, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[15853, 365, 427, 7, 153, "Input"],
+Cell[16283, 374, 370, 5, 20, "Message"],
+Cell[16656, 381, 334, 5, 72, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[17027, 391, 54, 0, 27, "Input"],
+Cell[17084, 393, 354, 5, 20, "Message"],
+Cell[17441, 400, 356, 5, 20, "Message"],
+Cell[17800, 407, 76, 1, 27, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[17913, 413, 427, 7, 153, "Input"],
+Cell[18343, 422, 334, 5, 72, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[18714, 432, 52, 3, 42, "Input"],
+Cell[18769, 437, 356, 5, 20, "Message"],
+Cell[19128, 444, 2355, 37, 329, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[21520, 486, 103, 2, 33, "Input"],
+Cell[21626, 490, 1211, 21, 190, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[22874, 516, 59, 0, 27, "Input"],
+Cell[22936, 518, 522, 7, 53, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[23495, 530, 188, 3, 49, "Input"],
+Cell[23686, 535, 189, 3, 48, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[23912, 543, 281, 5, 27, "Input"],
+Cell[24196, 550, 389, 7, 44, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[24622, 562, 47, 0, 27, "Input"],
+Cell[24672, 564, 1323, 20, 284, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[26032, 589, 53, 0, 27, "Input"],
+Cell[26088, 591, 368, 6, 20, "Message"],
+Cell[26459, 599, 362, 6, 81, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[26858, 610, 1216, 21, 244, "Input"],
+Cell[28077, 633, 1086, 18, 177, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[29200, 656, 94, 3, 42, "Input"],
+Cell[29297, 661, 63, 1, 27, "Output"],
+Cell[29363, 664, 68, 1, 27, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[29468, 670, 132, 3, 42, "Input"],
+Cell[29603, 675, 171, 3, 44, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[29811, 683, 1255, 21, 326, "Input"],
+Cell[31069, 706, 1110, 18, 176, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[32216, 729, 74, 0, 27, "Input"],
+Cell[32293, 731, 137, 2, 43, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[32467, 738, 1315, 23, 249, "Input"],
+Cell[33785, 763, 433, 6, 53, "Output"]
+}, Open ]],
+Cell[34233, 772, 17, 0, 27, "Input"],
+
+Cell[CellGroupData[{
+Cell[34275, 776, 45, 0, 27, "Input"],
+Cell[34323, 778, 351, 5, 33, "Message"],
+Cell[34677, 785, 745, 12, 53, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[35459, 802, 24, 0, 27, "Input"],
+Cell[35486, 804, 1323, 20, 284, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[36846, 829, 35, 0, 27, "Input"],
+Cell[36884, 831, 2393, 38, 329, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[39314, 874, 1321, 24, 286, "Input"],
+Cell[40638, 900, 361, 5, 20, "Message"],
+Cell[41002, 907, 1125, 20, 175, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[42164, 932, 2673, 50, 677, "Input"],
+Cell[44840, 984, 379, 7, 63, "Output"],
+Cell[45222, 993, 124, 2, 51, "Output"],
+Cell[45349, 997, 162, 2, 71, "Output"],
+Cell[45514, 1001, 756, 10, 119, "Output"],
+Cell[46273, 1013, 384, 5, 54, "Output"],
+Cell[46660, 1020, 785, 14, 118, "Output"],
+Cell[47448, 1036, 676, 12, 61, "Output"],
+Cell[48127, 1050, 114, 2, 46, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[48278, 1057, 51, 0, 27, "Input"],
+Cell[48332, 1059, 1831, 28, 90, "Message"],
+Cell[50166, 1089, 35, 1, 27, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[50238, 1095, 179, 4, 27, "Input"],
+Cell[50420, 1101, 302, 4, 62, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[50759, 1110, 203, 3, 43, "Input"],
+Cell[50965, 1115, 158, 2, 27, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[51160, 1122, 67, 0, 27, "Input"],
+Cell[51230, 1124, 292, 4, 47, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[51559, 1133, 44, 0, 27, "Input"],
+Cell[51606, 1135, 2390, 38, 329, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[54033, 1178, 57, 0, 27, "Input"],
+Cell[54093, 1180, 189, 3, 48, "Output"],
+Cell[54285, 1185, 241, 5, 48, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[54563, 1195, 68, 0, 27, "Input"],
+Cell[54634, 1197, 96, 2, 40, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[54767, 1204, 47, 0, 27, "Input"],
+Cell[54817, 1206, 320, 4, 53, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[55174, 1215, 54, 0, 27, "Input"],
+Cell[55231, 1217, 78, 1, 52, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[55346, 1223, 83, 5, 72, "Input"],
+Cell[55432, 1230, 358, 5, 20, "Message"],
+Cell[55793, 1237, 369, 5, 20, "Message"],
+Cell[56165, 1244, 101, 2, 27, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[56303, 1251, 524, 9, 66, "Input"],
+Cell[56830, 1262, 322, 4, 51, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[57189, 1271, 38, 0, 27, "Input"],
+Cell[57230, 1273, 250, 4, 55, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[57517, 1282, 257, 5, 57, "Input"],
+Cell[57777, 1289, 742, 12, 61, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[58556, 1306, 65, 0, 27, "Input"],
+Cell[58624, 1308, 540, 8, 51, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[59201, 1321, 699, 12, 100, "Input"],
+Cell[59903, 1335, 360, 5, 20, "Message"],
+Cell[60266, 1342, 573, 9, 51, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[60876, 1356, 50, 0, 27, "Input"],
+Cell[60929, 1358, 367, 6, 20, "Message"],
+Cell[61299, 1366, 1013, 15, 96, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[62349, 1386, 114, 3, 27, "Input"],
+Cell[62466, 1391, 193, 4, 44, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[62696, 1400, 47, 0, 27, "Input"],
+Cell[62746, 1402, 257, 4, 51, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[63040, 1411, 48, 0, 27, "Input"],
+Cell[63091, 1413, 358, 5, 20, "Message"],
+Cell[63452, 1420, 74, 1, 29, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[63563, 1426, 24, 0, 27, "Input"],
+Cell[63590, 1428, 1125, 20, 175, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[64752, 1453, 298, 5, 62, "Input"],
+Cell[65053, 1460, 674, 10, 37, "Message"],
+Cell[65730, 1472, 327, 7, 37, "Message"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[66094, 1484, 320, 5, 80, "Input"],
+Cell[66417, 1491, 201, 3, 56, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[66655, 1499, 42, 0, 27, "Input"],
+Cell[66700, 1501, 160, 2, 44, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[66897, 1508, 120, 2, 44, "Input"],
+Cell[67020, 1512, 111, 2, 44, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[67168, 1519, 115, 3, 27, "Input"],
+Cell[67286, 1524, 356, 5, 20, "Message"],
+Cell[67645, 1531, 358, 5, 20, "Message"],
+Cell[68006, 1538, 128, 2, 29, "Output"]
+}, Open ]],
+Cell[68149, 1543, 17, 0, 27, "Input"],
+
+Cell[CellGroupData[{
+Cell[68191, 1547, 141, 2, 81, "Input"],
+Cell[68335, 1551, 49, 1, 27, "Output"],
+Cell[68387, 1554, 35, 1, 27, "Output"]
+}, Open ]],
+
+Cell[CellGroupData[{
+Cell[68459, 1560, 322, 4, 96, "Input"],
+Cell[68784, 1566, 233, 3, 48, "Output"]
+}, Open ]]
+}
+]
+*)
+
+
+
+(*******************************************************************
+End of Mathematica Notebook file.
+*******************************************************************)
+
diff --git a/ecell4/egfrd/legacy/doc/math/fppairsurv.nb b/ecell4/egfrd/legacy/doc/math/fppairsurv.nb
new file mode 100644
index 0000000..8bd69e5
--- /dev/null
+++ b/ecell4/egfrd/legacy/doc/math/fppairsurv.nb
@@ -0,0 +1,3378 @@
+(* Content-type: application/mathematica *)
+
+(*** Wolfram Notebook File ***)
+(* http://www.wolfram.com/nb *)
+
+(* CreatedBy='Mathematica 6.0' *)
+
+(*CacheID: 234*)
+(* Internal cache information:
+NotebookFileLineBreakTest
+NotebookFileLineBreakTest
+NotebookDataPosition[ 145, 7]
+NotebookDataLength[ 106312, 3369]
+NotebookOptionsPosition[ 99679, 3140]
+NotebookOutlinePosition[ 100015, 3155]
+CellTagsIndexPosition[ 99972, 3152]
+WindowFrame->Normal
+ContainsDynamic->False*)
+
+(* Beginning of Notebook Content *)
+Notebook[{
+
+Cell[CellGroupData[{
+Cell[BoxData[
+ RowBox[{"$Assumptions", "=",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"r", ">", "0"}], ",",
+ RowBox[{"r0", ">", "0"}], ",",
+ RowBox[{"u", ">", "0"}], ",",
+ RowBox[{"s", ">", "0"}], ",",
+ RowBox[{"h", ">", "0"}], ",",
+ RowBox[{"a", ">", "0"}], ",",
+ RowBox[{"a", ">", "s"}], ",", " ",
+ RowBox[{"r", "<", "a"}], ",", " ",
+ RowBox[{"r0", "<", "a"}], ",", " ",
+ RowBox[{"r", ">", "s"}], ",", " ",
+ RowBox[{"r0", ">", "s"}], ",", " ",
+ RowBox[{"D", ">", "0"}], ",",
+ RowBox[{"t", ">", "0"}], ",",
+ RowBox[{"n", "\[Element]", "Integers"}], ",",
+ RowBox[{"n", ">", "0"}], ",",
+ RowBox[{"theta", "\[GreaterEqual]", "0"}], ",",
+ RowBox[{"theta", "\[LessEqual]", "\[Pi]"}], ",", " ",
+ RowBox[{"s", "\[Element]", "Reals"}], ",", " ",
+ RowBox[{"h", "\[Element]", "Reals"}]}], "}"}]}]], "Input",
+ CellChangeTimes->{{3.3890438832783527`*^9, 3.38904389383783*^9}, {
+ 3.389044162762238*^9, 3.3890441655526333`*^9}, {3.389044221342888*^9,
+ 3.38904422385328*^9}, {3.417914074016696*^9, 3.417914088904818*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"r", ">", "0"}], ",",
+ RowBox[{"r0", ">", "0"}], ",",
+ RowBox[{"u", ">", "0"}], ",",
+ RowBox[{"s", ">", "0"}], ",",
+ RowBox[{"h", ">", "0"}], ",",
+ RowBox[{"a", ">", "0"}], ",",
+ RowBox[{"a", ">", "s"}], ",",
+ RowBox[{"r", "<", "a"}], ",",
+ RowBox[{"r0", "<", "a"}], ",",
+ RowBox[{"r", ">", "s"}], ",",
+ RowBox[{"r0", ">", "s"}], ",",
+ RowBox[{"D", ">", "0"}], ",",
+ RowBox[{"t", ">", "0"}], ",",
+ RowBox[{"n", "\[Element]", "Integers"}], ",",
+ RowBox[{"n", ">", "0"}], ",",
+ RowBox[{"theta", "\[GreaterEqual]", "0"}], ",",
+ RowBox[{"theta", "\[LessEqual]", "\[Pi]"}], ",",
+ RowBox[{"s", "\[Element]", "Reals"}], ",",
+ RowBox[{"h", "\[Element]", "Reals"}]}], "}"}]], "Output",
+ CellChangeTimes->{3.421779540300219*^9, 3.421779868795035*^9,
+ 3.422300273860615*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"r", ">", "0"}], ",",
+ RowBox[{"r0", ">", "0"}], ",",
+ RowBox[{"u", ">", "0"}], ",",
+ RowBox[{"s", ">", "0"}], ",",
+ RowBox[{"h", ">", "0"}], ",",
+ RowBox[{"a", ">", "0"}], ",",
+ RowBox[{"a", ">", "s"}], ",",
+ RowBox[{"r", "<", "a"}], ",",
+ RowBox[{"r0", "<", "a"}], ",",
+ RowBox[{"r", ">", "s"}], ",",
+ RowBox[{"r0", ">", "s"}], ",",
+ RowBox[{"D", ">", "0"}], ",",
+ RowBox[{"t", ">", "0"}], ",",
+ RowBox[{"n", "\[Element]", "Integers"}], ",",
+ RowBox[{"n", ">", "0"}], ",",
+ RowBox[{"theta", "\[GreaterEqual]", "0"}], ",",
+ RowBox[{"theta", "\[LessEqual]", "\[Pi]"}], ",",
+ RowBox[{"a", "\[Element]", " ", "Reals"}], ",", " ",
+ RowBox[{"r", "\[Element]", " ", "Reals"}], ",", " ",
+ RowBox[{"r0", "\[Element]", "Reals"}], ",",
+ RowBox[{"s", "\[Element]", "Reals"}], ",",
+ RowBox[{"h", "\[Element]", "Reals"}], ",", " ",
+ RowBox[{"u", "\[Element]", " ", "Reals"}], ",", " ",
+ RowBox[{"t", "\[Element]", " ", "Reals"}]}], "}"}]], "Input",
+ CellChangeTimes->{{3.420494435074806*^9, 3.420494439008472*^9}, {
+ 3.420494482979227*^9, 3.4204945803063307`*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"r", ">", "0"}], ",",
+ RowBox[{"r0", ">", "0"}], ",",
+ RowBox[{"u", ">", "0"}], ",",
+ RowBox[{"s", ">", "0"}], ",",
+ RowBox[{"h", ">", "0"}], ",",
+ RowBox[{"a", ">", "0"}], ",",
+ RowBox[{"a", ">", "s"}], ",",
+ RowBox[{"r", "<", "a"}], ",",
+ RowBox[{"r0", "<", "a"}], ",",
+ RowBox[{"r", ">", "s"}], ",",
+ RowBox[{"r0", ">", "s"}], ",",
+ RowBox[{"D", ">", "0"}], ",",
+ RowBox[{"t", ">", "0"}], ",",
+ RowBox[{"n", "\[Element]", "Integers"}], ",",
+ RowBox[{"n", ">", "0"}], ",",
+ RowBox[{"theta", "\[GreaterEqual]", "0"}], ",",
+ RowBox[{"theta", "\[LessEqual]", "\[Pi]"}], ",",
+ RowBox[{"a", "\[Element]", "Reals"}], ",",
+ RowBox[{"r", "\[Element]", "Reals"}], ",",
+ RowBox[{"r0", "\[Element]", "Reals"}], ",",
+ RowBox[{"s", "\[Element]", "Reals"}], ",",
+ RowBox[{"h", "\[Element]", "Reals"}], ",",
+ RowBox[{"u", "\[Element]", "Reals"}], ",",
+ RowBox[{"t", "\[Element]", "Reals"}]}], "}"}]], "Output",
+ CellChangeTimes->{{3.4204944992804947`*^9, 3.420494528108857*^9},
+ 3.420494582620414*^9, 3.421523783075089*^9, 3.421779548156248*^9,
+ 3.421779869108989*^9, 3.422300274246146*^9}]
+}, Open ]],
+
+Cell[BoxData[
+ RowBox[{"htrans", " ", ":=", " ",
+ RowBox[{"{", " ",
+ RowBox[{"h", "\[Rule]",
+ RowBox[{"kf", "/",
+ RowBox[{"(",
+ RowBox[{"4", " ", "Pi", " ", "s", " ", "s", " ", "D"}], " ", ")"}]}]}],
+ " ", "}"}]}]], "Input"],
+
+Cell[BoxData[{
+ RowBox[{"transcossin", ":=",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"a_", " ",
+ RowBox[{"Cos", "[", "z_", "]"}]}], "+",
+ RowBox[{"b_", " ",
+ RowBox[{"Sin", "[", "z_", "]"}]}]}], "\[Rule]",
+ RowBox[{
+ RowBox[{"Sqrt", "[",
+ RowBox[{"1", "+",
+ RowBox[{
+ RowBox[{"b", "^", "2"}], "/",
+ RowBox[{"a", "^", "2"}]}]}], "]"}], " ", "a", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{"z", "-",
+ RowBox[{"ArcTan", "[",
+ RowBox[{"b", "/", "a"}], "]"}]}], "]"}]}]}],
+ "}"}]}], "\[IndentingNewLine]",
+ RowBox[{"getcosarg", " ", ":=", " ",
+ RowBox[{"{", " ",
+ RowBox[{
+ RowBox[{"a_", " ",
+ RowBox[{"Cos", "[", "z_", "]"}]}], " ", "\[Rule]", " ", "z"}],
+ "}"}]}]}], "Input"],
+
+Cell[BoxData[
+ RowBox[{"falphasurv", " ", "=."}]], "Input"],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"falphasurv", "[", "u_", "]"}], " ", "=", " ",
+ RowBox[{
+ RowBox[{"u", " ", "s", " ",
+ RowBox[{"Cos", "[", " ",
+ RowBox[{"u", " ",
+ RowBox[{"(", " ",
+ RowBox[{"a", " ", "-", " ", "s"}], " ", ")"}]}], " ", "]"}]}], " ",
+ "+", " ",
+ RowBox[{
+ RowBox[{"(", " ",
+ RowBox[{"1", " ", "+", " ",
+ RowBox[{"h", " ", "s"}]}], " ", ")"}], " ",
+ RowBox[{"Sin", "[", " ",
+ RowBox[{"u", " ",
+ RowBox[{"(", " ",
+ RowBox[{"a", " ", "-", " ", "s"}], " ", ")"}]}], " ",
+ "]"}]}]}]}]], "Input"],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}]], "Output",
+ CellChangeTimes->{3.389131116703792*^9, 3.397484002317914*^9,
+ 3.397484079838581*^9, 3.3981882391458797`*^9, 3.399673774228694*^9,
+ 3.405917431547121*^9, 3.409547780047739*^9, 3.410124211280675*^9,
+ 3.4105757083670053`*^9, 3.417908194833878*^9, 3.417920512365542*^9,
+ 3.417920758000228*^9, 3.418763027714402*^9, 3.4204942192245073`*^9,
+ 3.42177954873199*^9, 3.421779869405858*^9, 3.4223002743989067`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"falphasurv", "[", "u", "]"}], " ", "/.", " ", "transcossin"}],
+ " ", "//", " ", "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.4105759469809933`*^9, 3.410575979721642*^9}, {
+ 3.4179097089902678`*^9, 3.417909720141185*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ SqrtBox[
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], "2"], "+",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}]], " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"a", " ", "u"}], "-",
+ RowBox[{"s", " ", "u"}], "-",
+ RowBox[{"ArcCot", "[",
+ FractionBox[
+ RowBox[{"s", " ", "u"}],
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}]], "]"}]}], "]"}]}]], "Output",
+ CellChangeTimes->{{3.4105759533333282`*^9, 3.410575999943941*^9},
+ 3.417908195480541*^9, {3.417909710621539*^9, 3.417909720548077*^9},
+ 3.4179205128509398`*^9, 3.417920758113385*^9, 3.418763028527471*^9,
+ 3.420494219931978*^9, 3.4217795521774483`*^9, 3.421779869646268*^9,
+ 3.422300274943738*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"ArcCot", "[",
+ RowBox[{"s", " ",
+ RowBox[{"u", " ", "/", " ",
+ RowBox[{"(", " ",
+ RowBox[{
+ RowBox[{"h", " ", "s"}], " ", "+", " ", "1"}], " ", ")"}]}]}], " ",
+ "]"}], " ", "+", " ",
+ RowBox[{"(", " ",
+ RowBox[{"Pi", " ", "+", " ",
+ RowBox[{"Pi", "/", "2"}]}], ")"}]}], "]"}], " ", "//", " ",
+ "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.421523446071938*^9, 3.42152348712575*^9}, {
+ 3.42152354768856*^9, 3.4215235488868732`*^9}, {3.421523725859869*^9,
+ 3.4215238051008167`*^9}, {3.4215238467599792`*^9, 3.4215238481330233`*^9},
+ 3.421523889737363*^9}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}],
+ SqrtBox[
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], "2"], "+",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}]]]], "Output",
+ CellChangeTimes->{{3.4215234548657207`*^9, 3.421523488404166*^9},
+ 3.4215235493194647`*^9, {3.421523732990801*^9, 3.4215238109427023`*^9},
+ 3.421523848658642*^9, 3.4215238902513323`*^9, 3.421779552593161*^9,
+ 3.421779869834614*^9, 3.422300275354826*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"falphasurv", "[", "u", "]"}], " ", "/.", " ",
+ RowBox[{"s", "\[Rule]", "0"}]}]], "Input",
+ CellChangeTimes->{{3.420494935959799*^9, 3.420494941208239*^9}, {
+ 3.4223062868799877`*^9, 3.422306291965961*^9}}],
+
+Cell[BoxData[
+ RowBox[{"Sin", "[",
+ RowBox[{"a", " ", "u"}], "]"}]], "Output",
+ CellChangeTimes->{
+ 3.42049527000869*^9, 3.421779552800428*^9, 3.4217798705563498`*^9,
+ 3.422300275427021*^9, {3.4223062885481*^9, 3.4223062922360497`*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"surv", "[",
+ RowBox[{"r_", ",", "r0_", ",", "u_"}], "]"}], "=",
+ RowBox[{"FullSimplify", "[",
+ RowBox[{
+ RowBox[{"Exp", "[",
+ RowBox[{
+ RowBox[{"-", "D"}], " ",
+ RowBox[{"u", "^", "2"}], " ", "t"}], "]"}], " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}], " ",
+
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}]}],
+ "/",
+ RowBox[{"(",
+ RowBox[{"2", " ", "\[Pi]", " ", "r", " ", "r0", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{"a", "+",
+ RowBox[{"a", " ", "h", " ", "s"}], "-",
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ",
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}], ")"}]}]}], "]"}]}]], "Input",
+ CellChangeTimes->{{3.420494204073966*^9, 3.420494204665476*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}]}],
+ ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"2", " ", "\[Pi]", " ", "r", " ", "r0", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{"a", "+",
+ RowBox[{"a", " ", "h", " ", "s"}], "-",
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ",
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}], ")"}]}]], "Output",
+ CellChangeTimes->{3.38913111828203*^9, 3.397484081212853*^9,
+ 3.399673775775008*^9, 3.405917433222677*^9, 3.409547782410243*^9,
+ 3.410124212801193*^9, 3.410508139809532*^9, 3.4179081975118723`*^9,
+ 3.417920759494061*^9, 3.418763030422606*^9, 3.420494221716936*^9,
+ 3.421779555442696*^9, 3.4217798708870487`*^9, 3.42222875698964*^9,
+ 3.422300276970017*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+dsdt=FullSimplify[Integrate[D[4 Pi r^2 surv[r,r0,u],t],{r,s,a}]]\
+\>", "Input"],
+
+Cell[BoxData[
+ RowBox[{"-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"2", " ", "D", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"], " ", "u"}], "-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s", "+",
+ RowBox[{"a", " ", "h", " ", "s"}]}], ")"}], " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}], "+",
+ RowBox[{"a", " ", "s", " ",
+ SuperscriptBox["u", "2"]}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}], " ",
+
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}]}],
+ ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"r0", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{"a", "+",
+ RowBox[{"a", " ", "h", " ", "s"}], "-",
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ",
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}], ")"}]}]}]], "Output",
+ CellChangeTimes->{3.389131125812619*^9, 3.3974840855635138`*^9,
+ 3.399673783459154*^9, 3.405917441326635*^9, 3.409547791276745*^9,
+ 3.4101242207883387`*^9, 3.4179082057255087`*^9, 3.4179207678266697`*^9,
+ 3.4187630385234537`*^9, 3.4204942295076647`*^9, 3.4217795605401363`*^9,
+ 3.4217798718282433`*^9, 3.4223002852263517`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"dsdt1", " ", "=", " ",
+ RowBox[{
+ RowBox[{"dsdt", " ", "/.", " ",
+ RowBox[{
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}], " ", "\[Rule]",
+ " ",
+ RowBox[{
+ RowBox[{"-", " ", "s"}], " ", "u", " ",
+ RowBox[{
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], "u"}], "]"}], " ", "/", " ",
+ RowBox[{"(", " ",
+ RowBox[{
+ RowBox[{"h", " ", "s"}], " ", "+", " ", "1"}], " ", ")"}]}]}]}]}],
+ " ", "//", " ", "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.421701056977112*^9, 3.42170108668893*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"2", " ", "D", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ", "u", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"], " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}]}], "-",
+ RowBox[{"a", " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], "2"], "+",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}], " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}]}],
+ ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"r0", " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}]}], " ",
+ RowBox[{"(",
+ RowBox[{"a", "+",
+ RowBox[{"a", " ", "h", " ", "s"}], "-",
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"]}]}], ")"}]}], "+",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "a"}], "+", "s"}], ")"}], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}], ")"}]}]], "Output",
+ CellChangeTimes->{
+ 3.4217795608277483`*^9, 3.421779871925976*^9, {3.422300270860978*^9,
+ 3.4223002874190702`*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"dsdt1", " ", "/.", " ",
+ RowBox[{"r0", "\[Rule]", "s"}]}], " ", "//", " ",
+ "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.422306196802652*^9, 3.422306224557379*^9}, {
+ 3.42230626461635*^9, 3.4223062671901484`*^9}, {3.422306319984844*^9,
+ 3.42230632299837*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{"2", " ", "D", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ",
+ SuperscriptBox["u", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"], " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}]}], "-",
+ RowBox[{"a", " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], "2"], "+",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}], " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}]}],
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}]}], " ",
+ RowBox[{"(",
+ RowBox[{"a", "+",
+ RowBox[{"a", " ", "h", " ", "s"}], "-",
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"]}]}], ")"}]}], "+",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "a"}], "+", "s"}], ")"}], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}]]], "Output",
+ CellChangeTimes->{{3.422306200955398*^9, 3.4223062260281963`*^9},
+ 3.422306267646434*^9, 3.422306323593131*^9}]
+}, Open ]],
+
+Cell["The survival probability in the form S(t):", "Text"],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"psurv", " ", "=", " ",
+ RowBox[{
+ RowBox[{"Integrate", "[", " ",
+ RowBox[{
+ RowBox[{"4", " ", "Pi", " ",
+ RowBox[{"r", "^", "2"}], " ",
+ RowBox[{"surv", "[",
+ RowBox[{"r", ",", "r0", ",", "u"}], "]"}]}], ",",
+ RowBox[{"{",
+ RowBox[{"r", ",", "s", ",", "a"}], "}"}]}], "]"}], " ", "//", " ",
+ "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.410508182104209*^9, 3.4105081883434353`*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"2", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"], " ", "u"}], "-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s", "+",
+ RowBox[{"a", " ", "h", " ", "s"}]}], ")"}], " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}], "+",
+ RowBox[{"a", " ", "s", " ",
+ SuperscriptBox["u", "2"]}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}]}],
+ ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"r0", " ",
+ SuperscriptBox["u", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{"a", "+",
+ RowBox[{"a", " ", "h", " ", "s"}], "-",
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ",
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}], ")"}]}]], "Output",
+ CellChangeTimes->{{3.4105081816972723`*^9, 3.410508192837686*^9},
+ 3.4179082097051153`*^9, 3.418763042240376*^9, 3.420494233234647*^9,
+ 3.421700306306365*^9, 3.4217795620226383`*^9, 3.42177987243585*^9,
+ 3.422300291385057*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"psurv1", " ", "=", " ",
+ RowBox[{
+ RowBox[{"psurv", "/.", " ",
+ RowBox[{
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}], " ", "\[Rule]",
+ " ",
+ RowBox[{
+ RowBox[{"-", " ", "s"}], " ", "u", " ",
+ RowBox[{
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], "u"}], "]"}], " ", "/", " ",
+ RowBox[{"(", " ",
+ RowBox[{
+ RowBox[{"h", " ", "s"}], " ", "+", " ", "1"}], " ", ")"}]}]}]}]}],
+ " ", "//", " ", "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.421700293971766*^9, 3.4217003157809134`*^9}}],
+
+Cell[BoxData[
+ RowBox[{"-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"2", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"], " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}]}], "-",
+ RowBox[{"a", " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], "2"], "+",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}], " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}], " ",
+
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}]}],
+ ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"r0", " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ", "u", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}]}], " ",
+ RowBox[{"(",
+ RowBox[{"a", "+",
+ RowBox[{"a", " ", "h", " ", "s"}], "-",
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"]}]}], ")"}]}], "+",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "a"}], "+", "s"}], ")"}], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}], ")"}]}]}]], "Output",
+ CellChangeTimes->{{3.4217003093445377`*^9, 3.421700316048856*^9},
+ 3.421700384900035*^9, 3.421779562284356*^9, 3.421779872532506*^9,
+ 3.422300293033449*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"psurv", " ", "\[Equal]", " ", "psurv1"}], " ", "//.", " ",
+ RowBox[{
+ RowBox[{"falphasurv", "[", "u", "]"}], "\[Rule]", "0"}]}], "//", " ",
+ "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.4059174256161537`*^9, 3.405917456436297*^9}, {
+ 3.405917511890306*^9, 3.405917526987103*^9}, {3.40591756853474*^9,
+ 3.405917575740529*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}]}],
+ "\[Equal]", "0"}]], "Output",
+ CellChangeTimes->{{3.405917428863461*^9, 3.405917478448374*^9}, {
+ 3.4059175166928873`*^9, 3.4059175274138117`*^9}, {3.405917572440195*^9,
+ 3.405917576131201*^9}, 3.409547800876672*^9, 3.410124230755808*^9,
+ 3.417908214467613*^9, 3.418763046752597*^9, 3.420494237613522*^9,
+ 3.4217003772337723`*^9, 3.4217803206925373`*^9, 3.4223002965992126`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"pintr", " ", "=", " ",
+ RowBox[{
+ RowBox[{"Integrate", "[", " ",
+ RowBox[{
+ RowBox[{"4", " ", "Pi", " ",
+ RowBox[{"r", "^", "2"}], " ",
+ RowBox[{"surv", "[",
+ RowBox[{"r", ",", "r0", ",", "u"}], "]"}]}], ",",
+ RowBox[{"{",
+ RowBox[{"r", ",", "s", ",", "r"}], "}"}]}], "]"}], " ", "//", " ",
+ "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{
+ 3.410140999273134*^9, {3.410508127275257*^9, 3.410508149773604*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"2", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"], " ", "u"}], "-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r", "-", "s", "+",
+ RowBox[{"h", " ", "r", " ", "s"}]}], ")"}], " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}], "+",
+ RowBox[{"r", " ", "s", " ",
+ SuperscriptBox["u", "2"]}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}]}],
+ ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"r0", " ",
+ SuperscriptBox["u", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{"a", "+",
+ RowBox[{"a", " ", "h", " ", "s"}], "-",
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ",
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}], ")"}]}]], "Output",
+ CellChangeTimes->{
+ 3.38913114120323*^9, 3.397484098694585*^9, 3.399673798840876*^9,
+ 3.405917458512697*^9, 3.4095478088010178`*^9, 3.410124239017935*^9,
+ 3.410141006325585*^9, {3.410508134452108*^9, 3.410508154411276*^9},
+ 3.4179082217412043`*^9, 3.418763053805429*^9, 3.42049424449465*^9,
+ 3.421780328778714*^9, 3.422300303940373*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"pintr", " ", "/.", " ",
+ RowBox[{"r", " ", "\[Rule]", " ", "a"}]}], ")"}], " ", "\[Equal]", " ",
+ "psurv"}], " ", "//", " ", "FullSimplify"}]], "Input",
+ CellChangeTimes->{3.410141030436048*^9}],
+
+Cell[BoxData["True"], "Output",
+ CellChangeTimes->{3.389131144438045*^9, 3.3974840992140627`*^9,
+ 3.399673802369361*^9, 3.4059174649086523`*^9, 3.409547811477412*^9,
+ 3.410124242099687*^9, 3.410141031394167*^9, 3.410508205021985*^9,
+ 3.417908222054884*^9, 3.418763053935294*^9, 3.42049424468824*^9,
+ 3.4217803290346823`*^9, 3.422300304333301*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"pintr", " ", "/.", " ",
+ RowBox[{"r", " ", "\[Rule]", " ", "s"}]}], " ", ")"}], " ", "\[Equal]",
+ " ", "0"}], "//", " ", "Simplify"}]], "Input",
+ CellChangeTimes->{3.410141033220476*^9}],
+
+Cell[BoxData["True"], "Output",
+ CellChangeTimes->{3.389131144546365*^9, 3.397484099378024*^9,
+ 3.399673802836359*^9, 3.405917465652426*^9, 3.409547811584145*^9,
+ 3.410124242511384*^9, 3.410141033630529*^9, 3.410508211369171*^9,
+ 3.4179082220939207`*^9, 3.41876305394765*^9, 3.420494244764937*^9,
+ 3.42178032913621*^9, 3.422300304483192*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"psurv1", " ", "/.", " ",
+ RowBox[{"a", " ", "\[Rule]", " ", "r"}]}], " ", "//", " ",
+ "FullSimplify"}]], "Input",
+ CellChangeTimes->{3.421700394893231*^9}],
+
+Cell[BoxData[
+ RowBox[{"-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"2", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"], " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}]}], "-",
+ RowBox[{"r", " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], "2"], "+",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}], " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}], " ",
+
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}]}],
+ ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"r0", " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ", "u", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}]}], " ",
+ RowBox[{"(",
+ RowBox[{"r", "+",
+ RowBox[{"h", " ", "r", " ", "s"}], "-",
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"]}]}], ")"}]}], "+",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "r"}], "+", "s"}], ")"}], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}], ")"}]}]}]], "Output",
+ CellChangeTimes->{3.389131146507289*^9, 3.397484100708061*^9,
+ 3.3996738048322372`*^9, 3.4059174695813713`*^9, 3.409547813301606*^9,
+ 3.410124244462291*^9, 3.410508218415332*^9, 3.417908222983367*^9,
+ 3.41876305469837*^9, 3.4204942456203136`*^9, 3.421700397260623*^9,
+ 3.4217803311133833`*^9, 3.422300306403535*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData["psurv1"], "Input",
+ CellChangeTimes->{{3.4217871506162786`*^9, 3.421787151335322*^9}}],
+
+Cell[BoxData[
+ RowBox[{"-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"2", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"], " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}]}], "-",
+ RowBox[{"a", " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], "2"], "+",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}], " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}], " ",
+
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}]}],
+ ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"r0", " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ", "u", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}]}], " ",
+ RowBox[{"(",
+ RowBox[{"a", "+",
+ RowBox[{"a", " ", "h", " ", "s"}], "-",
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"]}]}], ")"}]}], "+",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "a"}], "+", "s"}], ")"}], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}], ")"}]}]}]], "Output",
+ CellChangeTimes->{3.421787151644847*^9, 3.422300306799341*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"psurv1", " ", "/.", " ",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"Cos", "[", " ", "x_", " ", "]"}], " ", "\[Rule]", " ",
+ RowBox[{
+ RowBox[{"-", " ",
+ RowBox[{"SBY0", "[", "x", "]"}]}], "x"}]}], ",", " ",
+ RowBox[{
+ RowBox[{"Sin", "[", "x_", "]"}], "\[Rule]",
+ RowBox[{
+ RowBox[{"SBJ0", "[", "x", "]"}], "x"}]}]}], "}"}]}], " ", "//", " ",
+ "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.4217870607904873`*^9, 3.421787129237916*^9}, {
+ 3.421787177957082*^9, 3.421787180315076*^9}}],
+
+Cell[BoxData[
+ RowBox[{"-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"2", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ",
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"], " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}]}], "+",
+ RowBox[{"a", " ",
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u", " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], "2"], "+",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}], " ",
+ RowBox[{"SBY0", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}], " ",
+
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SBJ0", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SBY0", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}]}],
+ ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"r0", " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}]}], " ",
+ RowBox[{"(",
+ RowBox[{"a", "+",
+ RowBox[{"a", " ", "h", " ", "s"}], "-",
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"]}]}], ")"}]}], "+",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "a"}], "+", "s"}], ")"}], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}], ")"}]}]}]], "Output",
+ CellChangeTimes->{{3.421787061940557*^9, 3.421787092883326*^9}, {
+ 3.421787124358315*^9, 3.4217871307202053`*^9}, 3.421787182003191*^9,
+ 3.422300307729733*^9}]
+}, Open ]],
+
+Cell[BoxData[""], "Input",
+ CellChangeTimes->{{3.405917410033186*^9, 3.405917412682425*^9}}],
+
+Cell[CellGroupData[{
+
+Cell["leavea=FullSimplify[D D[surv[r,r0,u],r]/.{r -> a}]", "Input"],
+
+Cell[BoxData[
+ RowBox[{"-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"D", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"(",
+ RowBox[{"a", "-", "s", "+",
+ RowBox[{"a", " ", "h", " ", "s"}]}], ")"}]}], " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}], "+",
+ RowBox[{"a", " ", "s", " ",
+ SuperscriptBox["u", "2"]}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}], " ",
+
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}]}],
+ ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"2", " ",
+ SuperscriptBox["a", "2"], " ", "\[Pi]", " ", "r0", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{"a", "+",
+ RowBox[{"a", " ", "h", " ", "s"}], "-",
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ",
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}], ")"}]}]}]], "Output",
+ CellChangeTimes->{3.389131148882615*^9, 3.3974841023100367`*^9,
+ 3.399673807274469*^9, 3.405917472739048*^9, 3.4095478151543922`*^9,
+ 3.410124246705562*^9, 3.417908225488008*^9, 3.418763056819881*^9,
+ 3.420494247850297*^9, 3.421780333726219*^9, 3.4223003102394342`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"leavea1", " ", "=", " ",
+ RowBox[{
+ RowBox[{"leavea", " ", "/.", " ",
+ RowBox[{
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}], " ", "\[Rule]",
+ " ",
+ RowBox[{
+ RowBox[{"-", " ", "s"}], " ", "u", " ",
+ RowBox[{
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], "u"}], "]"}], " ", "/", " ",
+ RowBox[{"(", " ",
+ RowBox[{
+ RowBox[{"h", " ", "s"}], " ", "+", " ", "1"}], " ", ")"}]}]}]}]}],
+ " ", "//", " ", "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.417909103517683*^9, 3.4179091102242804`*^9}, {
+ 3.4217004127377157`*^9, 3.4217004444210367`*^9}, {3.42177952424597*^9,
+ 3.421779525014304*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{"D", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ", "u", " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], "2"], "+",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}], " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}]}],
+ RowBox[{"2", " ", "a", " ", "\[Pi]", " ", "r0", " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{"a", "+",
+ RowBox[{"a", " ", "h", " ", "s"}], "-",
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ",
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}]]], "Output",
+ CellChangeTimes->{
+ 3.389131148985114*^9, 3.397484102609627*^9, 3.3996738077448883`*^9,
+ 3.409547815370656*^9, 3.410124247139195*^9, 3.417908225799492*^9, {
+ 3.417909105745365*^9, 3.417909111305447*^9}, 3.418763058436734*^9,
+ 3.420494249339267*^9, {3.421700439758381*^9, 3.421700444912355*^9},
+ 3.4217803352276917`*^9, 3.422300311950004*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"leaves", "=",
+ RowBox[{"FullSimplify", "[", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", " ", "D"}], " ",
+ RowBox[{"D", "[", " ",
+ RowBox[{
+ RowBox[{"surv", "[",
+ RowBox[{"r", ",", "r0", ",", "u"}], "]"}], " ", ",", "r"}], "]"}]}],
+ "/.",
+ RowBox[{"{",
+ RowBox[{"r", "\[Rule]", "s"}], "}"}]}], "]"}]}], "\n", "\t\t\t", "\n",
+
+ RowBox[{"leaves", "=",
+ RowBox[{"FullSimplify", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", " ", "D"}], " ", "h", " ",
+ RowBox[{"surv", "[",
+ RowBox[{"r", ",", "r0", ",", "u"}], "]"}]}], " ", "/.",
+ RowBox[{"{",
+ RowBox[{"r", "\[Rule]", "s"}], "}"}]}], "]"}]}]}]}]], "Input"],
+
+Cell[BoxData[
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"D", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ", "h", " ", "u", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}]}],
+ RowBox[{"2", " ", "\[Pi]", " ", "r0", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{"a", "+",
+ RowBox[{"a", " ", "h", " ", "s"}], "-",
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ",
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}]]}]], "Output",
+ CellChangeTimes->{3.389131149737688*^9, 3.397484103108034*^9,
+ 3.3996738083605127`*^9, 3.4095478159353237`*^9, 3.410124247784445*^9,
+ 3.417908226540868*^9, 3.418763059233425*^9, 3.420494250169491*^9,
+ 3.421780335987075*^9, 3.422300312898868*^9}],
+
+Cell[BoxData[
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"D", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ", "h", " ", "u", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}]}],
+ RowBox[{"2", " ", "\[Pi]", " ", "r0", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{"a", "+",
+ RowBox[{"a", " ", "h", " ", "s"}], "-",
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ",
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}]]}]], "Output",
+ CellChangeTimes->{3.389131149737688*^9, 3.397484103108034*^9,
+ 3.3996738083605127`*^9, 3.4095478159353237`*^9, 3.410124247784445*^9,
+ 3.417908226540868*^9, 3.418763059233425*^9, 3.420494250169491*^9,
+ 3.421780335987075*^9, 3.4223003130761337`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"leaves", "/.", " ",
+ RowBox[{"r0", "\[Rule]", "s"}]}], " ", "//", " ", "Simplify"}]], "Input",
+ CellChangeTimes->{{3.422306107409238*^9, 3.422306119643755*^9}}],
+
+Cell[BoxData[
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"D", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ", "h", " ",
+ SuperscriptBox["u", "2"]}],
+ RowBox[{"2", " ", "\[Pi]", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{"a", "+",
+ RowBox[{"a", " ", "h", " ", "s"}], "-",
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ",
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}]]}]], "Output",
+ CellChangeTimes->{{3.422306115417049*^9, 3.422306119875422*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"4", " ", "Pi", " ", "a", " ", "a", " ", "leavea1"}], " ", "+",
+ " ",
+ RowBox[{"4", " ", "Pi", " ", "s", " ", "s", " ", "leaves"}]}], ")"}],
+ " ", "\[Equal]", " ", "dsdt1"}], " ", "//",
+ "Simplify"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"4", " ", "Pi", " ", "a", " ", "a", " ", "leavea"}], " ", "+",
+ " ",
+ RowBox[{"4", " ", "Pi", " ", "s", " ", "s", " ", "leaves"}]}], ")"}],
+ " ", "\[Equal]", " ", "dsdt"}], " ", "//", " ", "Simplify"}]}], "Input",
+ CellChangeTimes->{{3.417912697823325*^9, 3.4179127306194897`*^9}}],
+
+Cell[BoxData["True"], "Output",
+ CellChangeTimes->{{3.4179127016329613`*^9, 3.417912730834137*^9},
+ 3.4187630600366697`*^9, 3.420494250819016*^9, 3.4217803368539*^9,
+ 3.422300264519182*^9, 3.422300313474064*^9}],
+
+Cell[BoxData["True"], "Output",
+ CellChangeTimes->{{3.4179127016329613`*^9, 3.417912730834137*^9},
+ 3.4187630600366697`*^9, 3.420494250819016*^9, 3.4217803368539*^9,
+ 3.422300264519182*^9, 3.4223003135111732`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"leavea1", " ", "/.", " ",
+ RowBox[{"r0", "\[Rule]", "s"}]}], " ", "//", " ",
+ "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.417908710542615*^9, 3.417908718549088*^9}, {
+ 3.4179087510514708`*^9, 3.417908758685396*^9}, 3.4217008146877203`*^9}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{"D", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ",
+ SuperscriptBox["u", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], "2"], "+",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}], " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}],
+ RowBox[{"2", " ", "a", " ", "\[Pi]", " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{"a", "+",
+ RowBox[{"a", " ", "h", " ", "s"}], "-",
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ",
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}]]], "Output",
+ CellChangeTimes->{{3.4179087148312893`*^9, 3.417908719207906*^9}, {
+ 3.417908751958268*^9, 3.4179087595317907`*^9}, 3.418763060977879*^9,
+ 3.420494251642082*^9, 3.421700815881435*^9, 3.421780337430684*^9,
+ 3.4223003141334543`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData["psurv"], "Input",
+ CellChangeTimes->{{3.4187636935763206`*^9, 3.418763694236408*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"2", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"], " ", "u"}], "-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s", "+",
+ RowBox[{"a", " ", "h", " ", "s"}]}], ")"}], " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}], "+",
+ RowBox[{"a", " ", "s", " ",
+ SuperscriptBox["u", "2"]}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}]}],
+ ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"r0", " ",
+ SuperscriptBox["u", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{"a", "+",
+ RowBox[{"a", " ", "h", " ", "s"}], "-",
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ",
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}], ")"}]}]], "Output",
+ CellChangeTimes->{3.418763694508559*^9, 3.4204942517167873`*^9,
+ 3.421780337513091*^9, 3.422300314337455*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"pleavea", " ", "=", " ",
+ RowBox[{
+ RowBox[{"Integrate", "[", " ",
+ RowBox[{
+ RowBox[{"4", " ", "Pi", " ", "a", " ", "a", " ", "leavea"}], ",", "t"}],
+ "]"}], "//", " ", "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.418763373060989*^9, 3.418763393364403*^9}, {
+ 3.418763552406558*^9, 3.418763554372429*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"2", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"(",
+ RowBox[{"a", "-", "s", "+",
+ RowBox[{"a", " ", "h", " ", "s"}]}], ")"}]}], " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}], "+",
+ RowBox[{"a", " ", "s", " ",
+ SuperscriptBox["u", "2"]}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}]}],
+ ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"r0", " ",
+ SuperscriptBox["u", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{"a", "+",
+ RowBox[{"a", " ", "h", " ", "s"}], "-",
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ",
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}], ")"}]}]], "Output",
+ CellChangeTimes->{
+ 3.3891311507120047`*^9, 3.397484104113345*^9, 3.399673809772336*^9,
+ 3.409547817044869*^9, 3.410124249221848*^9, 3.417908227960484*^9,
+ 3.418763062055842*^9, {3.418763381971179*^9, 3.418763394909237*^9},
+ 3.418763555028597*^9, 3.4204942527644653`*^9, 3.421780339174856*^9,
+ 3.422300315342276*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData["psurv1"], "Input",
+ CellChangeTimes->{{3.4217906934091988`*^9, 3.421790694331723*^9}}],
+
+Cell[BoxData[
+ RowBox[{"-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"2", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"], " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}]}], "-",
+ RowBox[{"a", " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], "2"], "+",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}], " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}], " ",
+
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}]}],
+ ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"r0", " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ", "u", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}]}], " ",
+ RowBox[{"(",
+ RowBox[{"a", "+",
+ RowBox[{"a", " ", "h", " ", "s"}], "-",
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"]}]}], ")"}]}], "+",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "a"}], "+", "s"}], ")"}], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}], ")"}]}]}]], "Output",
+ CellChangeTimes->{3.421790694677199*^9, 3.422300315728191*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"pleavea1", " ", "=", " ",
+ RowBox[{
+ RowBox[{"pleavea", " ", "/.",
+ RowBox[{
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}], " ", "\[Rule]",
+ " ",
+ RowBox[{
+ RowBox[{"-", " ", "s"}], " ", "u", " ",
+ RowBox[{
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], "u"}], "]"}], " ", "/", " ",
+ RowBox[{"(", " ",
+ RowBox[{
+ RowBox[{"h", " ", "s"}], " ", "+", " ", "1"}], " ", ")"}]}]}]}]}], "//",
+ " ", "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.418763398365531*^9, 3.418763402834347*^9}, {
+ 3.418763477477983*^9, 3.418763479748448*^9}, {3.4187635445832777`*^9,
+ 3.418763547165066*^9}, {3.418862135713891*^9, 3.4188621385759087`*^9}, {
+ 3.418863559621542*^9, 3.418863560803114*^9}, {3.421700480514027*^9,
+ 3.4217004983918447`*^9}}],
+
+Cell[BoxData[
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"2", " ", "a", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], "2"], "+",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}], " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}]}],
+ RowBox[{"r0", " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ", "u", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{"a", "+",
+ RowBox[{"a", " ", "h", " ", "s"}], "-",
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ",
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}]]}]], "Output",
+ CellChangeTimes->{3.389131152132519*^9, 3.397484105289586*^9,
+ 3.399673811591401*^9, 3.4095478184291887`*^9, 3.410124250797735*^9,
+ 3.417908229639297*^9, 3.418763063304756*^9, 3.418763403175386*^9,
+ 3.418763482881798*^9, 3.418763556091951*^9, 3.4188621403321257`*^9,
+ 3.418863561622633*^9, 3.420494253910199*^9, 3.421700493540612*^9,
+ 3.421780340675538*^9, 3.422300316956369*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"pleaves", " ", "=",
+ RowBox[{
+ RowBox[{"Integrate", "[", " ",
+ RowBox[{
+ RowBox[{"4", " ", "Pi", " ", "s", " ", "s", " ", "leaves"}], ",", "t"}],
+ "]"}], " ", "//", " ", "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.418763457109416*^9, 3.418763469843288*^9}, {
+ 3.4187635407594748`*^9, 3.4187635429886436`*^9}, {3.418862731070409*^9,
+ 3.4188627393007107`*^9}, {3.4188635652530203`*^9, 3.418863566403034*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{"2", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ", "h", " ",
+ SuperscriptBox["s", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}]}],
+ RowBox[{"r0", " ", "u", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{"a", "+",
+ RowBox[{"a", " ", "h", " ", "s"}], "-",
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ",
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}]]], "Output",
+ CellChangeTimes->{3.389131152866836*^9, 3.397484105987158*^9,
+ 3.3996738121692543`*^9, 3.409547818990403*^9, 3.4101242516069117`*^9,
+ 3.4179082305031443`*^9, 3.418763064021297*^9, 3.418763471425499*^9,
+ 3.41876355782012*^9, 3.418862740275033*^9, 3.418863567116391*^9,
+ 3.4204942545915003`*^9, 3.421780341457934*^9, 3.422300318000351*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"pleaves", " ", "/.", " ",
+ RowBox[{"t", "\[Rule]", "Infinity"}]}], " ", "//", " ",
+ "Simplify"}]], "Input",
+ CellChangeTimes->{{3.4188628755787773`*^9, 3.418862891951027*^9}}],
+
+Cell[BoxData["0"], "Output",
+ CellChangeTimes->{{3.418862878622031*^9, 3.418862892216299*^9},
+ 3.420494254667624*^9, 3.421780341550599*^9, 3.422300318102241*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Integrate", "[", " ",
+ RowBox[{
+ RowBox[{"4", " ", "Pi", " ", "s", " ", "s", " ", "leaves"}], ",",
+ RowBox[{"{",
+ RowBox[{"t", ",", "0", ",", "t"}], "}"}]}], "]"}], " "}]], "Input",
+ CellChangeTimes->{{3.41886216643251*^9, 3.418862169720508*^9}}],
+
+Cell[BoxData[
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"2", " ",
+ RowBox[{"(",
+ RowBox[{"1", "-",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]]}], ")"}], " ", "h", " ",
+ SuperscriptBox["s", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}]}],
+ RowBox[{"r0", " ", "u", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{"a", "+",
+ RowBox[{"a", " ", "h", " ", "s"}], "-",
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ",
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}]]}]], "Output",
+ CellChangeTimes->{3.418862170447266*^9, 3.42049425577264*^9,
+ 3.421780342640499*^9, 3.422300319669807*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"pleavea", "/.", " ",
+ RowBox[{"t", "\[Rule]", "Infinity"}]}], " ", "//", " ",
+ "Simplify"}]], "Input",
+ CellChangeTimes->{{3.418859174529889*^9, 3.418859196527418*^9}}],
+
+Cell[BoxData["0"], "Output",
+ CellChangeTimes->{{3.418859177717538*^9, 3.4188591968248672`*^9},
+ 3.420494256024571*^9, 3.421780342862261*^9, 3.422300320073447*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{" ",
+ RowBox[{"Solve", "[",
+ RowBox[{
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ", "\[Equal]", " ", "e"}], ",", " ",
+ "u"}], "]"}]}]], "Input",
+ CellChangeTimes->{{3.418855154941927*^9, 3.418855197038951*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Solve", "::", "\<\"ifun\"\>"}],
+ RowBox[{
+ ":", " "}], "\<\"Inverse functions are being used by \\!\\(Solve\\), so \
+some solutions may not be found; use Reduce for complete solution \
+information. \\!\\(\\*ButtonBox[\\\"\[RightSkeleton]\\\", \
+ButtonStyle->\\\"Link\\\", ButtonFrame->None, \
+ButtonData:>\\\"paclet:ref/message/Solve/ifun\\\", ButtonNote -> \
+\\\"Solve::ifun\\\"]\\)\"\>"}]], "Message", "MSG",
+ CellChangeTimes->{{3.418855168233035*^9, 3.418855197670369*^9},
+ 3.420494256351523*^9, 3.421780343024823*^9, 3.422300320178164*^9}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"{",
+ RowBox[{"u", "\[Rule]",
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"\[ImaginaryI]", " ",
+ SqrtBox[
+ RowBox[{"Log", "[", "e", "]"}]]}],
+ RowBox[{
+ SqrtBox["D"], " ",
+ SqrtBox["t"]}]]}]}], "}"}], ",",
+ RowBox[{"{",
+ RowBox[{"u", "\[Rule]",
+ FractionBox[
+ RowBox[{"\[ImaginaryI]", " ",
+ SqrtBox[
+ RowBox[{"Log", "[", "e", "]"}]]}],
+ RowBox[{
+ SqrtBox["D"], " ",
+ SqrtBox["t"]}]]}], "}"}]}], "}"}]], "Output",
+ CellChangeTimes->{{3.418855168244163*^9, 3.4188551976789713`*^9},
+ 3.420494256381795*^9, 3.421780343062624*^9, 3.422300320182596*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"pleaves", " ", "/.", " ",
+ RowBox[{"h", "\[Rule]", "0"}]}]], "Input",
+ CellChangeTimes->{{3.418769965716589*^9, 3.418769968160755*^9}}],
+
+Cell[BoxData["0"], "Output",
+ CellChangeTimes->{3.418769968614182*^9, 3.420494256455784*^9,
+ 3.421780343193838*^9, 3.422300320193519*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Limit", "[",
+ RowBox[{"pleaves", " ", ",", " ",
+ RowBox[{"h", "\[Rule]", "Infinity"}]}], "]"}], "//", " ",
+ "Simplify"}]], "Input",
+ CellChangeTimes->{{3.418768169805081*^9, 3.4187682171555223`*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{"2", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ", "s", " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}],
+ RowBox[{
+ RowBox[{"a", " ", "r0", " ", "u"}], "-",
+ RowBox[{"r0", " ", "s", " ", "u"}]}]]], "Output",
+ CellChangeTimes->{{3.4187681736709347`*^9, 3.4187682175240726`*^9},
+ 3.420494256603718*^9, 3.4217803434214907`*^9, 3.4223003203553867`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"Reduce", "[",
+ RowBox[{
+ RowBox[{"pleavea1", " ", "<", " ", "pleaves"}], ",", " ", "u"}],
+ "]"}]], "Input",
+ CellChangeTimes->{{3.41876438600064*^9, 3.4187643957956877`*^9}, {
+ 3.4187673601661673`*^9, 3.4187673654200478`*^9}}],
+
+Cell[BoxData["$Aborted"], "Output",
+ CellChangeTimes->{3.418767357746313*^9, 3.418768119130962*^9,
+ 3.4204942612276077`*^9, 3.421780635646659*^9, 3.422306115000909*^9}]
+}, Open ]],
+
+Cell["Check correctness.", "Text"],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"pleavea", " ", "+", " ", "pleaves"}], " ", "\[Equal]", " ",
+ "psurv"}], " ", "//", " ", "Simplify"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{
+ RowBox[{"pleavea1", " ", "+", " ", "pleaves"}], " ", "\[Equal]", " ",
+ "psurv1"}], " ", "//", " ", "Simplify"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"FullSimplify", "[",
+ RowBox[{"dsdt", "-",
+ RowBox[{"leavea", " ", "*", " ", "4", " ", "Pi", " ",
+ RowBox[{"a", "^", "2"}]}], "-",
+ RowBox[{"leaves", "*", "4", " ", "Pi", " ",
+ RowBox[{"s", "^", "2"}]}]}], "]"}], " ", "\[Equal]", " ",
+ "0"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"FullSimplify", "[",
+ RowBox[{"dsdt1", "-",
+ RowBox[{"leavea1", " ", "*", " ", "4", " ", "Pi", " ",
+ RowBox[{"a", "^", "2"}]}], "-",
+ RowBox[{"leaves", "*", "4", " ", "Pi", " ",
+ RowBox[{"s", "^", "2"}]}]}], "]"}], " ", "\[Equal]", " ",
+ "0"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"FullSimplify", "[",
+ RowBox[{"dsdt", "-",
+ RowBox[{"leavea1", " ", "*", " ", "4", " ", "Pi", " ",
+ RowBox[{"a", "^", "2"}]}], "-",
+ RowBox[{"leaves", "*", "4", " ", "Pi", " ",
+ RowBox[{"s", "^", "2"}]}]}], "]"}], " ", "/.", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], " ",
+ "\[Rule]", " ", "0"}]}], ")"}], " ", "\[Equal]", " ", "0"}]}], "Input",
+ CellChangeTimes->{{3.41876302708284*^9, 3.4187630396904716`*^9}, {
+ 3.418763564881174*^9, 3.418763573007873*^9}}],
+
+Cell[BoxData["True"], "Output",
+ CellChangeTimes->{3.389131156665751*^9, 3.397484108926169*^9,
+ 3.399673816315002*^9, 3.40954781921692*^9, 3.4101242518896637`*^9,
+ 3.417908231236786*^9, 3.4187630643810177`*^9, 3.4187631026296473`*^9,
+ 3.4187634334219923`*^9, 3.418763573226631*^9, 3.421780637158741*^9}],
+
+Cell[BoxData["True"], "Output",
+ CellChangeTimes->{3.389131156665751*^9, 3.397484108926169*^9,
+ 3.399673816315002*^9, 3.40954781921692*^9, 3.4101242518896637`*^9,
+ 3.417908231236786*^9, 3.4187630643810177`*^9, 3.4187631026296473`*^9,
+ 3.4187634334219923`*^9, 3.418763573226631*^9, 3.421780637170301*^9}],
+
+Cell[BoxData["True"], "Output",
+ CellChangeTimes->{3.389131156665751*^9, 3.397484108926169*^9,
+ 3.399673816315002*^9, 3.40954781921692*^9, 3.4101242518896637`*^9,
+ 3.417908231236786*^9, 3.4187630643810177`*^9, 3.4187631026296473`*^9,
+ 3.4187634334219923`*^9, 3.418763573226631*^9, 3.4217806371763697`*^9}],
+
+Cell[BoxData["True"], "Output",
+ CellChangeTimes->{3.389131156665751*^9, 3.397484108926169*^9,
+ 3.399673816315002*^9, 3.40954781921692*^9, 3.4101242518896637`*^9,
+ 3.417908231236786*^9, 3.4187630643810177`*^9, 3.4187631026296473`*^9,
+ 3.4187634334219923`*^9, 3.418763573226631*^9, 3.421780637181941*^9}],
+
+Cell[BoxData["True"], "Output",
+ CellChangeTimes->{3.389131156665751*^9, 3.397484108926169*^9,
+ 3.399673816315002*^9, 3.40954781921692*^9, 3.4101242518896637`*^9,
+ 3.417908231236786*^9, 3.4187630643810177`*^9, 3.4187631026296473`*^9,
+ 3.4187634334219923`*^9, 3.418763573226631*^9, 3.4217806395524263`*^9}]
+}, Open ]],
+
+Cell["Repulsive case k=0", "Text"],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"{",
+ RowBox[{"psurvrepul", ",", " ", "leavearepul", ",", "leavesrepul"}], "}"}],
+ " ", "=", " ",
+ RowBox[{
+ RowBox[{"Limit", "[",
+ RowBox[{
+ RowBox[{"{",
+ RowBox[{"psurv1", ",", " ", "leavea1", ",", " ", "leaves"}], "}"}], ",",
+
+ RowBox[{"h", "\[Rule]", "0"}]}], "]"}], " ", "//", " ",
+ "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.389131108835994*^9, 3.389131115244039*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"2", " ", "a", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}], " ",
+
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}], ")"}]}],
+ RowBox[{"r0", " ", "u", " ",
+ RowBox[{"(",
+ RowBox[{"a", "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ",
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}]]}], ",",
+ FractionBox[
+ RowBox[{"D", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ", "u", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}], " ",
+
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}], ")"}]}],
+ RowBox[{"2", " ", "a", " ", "\[Pi]", " ", "r0", " ",
+ RowBox[{"(",
+ RowBox[{"a", "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ",
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}]], ",", "0"}], "}"}]], "Output",
+ CellChangeTimes->{3.389131154827236*^9, 3.39748410756387*^9,
+ 3.399673814249181*^9, 3.4095478218090687`*^9, 3.410124254438972*^9,
+ 3.417908234145944*^9, 3.418763066778161*^9}]
+}, Open ]],
+
+Cell["Absorbing case k=Inf", "Text"],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"{",
+ RowBox[{
+ "psurvabsorb", ",", " ", "leaveaabsorb", ",", " ", "leavesabsorb"}], "}"}],
+ " ", "=", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"Limit", "[",
+ RowBox[{
+ RowBox[{"{",
+ RowBox[{"psurv1", ",", " ", "leavea1", ",", " ", "leaves"}], "}"}],
+ ",",
+ RowBox[{"h", "\[Rule]", "Infinity"}]}], "]"}], " ", "/.", " ",
+ RowBox[{"{",
+ RowBox[{"u", "->",
+ FractionBox[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+", "n"}], ")"}], " ", "\[Pi]"}],
+ RowBox[{"a", "-", "s"}]]}], "}"}]}], " ", "//", " ",
+ "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.3891311007169523`*^9, 3.3891311071159353`*^9}, {
+ 3.399673872074644*^9, 3.399673876293144*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ FractionBox[
+ RowBox[{"2", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"D", " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"1", "+", "n"}], ")"}], "2"], " ",
+ SuperscriptBox["\[Pi]", "2"], " ", "t"}],
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], "2"]]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"-", "1"}], ")"}], "n"], " ", "a"}], "+", "s"}], ")"}], " ",
+
+ RowBox[{"Sin", "[",
+ FractionBox[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+", "n"}], ")"}], " ", "\[Pi]", " ",
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}]}],
+ RowBox[{"a", "-", "s"}]], "]"}]}],
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+", "n"}], ")"}], " ", "\[Pi]", " ", "r0"}]], ",",
+ FractionBox[
+ RowBox[{"D", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"D", " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"1", "+", "n"}], ")"}], "2"], " ",
+ SuperscriptBox["\[Pi]", "2"], " ", "t"}],
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], "2"]]}]], " ",
+ RowBox[{"(",
+ RowBox[{"1", "+", "n"}], ")"}], " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+", "n"}], ")"}], " ", "\[Pi]"}], "]"}], " ",
+ RowBox[{"Sin", "[",
+ FractionBox[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+", "n"}], ")"}], " ", "\[Pi]", " ",
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}]}],
+ RowBox[{"a", "-", "s"}]], "]"}]}],
+ RowBox[{"2", " ", "a", " ", "r0", " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], "2"]}]], ",",
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"D", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"D", " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"1", "+", "n"}], ")"}], "2"], " ",
+ SuperscriptBox["\[Pi]", "2"], " ", "t"}],
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], "2"]]}]], " ",
+ RowBox[{"(",
+ RowBox[{"1", "+", "n"}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ FractionBox[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+", "n"}], ")"}], " ", "\[Pi]", " ",
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}]}],
+ RowBox[{"a", "-", "s"}]], "]"}]}],
+ RowBox[{"2", " ", "r0", " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], "2"], " ", "s"}]]}]}],
+ "}"}]], "Output",
+ CellChangeTimes->{3.3891311563597727`*^9, 3.397484108755097*^9,
+ 3.399673771598301*^9, 3.39967381564787*^9, 3.399673879124126*^9,
+ 3.409547823805066*^9, 3.4101242567656393`*^9, 3.4179082368727922`*^9,
+ 3.418763069416173*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"Sum", "[",
+ RowBox[{"psurvabsorb", ",",
+ RowBox[{"{",
+ RowBox[{"n", ",", "0", ",", "Infinity"}], "}"}]}], "]"}]], "Input",
+ CellChangeTimes->{{3.3996738895278387`*^9, 3.399673918707055*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ UnderoverscriptBox["\[Sum]",
+ RowBox[{"n", "=", "0"}], "\[Infinity]"],
+ FractionBox[
+ RowBox[{"2", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"D", " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"1", "+", "n"}], ")"}], "2"], " ",
+ SuperscriptBox["\[Pi]", "2"], " ", "t"}],
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], "2"]]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"-", "1"}], ")"}], "n"], " ", "a"}], "+", "s"}], ")"}], " ",
+
+ RowBox[{"Sin", "[",
+ FractionBox[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+", "n"}], ")"}], " ", "\[Pi]", " ",
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}]}],
+ RowBox[{"a", "-", "s"}]], "]"}]}],
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+", "n"}], ")"}], " ", "\[Pi]", " ", "r0"}]]}]], "Output",
+ CellChangeTimes->{3.39967394777704*^9, 3.409547848418212*^9,
+ 3.4101242820036497`*^9, 3.4179082669427853`*^9, 3.418763098874625*^9}]
+}, Open ]],
+
+Cell["Special case; r == sigma", "Text",
+ CellChangeTimes->{{3.397484125584112*^9, 3.39748412834615*^9}, {
+ 3.397484209595697*^9, 3.397484212411249*^9}, {3.397575857931695*^9,
+ 3.3975758684601107`*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"psurvonsigma", " ", "=", " ",
+ RowBox[{
+ RowBox[{"psurv", " ", "/.", " ",
+ RowBox[{"r0", " ", "\[Rule]", " ", "s"}]}], " ", "//", " ",
+ "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.397575870547597*^9, 3.397575932519154*^9}, {
+ 3.398188423768984*^9, 3.398188426927362*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{"2", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"], " ", "u"}], "-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s", "+",
+ RowBox[{"a", " ", "h", " ", "s"}]}], ")"}], " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}], "+",
+ RowBox[{"a", " ", "s", " ",
+ SuperscriptBox["u", "2"]}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}]}],
+ RowBox[{"u", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{"a", "+",
+ RowBox[{"a", " ", "h", " ", "s"}], "-",
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ",
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}]]], "Output",
+ CellChangeTimes->{{3.3975758904551363`*^9, 3.397575933556682*^9},
+ 3.3981884277522717`*^9, 3.399673817793913*^9, 3.409547849027492*^9,
+ 3.4101242828311253`*^9, 3.417908267782115*^9, 3.418763099584724*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"psurvonsigma1", " ", "=", " ",
+ RowBox[{
+ RowBox[{"psurv1", " ", "/.", " ",
+ RowBox[{"r0", "\[Rule]", "s"}]}], " ", "//", " ",
+ "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.3981883787759*^9, 3.398188560136938*^9}, {
+ 3.398188620803482*^9, 3.398188639672791*^9}, {3.398188676803183*^9,
+ 3.398188694233778*^9}, 3.398188835387157*^9, {3.3981888935309677`*^9,
+ 3.398188898584703*^9}, {3.398188966434556*^9, 3.3981889812404003`*^9}, {
+ 3.409552368873959*^9, 3.409552382250661*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{"2", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "a"}], " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{"s", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"h", " ", "s"}], "+",
+ RowBox[{"a", " ", "u", " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}]}]}],
+ ")"}]}],
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{"a", "+",
+ RowBox[{"a", " ", "h", " ", "s"}], "-",
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ",
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}]]], "Output",
+ CellChangeTimes->{{3.398188469585644*^9, 3.398188476796589*^9},
+ 3.398188507257765*^9, {3.398188537713354*^9, 3.398188560821969*^9}, {
+ 3.3981886220333767`*^9, 3.398188640758301*^9}, {3.398188680839662*^9,
+ 3.398188694586845*^9}, 3.398188836492831*^9, {3.3981888913521967`*^9,
+ 3.398188899096849*^9}, {3.3981889672832117`*^9, 3.3981889823430147`*^9},
+ 3.399673819073668*^9, 3.40954784979261*^9, 3.4095523827097178`*^9,
+ 3.4101242836337976`*^9, 3.417908268565069*^9, 3.418763100342602*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"psurv1", " "}]], "Input",
+ CellChangeTimes->{{3.397575940515469*^9, 3.397575941102046*^9},
+ 3.409551895114584*^9, 3.4095524446734877`*^9}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"2", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"], " ", "u"}], "-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "+",
+ RowBox[{"a", " ", "h", " ", "s"}]}], ")"}], " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{"a", " ", "s", " ",
+ SuperscriptBox["u", "2"], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}]}],
+ ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"r0", " ",
+ SuperscriptBox["u", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{"a", "+",
+ RowBox[{"a", " ", "h", " ", "s"}], "-",
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ",
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}], ")"}]}]], "Output",
+ CellChangeTimes->{3.3975759413596983`*^9, 3.3996738195895977`*^9,
+ 3.409547849940278*^9, 3.409552445314076*^9, 3.410124283983658*^9,
+ 3.4179082688936853`*^9, 3.418763100504252*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"et", " ", "=", " ",
+ RowBox[{
+ RowBox[{"leaves", " ", "/", " ",
+ RowBox[{"(",
+ RowBox[{"leavea1", " ", "+", " ", "leaves"}], ")"}]}], " ", "//", " ",
+ "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.409547782549757*^9, 3.409547811068829*^9}, {
+ 3.409547858640729*^9, 3.409547882463705*^9}, {3.409547991202321*^9,
+ 3.409548040958337*^9}, {3.4095481494349947`*^9, 3.409548171537446*^9}, {
+ 3.409548228588488*^9, 3.4095482482179747`*^9}, {3.409548330935755*^9,
+ 3.409548359247542*^9}, {3.409548392141329*^9, 3.409548393787538*^9}, {
+ 3.409550821195924*^9, 3.4095508285562563`*^9}, {3.409551624510919*^9,
+ 3.409551633134494*^9}, {3.409551878524322*^9, 3.409551890887431*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{"a", " ", "h"}],
+ RowBox[{
+ RowBox[{"a", " ", "h"}], "-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}]]], "Output",
+ CellChangeTimes->{{3.409548342950865*^9, 3.40954835970465*^9},
+ 3.409548394623324*^9, {3.4095508227085123`*^9, 3.409550829369084*^9}, {
+ 3.409551625684161*^9, 3.4095516336744957`*^9}, {3.409551883143949*^9,
+ 3.409551891736514*^9}, 3.410124284334846*^9, 3.417908269266838*^9,
+ 3.418763100749703*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"Limit", "[",
+ RowBox[{"et", " ", ",", " ",
+ RowBox[{"a", "\[Rule]", "Infinity"}]}], " ", "]"}]], "Input",
+ CellChangeTimes->{{3.409548663482304*^9, 3.4095486855517883`*^9}}],
+
+Cell[BoxData["1"], "Output",
+ CellChangeTimes->{{3.409548666863635*^9, 3.4095486871078568`*^9},
+ 3.410124285633335*^9, 3.417908270611966*^9, 3.41876310205396*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"falphasurv", "[", "u", "]"}], " "}]], "Input",
+ CellChangeTimes->{{3.4095511017138042`*^9, 3.409551103963431*^9},
+ 3.4095514577168417`*^9}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}]], "Output",
+ CellChangeTimes->{3.4095511043006973`*^9, 3.410124286017511*^9,
+ 3.417908270936039*^9, 3.418763102144588*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"Limit", "[",
+ RowBox[{"leaves", ",", " ",
+ RowBox[{"t", "\[Rule]", "0"}]}], "]"}]], "Input",
+ CellChangeTimes->{{3.4101241965863113`*^9, 3.410124197319512*^9}, {
+ 3.4101248109252453`*^9, 3.410124842059561*^9}}],
+
+Cell[BoxData[
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"D", " ", "h", " ", "u", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}]}],
+ RowBox[{"2", " ", "\[Pi]", " ", "r0", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ SuperscriptBox["s", "2"]}], " ",
+ RowBox[{"(",
+ RowBox[{"h", "+",
+ RowBox[{
+ SuperscriptBox["h", "2"], " ", "s"}], "+",
+ RowBox[{"s", " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}], "+",
+ RowBox[{"a", " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "h", " ", "s"}], "+",
+ RowBox[{
+ SuperscriptBox["h", "2"], " ",
+ SuperscriptBox["s", "2"]}], "+",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}]}], ")"}]}]]}]], "Output",
+ CellChangeTimes->{
+ 3.410124197866128*^9, 3.410124286155217*^9, {3.410124817717504*^9,
+ 3.4101248428331013`*^9}, 3.417908271101534*^9, 3.418763102358201*^9}]
+}, Open ]],
+
+Cell[BoxData[""], "Input",
+ CellChangeTimes->{{3.410125100055015*^9, 3.4101251008396587`*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"falphasurv", "[", "u", "]"}]], "Input",
+ CellChangeTimes->{{3.410125097747327*^9, 3.41012510613758*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}]], "Output",
+ CellChangeTimes->{{3.410125099019876*^9, 3.41012510662785*^9},
+ 3.4179082712143307`*^9, 3.418763102441298*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"Limit", "[",
+ RowBox[{"psurv1", " ", ",", " ",
+ RowBox[{"t", "\[Rule]", "Infinity"}]}], "]"}]], "Input",
+ CellChangeTimes->{{3.410124857206871*^9, 3.410124885261104*^9}}],
+
+Cell[BoxData[
+ RowBox[{"Limit", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"2", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"], " ", "u"}], "-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "+",
+ RowBox[{"a", " ", "h", " ", "s"}]}], ")"}], " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{"a", " ", "s", " ",
+ SuperscriptBox["u", "2"], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}], " ",
+
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}]}],
+ ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"r0", " ",
+ SuperscriptBox["u", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{"a", "+",
+ RowBox[{"a", " ", "h", " ", "s"}], "-",
+ RowBox[{"h", " ",
+ SuperscriptBox["s", "2"]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ",
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}], ")"}]}], ",",
+ RowBox[{"t", "\[Rule]", "\[Infinity]"}]}], "]"}]], "Output",
+ CellChangeTimes->{{3.41012485834149*^9, 3.410124885694584*^9},
+ 3.417908271318903*^9, 3.418763102536693*^9}]
+}, Open ]]
+},
+WindowSize->{819, 973},
+WindowMargins->{{20, Automatic}, {65, Automatic}},
+FrontEndVersion->"6.0 for Linux x86 (64-bit) (February 7, 2008)",
+StyleDefinitions->"Default.nb"
+]
+(* End of Notebook Content *)
+
+(* Internal cache information *)
+(*CellTagsOutline
+CellTagsIndex->{}
+*)
+(*CellTagsIndex
+CellTagsIndex->{}
+*)
+(*NotebookFileOutline
+Notebook[{
+Cell[CellGroupData[{
+Cell[590, 23, 1081, 25, 55, "Input"],
+Cell[1674, 50, 870, 23, 52, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[2581, 78, 1173, 28, 77, "Input"],
+Cell[3757, 108, 1203, 29, 72, "Output"]
+}, Open ]],
+Cell[4975, 140, 247, 7, 32, "Input"],
+Cell[5225, 149, 780, 25, 55, "Input"],
+Cell[6008, 176, 59, 1, 32, "Input"],
+Cell[CellGroupData[{
+Cell[6092, 181, 582, 18, 32, "Input"],
+Cell[6677, 201, 815, 20, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[7529, 226, 275, 6, 32, "Input"],
+Cell[7807, 234, 837, 24, 45, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[8681, 263, 694, 18, 32, "Input"],
+Cell[9378, 283, 581, 16, 57, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[9996, 304, 243, 5, 32, "Input"],
+Cell[10242, 311, 242, 5, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[10521, 321, 2018, 62, 121, "Input"],
+Cell[12542, 385, 2078, 62, 82, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[14657, 452, 89, 2, 32, "Input"],
+Cell[14749, 456, 2384, 70, 82, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[17170, 531, 706, 21, 32, "Input"],
+Cell[17879, 554, 2159, 70, 82, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[20075, 629, 307, 7, 32, "Input"],
+Cell[20385, 638, 1604, 52, 55, "Output"]
+}, Open ]],
+Cell[22004, 693, 58, 0, 31, "Text"],
+Cell[CellGroupData[{
+Cell[22087, 697, 458, 12, 32, "Input"],
+Cell[22548, 711, 2225, 68, 82, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[24810, 784, 708, 21, 32, "Input"],
+Cell[25521, 807, 2282, 72, 82, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[27840, 884, 388, 9, 32, "Input"],
+Cell[28231, 895, 1319, 38, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[29587, 938, 481, 13, 32, "Input"],
+Cell[30071, 953, 2339, 70, 82, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[32447, 1028, 267, 7, 32, "Input"],
+Cell[32717, 1037, 354, 5, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[33108, 1047, 259, 7, 32, "Input"],
+Cell[33370, 1056, 349, 5, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[33756, 1066, 195, 5, 32, "Input"],
+Cell[33954, 1073, 2443, 74, 82, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[36434, 1152, 100, 1, 32, "Input"],
+Cell[36537, 1155, 2182, 70, 82, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[38756, 1230, 583, 16, 32, "Input"],
+Cell[39342, 1248, 2420, 76, 82, "Output"]
+}, Open ]],
+Cell[41777, 1327, 92, 1, 32, "Input"],
+Cell[CellGroupData[{
+Cell[41894, 1332, 67, 0, 32, "Input"],
+Cell[41964, 1334, 2325, 69, 82, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[44326, 1408, 815, 23, 32, "Input"],
+Cell[45144, 1433, 1991, 60, 55, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[47172, 1498, 788, 24, 99, "Input"],
+Cell[47963, 1524, 1488, 43, 55, "Output"],
+Cell[49454, 1569, 1490, 43, 55, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[50981, 1617, 198, 4, 32, "Input"],
+Cell[51182, 1623, 852, 26, 55, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[52071, 1654, 677, 18, 55, "Input"],
+Cell[52751, 1674, 217, 3, 31, "Output"],
+Cell[52971, 1679, 219, 3, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[53227, 1687, 287, 6, 32, "Input"],
+Cell[53517, 1695, 1441, 44, 55, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[54995, 1744, 99, 1, 32, "Input"],
+Cell[55097, 1747, 2101, 66, 82, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[57235, 1818, 354, 8, 32, "Input"],
+Cell[57592, 1828, 2269, 69, 82, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[59898, 1902, 100, 1, 32, "Input"],
+Cell[60001, 1905, 2182, 70, 82, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[62220, 1980, 951, 25, 32, "Input"],
+Cell[63174, 2007, 2074, 61, 55, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[65285, 2073, 457, 9, 32, "Input"],
+Cell[65745, 2084, 1538, 44, 55, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[67320, 2133, 215, 5, 32, "Input"],
+Cell[67538, 2140, 164, 2, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[67739, 2147, 296, 7, 32, "Input"],
+Cell[68038, 2156, 1416, 44, 58, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[69491, 2205, 208, 5, 32, "Input"],
+Cell[69702, 2212, 166, 2, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[69905, 2219, 348, 10, 41, "Input"],
+Cell[70256, 2231, 584, 11, 45, "Message"],
+Cell[70843, 2244, 703, 23, 56, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[71583, 2272, 161, 3, 32, "Input"],
+Cell[71747, 2277, 139, 2, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[71923, 2284, 243, 6, 32, "Input"],
+Cell[72169, 2292, 560, 15, 51, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[72766, 2312, 257, 6, 32, "Input"],
+Cell[73026, 2320, 170, 2, 31, "Output"]
+}, Open ]],
+Cell[73211, 2325, 34, 0, 31, "Text"],
+Cell[CellGroupData[{
+Cell[73270, 2329, 1920, 51, 143, "Input"],
+Cell[75193, 2382, 309, 4, 31, "Output"],
+Cell[75505, 2388, 309, 4, 31, "Output"],
+Cell[75817, 2394, 311, 4, 31, "Output"],
+Cell[76131, 2400, 309, 4, 31, "Output"],
+Cell[76443, 2406, 311, 4, 31, "Output"]
+}, Open ]],
+Cell[76769, 2413, 34, 0, 31, "Text"],
+Cell[CellGroupData[{
+Cell[76828, 2417, 453, 13, 55, "Input"],
+Cell[77284, 2432, 2646, 80, 103, "Output"]
+}, Open ]],
+Cell[79945, 2515, 36, 0, 31, "Text"],
+Cell[CellGroupData[{
+Cell[80006, 2519, 763, 23, 75, "Input"],
+Cell[80772, 2544, 3139, 97, 139, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[83948, 2646, 223, 5, 32, "Input"],
+Cell[84174, 2653, 1160, 36, 74, "Output"]
+}, Open ]],
+Cell[85349, 2692, 205, 3, 31, "Text"],
+Cell[CellGroupData[{
+Cell[85579, 2699, 315, 7, 32, "Input"],
+Cell[85897, 2708, 1603, 48, 55, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[87537, 2761, 528, 10, 32, "Input"],
+Cell[88068, 2773, 1725, 49, 55, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[89830, 2827, 165, 3, 32, "Input"],
+Cell[89998, 2832, 2044, 63, 82, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[92079, 2900, 724, 13, 32, "Input"],
+Cell[92806, 2915, 801, 22, 48, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[93644, 2942, 202, 4, 32, "Input"],
+Cell[93849, 2948, 165, 2, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[94051, 2955, 177, 4, 32, "Input"],
+Cell[94231, 2961, 512, 16, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[94780, 2982, 240, 5, 32, "Input"],
+Cell[95023, 2989, 1430, 43, 50, "Output"]
+}, Open ]],
+Cell[96468, 3035, 94, 1, 32, "Input"],
+Cell[CellGroupData[{
+Cell[96587, 3040, 128, 2, 32, "Input"],
+Cell[96718, 3044, 514, 16, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[97269, 3065, 199, 4, 32, "Input"],
+Cell[97471, 3071, 2192, 66, 88, "Output"]
+}, Open ]]
+}
+]
+*)
+
+(* End of internal cache information *)
diff --git a/ecell4/egfrd/legacy/doc/math/fppairtheta.nb b/ecell4/egfrd/legacy/doc/math/fppairtheta.nb
new file mode 100644
index 0000000..8a530eb
--- /dev/null
+++ b/ecell4/egfrd/legacy/doc/math/fppairtheta.nb
@@ -0,0 +1,6096 @@
+(* Content-type: application/mathematica *)
+
+(*** Wolfram Notebook File ***)
+(* http://www.wolfram.com/nb *)
+
+(* CreatedBy='Mathematica 6.0' *)
+
+(*CacheID: 234*)
+(* Internal cache information:
+NotebookFileLineBreakTest
+NotebookFileLineBreakTest
+NotebookDataPosition[ 145, 7]
+NotebookDataLength[ 297765, 6087]
+NotebookOptionsPosition[ 294195, 5962]
+NotebookOutlinePosition[ 294534, 5977]
+CellTagsIndexPosition[ 294491, 5974]
+WindowFrame->Normal*)
+
+(* Beginning of Notebook Content *)
+Notebook[{
+
+Cell[CellGroupData[{
+Cell[BoxData[
+ RowBox[{"$Assumptions", "=",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"r", ">", "0"}], ",",
+ RowBox[{"r0", ">", "0"}], ",",
+ RowBox[{"u", ">", "0"}], ",",
+ RowBox[{"s", ">", "0"}], ",",
+ RowBox[{"h", ">", "0"}], ",",
+ RowBox[{"a", ">", "0"}], ",",
+ RowBox[{"a", ">", "s"}], ",", " ",
+ RowBox[{"r", "<", "a"}], ",", " ",
+ RowBox[{"r0", "<", "a"}], ",", " ",
+ RowBox[{"r", ">", "s"}], ",", " ",
+ RowBox[{"r0", ">", "s"}], ",", " ",
+ RowBox[{"D", ">", "0"}], ",",
+ RowBox[{"t", ">", "0"}], ",",
+ RowBox[{"n", "\[Element]", "Integers"}], ",",
+ RowBox[{"n", ">", "0"}], ",",
+ RowBox[{"theta", "\[GreaterEqual]", "0"}], ",",
+ RowBox[{"theta", "\[LessEqual]", "\[Pi]"}]}], "}"}]}]], "Input",
+ CellChangeTimes->{{3.3890438832783527`*^9, 3.38904389383783*^9}, {
+ 3.389044162762238*^9, 3.3890441655526333`*^9}, {3.389044221342888*^9,
+ 3.38904422385328*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"r", ">", "0"}], ",",
+ RowBox[{"r0", ">", "0"}], ",",
+ RowBox[{"u", ">", "0"}], ",",
+ RowBox[{"s", ">", "0"}], ",",
+ RowBox[{"h", ">", "0"}], ",",
+ RowBox[{"a", ">", "0"}], ",",
+ RowBox[{"a", ">", "s"}], ",",
+ RowBox[{"r", "<", "a"}], ",",
+ RowBox[{"r0", "<", "a"}], ",",
+ RowBox[{"r", ">", "s"}], ",",
+ RowBox[{"r0", ">", "s"}], ",",
+ RowBox[{"D", ">", "0"}], ",",
+ RowBox[{"t", ">", "0"}], ",",
+ RowBox[{"n", "\[Element]", "Integers"}], ",",
+ RowBox[{"n", ">", "0"}], ",",
+ RowBox[{"theta", "\[GreaterEqual]", "0"}], ",",
+ RowBox[{"theta", "\[LessEqual]", "\[Pi]"}]}], "}"}]], "Output",
+ CellChangeTimes->{3.389044224807001*^9, 3.3974872563724833`*^9,
+ 3.397576641250758*^9, 3.404158887075327*^9, 3.404593324573185*^9,
+ 3.404675368985339*^9, 3.410160023001336*^9, 3.422228702034608*^9,
+ 3.4222304464537153`*^9, 3.4439301928474703`*^9, 3.4439303063528223`*^9}]
+}, Open ]],
+
+Cell[BoxData[
+ RowBox[{"transsbessel", ":=",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"n_", "+",
+ RowBox[{"2", " ", "nn_",
+ RowBox[{"(",
+ RowBox[{"1", "/", "2"}], ")"}]}]}], ",", "z_"}], "]"}], "\[Rule]",
+ RowBox[{
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{"n", "+", "nn", "-",
+ RowBox[{"1", "/", "2"}]}], ",", "z"}], "]"}], " ", "/", " ",
+ RowBox[{"Sqrt", "[",
+ RowBox[{"Pi", "/",
+ RowBox[{"(",
+ RowBox[{"2", " ", "z"}], ")"}]}], "]"}]}]}], ",",
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"n_", "+",
+ RowBox[{"2", " ", "nn_", " ",
+ RowBox[{"(",
+ RowBox[{"1", "/", "2"}], ")"}]}]}], ",", "z_"}], "]"}], "\[Rule]",
+ RowBox[{
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{
+ RowBox[{"n", "+", "nn", "-",
+ RowBox[{"1", "/", "2"}]}], ",", "z"}], "]"}], " ", "/", " ",
+ RowBox[{"Sqrt", "[",
+ RowBox[{"Pi", " ", "/", " ",
+ RowBox[{"(",
+ RowBox[{"2", "z"}], ")"}]}], "]"}]}]}]}], "}"}]}]], "Input",
+ CellChangeTimes->{{3.38852113049298*^9, 3.3885211492047243`*^9}, {
+ 3.388521320556066*^9, 3.388521320793867*^9}, 3.4046766189824047`*^9}],
+
+Cell[BoxData[
+ RowBox[{"solnBJY", ":=",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "n"}]}], ")"}],
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"\[Pi]", " ",
+ SuperscriptBox["u", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], " ", "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"3", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"3", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], " ", "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"3", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], " ", ")"}],
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"3", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}]}], ")"}],
+ "/",
+ RowBox[{"(",
+ RowBox[{"8", " ",
+ RowBox[{"\[Sqrt]", "r"}], " ",
+ RowBox[{"\[Sqrt]", "r0"}],
+ RowBox[{"(", " ",
+ RowBox[{"n", "+",
+ SuperscriptBox["n", "2"], "-",
+ RowBox[{"s", " ",
+ RowBox[{"(",
+ RowBox[{"h", "+",
+ RowBox[{
+ SuperscriptBox["h", "2"], " ", "s"}], "+",
+ RowBox[{"s", " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"3", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"], "+",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"3", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"]}], ")"}],
+ "/",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "2"], "+",
+ SuperscriptBox[
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "2"]}], ")"}]}]}], ")"}]}],
+ ")"}]}]}]}]], "Input"],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"solnBJY", "/.", " ",
+ RowBox[{"n", "\[Rule]", "0"}]}], " ", "//", " ", "Simplify"}]], "Input",
+ CellChangeTimes->{{3.422228705155861*^9, 3.422228714242173*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}]}],
+ RowBox[{"2", " ", "\[Pi]", " ", "r", " ", "r0", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ SuperscriptBox["s", "2"]}], " ",
+ RowBox[{"(",
+ RowBox[{"h", "+",
+ RowBox[{
+ SuperscriptBox["h", "2"], " ", "s"}], "+",
+ RowBox[{"s", " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}], "+",
+ RowBox[{"a", " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "h", " ", "s"}], "+",
+ RowBox[{
+ SuperscriptBox["h", "2"], " ",
+ SuperscriptBox["s", "2"]}], "+",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}]}], ")"}]}]]], "Output",
+ CellChangeTimes->{{3.422228709224806*^9, 3.422228714955783*^9},
+ 3.422230446843491*^9, 3.443930198952623*^9, 3.4439303096973667`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"falpha", "[", "a_", "]"}], " ", "=", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], " ", "+", " ",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}]}]], "Input",
+ CellChangeTimes->{{3.422312389345271*^9, 3.422312391285946*^9}, {
+ 3.422312430376458*^9, 3.4223124416384087`*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}]], "Output",
+ CellChangeTimes->{
+ 3.4041588873414707`*^9, 3.404675369370549*^9, 3.4101600235619993`*^9,
+ 3.422230446872209*^9, 3.422312392679352*^9, {3.4223124343260717`*^9,
+ 3.422312457050994*^9}, 3.4439301999362707`*^9, 3.4439303098591747`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"transfa", " ", "=",
+ RowBox[{"{", " ",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ", "\[Rule]", " ",
+ RowBox[{
+ RowBox[{"-", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}], " ",
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ", "/", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}]}], "}"}]}]], "Input",
+ CellChangeTimes->{{3.422310816843258*^9, 3.422310872407449*^9}, {
+ 3.422315058265905*^9, 3.422315080974951*^9}, 3.422315131902073*^9}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], "\[Rule]",
+ FractionBox[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}]}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}],
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]]}], "}"}]], "Output",
+ CellChangeTimes->{3.422310873729661*^9, 3.422315081601653*^9,
+ 3.422315132813908*^9, 3.443930201097011*^9, 3.443930310237855*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"falpha", "[", "a", "]"}], " ", "\[Equal]", " ", "0"}], "/.",
+ " ", "transfa"}], " ", "//", " ", "Simplify"}]], "Input",
+ CellChangeTimes->{{3.422310881753352*^9, 3.4223108991222754`*^9}, {
+ 3.422312397467144*^9, 3.4223123985130367`*^9}, {3.4223124653707733`*^9,
+ 3.422312465896927*^9}}],
+
+Cell[BoxData["True"], "Output",
+ CellChangeTimes->{{3.422310886529418*^9, 3.422310899464528*^9},
+ 3.42231239894002*^9, 3.422312466269887*^9, 3.443930202671492*^9,
+ 3.443930312606933*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"falpha", "[", "a", "]"}], " ", "/.", " ", "transsbessel"}], " ",
+ "//", " ", "Simplify"}]], "Input",
+ CellChangeTimes->{{3.4046785197729683`*^9, 3.404678531805019*^9}, {
+ 3.404678564495268*^9, 3.404678584928667*^9}, {3.4046786283620453`*^9,
+ 3.404678628956658*^9}, {3.4046786593655653`*^9, 3.404678664186563*^9}, {
+ 3.4223124012672167`*^9, 3.422312402184737*^9}, {3.42231246830721*^9,
+ 3.4223124686335783`*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ FractionBox["1", "\[Pi]"],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"a", " ", "s"}]], " ", "u", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}],
+ ")"}]}]}]], "Output",
+ CellChangeTimes->{
+ 3.404678532186162*^9, {3.4046785717449303`*^9, 3.404678585647079*^9}, {
+ 3.404678631986055*^9, 3.404678664516652*^9}, 3.410160023669217*^9,
+ 3.42223044697569*^9, 3.422312402721363*^9, 3.4223124691545687`*^9,
+ 3.443930204916864*^9, 3.443930315098433*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"falpha0", " ", "=", " ",
+ RowBox[{"FullSimplify", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"falpha", "[", "a", "]"}], " ", "/.", " ",
+ RowBox[{"n", "\[Rule]", "0"}]}], ",", " ",
+ RowBox[{"Assumptions", "\[Rule]",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"a", ">", "0"}], ",",
+ RowBox[{"u", ">", "0"}], ",",
+ RowBox[{"s", ">", "0"}]}], "}"}]}]}], "]"}]}]], "Input",
+ CellChangeTimes->{{3.404679246856036*^9, 3.404679247615509*^9}, {
+ 3.422312408500554*^9, 3.422312409474144*^9}, {3.422312473116404*^9,
+ 3.42231247337901*^9}}],
+
+Cell[BoxData[
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"2", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}], ")"}]}],
+ RowBox[{"\[Pi]", " ",
+ SqrtBox[
+ RowBox[{"a", " ", "s"}]], " ", "u"}]]}]], "Output",
+ CellChangeTimes->{3.404158889473724*^9, 3.404675371173006*^9,
+ 3.4101600240391827`*^9, 3.422230447380072*^9, 3.4223124142141647`*^9,
+ 3.422312473640106*^9, 3.443930207312996*^9, 3.443930317143322*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"E1", " ", "=", " ",
+ RowBox[{"n", " ", "+", " ",
+ RowBox[{"n", "^", "2"}], " ", "-", " ",
+ RowBox[{"s",
+ RowBox[{"(", " ",
+ RowBox[{"h", " ", "+", " ",
+ RowBox[{
+ RowBox[{"h", "^", "2"}], " ", "s"}], " ", "+", " ",
+ RowBox[{"s", " ",
+ RowBox[{"u", "^", "2"}]}]}], ")"}]}], " ", "+", " ",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "^", "2"}], " ", "+",
+ " ",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "^", "2"}]}], " ",
+ ")"}], "/", " ",
+ RowBox[{"(", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "^", "2"}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "^", "2"}]}], ")"}]}],
+ " "}]}]], "Input"],
+
+Cell[BoxData[
+ RowBox[{"n", "+",
+ SuperscriptBox["n", "2"], "-",
+ RowBox[{"s", " ",
+ RowBox[{"(",
+ RowBox[{"h", "+",
+ RowBox[{
+ SuperscriptBox["h", "2"], " ", "s"}], "+",
+ RowBox[{"s", " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"], "+",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "2"], "+",
+ SuperscriptBox[
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "2"]}], ")"}]}]}]], "Output",
+ CellChangeTimes->{3.387911629801058*^9, 3.404158890334734*^9,
+ 3.404675373496977*^9, 3.410160024462656*^9, 3.422230447484247*^9,
+ 3.443930209160984*^9, 3.443930319639063*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"E2", " ", "=", " ",
+ RowBox[{"n", " ", "+", " ",
+ RowBox[{"n", "^", "2"}], " ", "-", " ",
+ RowBox[{"s",
+ RowBox[{"(", " ",
+ RowBox[{"h", " ", "+", " ",
+ RowBox[{
+ RowBox[{"h", "^", "2"}], " ", "s"}], " ", "+", " ",
+ RowBox[{"s", " ",
+ RowBox[{"u", "^", "2"}]}]}], ")"}]}], " ", "+", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "^", "2"}], " ", "/",
+ " ",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "^", "2", " "}]}]}]}]], "Input",
+ CellChangeTimes->{{3.404677034661694*^9, 3.404677065545404*^9}}],
+
+Cell[BoxData[
+ RowBox[{"n", "+",
+ SuperscriptBox["n", "2"], "-",
+ RowBox[{"s", " ",
+ RowBox[{"(",
+ RowBox[{"h", "+",
+ RowBox[{
+ SuperscriptBox["h", "2"], " ", "s"}], "+",
+ RowBox[{"s", " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}], "+",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"],
+ SuperscriptBox[
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "2"]]}]], "Output",
+ CellChangeTimes->{
+ 3.3879116316645393`*^9, 3.404158890606097*^9, 3.4046753738615026`*^9, {
+ 3.404677040593759*^9, 3.404677066257044*^9}, 3.410160024620331*^9,
+ 3.422230447714835*^9, 3.443930210805593*^9, 3.443930321254202*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"pni", " ", "=", " ",
+ RowBox[{
+ RowBox[{
+ FractionBox[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "n"}]}], ")"}], " ", "\[Pi]", " ",
+ SuperscriptBox["u", "2"]}],
+ RowBox[{"8", " ",
+ SqrtBox[
+ RowBox[{"r", " ", "r0"}]]}]], " ",
+ RowBox[{"falpha", "[", "r", "]"}], " ",
+ RowBox[{
+ RowBox[{"falpha", "[", "r0", "]"}], " ", "/", " ", "E2"}]}], " ", "//",
+ " ", "Simplify"}]}]], "Input",
+ CellChangeTimes->{{3.422312029046369*^9, 3.4223120333962173`*^9}, {
+ 3.4223120645125103`*^9, 3.422312075758594*^9}, {3.422312138418152*^9,
+ 3.422312138663076*^9}, {3.422312481078676*^9, 3.422312484156444*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "n"}]}], ")"}], " ", "\[Pi]", " ",
+ SuperscriptBox["u", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}]}], ")"}],
+ "/",
+ RowBox[{"(",
+ RowBox[{"8", " ",
+ SqrtBox[
+ RowBox[{"r", " ", "r0"}]], " ",
+ RowBox[{"(",
+ RowBox[{"n", "+",
+ SuperscriptBox["n", "2"], "-",
+ RowBox[{"s", " ",
+ RowBox[{"(",
+ RowBox[{"h", "+",
+ RowBox[{
+ SuperscriptBox["h", "2"], " ", "s"}], "+",
+ RowBox[{"s", " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}], "+",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"],
+ SuperscriptBox[
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "2"]]}], ")"}]}],
+ ")"}]}]], "Output",
+ CellChangeTimes->{
+ 3.404158890076646*^9, 3.404675372271965*^9, 3.4046781915290613`*^9,
+ 3.410160024432291*^9, 3.42223044745522*^9, 3.4223120346398287`*^9, {
+ 3.422312066998163*^9, 3.422312076199484*^9}, {3.422312139193884*^9,
+ 3.4223121463770237`*^9}, 3.4223124846488047`*^9, 3.443930213270226*^9,
+ 3.443930323531598*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData["pni"], "Input",
+ CellChangeTimes->{{3.422312153559689*^9, 3.42231215378867*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "n"}]}], ")"}], " ", "\[Pi]", " ",
+ SuperscriptBox["u", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}]}], ")"}],
+ "/",
+ RowBox[{"(",
+ RowBox[{"8", " ",
+ SqrtBox[
+ RowBox[{"r", " ", "r0"}]], " ",
+ RowBox[{"(",
+ RowBox[{"n", "+",
+ SuperscriptBox["n", "2"], "-",
+ RowBox[{"s", " ",
+ RowBox[{"(",
+ RowBox[{"h", "+",
+ RowBox[{
+ SuperscriptBox["h", "2"], " ", "s"}], "+",
+ RowBox[{"s", " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}], "+",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"],
+ SuperscriptBox[
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "2"]]}], ")"}]}],
+ ")"}]}]], "Output",
+ CellChangeTimes->{3.422312154143702*^9, 3.4439302150363493`*^9,
+ 3.4439303257619143`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"pni1", " ", "=", " ",
+ RowBox[{
+ RowBox[{"pni", " ", "/.", " ", "transfa"}], " ", "//", " ",
+ "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.422310916346798*^9, 3.422310924913702*^9}, {
+ 3.42231097686054*^9, 3.422310979050612*^9}, {3.422311067717615*^9,
+ 3.422311068203047*^9}, {3.422311602820877*^9, 3.422311628072998*^9}, {
+ 3.422311676179708*^9, 3.4223116982274942`*^9}, {3.4223121103271837`*^9,
+ 3.422312111844892*^9}, {3.4223121781914587`*^9, 3.422312178637699*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "n"}]}], ")"}], " ", "\[Pi]", " ",
+ SuperscriptBox["u", "2"], " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}]}], ")"}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"8", " ",
+ SqrtBox[
+ RowBox[{"r", " ", "r0"}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "+",
+ SuperscriptBox["n", "2"], "-",
+ RowBox[{"s", " ",
+ RowBox[{"(",
+ RowBox[{"h", "+",
+ RowBox[{
+ SuperscriptBox["h", "2"], " ", "s"}], "+",
+ RowBox[{"s", " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}]}], ")"}], " ",
+ SuperscriptBox[
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "2"]}], "+",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"]}], ")"}]}],
+ ")"}]}]], "Output",
+ CellChangeTimes->{{3.42231091959648*^9, 3.422310925509273*^9},
+ 3.422310979398464*^9, 3.4223111711368437`*^9, {3.422311677076764*^9,
+ 3.422311678589509*^9}, 3.422311722906049*^9, {3.422312112257258*^9,
+ 3.422312178930258*^9}, 3.4223164099910517`*^9, 3.443930217519683*^9,
+ 3.443930396402582*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"falpha", "[", "a", "]"}]], "Input",
+ CellChangeTimes->{{3.422312375450626*^9, 3.422312381279153*^9}, {
+ 3.4223124909233313`*^9, 3.4223124913534803`*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}]], "Output",
+ CellChangeTimes->{3.422312381727109*^9, 3.4223124919189663`*^9,
+ 3.443930220093264*^9, 3.443930398248295*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"pni1", " ", "==", " ", "solnBJY"}], " ", "/.", " ", "transfa"}],
+ " ", "//", " ", "Simplify"}]], "Input",
+ CellChangeTimes->{{3.4223119493690367`*^9, 3.422311964738709*^9}, {
+ 3.422312094166176*^9, 3.422312118652598*^9}}],
+
+Cell[BoxData["True"], "Output",
+ CellChangeTimes->{{3.42231195106665*^9, 3.422311965066183*^9}, {
+ 3.422312090623348*^9, 3.4223121195413227`*^9}, 3.422312150916493*^9,
+ 3.422312187292492*^9, 3.443930223764266*^9, 3.4439304003374653`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"pni1", " ", "/.", " ", "transsbessel"}], " ", "//", " ",
+ "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.422312216000828*^9, 3.422312231806203*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "n"}]}], ")"}], " ", "s", " ",
+ SuperscriptBox["u", "4"], " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}]}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}]}], ")"}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"2", " ", "\[Pi]", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"a", " ",
+ RowBox[{"(",
+ RowBox[{"n", "+",
+ SuperscriptBox["n", "2"], "-",
+ RowBox[{"s", " ",
+ RowBox[{"(",
+ RowBox[{"h", "+",
+ RowBox[{
+ SuperscriptBox["h", "2"], " ", "s"}], "+",
+ RowBox[{"s", " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}]}], ")"}], " ",
+ SuperscriptBox[
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "2"]}], "+",
+ RowBox[{"s", " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"]}]}], ")"}]}],
+ ")"}]}]], "Output",
+ CellChangeTimes->{{3.422312219536029*^9, 3.4223122239771643`*^9},
+ 3.42231230254967*^9, 3.422316403791514*^9, 3.443930225124948*^9,
+ 3.4439304448327837`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"transbesselrecur", " ", "=",
+ RowBox[{"{", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ FractionBox["1", "2"]}], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ", "->", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"2", " ", "n"}], " ", "+", " ", "1"}], " ", ")"}], " ",
+ "/", " ",
+ RowBox[{"(",
+ RowBox[{"a", " ", "u"}], " ", ")"}]}], " ", ")"}],
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], " ", "-", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}], ",", " ",
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ FractionBox["1", "2"]}], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ", "->", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"2", " ", "n"}], " ", "+", " ", "1"}], " ", ")"}], " ",
+ "/", " ",
+ RowBox[{"(",
+ RowBox[{"a", " ", "u"}], " ", ")"}]}], " ", ")"}],
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], " ", "-", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}]}], "}"}]}]], "Input",
+ CellChangeTimes->{{3.4223129866035557`*^9, 3.42231299340238*^9},
+ 3.42231304465324*^9, {3.4223131047245407`*^9, 3.4223131170629263`*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ FractionBox["1", "2"]}], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "\[Rule]",
+ RowBox[{
+ FractionBox[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "n"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}],
+ RowBox[{"a", " ", "u"}]], "-",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}], ",",
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ FractionBox["1", "2"]}], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "\[Rule]",
+ RowBox[{
+ FractionBox[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "n"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}],
+ RowBox[{"a", " ", "u"}]], "-",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}]}], "}"}]], "Output",
+ CellChangeTimes->{3.422312994045534*^9, 3.422313117769628*^9,
+ 3.443930228356923*^9, 3.443930446559811*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"Dsolnata", " ", "=", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"D", " ",
+ RowBox[{"D", "[",
+ RowBox[{"pni1", ",", "r"}], "]"}]}], "/.",
+ RowBox[{"{",
+ RowBox[{"r", "\[Rule]", "a"}], "}"}]}], " ", "/.", " ",
+ "transbesselrecur"}], " ", "/.", " ", "transfa"}], "//", " ",
+ "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.422313352245059*^9, 3.4223133966613398`*^9}, {
+ 3.422315027508644*^9, 3.4223150438028107`*^9}, 3.422315100637486*^9, {
+ 3.422315275400055*^9, 3.422315275917397*^9}, 3.422315475858481*^9}],
+
+Cell[BoxData[
+ RowBox[{"-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"D", " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "n"}]}], ")"}], " ", "r0", " ",
+ SuperscriptBox["u", "2"], " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}]}], ")"}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"4", " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"a", " ", "r0"}], ")"}],
+ RowBox[{"3", "/", "2"}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "+",
+ SuperscriptBox["n", "2"], "-",
+ RowBox[{"s", " ",
+ RowBox[{"(",
+ RowBox[{"h", "+",
+ RowBox[{
+ SuperscriptBox["h", "2"], " ", "s"}], "+",
+ RowBox[{"s", " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}]}], ")"}], " ",
+ SuperscriptBox[
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "2"]}], "+",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"]}], ")"}]}],
+ ")"}]}]}]], "Output",
+ CellChangeTimes->{{3.4223133546021767`*^9, 3.4223133971056643`*^9},
+ 3.422314412391642*^9, {3.422315029942297*^9, 3.4223150444001083`*^9}, {
+ 3.422315086185858*^9, 3.4223151009517183`*^9}, 3.422315407606635*^9, {
+ 3.4223154762195063`*^9, 3.422315480914665*^9}, 3.4439302304126253`*^9,
+ 3.443930502982589*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"Dsolnata", " ", "\[Equal]", " ",
+ RowBox[{"D", " ",
+ RowBox[{"D", "[",
+ RowBox[{"solnBJY", ",", "r"}], "]"}]}]}], "/.",
+ RowBox[{"{",
+ RowBox[{"r", "\[Rule]", "a"}], "}"}]}], " ", "/.", " ",
+ "transbesselrecur"}], "/.", " ", "transfa"}], "//", " ",
+ "Simplify"}]], "Input",
+ CellChangeTimes->{{3.3879154198555098`*^9, 3.387915420309862*^9}, {
+ 3.42231340159971*^9, 3.422313427870055*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{"2", "-",
+ RowBox[{"a", " ", "\[Pi]", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"a", " ", "\[Pi]", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}], ")"}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "+",
+ SuperscriptBox["n", "2"], "-",
+ RowBox[{"s", " ",
+ RowBox[{"(",
+ RowBox[{"h", "+",
+ RowBox[{
+ SuperscriptBox["h", "2"], " ", "s"}], "+",
+ RowBox[{"s", " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}]}], ")"}], " ",
+ SuperscriptBox[
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "2"]}], "+",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"]}], ")"}]}],
+ "\[Equal]", "0"}]], "Output",
+ CellChangeTimes->{
+ 3.387915422734262*^9, 3.404158975010764*^9, 3.4046753909319143`*^9,
+ 3.4222304512176857`*^9, 3.4223131203950377`*^9, {3.4223134082847443`*^9,
+ 3.4223134292045307`*^9}, 3.4223149679858837`*^9, 3.443930236387615*^9,
+ 3.4439305066486273`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"Dsolnata", " ", "//.", " ", "transsbessel"}], " ", "//", " ",
+ "Simplify"}], "\[IndentingNewLine]"}]], "Input",
+ CellChangeTimes->{{3.42231344483842*^9, 3.422313453701576*^9}, {
+ 3.4223135025282583`*^9, 3.422313502966383*^9}, 3.422314374531727*^9, {
+ 3.422314433620658*^9, 3.422314441626121*^9}, {3.422314975210267*^9,
+ 3.422314983961013*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"D", " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "n"}]}], ")"}], " ", "s", " ",
+ SuperscriptBox["u", "3"], " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}]}], ")"}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"2", " ", "a", " ", "\[Pi]", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"a", " ",
+ RowBox[{"(",
+ RowBox[{"n", "+",
+ SuperscriptBox["n", "2"], "-",
+ RowBox[{"s", " ",
+ RowBox[{"(",
+ RowBox[{"h", "+",
+ RowBox[{
+ SuperscriptBox["h", "2"], " ", "s"}], "+",
+ RowBox[{"s", " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}]}], ")"}], " ",
+ SuperscriptBox[
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "2"]}], "+",
+ RowBox[{"s", " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"]}]}], ")"}]}],
+ ")"}]}]], "Output",
+ CellChangeTimes->{{3.422313449240933*^9, 3.422313454209517*^9},
+ 3.42231361306244*^9, 3.422314374965118*^9, {3.422314415504315*^9,
+ 3.422314441844235*^9}, 3.422314977704185*^9, 3.422315878569489*^9,
+ 3.443930239127462*^9, 3.443930508735457*^9}]
+}, Open ]],
+
+Cell["\<\
+Integrating LegendreP[n,Cos[theta]]; integration by substitution. Note the \
+Jacobian Sin[theta].\
+\>", "Text",
+ CellChangeTimes->{{3.389045184953141*^9, 3.3890452185675507`*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"intlgnd", " ", "=", " ",
+ RowBox[{
+ RowBox[{"Integrate", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"Sin", "[",
+ RowBox[{"ArcCos", "[", "x", "]"}], "]"}], " ",
+ RowBox[{"LegendreP", "[",
+ RowBox[{"n", ",", "x"}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{"1", "/",
+ RowBox[{"(",
+ RowBox[{"-",
+ RowBox[{"Sin", "[",
+ RowBox[{"ArcCos", "[", "x", "]"}], "]"}]}], ")"}]}], ")"}]}], ",",
+ " ",
+ RowBox[{"{",
+ RowBox[{"x", ",",
+ RowBox[{"Cos", "[", "0", "]"}], ",",
+ RowBox[{"Cos", "[", "theta", "]"}]}], "}"}]}], "]"}], " ", "//", " ",
+ "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.389045084019712*^9, 3.389045173955677*^9}, {
+ 3.389045274181471*^9, 3.389045290268055*^9}, {3.389045628881454*^9,
+ 3.389045632104164*^9}, {3.3890482048979273`*^9, 3.3890482182316837`*^9}, {
+ 3.405930118031858*^9, 3.405930130383512*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{
+ RowBox[{"LegendreP", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "1"}], "+", "n"}], ",",
+ RowBox[{"Cos", "[", "theta", "]"}]}], "]"}], "-",
+ RowBox[{"LegendreP", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"Cos", "[", "theta", "]"}]}], "]"}]}],
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "n"}]}]]], "Output",
+ CellChangeTimes->{3.389048221975944*^9, 3.404194205604302*^9,
+ 3.404596271466793*^9, 3.405930136817192*^9, 3.422230937990172*^9,
+ 3.4227421182268887`*^9, 3.443930244508696*^9, 3.443930511765523*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"Plot", "[", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"n", " ", "2"}]}], ")"}], " ", "intlgnd"}], "/.",
+ RowBox[{"n", "\[Rule]",
+ RowBox[{"{",
+ RowBox[{"0", ",", "1", ",", "2", ",", "3", ",", " ", "10"}], "}"}]}]}],
+ ",",
+ RowBox[{"{",
+ RowBox[{"theta", ",", "0", ",", "Pi"}], "}"}]}], "]"}]], "Input",
+ CellChangeTimes->{{3.404194020867114*^9, 3.404194094889103*^9}, {
+ 3.40419414470302*^9, 3.4041941848201714`*^9}, {3.404194218549985*^9,
+ 3.4041942352895308`*^9}, {3.404194354753592*^9, 3.404194358124248*^9}, {
+ 3.404596263459559*^9, 3.404596263987898*^9}, {3.4227421185812473`*^9,
+ 3.422742143063695*^9}, {3.4227426753164883`*^9, 3.422742678244545*^9}, {
+ 3.422742914067094*^9, 3.422743027127849*^9}, {3.422744467152954*^9,
+ 3.422744468600748*^9}, {3.422744519186894*^9, 3.422744519503419*^9}, {
+ 3.422744563528029*^9, 3.42274456828998*^9}, {3.422744627817957*^9,
+ 3.422744627985999*^9}, {3.422744664764999*^9, 3.422744669768754*^9}, {
+ 3.422759445066017*^9, 3.422759456395341*^9}}],
+
+Cell[BoxData[
+ GraphicsBox[{{}, {},
+ {Hue[0.67, 0.6, 0.6], LineBox[CompressedData["
+1:eJwd1Qk0VesXAPBjuvdopKRHmYekSKXXdLM/qRSvQoYGJJVQKZKKW6FkiNJF
+KHFljIhkiuQpQtLFTWSoTOmGTEmm7/+9/7fWWWf91j5nn7P32et8SvZnzI4L
+UxTVT47/ziIvZ9V2rnPVo/6/ulhq30s2y4ftBYqyq8pcFqc3kbXqWDPnMDHv
+vPqyl3rZY/BBMvPEf87/4Ven1y3lOJ7HOUMsmvhF/bNesEzl3Myic8S9Ffss
+e/WSNazjqMwLxPOb3/sN6ZWuH9TZx/Uids171Pxb79OO62VJnKvEs2Ty1bHe
+hOYcTXaZD1Ded9545YmA/5pGt6Sia0CV9huvs6RBahO3qPaZH3F4nb/bXIjX
+dxYdz/AHiutxvdBPErR36e5WSgkESvHYbq9QKSgymYkw4t4k+VZLBTYvhg+H
+OcsecG4TD1f7qytA9lrtDZ3loUBJRKmyIpTgwvqw1gtld4gHBw/kqYAo2KjF
+F4UBdbYkTcxSA6q3llWtKwgHCumYhPE14c6OZS7VzyJIvGF4u5sWyO8ZyhvJ
+iATK0aE82G81dJlaHgpIiyL5vKTkRNZCukURXpoSDdTFySAI1YUNNn47d3Dv
+A1WZHLypeT2YnZL5FMWJA4p3WpihDjBnA7y8a8gFipV4YEEogsFCV8mv5cSq
+7VaCcH3Ie9GYe74sntT/Smw01wAMyrkzsUUJQB1T3n3KYieoGzaYfN+YSPIv
+mC4J3QWzqsQS1hYQsyMrmhuMgFfjbFj5LAmoxK1WJ1x3gw1fN3QoIwUo9zOL
+Bq+bArI80bF5ZSpQUSinQN8MVJuidW+kEe+Mpo8L7wNBy0yTbMojoFpL0xxv
+m8OFzkqlbdx08vzy87JNVnBn2DrnLucJqedd8lLVwxCy6B6rdG4WULNCjq+R
+tYP6bD+FdWbEeamycYl2cEhg3S3fQjw4s92s9Ai4HJrtOtyXDZQg10d+4TEI
+3+IYEC3xjORLorerO0Fz876T8yyIZQVGA/VOIO8Be65FE7O1rnz2cYaUTGmp
+08q5QH2+7BfdcxKeK5THId08oKoLM53fusBnIeX8b1YF4D257P0mHzdQjZ17
+zzqmgPSb2fr2uxs4bvrDrvtCrBZ0znvfORh2420tcioE7+nlquaa7iDadaX2
+ltdz8H4zOyex+zxoVrR0r4srBu+QKnYn5xJsLjeatfVcKXgb/xP2rtMbJPjJ
+79eHEcupxtxV84GuDuEIrZxSQLKB+u0nfOAWVaQgM0J85KTp934f6Ni8Yt2g
+27+AnvTNH8C+EPB0tl2sWxl4v2pFmZv9oDGuJnfC9TWUWl2N+S4ZBOmZGl6D
+d16T90mPuXw0CLxfXEc92SR+ujvpdm4QLG9hva0beg2UnNBLrUM3gS2d8SXV
+tRy8LVM8TR8Hg0pIyGwr1wooFbNyX+NwG8567jmSc7YS7MSPtMnEcMDIhZVK
+h1YC9z3LqPotB1TsNX/aPKkEb/bUcN4kBxp3MS7TA5VAbU/p22YdBltkSqJs
+TlbBl3TbVWsVw2FWgRaP6VANVJGitWVOBCT9mgPWh2oApW3pimdEw5XvE37Z
+njWgyLP/3bAlGva39dYw7hFrB3fqn4+GOeWvD2Y31QC3PnZjXVc0uIWzPRiW
+78h8f73youIeoLV9GVkmtUDlzz1XFREDpwuO3xJW4YHJ9w/rjXW45P9gqiik
+y4Mvk8V+hmZcGGxmPcXbeKD4ZKTCwZ0L7pMLG6cciGszZOYVcsFTr0zudxoP
+qKZDxdggHm68ls/4saYOQk1e1Z6yewhc3se3/K31wDvWe8I6JxH4vbvEU+z5
+oPMx89hk6SP4Ga2x/ZobH7wDU09X9D6CWcZMn8O+fAg1/WTyRCINUMbr8cUP
++UBdkY75ZJcG6a7QG/CVxHXaqEjhdPCd0H3jbPcBzlYJfUg0fgyr5ij6ads2
+wmB3dr3waCYErRqj8g40wZfZMmXRe56C64rKiNKkVuD5yh/031AIE0dPZra5
+fAGWEJeK8S0F+xeWJqEOHaDxLUGQE/Eajg7xS0sDukC1+qqbrEcVBOvkn0m+
+0QOvzxxeOnKqFoRL89df9+wF6aOBa2z5dSCpaVz7OUoARhZF7I5WPuyM25ow
+yOkDdr37dfW2j7D4Z82Oq/kDUKz/vlDGqAXuvXkuJOI0CM/EIitEeO3AktPH
+iseGIIgu+a0u9xVWfJHouuw+DNtZLXbOzE7ISF3gmOs2Arqs5Y6727uA3W7T
+sOLGKEj9CDD83NsDrqwNxrHhv0BHTcFSa7QXJuK22f8IHQM8sucvn04B8M7e
+s7vw8DdMOD//Ki3cDxsNlWfa4sfhec19MR4egKrtG1NRzB9gX+rPQJ6DkJQd
+vbEjfQIEEe8CjQOHYJHKSmfbR5MQuzO+P/v6MNQL0b4yxVPQyIe/D3BGIJc+
+l8yrmoZ8Vtxi6chRWLlIwtm+fAZqJpIK8vx+wc9bY1JrGzE8yu3KO+s7Bir+
+/qvOOFNouKzkee6J39BxsOXT1m8UGv3t9umQ/jjs7G74k+sihH7yhzW4qn/g
+ottxR+l+IaSo5B5+/ucf2JN330jaQxgB7+aHI6UTMDDlzBYZE0aLIlf12V6c
+hPiPPs9czomgUwnfnBKUpmDCcYvdpUkRZCb5a8n8mimQm75zyNVTFAXr9O1f
+bDsNPYY3q2lRMTS0yL7Bs38aXqnXgPxNMbQftCvvO8+AM50sqiTOQA68lyGf
+eTPwVjggxGA2AxkZGOV41c/AymknaYe5DPQy6161NH8Gfg5paaRLMlDnub9q
+d32cAfeWXON1sgyk+GC/WkLbDFzOLOfsWsFA3/lPJ5UFMxBq3q3otpuBZCso
+X0thDPlc1S2v7jDQvAxzhv8qDKp4m9e/YQzk7H50/I0OhlCb44UvI8j1ChJ/
+mGswOMomryuOZqCIwhE1P10MsuHLtHPjGagmoGiF+0YMbH9NhZRsBmqf2tSo
+aoBhq4uO0M06Btq+wFOJZ4Ehs8YEAhsYKG1937/DlhiWrHC97P+B5H/1wEVq
+P4bRb9l/rjUz0NJVF/rMD2JIOrJ2mP2VgTy58y9W22KgLf7udBki/Xnj/NL/
+BIbazaxyM0kmCsZ+d40uYggqOD+5YyETme0Y9N11CYPhuierNy9iItQ565qh
+J4ZSbeVYFRkmuntHqgSxMeQo0RdGFZlo6ShfTsMbQxSTr3FXh4kSSiUvVPtj
+ONpwMrh5LxNNqcSvsLmLQdEkqeydKRONGdS46kViaK1pH/93HxPtYbVXyUdh
+sKwwPZ5mxURNm32etEZj2Fm4Xs/rMBOpbTLZu/sBBu04kcGlZ5jIcTL5g1Ai
+hnHn+/vsbjHRsFlVYn4WhtueCcyroUy0ernXg5vZGNSD0osecJgoJWE+2/Yp
+BotHRSotd5lI3zZJQD3D8PRby4hFHBNZrhLc3JCP4dSxpeHGWUxkzv6n3u0F
+hi82D/h/1zNRBqU4b2EVhgunkwIs+Ex05eBYyivieZczWO6NTHTrz6TauWoM
+W2JeJGZ/YiIX3tHa2rcY7n1qc1/ZyUS+xabvL9ZiMLeSX6Q8ykTZrTv8Ixsw
+VJrEWcyVplHwSJY3bsXg/Lq7hPkXjTJjfVSvtWGYu2GlhrAsjQzp6fdi7RjM
+FAonxuRo9FKHv4X+jKGlvz7uixq5v32Zu9BXDANBDEHOOhpJVeRtK+8i8zfz
+z77M9TTS+BBxeGM3hrVuYcWpG2nU2Jfs85j44gHF2w+20OjpUoOW2z0YhDU2
+6fpvp9EOpYedRr0YFpWfvnLQgkbFFUoGnB8YCjY8+2ZuRaNbgl/vxogPPp4w
+2XuARp6RnMMH+zDEhvmrbLOh0Uf9uZHy/Rg07OMrtY7T6KryEcv7AxhYmL9A
+6DyN1jhelXQYwtDutoQ96UGj373KjCJin54j3b8u0mh5lq7Q/GEMFe8G8gVs
+GolG3pr1jHhvDG3Dv06jyH9vOw2PYLDfyEpJCafRzkvR5mgMg1P/u1+td2l0
+QNYqM4T4bPzhbQuiaaQjVsBrJr4qfu0r+wGNWu//c8blN4aY5qolZsk0erZe
+dWHgOIaEkEPO/qk0Ov7DNruGOE2/v6A4jUbaMpJ/zf+DofCRhOWyJzRaWvJG
+L5S48ZJV6FQ+jdytxwavTWBo0/revvo5jcqcjtW/IO766ql1ophGURKq7DHi
+kV2x1XWlpJ/TNzSOTWKQkO0WTami0S9jxy6dKQyLaz32tb6lkf35n8wjxPK+
+9EPJWhrFGKaO3CbWEqwgexXpdzZXRUBs9NztkmkLjVQP7um+PY3B1EW08kYb
+jaQ7RYzyiPcr35Uu/kzmQ6rOo4X4RFBhjnoXjU7ppmgoz2Bw0TMWtu6hkeBl
+WoYBscdwq8mdXhopahdNHCW+fpAamOyj0d7h8T4u8c15HNbqnzS6kaDEeUHM
+KVO56TBEo77+3biJOF7TUKPuF402zXq0eg7GkNre5MEYp1Hgr4YxFeIsjnP5
+5gkyf48nrm0iLpkIsU+eoVFBvu7YUeLyTIXsFkocdXRsa/EgrrHPxhIi4mhD
+oFFAADFf2mDPDjFxNGq6bTqKuKWaH+PFFEfSUzqbUok7rjj8yBIXR0628yGP
+WLBmfGPPbHF08UT77FfEQz2BAUvmiaP7cg+4tcTj95Z8NJEQRwOxRtNNxHhP
+htqNBeLIXKlHqYOYIQLuRVLiyGPYZZ6AeG4+r2xQWhxVXOgqGySWOmkvqS4j
+jtjaO2CMeInC6OFDS8RRVHoYGQcMyg1+maFypJ77NeTzYND0XzxdriCOul4N
+knIxrN78yHhSSZyM7v8X/A+wOCT5
+ "]], LineBox[CompressedData["
+1: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
+/3/hfzhX7pA=
+ "]], LineBox[CompressedData["
+1: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
+
+ "]], LineBox[CompressedData["
+1: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
+PJxxamn7//j//5/z/wATlrP9
+ "]], LineBox[CompressedData["
+1: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
+ "]]}},
+ AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948],
+ Axes->True,
+ AxesOrigin->{0, 0},
+ PlotRange->
+ NCache[{{0, Pi}, {-0.9622498142475497, 1.9999999999999978`}}, {{
+ 0, 3.141592653589793}, {-0.9622498142475497, 1.9999999999999978`}}],
+ PlotRangeClipping->True,
+ PlotRangePadding->{
+ Scaled[0.02],
+ Scaled[0.02]}]], "Output",
+ CellChangeTimes->{3.443930245683963*^9, 3.443930513925946*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ GraphicsBox[{{}, {},
+ {Hue[0.67, 0.6, 0.6], LineBox[CompressedData["
+1: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
+e7FfKHMfB+73Ur7409w49f8B/wNoQnmK
+ "]], LineBox[CompressedData["
+1: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
+veWaURMB/O5q+uQrW978fex/Q6z0GQ==
+ "]], LineBox[CompressedData["
+1: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
+28PZf/19s3+0Tgo/2uuzqog+j3jxhu8rxbDowWjuLi5iJFq21WgJjjyczprH
++88Bro9meLCQUWnDRn5i2v3weIsJZsjJb3lHBf65iKbP28UUFzCSsppzsJW9
+eScz/k2D37U5B3or5Xcwc4Wqje/9v3wy1OUX81cFc7Rpzr5vf4q2Me0cd53q
+mXMYj8Cin8wx6dzS8TkvE4wcaGUK3HwVLjr/nyvCrxR/Z6psjd90Ys7LTHc/
+/8Jk/pJ8cGHObkXhqU1MrZAYmuucNZ+sz/vMPMmKrH045/jPEm2fmL5P7lxs
+nbPFQvGLdUzBw7yfOXP+/WxiZy0zespLbWbOa+VQYg0zzdhtvsSCf24RNnn0
+gfl1of1Lizm3pSfzljEt81mCl+dsx++XX8Jk29g4e875t2mPSzGTVnr6wNM5
+R/zeKFbEDLj8Iy1zzlrXNg4WMoUlTIVL5vx1jLskn6ngYtjVMee6jpLnb5jZ
+8vW6v+ecoZeS95qp/vlQNvfCfw7JjG7LYhooH7glO+c26zsXM5g/Wkv6t865
+znbp81SmzV1koDnnjFmJmCSmW/cOqXP/b89zii+ByRuR4+c050GnQNenzJA9
+WwZvz1mwrVIsjik+kG58f86SN2RKHzLjHyniF3P2kKt5EcVU1n4plzfnuMLA
+9nDm23HZoMo5o31nL4UwNRKejn6bc5F96mN/5kcDiVP9/2+/jcnvwzShPSr9
+83+3zIh7MH+liirOXzTn8h9JTkw703vhK+ZMi5ZwcGCO8Qv9Xf9/m3jMt2Z6
+5ARZqv3fwox0Y6aA1fwPuv83N8+S/cyIJX6bTv3fRYIrZZmrMfeDi//3v/8b
+Ff4PZpTrQA==
+ "]], LineBox[CompressedData["
+1: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
+n5OcyP1s8aiITfUgIn7+2F1rPP5k7c+Z5lrAJubSO/w5kUvRTpL7ztZA4MrK
+6alATsRPIcmCdKgGtvJycvMFcyLMdTP5XFw1oCkreNkwnBPhs3hvstsDhXR3
+ZY3GGE5kMiCvaP+Bajg7cn2w6gknEsXQlLJ49wFaB5l7cqs5Ea7vf1Wm+d+B
+0xThZ0MNJ2I56SFY+6UMlgjc0VgtPl+jceWpiDKQFt0+Ld7AiXhjQZWezFKI
+Oqdam/aNEyksnpOYopaA5q8bDvcp+HqviZg6fS2Css6FjGAiF0LwsTzV350P
+lroaG/zZcSvKYP7u+bDw4fa1qxxcyGRlj0n7Sh4gL7bqXlzPhRTmGuS+2pcH
+jZcP/jHj50LkxQUEd4a9gj5eB2VJMS4kXWE1wf3sSwgKy0kX3cuFmGQYmbQx
+s0F0boJbWBLvX9rkPfswG1z6A/o2SePx8tpSwrqzYPL1g1DWIS6kzUUgr8Qh
+E4h6TV9aNLgQSleixM/HzyG7ctORhuNciF1sGOdV7eegK2+e9vEE3l81d7J7
+Kh1iBaneZXpcSAhi78DST4dt2JJAuin+3IQ9l7wxDaTD5e187HHrskaf6zyC
+ljnfJg9HLgRxyOYVLEsBT7cqBVdnvL9e3XsJyRQoMdVfZ3uRCxG9K4nw8zwE
+dVGnV9qXuZCa21oTqiP3waTq4cz2ULy9Q/4Lg8kE/P2a94scjs8XZffP90wA
+/eaPtY638OdFB2Nm+++CVhcjIf8OHj/IdaRiLA5UpkBWIxEfb3JF87VCNJTM
+n97qch9vX1JsYGV0BxRWLi5GJ+OW2Zc85hEFMjz3mzpT8fkqMfI/lEeCqMSI
+s+sLfLyXmrIqN8PhyYFlg7gsvH1fbLJoeRjsUOBXLHqJt1fvgtm5UNgK6sSl
+13i8kNJLF0JCgMsqIe1uCd5f4+5VgVsBEHE+61ZJGW7NnJeDqv5AdKm41FOO
+j6f18/WDOT9YukJTE6/Cn6/+Jlbe9oXJWJWusk//309ynBz3FbiUZFj9qwH3
+BlUl12VvGHvkkEVoxr21PFX6nxfQsmN99FtxOxfHZm65BHb5z896teF2hNSm
+o24wUFymcb8D91it4JCPK3TXUDYN/MTtVMYxv8UZTjfMzhF7cDdlbGEGOELH
+1/UD+37hFvVvmP1nDy29inmXf+PmDfoxsO8c6A7qJSUP4g75Ezdw3Ro+D5/z
+/0DFvWSqMzxsCTUzUbrrRnDXc97dI3Ua1BefykmP4U6dTrFimkIFW/E243Hc
+fEtHjNuNQYmrcdlnAjdhqllk+iSU8PbTUiZxd1aq7jmlC/IC01+qpnF35/nY
+z2hBgTBn8dAM7hJb/qEfGiAtJpLKOY97xO2N0d9jkCN1KFSGhVu+2tqtWAX2
+ymm7mi7iptwx2sU8DBlHrI19l/8/f8WFQX852KXurfR4FXfNmbNtHFLwRPPW
+zho2brx9zejm+3tASC+VnU7CjbAzzp0QgmTjNwxuDtwht/I/NvMCv3l9x0Gu
+/z+3u+DOxwYJNj3vT63HTUgjKHv9Ie9Yb77Hac0pIcm3xsmZ7zqirq75ZduL
+ZwxyOX+LxYM18w41DIyShxqrZ3+uubD9yB2MfMn3qO3wmlt6SFV08px4ef38
+mreWBM/QyOuD3yYJ8fzfEpQQTypZ8UjmobNrXhTJjaeQq4dEH7mtWcv/C/qb
+rJvwlBCw5vsO6RcHyDaM5G+P18wla/v9Fzny+R2P/jV3Fout/iTzGXP8+LPm
+KLjR94OcuhSmvrJmXd8DHzvJBRaBPLs3rI2HZaR3kLs3euXarXlD2Qevr2SH
+Dwy+y2uOuCee/oU87urqF7pmrUbN301kQr29TsZ//fVe3vlMjr08UFC0ZvkH
+4zP15G27rbfVrVmIPOpZR5b2P02nrnk8l+tuDblkX7vBzJqlfpm7VZPJPwxL
+2Df+342iPJ0fyGbyOuESaxYdQ1fLyAP9dWNH/rNXzccSsmsMYqa9ZrtSuedF
+5EBMdc+F/55vLvXOJ3PcL4u6vmaCrAwll5ygcXjy9n/P20Kis8k7/r6xSFlz
+22KR1wty5hMZNGfNCYW1d9PJ8vq5ku//6085/+MxuWJeIr7pP1+bJTwka2Vl
+zPasmbJHOyOR3Gq223ZszSGtL67EkS0JT+oX/nPcodhI8lC+kAwP71r/iCP3
+QsiXrB8kCa855OJ50nXyHBf/4oH/nvuF+HqQQ8riHdT/83rh+3bk9U48zQb/
+WUstyJB8f3PUIdv/TCmMkyXvQtkfefzntf+P/D8APcw4
+ "]], LineBox[CompressedData["
+1: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
+TSLrO4xwmMCnnffuilIg87OKQI0JDksv6S18z0EBHc3YX5nmOKwad9lvsK0H
+QoIuz3nfwmFD3HSigGkPkDrWMBcHHHaC7bLnvbM9ICaS/sLaEYfptI2eEtjf
+AxV/8McvOeOwwP6rBXZdZMDh8u33eeCw4cynbVtaZNC9Ype3zROHrU/ePYwX
+I0NCwm6WjYc47G/8udvmODIoq9xNHvRl5P/C/4j4D8Y+6iVMzQ5ixA8vGBfd
+1Q0zC+EG2q9wWAN6pISyOuGcmtKHc29wWMu3hK0x/06IiB79dyIOh2Wax7/w
+0+8EKbnzz/ne47DNa8e1V2ZI4OCyXD2cgsNULmi9UREnQd+4lYp/Lg47ejZd
+VNe/A1p6FY79bMdhXmFvJEfaWmCtLGehjcjoF0mOv/tftIDwR+nfM504TFd6
+nJuq1QIe9mImUhQcdvGEluLegGYQnOEJ/ziEw/znuh/E6jWCI9Piv5eLOCzp
+b/uP8poawIv8+OXMy4SJK8obuj8rBYXbMhePmTJhubx+tvqcycgxa7zm8E0G
+xr88kGGYgpIWP2rtt2DCsFe8zvzJqYg9gE93hw0TxpkorD198iuivGW6vuDI
+hK2JOR6bEMlBAQ3t1mVeTNir6UaHdL4i1CTj+cjoLRPGLJGYNX+4CuE95HAG
+8UzY5lJVi2hqFTpTPPVYO4EJ897uOZUmXo2SNK2CziUzYUwyQSkR0jXovpVW
+uMgXJixM582FUJk6JBAt+HamgAn7eiw70WJ7E7q1VPYzpJsJS5nM0EgMa0Me
+zZd+ZvQwYU/SfgZwlLehwPS23BYqE5azfpebtNaGUkyGfvANMGE7dgv9eurQ
+jvpK2XLSJ5iw531rfuLKHWjmTeT3hikmTObnCzcnlw6Eu8f/fWaaCaNtSP/H
+lNyBhI5IZp+ZZ8IeXj81doSFiMye6mbW0JkwR0rC5P5yInK07Pw2tcGEtU9X
+unbOEJGXouU3bhwemw07IEs5QEKxk/cyjAh4LOU3j12xOwmRrrz6MsaJx/g7
+np7KE+xEI8eEvnDuxGPfSEb/4tQ60QJT2mfZXXjshqdsdIlTJ9qbm5/uyYPH
+jOt/2Zf96kR6fJRUdiE8Vl6bqxer0YUsZ21TpQ7hsapsubMWDl3Ite7vJz1h
+PCYA/VfNQ7tQhM9WSqwYHuMQXMxgqu1CCddDUoqP4bG3yld1Uka7UIb0rpQ+
+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
+
+ "]]}},
+ AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948],
+ Axes->True,
+ AxesOrigin->{0, 0},
+ PlotRange->
+ NCache[{{0, Pi}, {-0.9622498142475497, 1.9999999999999978`}}, {{
+ 0, 3.141592653589793}, {-0.9622498142475497, 1.9999999999999978`}}],
+ PlotRangeClipping->True,
+ PlotRangePadding->{
+ Scaled[0.02],
+ Scaled[0.02]}]], "Input",
+ CellChangeTimes->{{3.422772330574004*^9, 3.422772330727126*^9}}],
+
+Cell[BoxData[
+ GraphicsBox[{{}, {},
+ {Hue[0.67, 0.6, 0.6], LineBox[CompressedData["
+1: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
+e7FfKHMfB+73Ur7409w49f8B/wNoQnmK
+ "]], LineBox[CompressedData["
+1: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
+veWaURMB/O5q+uQrW978fex/Q6z0GQ==
+ "]], LineBox[CompressedData["
+1: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
+28PZf/19s3+0Tgo/2uuzqog+j3jxhu8rxbDowWjuLi5iJFq21WgJjjyczprH
++88Bro9meLCQUWnDRn5i2v3weIsJZsjJb3lHBf65iKbP28UUFzCSsppzsJW9
+eScz/k2D37U5B3or5Xcwc4Wqje/9v3wy1OUX81cFc7Rpzr5vf4q2Me0cd53q
+mXMYj8Cin8wx6dzS8TkvE4wcaGUK3HwVLjr/nyvCrxR/Z6psjd90Ys7LTHc/
+/8Jk/pJ8cGHObkXhqU1MrZAYmuucNZ+sz/vMPMmKrH045/jPEm2fmL5P7lxs
+nbPFQvGLdUzBw7yfOXP+/WxiZy0zespLbWbOa+VQYg0zzdhtvsSCf24RNnn0
+gfl1of1Lizm3pSfzljEt81mCl+dsx++XX8Jk29g4e875t2mPSzGTVnr6wNM5
+R/zeKFbEDLj8Iy1zzlrXNg4WMoUlTIVL5vx1jLskn6ngYtjVMee6jpLnb5jZ
+8vW6v+ecoZeS95qp/vlQNvfCfw7JjG7LYhooH7glO+c26zsXM5g/Wkv6t865
+znbp81SmzV1koDnnjFmJmCSmW/cOqXP/b89zii+ByRuR4+c050GnQNenzJA9
+WwZvz1mwrVIsjik+kG58f86SN2RKHzLjHyniF3P2kKt5EcVU1n4plzfnuMLA
+9nDm23HZoMo5o31nL4UwNRKejn6bc5F96mN/5kcDiVP9/2+/jcnvwzShPSr9
+83+3zIh7MH+liirOXzTn8h9JTkw703vhK+ZMi5ZwcGCO8Qv9Xf9/m3jMt2Z6
+5ARZqv3fwox0Y6aA1fwPuv83N8+S/cyIJX6bTv3fRYIrZZmrMfeDi//3v/8b
+Ff4PZpTrQA==
+ "]], LineBox[CompressedData["
+1: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
+n5OcyP1s8aiITfUgIn7+2F1rPP5k7c+Z5lrAJubSO/w5kUvRTpL7ztZA4MrK
+6alATsRPIcmCdKgGtvJycvMFcyLMdTP5XFw1oCkreNkwnBPhs3hvstsDhXR3
+ZY3GGE5kMiCvaP+Bajg7cn2w6gknEsXQlLJ49wFaB5l7cqs5Ea7vf1Wm+d+B
+0xThZ0MNJ2I56SFY+6UMlgjc0VgtPl+jceWpiDKQFt0+Ld7AiXhjQZWezFKI
+Oqdam/aNEyksnpOYopaA5q8bDvcp+HqviZg6fS2Css6FjGAiF0LwsTzV350P
+lroaG/zZcSvKYP7u+bDw4fa1qxxcyGRlj0n7Sh4gL7bqXlzPhRTmGuS+2pcH
+jZcP/jHj50LkxQUEd4a9gj5eB2VJMS4kXWE1wf3sSwgKy0kX3cuFmGQYmbQx
+s0F0boJbWBLvX9rkPfswG1z6A/o2SePx8tpSwrqzYPL1g1DWIS6kzUUgr8Qh
+E4h6TV9aNLgQSleixM/HzyG7ctORhuNciF1sGOdV7eegK2+e9vEE3l81d7J7
+Kh1iBaneZXpcSAhi78DST4dt2JJAuin+3IQ9l7wxDaTD5e187HHrskaf6zyC
+ljnfJg9HLgRxyOYVLEsBT7cqBVdnvL9e3XsJyRQoMdVfZ3uRCxG9K4nw8zwE
+dVGnV9qXuZCa21oTqiP3waTq4cz2ULy9Q/4Lg8kE/P2a94scjs8XZffP90wA
+/eaPtY638OdFB2Nm+++CVhcjIf8OHj/IdaRiLA5UpkBWIxEfb3JF87VCNJTM
+n97qch9vX1JsYGV0BxRWLi5GJ+OW2Zc85hEFMjz3mzpT8fkqMfI/lEeCqMSI
+s+sLfLyXmrIqN8PhyYFlg7gsvH1fbLJoeRjsUOBXLHqJt1fvgtm5UNgK6sSl
+13i8kNJLF0JCgMsqIe1uCd5f4+5VgVsBEHE+61ZJGW7NnJeDqv5AdKm41FOO
+j6f18/WDOT9YukJTE6/Cn6/+Jlbe9oXJWJWusk//309ynBz3FbiUZFj9qwH3
+BlUl12VvGHvkkEVoxr21PFX6nxfQsmN99FtxOxfHZm65BHb5z896teF2hNSm
+o24wUFymcb8D91it4JCPK3TXUDYN/MTtVMYxv8UZTjfMzhF7cDdlbGEGOELH
+1/UD+37hFvVvmP1nDy29inmXf+PmDfoxsO8c6A7qJSUP4g75Ezdw3Ro+D5/z
+/0DFvWSqMzxsCTUzUbrrRnDXc97dI3Ua1BefykmP4U6dTrFimkIFW/E243Hc
+fEtHjNuNQYmrcdlnAjdhqllk+iSU8PbTUiZxd1aq7jmlC/IC01+qpnF35/nY
+z2hBgTBn8dAM7hJb/qEfGiAtJpLKOY97xO2N0d9jkCN1KFSGhVu+2tqtWAX2
+ymm7mi7iptwx2sU8DBlHrI19l/8/f8WFQX852KXurfR4FXfNmbNtHFLwRPPW
+zho2brx9zejm+3tASC+VnU7CjbAzzp0QgmTjNwxuDtwht/I/NvMCv3l9x0Gu
+/z+3u+DOxwYJNj3vT63HTUgjKHv9Ie9Yb77Hac0pIcm3xsmZ7zqirq75ZduL
+ZwxyOX+LxYM18w41DIyShxqrZ3+uubD9yB2MfMn3qO3wmlt6SFV08px4ef38
+mreWBM/QyOuD3yYJ8fzfEpQQTypZ8UjmobNrXhTJjaeQq4dEH7mtWcv/C/qb
+rJvwlBCw5vsO6RcHyDaM5G+P18wla/v9Fzny+R2P/jV3Fout/iTzGXP8+LPm
+KLjR94OcuhSmvrJmXd8DHzvJBRaBPLs3rI2HZaR3kLs3euXarXlD2Qevr2SH
+Dwy+y2uOuCee/oU87urqF7pmrUbN301kQr29TsZ//fVe3vlMjr08UFC0ZvkH
+4zP15G27rbfVrVmIPOpZR5b2P02nrnk8l+tuDblkX7vBzJqlfpm7VZPJPwxL
+2Df+342iPJ0fyGbyOuESaxYdQ1fLyAP9dWNH/rNXzccSsmsMYqa9ZrtSuedF
+5EBMdc+F/55vLvXOJ3PcL4u6vmaCrAwll5ygcXjy9n/P20Kis8k7/r6xSFlz
+22KR1wty5hMZNGfNCYW1d9PJ8vq5ku//6085/+MxuWJeIr7pP1+bJTwka2Vl
+zPasmbJHOyOR3Gq223ZszSGtL67EkS0JT+oX/nPcodhI8lC+kAwP71r/iCP3
+QsiXrB8kCa855OJ50nXyHBf/4oH/nvuF+HqQQ8riHdT/83rh+3bk9U48zQb/
+WUstyJB8f3PUIdv/TCmMkyXvQtkfefzntf+P/D8APcw4
+ "]], LineBox[CompressedData["
+1:eJwcV3k8lO/XHmMsidIiS1IJZQlJiug8CgkJLdbsIgr5RrJEQkgSKkpIQiUk
+yX4r+77OYMwY+57s21h+877zz3yuz3Pus1zXee7nnMPWLgZ2eBwOt40Fh/u/
+f2/JsG1fnj9BuP//iatMHykr8495zMC9sav3hs79OTP1L1PBD+Ew1vY79wiQ
+Lm5kbqbmzcCHT/Nt7YMIgYqGbQYPEK6ssu6eqwjc3y579pfFfwiXrbbwfVoG
+cldOX60lOyNcC051al0B/Mk7ZUWWbiHczFTDV02AWM9m/k1hc4TjfDl2+K4a
+WHpuptr/0EG4saXWz12XwJ+Z+7j96j7A6c315Y1cgSTlwwV9Z/QBd81iIUj7
+KgQW5/vxPLYEXGz155yFG5BP7ksutHMAXMWtqOJpE/DwIQzKiLoCzqTC11vR
+Ar68lWIlbvME3DJbx0lLW6j4XPbm6Lo34H6RtAU2bwEl/5q417Qf4DK1l9fK
+b0OI07nUF+NPAPdEQ0Kx2gX2/sf+L38gCHBBmjNSAfcg2avt9EDPU/AXZ3vl
+K/8fFIfeqpVvegb+KT8uCnR4gOZL2d3m1c8Bx3k1XfW3J5Bi10yelr0AfyS6
+SvvtBStXLy7d6X4J/uetQmQ2HsFum56nqP4VYB/zubqlAqHrFiZ1reY14Koe
+7ON1DYIkx08tYxVvwH9I8HducTBIubnw7y6Ng7J3vrTue6Gg8Zj5q232e8Dw
+sWnntV4AZ5DDldWMBOjbd2bY2ykSOkIa559/TgSMi+OmjsJLkK3RTjBtTYKk
+7xdjpLujoKSZZzSwLhksl8PPbL/6GpL0NRWbNT8CduSWsbjyGwhs93rGX/0R
+LE2tZx+Ix4JWJ00mszwFsE+JAf7cb6Gz97NnZ3Eq9L0efie5MwFm/6pwSGR9
+AVfO5Gf91h/BS4ynZc+Zr+Dqbt66gzkFCBZTrzbKGJhLX+nypxTY1/L2cGtb
+BlhWp2f1/vsEyjnLZzyXMiFSNP3Ag/h0UCvqOjmY8B1kbeIz1HQy4YVflPWJ
+kZ+gR4rbNWfzEzr2P1JPlcgDy+wKwZqGn8CXf/vYfpc84Ou+xLlPIQ+SZ7Bp
+wkoe9J2y5mTh+AW5Vv8edm3Lh67XR08k5OUD+YLOS7/jhZB/dxfXAaFiEGNn
+LWu8XwqyuWlTh/x/Q4toqVZBbincZ5WrU/rxGzwveBBTFkrB9VCVhMrIb2h4
+NDLhfR+B1DsdnTntP1DoNcjBo1QGweJhM1SecrCcLT9VrvgbUhJO2xV+qIBT
+uEP0fOPfwBHpv3yprQI4dvqUZT78DWqsB5++x1dCrpS89tuC31CXURnz1LoS
+2BxSLO8p/oGBFSOnYwerILM38NlBxXJou3/j3+fQanjyt0+Px7gc8NLXjt39
+WQ1G68r7tj8sB46PQ+MtfdXAJLCYtJRfDqUXKXfvKdTAtet2eY1nKiDkNSuJ
+TKkBer16v/eZStAqfYnz3lsHLeQPqfeMKuG+i6q5lmIdpIxvONl7VsL14mTh
+uJt1oMuWt2SQXwkG51lZv6XUQfJ5MU6JM1Xw6eL33Z5S9aBZwHq663Q1lJ6i
+jSwdagDhbwu+xw2roS0p65OucgPQkwYqAjyq4Q6h2XSHYQNkhpQaHGfk3etr
+pIrCGoDHyMM5QK4G5j5XThdONMC0tu3PTv0aqFgouijG1Ag1YLAuda8Gwme8
+5P7uawSfo9JhnVk1cCEMP/AUa4SBpeFPUsdrYfW5b37Ns0YonmifeqxTC3G2
+2hFj8Y3wuvf3yU6nWnBgcyg1+tYIl6re/378pRZsda1mRRoaQbjwGXtnbS2c
+/37c5hG5Eda/PbwiNV4LTvqqXEfGGiH71XUq6WgdnOnxEL7E1ARhoRdEpC7W
+QWHUqaM1nE1g43vC6fGtOnAnhr95ztsEyvcO5pCC6oAtFqcbe7gJ9tlxrUp+
+qgMm208SoxJNMGNEh8cVdbCSILnn4ckmqNMZDyYN1oFW2sScztkmSME6GyWZ
+62GqcrLQ6nwT+MpX7n0sXA8TCwtWeZpNcOPYD1OSaj2Ye0UPXdJtAlnBD8mS
+VvVw31BMff/VJuDgfjHu718PhGdjz8QNm2CI2VeWlFgPCUfpVf+ZNEHpsuMD
+SVQPMcouHKtmTfBm0qjUv7ce0l5ecc03bwJXmgYLaaMeRE994ftu0QRa7fI6
+kgcaYK0nTnyAgUWqhaP9GboG77nSrMXAm4XcZKJpAzSo8StP3GyCrszNQ5Le
+DUAMcUlHpk3wPXnK3v9tA9ReXjWoM2Lw95qcSSxogPCG1/7brjeBbVjNokR3
+A2To3vbx0WuCc4/ylP1XGmC3Ws8bYe0m4HNLeULkbYSoY+kSdLUmmLOLqpM4
+3QjpZ4aiWM41Qb2x/y7/G43gv8h8SlWBwd9lZyOieyNkPhj0/na8CR6pmiVK
+vGqErMjGrksiTWB0SmvEL5dxvjCgnEegCeTEzxwntjeCHAkKuXc2wTD33iK/
+3Yw8HpoMv1xqhFICHk880QTS2d0KvOONELvyT1NCvwnMDbKbahn9otNXT+p4
+0QS32MWv/SxqBLGOggMSWU1woL0i+u+XRsDVpNn6NTVByfLPEv24RsjJejIn
+ztUMbOfWSuL/awT5VpN9R2WaoTFtWabyZiPkz51QEtFvBqsn4XNzGo1Qdqrv
+sdCrZiip/BJ3k9H/aoa/Pu3/1QwutRXH3643QJVnRC1fdzP0SSXf6+lvgJGb
+CSGhO1ogY+5xs9PnBkifDhUIOdgChB3xQ4XPGuC2n3tGsGwLnFnJTtxxtwGm
+knRanhi0QE703VsVUg0wN7jG++h1C2ygIwN3k+oh9/7IZ5+0FujqCYoc8aoH
+d5a2s975LRDxUeCt3bV6WBH7bOFJboFO5y1dT0I9bN02THMTaoVcFRPNDaM6
+4Jz5oWCf2grltaf5uDpqoMk/scbuVyscP39JTDqxBl7semZiW9MKD9Wtjlje
+roHdJ60fWU20QpQtrWdtrRr4PbirTKXb4BzTgalje6pBbP3Odb28NtD6VwT/
+8VXCWLjRqG51G/BnvmiSIlbA5wNqDy93tcGWUpX69pcVIAX732uttcEnlWQJ
+FdYKOBlQO6R2rh1WZv86Jo/8AYxd7L5iVTvc8MXDun8ZmBYQsnlI7VBa8VT4
+hEIZeDgOTs4Ot4My+7eH/kQEGQ1JNl9YOqBhK69s9GMp8L7cf3W/egdY/tML
+KD9RDNP8u+Q2yjtg/UJJwtDeX/BOcv1f2W8idO2efhsgng5Lum1OmiWdkH6x
+6lYaRzoaeS362rOpE9hbY3jFCz8jYq9nWTqtE4xuP03Zuv0V5Tof5NmG74KZ
+kis7/6vLRP9F3Cmt1eiC8KiU0P+qctBMI+su7ZYuRvyeW+VBBWhC52ze5cFu
+0BOcDEy1LkfkmIg+34Vu6HBeCVSuK0e1lH6OTBYy5N+KDrp/ogKl3wmx2HGM
+DLFO6kLFmxXIPpzI3nyHDF6vzPerx1ShoXoXU70lMrBkc247lF6LqFopuKvb
+KIBFWO98Y9KM9ILKJuUEKPCAdJy6O7MZ/UEU0m5JCkS8YF2yxbWgVHmeb206
+FHh3YM/AtH4LchYKNjaIpMAt98+JIjMtaHPWPkeflwqx0f3yHbxtyFUq8P2J
+Y1TY/P7uVIlSGxq4lRSyS5EKRPlc1uM321BVT5d5qwkVQK6o5V1SG4qovLRd
+P4EKKidu/n55uB0JxUna6on2gv/Bdx9rODpQZPvFK7IKvUA8e8D4qWgHwu+w
+VeK+2Avh+nVGBdCBRgLiuVscekE6v4/s5taBMu9wlVzJ6IUwdxddodYOdChN
+PF2mpBeahkveG492oKh+9eidTb0QifZMba13II8bj243/+uFHqew76FijAbB
+/vFcOUkDqecnODzdiCjHazuTjBoNEhbXb84+ISKRn0endlynwXjhb5+mGCJi
+l7D80+RBA/0bJ7qyc4nIy9bnW+ZTGrge2e+XW05EUwmxsRGxNJg59bySr42I
+Wva0OusW0sD5+6oi7i8Rndf9ayxdTwPZFP+Vx6tElBuyTX0HhQaH8vIfWLGQ
+kFi5qOz0FA2mJA9xJnCTUOyG6v6mDRqkiIrtPL2fhFgEZZgN2fqAZfkETVKU
+hM4plqxU7ewDL8MvNG9pEsr+r3sw9VAfrMQm80kCCe07bJUZdKwPNGMkP+/U
+ICHvpjFPW9k+4HzybNhah4T6vF0vXDjTB+byXdYiBiSkIb7CJYz1Mb4HXIVX
+DUkog+TXhdPsY8wfu0JmTElodyDbR9qVPuhMLLi7ZkFCnide3C017IPcuIad
+92xIiNq778x7iz6Yy2bnvXaLhM6HJ+B97PuAZC4m+9GBhNIVxRpNXPqAcoWy
+3dyRhHaMfnuj+IBRD+ugeaATCd2POWXN58eox3yln+cOCZFVS6SWg/vAcm1A
+fzcDwz+1ZWJEHyQxBH/IsE+Jb/id+7oPMjZfbmkx/HFoXQuPTugDttdS9cGM
+eK7LPTfcUvvArUM3UYqRDzHF5rB+Zh9UGAlcVmbkq2QwOSmT1wdCr+s//2TU
+k7TllrejtA/8XYojYhn1sn5b8/9bybD/eat76AYJ3TEJ0G5o7INHT285vdUn
+oTY2jn1fiX2gEO0jUaBNQqd/vuwLpfaBxdlInKo6CcVb8391GO6DW/Hfe06c
+IyE89wf3i3/7wPb+/sxnCiTkUHIME1vsg4QpeWddhn5NjtkcLBt9UKAWvc+L
+oa883xniIKEfjC3on3YIklBcJUr8w9kPDrI2Bzl3k5DtoWZ5f8F+2NvDOqu6
+TkR1jTe2zEX64aGYjK3XDBHJePfWqkj1Q9cuueX9Q0S0RvxrTj/bD9fEZ/ve
+1hKR5RN3cfKFfgj4T+e+ZxERVcluzOdr98NY+u8klEFEL59xhnqY9kOD8sc7
+z54T0dKZmKvXbfqh7oabI7cvEZmN7BeSd+oH9olDpVtORHRMVfLHrFc/fPAz
+MBDSJKLSpUvUO2/7QajhT4j1agcSSWlN007uhw7+n26qQx0oVN/YTeJLP2yJ
+v1wKb+pA1zIc2MYK+gF/ZEvF6UMHmrR6esKmux9I8wc7rmAdSG/nznXV/n6o
+NjX2TBDrQHnFr6sOjffDePpxtpucHSiAN9W0d6UffjcKUSRJ7YivsSLImG8A
+Sk7l7zho047GKoMvDhwaAO1T9/Qdz7ej/FLNbU7iA6D8wufGLsZ9ZJTdEO6j
+NAA4g6F2d0obio3uiE40G4Cbl9i3Z2u3IT6ToQ/DSQPgI/RtLY+zFY0ZpNo4
+f2Y8b33BJj7QgvK1HUSXvw/Aw8pqFtZfLchIZSqdvXwAOp/k3WSxaEGxhxay
+JIcHGHO8wsf7es2Ib5S59J74IAglqZ0QV21AY7RKv7UTg9BFeagVSa5H+V1P
+VZ8oDQLBrn3Pkls9MqrbXhmjPQjKuBSV2qQ6FPttT8Ovu4MgTNV/3zdTg/ju
+HyFvfB8ER+kc8WC7SsTPdGEpVGkI4i/zhYy7FKF9YZvhj88PwQA14PqMXyHa
+vafwyEOtIaiTjns4F1GAOEVP6DuYDEH+26/1TF9+oU3NgxkaXkNgkCWUu9Hx
+Aw1F0q2YC4dgaOfI4AH2dJR5KLfRR3EYWiSTtglLRsKXzy6291WHIVZLMSda
+KQbS5CTpTpeGAffM+DPSioUkteRjpsbD4C+XM+eokATRDpFPFB8OQ+7FhwZu
+JungmX1HcSl/GNhflcn+1c2F85joJ5czI/BsIGrrheQfxl6uLggYA4crnOZM
++wOlanbROzRHoDiX9OqEcDkoXfr0+JvhCGxftwhw5K2AEwai5pMeI5DP1h56
+ZqMSDtmK8tr/HAE/jjw2+x+1YH5LPUKhZATwX+6oTTL2hngHOxbWyhGgmB5y
+G3pXB7x3P82ndIzAwlbR6LGAetjhIdoyMD8CBwr0uz5cbISNp6Kh5nKj8KpV
+p67RuAWUwtRx0kqjsK++dZUe0QKe4XYPNlRH4cMxNF9f3gILkZ/s4vVHodDb
+2lxbqhWm4kTPk11HIaXzqkziSiuQv4rSr2eNguwezXumvu3Al6nuJvprFBYe
+CreufmXMPdl24wulo7BtetDpCLkd2nI/dUY3jUKFTQD7nlMdUFsimtv6dxSc
+H9/0guEOyG8WvXtZagwW2SWoP46TwPKAf0+V/BiYZk3WfzckAbsT+RKmMgaG
+/9S6djwmgTHrC7GTumMwQ5AM6WslwZryCo3PdQy0X7syFzl1QnKYgW6U5xgY
+7XLyDYvsBK2ujOLtj8fgyZP0HZm5nfDuP6u4zZdjID3kpD+11gnKX+oMhn6M
+wQkNJ1dhvy4YWhb5fbN4DORGR+JcEhhzkbqfTGfFGEh0iuxjK+kCat9Jzjri
+GIy2iYZyr3RBsHSE14XeMVBjS9L139sN0j5jY8UjY3BY1YKgINsNj3jfV2Yt
+j0FOVaWAi103iNktnxTHjUP0eXePmUfd0JSjn5zMPg6rx5/n/3jTDQd1Wf1e
+8Y/DT7qRyHpVN5QFupzxPjsOZSsvtL0FyeDQVpu6cGEcZDX5bOdkyMB9SITH
+WWccgi1CrVPOk8GqqGvW8uY4mHv8xOXZkYFj20lLst04YJXyR/d6kCHnxvOm
+q87jsCQnr/oliAz4OdWvGn7jjP26NtE7mQxfIJ6/7Ok41CtmvvuZRQaD50tP
+FSPHwcOoZFWkmAxrZL2lnNhxIIhvidRWk+Hjsa+2Uh8Y+TV9i/jQRgYdD5b2
+T5/HgdvgbOY3ChkWyi1UD+aMQ4WZIdPfYTLE7yrMii0cB4OKhe0W02RQs9gr
+tLt8HKr6dY2YGXPhVIZz+LP6cdD4Ne3RvU6GmLWaNULHOIwMZG324XtAWfPI
+7UeUcUgyrwznZ++B4Ve+nctD46DGVVoRwNkDEYOd6vf+joPw3lA9Qe4eUDgh
+lzuxOA7GTF59w7t7oPdRuLDt5jg8KdWRpO3tgeCGkUgq6wRkXxGfZtvXA9IC
+qls3dk6Am3nalAUDk+zf3W3hnYDuyNaZEZ4eePRzsefSoQnQyzhWH884L8as
+p1V+bAJ2BKYaPGb4b9L7kq98YgIO/iizjdnZAx4JhKN5ihNAPOw0TNzeA0JT
+5q9kzk/AkxsCSJ2tB6oVC5g/a02A7cvKgUGmHojn5br40mACQrTuch9m1O+6
+aBn20GQCIl4rJ6YtkkG9PbfRynoCfPaYRj1g8CfwnX2XluMEFPoPzUaOkOFf
+hNk1ObcJ8Hw6XjdPJUPFnew3Al4TMGjhKpPUQQbnY0ZCk6ETgBOYpBMRGS6w
+Zli1v5wAZ76iJItcMvANbaUUxU2Av3ul1sl0MvxOTJMM/zwB3/R6zAuek+G1
+L935/vcJsCQ9OH7HjwyOpldyzAomwArvWnfblQx7eZfPHK+dgLL+wy4aemQY
+X9Dy4WmdAI6dPMxiQIbStgS00TUB8fMdvvrHGf0coaHRNDYBlOIYj+dsZFC5
+8zY0b2YCdC2N0hPmu2G31nRDwsoERCrdPbbR2w1FLK+vurBPQjLT2e8ff3RD
+5OD4a0PuSeDYvfvVVHw32P5WYRQxCbNP3XwDg7phh++wJfexSbj2rvfix2vd
+YL0g7/z94iQEBDlofp3ogtNtId/jrkxC1N/zP7yauoAzm7Lw2HASsovxD99/
+74I8p0BvA/tJUK7cFk9z74Jtg+0h88GToCksT3dY6oTesqMNPRGTEJocSBru
+6IScBO+dFa8nQSh95VVRTieYmRx5HZM6CQ5fb9Hu3+mE7Fa3j6eqJkFhR7vb
+qS4SBGVVjRxomoR3wWSRyO8kMHkuIMFKmoTSMRUXrTASEC79ySYNT4Jrdb9v
+vyIJDMt2lT5gmQITiXiD3JdE2MzM7ipQmwIij011q0gHqHSd26NzeQos7Sdk
+ns20gw9T4+Xe61PgYNw48a6oHehXx//g7aegVaXrTu0Vxt66cvibdugUDJrW
+Ovu7tsHc+ejH1MYpuLPVnNgU0wIjJHcJJsO/oDkTGTs/UQOiOIJdtMVfcLyA
+Oz1iXgO24lGJog5/Qf3QR+311moY9M7cq/XwL7gEqjV//FkFfYdGN6Pe/QV7
+MdFvRv9VANnRqF2k7y/srPvAezsWQeOmko/m7WkYixEf1b2SDrofjr/JuTcN
+Pnn+Trq0T9B04VCOoNc04EKZiPLOH6EphGVsJmwa+sy+1TPtfg8tu1uuxmVM
+Q/ZO+ZWQtgDoELOTnPg3DTXpRNrffQmIovuC/MzjHwSF1agxyxUhs9nHi4uP
+/gEf/riE2u1iRIm+z2359B+0ZUXLDiSWIGqXsYZ87D/YMfVl5ClLGeq1Fsmh
+FPyDx4atWXvv/EEDHgWhxzf+QcDaMbto4Wrk3nwvflR1BkzT59zDOVpQ/Zj9
+3g71GXggtdmgoNWChPHm4WWXZsDTpKThUWgLapbX8onTn4HFmS/TfaytSPyt
+sJm21Qy8qSiyKF1vRVTb9v1Z/jNg0mkX69Tejk4+qo1+FzgDmVwaAccY82PY
+G7Q9JGQGuBx+jDiodaDTdV/plpEzABnry3d/dKCXMoE9u5NmYHR1kWz+jIg0
+1uTfeaAZ2P3e1TH6cCd6v0dyj035DLQ9tTtK0u9E81KHn12pngGZzfsXgh53
+og8WXN7Hmhn5PiBePkLrRPSKYRNy7wyw3WX9Tym6C+n39rRVDczARrkNqai0
+C6Uvt2r9GJmBQ/HJtxLHu9B1iVKl8OkZiDjgBSEq3SjrxWuBc5sz4KMosKeM
+2o1YPodHSeBnYUztOF6OQEZmfwI4eFlnoe3Rl6l1cTLatui89o9rFooNeJ3i
+/iMjG5OL5A8HZqHanIW5ZZOMCv5TMYg4PAslISspUwd7EPfzk3VeorNgMGgj
+bIL1oBJ0sPDq8VlwLD6xcMSvB/GKrsSxqMzCFQORduOFHnTE9hnXRdVZ4FVz
+lJfdTUEyH4Ueh6jPQu7ITxVZGQrSOKzusF13FrB2AY3PtyhI37KrR8dgFkT+
+BVw79JiCbiY6XYm4MQt/vyeKl7ylIPcDUQq7LGYhne/jC9t6CnpsJvrFwGYW
+lGaO2N0doKDn7/IPxNjPQtmj92GxKxSUwk8j8LrOglHV/jgDYSrKMnLzNLo/
+C+/f4DZop6io6A3LVJznLAhfzEgN16Sidh6pdsHHs1BwppRT1YmKaNeQhnnQ
+LOygiHtf9KaiyWiDwsTQWThx879oxzAqWm4bPt7/fBYqVjnKPsdSEX73ww/C
+UbOg2GTjRkilIi59Th7b17NwTnZV2CuHivgjE0M+vZ2FRy1X9TlKqUi0WW59
+JGEWSj/uCMytoaITO6pcjn2cBcnoHk3PNipSuWw8eDttFrznn8pf76GiS+FT
+N75+nYWFP7hBrUEqul7vVzeVNQv4zBvLRhNUZMmx55x0LiMe+fd+vxkqcrqU
++t0lfxZ6HnxiKlmkogchiqLfi2dBmT/aavcaFT2pboidK5uF8JbL9EcbVPSC
+1ZJTvnIWru9pfIXH9aJ36vN+7rWz0GcDW/FMvSgtMHg+r3EW9Ms4uXTxvehH
+Ob/9SivDvrPrHQ8Dl+K/kRVJs2COD3oxzzhfq4rpepNn4QKLXPvoJhUR/dt/
+F/cy4kerGs/Rqagf3Tq1OTALMnGG+/esUNHfzdV0GJ0FgcumAlrzVLSq8lzw
+8SSDX7yn+Zu/VMTieyjyz79ZcK48sLw2QkW7in8wExZmITmPiX6fRkWCdI0H
+6iuzwCknFMLSSUVHlcgTwesMPvJyyjMaqejkw7vmNbg5CIy6QHYspyLt5Wh1
+7W1zUMNf5iyVQUWGCkcLwrnmoNSI1VE2kYps3AulmnbNwQ4SXUnnJRV5zfft
+0ReYg4zXrukNblQUJHf/aZTQHLRxXVw/YU1FL++x0duF5yB814OYbD0q+vzv
++MANyTlg02HRo0tQ0U/p39djZebArMzdtmYfFZXdvVbbfXIOAnTME7OZqKhz
+0ivbTHkODgj+KOjooCDWsepH1pfnQGGQ38HHlYLE/3Wameoz7GOmirYbUpD2
+0qjStetzkKPtzNelTEEvCOzL6jfnYEE297YEKwXxHtZ0Eb87BxzXDnDUvOhB
+iseMLgvfm4P4gXwBA9ceZCrjILnfncHHUVyhkF4PSlQJGeX0nQNBq9P1AVw9
+6KhJjcVM+Bzs5hFzeO5HRpesulTGI+dA1tF69bwJGTk5jO0fiJmDJDOtKVV5
+MsryYO9qj5+DK/IKvw+OdKPT0Zp6vzLmwPrLg0oP1W50saEGe9QwB4ffOIBf
+Zye63d4l9KBlDrQ0Zuo10jrRM/LYukvHHHRZavHf9uhEzWPsBVaUOfilsjL/
+Z3cnMmS5dEJ9ag52Osq9+neBhOzP1R7m5JyH1vFLtiahHSgkuxb/Vnue8R0l
+s//+0oIsqB6U0SvzYMcxLMFt04JOc4jknbo2D6Ytzj+IAi1o2ObR7VazeZCS
+jv0Rt6sZqfKebGF3noequU3V6yUNiO4b//5B5DxjbvKVvjFWjVy0Xc5cJ87D
+b2Fb2zmzImQ4steZ22IBjAMr+QfDsqD5ysJpLZsFUGUyfCfJ/x0uFrQzBdov
+wCEW5RmfOzmgEB71atllAaR7Z84U7/oJPHLcJb3+C3BAg/74+fVC6PDdzvkt
+eQGG8Ll7K83+gD4P/sulkQXYJtqdo3ejAWof9f/3ZGIBJO6LO3X+awDVsTKV
+kukF2Cd9OD4spBFOFPm1yi4vQINQ3S+bX03AbbWxwsu+CIjdNU8mqAWaM1Yu
+jogvAl2vcHdFWRvoqP0bDri7COTWWwaa9STocdcWuH9vEYRGlYfi8Z1wOy1N
+1859EdbCbcgmip0QxGH566LvInixbOzi+tQJJS0tIZzPF+G1M5uNMGNe08Yf
+L9mIXIQUT1J2XFoXdJ8MnZ2OWYSg4il2l+4uWHqtatIavwjnMhofSp/tBpmb
+OZKvMxZBMiizuGepG0oidlg+zV6EjICE90IiZNAuc4zxzF0Ek9RklZ+M+db+
+yJENk+JFkPuTN96VRoak8eimgw2LUIpuKnVf7oFdHu73Pk8uQouii3n1Awok
+prV+evtvEYyCJA1QHAWOdx8nP5tfBPn0sP7VQgpcUh4570xfhLrl6/In6RQI
+wBvuPbl9CcovWN9JcKPCLvkfmiI7l6DVLIsSFUGFRLudvjx7lmBo64t0+Wcq
+FNVUDy8LLAGboIRPB5UK8xFnfhVLLMHuwVlcqnIvPC6LmfwmvQRebucS7Ax6
+YefczMFEuSUoln+YaWrfC5LXP4c8VmL4+zLYMRbRCwXBLCVu55ZA4TdH86MP
+vXAx32rW5vwS3KfsI1z60Qu2+wVMNLSWoCqSRdizoxfmdTwiTusugaoBQYAy
+yIj3qO3PMYMlkLt81MltjhEvW3qZ/8YSfFCP+aKEo8H7/jDJ7SZL8O7FiJs8
+Fw0k94xarN9kPN84YWvBT4MCtQsxf62W4NpnFpEiERpc9Eis6bVbApXXzjcv
+ytCAmEZfb769BJnSa2XMijTg31qQ2ue8BGT+VErqeRqY3Zg2M3NbgvmxP2vX
+tGmQ+G00PNljCTTNuBq4rtJgkNBfPOa1BNsfjLG3GtNAzIw8Je23BLSdlvcS
+LGhw+0e7oPuTJeA+ItnobkuDbxyNOkVPl+D5yLfJGw40mLGq8mEKX4J7ifSP
+qk40OFmAMi5GLsExxa6OU3dp8IC7gPI8ZgkICQW2J51pUGifw9kRuwRqrTWq
+Sgy8UfpVWeD9EgTWDVhpMexV9326Y/lhCR7tjvtjw/AXeDchPvXTEkgflrsd
+zIhXXfGmYerzEpz1/Wydw8hnu+DLdbnMJUiOzyofZeSr+1+Y1MOcJWgK/pwu
+ZkKDl3VPzFDeErSczj7lwqiXeNg3nKWIkU/li9e/GXzwPfQo1kYMfKFq88AF
+GuMecpl6Wb4EM3cCPgcy+Ew8eluwq3oJ9nIldy9K00CUZOpj28Kof3CAvrKP
+wc/x6xlfOpZghwr/22fbaJARqEuZ6VqCfS5dPBL0Xjh5UlXZt38JuP6TNwjv
+6QWPMKU75cNLsOCDW9erY/RX/8n4bRNLYLeacf1Ifi9gkWLrr+aWoGEx4tx8
+ZC88GT0oRVlaghMOSfOz3r1QfY7fTJjO4OeuagruVi9c/ru9OJN5Ge7JFbzW
+O90LL9VYphbYlsH6ZrhStFAvdLzb3H+WcxmUL1DfjxF6wVRr1rt67zK0DPTk
+NzVRIeHDxFcufoZ9PJ3LKocK/SuDPVcPLEO7j+vNba+o4JBGOtsnugwNdwUe
+JBpSwZ1QTF9RWAb5ExZb9FYKFJj+lISzyyB1I/imUSYF1nMyTYNgGbxmR0Pb
+QinwxOpD0S7NZeAzsUci5ygQWRrsLWG8DLZKgupW8T3w1VOfbuq9DI4Klck3
+ZMnAElv9ythvGaiSn33v4slg/ktF1vDJMhQ3tGq3tnfDriVxO4Nny5Bf1F4S
+eL8bPP/DN2u+W4a3D7wnSr91gbrzj+RTRcvAuX35XhauExKfi6ucRMsQ0KHR
+LV9DgpWMxE7Z8mUg5OLUDrwgwdfJZ5xS9cuAS1lWO7CfBLtv23oI9yyD5k2W
+OhYpItBseLR20pfhxsabySG5dlB88myIc2sZSiPq5kxm2yAqmcmPg3kFLMeU
+jXSz2kC9/+8Plu0rwGnabZwr3gYZ5lUH1gVW4I5cb2kWXys8NH4wO6a0AtmH
+ui1Z/zTC3ivdsX+8ViD+R3b3Lf0K2Pn18ZGMRyuQ86tEjS+/HLaxSWS+ClgB
+ZoovRUOonPG+eJU7hK2ABmU2UHL8N4xIC07veLsCGTwnxFjnSyF/h8UF04IV
+0C55NTa98yeYNQ39nV9egfNese+wk85gKPHck0pfgVv/iq32PbyG9INPMVdv
+MfIT4Hm67cZDpH4umO8t2ypQinJ/VLhGIunMoxcw3lXYnjW09UIvGeEiHGPD
+FVaB/Od56ZrcD5Ryeea8qPsqnDvWF3j6Tjm62nyq1uYhw16Uo6lmdwVi1ve+
+kuy7CotSUaYl+RXI6hqr2cHgVfjv6XmuYnwVOmgq6M7/ZhX0BltdnkTUoHcO
+mmlcBavQ8DV2Ydy/EWlPPD+uU7IK2eqLSWb7m9CaU/uPsN+rUNb789pQbhMy
+djEvY6tbhZlfKuKHhpsRr8f9bqaeVXBmcr44JNiKop4kbV9aX4Wv07fdlw3b
+kSrLyEt5pjVQatjSq41vR7PBknz/sawB3+Z3eXx/O7oSlicyw7UGWIZ+S5J9
+B+J62aAyIbQGrC6vwo3uElFowopLL7YGoTl/TdeNOpHioXNLguprcOeNxRH9
+6E409uGJj+mlNeiwyJCbbuhEFz/tCO3SXwPrWTeFNZUuxJIhktxmvQY3HMs8
+JHi7kX+BXkdV4BpkPfJ7FphCRurMeyqLQ9ag4prK7vBmMtp+mfgzJ3wNRP1C
+u6mrZPSmz/hNQswa2H0aLzPV6UGZbDYmHilr8PfKGYmPYz3oP31R7Tvpa7Be
+VFjXy0VBiu9Gz1pnrMEboQpTMzkKqpS+c0A3dw1qW+Kf8j+kIMp19z7RijVY
+7dX8HrBBQR8ST7fur1mDqpfyN3MFqch+fPX3roY1eH34+Oyhs1Q07/Po40b7
+GhB5F7LT3KmooAqLme9cAyemWeMyxjzux80cNN6zBj50q2Hub1TEkfL0FnFw
+Da5NCXTf6Kei5r+XDOtH1+DYVtq4FmPfeXWaU/P35Bp0Gisfv7+7Fx2ujxT/
+Ns/QZ3Gq2wbrRWfm4qYCmenA+r2/PS2qF22cNaN6sdHhC57J6tSnXlQeJNTk
+up0O1EuStfN5vegK/8cssz10qCiYtGfq6kU8NnZJBrx0iCw7UH9ltBf1ZBx9
+qbmfDrHdb6wbF3vRLSzDTf4IHcpfXKi8xk1DkmHONhJH6TAzPT9+U5CGZttl
+rx2SpEMfx/RizFEa+nVgXm2fDB1s721LWT1BQ772P09xnqRDxtGK3GdnaejC
+9wdi+NN0UDupNq2lRkPb6Iq8K0p0yKcbCZ7WoaFmtXW26XN0cAv04da7SkMx
+EaUrg+fpcMiv48MrYxoy7vIf79agg4nCyW9sFjR0UPgCuVmLDpl6fDypNjQ0
+7MRSX6lLhzmn779d7Wno68/qoiIDOkxHkpPsHWno3lZoxvcbdNDyE0oNu0ND
+py/pvE8zoUN3a15d910a2ojaEfHenA476M+4rjvT0B9Ky6NoazoM8Z/6b53x
+/KlYtEvoLTqspS6ztDDOX3a9bunnSIfda1XEZob/PYW8+u7OdBhIu7BCZ8Tv
+ZiarOrnR4XR+Ycg1WxpKvBwvZ+VBh7e5IundjPzt3pgfMfSig+ILEd9nJgx+
++w/tvfyIDnesWeUdr9HQjMQg4UIAw569dNP9Mg05vT0/+zyYDkq+dambDP6G
+tyVTu8LoEJ+Rvz+Swa/lQ6a6Iy/o0KYe80OCwX/PmGWeczSDn1NSDU2iNHTD
+qCy54A0diox31vvw01Br9cEXhHg6VM2HHDjFSUPVqb32b1PoIOTPHFc13YvO
+7zt3bTidUU+gaHlSby8qCXqPyX6jg7M+74WnjYx92taMv+onHT48W33rnd6L
+pDuKWHYV0kH+qOr3sJhe9PnC/jnTUjpYCa3Hpfv1okRhct1sFR0Imv05e672
+IoEoxV/K9XQQ1p66aX22F71iivv4tJlxPuZg6x/hXvSsz9DnQBcdFlz2GRVP
+U9GDBOLxS+MMfczY/b94U9Ec1ymBmL90IGm/bk40o6K7vjGstFk6nAKD05nK
+jH3Y7Crt/hodjBxmHwusUdAVgdbIpO3rECJWt3TFkYLqQmV9J3euw2XxiWop
+NQpSX31xW2HvOkjgLZolD1DQ2S7d8w2C67AQFvrqVQNjv3zdML98fB2mpSq3
+qxzuQZu7am5c0VuHLzelmAQ+dqOHj49eeHttHRZVW4PLXLrR/EywzLDROpTs
+4Y5LOtuNxpvV2b2t1kGnW4Z/b2sXIj4vL0h1W4deq8/tK3Od6Ns2JLgZsw6Y
+W2aL7l4Sqv2ptyoftw7Pn6aoPCMR0ZDVANHp/TokRYRWicQS0f5Clhfdn9Zh
+fZdGjwc/4/511GH6mbcOtwPeDDTu7UC36ruHnbrWQV1ZpZ5zphUdfL6Q2b1/
+AwRnmVyTX9ShSG4J1Z/JGzAu52C4tZqGfgeeCfmYugEmtvW8f/w+ofkVjeaX
+XzbAmBw0L8LyERn229x0ztmAlashR/cLxaODOe8fHv2zweATXzoX6I++Xd2V
+E9e/AcUVvmqltolQ/3pF+NGhTVDgEdw2al0EGxxsjndENkFjIVNm7VUxyPjx
+fDc5tglPz/OaK9SUQLS9HJyW3YQbLcdZWHjKwOTMHdMZ2IT8fcKth+79gfFu
+WrS1xSZY0gx5d+2sBrYD1YSLCZtQgi45P6xuhuk8t4thyZsgvqox+1WyBYh6
+QmGNqZuwlefZy/NfC3wMdN95LWsTlJII5/RxrQBTRwSsyjah+vQoTnJvG3gW
++ct4D2wCnaP4/oeDHWBxXcqtdGQTtE+UHFEz74CL/zpzmSY34Ra3nolqfAfw
+HJFRCpnfhFxzJYLaPiJ8D6OqvSJsgV9WNesZPAnGjZVMssS2wKyumcc0vxNa
+5ofj5yS2QGioCyNOdsKv5y9pp2S2AN97Zv8LoS4I+j1mW3x6CwS37VkuetwF
+h8XfuNRqbkHq2oJh27luYC8/n8N5eQswSh7t8J1u+Gc2vXBFfwv8o0ymPsUy
+9tFIdS+S8RYspAd5avzrBuOV+cBBxy0w37t/W3UUGbCoxGoxly24r+5zOraA
+DEeltDkc/9uCQtNM8xgaGRYtkl/MeG+B8laQ3jbxHnhZrfd2I3wLztyi6dZ+
+7wFPq3UK9nILxP0CPxBbe8CCnnYw8NUW7Is7uItltgeOy2ylcCRswbMdvZRa
+KQrUvf6WxZu1BXY2n6o7GPts9QrRbPePLbi+w70NvlOg0mRzG9evLXDOZOcb
+rqYAErpii0eM+ks2VSlzFCjxf7Br488W0EJA8jgbFQoHEkuXq7ZAooLVOE+A
+Cj9TZ/j+Nm3B1Cm2Ghegwg92/qrRti3I1xhVTNSjQraj6n8DpC24wZykz2JF
+ha/SUY2dvVugxPMf930/KqRFFnq1DWwBt5L6Xp/nVPg0N3C0cWQLgpetHxS8
+ZezPeScD/kxvQdj3av12xvz/ns9MpmSOwacWp0FWCRXeeQVSfi1tQU5VXDmq
+psIbSkZoztoWZBY2ehJaqfDqHFHh2+YWcN2MvuTbTQWtls3Zq0w4TILVdo9E
+PxU0maI19ZlxWM3TiwUcY1TQkDuaqMuCw/Rvdhw5OM3ANkWL2mw47HmujKr9
+PBXUYq7oXNqGw7ivcLEMLlPhfOVgssZ2HHZWOcshis7ASw9WL3DhsGynYUf3
+TSpgRzn1VHfisGQ+Lu5wXC+cM0pKPbcLh2VxcVuTmBg4VH7j7B4c5vzbxvUa
+vheUC2uuKvLgsA5tdj1WBlaaNPuiwIvDQP7p/inGeSXBWZw8Pw67zzc3x7JF
+hTOXgwxP7MdhblL99KvrVFB4xJ8pfQCHqUbfsyKtMHDWN4LUQRyWF3nh2vMF
+Ksj3qZqKH8ZhejGeHA//UUFuF+m72BEcdurAdxQ3zsDnHdlFRBn+H3D8/DdA
+Bdn/Ns0PH8VhDw0ET3j3UEE6JeqnkDgOm5Fd8lNuZ2CiGKegJA4TyRGcP1lH
+BSnWImv+4zhsJDe436qMChKnrxTsk8Fhs1ffplX9ZGCHwZ17T+Awu2LxNOsv
+VDgW9+DWrpM4rJ3qclEhgQpi9MQ9nKcZfE7hhYOfUEFESt5xmyIOe/vhuzqz
+OwPfrCljPYvD4pbbKAV2VDiEZu4yAQ6Lqtx0I6ox8ExgxSaGw16u8QefPUkF
+ocP8+9fP47BC9zJ56iEqCD5RrVnSYMRX6qsirlJAIJcotKDJiD/7bOz4MAX4
+hm+7z2rhsKvNB4Qrmimw72KU8JQuDnMti4z6lkwB7u2DPv03GP4WjvuHAAUs
+TSLrO4xwmMCnnffuilIg87OKQI0JDksv6S18z0EBHc3YX5nmOKwad9lvsK0H
+QoIuz3nfwmFD3HSigGkPkDrWMBcHHHaC7bLnvbM9ICaS/sLaEYfptI2eEtjf
+AxV/8McvOeOwwP6rBXZdZMDh8u33eeCw4cynbVtaZNC9Ype3zROHrU/ePYwX
+I0NCwm6WjYc47G/8udvmODIoq9xNHvRl5P/C/4j4D8Y+6iVMzQ5ixA8vGBfd
+1Q0zC+EG2q9wWAN6pISyOuGcmtKHc29wWMu3hK0x/06IiB79dyIOh2Wax7/w
+0+8EKbnzz/ne47DNa8e1V2ZI4OCyXD2cgsNULmi9UREnQd+4lYp/Lg47ejZd
+VNe/A1p6FY79bMdhXmFvJEfaWmCtLGehjcjoF0mOv/tftIDwR+nfM504TFd6
+nJuq1QIe9mImUhQcdvGEluLegGYQnOEJ/ziEw/znuh/E6jWCI9Piv5eLOCzp
+b/uP8poawIv8+OXMy4SJK8obuj8rBYXbMhePmTJhubx+tvqcycgxa7zm8E0G
+xr88kGGYgpIWP2rtt2DCsFe8zvzJqYg9gE93hw0TxpkorD198iuivGW6vuDI
+hK2JOR6bEMlBAQ3t1mVeTNir6UaHdL4i1CTj+cjoLRPGLJGYNX+4CuE95HAG
+8UzY5lJVi2hqFTpTPPVYO4EJ897uOZUmXo2SNK2CziUzYUwyQSkR0jXovpVW
+uMgXJixM582FUJk6JBAt+HamgAn7eiw70WJ7E7q1VPYzpJsJS5nM0EgMa0Me
+zZd+ZvQwYU/SfgZwlLehwPS23BYqE5azfpebtNaGUkyGfvANMGE7dgv9eurQ
+jvpK2XLSJ5iw531rfuLKHWjmTeT3hikmTObnCzcnlw6Eu8f/fWaaCaNtSP/H
+lNyBhI5IZp+ZZ8IeXj81doSFiMye6mbW0JkwR0rC5P5yInK07Pw2tcGEtU9X
+unbOEJGXouU3bhwemw07IEs5QEKxk/cyjAh4LOU3j12xOwmRrrz6MsaJx/g7
+np7KE+xEI8eEvnDuxGPfSEb/4tQ60QJT2mfZXXjshqdsdIlTJ9qbm5/uyYPH
+jOt/2Zf96kR6fJRUdiE8Vl6bqxer0YUsZ21TpQ7hsapsubMWDl3Ite7vJz1h
+PCYA/VfNQ7tQhM9WSqwYHuMQXMxgqu1CCddDUoqP4bG3yld1Uka7UIb0rpQ+
+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
+
+ "]]}},
+ AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948],
+ Axes->True,
+ AxesOrigin->{0, 0},
+ PlotRange->
+ NCache[{{0, Pi}, {-0.9622498142475497, 1.9999999999999978`}}, {{
+ 0, 3.141592653589793}, {-0.9622498142475497, 1.9999999999999978`}}],
+ PlotRangeClipping->True,
+ PlotRangePadding->{
+ Scaled[0.02],
+ Scaled[0.02]}]], "Output",
+ CellChangeTimes->{3.4439305159457397`*^9}]
+}, Open ]],
+
+Cell["verify", "Text",
+ CellChangeTimes->{{3.404597865157942*^9, 3.4045978660273933`*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"D", "[",
+ RowBox[{"intlgnd", ",", "theta"}], "]"}], " ", "\[Equal]", " ",
+ RowBox[{
+ RowBox[{"Sin", "[", "theta", "]"}], " ",
+ RowBox[{"LegendreP", "[",
+ RowBox[{"n", ",",
+ RowBox[{"Cos", "[", "theta", "]"}]}], "]"}]}]}], "//", " ",
+ "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.404597499374131*^9, 3.40459751691254*^9}, {
+ 3.40459778403341*^9, 3.404597786695565*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"n", " ",
+ RowBox[{"Cot", "[", "theta", "]"}], " ",
+ RowBox[{"LegendreP", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "1"}], "+", "n"}], ",",
+ RowBox[{"Cos", "[", "theta", "]"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"LegendreP", "[",
+ RowBox[{"n", ",",
+ RowBox[{"Cos", "[", "theta", "]"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "n"}], " ",
+ RowBox[{"Cos", "[",
+ RowBox[{"2", " ", "theta"}], "]"}], " ",
+ RowBox[{"Csc", "[", "theta", "]"}]}], "+",
+ RowBox[{"Sin", "[", "theta", "]"}]}], ")"}]}]}], "\[Equal]",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"2", "+", "n"}], ")"}], " ",
+ RowBox[{"Csc", "[", "theta", "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"Cos", "[", "theta", "]"}], " ",
+ RowBox[{"LegendreP", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"Cos", "[", "theta", "]"}]}], "]"}]}], "-",
+ RowBox[{"LegendreP", "[",
+ RowBox[{
+ RowBox[{"2", "+", "n"}], ",",
+ RowBox[{"Cos", "[", "theta", "]"}]}], "]"}]}], ")"}]}]}]], "Output",
+ CellChangeTimes->{{3.40459750903937*^9, 3.404597517448895*^9},
+ 3.404597826311542*^9, 3.4222309426021557`*^9, 3.443930248891823*^9,
+ 3.443930520103599*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"Plot", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"Sin", "[", "theta", "]"}], " ",
+ RowBox[{"LegendreP", "[",
+ RowBox[{"n", ",",
+ RowBox[{"Cos", "[", "theta", "]"}]}], "]"}]}], "/.", " ",
+ RowBox[{"n", "\[Rule]",
+ RowBox[{"{",
+ RowBox[{"1", ",", "2"}], "}"}]}]}], ",",
+ RowBox[{"{",
+ RowBox[{"theta", ",", "0", ",", "Pi"}], "}"}]}], "]"}]], "Input",
+ CellChangeTimes->{{3.4045965067844343`*^9, 3.404596539678935*^9}}],
+
+Cell[BoxData[
+ GraphicsBox[{{}, {},
+ {Hue[0.67, 0.6, 0.6], LineBox[CompressedData["
+1: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
+4jlG4+ludursDAqdCbVq3TROY40TDlKzsyi0wCRg+uEEiU/y2spZz8nne3pH
+Gf6msRM94j0rl0IGk+5r+4gTDl9rkyik0MlXTc7z/pD4xOy5J1FMocEdU7OT
+ievrpfdKlFBIvuBO4dIpGvdLNTElSil0utDjeDyxqHFS4cwyCm1sD5KU/Evi
+eevkqZmvKbSdU/D6ArF2larSzHIKsTS555qJLYTHGsTfUig1vGuNxj9Sfzqv
+gsTfUejvtbKOG8Qhl69vF68i9ZayN5mct3FaqeGwWA2FMkP8j0tP07j8t0y6
+WC2FTD8ZLTUkbtnUbCn2iUL7/sV3+RKPeTyUFquj0NZsp6xUYukcx3eiXyl0
+yj3lfBWxSr/aRdEGCs35brCzlVhvzbiaaCOFNM7slR4htnEsaxf5TqGwyqyf
+5PkDX0y5cV+kmUKfTjrnk+cPHNNqZCzSQiGbn5eDyPMHfr5YjiXCI/1ZOmDT
+Q1xjySma8YPEx//11m/EHfeTXWa0knooGZlTRMxgOynPaKdQTW/UaBjxAjn1
+RuFOcn18RqMtsYbJRLAwn9hkR4kK8b5QDMLdFOq55ZDUT+Lh/CFgRKiXxOfT
+f0HpxNdFjZ8I9VNoRWzcuSPECbvkrYQGKCTt+tVWiPiFf4uM0BCFzlb9ME0l
+8e+fcvZljVEohOra/pXk77CF4X+/xynkZMuItyJ+m7emsf83hb5Vlu5tI/m/
+79yr1vyXQoyvMWnfJmks9K625fM0hfQ3jO7fSeyq/CyokslCS8Qu7H1C6kn3
+++m258Is5PP+CrIi9Ze9wTgsVYSFTJebaz4j9bngjqp2nBgLWbf2Xx0h9Tuw
+61fMzVksJJamKOtC6vtBntseK3kWEs99tXp6kMYzJE3GTeey0BHf/rdSxG7O
+6o93z2ehMe6F/AWkn/SUh/5qKLLQ04uBUXNJ/w2FeuTMXM5CXoW+1gWkP491
+m1oxV7LQ+37zzCA+jat2acwcX8VC8SUxxuakn+OnRuxbVVjo2eSZuO+k/w2c
+vea90GCR4+1sq6tkPuRVmldmbWKh3vbbp+fxaLxIWdP98WYWCrkw0phG5skw
+e/zDHS0W0hpqLs5u+l/8vS876LJQkWBthV09jcUeHlax1GMh/ofJzFdfaHxu
+akuTiQELXWGmDkrW0Xh33uR6bSMWMvq0MTq+lsYjSr6dsmYsNN9qzOBYJY2t
+fS0jxcxZKM/TfplPBakvthaaPsRCB/Yr2tx5Q+PE0L/3u4+S6/cZTCa/ovGe
+Kb+9b+xYaGXH93euBTR+yL6a7+rBQtEL7qjff0Tjzsp1dKgnC02iwiLRh6Qf
+8mmx7PMsNAt0951JIPtRmLb1r4ssFNAbUKB8n8a1u3+LuV1noa1W9R4KoTSe
+eOlmfTaa3N9E1cnOi8bbMxYHh99lobUfj9jpepB5e+9Tfs59kt+65osL3Wg8
+21NFfCiehc4HOc7MdaLxUlV+vnsqC/n2GJW5W5L5lGQtfq6IhWRYTANDROOo
+0Nkbo16wEMf4690ELRo3+b6yzn/JQrXsE/KCzTS2P6xQMIJZaDprRoKdOo29
+ZdjWnlUsdGO9EuuXMo0fXzcu8GpioY5eazkbJo0nHbVtvP+w0NePwRF5L8j+
+/nI18vzLQhU5GVcR2c8fzJqndHaahVxOC7dVPudhrdwh2pElhL74fWOUpPGw
+3580a4uZQqj3kmqVfjQPs0JlrDUVhNDTbMOASVcelsjrOja6VQiVPz24vHIh
+D1sKf9Me1BJCOrWLkm3n8vCzQ+WKfduF0AeZiaIJaR42norjtusIodiIdfmz
+RXg4bNeBYw17hFBagqdc6wAXy30vtcw7IoS6qpanr6zgYsW/4UfP+gghflfs
+/M225HzUuvfFXV8h1PopT83+KBefey82t8xPCBUOfK25acbFNeFXv4pfE0KS
+9bL3CvS42GvF2d2Pbwkh3rXid5mrubhu335NdpwQ8hcy0RYabMH+ybNltbEQ
+aiqWP3jufAvu1L9VIyokjI5Z9234fIqDbQ1tlJbPEEZXdvuoz7XjYK7xRq8d
+osLoz++foYfIebXhIK3sIyGMOtQojzcGHFxut8G7R454Llq+dTkHx1/mrPy0
+XBjtH3G1etPSjM2K1tyI1BdGSXVHxzfrNeOKFbWw6JYwarR7q2zLasLOoqlC
+ymIzkNcu8T0frRtxUdIy7YrwGUjk1VrnUuV6/GmbVuUBaREU4F5SWXH3M55w
+fmBqEyqC1IrMSt5HVuGq/YkHZ80RRX95398rhb7Gtlu00tKiRNEDL8t0xbgc
+7NT3cbQlRhS9FLZRVTTPwW4PrXVl7ouiD4IPp+ZK5eDLYtd++saLIpkZ22yn
+rj3HcU3VCgdSRVHQubcr5NlZuNH7UNhUkSj6yp/jFe2RgfeUuHubcIhdEmb9
+SH2ITVyFqgK4omjrdzaHnv8QWyyJmVNKi6Il1755NIck4ZPBL/JWtIsiO3+Z
+I1c7EvD1I4z+P72i6J2P6kCmbywum7xtm/pPFHk9iV4R+SQcV2YtzuEwxNCo
+8xkjuTthuNY2Z1qKJYY4Yfm1SoJQzKlpiLsoIobq9O/Hj/oF44lYBfZ+KTH0
+Y2diyc6Mq3ja+NnyABkxZLdizzapbj88gwXnXsqJofXDttF3LvtguVO20ivm
+k+u/dZ08n3EWKywesT6qIIaWyNBLKi874yX1N7LCFMXQi1RP28iM43j1zbl/
+KxeLoU1xpy8XZ5hg9W1PDP8oi6Gl6rf/9/9W2f8Bq9LDow==
+ "]],
+ LineBox[CompressedData["
+1:eJwlmnk8VP/3xy0zlqLFmi2hRbbKWrZz04pClhaFSCpKCMlaKZQIIRQqa0J2
+pXIlsmvMnewzY0tSyDZmxsj3fn6/f+b9eD7undc973Ne7/N+z32Mgst164s8
+XFxcWvjHfyMvuqZzVMfbeLj2/8dtv2oNNj+xhKUFDr8MPrJLdrn2JThBZnVw
+Ujs+/hC7zKxKuA5U1LY2HB/7D9+rz0kIA+njyYO98WHw3SlhR3rCYxjOC866
+8vgxWF+V6k9JyISqK3vobfczIX7uXHlywlsIFuQj33B6CwaNZmtMbtTBO4MB
+tiZXHXgFWjiXezWD61+OUjP7K5h5GuYLxDVD/u2Ww1FiTaDkojLj8LYZHt/K
+uq2v0QTdpnwhAtPNIJr+nu3r3ARGUrUpDh4tMLmr1BppaoI179RJ/G6tEG1j
+v6KI6+QsCsG5s+3g42RkWCTRCtfeXYzlUSJBisyZlpT5dtAwPbGFW5sEI05r
+XiFrO+Bvn2HZ6kESWMrnt2CKHeC7LNrNcSOB1tWndR9OdECgcb3cUgEJFEer
+rsYVd0BEw+ai35pdIJZF+2Hk2gkvSD1tFBMyaA4c8NRBv4GL8xcHzIYMmXt7
+SrdTvoHSXPFMlysZEgX5dbl/fYNc0QjRbxFkaB8VG94rSIKik9pnW1rJMH5Z
+Kl1ekwQ1g3GTn6wxMJP8vgu9QwLKhKlgngsFIkYfbRXd1AUzqcqHwn0ooGv5
+TDRgSxesMee/43SXAldS91uSlbsAKWpgSr6igHzWnmS3fV3wxhsmooYpsMd6
+vlnYvgvusrWb3M9/B6HhmwLWqV2wS2jLfQ3HbiipW3SNWU8Gs0//6tZ4doNB
+e/SLeAkyuHpSOeMh3aAhdTD8oRwZ0khpvpnp3fBh3XpVe1Uy8CWJu26gdsPh
+JNnbXofJMCi39sDc2R64Vhar4xdIhoe7GFxVZ3rh+QPzDrSPDIE3TVXH3Xvh
+i9/W0a90MlxBn9tJBPfCV+5ArrofZDhqeaDAP6MXfjVEGkXNkoH/epyN3mgv
+lLa90fUSwOBesUruu6t9kFHoNpOqhYEvI4Q0EdIHafQZHXQvBheMu9ibHvfB
+4PCAXrcRBiadNy1vlfZBcpTsub4jGHBPNzD3MfrAYnVDodZZDELVncw/hPXD
+utrj1dphGHj6lfn9jusHX26J8hvhGDh8Ir6QedUPF0Ye7siOxMDweOFCUEM/
+hMxLefQ9xmD5KivdUHAA6GdM5hMzMZisONZ8VXoAqgtfmjllYdDPyZx7rjoA
+AevGOdJ5GNQ8Onxk5fgAYEKzF9yKMQgofPL3U8IAjFyZ6z/2EYPLC+PS01kD
+kKUnlf8SxeCUof6hzZUDoF/4teJnPQa67UOpoT0DcCK+NuxICwYLv9UPgOwg
+nLx7N9zuOwZjWneuXVcfhBOt7HmtXgywIMrTTONBMBMRjOYdwKBsbdCf1fOD
+YEJWVvAfwsBbtTmpLmcQAv85p+dP4t+/OHb7RdUgeLikDRCmMDj5guvq7SZc
+X0KlwnoGA33xfSbIr0Ew3Wev8mUeg0JLO/Ut7EF4Oi3x5cciBpsfem/iWkuF
+nPALf1hLGPCsvp5G1ahgm2P6k7GM12vf175MIyrEdR6toK9gMH5jpCHMggoN
+olkCNasYtE5IPwMvKpjqpxof4KVAAjn6CFpOhTmT4aw8QQoQhPM1MxuocMCs
+87rsWgr4H2mQC/tOBa4rbmV3hShg/5Ezb7xEhffbZp4oradAO2MTfbMADQ4G
+Ku5y3EAB4z06rf820WDWLmLfw40UUMy99qJWnwZvSa2JVaIUSBx6EJ1hTgNJ
+9b0jVWIU4JPJ9Q89R4N7MTNP88UpEGBX7+x4jQbCwRYV0RIUmHxMO2YcSoMT
+LR90zktS4FwrW2/zYxo8icmT3r6JAp0ESaV/mTRo3BntTMUZAa11tBIaPDr6
+SyBCigJltyxZnz7T4BD9+Pot0hTYWuExlk6mAd8uixtvcE6ejvwWMkqDsMYo
+LWUZCgjszK5xWKABV2iORTLOgRfqcoyIdHC8a/dlEec/6YNxchJ0aDa3iTss
+SwHHXmbQynY6fMhyqYjCmSQifomqR4eGbCuNjzibHN9j/ekoHa58mOcM4VwR
+edwo/QwdxnNV5Zdw3l5/RTnEnQ5Lt4af/MM5hXNf1CGIDhnP+O3/u75G79U/
+w0d0oDSleg3jHOxd+0s2nQ4WG9K7/9OfftNP4RTRQZoqH/0A5/PjDHSwlg72
+U/tijuCMbRF98/EbHbpPCQ0y8PgPn92V/HyIDsXRn/2f4vwuyfxO8CwdBqxi
+zu3EWXxCS1eDewj6mwsfFeL5sSDWq2YIDsHW6258CjhHKloprBMZghqpNS3/
+5bcOaBKh0kNQzvqL/Zd/zUA2t6PqEKz8lKlzwuvl8TRqqUNrCKhK+188xOuZ
+XSExZWQ4BEt/Pb7m4vWWmNHslTs+BIEpyyNluD8shT53xNgNwZ8Hj3pfiVAg
+aqfllxWHIXA0CBK5h/uJfcGjmOo5BETpPdbSuP/Ob5wP+Og/BG48J4XGhSnQ
+WBt44FnoEDhxBuezcb/GST3sPR07BFen7ppxcH8zvm7M0ksegmcRV98nCuB+
+8k29JpExBFV+x+228FNgx7d8HkrREFgX9opuJFDgUfDujrLKIehwiND156HA
+3M53T+M/DYHdPs2ITi4K1N5rUrPsGILzp/oKT+PrzVZ//GTrnyF4uP6QDIav
+15qf1xReLwzBKyThdRe+nuWTFn9HcoZg+zK4fZnF+9kM4c4hoWGYkVj0uI33
+gzs5Sm/qVIfh35OBsvNjGBRvcF6tch8GFi0mueYbBmK1Ey1JPsOQ92Or8Z92
+DG55eCX6Bg7DRS8t2Y2tGBz8GrZT8+Ew5P+sCNVuwGAgKMOm6PUwWJd8nR+u
+xkDg50Be1sQwqO46cqX3Od6PEy/43P07DJOkD0NGqXg/2//b0Jk5DKE9WHpy
+EgYZz9ldmwVGwP1QyZRCLAY61lKc1B0j4FC/wPciFAOXTyet4txGwC/o6XED
+Bww0qzaJSF0fgYX9s9r+p/H+9LYfe3lzBGKDzOCVDQavXjieKo8aAbu7lo0d
+phiMhLs5dheMACt5Peajg+uZ+V+VnRmBn75BTIYgrndgr0bO0giMH3krd4iA
+6xmyZ9S5RiFtfWL0vX9keKUeegM2jsLfX+rHeubIMLIhItBFaxRKyn4VtfeT
+waUnKSr/5ij0vpUNYeXh5wjSKbM9t0fhz80L4Q4vycDTIiVUEzUKNiK53OVp
+uF5N+uO21FHgaTK+oRmD66XnJE9/GAVTrCQq3BvXc63M1uYagzfHVaK99chw
+YZZSVxc1Bg9Uha2evuuC84Fxp97FjUFX6OmiupIuOMd7bPptyhgccXNvo+Z3
+wUnxLzKZ+WMw3XH69HxKFxzdV+of0jwGYvzbZR8FdIHGnRg1fYEf8H7vzZSb
+Ol3A3HA4pTzyB9Qk4KnPJcFCKveuN49/wLFr4buWn5NgVvFT46unP2DljZtH
+yhMSTGprz8fn/YDknqn3b2+TgHpa0cKr6QcQabm7re1JUP/iH686/zjsPtH3
+2H0tCR7trr6eGzEOfK+E48RbO6FVs2fcL3YclCqn/jIqOkFAZ8nhUPI4ODaY
+TNZndsK9fXrHxnLG4XnKtk5pv04IMqlWVmwch736Nr5tmzvB3bZ6OJ33J9jN
+fVDb59kBRwKqbZJu/4RoQrhx3Eob8NRV690LnIBA2YOnXw41Q4GwSO7K3QlY
+uVrdc7ChGazPXhW7GT0BTqbqweS8ZshibJm98nwC/iE7/Ao9m+Gg+sMCy9oJ
+cPydNntuuQki0s7JyfD8ApH5msTaDfh51Y+bt+zBLyg88fL0smojbFQx76Sn
+TIJRovGiofJnOJppkvU34Q+o++5UbZsuBcmZ9sNh1dNAsq0nfqv0Q9Oaarh5
+r/wFm1JRzY3Klaih3P7VLa6zEEIzbsqgf0FVhzaMhfjOwZ9KqWBWQQdalC9y
+udJnHnSCU2G3LIYG0xww1YgFkPdwiFlBetCFI0bpFx8uQDDHx0LAqge9Wip7
+KTN2AezZvJUCTj3o2XsDbJGnC6Dw94jFZHAPqq9yRpGdtwCO3uEVu971oCw/
+W+/mlgXwuUgP+aDWi/oLm6+/KLwIVk6hTanCfei0v0pfxsZFMD/5UeqoTB/q
+NiSY1Su+CIITBsuTyn3oyfJm3WObFyE6fMls3cE+VOfMYUetXYvAqX+t13qr
+D13I3l/EfWIRyN0auzaM9qHehnvNMxIXoYHgY5de2I9yeSaGPU5ZhKVGZ7GV
+6n40NvNv+e3ni+CS9YJg/aUfLeB5LXshexFMVpWcB/r60ZFmqekdFYvgcE/F
+1YNvALW1W44rxRbhb/1J3yCHAVTXs7a7QYQBrw0iV7V4B9GGTOm1VRIMeOp7
+/LOG8CBq3eUPedIMOFG9j2uz5CDqqb0r/4EiA+b3xAz1qQyieezMWxaaDDh/
+tiz164lBdFPkHdneEwyY3pjqfz19EGVnHnT5HceAR6m3XAdVqajxklHCniQG
+BKRe+C6qQ0XvWOjV30xlgJjcbT4jYyoqsLJTkfCKASO2yQmuVlRU3H79iGw5
+A1Rl1lfy+1LR3WL9zhbf8fsHtp5KfUdFb3hg8Yl9DChTadGarKOiVfXtn/up
+DEgyrrul1kJFjbxRhUvjDOhT3al+v4+KmnVmD4ctMaD05o3sCBYVvRh13blU
+aglilQ0iG3VpaD79cvyS3BLInNHIUTGmoX90XT4bKS6B5KYXtNuHaKjPD1uF
+VpUl6M9vi+eypaG3TfSHRwyWoKhiKOiYFw1N4xCcxRyXIEfwRoJILg0leaWd
+v/lqCTQiLlsZ8NFRlbgNy765SyA1E9viuJaOhr+NSPIpWIJMz3W9vhvoqO60
+T+u1siVYzJQqCJCmo+ke5tqu9UvA6vrXTVOno+5uHP4TI0uwHh3boGRNRxvu
++7yyGF+CudekbM+TdFQuZ8Lw2CSut+ZyTqE9HSWNUryPzC3BAcRzdNWFjuo5
+Fw0Y8TAh5txRMd4bdJRwzvGtiiITNj6YuBoYR0cdgyimytuZoNTV3PT7CR2t
+TjMb26bChGsy3J6WT/Hn9+lKKWgyQXytctJUOh3tOrk+XNKECSYL5bL3C/D5
++d+XEz/MhHzGvRdRRXT0XtJytYgZE96vaXcOLaGjeyk//whbM8Fq8XQyUkVH
+M07UnSS4MEEv59Rz+c90lOmlO8vtxoQrfbFDFV/oqHVcYfTqFSaUOOmdNPxK
+R4nfUurY3kzYI3yZpNBGR68e81aZvcME87mPA4cpdPSrx8+G6fu4njMaca2b
+jspHOzj9ecCEMkT4TEQvHSW3mCb+jGcCYZDveuwgHd13RPEf9SUToNffhDlK
+R7WzWqOacpjAI/8vKu8HHdVY9REtfc0E678fAkx/0lHF6i/K90qZ4KMeZHVx
+ko7Kil4tv1aJz3eJqkv/TUclrosZn3rPBOE1+l/Mp+jo2h0XbVQ+M+HTwalW
+zgwd5QsXpok2MqHFi3pw/ywd5aJXXl5pZoLZFNM5YI6OLiTzhZJIuJ7X7vDa
+BTo6PVcsUENhQqmaXETHIh2dsDj1JKuXCVLZ3Tu/MegolS8/33+ICabf0k8U
+MOlor4uV1vkxXH++nBLOwudby/xkOsGElMo8hiWbjrZLvzyq9YcJlPfrqtct
+4/nyN8Vk/zLBNuO+eB3OdeRZB74FJmCstxtdOXS0RiNtYmaJCarn9r5h41zx
+0ORG3zITHlqQhsNX6Ojb8cmV+lUmRNnsrlzFucDkSVQhLwtcf0pu8/xHR7Mz
+DEST+Vkgcvv4nm84Z7BH08PWsuB6TEaf4iodTTn5SPnKehYcuUWXu4JzQpl2
+ubUoCwLzfq+8xPnROqqRoSQL1vrn3OrAOcL9fvM2GRbsMWLE/cb5zld1m/Xy
++PMsOw9wcA5W7KYyFVngyNqasIqzf2jo5ZHtLNC8ywxaxNmrf/t8mwoLtFUt
+uGk4u+t+C6nUwPV3ayq+x9k14aZApiYLnn+tpkXg7Dgt/yRKlwUb5Vm6R3A+
+bdYs56PPgpILkqpsfD42uV75Z41ZMPlO/0MmzhY8UlqHTFiw0yjhpx7ORx0/
+f9I4zIJGAduSejw/JjVXjm4yY8GE+idxBGdDCRGM24IFl95t3FSC51fXp8bh
+9wkWZBc9rxbBeXenywTFjgVnhEoWLuH12RZRvpLnwIJ19P6jk3h9t4ycjYp3
+ZkGX+vvzkjhLGxNEgy6yQOdZkaQe7od1DFtli2v4/HTKXS1wvwhYr5TpebNA
+Y7V++RDuJ57iHCMFPxY0KI5r7cb9tnSRYb0QzAIe25IHg7g/5z5nUKm3WVD1
+PiY/4y8d/SN35HLTPRbYKv92t8H9PPT9aUjaIxaMutIHE//Q0ZZD+/KR57j+
+yIGHN8fpaEBTqEbYCxZcS9qtVTBGR5VNGyo+ZbNg8ULvzo4RvJ7HLD/rF7Eg
+7+8CYYxGRw/aXOzXrmVBdOmnRDt8/S5QCs7fqGfBu4ZnHWvw9Z118u946VcW
+KO5wcyzpwuO3D5rX+MYCj8XYmPZ23L/n44V2DrHge9L8MdN6vN4j3QmXxliw
+vqX8+h0U7weuslK5EyzobFhivP5IR0Mv5W1TmmWBeKOQfjvejww9PxnL8bCB
+xYlptMP7WXXQL6+NW9mQ2nyyIDSWjrqtaCxZKrOBS8Fs+dNDfL2H+YbEqrFB
+pky6ayqCjvreXX2wVocNb7EqMfkwOqr5QDyLeBi/vjEHmj3paHHy/u+sS2xg
+9JY465nj/toUeXbvVTZoSZWp3z5MR4XT2of9vdiwzsEt//1+vL+ln5qeD2BD
++r/cyn96eH/NvsY//YANdm2d4V1KdDSnNHXfyBs27NyW+PY5k4a6L59V6X3L
+BgsjItjM09DdhzbLdJaz4dthdhZnioZ+7H3Fef+BDQVCVNaOURqKrb5B49vY
+0M0rsGO4nYZyW9Qe2v+bDe9eLO0cSqehDpMjJ16oLIPd+q2nduD7o6J2jkmy
+xjLoxV7LMt5FQydCLmk90lwGj19D6qbKNNR34x+xAP1l4PhuF9orTUOj9y72
+WJotw36XrlMhK1T0fQS/4+qVZdgxvBD7+jO+vyupuTu+XoYoy6+MbISKxiVE
+n3xdtAwWXYKOfnpUdA3Pb5OF0mVIzD7nqqdBRbmGX8s8rFkGxj+Xi3EyVPRP
+xo6OyrZlsHczpyYv4ucXaaXdwtPL0NERO8bOHUR9RaQZHzQ5UHW/Sd58dQCd
+uXNrhE+PA2OkiWNnFwZQ99nezhMGHGhSCR11+DWAnic9zft5gAP904mX9bEB
+9Fis+BlROw68+KCfdCJ3AFVas/Gj+00OVL9RLfhnOoCSuQXuSn3kgKD4Vt7I
+yH50uijV0aqOA5q2OcbqQf2ooL2qQWQDB7wJaw41efajSJnFwkI7B2zWXid1
+2/WjxS5JbiQqB84weitclfrR6C+K5pGrHHhWdfWiycc+9OB9I7FFkxWYqqK7
+Gv7oRSsFbuSSWlYg+c+v8yzxHlRNfIO7S+M/2NIltH3kGIbOxDLEtLpXYXqd
+Gn+ZZweqFBm567o7F6Jw9qpB3uEGdMR+oN/kJxcSqeaohYhVoUd/YKxKT25k
+jf5x1hPZO2iAz8XLElPcyFrbjYVNfm/BouqZmYQ/D1IVOdMx2lkH0xz3YF4G
+DyIXuzSfrdYMZ06b72Qt8SDcDcMc8yPN0FCu2j3N4kEqr7U8HnJuhlT3P7v6
+V3gQ1YCn8uRk/PdC77XREiIv0qKfEfJ9tRmelXuZOYrzIuLF6wStO1vgqLv/
+pvfavMjNV+56befaoLzxZGOxLi/Sa/lBaq1fG2xW0PPJ3suLNNu7s3Vj2mC+
+Z6ntsSEvMmN+JMr6UxtkHLoV5naQF3ERV054KtsOC1uCx0VteZG8inpXy552
+eNlzp8LzBi/yeB1vjLJRJ4w37qbH+vEikRmWxnm2naBWQRd8e5MX2f3HvUno
+aidUxRk5zQTxIoylWbVHaZ3QbsoS9LrHi5CPSw3aMzqB+cHLyTuJF/nuMVKt
+9vobWLxwWuNbjcdr1piRG0KCxNh1OonveRGxiGWfpkgS9AV/cqr4gPOOzLn+
+eBK4npGpXEB5kYUie1pfDgluifQ4+TXzIqo2tSTdDhJk37Oo9O/jRewwNOKy
+VBewLxudv7XMi1DGazSj8rrA7IMK4rfCi4w28Oy4+LYLnglv2uK9yot8cLyz
+qFPdBYZlc/TLvASEZscRKf/aBaHLeU6n1xIQzRqHaekfXcAbK+KkJ0NAtGVl
+9mTIk8F2aNVYS46AlEo81ajeToZszanNu+QJCHdlF+mLOhkO9zTRtisRkDG+
+TUvVBmSI2hLiKKFKQJo77vmtPUUGofKfDov6BMTG4nPOuWgynCN+N5o1JCDK
+9tseFMeToehUvdyUMQFxaWgdmX9KBgvOc+qYCQFJ2bpn+nQ2GeIOWTtQzAiI
+tJqD7KOPZBDr/Xiu3J6AxNYK5SROkkFuJf6sdyABkfh01m6zEQZHR46/fxpM
+QC40NOwGEwx8mwQla0MJyM2o6H9WRzBojb9DXhNOQOijOpePnMDAf7u3aXY0
+AfmzcEgvzBUDkqWVXs9zAqLx13F1UxQGy9pCSSsZBET9Ry3/0UcYbJdunlN6
+SUBqC0RGL8VhEDwGxV45BCT1j5RQYAoGO2/t2rammICEMm5yfuZhcPfVOlEj
+lIAopbLlfn3BoCiy1evCZzwer8m8rU0Y9F6N6HzwhYD8uuo5Y9WKgYbevwfd
+TXg8BQblQSQMBtqmuLxIBITXz3FBahADvtLXjslkAmIgLHtigIaBZvLFjx8p
+BOQYIcI1ZhiDqPPUm4J9eH4U3hR+GcdAe7F9+tUwAen/eK804C8GTv1Rx1pG
+CYiJ5usydA6Dh+jBgpkfBCRaWMptaQGDoQcfLxpOEpDql+4je1kYrL0e8MXl
+DwERCioqMFnGQNdWW+HBNAHxXF5RMlrBIGZz4eD3OQJyPJilTOCmwDvey/qc
+BQLyIuZkBYmHAmMTSimKSwTk46Vtf2MIFNAvf2ZzfZmAFI/+Dujnp8D4kehW
+AQIRmX8gTfogTAEX8/NbtvERkYGiW3386ylAtdDx3y9ARGxiwxUObaAAxY6u
+EChERAx9MjyfiFDA6kzFzeR1RET8iplvtigF2s496CjbQEQaeXre54pRoP6C
+1q3fYkSk79QuvjAJChhfEvjGL0lEsnYOC9tJUuC9O3XrViki4tEKp2Q3UUDb
+sywQkSEijz99H6HgXOIdSTonR0Q2/dItDZWigKrfue235InI1iSuL1LSFMgN
+2BOcpEBEQj36NuXirBjMRy5VIiJqN73LlWQokB42sKNzGxEZU7r7JAHnTeEl
+IZM7iMhto873czgnRtzH+FSIyP0ZhR0HZSmw/qH9TiU1IhLeYD0YgfPDmF1h
+oEFEAnOgvwZnvnjC97O7iciBPpLCf++r7yT2qQRoEpG/vMxyBs6cp8W3E7WJ
+iMj2kvj/3lcHPAvvLtElIpufr3z47331QsZptY69RCRHblprBOfrr9Tv/tIn
+IrkfU9ifcJ7M4eklGhGRhjG5jdE4u73uUVcEInLPPi/AFOeRwsJw4/1EJFj/
+siYLj9+h5E6f/QE8fuZzSMO5t/zkrpuHiMigY/RLNZxtq1XvPzlCRExj7p4p
+wfNDquEaeGtKRLSY/Ze34Wxe+313uzkRabvEIEXj+f36uSBi4jjuBwY8GcXz
+b9IYNkiwIiJ+ImqlajjXNttqKlgTkYmbe9Uu4fXb174zysiWiHzW/kN8gtd3
+N4Zp+Z8mIlY3Egdq8foXduc/SLAnIhVJjf21uD929IfQi88RkTcWklCC+2fz
+8I7on+eJiCcXx+gS7q+0Mc4Q7wUicn1KfFBt/X/v27t0t1wkIqKnHMdHcX8K
+zQSNnL5CRA7GTR/evpYCUXNWe/08iMjoHf6XpYIU4GVsi42/RkSq9sx6aghQ
+gM35tq/Vm4g8GDL25OD+n1izNd4gkIgcTePWmcTXj+s61vipYCIy25F+iZuD
+AX1jp6FvKBGZWbNWfg0bg+5NAROFd4nIOlbktr+LGHzZ3g6bo/F4xe2xdVMY
+mMXSzSRicLa0ChyYxPvX4pzdusdEpKyLO+XZBAa0Bqmr/xKIyPhxBjBGMWC6
+XEqhpRGRvY6HQ8X7MQhtDczqfo6vhxB+ydAeDIiascWdGXj+xJb0+ikYiHBX
+NtS+IiLskAyZa98wUMvkmc0oICKXm/cVruD9rIxPgpNcSETcu68083zGYJ/n
+Tv7HxUREe3ohbPkTBoeNrOTCynA/sbTbmqoxcB5IN3WqISLNf6Ok2wswSJbc
+90q+lYjofzy6cD8WA9mwY0WS7USkQEeL9+tDDLLGnd6t78TrNTXXy4rAoKQy
+onO1i4ho7q8dMwzDoM2Gwqb3ERGCxZOu3dcx4Iq7bvPiFxHJlK2tIh/DwF0g
+l6AgyIdoyGyoF18lQxtPVMyBtXzIx4plhguLDGorVyTchPmQnTn7zF/Nk2Fm
+Vl35zUY+JFhjyXXpJxl8ByrNdaT5EPWpwPHlb2QIKW5MMFXlQ/aViEX6pOP7
+k+2PLT7H+RB+yRoDAw0yzFo0vU605EOYn86f7cb3S2vT15rVJ/iQM7tTDrni
++6m48bWDHDs+ZI50Jf70BjKk7Vi8FOHIh5xUMC3Omu2CbDbhbdp1PkQg68LJ
+ltIuqH6x1ehLPB9SIHlxLFS5C7auHgz6/IQPOV7C17RpSxfEOVx8jybxIVWH
+FPryJLvgsnSuzsdUPuR0rturHL4ukE7coVH5kg85aiB0ZcsYCYIjVeTzSvH7
+Cdf7JNNJYOK5mzu6iw/Z4hYqvpefBJ0Gho3WG/mRKSUy2zioAx6+81s+LMqP
+TExwS/Vd7IAjOm/3GIjzI/VtF0KcrTqgTkMxQ0mKHzFe3WRhtK0DyhUEbi5s
+4Uf8f9EiFDvbIYWfopy8mx/fb3P2vMXPXxcwj0d9lvyIwMSKpmZRKzDdn9mc
+j+VHshHCVZ7MJmi2yrQTlhBAKN9cOQ8O1YHLPsO8vEQBJDotpyc7ohSuTHUs
+DiYLIIjNtocv95eC10ungyKpAojJ+DWxeE4JhAmGDwenCyCi4pbhpj4l8Lyv
+RcY6VwBJTJ9SMK8phu5bp+I41QKI8Vv+W97OBWBW43PrxIAA8t5gqTH05Us4
+4UlojqAKID+UWDnLYi/htGKyxEe6ADItGH/HI+oFXHr4vnz7mAAyLmFWYk7L
+gHv2XNPLfwSQyd/HAhUC0qCWHeOS+08A8XzKfKWfHw+NxfKlA1yCyMDhdg9m
+TBy0u5SubuAVRAjLxF02P2NhoJXyPIhfEJEP1psghzwEZppMj9UGQST49sXk
+qdd3YNWiaFuEiCBC0jtJev4rFPh4wfeDmCBCHjs+fjgsEMQ8XDZulxJErMqi
+aM4F3iAjv+B0VkYQuS1IZ5SFuYMidr84Tk4QKRdeyxVb4AwqkZIrjfKCyIXx
+1u3VBSdgj8Fr82UFQWT9npj/+3/M/wBrk8Tk
+ "]]}},
+ AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948],
+ Axes->True,
+ AxesOrigin->{0, 0},
+ PlotRange->
+ NCache[{{0, Pi}, {-0.49999992960658524`, 0.4999999391056057}}, {{
+ 0, 3.141592653589793}, {-0.49999992960658524`, 0.4999999391056057}}],
+ PlotRangeClipping->True,
+ PlotRangePadding->{
+ Scaled[0.02],
+ Scaled[0.02]}]], "Output",
+ CellChangeTimes->{{3.404596519635858*^9, 3.404596540318697*^9},
+ 3.422230943011868*^9, 3.443930250106556*^9, 3.443930522186734*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Limit", "[",
+ RowBox[{
+ RowBox[{"falpha", "[",
+ RowBox[{"a", ",", "s", ",", "u"}], "]"}], " ", ",", " ",
+ RowBox[{"h", "\[Rule]", "Infinity"}]}], "]"}], " "}]], "Input",
+ CellChangeTimes->{{3.397486903141968*^9, 3.397486945218731*^9}, {
+ 3.397486984980337*^9, 3.397487030083398*^9}, {3.397487166246533*^9,
+ 3.3974871877319717`*^9}}],
+
+Cell[BoxData[
+ RowBox[{"falpha", "[",
+ RowBox[{"a", ",", "s", ",", "u"}], "]"}]], "Output",
+ CellChangeTimes->{{3.397486907326786*^9, 3.397486945921166*^9}, {
+ 3.3974869856887712`*^9, 3.39748703176365*^9}, {3.397487169592437*^9,
+ 3.39748718812663*^9}, 3.397487260413273*^9, 3.422230943198435*^9,
+ 3.443930252045775*^9, 3.4439305245513077`*^9}]
+}, Open ]],
+
+Cell["Special case; r0 == sigma", "Text",
+ CellChangeTimes->{{3.397576928738761*^9, 3.397576934372014*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"solnBJY", " ", "/.", " ",
+ RowBox[{"r0", " ", "\[Rule]", " ", "s"}]}], " ", "//", " ",
+ "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.397576628156334*^9, 3.3975766551239357`*^9}, {
+ 3.397576686158119*^9, 3.3975766866043253`*^9}}],
+
+Cell[BoxData["$Aborted"], "Output",
+ CellChangeTimes->{{3.397576634411633*^9, 3.3975766555106564`*^9},
+ 3.4222984485991096`*^9, 3.4439302765755672`*^9, 3.4439375792587423`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Limit", "[",
+ RowBox[{
+ RowBox[{"solnBJY", "/.", " ",
+ RowBox[{"n", "\[Rule]", "0"}]}], ",",
+ RowBox[{"s", "\[Rule]", "0"}]}], "]"}], " ", "//", "Simplify"}]], "Input",\
+
+ CellChangeTimes->{{3.40459331291966*^9, 3.404593354485977*^9}, {
+ 3.404593499386421*^9, 3.404593545093485*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{
+ RowBox[{"Sin", "[",
+ RowBox[{"r", " ", "u"}], "]"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{"r0", " ", "u"}], "]"}]}],
+ RowBox[{"2", " ", "a", " ", "\[Pi]", " ", "r", " ", "r0"}]]], "Output",
+ CellChangeTimes->{{3.404593334110804*^9, 3.4045933550829287`*^9},
+ 3.404593440628771*^9, {3.404593488441991*^9, 3.404593545420808*^9},
+ 3.443937583638479*^9}]
+}, Open ]]
+},
+WindowSize->{948, 973},
+WindowMargins->{{Automatic, 345}, {Automatic, 113}},
+FrontEndVersion->"7.0 for Linux x86 (64-bit) (December 18, 2008)",
+StyleDefinitions->"Default.nb"
+]
+(* End of Notebook Content *)
+
+(* Internal cache information *)
+(*CellTagsOutline
+CellTagsIndex->{}
+*)
+(*CellTagsIndex
+CellTagsIndex->{}
+*)
+(*NotebookFileOutline
+Notebook[{
+Cell[CellGroupData[{
+Cell[567, 22, 929, 23, 55, "Input"],
+Cell[1499, 47, 966, 23, 52, "Output"]
+}, Open ]],
+Cell[2480, 73, 1311, 37, 55, "Input"],
+Cell[3794, 112, 6185, 179, 273, "Input"],
+Cell[CellGroupData[{
+Cell[10004, 295, 198, 4, 32, "Input"],
+Cell[10205, 301, 1776, 56, 55, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[12018, 362, 1632, 52, 100, "Input"],
+Cell[13653, 416, 1633, 52, 83, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[15323, 473, 1748, 53, 122, "Input"],
+Cell[17074, 528, 1590, 51, 103, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[18701, 584, 353, 8, 32, "Input"],
+Cell[19057, 594, 192, 3, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[19286, 602, 467, 9, 32, "Input"],
+Cell[19756, 613, 1741, 50, 89, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[21534, 668, 588, 15, 32, "Input"],
+Cell[22125, 685, 826, 24, 53, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[22988, 714, 2162, 68, 168, "Input"],
+Cell[25153, 784, 2151, 67, 85, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[27341, 856, 1244, 38, 76, "Input"],
+Cell[28588, 896, 1273, 39, 66, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[29898, 940, 708, 19, 64, "Input"],
+Cell[30609, 961, 5015, 153, 213, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[35661, 1119, 94, 1, 32, "Input"],
+Cell[35758, 1122, 4772, 149, 213, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[40567, 1276, 513, 9, 32, "Input"],
+Cell[41083, 1287, 3938, 122, 157, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[45058, 1414, 178, 3, 32, "Input"],
+Cell[45239, 1419, 1505, 50, 83, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[46781, 1474, 271, 6, 32, "Input"],
+Cell[47055, 1482, 242, 3, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[47334, 1490, 188, 4, 32, "Input"],
+Cell[47525, 1496, 3264, 97, 145, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[50826, 1598, 1932, 59, 98, "Input"],
+Cell[52761, 1659, 1564, 52, 101, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[54362, 1716, 602, 15, 32, "Input"],
+Cell[54967, 1733, 3390, 101, 121, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[58394, 1839, 501, 14, 32, "Input"],
+Cell[58898, 1855, 3733, 113, 156, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[62668, 1973, 401, 8, 55, "Input"],
+Cell[63072, 1983, 2740, 79, 125, "Output"]
+}, Open ]],
+Cell[65827, 2065, 191, 4, 31, "Text"],
+Cell[CellGroupData[{
+Cell[66043, 2073, 952, 25, 55, "Input"],
+Cell[66998, 2100, 594, 16, 48, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[67629, 2121, 1107, 23, 32, "Input"],
+Cell[68739, 2146, 64107, 1061, 235, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[132883, 3212, 67768, 1121, 235, "Input"],
+Cell[200654, 4335, 67747, 1121, 235, "Output"]
+}, Open ]],
+Cell[268416, 5459, 90, 1, 31, "Text"],
+Cell[CellGroupData[{
+Cell[268531, 5464, 448, 12, 32, "Input"],
+Cell[268982, 5478, 1347, 40, 72, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[270366, 5523, 493, 14, 32, "Input"],
+Cell[270862, 5539, 21153, 354, 228, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[292052, 5898, 385, 9, 32, "Input"],
+Cell[292440, 5909, 353, 6, 31, "Output"]
+}, Open ]],
+Cell[292808, 5918, 107, 1, 31, "Text"],
+Cell[CellGroupData[{
+Cell[292940, 5923, 274, 6, 32, "Input"],
+Cell[293217, 5931, 179, 2, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[293433, 5938, 335, 9, 32, "Input"],
+Cell[293771, 5949, 408, 10, 49, "Output"]
+}, Open ]]
+}
+]
+*)
+
+(* End of internal cache information *)
diff --git a/ecell4/egfrd/legacy/doc/math/hkmemo.nb b/ecell4/egfrd/legacy/doc/math/hkmemo.nb
new file mode 100644
index 0000000..b0969a2
--- /dev/null
+++ b/ecell4/egfrd/legacy/doc/math/hkmemo.nb
@@ -0,0 +1,2692 @@
+(* Content-type: application/mathematica *)
+
+(*** Wolfram Notebook File ***)
+(* http://www.wolfram.com/nb *)
+
+(* CreatedBy='Mathematica 6.0' *)
+
+(*CacheID: 234*)
+(* Internal cache information:
+NotebookFileLineBreakTest
+NotebookFileLineBreakTest
+NotebookDataPosition[ 145, 7]
+NotebookDataLength[ 89983, 2683]
+NotebookOptionsPosition[ 87158, 2583]
+NotebookOutlinePosition[ 87496, 2598]
+CellTagsIndexPosition[ 87453, 2595]
+WindowFrame->Normal
+ContainsDynamic->False*)
+
+(* Beginning of Notebook Content *)
+Notebook[{
+
+Cell[CellGroupData[{
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"$Assumptions", " ", "=", " ",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"x", " ", "\[Element]", " ", "Reals"}], ",", " ",
+ RowBox[{"x", ">", "0"}], " ", ",", " ",
+ RowBox[{"n", "\[Element]", " ", "Integers"}], ",", " ",
+ RowBox[{"n", ">", "0"}], ",", " ",
+ RowBox[{"a", ">", "0"}], ",", " ",
+ RowBox[{"s", ">", "0"}], ",", " ",
+ RowBox[{"u", ">", "0"}]}], "}"}]}], "\[IndentingNewLine]"}]], "Input"],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"x", "\[Element]", "Reals"}], ",",
+ RowBox[{"x", ">", "0"}], ",",
+ RowBox[{"n", "\[Element]", "Integers"}], ",",
+ RowBox[{"n", ">", "0"}], ",",
+ RowBox[{"a", ">", "0"}], ",",
+ RowBox[{"s", ">", "0"}], ",",
+ RowBox[{"u", ">", "0"}]}], "}"}]], "Output",
+ CellChangeTimes->{3.3885205098621817`*^9, 3.388521162923904*^9,
+ 3.388521383975128*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Hk", "[",
+ RowBox[{"n_", ",", "x_"}], "]"}], " ", "=", " ",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(", "\[ImaginaryI]", ")"}], "^",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "-", "1"}], ")"}]}], " ",
+ RowBox[{
+ RowBox[{"Exp", "[",
+ RowBox[{"\[ImaginaryI]", " ", "x"}], "]"}], " ", "/", " ",
+ RowBox[{"(", " ", "x", " ", ")"}]}]}], ")"}], " ",
+ RowBox[{"Sum", "[", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "+", "m"}], ")"}], "!"}], " ", "/", " ",
+ RowBox[{"(", " ",
+ RowBox[{
+ RowBox[{"m", "!"}], " ",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-", "m"}], ")"}], "!"}]}], " ", ")"}]}], ")"}], " ",
+
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "2"}], " ", "I", " ", "x"}], ")"}], "^",
+ RowBox[{"(",
+ RowBox[{"-", "m"}], ")"}]}]}], ",",
+ RowBox[{"{",
+ RowBox[{"m", ",", "0", ",", "n"}], "}"}]}], "]"}]}]}]], "Input"],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{
+ SuperscriptBox["\[ImaginaryI]",
+ RowBox[{
+ RowBox[{"-", "1"}], "-", "n"}]], " ",
+ SqrtBox[
+ FractionBox["2", "\[Pi]"]], " ",
+ SqrtBox[
+ RowBox[{
+ RowBox[{"-", "\[ImaginaryI]"}], " ", "x"}]], " ",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "1"}], "-",
+ RowBox[{"2", " ", "n"}]}], ")"}]}], ",",
+ RowBox[{
+ RowBox[{"-", "\[ImaginaryI]"}], " ", "x"}]}], "]"}]}], "x"]], "Output",
+ CellChangeTimes->{3.388520509977419*^9, 3.388521163015869*^9,
+ 3.388521384037085*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"sbexpand", " ", "=", " ",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n_", ",", "x_"}], "]"}], " ", "->",
+ RowBox[{"FullSimplify", "[",
+ RowBox[{"ComplexExpand", "[",
+ RowBox[{"Re", "[",
+ RowBox[{"Hk", "[",
+ RowBox[{"n", ",", "x"}], "]"}], "]"}], "]"}], "]"}]}], ",", " ",
+ RowBox[{
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n_", ",", "x_"}], "]"}], " ", "->", " ",
+ RowBox[{"FullSimplify", "[",
+ RowBox[{"ComplexExpand", "[",
+ RowBox[{"Im", "[",
+ RowBox[{"Hk", "[",
+ RowBox[{"n", ",", "x"}], "]"}], "]"}], "]"}], "]"}]}]}], " ",
+ "}"}]}]], "Input",
+ CellChangeTimes->{{3.388521123707539*^9, 3.388521142721118*^9}, {
+ 3.3885212638901253`*^9, 3.3885212641200438`*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n_", ",", "x_"}], "]"}], "\[Rule]",
+ RowBox[{
+ FractionBox["1",
+ SqrtBox["x"]],
+ RowBox[{
+ SqrtBox[
+ FractionBox["2", "\[Pi]"]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"Cos", "[",
+ RowBox[{
+ FractionBox["1", "4"], " ",
+ RowBox[{"(",
+ RowBox[{"3", "+",
+ RowBox[{"2", " ", "n"}]}], ")"}], " ", "\[Pi]"}], "]"}], " ",
+ RowBox[{"Re", "[",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{
+ RowBox[{"-", "\[ImaginaryI]"}], " ", "x"}]}], "]"}], "]"}]}],
+ "+",
+ RowBox[{
+ RowBox[{"Im", "[",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{
+ RowBox[{"-", "\[ImaginaryI]"}], " ", "x"}]}], "]"}], "]"}], " ",
+
+ RowBox[{"Sin", "[",
+ RowBox[{
+ FractionBox["1", "4"], " ",
+ RowBox[{"(",
+ RowBox[{"3", "+",
+ RowBox[{"2", " ", "n"}]}], ")"}], " ", "\[Pi]"}], "]"}]}]}],
+ ")"}]}]}]}], ",",
+ RowBox[{
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n_", ",", "x_"}], "]"}], "\[Rule]",
+ RowBox[{
+ FractionBox["1",
+ SqrtBox["x"]],
+ RowBox[{
+ SqrtBox[
+ FractionBox["2", "\[Pi]"]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"Cos", "[",
+ RowBox[{
+ FractionBox["1", "4"], " ",
+ RowBox[{"(",
+ RowBox[{"3", "+",
+ RowBox[{"2", " ", "n"}]}], ")"}], " ", "\[Pi]"}], "]"}], " ",
+ RowBox[{"Im", "[",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{
+ RowBox[{"-", "\[ImaginaryI]"}], " ", "x"}]}], "]"}], "]"}]}],
+ "-",
+ RowBox[{
+ RowBox[{"Re", "[",
+ RowBox[{"BesselK", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{
+ RowBox[{"-", "\[ImaginaryI]"}], " ", "x"}]}], "]"}], "]"}], " ",
+
+ RowBox[{"Sin", "[",
+ RowBox[{
+ FractionBox["1", "4"], " ",
+ RowBox[{"(",
+ RowBox[{"3", "+",
+ RowBox[{"2", " ", "n"}]}], ")"}], " ", "\[Pi]"}], "]"}]}]}],
+ ")"}]}]}]}]}], "}"}]], "Output",
+ CellChangeTimes->{3.38852116318944*^9, 3.388521384132189*^9}]
+}, Open ]],
+
+Cell[BoxData[
+ RowBox[{"Clear", "[",
+ RowBox[{"G", ",", "P", ",", "Q"}], "]"}]], "Input"],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"expandgpq", " ", "=", " ",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"G", "[",
+ RowBox[{"n_", ",", "m_"}], "]"}], " ", "->", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "+", "m"}], ")"}], "!"}], " ", "/", " ",
+ RowBox[{"(", " ",
+ RowBox[{
+ RowBox[{"m", "!"}], " ",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-", "m"}], ")"}], "!"}]}], ")"}]}]}], ",",
+ "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n_", ",", "x_"}], "]"}], " ", "->", " ",
+ RowBox[{"Sum", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"-", "1"}], ")"}], "^", "m"}], " ",
+ RowBox[{"G", "[",
+ RowBox[{"n", ",", " ",
+ RowBox[{"2", "m"}]}], "]"}], " ",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"2", " ", "x"}], ")"}], "^",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "2"}], "m"}], ")"}]}]}], ",", " ",
+ RowBox[{"{",
+ RowBox[{"m", ",", "0", ",",
+ RowBox[{"n", "/", "2"}]}], "}"}]}], "]"}]}], ",",
+ "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"Q", "[",
+ RowBox[{"n_", ",", "x_"}], "]"}], " ", "->", " ",
+ RowBox[{"Sum", "[", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"-", "1"}], ")"}], "^", "m"}], " ",
+ RowBox[{"G", "[",
+ RowBox[{"n", ",",
+ RowBox[{
+ RowBox[{"2", "m"}], "+", "1"}]}], "]"}], " ",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"2", " ", "x"}], ")"}], "^",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "2"}], "m"}], "-", "1"}], ")"}]}]}], ",",
+ RowBox[{"{",
+ RowBox[{"m", ",", "0", ",",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-", "1"}], ")"}], "/", "2"}]}], "}"}]}], "]"}]}]}],
+ "}"}]}]], "Input"],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"G", "[",
+ RowBox[{"n_", ",", "m_"}], "]"}], "\[Rule]",
+ FractionBox[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"m", "+", "n"}], ")"}], "!"}],
+ RowBox[{
+ RowBox[{"m", "!"}], " ",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "m"}], "+", "n"}], ")"}], "!"}]}]]}], ",",
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n_", ",", "x_"}], "]"}], "\[Rule]",
+ RowBox[{
+ UnderoverscriptBox["\[Sum]",
+ RowBox[{"m", "=", "0"}],
+ FractionBox["n", "2"]],
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"-", "1"}], ")"}], "m"], " ",
+ SuperscriptBox["2",
+ RowBox[{
+ RowBox[{"-", "2"}], " ", "m"}]], " ",
+ SuperscriptBox["x",
+ RowBox[{
+ RowBox[{"-", "2"}], " ", "m"}]], " ",
+ RowBox[{"G", "[",
+ RowBox[{"n", ",",
+ RowBox[{"2", " ", "m"}]}], "]"}]}]}]}], ",",
+ RowBox[{
+ RowBox[{"Q", "[",
+ RowBox[{"n_", ",", "x_"}], "]"}], "\[Rule]",
+ RowBox[{
+ UnderoverscriptBox["\[Sum]",
+ RowBox[{"m", "=", "0"}],
+ RowBox[{
+ FractionBox["1", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "1"}], "+", "n"}], ")"}]}]],
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"-", "1"}], ")"}], "m"], " ",
+ SuperscriptBox["2",
+ RowBox[{
+ RowBox[{"-", "1"}], "-",
+ RowBox[{"2", " ", "m"}]}]], " ",
+ SuperscriptBox["x",
+ RowBox[{
+ RowBox[{"-", "1"}], "-",
+ RowBox[{"2", " ", "m"}]}]], " ",
+ RowBox[{"G", "[",
+ RowBox[{"n", ",",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "m"}]}]}], "]"}]}]}]}]}], "}"}]], "Output",
+ CellChangeTimes->{3.388520516299571*^9, 3.3885211633374987`*^9,
+ 3.388521384254126*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"sbexpand2", " ", "=", " ",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n_", ",", "x_"}], "]"}], " ", "->", " ",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "/", "x"}], ")"}], " ",
+ RowBox[{"(", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",", "x"}], "]"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{"x", "-",
+ RowBox[{"Pi", " ",
+ RowBox[{"n", "/", "2"}]}]}], "]"}]}], " ", "+", " ",
+ RowBox[{
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",", "x"}], "]"}], " ",
+ RowBox[{"Cos", "[",
+ RowBox[{"x", "-",
+ RowBox[{"Pi", " ",
+ RowBox[{"n", "/", "2"}]}]}], "]"}]}]}], ")"}]}]}], ",",
+ "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n_", ",", "x_"}], "]"}], " ", "->",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"-", "1"}], ")"}], "^",
+ RowBox[{"(",
+ RowBox[{"n", "+", "1"}], ")"}]}], " ",
+ RowBox[{"(",
+ RowBox[{"1", "/", "x"}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",", "x"}], "]"}], " ",
+ RowBox[{"Cos", "[", " ",
+ RowBox[{"x", "+", " ",
+ RowBox[{"Pi", " ",
+ RowBox[{"n", " ", "/", "2"}]}]}], "]"}]}], " ", "-", " ",
+ RowBox[{
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",", "x"}], "]"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{"x", " ", "+", " ",
+ RowBox[{"Pi", " ",
+ RowBox[{"n", "/", "2"}]}]}], "]"}]}]}], ")"}]}]}]}],
+ "}"}]}]], "Input",
+ CellChangeTimes->{{3.388521125871183*^9, 3.388521144343226*^9}, {
+ 3.388521243020225*^9, 3.388521243282118*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n_", ",", "x_"}], "]"}], "\[Rule]",
+ FractionBox[
+ RowBox[{
+ RowBox[{
+ RowBox[{"Cos", "[",
+ RowBox[{
+ FractionBox[
+ RowBox[{"n", " ", "\[Pi]"}], "2"], "-", "x"}], "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",", "x"}], "]"}]}], "-",
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",", "x"}], "]"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ FractionBox[
+ RowBox[{"n", " ", "\[Pi]"}], "2"], "-", "x"}], "]"}]}]}], "x"]}],
+ ",",
+ RowBox[{
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n_", ",", "x_"}], "]"}], "\[Rule]",
+ FractionBox[
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"-", "1"}], ")"}],
+ RowBox[{"1", "+", "n"}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"Cos", "[",
+ RowBox[{
+ FractionBox[
+ RowBox[{"n", " ", "\[Pi]"}], "2"], "+", "x"}], "]"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",", "x"}], "]"}]}], "-",
+ RowBox[{
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",", "x"}], "]"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ FractionBox[
+ RowBox[{"n", " ", "\[Pi]"}], "2"], "+", "x"}], "]"}]}]}], ")"}]}],
+ "x"]}]}], "}"}]], "Output",
+ CellChangeTimes->{3.388521163356962*^9, 3.38852138427607*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",", "x"}], "]"}], ",", " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",", "x"}], "]"}]}], "}"}], "/.", " ", "sbexpand"}],
+ " ", ")"}], " ", "\[Equal]", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"{", " ",
+ RowBox[{
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",", "x"}], "]"}], ",", " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",", "x"}], "]"}]}], "}"}], " ", "/.", " ",
+ "sbexpand2"}], " ", "//.", " ", "expandgpq"}], ")"}]}], " ", "/.", " ",
+
+ RowBox[{"n", "\[Rule]", "3"}]}], " ", "//", " ", "FullSimplify"}]], "Input",\
+
+ CellChangeTimes->{{3.388521127436719*^9, 3.3885211467225924`*^9}, {
+ 3.388521271745864*^9, 3.388521273200053*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ FractionBox["1",
+ SuperscriptBox["x", "4"]],
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "x"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "15"}], "+",
+ SuperscriptBox["x", "2"]}], ")"}], " ",
+ RowBox[{"Cos", "[", "x", "]"}]}], "+",
+ RowBox[{"Re", "[",
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"\[ImaginaryI]", " ", "x"}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "15"}], " ", "\[ImaginaryI]"}], "+",
+ RowBox[{"x", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "15"}], "+",
+ RowBox[{"x", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"6", " ", "\[ImaginaryI]"}], "+", "x"}], ")"}]}]}],
+ ")"}]}]}], ")"}]}], "]"}], "+",
+ RowBox[{"3", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "5"}], "+",
+ RowBox[{"2", " ",
+ SuperscriptBox["x", "2"]}]}], ")"}], " ",
+ RowBox[{"Sin", "[", "x", "]"}]}]}], ")"}]}], ",",
+ RowBox[{
+ FractionBox["1",
+ SuperscriptBox["x", "4"]],
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"3", " ",
+ RowBox[{"(",
+ RowBox[{"5", "-",
+ RowBox[{"2", " ",
+ SuperscriptBox["x", "2"]}]}], ")"}], " ",
+ RowBox[{"Cos", "[", "x", "]"}]}], "+",
+ RowBox[{"Im", "[",
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"\[ImaginaryI]", " ", "x"}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "15"}], " ", "\[ImaginaryI]"}], "+",
+ RowBox[{"x", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "15"}], "+",
+ RowBox[{"x", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"6", " ", "\[ImaginaryI]"}], "+", "x"}], ")"}]}]}],
+ ")"}]}]}], ")"}]}], "]"}], "-",
+ RowBox[{"x", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "15"}], "+",
+ SuperscriptBox["x", "2"]}], ")"}], " ",
+ RowBox[{"Sin", "[", "x", "]"}]}]}], ")"}]}]}], "}"}], "\[Equal]",
+ RowBox[{"{",
+ RowBox[{"0", ",", "0"}], "}"}]}]], "Output",
+ CellChangeTimes->{3.388520520694644*^9, 3.388521163655118*^9,
+ 3.388521384578705*^9}]
+}, Open ]],
+
+Cell[BoxData[{
+ RowBox[{"transcossin", ":=",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"a_", " ",
+ RowBox[{"Cos", "[", "z_", "]"}]}], "+",
+ RowBox[{"b_", " ",
+ RowBox[{"Sin", "[", "z_", "]"}]}]}], "\[Rule]",
+ RowBox[{
+ RowBox[{"Sqrt", "[",
+ RowBox[{"1", "+",
+ RowBox[{
+ RowBox[{"b", "^", "2"}], "/",
+ RowBox[{"a", "^", "2"}]}]}], "]"}], " ", "a", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{"z", "-",
+ RowBox[{"ArcTan", "[",
+ RowBox[{"b", "/", "a"}], "]"}]}], "]"}]}]}],
+ "}"}]}], "\[IndentingNewLine]",
+ RowBox[{"getcosarg", " ", ":=", " ",
+ RowBox[{"{", " ",
+ RowBox[{
+ RowBox[{"a_", " ",
+ RowBox[{"Cos", "[", "z_", "]"}]}], " ", "\[Rule]", " ", "z"}],
+ "}"}]}]}], "Input"],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"falpha", "=",
+ RowBox[{"Simplify", "[",
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"3", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"3", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}]}], "/.",
+ RowBox[{"{",
+ RowBox[{"r", "\[Rule]", "a"}], "}"}]}], "]"}]}]], "Input",
+ CellChangeTimes->{{3.38852085056036*^9, 3.3885208515586576`*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}]], "Output",
+ CellChangeTimes->{{3.3885208523940907`*^9, 3.388520853650619*^9},
+ 3.388521164133051*^9, 3.3885213846998577`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"transsbessel", "=",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"n_", "+",
+ RowBox[{"2", " ", "nn_",
+ RowBox[{"(",
+ RowBox[{"1", "/", "2"}], ")"}]}]}], ",", "z_"}], "]"}], "\[Rule]",
+ RowBox[{
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{"n", "+", "nn", "-",
+ RowBox[{"1", "/", "2"}]}], ",", "z"}], "]"}], " ", "/", " ",
+ RowBox[{"Sqrt", "[",
+ RowBox[{"Pi", "/",
+ RowBox[{"(",
+ RowBox[{"2", " ", "z"}], ")"}]}], "]"}]}]}], ",",
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"n_", "+",
+ RowBox[{"2", " ", "nn_", " ",
+ RowBox[{"(",
+ RowBox[{"1", "/", "2"}], ")"}]}]}], ",", "z_"}], "]"}], "\[Rule]",
+ RowBox[{
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{
+ RowBox[{"n", "+", "nn", "-",
+ RowBox[{"1", "/", "2"}]}], ",", "z"}], "]"}], " ", "/", " ",
+ RowBox[{"Sqrt", "[",
+ RowBox[{"Pi", " ", "/", " ",
+ RowBox[{"(",
+ RowBox[{"2", "z"}], ")"}]}], "]"}]}]}]}], "}"}]}]], "Input",
+ CellChangeTimes->{{3.38852113049298*^9, 3.3885211492047243`*^9}, {
+ 3.388521320556066*^9, 3.388521320793867*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"n_", "+", "nn_"}], ",", "z_"}], "]"}], "\[Rule]",
+ FractionBox[
+ RowBox[{
+ SqrtBox[
+ FractionBox["2", "\[Pi]"]], " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ FractionBox["1", "2"]}], "+", "n", "+", "nn"}], ",", "z"}], "]"}]}],
+
+ SqrtBox[
+ FractionBox["1", "z"]]]}], ",",
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"n_", "+", "nn_"}], ",", "z_"}], "]"}], "\[Rule]",
+ FractionBox[
+ RowBox[{
+ SqrtBox[
+ FractionBox["2", "\[Pi]"]], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ FractionBox["1", "2"]}], "+", "n", "+", "nn"}], ",", "z"}], "]"}]}],
+
+ SqrtBox[
+ FractionBox["1", "z"]]]}]}], "}"}]], "Output",
+ CellChangeTimes->{3.388521164206305*^9, 3.3885213851583157`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"transsbessel", "=",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"n_", "+",
+ RowBox[{"2", " ", "nn_",
+ RowBox[{"(",
+ RowBox[{"1", "/", "2"}], ")"}]}]}], ",", "z_"}], "]"}], "\[Rule]",
+ RowBox[{
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{"n", "+", "nn", "-",
+ RowBox[{"1", "/", "2"}]}], ",", "z"}], "]"}], " ", "/", " ",
+ RowBox[{"Sqrt", "[",
+ RowBox[{"Pi", "/",
+ RowBox[{"(",
+ RowBox[{"2", " ", "z"}], ")"}]}], "]"}]}]}], ",",
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"n_", "+",
+ RowBox[{"2", " ", "nn_", " ",
+ RowBox[{"(",
+ RowBox[{"1", "/", "2"}], ")"}]}]}], ",", "z_"}], "]"}], "\[Rule]",
+ RowBox[{
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{
+ RowBox[{"n", "+", "nn", "-",
+ RowBox[{"1", "/", "2"}]}], ",", "z"}], "]"}], " ", "/", " ",
+ RowBox[{"Sqrt", "[",
+ RowBox[{"Pi", " ", "/", " ",
+ RowBox[{"(",
+ RowBox[{"2", "z"}], ")"}]}], "]"}]}]}]}], "}"}]}]], "Input",
+ CellChangeTimes->{{3.3885209841902657`*^9, 3.388520995453813*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"n_", "+", "nn_"}], ",", "z_"}], "]"}], "\[Rule]",
+ FractionBox[
+ RowBox[{
+ SqrtBox[
+ FractionBox["2", "\[Pi]"]], " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ FractionBox["1", "2"]}], "+", "n", "+", "nn"}], ",", "z"}], "]"}]}],
+
+ SqrtBox[
+ FractionBox["1", "z"]]]}], ",",
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"n_", "+", "nn_"}], ",", "z_"}], "]"}], "\[Rule]",
+ FractionBox[
+ RowBox[{
+ SqrtBox[
+ FractionBox["2", "\[Pi]"]], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ FractionBox["1", "2"]}], "+", "n", "+", "nn"}], ",", "z"}], "]"}]}],
+
+ SqrtBox[
+ FractionBox["1", "z"]]]}]}], "}"}]], "Output",
+ CellChangeTimes->{3.388520997422155*^9, 3.3885211643166428`*^9,
+ 3.388521385186131*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"falphahb", " ", "=", " ",
+ RowBox[{
+ RowBox[{"falpha", " ", "/.", " ", "transsbessel"}], " ", "//", " ",
+ "Simplify"}]}]], "Input",
+ CellChangeTimes->{{3.388521354617242*^9, 3.3885213548144703`*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ FractionBox["1", "\[Pi]"],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"a", " ", "s"}]], " ", "u", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}],
+ ")"}]}]}]], "Output",
+ CellChangeTimes->{3.388521164410491*^9, 3.388521385270865*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ FractionBox["1", "\[Pi]"],
+ RowBox[{"(",
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"a", " ", "s"}]], " ", "u", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}]}],
+ ")"}]}]], "Input",
+ CellChangeTimes->{{3.38852113244213*^9, 3.388521152653019*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ FractionBox["1", "\[Pi]"],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"a", " ", "s"}]], " ", "u", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}],
+ ")"}]}]}]], "Output",
+ CellChangeTimes->{3.388521164428734*^9, 3.388521385295793*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"tmp", " ", "=",
+ RowBox[{"falphahb", " ", "/.", " ", "sbexpand2"}]}]], "Input",
+ CellChangeTimes->{{3.388521366185176*^9, 3.3885213664146976`*^9}, {
+ 3.388521930078478*^9, 3.388521935531436*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ FractionBox["1", "\[Pi]"],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"a", " ", "s"}]], " ", "u", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ FractionBox["1",
+ RowBox[{"a", " ", "s", " ",
+ SuperscriptBox["u", "2"]}]],
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"-", "1"}], ")"}],
+ RowBox[{"1", "+", "n"}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"Cos", "[",
+ RowBox[{
+ FractionBox[
+ RowBox[{"n", " ", "\[Pi]"}], "2"], "+",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ FractionBox[
+ RowBox[{"n", " ", "\[Pi]"}], "2"], "+",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"Cos", "[",
+ RowBox[{
+ FractionBox[
+ RowBox[{"n", " ", "\[Pi]"}], "2"], "-",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ FractionBox[
+ RowBox[{"n", " ", "\[Pi]"}], "2"], "-",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], "+",
+ RowBox[{
+ FractionBox["1",
+ RowBox[{"a", " ", "u"}]],
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"-", "1"}], ")"}],
+ RowBox[{"1", "+", "n"}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"Cos", "[",
+ RowBox[{
+ FractionBox[
+ RowBox[{"n", " ", "\[Pi]"}], "2"], "+",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ FractionBox[
+ RowBox[{"n", " ", "\[Pi]"}], "2"], "+",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], " ",
+ RowBox[{"(",
+ RowBox[{"1", "+", "n"}], ")"}], " ", "\[Pi]"}], "-",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], " ",
+ RowBox[{"(",
+ RowBox[{"1", "+", "n"}], ")"}], " ", "\[Pi]"}], "-",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], "+",
+ RowBox[{
+ FractionBox["1",
+ RowBox[{"a", " ", "u"}]],
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"Cos", "[",
+ RowBox[{
+ FractionBox[
+ RowBox[{"n", " ", "\[Pi]"}], "2"], "-",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ FractionBox[
+ RowBox[{"n", " ", "\[Pi]"}], "2"], "-",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ FractionBox["1",
+ RowBox[{"s", " ", "u"}]],
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"-", "1"}], ")"}],
+ RowBox[{"1", "+", "n"}]], " ",
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"Cos", "[",
+ RowBox[{
+ FractionBox[
+ RowBox[{"n", " ", "\[Pi]"}], "2"], "+",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ FractionBox[
+ RowBox[{"n", " ", "\[Pi]"}], "2"], "+",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], "-",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"-", "1"}], ")"}],
+ RowBox[{"2", "+", "n"}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], " ",
+ RowBox[{"(",
+ RowBox[{"1", "+", "n"}], ")"}], " ", "\[Pi]"}], "+",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], " ",
+ RowBox[{"(",
+ RowBox[{"1", "+", "n"}], ")"}], " ", "\[Pi]"}], "+",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}]}]}]}],
+ ")"}]}]}]], "Output",
+ CellChangeTimes->{3.388521164498811*^9, 3.3885213853344717`*^9,
+ 3.388521936137082*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"tmp2", " ", "=",
+ RowBox[{
+ RowBox[{
+ RowBox[{"tmp", " ", "//", " ", "TrigFactor"}], "//", " ", "Simplify"}],
+ " ", "//", " ", "TrigFactor"}]}]], "Input"],
+
+Cell[BoxData[
+ RowBox[{
+ FractionBox["1",
+ RowBox[{"\[Pi]", " ",
+ SqrtBox[
+ RowBox[{"a", " ", "s"}]], " ", "u"}]],
+ RowBox[{"2", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"n", " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"h", " ", "s", " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"n", " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"h", " ", "s", " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "n"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"h", " ", "s", " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"P", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"n", " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"h", " ", "s", " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}],
+ ")"}]}]}]], "Output",
+ CellChangeTimes->{3.388521164517221*^9, 3.388521385356614*^9,
+ 3.388521940730692*^9}]
+}, Open ]],
+
+Cell[BoxData[
+ RowBox[{"transcossingroup", " ", ":=", " ",
+ RowBox[{"{", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"a_", " ",
+ RowBox[{"Cos", "[", "x_", "]"}]}], " ", "+", " ",
+ RowBox[{"b_", " ",
+ RowBox[{"Cos", "[", "x_", "]"}]}]}], " ", "\[Rule]", " ",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", " ", "+", " ", "b"}], ")"}], " ",
+ RowBox[{"Cos", "[", "x", "]"}]}]}], ",", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"a_", " ",
+ RowBox[{"Sin", "[", "x_", "]"}]}], " ", "+", " ",
+ RowBox[{"b_", " ",
+ RowBox[{"Sin", "[", "x_", "]"}]}]}], " ", "\[Rule]", " ",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "+", "b"}], ")"}], " ",
+ RowBox[{"Sin", "[", "x", "]"}]}]}]}], "}"}]}]], "Input"],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"falpha2", " ", "=", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"tmp2", "//.", " ", "transcossingroup"}], " ", "/.", " ",
+ "transcossin"}], " ", "//", " ", "FullSimplify"}]}]], "Input"],
+
+Cell[BoxData[
+ RowBox[{
+ FractionBox["1",
+ RowBox[{"\[Pi]", " ",
+ SqrtBox[
+ RowBox[{"a", " ", "s"}]], " ", "u"}]],
+ RowBox[{"2", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "-",
+ RowBox[{"ArcTan", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"P", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"P", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}]}],
+ "]"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"P", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}], " ",
+ RowBox[{"\[Sqrt]",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"P", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}], "2"],
+ "/",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"P", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}],
+ "2"]}]}], ")"}]}]}]}]], "Output",
+ CellChangeTimes->{3.388521165004939*^9, 3.388521385870989*^9,
+ 3.388522002923358*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"falphaaux", " ", "=", " ",
+ RowBox[{
+ RowBox[{"falpha2", " ", "/.", " ", "getcosarg"}], " ", "//", " ",
+ "FullSimplify"}]}]], "Input"],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "-",
+ RowBox[{"ArcTan", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"P", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"P", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}]}],
+ "]"}]}]], "Output",
+ CellChangeTimes->{3.3885211651360893`*^9, 3.388521385992667*^9,
+ 3.388522023876793*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"falpharem", " ", "=", " ",
+ RowBox[{
+ FractionBox["1",
+ RowBox[{"\[Pi]", " ",
+ SqrtBox[
+ RowBox[{"a", " ", "s"}]], " ", "u"}]], "2",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"P", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}], " ",
+ RowBox[{"\[Sqrt]",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"P", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}], "2"],
+ "/",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"P", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}],
+ "2"]}]}], ")"}]}]}]}]], "Input",
+ CellChangeTimes->{{3.388525732882203*^9, 3.3885257399190893`*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ FractionBox["1",
+ RowBox[{"\[Pi]", " ",
+ SqrtBox[
+ RowBox[{"a", " ", "s"}]], " ", "u"}]],
+ RowBox[{"2", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"P", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}], " ",
+ RowBox[{"\[Sqrt]",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"P", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}], "2"],
+ "/",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"P", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}],
+ "2"]}]}], ")"}]}]}]}]], "Output",
+ CellChangeTimes->{3.3885257404412603`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"falphaaux", " ", "//.", " ",
+ RowBox[{"{", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"P", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "\[Rule]", " ", "S"}],
+ ",", " ",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ", "\[Rule]", " ",
+ "T"}]}], "}"}]}], " ", "//", " ", "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.388522713388098*^9, 3.3885227242819843`*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "-",
+ RowBox[{"ArcTan", "[",
+ FractionBox[
+ RowBox[{
+ RowBox[{"T", " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"S", " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}],
+ RowBox[{
+ RowBox[{"S", " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"T", " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}]], "]"}]}]], "Output",
+ CellChangeTimes->{3.388522725029702*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"falpha2", " ", "//.", " ",
+ RowBox[{"{", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"P", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "\[Rule]", " ", "S"}],
+ ",", " ",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ", "\[Rule]", " ",
+ "T"}]}], "}"}]}], " ", "//", " ", "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.388522313153942*^9, 3.388522332144314*^9}, {
+ 3.388522374387163*^9, 3.3885224389215097`*^9}, {3.388522515459194*^9,
+ 3.388522517609126*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ FractionBox["1",
+ RowBox[{"\[Pi]", " ",
+ SqrtBox[
+ RowBox[{"a", " ", "s"}]], " ", "u"}]],
+ RowBox[{"2", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", "-", "s"}], ")"}], " ", "u"}], "-",
+ RowBox[{"ArcTan", "[",
+ FractionBox[
+ RowBox[{
+ RowBox[{"T", " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"S", " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}],
+ RowBox[{
+ RowBox[{"S", " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"T", " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}]], "]"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"S", " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"T", " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"\[Sqrt]",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"S", " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Q", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}], "2"],
+ "/",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"S", " ",
+ RowBox[{"P", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"T", " ",
+ RowBox[{"Q", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}], ")"}], "2"]}]}],
+ ")"}]}]}]}]], "Output",
+ CellChangeTimes->{{3.3885223978387527`*^9, 3.388522440339542*^9},
+ 3.388522522004014*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"Plot", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"P", "[",
+ RowBox[{"3", ",", "x"}], "]"}], " ", "//.", " ", "expandgpq"}], ",",
+ RowBox[{"{",
+ RowBox[{"x", ",", "0", ",", "10"}], "}"}]}], "]"}]], "Input",
+ CellChangeTimes->{{3.388524411617037*^9, 3.3885245069296083`*^9}, {
+ 3.388524565596134*^9, 3.388524589962378*^9}, 3.3885246221987658`*^9}],
+
+Cell[BoxData[
+ GraphicsBox[{{}, {},
+ {Hue[0.67, 0.6, 0.6], LineBox[CompressedData["
+1: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
+FlZNGWzH/T+0WFqh
+ "]]}},
+ AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948],
+ Axes->True,
+ AxesOrigin->{0, 0},
+ PlotRange->{{0, 10}, {-11.042539791457438`, 0.8499999938775509}},
+ PlotRangeClipping->True,
+ PlotRangePadding->{
+ Scaled[0.02],
+ Scaled[0.02]}]], "Output",
+ CellChangeTimes->{{3.3885244413070173`*^9, 3.3885245255228853`*^9}, {
+ 3.388524584473007*^9, 3.388524608415906*^9}, 3.388524641205154*^9}]
+}, Open ]],
+
+Cell[BoxData[
+ RowBox[{"Plot", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"falpha2", " ", "//.", " ", "expandgpq"}], " ", "/.", " ",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"a", "\[Rule]",
+ RowBox[{"10", "^",
+ RowBox[{"-", "7"}]}]}], ",", " ",
+ RowBox[{"s", " ", "\[Rule]",
+ RowBox[{"10", "^",
+ RowBox[{"-", "8"}]}]}], ",",
+ RowBox[{"h", "\[Rule]",
+ RowBox[{"10", "^", "18"}]}], ",", " ",
+ RowBox[{"n", "\[Rule]", "4"}]}], "}"}]}], ",",
+ RowBox[{"{",
+ RowBox[{"u", ",", "0", ",", "1000000000"}], "}"}]}], "]"}]], "Input",
+ CellChangeTimes->{{3.388527417093281*^9, 3.388527418220888*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"Plot", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"falpharem", "//.", " ", "expandgpq"}], " ", "/.", " ",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"a", "\[Rule]",
+ RowBox[{"10", "^",
+ RowBox[{"-", "7"}]}]}], ",", " ",
+ RowBox[{"s", " ", "\[Rule]",
+ RowBox[{"10", "^",
+ RowBox[{"-", "8"}]}]}], ",",
+ RowBox[{"h", "\[Rule]",
+ RowBox[{"10", "^", "18"}]}], ",", " ",
+ RowBox[{"n", "\[Rule]", "4"}]}], "}"}]}], ",",
+ RowBox[{"{",
+ RowBox[{"u", ",", "0", ",", "1000000000"}], "}"}]}], "]"}]], "Input",
+ CellChangeTimes->{
+ 3.38852567134735*^9, {3.388525749411304*^9, 3.388525751042924*^9}, {
+ 3.38852598801584*^9, 3.388525994324527*^9}}],
+
+Cell[BoxData[
+ GraphicsBox[{{}, {},
+ {Hue[0.67, 0.6, 0.6], LineBox[CompressedData["
+1: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
+kaSL2xLVz13Bnc/6JbkD9/8Aa3ervQ==
+ "]],
+ LineBox[{{3.742191763589244*^7, -1.2441415859890924`*^10}, {
+ 3.742201604522565*^7, 1.870722235014435*^10}}]}},
+ AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948],
+ Axes->True,
+ AxesOrigin->{0, 0},
+ PlotRange->{{0, 1000000000}, {-1.2441415859890924`*^10,
+ 1.870722235014435*^10}},
+ PlotRangeClipping->True,
+ PlotRangePadding->{
+ Scaled[0.02],
+ Scaled[0.02]}]], "Output",
+ CellChangeTimes->{3.388525757361311*^9, 3.38852584593808*^9,
+ 3.38852605124797*^9, 3.388527041048134*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"Plot", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"falphaaux", " ", "//.", " ", "expandgpq"}], " ", "/.", " ",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"a", "\[Rule]",
+ RowBox[{"10", "^",
+ RowBox[{"-", "7"}]}]}], ",", " ",
+ RowBox[{"s", " ", "\[Rule]",
+ RowBox[{"10", "^",
+ RowBox[{"-", "8"}]}]}], ",",
+ RowBox[{"h", "\[Rule]",
+ RowBox[{"10", "^", "18"}]}], ",", " ",
+ RowBox[{"n", "\[Rule]", "4"}]}], "}"}]}], ",",
+ RowBox[{"{",
+ RowBox[{"u", ",", "0", ",", "1000000000"}], "}"}]}], "]"}]], "Input",
+ CellChangeTimes->{{3.388524645693027*^9, 3.388524710404428*^9}, {
+ 3.388524822120612*^9, 3.388524845309495*^9}, {3.3885249534647303`*^9,
+ 3.3885249540463057`*^9}, {3.388525128457423*^9, 3.3885251340078697`*^9}, {
+ 3.388525179930168*^9, 3.3885251807124367`*^9}, {3.388525298560804*^9,
+ 3.388525300048581*^9}, 3.388525391850987*^9, {3.388526003248827*^9,
+ 3.3885260072391977`*^9}}],
+
+Cell[BoxData[
+ GraphicsBox[{{}, {},
+ {Hue[0.67, 0.6, 0.6], LineBox[CompressedData["
+1:eJwd1Hk4lN0bB3CJkrei11KWFErWqRRmhjznpgjZ12whLfZJsu/ZIhUKMYmy
+lUyj0IjsIkvUK0skERUtSPIY6ff4/XGuc32u7x/3uc851y3p4mN2ipODg+M7
+sVZ30Wntk2FnD6JtSoct2JI45mA+g/axtCDYVef/vrzUI6PAMoOkHdk2qy4W
+pMeXjpvDWsundqtuJp35vJfPEq5PPnJa9ehRZb1HVCuopZ89u2q2y597B09b
+A2+wsN+qhcPaeJ+k2ECRz9nYVStnpHlQnh2H9qtZOas2KnPsrP5sC/KhOY2r
+du+QU9IUtAfnAd1fq46bmE+uxxzA6Gqk+jLhvL9137U8HEGoITZ71TUiScYt
+6SdgXpm0/Q/hryIKA9LOTuAsrt6+6qXCazwTC05gr1jOWCHMc3CBXHjZGfhv
+Gw/+XT1fg53bGSkXWKf6yW6NFI7tMmq4Kcsi/G7JYC1h5SGZ9i+GJ2G0Cpq4
+CaOzl5fuj5+Ej1b6ozyEjX7NynsGucJkrHzrRsL20dZ2SnynQDwGu7OFsDvf
+s6Tv+aeg8uXKna2EA+lSNQ+ppyGZ3c+5g3CcXMJXWs9pqHmxh0uWcFrlN3Hl
+02fgQbDGT2XCudrmhj/ZZ8DBwWMPIszoYYWVp5yFMQM1LhPCNQ4SjAt73KCu
+NH7JhXD71MUR1WducNb5x6UgwgMBXzYvmrmDVQ2n1nXCk1zGWNVnd3DJrm56
+THg+pdwnONwDKEemGgcIc+4QzVUX9ATdorL1XNI4xv8gomf5nicYUDfRVAlL
+UCY4ajEv2JvrOEsjrPhcf3/EGy9I7OHIKidMMWc6Iw9vKPUaSeXchWM6o0Kp
+a9b4QHwej6Q9YQuvkMbGdB9A9wyKGgnvD6PhIEyDcI7aIrXdOMbSvpsi5UwD
+oWmdlhrCGG+f3NoHNCj+vq3FXAbHnvfwNI4v0MCkQPzaCmHDDHXbZjgHtvuP
+Hqzbg2O9Dt5z+ZfPwaHI9xMZsjhmtysvMbb/HAQF3eRIksOxsan/pE5L+UI+
+qZAnWx7H3MrWVet4+cKBXakl7Qo4NhNAMd/D8oXBAc4GcSUcI/Mq61psOA9x
+vinMChKORdLl1aNsz4NwlG1F+D4cayNJ72WUnAeGSbdIqDKO8TWISQ8tn4fe
+twKujw7imJW54FYeIz84pphuKaOGYzkTG/9Rue0Hyg06U8MU4j0CuP86z/jB
+7TPe1kMaOEbiXZm7AhcgV3wH7x6EY/70hcnq1AtQYapZ0KKNY7WkH28/j1+A
+eCHZvzW6OLau4dNLIRV/UH0yLSFwjLgP89FGrTh/+HpHmvLSBMeuTwxU+vT7
+w6Krx4N5SxwbDnh1ny4bAKkzAX8u2+GYJ70xdaE9APykTswoncWxclJ1nLR4
+IORGGikf9sGx5frHwSZegYBu70v45I9jh80feIfVBsJIXcwPiQgcS5rId7nP
+FwS+cWTv2Xgcex1wy6rfKQiMUlY2nk7BMVHedH2uR0Fg0nn51cVsHLtPild2
+tAiGOw8EyvrKcGyuPkImqSAYyt1NrovU4hjVPFCUtRAMuSmeUpIdxH8OcOP8
+92YIxFVlZmd+wrF/eV0WNKdC4GW/gbnQbxyzpdtOeaiHgqLrtiO09UvYl3qD
+1y3vQkFUgnV8QH4J22d++PkcKQy4I5UZM4eWsMAJjac7IsPAuTYx84/pEsbD
+S7oTJBUOAXqZnTxhS5gJXSa98Hw4ZBhvV+G/voRlknYk/tccDiPbyz0lHixh
+sub8vkpnIkCkq93C8f0SRpvgOW3LioAbLVnt6UtL2HA1R2kTVyS48o5kjguz
+iXmC585YRkJN0kdasxkbe+w7laC/GAkZAjsyB/vZWF/1JOeHnVEQv0BL+sZm
+Y0tc46EBelEwuF44WUpyGZMwer+wyTcKjOzHfgTqLmNaGUO0/KwosOrc1jLj
+vYydHu2fojZFgV9xz8iljGUsUa7X9dV0FJAM6nOMGgQQw7dn5IxgNLhWrshy
+dwqg19WdNisa0XA8L+XS2n4BtMD14vX1U9EgH2YcqjcmgESNWo4pXImG4ewb
+zL5vAshl9BmyeR8NRapspxZuQTTL9VD2UdRFIM/57P9EFkSX48MFMosuwkFJ
+v8t+RwSRLK/RSljXRegajsnRMBNETnzf/tMTiYEPNg69wZ6CqEdEIeIDMwaa
+2yaFcu8KIgap6A3/aCy87tmRziMuhPTL/OsXuONg93N3/WUFITR5QKdkWCEO
+RoPSJSQ1hBAxfyKLA+LAMTD3OtteCCVrSysivniY1/j94kOuEPK0uR3to5kA
+3oOYw+Q+YcQz5O1l6ZoAIeGhmrnawijfQdNGPTEB9P5hmEVZCaMhl3dK6/sS
+AGtpfF4ZKoz0vcQGc7wugXylnPT7dmEkF52x9yU9EVpdFv4r9dqKJkuuDiuy
+L0Ov3pz45IttyDdPLcBiZzKY4KXhIqPb0Er6+y2hR5Jhh/XuA64L25Bw9F7d
+jqvJkH83HtOUFkE6Nt1lbruugE5Q8Dg7TAQVcPHFFxpeBZP0noLjaqLoEal1
+G3/PNfB/rbhc/0QMnYvXaboklQZ47FPv2HEJ9Gc+r1dLMRPitb+QnSWlUXyK
+K8fUezokJH/QT62VQXy/wE9hORdmsleYm5vlkX3PwERo6F3wui0WbtxKQrLa
+d11bXhVAsU3O4Yu6+xFbgN5AO14Mb91/HMiwPoAMQ9sUBCrvg5MEz80cHRWU
+JxCa1rOuFBqWc/N/K6oh/+w0wXf8pfA+S+OumooaOiZdcuOLaCkU2K4tDjik
+hhaU32Zw7i0FO/5DTb8NidyMTD9oXQpBrFTqorcaWrw2n59ZVAq3sgtXcKYa
+MtrsVel0lAEv6+7R/h4ko13pMWpeZgzIjTboxg6REb6dzgqyZ8C/5beVIo+Q
+Ub5Sx9NUGgPmZ9M/c1gR+TG5uuZMBixaGJhxBhB50kSr7BcGeJw8/4KriozY
+PI6DM5cewt9W3dl1hyiIdOK+qmnaQzD0LLtedZiCXCoW0sroD0H3zzVlz2MU
+1OZ81cj34UOg5Yg4vLKjoPSn9U0/ex/CPS8Ft+xgChKp3GLN5mPCqR43DRKL
+gpQ/PIktEWSCSnfMhdE6Cjq20bHcToQJcry1hamtFBTpcn9LjRQTSuUXZxb6
+KGhys3ZnqAoTUuISd9b9oqDyM36wYsuEFX/3TsMDVPQyVZTGOMGEzjlb/79U
+Kvr8rD7H0ZUJHU57hMu0qEhMcNNyrRdRP/65qqAZFUXXF1RGRDKhTfzw4iCN
+iujTBhN7Y5mgWEIxTAqkokrhOYHRS0yId55L14ikoi+emudQGlE/TYrn9lUq
+MhHpV1hTyIRuDZbDSQYVuR8Osy27zwSOLA5LwUoqivGRvuT8kAkMYRxreUZF
+T1p8JhtYTHhZ5Dsj00VFPTNCQr7PmCAvyKzo76WiKbEabalGoh9jYe+EYSqS
+8OXJi+5ggvrXvidfpqmIfIvRrdzDBNbJ70ezflKRaZvFylgvE5YHijv12UT9
+n0uKaYNMmBCY0GJzqqMYiTw77REm/PTGkeekGsrR0038OcaE0W9vssW/qyGW
+3zfW3U9MmBR79bnzlxqabqcIc80yQVY710aJm4zqzei8IgtM0GIZV0dvIqP0
+tysrSmwmsA8JbBoQIiOtqaZP1txl8Nt6f1i0DBnd3GBUVSJSBrpWhkl9umSk
+e9TF3lyrDE5uSFMPSSSjuy2Jd+6klUGB08aBCj4KsqsfIoHqI3Azyer7JEJF
+xwzhedKFx5AsKv/AXFoDLRegj6a3y+GeR9fk4HpNxFSyPqc3VgH6uyP8bm5A
+SDpqfWwN3xOQFW2lNi0jlLW2e72zFQvSuIe5+NdqodTtthsEMqqgxf3jS/e1
+2khvbUQKanwK70beNKfNaiOubdUJt9fVwHnVjwatc4dR+OK1dcEqz2DxJXfh
+hrEjKIgmv9bFsRYsHY479HfooICtQ94huXXA/tnzqKJNF4m1pO5LOF0PJmrb
+jdeVH0XLN7SdPTY0QHAz78jZR3rolrKVqeW9BjhLKwlOLtFHEhUVXGGajXBp
+jYzq+TQDtLM71+fQaCPY78N4/a4cQ5zdA7fUA5rgNyUEsw00RAVZvknon2aw
+PjPfZ+BghF78ydg3UtIMzufmqx0sjVGXDu9NojvgSyjLBgkTZL6Hp0rpYwuo
+YtJ7XbNNUNU3M/r7kOcQYP84RIzfFL2P+KuZyd8KF2IHcI9oUxR/T+3ml7JW
+oHy2lzRcMUWbq2oqA4+2gYOiNPnVOTO01akrKXe6DeKkQnUmvpuhD6+xnd1J
+L8BMSIV6080cJSr8DVCXbIexTBNB9pA5qhDTj0dN7fBqKmrkq7UFqp/9cPyi
+bQfIta15lNJhgZLShqY7v3cA3ye39lENSzTQ6aTy8GonhH96F1L3xBJxf1XW
+6t7dBcldyZiNvBV6fOfauoS2LgjbEtUdUWiFSFcNg7MJl54UKbxCuDiE9zuD
+sFZUWegtwnSLmDdvCN+V+CBXTThuXWC+9IsuMBo7FLNA2Nb9hFYd4ezkb2Sv
+IivEoUwKX2jvArb/7ju2xVYoWGJ6dkNHFwyqPgl0I/yLt/jUdsKKjUeNAwlP
+jUsaHia8V91j+Qbh3htC4qmEaypLrV4RLsKXq5Q6u+BYr+w/R+9ZIanJKiUg
+nGfw5IMVYfpr/zwLwr5XjrBOEb5WMpMQQjjW3/nURcLBDh+tXxCO7kmvqyU8
+r5fXMUy4+q50ehdhH1VHbIbweS2m5zBhV74Bma1dXXBirE1kifAI+3qWPOHr
+4xYzPPet0PHPpps1CesxR59vJdzbuznalHDEUc9bMoSNGjp+uRJWefD7vArh
+/wH7hBNU
+ "]]}},
+ AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948],
+ Axes->True,
+ AxesOrigin->{0, 0},
+ PlotRange->{{0, 1000000000}, {0., 90.65951251208101}},
+ PlotRangeClipping->True,
+ PlotRangePadding->{
+ Scaled[0.02],
+ Scaled[0.02]}]], "Output",
+ CellChangeTimes->{
+ 3.388524711838819*^9, {3.3885248116783247`*^9, 3.388524828595561*^9},
+ 3.388524945129938*^9, 3.388525054636407*^9, 3.388525154516152*^9,
+ 3.388525309563314*^9, 3.38852549281048*^9, 3.3885273190563087`*^9}]
+}, Open ]]
+},
+WindowSize->{520, 1121},
+WindowMargins->{{Automatic, -868}, {-28, Automatic}},
+FrontEndVersion->"6.0 for Linux x86 (64-bit) (April 20, 2007)",
+StyleDefinitions->"Default.nb"
+]
+(* End of Notebook Content *)
+
+(* Internal cache information *)
+(*CellTagsOutline
+CellTagsIndex->{}
+*)
+(*CellTagsIndex
+CellTagsIndex->{}
+*)
+(*NotebookFileOutline
+Notebook[{
+Cell[CellGroupData[{
+Cell[590, 23, 466, 11, 77, "Input"],
+Cell[1059, 36, 411, 11, 52, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[1507, 52, 1142, 38, 77, "Input"],
+Cell[2652, 92, 653, 22, 58, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[3342, 119, 835, 22, 121, "Input"],
+Cell[4180, 143, 2726, 87, 269, "Output"]
+}, Open ]],
+Cell[6921, 233, 91, 2, 32, "Input"],
+Cell[CellGroupData[{
+Cell[7037, 239, 1986, 65, 143, "Input"],
+Cell[9026, 306, 1863, 64, 167, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[10926, 375, 1862, 56, 209, "Input"],
+Cell[12791, 433, 1505, 49, 149, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[14333, 487, 946, 27, 121, "Input"],
+Cell[15282, 516, 2512, 77, 155, "Output"]
+}, Open ]],
+Cell[17809, 596, 780, 25, 99, "Input"],
+Cell[CellGroupData[{
+Cell[18614, 625, 1900, 56, 187, "Input"],
+Cell[20517, 683, 1546, 51, 150, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[22100, 739, 1285, 37, 165, "Input"],
+Cell[23388, 778, 1005, 35, 194, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[24430, 818, 1237, 36, 165, "Input"],
+Cell[25670, 856, 1030, 36, 194, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[26737, 897, 230, 5, 32, "Input"],
+Cell[26970, 904, 1518, 46, 168, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[28525, 955, 1582, 47, 244, "Input"],
+Cell[30110, 1004, 1518, 46, 168, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[31665, 1055, 222, 4, 32, "Input"],
+Cell[31890, 1061, 6827, 205, 455, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[38754, 1271, 189, 5, 32, "Input"],
+Cell[38946, 1278, 3847, 114, 194, "Output"]
+}, Open ]],
+Cell[42808, 1395, 782, 23, 77, "Input"],
+Cell[CellGroupData[{
+Cell[43615, 1422, 211, 5, 77, "Input"],
+Cell[43829, 1429, 7330, 219, 342, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[51196, 1653, 166, 4, 32, "Input"],
+Cell[51365, 1659, 2766, 88, 152, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[54168, 1752, 4389, 131, 284, "Input"],
+Cell[58560, 1885, 4339, 131, 222, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[62936, 2021, 1248, 38, 99, "Input"],
+Cell[64187, 2061, 729, 25, 48, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[64953, 2091, 1344, 40, 99, "Input"],
+Cell[66300, 2133, 2669, 85, 178, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[69006, 2223, 382, 9, 32, "Input"],
+Cell[69391, 2234, 4244, 75, 227, "Output"]
+}, Open ]],
+Cell[73650, 2312, 654, 18, 77, "Input"],
+Cell[CellGroupData[{
+Cell[74329, 2334, 724, 20, 77, "Input"],
+Cell[75056, 2356, 5586, 98, 200, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[80679, 2459, 984, 23, 77, "Input"],
+Cell[81666, 2484, 5476, 96, 238, "Output"]
+}, Open ]]
+}
+]
+*)
+
+(* End of internal cache information *)
diff --git a/ecell4/egfrd/legacy/doc/math/onlysigma.nb b/ecell4/egfrd/legacy/doc/math/onlysigma.nb
new file mode 100644
index 0000000..973ff0b
--- /dev/null
+++ b/ecell4/egfrd/legacy/doc/math/onlysigma.nb
@@ -0,0 +1,2915 @@
+(* Content-type: application/mathematica *)
+
+(*** Wolfram Notebook File ***)
+(* http://www.wolfram.com/nb *)
+
+(* CreatedBy='Mathematica 6.0' *)
+
+(*CacheID: 234*)
+(* Internal cache information:
+NotebookFileLineBreakTest
+NotebookFileLineBreakTest
+NotebookDataPosition[ 145, 7]
+NotebookDataLength[ 93281, 2906]
+NotebookOptionsPosition[ 89467, 2772]
+NotebookOutlinePosition[ 89800, 2787]
+CellTagsIndexPosition[ 89757, 2784]
+WindowFrame->Normal
+ContainsDynamic->False*)
+
+(* Beginning of Notebook Content *)
+Notebook[{
+Cell[BoxData[
+ RowBox[{"$Assumptions", ":=",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"r", ">", "0"}], ",",
+ RowBox[{"r0", ">", "0"}], ",",
+ RowBox[{"u", ">", "0"}], ",",
+ RowBox[{"s", ">", "0"}], ",",
+ RowBox[{"h", ">", "0"}], ",",
+ RowBox[{"a", ">", "0"}], ",",
+ RowBox[{"a", ">", "s"}], ",", " ",
+ RowBox[{"r", "<", "a"}], ",", " ",
+ RowBox[{"r0", "<", "a"}], ",", " ",
+ RowBox[{"r", ">", "s"}], ",", " ",
+ RowBox[{"r0", ">", "s"}], ",", " ",
+ RowBox[{"D", ">", "0"}], ",",
+ RowBox[{"t", ">", "0"}], ",",
+ RowBox[{"n", "\[Element]", "Integers"}], ",",
+ RowBox[{"n", ">", "0"}], ",",
+ RowBox[{"theta", "\[GreaterEqual]", "0"}], ",",
+ RowBox[{"theta", "\[LessEqual]", "\[Pi]"}]}], "}"}]}]], "Input",
+ CellChangeTimes->{3.405645074101447*^9}],
+
+Cell[BoxData[
+ RowBox[{"transsbessel", ":=",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"n_", "+",
+ RowBox[{"2", " ", "nn_",
+ RowBox[{"(",
+ RowBox[{"1", "/", "2"}], ")"}]}]}], ",", "z_"}], "]"}], "\[Rule]",
+ RowBox[{
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{"n", "+", "nn", "-",
+ RowBox[{"1", "/", "2"}]}], ",", "z"}], "]"}], " ", "/", " ",
+ RowBox[{"Sqrt", "[",
+ RowBox[{"Pi", "/",
+ RowBox[{"(",
+ RowBox[{"2", " ", "z"}], ")"}]}], "]"}]}]}], ",",
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"n_", "+",
+ RowBox[{"2", " ", "nn_", " ",
+ RowBox[{"(",
+ RowBox[{"1", "/", "2"}], ")"}]}]}], ",", "z_"}], "]"}], "\[Rule]",
+ RowBox[{
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{
+ RowBox[{"n", "+", "nn", "-",
+ RowBox[{"1", "/", "2"}]}], ",", "z"}], "]"}], " ", "/", " ",
+ RowBox[{"Sqrt", "[",
+ RowBox[{"Pi", " ", "/", " ",
+ RowBox[{"(",
+ RowBox[{"2", "z"}], ")"}]}], "]"}]}]}]}], "}"}]}]], "Input"],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"transDBessel", " ", "=", " ",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"DBesselJ", "[",
+ RowBox[{"n_", ",", " ", "x_"}], "]"}], " ", "->",
+ RowBox[{"D", "[",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",", "x"}], "]"}], ",", "x"}], "]"}]}], ",",
+ RowBox[{
+ RowBox[{"DBesselY", "[",
+ RowBox[{"n_", ",", " ", "x_"}], "]"}], " ", "->",
+ RowBox[{"D", "[",
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",", "x"}], "]"}], ",", "x"}], "]"}]}]}],
+ "}"}]}]], "Input",
+ CellChangeTimes->{{3.405645593828129*^9, 3.4056456520176563`*^9}, {
+ 3.405645704192182*^9, 3.4056457179619904`*^9}, {3.410331001544609*^9,
+ 3.4103310090425167`*^9}, {3.410331055914894*^9, 3.410331064083263*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"DBesselJ", "[",
+ RowBox[{"n_", ",", "x_"}], "]"}], "\[Rule]",
+ RowBox[{
+ FractionBox["1", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "1"}], "+", "n"}], ",", "x"}], "]"}], "-",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",", "x"}], "]"}]}], ")"}]}]}], ",",
+ RowBox[{
+ RowBox[{"DBesselY", "[",
+ RowBox[{"n_", ",", "x_"}], "]"}], "\[Rule]",
+ RowBox[{
+ FractionBox["1", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "1"}], "+", "n"}], ",", "x"}], "]"}], "-",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",", "x"}], "]"}]}], ")"}]}]}]}],
+ "}"}]], "Output",
+ CellChangeTimes->{{3.405645632727512*^9, 3.405645652423441*^9},
+ 3.405645718489962*^9, 3.405646106045432*^9, 3.410160723643581*^9,
+ 3.410217673654338*^9, 3.410255396796524*^9, 3.4102980384520197`*^9,
+ 3.410331009570209*^9, 3.422760066037649*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"transBesselRecur", " ", "=",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ FractionBox["1", "2"]}], "+", "n"}], ",", "x_"}], "]"}], " ",
+ "\[Rule]", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"2", " ", "n"}], " ", "+", " ", "1"}], " ", ")"}], " ",
+ "/", " ",
+ RowBox[{"(", "x", " ", ")"}]}], " ", ")"}],
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",", "x"}], "]"}]}], " ", "-",
+ " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",", "x"}], "]"}]}]}], ",", " ",
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ FractionBox["1", "2"]}], "+", "n"}], ",", "x_"}], "]"}], " ",
+ "\[Rule]", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"2", " ", "n"}], " ", "+", " ", "1"}], " ", ")"}], " ",
+ "/", " ",
+ RowBox[{"(", "x", " ", ")"}]}], " ", ")"}],
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",", "x"}], "]"}]}], " ", "-",
+ " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",", "x"}], "]"}]}]}]}],
+ "}"}]}]], "Input",
+ CellChangeTimes->{{3.40565261322404*^9, 3.405652649306348*^9}, {
+ 3.405652710862514*^9, 3.405652724146256*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ FractionBox["1", "2"]}], "+", "n"}], ",", "x_"}], "]"}], "\[Rule]",
+ RowBox[{
+ FractionBox[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "n"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",", "x"}], "]"}]}], "x"], "-",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",", "x"}], "]"}]}]}], ",",
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ FractionBox["1", "2"]}], "+", "n"}], ",", "x_"}], "]"}], "\[Rule]",
+ RowBox[{
+ FractionBox[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "n"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",", "x"}], "]"}]}], "x"], "-",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",", "x"}], "]"}]}]}]}],
+ "}"}]], "Output",
+ CellChangeTimes->{3.405652652153203*^9, 3.4056527252234077`*^9,
+ 3.41016072365705*^9, 3.410217673854246*^9, 3.4102553987632027`*^9,
+ 3.41029803870187*^9, 3.410330850110857*^9, 3.42276006610058*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"n", "-",
+ RowBox[{"(",
+ RowBox[{"1", "/", "2"}], ")"}]}], ",", "x"}], "]"}], " ", "/.",
+ " ", "transBesselRecur"}], ")"}], " ", "\[Equal]", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"n", "-",
+ RowBox[{"(",
+ RowBox[{"1", "/", "2"}], ")"}]}], ",", "x"}], "]"}]}], " ", ",", " ",
+
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"n", "-",
+ RowBox[{"(",
+ RowBox[{"1", "/", "2"}], ")"}]}], ",", "x"}], "]"}], " ", "/.",
+ " ", "transBesselRecur"}], ")"}], " ", "\[Equal]", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"n", "-",
+ RowBox[{"(",
+ RowBox[{"1", "/", "2"}], ")"}]}], ",", "x"}], "]"}]}]}], "}"}], "//",
+ " ", "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.410330775744124*^9, 3.410330912506886*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{"True", ",", "True"}], "}"}]], "Output",
+ CellChangeTimes->{{3.41033084818815*^9, 3.410330912981509*^9},
+ 3.422760066185684*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Fwsigma", "[", " ",
+ RowBox[{"n_", ",", "r_"}], " ", "]"}], " ", "=", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(", " ",
+ RowBox[{
+ RowBox[{"2", " ", "s", " ", "k"}], " ", "+", " ", "1"}], ")"}], " ",
+ RowBox[{"(", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[", " ",
+ RowBox[{"n", ",", " ",
+ RowBox[{"u", " ", "r"}]}], " ", "]"}],
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",", " ",
+ RowBox[{"u", " ", "s"}]}], "]"}]}], " ", "-", " ",
+ RowBox[{
+ RowBox[{"BesselY", "[", " ",
+ RowBox[{"n", ",", " ",
+ RowBox[{"u", " ", "r"}]}], "]"}], " ",
+ RowBox[{"BesselJ", "[", " ",
+ RowBox[{"n", ",",
+ RowBox[{"u", " ", "s"}]}], "]"}]}]}], ")"}]}], " ", "-", " ",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"2", " ", "u", " ", "s", " ",
+ RowBox[{"(", " ",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"u", " ", "r"}]}], "]"}], " ",
+ RowBox[{"DBesselY", "[",
+ RowBox[{"n", ",", " ",
+ RowBox[{"u", " ", "s"}]}], " ", "]"}]}], ")"}]}], " ", "-", " ",
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"u", " ", "r"}]}], "]"}], " ",
+ RowBox[{"DBesselJ", "[",
+ RowBox[{"n", ",", " ",
+ RowBox[{"u", " ", "s"}]}], "]"}]}]}], " ", ")"}], "/", " ",
+ RowBox[{"Sqrt", "[",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(", " ",
+ RowBox[{
+ RowBox[{"(", " ",
+ RowBox[{
+ RowBox[{"2", " ", "s", " ", "k"}], " ", "+", " ", "1"}], ")"}],
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"u", " ", "s"}]}], "]"}], " ", "-", " ",
+ RowBox[{"2", " ", "u", " ", "s", " ",
+ RowBox[{"DBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"u", " ", "s"}]}], "]"}]}]}], ")"}]}], ")"}], "^",
+ "2"}], " ", "+", " ",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(", " ",
+ RowBox[{
+ RowBox[{"2", " ", "s", " ", "k"}], " ", "+", " ", "1"}], ")"}],
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"u", " ", "s"}]}], "]"}]}], " ", "-", " ",
+ RowBox[{"2", " ", "u", " ", "s", " ",
+ RowBox[{"DBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"u", " ", "s"}]}], "]"}]}]}], ")"}], "^", "2"}]}], " ",
+ ")"}], "]"}]}]}]}]], "Input",
+ CellChangeTimes->{{3.405645191924039*^9, 3.405645347337757*^9}, {
+ 3.405645390265666*^9, 3.405645570964982*^9}, {3.405645668305862*^9,
+ 3.4056456832250338`*^9}, 3.405645865050186*^9, {3.4056462530795116`*^9,
+ 3.405646254036333*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}], "-",
+ FractionBox[
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}]}], " ",
+ RowBox[{"DBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"2", " ", "s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"DBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}],
+ SqrtBox[
+ RowBox[{
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "k", " ", "s"}]}], ")"}], "2"], " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], "-",
+ RowBox[{"2", " ", "s", " ", "u", " ",
+ RowBox[{"DBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"]}], "+",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"2", " ", "s", " ", "u", " ",
+ RowBox[{"DBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"]}]]]}]], "Output",\
+
+ CellChangeTimes->{{3.405645547540743*^9, 3.405645571328411*^9},
+ 3.405645684130828*^9, 3.405645865457082*^9, 3.405646106108191*^9,
+ 3.4056462546355457`*^9, 3.410160723673469*^9, 3.4102176739721413`*^9,
+ 3.410255400590358*^9, 3.410298039583172*^9, 3.422760066249258*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"Fwsigma", "[",
+ RowBox[{"n", ",", "r"}], "]"}], " ", "/.", " ", "transDBessel"}], " ", "//",
+ " ", "Simplify"}]], "Input",
+ CellChangeTimes->{{3.40564569025774*^9, 3.4056457300997467`*^9}, {
+ 3.405645816917102*^9, 3.405645817355918*^9}, 3.4056458590563917`*^9, {
+ 3.405646227002173*^9, 3.4056462585320997`*^9}, 3.410160742385922*^9}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "1"}], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], "-",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"2", " ", "s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "1"}], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], ")"}]}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"2", " ",
+ RowBox[{"\[Sqrt]",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "k", " ", "s"}]}], ")"}], "2"], " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "s"}], " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "1"}], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"BesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"]}], "+",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "s"}], " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "1"}], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"]}], ")"}]}]}],
+ ")"}]}]}]], "Output",
+ CellChangeTimes->{{3.405645693446982*^9, 3.405645726865817*^9}, {
+ 3.405645815403242*^9, 3.4056458178633966`*^9}, {3.4056458594706573`*^9,
+ 3.4056458674708853`*^9}, 3.405646106278808*^9, {3.405646247903788*^9,
+ 3.4056462590365477`*^9}, 3.410160723899356*^9, 3.4101607673941097`*^9,
+ 3.410217674996513*^9, 3.410298040323752*^9, 3.4227600666913137`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"pwsigma", " ", "=", " ",
+ RowBox[{
+ RowBox[{"Fwsigma", "[",
+ RowBox[{
+ RowBox[{"n", "+",
+ RowBox[{"1", "/", "2"}]}], ",", "r"}], "]"}], " ",
+ RowBox[{"Fwsigma", "[",
+ RowBox[{
+ RowBox[{"n", "+",
+ RowBox[{"1", "/", "2"}]}], ",", "r0"}], "]"}], "u"}]}]], "Input",
+ CellChangeTimes->{{3.405645828996941*^9, 3.405645837880987*^9},
+ 3.405646102852599*^9, {3.4056462292907763`*^9, 3.40564623949856*^9}}],
+
+Cell[BoxData[
+ RowBox[{"u", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}], "-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}]}], " ",
+ RowBox[{"DBesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"2", " ", "s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"DBesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"\[Sqrt]",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "k", " ", "s"}]}], ")"}], "2"], " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], "-",
+ RowBox[{"2", " ", "s", " ", "u", " ",
+ RowBox[{"DBesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"]}], "+",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"2", " ", "s", " ", "u", " ",
+ RowBox[{"DBesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"]}], ")"}]}],
+ ")"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}], "-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}], " ",
+ RowBox[{"DBesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"2", " ", "s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}], " ",
+ RowBox[{"DBesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"\[Sqrt]",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "k", " ", "s"}]}], ")"}], "2"], " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], "-",
+ RowBox[{"2", " ", "s", " ", "u", " ",
+ RowBox[{"DBesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"]}], "+",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"2", " ", "s", " ", "u", " ",
+ RowBox[{"DBesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"]}], ")"}]}],
+ ")"}]}]}], ")"}]}]], "Output",
+ CellChangeTimes->{
+ 3.405645838604594*^9, 3.405645869170082*^9, 3.4056461063639603`*^9, {
+ 3.4056462423169518`*^9, 3.4056462609244347`*^9}, 3.410160724034997*^9,
+ 3.410160780075259*^9, 3.410217675711088*^9, 3.4102554074389143`*^9,
+ 3.410298041282468*^9, 3.42276006671834*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"pfreeb", " ", "=", " ",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"n", "+",
+ RowBox[{"1", "/", "2"}]}], ",",
+ RowBox[{"u", " ", "r"}]}], "]"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"n", "+",
+ RowBox[{"1", "/", "2"}]}], ",",
+ RowBox[{"u", " ", "r0"}]}], "]"}], "u"}]}]], "Input",
+ CellChangeTimes->{{3.4056457651866913`*^9, 3.405645797664686*^9},
+ 3.405646094482972*^9}],
+
+Cell[BoxData[
+ RowBox[{"u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}]], "Output",
+ CellChangeTimes->{3.405645877144874*^9, 3.405646106481806*^9,
+ 3.405646264120647*^9, 3.410160724156402*^9, 3.4102176758394814`*^9,
+ 3.410255413535733*^9, 3.410298041508366*^9, 3.422760066782189*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"pwsigma", " ", "-", " ", "pfreeb"}], " ", "//", " ",
+ "Simplify"}]], "Input",
+ CellChangeTimes->{{3.405645848207897*^9, 3.4056458512083397`*^9}, {
+ 3.405645881428606*^9, 3.4056458855085087`*^9}, {3.4056461152493143`*^9,
+ 3.4056461157352533`*^9}, {3.410160801306826*^9, 3.410160802020887*^9}, {
+ 3.422760470045046*^9, 3.4227604704559927`*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "u"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"u", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"DBesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"2", " ", "s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"DBesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"\[Sqrt]",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "k", " ", "s"}]}], ")"}], "2"], " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], "-",
+ RowBox[{"2", " ", "s", " ", "u", " ",
+ RowBox[{"DBesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"]}], "+",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"2", " ", "s", " ", "u", " ",
+ RowBox[{"DBesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"]}], ")"}]}],
+ ")"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}], " ",
+ RowBox[{"DBesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"2", " ", "s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}], " ",
+ RowBox[{"DBesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"\[Sqrt]",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "k", " ", "s"}]}], ")"}], "2"], " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], "-",
+ RowBox[{"2", " ", "s", " ", "u", " ",
+ RowBox[{"DBesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"]}], "+",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"2", " ", "s", " ", "u", " ",
+ RowBox[{"DBesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"]}], ")"}]}],
+ ")"}]}]}], ")"}]}]}]], "Output",
+ CellChangeTimes->{{3.4056458516209917`*^9, 3.405645878887775*^9}, {
+ 3.4056461040562487`*^9, 3.4056461165487947`*^9}, 3.405646266387638*^9,
+ 3.410160724823043*^9, 3.410160794540833*^9, 3.410161009113303*^9,
+ 3.410217680164761*^9, 3.410298044116098*^9, {3.4227604437423553`*^9,
+ 3.42276047129633*^9}}]
+}, Open ]],
+
+Cell[BoxData[
+ RowBox[{"transRF", " ", ":=", " ",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"R1", " ", "->", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"2", " ", "s", " ", "k"}], " ", "+", " ", "1"}], ")"}], " ",
+
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"n", "+",
+ RowBox[{"1", "/", "2"}]}], ",", " ",
+ RowBox[{"u", " ", "s"}]}], "]"}]}], " ", "-", " ",
+ RowBox[{"2", " ", "u", " ", "s", " ",
+ RowBox[{"DBesselJ", "[",
+ RowBox[{
+ RowBox[{"n", "+",
+ RowBox[{"1", "/", "2"}]}], ",",
+ RowBox[{"u", " ", "s"}]}], "]"}]}]}]}], ",", "\[IndentingNewLine]",
+ RowBox[{"R2", " ", "->", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(", " ",
+ RowBox[{
+ RowBox[{"2", " ", "s", " ", "k"}], " ", "+", " ", "1"}], " ", ")"}],
+ " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"n", " ", "+", " ",
+ RowBox[{"1", "/", "2"}]}], ",", " ",
+ RowBox[{"u", " ", "s"}]}], "]"}]}], " ", "-", " ",
+ RowBox[{"2", " ", "u", " ", "s", " ",
+ RowBox[{"DBesselY", "[",
+ RowBox[{
+ RowBox[{"n", "+",
+ RowBox[{"1", "/", "2"}]}], ",", " ",
+ RowBox[{"u", " ", "s"}]}], "]"}]}]}]}], ",", "\[IndentingNewLine]",
+ RowBox[{"F1", " ", "->", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"n", "+",
+ RowBox[{"1", "/", "2"}]}], ",", " ",
+ RowBox[{"u", " ", "r"}]}], " ", "]"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"n", "+",
+ RowBox[{"1", "/", "2"}]}], ",", " ",
+ RowBox[{"u", " ", "r0"}]}], "]"}]}], " ", "-", " ",
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"n", "+",
+ RowBox[{"1", "/", "2"}]}], ",", " ",
+ RowBox[{"u", " ", "r"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"n", "+",
+ RowBox[{"1", "/", "2"}]}], ",", " ",
+ RowBox[{"u", " ", "r0"}]}], " ", "]"}]}]}]}], ",",
+ "\[IndentingNewLine]",
+ RowBox[{"F2", " ", "->", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"n", "+",
+ RowBox[{"1", "/", "2"}]}], ",",
+ RowBox[{"u", " ", "r"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"n", "+",
+ RowBox[{"1", "/", "2"}]}], ",", " ",
+ RowBox[{"u", " ", "r0"}]}], "]"}]}], " ", "+", " ",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"n", "+",
+ RowBox[{"1", "/", "2"}]}], ",",
+ RowBox[{"u", " ", "r0"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"n", "+",
+ RowBox[{"1", "/", "2"}]}], ",", " ",
+ RowBox[{"u", " ", "r"}]}], "]"}]}]}]}]}], "}"}]}]], "Input",
+ CellChangeTimes->{{3.405645898664847*^9, 3.40564604312726*^9}, {
+ 3.405646130996546*^9, 3.405646163186857*^9}, {3.410161190006506*^9,
+ 3.4101612214486628`*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"pcorr", " ", "=",
+ RowBox[{
+ RowBox[{"(", " ",
+ RowBox[{"R1", " ", "/", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"R1", "^", "2"}], "+",
+ RowBox[{"R2", "^", "2"}]}], ")"}]}], ")"}], " ",
+ RowBox[{"(", " ",
+ RowBox[{
+ RowBox[{"R1", " ", "F1"}], " ", "+", " ",
+ RowBox[{"R2", " ", "F2"}]}], " ", ")"}], " ", "u", " "}]}]], "Input",
+ CellChangeTimes->{{3.405646054085606*^9, 3.4056460864968433`*^9}, {
+ 3.410161236516673*^9, 3.410161238831087*^9}, 3.4103045976397343`*^9}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{"R1", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"F1", " ", "R1"}], "+",
+ RowBox[{"F2", " ", "R2"}]}], ")"}], " ", "u"}],
+ RowBox[{
+ SuperscriptBox["R1", "2"], "+",
+ SuperscriptBox["R2", "2"]}]]], "Output",
+ CellChangeTimes->{3.405646165660823*^9, 3.405646270252365*^9,
+ 3.410160725278414*^9, 3.410161013706214*^9, 3.410161239174109*^9,
+ 3.4102176941523657`*^9, 3.410255420156167*^9, 3.4102980529464006`*^9,
+ 3.410304598746974*^9, 3.422760476092458*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"pcorr2", " ", "=", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"pcorr", " ", "/.", " ", "transRF"}], "/.", " ",
+ "transDBessel"}], " ", "//.", " ", "transBesselRecur"}], " ", "//", " ",
+ "Simplify"}]}]], "Input",
+ CellChangeTimes->{{3.4056523842549057`*^9, 3.4056524132571707`*^9}, {
+ 3.405652661698749*^9, 3.405652680553988*^9}, {3.40565284316538*^9,
+ 3.4056528451043673`*^9}, {3.410161338744218*^9, 3.410161339235106*^9}, {
+ 3.410163367252544*^9, 3.410163367807745*^9}, {3.4103046224131613`*^9,
+ 3.410304624648301*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"u", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}]}], "+",
+
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}]}]}],
+ ")"}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"k", " ", "s"}]}], ")"}], "2"], " ",
+ SuperscriptBox[
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], "2"]}], "+",
+ RowBox[{"2", " ", "s", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"], " ",
+ SuperscriptBox[
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], "2"]}], "+",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"]}],
+ ")"}]}]], "Output",
+ CellChangeTimes->{{3.40565238928034*^9, 3.4056523942768097`*^9}, {
+ 3.405652651271616*^9, 3.405652680955935*^9}, 3.40565273199654*^9,
+ 3.405652845593378*^9, 3.4101607632849207`*^9, 3.410161025454151*^9, {
+ 3.410163362788888*^9, 3.4101633682225533`*^9}, {3.410217688611442*^9,
+ 3.41021769751895*^9}, {3.410304618425633*^9, 3.4103046253786716`*^9}, {
+ 3.422760457235178*^9, 3.422760478245657*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"pcorr2s", " ", "=", " ",
+ RowBox[{
+ RowBox[{"pcorr2", " ", "/.", " ", "transsbessel"}], " ", "//", " ",
+ "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.4227604506756277`*^9, 3.42276045178234*^9}, {
+ 3.422760482684716*^9, 3.42276049917708*^9}, {3.4227629033599777`*^9,
+ 3.422762905267632*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"r", " ", "r0"}]], " ",
+ SuperscriptBox["u", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}]}], "+",
+
+ RowBox[{
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}]}]}],
+ ")"}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"\[Pi]", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"k", " ", "s"}]}], ")"}], "2"], " ",
+ SuperscriptBox[
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], "2"]}], "+",
+ RowBox[{"2", " ", "s", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ", "u", " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"], " ",
+ SuperscriptBox[
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], "2"]}], "+",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"]}], ")"}]}],
+ ")"}]}]], "Output",
+ CellChangeTimes->{3.422760495860373*^9, 3.4227613617257757`*^9,
+ 3.422762905679241*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"transRFs", " ", "=", " ",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"R1", "\[Rule]",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}]}], ",",
+ RowBox[{"R2", "\[Rule]",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}]}], ",",
+ RowBox[{"F1", "\[Rule]",
+ RowBox[{
+ RowBox[{
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}]}]}], ",", " ",
+ "\[IndentingNewLine]",
+ RowBox[{"F2", " ", "\[Rule]", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"SphericalBesselJ", "[", " ",
+ RowBox[{"n", ",", " ",
+ RowBox[{"r0", " ", "u"}]}], "]"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",", " ",
+ RowBox[{"r", " ", "u"}]}], "]"}]}], " ", "+", " ",
+ RowBox[{
+ RowBox[{"SphericalBesselJ", "[", " ",
+ RowBox[{"n", ",", " ",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"SphericalBesselY", "[", " ",
+ RowBox[{"n", ",", " ",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}]}]}]}], "}"}]}]], "Input",
+ CellChangeTimes->{{3.4227638349873457`*^9, 3.4227639017396803`*^9}, {
+ 3.422763962123239*^9, 3.422763964638575*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"R1", "\[Rule]",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}]}], ",",
+ RowBox[{"R2", "\[Rule]",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}]}], ",",
+ RowBox[{"F1", "\[Rule]",
+ RowBox[{
+ RowBox[{
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}]}]}], ",",
+ RowBox[{"F2", "\[Rule]",
+ RowBox[{
+ RowBox[{
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}]}]}]}], "}"}]], "Output",
+ CellChangeTimes->{{3.422763891871416*^9, 3.4227639022217197`*^9},
+ 3.422763965316791*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"pcorrs", " ", "=", " ",
+ RowBox[{
+ RowBox[{"pcorr", " ", "/", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"pcorr", " ", "/.", " ", "transRFs"}], " ", ")"}], " ", "/",
+ " ", "pcorr2s"}], " ", ")"}]}], "//", " ", "Simplify"}]}]], "Input",
+ CellChangeTimes->{{3.422763785794159*^9, 3.422763821677157*^9}, {
+ 3.422763919047647*^9, 3.422763921613225*^9}, {3.422764053577684*^9,
+ 3.422764123337216*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"r", " ", "r0"}]], " ", "R1", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"F1", " ", "R1"}], "+",
+ RowBox[{"F2", " ", "R2"}]}], ")"}], " ",
+ SuperscriptBox["u", "2"]}],
+ RowBox[{"\[Pi]", " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["R1", "2"], "+",
+ SuperscriptBox["R2", "2"]}], ")"}]}]]], "Output",
+ CellChangeTimes->{{3.422763793873823*^9, 3.422763822202362*^9}, {
+ 3.422763906422349*^9, 3.422763922082955*^9}, 3.422763976586946*^9, {
+ 3.422764056958877*^9, 3.4227641241317177`*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"pcorr2s", " ", "//.", " ", "transRFrs"}], " ", "//", " ",
+ RowBox[{"FullSimplify", " ", "/.", " ", "transRFrs"}]}]], "Input",
+ CellChangeTimes->{{3.4227628930943623`*^9, 3.4227629459214287`*^9}, {
+ 3.42276301803046*^9, 3.4227630963559847`*^9}, {3.422763133729138*^9,
+ 3.4227631361781273`*^9}, {3.422763237979734*^9, 3.422763246140633*^9}, {
+ 3.42276350058891*^9, 3.422763502866208*^9}, {3.422763578985775*^9,
+ 3.42276360549967*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"r", " ", "r0"}]], " ", "R1", " ",
+ SuperscriptBox["u", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"R1", " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"R2", " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"R2", " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}]}], ")"}],
+ "/",
+ RowBox[{"(",
+ RowBox[{"\[Pi]", " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["R2", "2"], "+",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"]}], ")"}]}],
+ ")"}]}]], "Output",
+ CellChangeTimes->{
+ 3.42276291073403*^9, 3.422762946755796*^9, {3.422763065962913*^9,
+ 3.42276309204221*^9}, 3.42276324674056*^9, 3.422763553786528*^9, {
+ 3.42276360082663*^9, 3.422763605869969*^9}, {3.422763679854738*^9,
+ 3.422763696591075*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], " ", ")"}], "^", " ", "2"}],
+ " ", "//", " ", "Expand"}], " ", "//", " ", "Simplify"}]], "Input",
+ CellChangeTimes->{{3.422763414656293*^9, 3.422763434305255*^9}}],
+
+Cell[BoxData[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"]], "Output",
+ CellChangeTimes->{{3.4227634191489763`*^9, 3.422763434598948*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"transRF2", " ", "=", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"transRF", " ", "/.", " ", "transDBessel"}], " ", "/.", " ",
+ "transBesselRecur"}], " ", "//", " ", "Simplify"}]}]], "Input",
+ CellChangeTimes->{{3.410304633676196*^9, 3.410304649272627*^9}, {
+ 3.410304702320841*^9, 3.4103047050697527`*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"R1", "\[Rule]",
+ RowBox[{"2", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ",",
+ RowBox[{"R2", "\[Rule]",
+ RowBox[{"2", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ",",
+ RowBox[{"F1", "\[Rule]",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}]}]}], ",",
+ RowBox[{"F2", "\[Rule]",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}]}]}]}], "}"}]], "Output",
+ CellChangeTimes->{{3.410304635485189*^9, 3.4103046496556263`*^9},
+ 3.410304705766732*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"pcorr", " ", "/.", " ", "transRF2"}], ")"}], " ", "\[Equal]",
+ " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"pcorr", " ", "/.", " ", "transRF"}], " ", "/.", " ",
+ "transDBessel"}], " ", "/.", " ", "transBesselRecur"}], ")"}]}], " ", "//",
+ " ", "Simplify"}]], "Input",
+ CellChangeTimes->{{3.4103047079358587`*^9, 3.410304761311228*^9}}],
+
+Cell[BoxData["True"], "Output",
+ CellChangeTimes->{{3.410304710965163*^9, 3.4103047668472757`*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData["pfreeb"], "Input",
+ CellChangeTimes->{{3.4102105541730423`*^9, 3.4102105549692707`*^9}}],
+
+Cell[BoxData[
+ RowBox[{"u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}]], "Output",
+ CellChangeTimes->{3.41021055529814*^9, 3.410217723643175*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "3"], " ",
+ FractionBox["4",
+ RowBox[{
+ SuperscriptBox["\[Pi]", "2"], " ",
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]]}], ")"}]}], "/",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"k", " ", "s"}]}], ")"}], "2"], " ",
+ SuperscriptBox[
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], "2"]}], "+",
+ RowBox[{"2", " ", "s", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"], " ",
+ SuperscriptBox[
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], "2"]}], "+",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"]}], ")"}]}], "//",
+ " ", "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.41021029611217*^9, 3.410210322568866*^9}, {
+ 3.410210381895371*^9, 3.410210387909889*^9}, {3.41021052676598*^9,
+ 3.410210535067305*^9}, 3.41021062489006*^9, {3.410210672970993*^9,
+ 3.410210701877738*^9}}],
+
+Cell[BoxData["$Aborted"], "Output",
+ CellChangeTimes->{{3.410210692241585*^9, 3.410210698879294*^9},
+ 3.4102108195333767`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"], " ", "//", " ",
+ "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.4102106379493237`*^9, 3.410210642173668*^9}}],
+
+Cell[BoxData[
+ FractionBox["4",
+ RowBox[{
+ SuperscriptBox["\[Pi]", "2"], " ",
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]]], "Output",
+ CellChangeTimes->{{3.410210636916107*^9, 3.4102106444359407`*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"pcorr2b", " ", "\[Equal]", " ", "pcorr"}], "/.",
+ RowBox[{"{", " ",
+ RowBox[{
+ RowBox[{"P1", "->", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}], " ", ",", " ",
+ RowBox[{"P2", " ", "->",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], " ", "}"}]}],
+ " ", "/.", " ", "transDBessel"}], " ", "/.", " ", "transBesselRecur"}], "//",
+ " ", "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.410210123978557*^9, 3.410210157670271*^9}, {
+ 3.410220287070384*^9, 3.410220297993319*^9}, {3.410302285129758*^9,
+ 3.410302285830039*^9}, {3.4103023236443853`*^9, 3.410302333989584*^9}, {
+ 3.410303601421007*^9, 3.410303605256649*^9}}],
+
+Cell[BoxData["True"], "Output",
+ CellChangeTimes->{{3.410210139353682*^9, 3.410210146078322*^9},
+ 3.410210289891704*^9, 3.4102135960382633`*^9, {3.410220288439961*^9,
+ 3.410220291694674*^9}, {3.410302282632134*^9, 3.410302288121622*^9}, {
+ 3.410302319175284*^9, 3.410302324842757*^9}, {3.410303587206884*^9,
+ 3.4103036066398973`*^9}}]
+}, Open ]],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " "}]], "Input",
+ CellChangeTimes->{{3.410163562891881*^9, 3.4101635669722853`*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"pcorr2", " ", "\[Equal]", " ", "pcorr2a"}], " ", "//", " ",
+ "Simplify"}]], "Input",
+ CellChangeTimes->{{3.4056528470670967`*^9, 3.405652861159152*^9}, {
+ 3.4056529285677757`*^9, 3.405652944852956*^9}, {3.410163464461945*^9,
+ 3.410163480652091*^9}, {3.410163534058342*^9, 3.410163539770149*^9}}],
+
+Cell[BoxData[
+ RowBox[{"pcorr2", "\[Equal]",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"u", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}]}], "+",
+
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}]}]}],
+ ")"}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"], "+",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"]}],
+ ")"}]}]}]], "Output",
+ CellChangeTimes->{
+ 3.405652856768694*^9, {3.40565293263337*^9, 3.405652938859734*^9},
+ 3.405654121566327*^9, 3.410160765642818*^9, 3.410161160921721*^9, {
+ 3.410163465120969*^9, 3.410163482140779*^9}, {3.410163531225458*^9,
+ 3.410163540253882*^9}, 3.410303615468463*^9}]
+}, Open ]],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"k", " ", "s"}]}], ")"}], "2"], " ",
+ SuperscriptBox[
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], "2"]}], "+",
+ RowBox[{"2", " ", "s", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"], " ",
+ SuperscriptBox[
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], "2"]}]}], " ", "\[Equal]",
+ " "}]], "Input",
+ CellChangeTimes->{{3.4101634960538473`*^9, 3.4101634966889467`*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"pcorr", " ", "/.", " ", "transDBessel"}], "/.", " ",
+ RowBox[{"n", "\[Rule]", "0"}]}], " ", "//", "Simplify"}]], "Input",
+ CellChangeTimes->{{3.41021619576784*^9, 3.4102162414936533`*^9}, {
+ 3.410216292670629*^9, 3.410216293131872*^9}, {3.410217732556041*^9,
+ 3.410217746534567*^9}, {3.410220743113791*^9, 3.410220774894558*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{"2", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}],
+ ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "s"}], " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{"s", " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{"s", " ", "u"}], "]"}]}]}], ")"}]}],
+ RowBox[{"\[Pi]", " ",
+ SqrtBox[
+ RowBox[{"r", " ", "r0"}]], " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "k", " ", "s"}], "+",
+ RowBox[{
+ SuperscriptBox["k", "2"], " ",
+ SuperscriptBox["s", "2"]}], "+",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}]]], "Output",
+ CellChangeTimes->{{3.410216198660349*^9, 3.410216235583426*^9},
+ 3.410216267510745*^9, 3.410217584536153*^9, 3.410217740494485*^9,
+ 3.4102202749497137`*^9, {3.410220743980899*^9, 3.4102207753718157`*^9}}]
+}, Open ]],
+
+Cell[BoxData[""], "Input",
+ CellChangeTimes->{{3.410237178626807*^9, 3.410237184042955*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"tmp", " ", "=", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"pcorr", " ", "/.", " ", "transDBessel"}], " ", "/.", " ",
+ RowBox[{"n", "\[Rule]", "0"}]}], " ", "//", " ", "Simplify"}]}]], "Input",\
+
+ CellChangeTimes->{{3.410236083399824*^9, 3.410236085379035*^9}, {
+ 3.4102371150551147`*^9, 3.410237115625526*^9}, {3.410237187014163*^9,
+ 3.410237187446909*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{"2", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}], "+",
+
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0", "-", "s"}], ")"}], " ", "u"}], "]"}]}]}],
+ ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "s"}], " ", "u", " ",
+ RowBox[{"Cos", "[",
+ RowBox[{"s", " ", "u"}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{"s", " ", "u"}], "]"}]}]}], ")"}]}],
+ RowBox[{"\[Pi]", " ",
+ SqrtBox[
+ RowBox[{"r", " ", "r0"}]], " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "k", " ", "s"}], "+",
+ RowBox[{
+ SuperscriptBox["k", "2"], " ",
+ SuperscriptBox["s", "2"]}], "+",
+ RowBox[{
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}]]], "Output",
+ CellChangeTimes->{{3.410236078562626*^9, 3.410236086132924*^9},
+ 3.410237116357397*^9, 3.4102371881513157`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Integrate", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"Exp", "[",
+ RowBox[{
+ RowBox[{"-", " ", "D"}], " ", "t", " ", "u", " ", "u"}], " ", "]"}],
+ " ", "tmp"}], ",",
+ RowBox[{"{",
+ RowBox[{"u", ",", "0", ",", "Infinity"}], "}"}]}], "]"}], " ", "//", " ",
+ "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.410237121259251*^9, 3.410237126757029*^9}, {
+ 3.410237190339601*^9, 3.410237237631586*^9}, {3.410237342225472*^9,
+ 3.410237347957642*^9}}],
+
+Cell[BoxData["$Aborted"], "Output",
+ CellChangeTimes->{{3.4102371771856327`*^9, 3.410237250187463*^9},
+ 3.41023745081848*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Integrate", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"Exp", "[",
+ RowBox[{
+ RowBox[{"-", " ", "D"}], " ", "t", " ", "u", " ", "u"}], " ", "]"}],
+ " ", "pcorr"}], " ", "/.", " ", "transDBessel"}], " ", "/.", " ",
+ RowBox[{"n", "\[Rule]", "0"}]}], " ", ",", " ",
+ RowBox[{"{",
+ RowBox[{"u", ",", "0", ",", "Infinity"}], "}"}]}], "]"}], "//", " ",
+ "Simplify"}]], "Input",
+ CellChangeTimes->{{3.4102209651078243`*^9, 3.410220992958867*^9}, {
+ 3.410236094893087*^9, 3.410236096687495*^9}}],
+
+Cell[BoxData["$Aborted"], "Output",
+ CellChangeTimes->{3.410220991330117*^9, 3.410222580393811*^9,
+ 3.4102371129160013`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData["pfreeb"], "Input",
+ CellChangeTimes->{{3.410220896956979*^9, 3.410220898327612*^9}}],
+
+Cell[BoxData[
+ RowBox[{"u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}]], "Output",
+ CellChangeTimes->{3.410220898728589*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"Exp", "[",
+ RowBox[{
+ RowBox[{"-", " ", "D"}], " ", "t", " ", "u", " ", "u"}], " ", "]"}],
+ " ", "pfreeb"}], " ", "/.", " ",
+ RowBox[{"n", "\[Rule]", "0"}]}], " ", "//", " ", "FullSimplify"}]], "Input",\
+
+ CellChangeTimes->{{3.41023603384727*^9, 3.410236036378936*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{"2", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{"r", " ", "u"}], "]"}], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{"r0", " ", "u"}], "]"}]}],
+ RowBox[{"\[Pi]", " ",
+ SqrtBox[
+ RowBox[{"r", " ", "r0"}]]}]]], "Output",
+ CellChangeTimes->{{3.410236026349513*^9, 3.410236036961362*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Integrate", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"Exp", "[",
+ RowBox[{
+ RowBox[{"-", " ", "D"}], " ", "t", " ", "u", " ", "u"}], " ", "]"}],
+ " ", "pfreeb"}], " ", "/.", " ",
+ RowBox[{"n", "\[Rule]", "0"}]}], " ", ",", " ",
+ RowBox[{"{",
+ RowBox[{"u", ",", "0", ",", "Infinity"}], "}"}]}], "]"}], "//", " ",
+ "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.4102207803924017`*^9, 3.410220832711751*^9}, {
+ 3.41022086271843*^9, 3.410220872301764*^9}, {3.410220936950762*^9,
+ 3.410220942239332*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0"}], ")"}], "2"],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "1"}], "+",
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{"r", " ", "r0"}],
+ RowBox[{"D", " ", "t"}]]]}], ")"}]}],
+ RowBox[{"2", " ",
+ SqrtBox["\[Pi]"], " ",
+ SqrtBox[
+ RowBox[{"D", " ", "r", " ", "r0", " ", "t"}]]}]]], "Output",
+ CellChangeTimes->{{3.41022078378872*^9, 3.4102208338122396`*^9},
+ 3.410220876808996*^9, 3.41022094511957*^9}]
+}, Open ]]
+},
+WindowSize->{836, 835},
+WindowMargins->{{305, Automatic}, {Automatic, 48}},
+FrontEndVersion->"6.0 for Linux x86 (64-bit) (June 2, 2008)",
+StyleDefinitions->"Default.nb"
+]
+(* End of Notebook Content *)
+
+(* Internal cache information *)
+(*CellTagsOutline
+CellTagsIndex->{}
+*)
+(*CellTagsIndex
+CellTagsIndex->{}
+*)
+(*NotebookFileOutline
+Notebook[{
+Cell[568, 21, 806, 21, 46, "Input"],
+Cell[1377, 44, 1170, 35, 46, "Input"],
+Cell[CellGroupData[{
+Cell[2572, 83, 795, 21, 28, "Input"],
+Cell[3370, 106, 1170, 35, 86, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[4577, 146, 1705, 56, 86, "Input"],
+Cell[6285, 204, 1437, 46, 106, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[7759, 255, 1079, 34, 46, "Input"],
+Cell[8841, 291, 170, 4, 28, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[9048, 300, 2926, 81, 80, "Input"],
+Cell[11977, 383, 2473, 75, 76, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[14487, 463, 390, 8, 28, "Input"],
+Cell[14880, 473, 3860, 112, 115, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[18777, 590, 459, 12, 28, "Input"],
+Cell[19239, 604, 6914, 204, 398, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[26190, 813, 465, 14, 28, "Input"],
+Cell[26658, 829, 529, 14, 48, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[27224, 848, 383, 7, 28, "Input"],
+Cell[27610, 857, 7429, 215, 438, "Output"]
+}, Open ]],
+Cell[35054, 1075, 3139, 91, 80, "Input"],
+Cell[CellGroupData[{
+Cell[38218, 1170, 539, 14, 28, "Input"],
+Cell[38760, 1186, 515, 13, 49, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[39312, 1204, 571, 12, 28, "Input"],
+Cell[39886, 1218, 6747, 201, 280, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[46670, 1424, 331, 7, 28, "Input"],
+Cell[47004, 1433, 5664, 164, 223, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[52705, 1602, 2380, 68, 114, InheritFromParent],
+Cell[55088, 1672, 2165, 66, 97, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[57290, 1743, 466, 11, 28, "Input"],
+Cell[57759, 1756, 593, 17, 58, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[58389, 1778, 475, 8, 28, "Input"],
+Cell[58867, 1788, 2660, 77, 113, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[61564, 1870, 681, 20, 28, "Input"],
+Cell[62248, 1892, 537, 16, 32, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[62822, 1913, 332, 7, 28, "Input"],
+Cell[63157, 1922, 2853, 92, 162, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[66047, 2019, 431, 12, 28, "Input"],
+Cell[66481, 2033, 99, 1, 28, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[66617, 2039, 102, 1, 28, "Input"],
+Cell[66722, 2042, 388, 12, 48, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[67147, 2059, 2374, 73, 148, "Input"],
+Cell[69524, 2134, 129, 2, 28, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[69690, 2141, 875, 28, 49, "Input"],
+Cell[70568, 2171, 228, 6, 49, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[70833, 2182, 1879, 51, 104, "Input"],
+Cell[72715, 2235, 345, 5, 28, "Output"]
+}, Open ]],
+Cell[73075, 2243, 617, 20, 48, "Input"],
+Cell[CellGroupData[{
+Cell[73717, 2267, 335, 6, 28, "Input"],
+Cell[74055, 2275, 6352, 185, 280, "Output"]
+}, Open ]],
+Cell[80422, 2463, 1178, 39, 89, "Input"],
+Cell[CellGroupData[{
+Cell[81625, 2506, 382, 7, 28, "Input"],
+Cell[82010, 2515, 1449, 46, 55, "Output"]
+}, Open ]],
+Cell[83474, 2564, 92, 1, 28, "Input"],
+Cell[CellGroupData[{
+Cell[83591, 2569, 388, 9, 28, "Input"],
+Cell[83982, 2580, 1353, 45, 55, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[85372, 2630, 512, 14, 28, "Input"],
+Cell[85887, 2646, 128, 2, 28, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[86052, 2653, 594, 16, 28, "Input"],
+Cell[86649, 2671, 126, 2, 28, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[86812, 2678, 98, 1, 28, "Input"],
+Cell[86913, 2681, 367, 12, 48, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[87317, 2698, 346, 10, 28, "Input"],
+Cell[87666, 2710, 458, 14, 57, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[88161, 2729, 594, 16, 28, "Input"],
+Cell[88758, 2747, 693, 22, 73, "Output"]
+}, Open ]]
+}
+]
+*)
+
+(* End of internal cache information *)
diff --git a/ecell4/egfrd/legacy/doc/math/p1fpmemo.nb b/ecell4/egfrd/legacy/doc/math/p1fpmemo.nb
new file mode 100644
index 0000000..3396392
--- /dev/null
+++ b/ecell4/egfrd/legacy/doc/math/p1fpmemo.nb
@@ -0,0 +1,409 @@
+(* Content-type: application/mathematica *)
+
+(*** Wolfram Notebook File ***)
+(* http://www.wolfram.com/nb *)
+
+(* CreatedBy='Mathematica 6.0' *)
+
+(*CacheID: 234*)
+(* Internal cache information:
+NotebookFileLineBreakTest
+NotebookFileLineBreakTest
+NotebookDataPosition[ 145, 7]
+NotebookDataLength[ 11879, 400]
+NotebookOptionsPosition[ 10490, 346]
+NotebookOutlinePosition[ 10823, 361]
+CellTagsIndexPosition[ 10780, 358]
+WindowFrame->Normal
+ContainsDynamic->False*)
+
+(* Beginning of Notebook Content *)
+Notebook[{
+
+Cell[CellGroupData[{
+Cell[BoxData[
+ RowBox[{"$Assumptions", " ", "=", " ",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"n", ">", "0"}], ",", " ",
+ RowBox[{"n", "\[Element]", "Integers"}], ",", " ",
+ RowBox[{"r", ">", "0"}], ",", " ",
+ RowBox[{"r", "\[Element]", "Reals"}], ",", " ",
+ RowBox[{"a", ">", "r"}], ",", " ",
+ RowBox[{"a", "\[Element]", "Reals"}]}], "}"}]}]], "Input",
+ CellChangeTimes->{{3.42294075781707*^9, 3.422940770081472*^9}, {
+ 3.422940808470972*^9, 3.422940823745346*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"n", ">", "0"}], ",",
+ RowBox[{"n", "\[Element]", "Integers"}], ",",
+ RowBox[{"r", ">", "0"}], ",",
+ RowBox[{"r", "\[Element]", "Reals"}], ",",
+ RowBox[{"a", ">", "r"}], ",",
+ RowBox[{"a", "\[Element]", "Reals"}]}], "}"}]], "Output",
+ CellChangeTimes->{3.422940774765087*^9, 3.422940824103598*^9,
+ 3.4230843391859007`*^9}]
+}, Open ]],
+
+Cell[BoxData[
+ RowBox[{"f", " ", ":=", " ",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", " ", "/", " ",
+ RowBox[{"(", " ",
+ RowBox[{"2", " ",
+ RowBox[{"a", "^", "2"}], " ", "r"}], " ", ")"}]}], ")"}], " ",
+ RowBox[{"Sin", "[", " ",
+ RowBox[{"Pi", " ", "n", " ",
+ RowBox[{"r", " ", "/", " ", "a"}]}], " ", "]"}], " ",
+ RowBox[{"Exp", "[", " ",
+ RowBox[{
+ RowBox[{"-", " ", "D"}], " ",
+ RowBox[{"Pi", "^", "2"}], " ",
+ RowBox[{"n", "^", "2"}], " ",
+ RowBox[{"t", " ", "/", " ",
+ RowBox[{"a", "^", "2"}]}]}], " ", "]"}]}]}]], "Input",
+ ImageSize->{258, 111},
+ ImageMargins->{{0, 0}, {0, 0}},
+ ImageRegion->{{0, 1}, {0, 1}},
+ FontFamily->"Helvetica",
+ FontSize->14],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"ifa", " ", "=", " ",
+ RowBox[{
+ RowBox[{"Integrate", "[",
+ RowBox[{
+ RowBox[{"4", " ", "Pi", " ", "r", " ", "r", " ", "f"}], ",",
+ RowBox[{"{",
+ RowBox[{"r", ",", "0", ",", "a"}], "}"}]}], "]"}], " ", "//", " ",
+ "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.423084296898737*^9, 3.423084299003715*^9}, {
+ 3.423095156843639*^9, 3.423095161986884*^9}},
+ FontFamily->"Helvetica",
+ FontSize->14],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"-", "2"}], " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"-", "1"}], ")"}], "n"], " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"D", " ",
+ SuperscriptBox["n", "2"], " ",
+ SuperscriptBox["\[Pi]", "2"], " ", "t"}],
+ SuperscriptBox["a", "2"]]}]]}]], "Output",
+ CellChangeTimes->{3.423095162674922*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"ifr", " ", "=", " ",
+ RowBox[{"Integrate", "[",
+ RowBox[{
+ RowBox[{"4", " ", "Pi", " ", "r", " ", "r", " ", "f"}], ",",
+ RowBox[{"{",
+ RowBox[{"r", ",", "0", ",", "r"}], "}"}]}], "]"}]}], " ",
+ "\[IndentingNewLine]"}]], "Input",
+ CellChangeTimes->{{3.422919632500436*^9, 3.422919636050437*^9}, {
+ 3.423084268802926*^9, 3.423084271194688*^9}, 3.423094944658444*^9, {
+ 3.423095169460074*^9, 3.42309517116182*^9}},
+ FontFamily->"Helvetica",
+ FontSize->14],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{"2", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"D", " ",
+ SuperscriptBox["n", "2"], " ",
+ SuperscriptBox["\[Pi]", "2"], " ", "t"}],
+ SuperscriptBox["a", "2"]]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "n"}], " ", "\[Pi]", " ", "r", " ",
+ RowBox[{"Cos", "[",
+ FractionBox[
+ RowBox[{"n", " ", "\[Pi]", " ", "r"}], "a"], "]"}]}], "+",
+ RowBox[{"a", " ",
+ RowBox[{"Sin", "[",
+ FractionBox[
+ RowBox[{"n", " ", "\[Pi]", " ", "r"}], "a"], "]"}]}]}], ")"}]}],
+ RowBox[{"a", " ", "n", " ", "\[Pi]"}]]], "Output",
+ CellChangeTimes->{
+ 3.422918861604272*^9, 3.422919637533923*^9, 3.422940734144155*^9, {
+ 3.423084271885624*^9, 3.423084277055963*^9}, 3.423094945662174*^9,
+ 3.42309517249299*^9},
+ FontFamily->"Helvetica",
+ FontSize->14]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"Limit", "[",
+ RowBox[{"ifr", " ", ",", " ",
+ RowBox[{"r", "\[Rule]", "a"}]}], "]"}], " ", "\[Equal]", " ", "ifa"}],
+ " ", "//", " ", "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.422919545811623*^9, 3.4229195870067453`*^9}, {
+ 3.422940724288206*^9, 3.422940726811307*^9}, {3.4229408298496*^9,
+ 3.422940926209436*^9}}],
+
+Cell[BoxData["True"], "Output",
+ CellChangeTimes->{{3.4229195492669897`*^9, 3.422919587346171*^9},
+ 3.422919640092949*^9, {3.422940728330908*^9, 3.422940734787977*^9},
+ 3.42294077983466*^9, {3.422940827425988*^9, 3.4229408674573803`*^9},
+ 3.42294092693314*^9, 3.4230843107995777`*^9, 3.4230843429455*^9,
+ 3.423095173699913*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"FourierCosTransform", "[", " ",
+ RowBox[{
+ RowBox[{"a", " ",
+ RowBox[{"Exp", "[",
+ RowBox[{
+ RowBox[{"-", "D"}], " ",
+ RowBox[{"n", "^", "2"}], " ",
+ RowBox[{"Pi", "^", "2"}], " ",
+ RowBox[{"t", " ", "/", " ",
+ RowBox[{"a", "^", "2"}]}]}], "]"}], " ",
+ RowBox[{
+ RowBox[{"Sin", "[",
+ RowBox[{"Pi", " ", "n", " ",
+ RowBox[{"r", "/", " ", "a"}]}], "]"}], "/", "n"}]}], " ", ",", "n",
+ ",", "w", ",", " ",
+ RowBox[{"Assumptions", "\[Rule]",
+ RowBox[{"{", " ",
+ RowBox[{
+ RowBox[{"n", ">", "0"}], ",",
+ RowBox[{"D", ">", "0"}], ",", " ",
+ RowBox[{"t", ">", "0"}], ",",
+ RowBox[{"a", ">", "0"}], ",", " ",
+ RowBox[{"r", ">", "0"}], ",", " ",
+ RowBox[{"w", ">", "0"}], ",", " ",
+ RowBox[{"r", "\[Element]", " ", "Reals"}], ",", " ",
+ RowBox[{"a", "\[Element]", "Reals"}], ",", " ",
+ RowBox[{"D", "\[Element]", "Reals"}], ",", " ",
+ RowBox[{"t", "\[Element]", "Reals"}]}], "}"}]}]}], "]"}]], "Input",
+ CellChangeTimes->{{3.422940934821372*^9, 3.422940936393806*^9}}],
+
+Cell[BoxData["$Aborted"], "Output",
+ CellChangeTimes->{3.422918925829082*^9, 3.422940772720153*^9}]
+}, Open ]],
+
+Cell[BoxData[""], "Input",
+ CellChangeTimes->{{3.423081768504739*^9, 3.423081769625453*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"et4", " ", "=", " ",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", " ", "-", " ",
+ RowBox[{"q", " ", "^",
+ RowBox[{"(", " ",
+ RowBox[{"2", " ", "n"}], " ", ")"}]}]}], ")"}], " ",
+ RowBox[{
+ RowBox[{"(", " ",
+ RowBox[{"1", " ", "-", " ",
+ RowBox[{"q", "^",
+ RowBox[{"(", " ",
+ RowBox[{
+ RowBox[{"2", " ", "n"}], " ", "-", " ", "1"}], " ", ")"}]}]}], ")"}],
+ " ", "^", "2", " "}]}]}]], "Input",
+ CellChangeTimes->{{3.422922749673826*^9, 3.4229227919862003`*^9}, {
+ 3.4230890506573887`*^9, 3.423089053075716*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "-",
+ SuperscriptBox["q",
+ RowBox[{"2", " ", "n"}]]}], ")"}], " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"1", "-",
+ SuperscriptBox["q",
+ RowBox[{
+ RowBox[{"-", "1"}], "+",
+ RowBox[{"2", " ", "n"}]}]]}], ")"}], "2"]}]], "Output",
+ CellChangeTimes->{{3.422922787518078*^9, 3.422922792737067*^9},
+ 3.4229243179155617`*^9, 3.4230817828605013`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"et4", " ", "//", " ", "Expand"}], " ", "//", " ",
+ "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.4230890548259583`*^9, 3.42308905888194*^9}, {
+ 3.423089197732524*^9, 3.423089198986722*^9}}],
+
+Cell[BoxData[
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"q", "-",
+ SuperscriptBox["q",
+ RowBox[{"2", " ", "n"}]]}], ")"}], "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "1"}], "+",
+ SuperscriptBox["q",
+ RowBox[{"2", " ", "n"}]]}], ")"}]}],
+ SuperscriptBox["q", "2"]]}]], "Output",
+ CellChangeTimes->{3.423089059231389*^9, 3.4230891993334846`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"1", " ", "-", " ", "et4"}], " ", "//", " ",
+ "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.42308177122331*^9, 3.42308178854808*^9}}],
+
+Cell[BoxData[
+ RowBox[{"1", "+",
+ FractionBox[
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"q", "-",
+ SuperscriptBox["q",
+ RowBox[{"2", " ", "n"}]]}], ")"}], "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "1"}], "+",
+ SuperscriptBox["q",
+ RowBox[{"2", " ", "n"}]]}], ")"}]}],
+ SuperscriptBox["q", "2"]]}]], "Output",
+ CellChangeTimes->{{3.423081778869995*^9, 3.423081789215447*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"et4", " ", "/.", " ",
+ RowBox[{"n", "\[Rule]", "1"}]}], " ", "//", " ", "Simplify"}]], "Input",
+ CellChangeTimes->{{3.422923852686326*^9, 3.4229238596922293`*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"-",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "1"}], "+", "q"}], ")"}], "2"]}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "1"}], "+",
+ SuperscriptBox["q", "2"]}], ")"}]}]], "Output",
+ CellChangeTimes->{{3.422923856954468*^9, 3.422923859912085*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"1", " ", "-", " ",
+ RowBox[{"EllipticTheta", "[",
+ RowBox[{"4", ",", "0", ",",
+ RowBox[{"10", "^",
+ RowBox[{"-", "9"}]}]}], "]"}]}], " ", "//", " ", "N"}]], "Input",
+ CellChangeTimes->{{3.422923404293742*^9, 3.422923432905307*^9}, {
+ 3.422924548567114*^9, 3.4229245490048857`*^9}, {3.422924771091567*^9,
+ 3.422924771336141*^9}, {3.422925320174653*^9, 3.4229253206522827`*^9}, {
+ 3.423092482277829*^9, 3.423092506336987*^9}}],
+
+Cell[BoxData["2.0000000544584395`*^-9"], "Output",
+ CellChangeTimes->{{3.422923410450226*^9, 3.422923433552335*^9},
+ 3.422924549478614*^9, 3.4229247718936653`*^9, 3.422925321449183*^9, {
+ 3.4230924835773087`*^9, 3.423092506774351*^9}}]
+}, Open ]]
+},
+WindowSize->{784, 973},
+WindowMargins->{{289, Automatic}, {25, Automatic}},
+FrontEndVersion->"6.0 for Linux x86 (64-bit) (June 2, 2008)",
+StyleDefinitions->"Default.nb"
+]
+(* End of Notebook Content *)
+
+(* Internal cache information *)
+(*CellTagsOutline
+CellTagsIndex->{}
+*)
+(*CellTagsIndex
+CellTagsIndex->{}
+*)
+(*NotebookFileOutline
+Notebook[{
+Cell[CellGroupData[{
+Cell[590, 23, 488, 11, 32, "Input"],
+Cell[1081, 36, 390, 10, 31, "Output"]
+}, Open ]],
+Cell[1486, 49, 727, 22, 34, "Input"],
+Cell[CellGroupData[{
+Cell[2238, 75, 448, 12, 34, "Input"],
+Cell[2689, 89, 401, 13, 46, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[3127, 107, 515, 13, 59, "Input"],
+Cell[3645, 122, 918, 27, 74, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[4600, 154, 383, 9, 32, "Input"],
+Cell[4986, 165, 339, 5, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[5362, 175, 1122, 29, 77, "Input"],
+Cell[6487, 206, 99, 1, 31, "Output"]
+}, Open ]],
+Cell[6601, 210, 92, 1, 32, "Input"],
+Cell[CellGroupData[{
+Cell[6718, 215, 597, 17, 32, "Input"],
+Cell[7318, 234, 445, 14, 34, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[7800, 253, 231, 5, 32, "Input"],
+Cell[8034, 260, 447, 15, 55, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[8518, 280, 174, 4, 32, "Input"],
+Cell[8695, 286, 452, 15, 55, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[9184, 306, 201, 4, 32, "Input"],
+Cell[9388, 312, 325, 11, 33, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[9750, 328, 481, 10, 32, "Input"],
+Cell[10234, 340, 240, 3, 33, "Output"]
+}, Open ]]
+}
+]
+*)
+
+(* End of internal cache information *)
diff --git a/ecell4/egfrd/legacy/doc/math/p_irr.nb b/ecell4/egfrd/legacy/doc/math/p_irr.nb
new file mode 100644
index 0000000..a9e97bf
--- /dev/null
+++ b/ecell4/egfrd/legacy/doc/math/p_irr.nb
@@ -0,0 +1,1485 @@
+(* Content-type: application/mathematica *)
+
+(*** Wolfram Notebook File ***)
+(* http://www.wolfram.com/nb *)
+
+(* CreatedBy='Mathematica 7.0' *)
+
+(*CacheID: 234*)
+(* Internal cache information:
+NotebookFileLineBreakTest
+NotebookFileLineBreakTest
+NotebookDataPosition[ 145, 7]
+NotebookDataLength[ 63361, 1476]
+NotebookOptionsPosition[ 61976, 1424]
+NotebookOutlinePosition[ 62314, 1439]
+CellTagsIndexPosition[ 62271, 1436]
+WindowFrame->Normal*)
+
+(* Beginning of Notebook Content *)
+Notebook[{
+Cell[BoxData[
+ RowBox[{"$Assumptions", ":=",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"r", ">", "0"}], ",",
+ RowBox[{"r0", ">", "0"}], ",",
+ RowBox[{"u", ">", "0"}], ",",
+ RowBox[{"s", ">", "0"}], ",",
+ RowBox[{"h", ">", "0"}], ",",
+ RowBox[{"a", ">", "0"}], ",",
+ RowBox[{"a", ">", "s"}], ",", " ",
+ RowBox[{"r", "<", "a"}], ",", " ",
+ RowBox[{"r0", "<", "a"}], ",", " ",
+ RowBox[{"r", ">", "s"}], ",", " ",
+ RowBox[{"r0", ">", "s"}], ",", " ",
+ RowBox[{"D", ">", "0"}], ",",
+ RowBox[{"t", ">", "0"}], ",",
+ RowBox[{"kf", ">", "0"}], ",",
+ RowBox[{"n", "\[Element]", "Integers"}], ",",
+ RowBox[{"n", ">", "0"}], ",",
+ RowBox[{"theta", "\[GreaterEqual]", "0"}], ",",
+ RowBox[{"theta", "\[LessEqual]", "\[Pi]"}], ",", " ",
+ RowBox[{"s", "\[Element]", "Reals"}], ",", " ",
+ RowBox[{"h", "\[Element]", "Reals"}]}], "}"}]}]], "Input",
+ CellChangeTimes->{{3.443841578107437*^9, 3.44384161074681*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"params", " ", "=", " ",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"s", " ", "->", " ", "1"}], ",", " ",
+ RowBox[{"r0", " ", "\[Rule]", " ", "1"}], ",", " ",
+ RowBox[{"D", " ", "\[Rule]", " ", "1"}], ",", " ",
+ RowBox[{"kf", " ", "\[Rule]", " ", "160"}]}], "}"}]}],
+ "\[IndentingNewLine]"}]], "Input",
+ CellChangeTimes->{{3.443839732434937*^9, 3.443839832339613*^9},
+ 3.44384163815497*^9}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"s", "\[Rule]", "1"}], ",",
+ RowBox[{"r0", "\[Rule]", "1"}], ",",
+ RowBox[{"D", "\[Rule]", "1"}], ",",
+ RowBox[{"kf", "\[Rule]", "160"}]}], "}"}]], "Output",
+ CellChangeTimes->{3.443839892963615*^9, 3.443840088815607*^9,
+ 3.443841658825327*^9}]
+}, Open ]],
+
+Cell[BoxData[{
+ RowBox[{
+ RowBox[{"kD", "=",
+ RowBox[{"4", "*", "Pi", "*", "D", "*", "s"}]}], ";"}], "\n",
+ RowBox[{
+ RowBox[{"a", "=",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"kf", "/", "kD"}]}], ")"}], "*",
+ RowBox[{
+ RowBox[{"Sqrt", "[", "D", "]"}], "/", "s"}]}]}], ";"}]}], "Input",
+ CellChangeTimes->{{3.443840080985024*^9, 3.443840087294959*^9}, {
+ 3.443841638444965*^9, 3.443841638694963*^9}}],
+
+Cell[BoxData[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"coeff", "[", "r_", "]"}], ":=",
+ RowBox[{"1", "/",
+ RowBox[{"(",
+ RowBox[{"4", "*", "Pi", "*", "r", "*", "r0", "*",
+ RowBox[{"Sqrt", "[", "D", "]"}]}], ")"}]}]}], ";"}], "\n",
+ RowBox[{
+ RowBox[{
+ RowBox[{"term1", "[",
+ RowBox[{"r_", ",", "t_"}], "]"}], ":=",
+ RowBox[{
+ RowBox[{"1", "/",
+ RowBox[{"Sqrt", "[",
+ RowBox[{"4", "*", "Pi", "*", "t"}], "]"}]}], "*",
+ RowBox[{"Exp", "[",
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r", "-", "r0"}], ")"}], "^", "2"}]}], "/",
+ RowBox[{"(",
+ RowBox[{"4", "*", "D", "*", "t"}], ")"}]}], "]"}]}]}], ";"}], "\n",
+ RowBox[{
+ RowBox[{
+ RowBox[{"term2", "[",
+ RowBox[{"r_", ",", "t_"}], "]"}], ":=",
+ RowBox[{
+ RowBox[{"1", "/",
+ RowBox[{"Sqrt", "[",
+ RowBox[{"4", "*", "Pi", "*", "t"}], "]"}]}], "*",
+ RowBox[{"Exp", "[",
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", "*", "s"}]}], ")"}], "^", "2"}]}], "/",
+ RowBox[{"(",
+ RowBox[{"4", "*", "D", "*", "t"}], ")"}]}], "]"}]}]}], ";"}], "\n",
+ RowBox[{
+ RowBox[{
+ RowBox[{"w1", "[",
+ RowBox[{"r_", ",", "t_"}], "]"}], ":=",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", "*", "s"}]}], ")"}], "/",
+ RowBox[{"Sqrt", "[",
+ RowBox[{"4", "*", "D", "*", "t"}], "]"}]}]}], ";"}], "\n",
+ RowBox[{
+ RowBox[{
+ RowBox[{"w2", "[", "t_", "]"}], "=",
+ RowBox[{"a", "*",
+ RowBox[{"Sqrt", "[", "t", "]"}]}]}], ";"}], "\n",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"term3", "[",
+ RowBox[{"r_", ",", "t_"}], "]"}], ":=",
+ RowBox[{"a", "*",
+ RowBox[{"Exp", "[",
+ RowBox[{
+ RowBox[{"2", "*",
+ RowBox[{"w1", "[",
+ RowBox[{"r", ",", "t"}], "]"}], "*",
+ RowBox[{"w2", "[", "t", "]"}]}], "+",
+ RowBox[{
+ RowBox[{"w2", "[", "t", "]"}], "^", "2"}]}], "]"}], "*",
+ RowBox[{"Erfc", "[",
+ RowBox[{
+ RowBox[{"w1", "[",
+ RowBox[{"r", ",", "t"}], "]"}], "+",
+ RowBox[{"w2", "[", "t", "]"}]}], "]"}]}]}], ";"}], "\n"}], "\n",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"pirr", "[",
+ RowBox[{"r_", ",", " ", "t_"}], "]"}], ":=", " ",
+ RowBox[{"4", " ", "Pi", " ", "r", " ", "r", "*",
+ RowBox[{"coeff", "[", "r", "]"}], "*",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"term1", "[",
+ RowBox[{"r", ",", "t"}], "]"}], "+",
+ RowBox[{"term2", "[",
+ RowBox[{"r", ",", "t"}], "]"}], "-",
+ RowBox[{"term3", "[",
+ RowBox[{"r", ",", "t"}], "]"}]}], ")"}]}]}], ";"}],
+ "\n"}], "\n"}], "Input",
+ CellChangeTimes->{{3.443764278196288*^9, 3.443764401284968*^9}, {
+ 3.443765239811418*^9, 3.443765245899704*^9}, {3.4438394475249577`*^9,
+ 3.443839468894*^9}, {3.443839674515668*^9, 3.443839688219276*^9}, {
+ 3.443839840859242*^9, 3.443839920504991*^9}, {3.4438416389280853`*^9,
+ 3.4438416394449463`*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"kirr", "[", "t_", "]"}], " ", ":=", " ",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"kf", " ", "/", " ",
+ RowBox[{"(",
+ RowBox[{"kf", "+", "kD"}], ")"}]}], ")"}], " ",
+ RowBox[{"(", " ",
+ RowBox[{"kD", " ", "+", " ",
+ RowBox[{"kf", " ",
+ RowBox[{"Exp", "[", " ",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"a", " ",
+ RowBox[{"Sqrt", "[", "t", "]"}]}], ")"}], "^", "2"}], " ", "]"}],
+ " ",
+ RowBox[{"Erfc", "[", " ",
+ RowBox[{"a", " ",
+ RowBox[{"Sqrt", "[", "t", "]"}]}], "]"}]}]}], ")"}]}]}]], "Input",
+ CellChangeTimes->{{3.44384122130494*^9, 3.44384133740493*^9}, {
+ 3.443841379301499*^9, 3.443841453926827*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"pirr", "[",
+ RowBox[{"r", ",", "t"}], "]"}]], "Input",
+ CellChangeTimes->{{3.4438400697849493`*^9, 3.443840071348061*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{"r", " ",
+ RowBox[{"(",
+ RowBox[{
+ FractionBox[
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r", "-", "r0"}], ")"}], "2"],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]],
+ RowBox[{"2", " ",
+ SqrtBox["\[Pi]"], " ",
+ SqrtBox["t"]}]], "+",
+ FractionBox[
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", " ", "s"}]}], ")"}], "2"],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]],
+ RowBox[{"2", " ",
+ SqrtBox["\[Pi]"], " ",
+ SqrtBox["t"]}]], "-",
+ FractionBox[
+ RowBox[{
+ SqrtBox["D"], " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ FractionBox[
+ RowBox[{"D", " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ FractionBox["kf",
+ RowBox[{"4", " ", "D", " ", "\[Pi]", " ", "s"}]]}], ")"}],
+ "2"], " ", "t"}],
+ SuperscriptBox["s", "2"]], "+",
+ FractionBox[
+ RowBox[{
+ SqrtBox["D"], " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ FractionBox["kf",
+ RowBox[{"4", " ", "D", " ", "\[Pi]", " ", "s"}]]}], ")"}], " ",
+
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", " ", "s"}]}], ")"}], " ",
+ SqrtBox["t"]}],
+ RowBox[{"s", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]]}]], " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ FractionBox["kf",
+ RowBox[{"4", " ", "D", " ", "\[Pi]", " ", "s"}]]}], ")"}], " ",
+ RowBox[{"Erfc", "[",
+ RowBox[{
+ FractionBox[
+ RowBox[{
+ SqrtBox["D"], " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ FractionBox["kf",
+ RowBox[{"4", " ", "D", " ", "\[Pi]", " ", "s"}]]}], ")"}], " ",
+
+ SqrtBox["t"]}], "s"], "+",
+ FractionBox[
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", " ", "s"}]}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]]}], "]"}]}], "s"]}], ")"}]}],
+ RowBox[{
+ SqrtBox["D"], " ", "r0"}]]], "Output",
+ CellChangeTimes->{{3.443840072284965*^9, 3.4438400907895823`*^9},
+ 3.44384166032294*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"LogLogPlot", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"pirr", "[",
+ RowBox[{"s", ",", "t"}], "]"}], " ", "/.", " ", "params"}], ",", " ",
+ RowBox[{"{",
+ RowBox[{"t", ",", "0.1", ",", "5"}], "}"}]}], "]"}]], "Input",
+ CellChangeTimes->{{3.4437652684249353`*^9, 3.4437653226232233`*^9}, {
+ 3.443765360325356*^9, 3.443765372444962*^9}, {3.443766488954968*^9,
+ 3.443766498844915*^9}, {3.443840003064981*^9, 3.443840050352685*^9}, {
+ 3.443840123485064*^9, 3.443840124567463*^9}, {3.4438401646989403`*^9,
+ 3.44384016630214*^9}, {3.443840802028743*^9, 3.443840917254941*^9}, {
+ 3.443841121274963*^9, 3.4438411549048634`*^9}}],
+
+Cell[BoxData[
+ GraphicsBox[{{}, {},
+ {Hue[0.67, 0.6, 0.6], LineBox[CompressedData["
+1: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
+ghhJAp+pJy6fxv8DAMT9XA==
+ "]]}},
+ AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948],
+ Axes->True,
+ AxesOrigin->{-2.3025850929940455`, -8.485483871716495},
+ CoordinatesToolOptions:>{"DisplayFunction" -> ({
+ Exp[
+ Part[#, 1]],
+ Exp[
+ Part[#, 2]]}& ), "CopiedValueFunction" -> ({
+ Exp[
+ Part[#, 1]],
+ Exp[
+ Part[#, 2]]}& )},
+ FrameTicks->{{{{-9.210340371976182,
+ FormBox[
+ TemplateBox[{"1",
+ TemplateBox[{"10",
+ RowBox[{"-", "4"}]}, "Superscript", SyntaxForm ->
+ SuperscriptBox]}, "Row",
+ DisplayFunction -> (RowBox[{#, "\[Times]", #2}]& ),
+ InterpretationFunction -> (RowBox[{"Row", "[",
+ RowBox[{
+ RowBox[{"{",
+ RowBox[{#, ",", #2}], "}"}], ",", "\"\[Times]\""}], "]"}]& )],
+ TraditionalForm]}, {-7.600902459542082,
+ FormBox[
+ TemplateBox[{"5",
+ TemplateBox[{"10",
+ RowBox[{"-", "4"}]}, "Superscript", SyntaxForm ->
+ SuperscriptBox]}, "Row",
+ DisplayFunction -> (RowBox[{#, "\[Times]", #2}]& ),
+ InterpretationFunction -> (RowBox[{"Row", "[",
+ RowBox[{
+ RowBox[{"{",
+ RowBox[{#, ",", #2}], "}"}], ",", "\"\[Times]\""}], "]"}]& )],
+ TraditionalForm]}, {-6.907755278982137,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"0.001\"", 0.001, AutoDelete -> True],
+ NumberForm[#, {
+ DirectedInfinity[1], 3}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {-5.298317366548036,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"0.005\"", 0.005, AutoDelete -> True],
+ NumberForm[#, {
+ DirectedInfinity[1], 3}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {-4.605170185988092,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"0.010\"", 0.01, AutoDelete -> True],
+ NumberForm[#, {
+ DirectedInfinity[1], 3}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {-2.995732273553991,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"0.050\"", 0.05, AutoDelete -> True],
+ NumberForm[#, {
+ DirectedInfinity[1], 3}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {-2.302585092994046,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"0.100\"", 0.1, AutoDelete -> True],
+ NumberForm[#, {
+ DirectedInfinity[1], 3}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {-0.6931471805599453,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"0.500\"", 0.5, AutoDelete -> True],
+ NumberForm[#, {
+ DirectedInfinity[1], 3}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {-8.517193191416238,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-8.111728083308073,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-7.824046010856292,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-7.418580902748128,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-7.264430222920869,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-7.1308988302963465`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-7.013115794639964,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-6.214608098422191,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-5.809142990314028,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-5.521460917862246,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-5.115995809754082,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-4.961845129926823,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-4.8283137373023015`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-4.710530701645918,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-3.912023005428146,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-3.506557897319982,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-3.2188758248682006`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-2.8134107167600364`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-2.6592600369327783`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-2.5257286443082556`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-2.4079456086518722`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-1.6094379124341003`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-1.203972804325936,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.916290731874155,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}}, {{-9.210340371976182,
+ FormBox["\"\"", TraditionalForm]}, {-7.600902459542082,
+ FormBox["\"\"", TraditionalForm]}, {-6.907755278982137,
+ FormBox["\"\"", TraditionalForm]}, {-5.298317366548036,
+ FormBox["\"\"", TraditionalForm]}, {-4.605170185988092,
+ FormBox["\"\"", TraditionalForm]}, {-2.995732273553991,
+ FormBox["\"\"", TraditionalForm]}, {-2.302585092994046,
+ FormBox["\"\"", TraditionalForm]}, {-0.6931471805599453,
+ FormBox["\"\"", TraditionalForm]}, {-8.517193191416238,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-8.111728083308073,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-7.824046010856292,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-7.418580902748128,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-7.264430222920869,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-7.1308988302963465`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-7.013115794639964,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-6.214608098422191,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-5.809142990314028,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-5.521460917862246,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-5.115995809754082,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-4.961845129926823,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-4.8283137373023015`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-4.710530701645918,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-3.912023005428146,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-3.506557897319982,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-3.2188758248682006`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-2.8134107167600364`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-2.6592600369327783`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-2.5257286443082556`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-2.4079456086518722`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-1.6094379124341003`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-1.203972804325936,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.916290731874155,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}}}, {{{-2.302585092994046,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"0.1\"", 0.1, AutoDelete -> True], NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {-1.6094379124341003`,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"0.2\"", 0.2, AutoDelete -> True], NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {-0.6931471805599453,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"0.5\"", 0.5, AutoDelete -> True], NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {0.,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"1.0\"", 1., AutoDelete -> True],
+ NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {0.6931471805599453,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"2.0\"", 2., AutoDelete -> True],
+ NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {1.6094379124341003`,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"5.0\"", 5., AutoDelete -> True],
+ NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {2.302585092994046,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"10.0\"", 10., AutoDelete -> True],
+ NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {2.995732273553991,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"20.0\"", 20., AutoDelete -> True],
+ NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {3.912023005428146,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"50.0\"", 50., AutoDelete -> True],
+ NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {-1.2039728043259361`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.916290731874155,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.5108256237659907,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.35667494393873245`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.2231435513142097,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.10536051565782628`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {1.0986122886681098`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {1.3862943611198906`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {1.791759469228055,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {1.9459101490553132`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.0794415416798357`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.1972245773362196`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {3.4011973816621555`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {3.6888794541139363`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}}, {{-2.302585092994046,
+ FormBox["\"\"", TraditionalForm]}, {-1.6094379124341003`,
+ FormBox["\"\"", TraditionalForm]}, {-0.6931471805599453,
+ FormBox["\"\"", TraditionalForm]}, {0.,
+ FormBox["\"\"", TraditionalForm]}, {0.6931471805599453,
+ FormBox["\"\"", TraditionalForm]}, {1.6094379124341003`,
+ FormBox["\"\"", TraditionalForm]}, {2.302585092994046,
+ FormBox["\"\"", TraditionalForm]}, {2.995732273553991,
+ FormBox["\"\"", TraditionalForm]}, {3.912023005428146,
+ FormBox["\"\"", TraditionalForm]}, {-1.2039728043259361`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.916290731874155,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.5108256237659907,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.35667494393873245`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.2231435513142097,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.10536051565782628`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {1.0986122886681098`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {1.3862943611198906`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {1.791759469228055,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {1.9459101490553132`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.0794415416798357`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.1972245773362196`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {3.4011973816621555`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {3.6888794541139363`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}}}},
+ GridLines->{None, None},
+ Method->{},
+ PlotRange->NCache[{{-2.3025850929940455`,
+ Log[5]}, {-8.485483871716495, -1.232403782008}}, {{-2.3025850929940455`,
+ 1.6094379124341003`}, {-8.485483871716495, -1.232403782008}}],
+ PlotRangeClipping->True,
+ PlotRangePadding->{
+ Scaled[0.02],
+ Scaled[0.02]},
+ Ticks->{{{-2.302585092994046,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"0.1\"", 0.1, AutoDelete -> True],
+ NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {-1.6094379124341003`,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"0.2\"", 0.2, AutoDelete -> True],
+ NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {-0.6931471805599453,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"0.5\"", 0.5, AutoDelete -> True],
+ NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {0.,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"1.0\"", 1., AutoDelete -> True], NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {0.6931471805599453,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"2.0\"", 2., AutoDelete -> True], NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {1.6094379124341003`,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"5.0\"", 5., AutoDelete -> True], NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {2.302585092994046,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"10.0\"", 10., AutoDelete -> True], NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {2.995732273553991,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"20.0\"", 20., AutoDelete -> True], NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {3.912023005428146,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"50.0\"", 50., AutoDelete -> True], NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {-1.2039728043259361`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.916290731874155,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.5108256237659907,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.35667494393873245`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.2231435513142097,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.10536051565782628`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {1.0986122886681098`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {1.3862943611198906`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {1.791759469228055,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {1.9459101490553132`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.0794415416798357`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.1972245773362196`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {3.4011973816621555`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {3.6888794541139363`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}}, {{-9.210340371976182,
+ FormBox[
+ TemplateBox[{"1",
+ TemplateBox[{"10",
+ RowBox[{"-", "4"}]}, "Superscript", SyntaxForm -> SuperscriptBox]},
+ "Row", DisplayFunction -> (RowBox[{#, "\[Times]", #2}]& ),
+ InterpretationFunction -> (RowBox[{"Row", "[",
+ RowBox[{
+ RowBox[{"{",
+ RowBox[{#, ",", #2}], "}"}], ",", "\"\[Times]\""}], "]"}]& )],
+ TraditionalForm]}, {-7.600902459542082,
+ FormBox[
+ TemplateBox[{"5",
+ TemplateBox[{"10",
+ RowBox[{"-", "4"}]}, "Superscript", SyntaxForm -> SuperscriptBox]},
+ "Row", DisplayFunction -> (RowBox[{#, "\[Times]", #2}]& ),
+ InterpretationFunction -> (RowBox[{"Row", "[",
+ RowBox[{
+ RowBox[{"{",
+ RowBox[{#, ",", #2}], "}"}], ",", "\"\[Times]\""}], "]"}]& )],
+ TraditionalForm]}, {-6.907755278982137,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"0.001\"", 0.001, AutoDelete -> True],
+ NumberForm[#, {
+ DirectedInfinity[1], 3}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {-5.298317366548036,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"0.005\"", 0.005, AutoDelete -> True],
+ NumberForm[#, {
+ DirectedInfinity[1], 3}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {-4.605170185988092,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"0.010\"", 0.01, AutoDelete -> True],
+ NumberForm[#, {
+ DirectedInfinity[1], 3}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {-2.995732273553991,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"0.050\"", 0.05, AutoDelete -> True],
+ NumberForm[#, {
+ DirectedInfinity[1], 3}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {-2.302585092994046,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"0.100\"", 0.1, AutoDelete -> True],
+ NumberForm[#, {
+ DirectedInfinity[1], 3}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {-0.6931471805599453,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"0.500\"", 0.5, AutoDelete -> True],
+ NumberForm[#, {
+ DirectedInfinity[1], 3}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {-8.517193191416238,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-8.111728083308073,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-7.824046010856292,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-7.418580902748128,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-7.264430222920869,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-7.1308988302963465`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-7.013115794639964,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-6.214608098422191,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-5.809142990314028,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-5.521460917862246,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-5.115995809754082,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-4.961845129926823,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-4.8283137373023015`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-4.710530701645918,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-3.912023005428146,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-3.506557897319982,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-3.2188758248682006`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-2.8134107167600364`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-2.6592600369327783`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-2.5257286443082556`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-2.4079456086518722`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-1.6094379124341003`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-1.203972804325936,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.916290731874155,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}}}]], "Output",
+ CellChangeTimes->{{3.4438400380752*^9, 3.4438400527359943`*^9},
+ 3.443840091046679*^9, 3.443840125285616*^9, 3.443840167039421*^9, {
+ 3.443840803249485*^9, 3.443840917921249*^9}, {3.4438411256174803`*^9,
+ 3.4438411559876833`*^9}, 3.443841660631209*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"kirr", "[", "t", "]"}], " ", "/.", " ", "params"}]], "Input",
+ CellChangeTimes->{{3.443841361658669*^9, 3.4438413680980988`*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{"160", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"4", " ", "\[Pi]"}], "+",
+ RowBox[{"160", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ FractionBox["40", "\[Pi]"]}], ")"}], "2"], " ", "t"}]], " ",
+ RowBox[{"Erfc", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ FractionBox["40", "\[Pi]"]}], ")"}], " ",
+ SqrtBox["t"]}], "]"}]}]}], ")"}]}],
+ RowBox[{"160", "+",
+ RowBox[{"4", " ", "\[Pi]"}]}]]], "Output",
+ CellChangeTimes->{{3.4438413639768877`*^9, 3.4438413906398478`*^9}, {
+ 3.443841428300448*^9, 3.443841459786737*^9}, 3.4438416607399397`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"Limit", "[",
+ RowBox[{
+ RowBox[{"kirr", "[", "t", "]"}], " ", ",", " ",
+ RowBox[{"t", "\[Rule]", "0"}]}], "]"}]], "Input",
+ CellChangeTimes->{{3.443841482034924*^9, 3.443841506694934*^9}}],
+
+Cell[BoxData["kf"], "Output",
+ CellChangeTimes->{{3.443841485696105*^9, 3.443841507859199*^9},
+ 3.443841585115836*^9, 3.443841661326085*^9, 3.443841851019836*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"dk", " ", "=", " ",
+ RowBox[{"D", "[",
+ RowBox[{
+ RowBox[{"kirr", "[", "t", "]"}], ",", "t"}], "]"}], " "}]], "Input",
+ CellChangeTimes->{{3.44384152191495*^9, 3.443841547684967*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{"kf", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{
+ SqrtBox["D"], " ", "kf", " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ FractionBox["kf",
+ RowBox[{"4", " ", "D", " ", "\[Pi]", " ", "s"}]]}], ")"}]}],
+ RowBox[{
+ SqrtBox["\[Pi]"], " ", "s", " ",
+ SqrtBox["t"]}]]}], "+",
+ FractionBox[
+ RowBox[{"D", " ",
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{"D", " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ FractionBox["kf",
+ RowBox[{"4", " ", "D", " ", "\[Pi]", " ", "s"}]]}], ")"}], "2"],
+ " ", "t"}],
+ SuperscriptBox["s", "2"]]], " ", "kf", " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ FractionBox["kf",
+ RowBox[{"4", " ", "D", " ", "\[Pi]", " ", "s"}]]}], ")"}], "2"],
+ " ",
+ RowBox[{"Erfc", "[",
+ FractionBox[
+ RowBox[{
+ SqrtBox["D"], " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ FractionBox["kf",
+ RowBox[{"4", " ", "D", " ", "\[Pi]", " ", "s"}]]}], ")"}], " ",
+ SqrtBox["t"]}], "s"], "]"}]}],
+ SuperscriptBox["s", "2"]]}], ")"}]}],
+ RowBox[{"kf", "+",
+ RowBox[{"4", " ", "D", " ", "\[Pi]", " ", "s"}]}]]], "Output",
+ CellChangeTimes->{{3.443841531900929*^9, 3.443841548556098*^9},
+ 3.44384158730866*^9, 3.443841662788028*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"Limit", "[",
+ RowBox[{"dk", ",", " ",
+ RowBox[{"t", "\[Rule]", "0"}], ",", " ",
+ RowBox[{"Direction", " ", "->", " ",
+ RowBox[{"-", "1"}]}]}], "]"}]], "Input",
+ CellChangeTimes->{{3.4438415501568832`*^9, 3.443841553554927*^9}, {
+ 3.443841794147479*^9, 3.443841829164997*^9}, {3.443841877694964*^9,
+ 3.44384189028934*^9}}],
+
+Cell[BoxData[
+ RowBox[{"-", "\[Infinity]"}]], "Output",
+ CellChangeTimes->{{3.443841654456573*^9, 3.443841664878064*^9}, {
+ 3.443841798943503*^9, 3.443841832256063*^9}, {3.44384188117345*^9,
+ 3.4438418913762617`*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"LogLogPlot", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"kirr", "[", "t", "]"}], " ", "/.", " ", "params"}], ",", " ",
+ RowBox[{"{",
+ RowBox[{"t", ",", " ", "0.1", ",", " ", "5"}], "}"}]}], "]"}]], "Input",
+ CellChangeTimes->{{3.443841341639484*^9, 3.443841353994966*^9}}],
+
+Cell[BoxData[
+ GraphicsBox[{{}, {},
+ {Hue[0.67, 0.6, 0.6], LineBox[CompressedData["
+1:eJxFz2s4VHkcB3Azdc7Mmcm1264iGquekkd2cwv/H4uUahXlbhGhiLS1yqW7
+a3JJCrP7WMK2rLB2Q+occg0p7IRduZYo1znjzuzsm7z4Pt/n8+L74qvqEXDU
+iyklJeUoyf+d/tVyYdFpJlWQNhDGs+VCVU5EtqEvkyqzfXvplA0XRrbJptWd
+ZFJrNEsuFx3lgt4Olevd7kzKonk6Ax3hgkDT9Bhhz6QSkpdNnA9zQUEvYs7N
+jEmlzRwSp1hyIeaAjKmcEpPq8IoOVDDiwsUA5bYzLxnUZjPHi6rqXJBVTEqd
+5DEo7eANQ+00BxqckvKoG1LUj+cWPF3qOOCc5n/I9bWYbFnbW308nQP3jF1u
+1YYvk7EqAhtdPw58KX/So850icx8aNPfCRzgZq+/avNpgeSP6xTGKHDA5r50
+kDJ/nhypvFDe8I6A/jLl+asec+SGnPGWwgoC+viCF4Eys6TZPLenI4GA7QW5
+2rOvpkmZYPOGNB8CqpUr/Z6likhTaeuKlyYEvLK+Oi5rSZOwO1b5hy8IUCty
+JObXCEmD1sy2xCk2fGjtOh3weJKknCfV971gA8M2K4PnM0G6v61uvZbFhuc4
+p7PXdYwcj7sbKHeFDV4fFJmJpR/J2/csKE9HNqSouzoEoWGy1qDDaVqXDb8O
+jZmcSnxPtsdv33VuLRs8veVaesYHyF80fIN8Jljw6FvPmIiQPlLxqXtWwCsW
+/GXOLYh80E1OBjc2xBWwYOfT4izP/A6yce2B7Jx4FtBFIf2GzW1kvTgjgwhi
+gdiejLzBbibfO7a/yzvKAmvKepXtzudk72u9xU06LLA6qRW1QBeS99eP+H7c
+yILB+RELWV4Cmv2+KH/NAg6WYoXyOf5jNEPkqzb34uCdLI418qtF3TFZbfI1
+OARv2lDJ3/EKve/eP/dvHg4+45xzW/C/ERIPXq+/g0PKU0/measuZBWuX+Nw
+CYfcVoc9Pjo9iCcdstvsBA4LE51b75n3I/GLAfXxAzis47cv1lcNoqVHexO7
+vsHhWpSxdtjXQyjwZtBS4xYcZKccBYqdw8ibJTBKJ3CQEZsdjDzyCelp9XSG
+izDQiO7T6l4eQ7k3Be/sejGw/u1CaVfLBDphVxGr04RBlfsJkwJiCi2fX/60
+VIZBtd3Dq9MuQnQKT/Ztz8FggHMYRj2ESMUklnlbYuazqeUBbyEqVRFl7ZMY
+1AxDX58VosJZJakn2RhUTLy8kH9TiGT3FiplPsDgj2j6tMfvQrT9lN7o2UwM
+Mp+g4y8XhSgiuq9j488YVJ4ZXFfDoFHlXHN4608Y9KpGtz3BabTHbcOuOImV
+o1qtH8rRKEW/NJMpcaqtl9UNNRolGWlMjaZjkDAaAwYHaRQcrKNam4rB5S2C
+HTnpNFo821UeehcDlaLdY9czaPTnY36VvsRVpnFF7tk0Gmw80jqdjAF+0kxP
+6RGNGCWJxFmJb+UXmydX0ehQ+bE3Xncw0DSWIYLqaNRVnK7Mk7ilxbfpuyYa
+1Su1+PcmYaAgVLHhCmhkkbbAc5L4vn6827VhGvl5249bJ2Jg0DjCcxujUe22
+mfMyEv/jbDFkJKQRthi2uilB8u/Kkv/cIo1ctE3090lMyTvsfsMQIWPD0J7V
+EntkldAluAiF5fHjquIxyK49HRIoJ0IqRCzDWGIL+zrjw+tFSD7Drm7hNgYf
+hrcyNRRFKPMTfrdM4piQ8BpiiwjtDZnSLXqwCjSku6KGeCsO0EqUzdq14mIb
+yxRX3RU3+jOaDG6ueDCynLGxbcWuTp31ROj0Z3dqzsYvqs18dmTu5sj9brMr
++5HmEnO5uc8Gzcv9JtSK/wN+gLJD
+ "]]}},
+ AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948],
+ Axes->True,
+ AxesOrigin->{-2.3025850929940455`, 2.4554161425470773`},
+ CoordinatesToolOptions:>{"DisplayFunction" -> ({
+ Exp[
+ Part[#, 1]],
+ Exp[
+ Part[#, 2]]}& ), "CopiedValueFunction" -> ({
+ Exp[
+ Part[#, 1]],
+ Exp[
+ Part[#, 2]]}& )},
+ FrameTicks->{{{{2.302585092994046,
+ FormBox["10", TraditionalForm]}, {4.605170185988092,
+ FormBox["100", TraditionalForm]}, {3.912023005428146,
+ FormBox["50", TraditionalForm]}, {6.214608098422191,
+ FormBox["500", TraditionalForm]}, {2.995732273553991,
+ FormBox["20", TraditionalForm]}, {5.298317366548036,
+ FormBox["200", TraditionalForm]}, {3.4011973816621555`,
+ FormBox["30", TraditionalForm]}, {5.703782474656201,
+ FormBox["300", TraditionalForm]}, {2.70805020110221,
+ FormBox["15", TraditionalForm]}, {5.0106352940962555`,
+ FormBox["150", TraditionalForm]}, {4.248495242049359,
+ FormBox["70", TraditionalForm]}, {6.551080335043404,
+ FormBox["700", TraditionalForm]}, {2.3978952727983707`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.4849066497880004`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.5649493574615367`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.6390573296152584`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.772588722239781,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.833213344056216,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.8903717578961645`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.9444389791664403`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {3.6888794541139363`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {4.0943445622221,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {4.382026634673881,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {4.499809670330265,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {4.700480365792417,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {4.787491742782046,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {4.867534450455582,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {4.941642422609304,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {5.075173815233827,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {5.135798437050262,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {5.19295685089021,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {5.247024072160486,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {5.991464547107982,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {6.396929655216146,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}}, {{2.302585092994046,
+ FormBox["\"\"", TraditionalForm]}, {4.605170185988092,
+ FormBox["\"\"", TraditionalForm]}, {3.912023005428146,
+ FormBox["\"\"", TraditionalForm]}, {6.214608098422191,
+ FormBox["\"\"", TraditionalForm]}, {2.995732273553991,
+ FormBox["\"\"", TraditionalForm]}, {5.298317366548036,
+ FormBox["\"\"", TraditionalForm]}, {3.4011973816621555`,
+ FormBox["\"\"", TraditionalForm]}, {5.703782474656201,
+ FormBox["\"\"", TraditionalForm]}, {2.70805020110221,
+ FormBox["\"\"", TraditionalForm]}, {5.0106352940962555`,
+ FormBox["\"\"", TraditionalForm]}, {4.248495242049359,
+ FormBox["\"\"", TraditionalForm]}, {6.551080335043404,
+ FormBox["\"\"", TraditionalForm]}, {2.3978952727983707`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.4849066497880004`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.5649493574615367`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.6390573296152584`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.772588722239781,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.833213344056216,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.8903717578961645`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.9444389791664403`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {3.6888794541139363`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {4.0943445622221,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {4.382026634673881,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {4.499809670330265,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {4.700480365792417,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {4.787491742782046,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {4.867534450455582,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {4.941642422609304,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {5.075173815233827,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {5.135798437050262,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {5.19295685089021,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {5.247024072160486,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {5.991464547107982,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {6.396929655216146,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}}}, {{{-2.302585092994046,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"0.1\"", 0.1, AutoDelete -> True], NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {-1.6094379124341003`,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"0.2\"", 0.2, AutoDelete -> True], NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {-0.6931471805599453,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"0.5\"", 0.5, AutoDelete -> True], NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {0.,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"1.0\"", 1., AutoDelete -> True],
+ NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {0.6931471805599453,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"2.0\"", 2., AutoDelete -> True],
+ NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {1.6094379124341003`,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"5.0\"", 5., AutoDelete -> True],
+ NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {2.302585092994046,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"10.0\"", 10., AutoDelete -> True],
+ NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {2.995732273553991,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"20.0\"", 20., AutoDelete -> True],
+ NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {3.912023005428146,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"50.0\"", 50., AutoDelete -> True],
+ NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {-1.2039728043259361`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.916290731874155,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.5108256237659907,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.35667494393873245`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.2231435513142097,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.10536051565782628`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {1.0986122886681098`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {1.3862943611198906`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {1.791759469228055,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {1.9459101490553132`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.0794415416798357`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.1972245773362196`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {3.4011973816621555`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {3.6888794541139363`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}}, {{-2.302585092994046,
+ FormBox["\"\"", TraditionalForm]}, {-1.6094379124341003`,
+ FormBox["\"\"", TraditionalForm]}, {-0.6931471805599453,
+ FormBox["\"\"", TraditionalForm]}, {0.,
+ FormBox["\"\"", TraditionalForm]}, {0.6931471805599453,
+ FormBox["\"\"", TraditionalForm]}, {1.6094379124341003`,
+ FormBox["\"\"", TraditionalForm]}, {2.302585092994046,
+ FormBox["\"\"", TraditionalForm]}, {2.995732273553991,
+ FormBox["\"\"", TraditionalForm]}, {3.912023005428146,
+ FormBox["\"\"", TraditionalForm]}, {-1.2039728043259361`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.916290731874155,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.5108256237659907,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.35667494393873245`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.2231435513142097,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.10536051565782628`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {1.0986122886681098`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {1.3862943611198906`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {1.791759469228055,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {1.9459101490553132`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.0794415416798357`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.1972245773362196`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {3.4011973816621555`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {3.6888794541139363`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}}}},
+ GridLines->{None, None},
+ Method->{},
+ PlotRange->NCache[{{-2.3025850929940455`,
+ Log[5]}, {2.4554161425470773`,
+ 3.4160833201488776`}}, {{-2.3025850929940455`, 1.6094379124341003`}, {
+ 2.4554161425470773`, 3.4160833201488776`}}],
+ PlotRangeClipping->True,
+ PlotRangePadding->{
+ Scaled[0.02],
+ Scaled[0.02]},
+ Ticks->{{{-2.302585092994046,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"0.1\"", 0.1, AutoDelete -> True],
+ NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {-1.6094379124341003`,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"0.2\"", 0.2, AutoDelete -> True],
+ NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {-0.6931471805599453,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"0.5\"", 0.5, AutoDelete -> True],
+ NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {0.,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"1.0\"", 1., AutoDelete -> True], NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {0.6931471805599453,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"2.0\"", 2., AutoDelete -> True], NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {1.6094379124341003`,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"5.0\"", 5., AutoDelete -> True], NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {2.302585092994046,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"10.0\"", 10., AutoDelete -> True], NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {2.995732273553991,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"20.0\"", 20., AutoDelete -> True], NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {3.912023005428146,
+ FormBox[
+ TagBox[
+ InterpretationBox["\"50.0\"", 50., AutoDelete -> True], NumberForm[#, {
+ DirectedInfinity[1], 1}, NumberPadding -> {"", "0"}]& ],
+ TraditionalForm]}, {-1.2039728043259361`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.916290731874155,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.5108256237659907,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.35667494393873245`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.2231435513142097,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {-0.10536051565782628`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {1.0986122886681098`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {1.3862943611198906`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {1.791759469228055,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {1.9459101490553132`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.0794415416798357`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.1972245773362196`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {3.4011973816621555`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {3.6888794541139363`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}}, {{2.302585092994046,
+ FormBox["10", TraditionalForm]}, {4.605170185988092,
+ FormBox["100", TraditionalForm]}, {3.912023005428146,
+ FormBox["50", TraditionalForm]}, {6.214608098422191,
+ FormBox["500", TraditionalForm]}, {2.995732273553991,
+ FormBox["20", TraditionalForm]}, {5.298317366548036,
+ FormBox["200", TraditionalForm]}, {3.4011973816621555`,
+ FormBox["30", TraditionalForm]}, {5.703782474656201,
+ FormBox["300", TraditionalForm]}, {2.70805020110221,
+ FormBox["15", TraditionalForm]}, {5.0106352940962555`,
+ FormBox["150", TraditionalForm]}, {4.248495242049359,
+ FormBox["70", TraditionalForm]}, {6.551080335043404,
+ FormBox["700", TraditionalForm]}, {2.3978952727983707`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.4849066497880004`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.5649493574615367`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.6390573296152584`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.772588722239781,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.833213344056216,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.8903717578961645`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {2.9444389791664403`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {3.6888794541139363`,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {4.0943445622221,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {4.382026634673881,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {4.499809670330265,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {4.700480365792417,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {4.787491742782046,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {4.867534450455582,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {4.941642422609304,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {5.075173815233827,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {5.135798437050262,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {5.19295685089021,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {5.247024072160486,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {5.991464547107982,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}, {6.396929655216146,
+ FormBox["\"\"", TraditionalForm], {0.00375, 0.}, {
+ Thickness[0.001]}}}}]], "Output",
+ CellChangeTimes->{
+ 3.443841355006878*^9, 3.4438413985804157`*^9, {3.443841442321381*^9,
+ 3.443841462700041*^9}, 3.443841668799881*^9, 3.443841896079426*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"Limit", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"Exp", "[",
+ RowBox[{"x", "^", "2"}], "]"}], " ",
+ RowBox[{"Erfc", "[", "x", "]"}]}], ",", " ",
+ RowBox[{"x", "\[Rule]", "0"}]}], "]"}]], "Input",
+ CellChangeTimes->{{3.4438419226340237`*^9, 3.443841952352594*^9}}],
+
+Cell[BoxData["1"], "Output",
+ CellChangeTimes->{{3.443841941767384*^9, 3.443841953148506*^9}}]
+}, Open ]]
+},
+WindowSize->{994, 1174},
+WindowMargins->{{Automatic, 5}, {-20, Automatic}},
+FrontEndVersion->"7.0 for Linux x86 (64-bit) (December 18, 2008)",
+StyleDefinitions->"Default.nb"
+]
+(* End of Notebook Content *)
+
+(* Internal cache information *)
+(*CellTagsOutline
+CellTagsIndex->{}
+*)
+(*CellTagsIndex
+CellTagsIndex->{}
+*)
+(*NotebookFileOutline
+Notebook[{
+Cell[545, 20, 971, 24, 55, "Input"],
+Cell[CellGroupData[{
+Cell[1541, 48, 445, 11, 55, "Input"],
+Cell[1989, 61, 306, 8, 31, "Output"]
+}, Open ]],
+Cell[2310, 72, 444, 13, 55, "Input"],
+Cell[2757, 87, 3062, 95, 231, "Input"],
+Cell[5822, 184, 727, 21, 32, "Input"],
+Cell[CellGroupData[{
+Cell[6574, 209, 148, 3, 32, "Input"],
+Cell[6725, 214, 2581, 81, 137, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[9343, 300, 662, 13, 32, "Input"],
+Cell[10008, 315, 25947, 531, 232, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[35992, 851, 164, 3, 32, "Input"],
+Cell[36159, 856, 757, 22, 75, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[36953, 883, 219, 5, 32, "Input"],
+Cell[37175, 890, 165, 2, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[37377, 897, 215, 5, 32, "Input"],
+Cell[37595, 904, 1561, 47, 121, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[39193, 956, 360, 8, 32, "Input"],
+Cell[39556, 966, 220, 4, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[39813, 975, 301, 7, 32, "Input"],
+Cell[40117, 984, 21410, 421, 246, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[61564, 1410, 299, 8, 32, "Input"],
+Cell[61866, 1420, 94, 1, 31, "Output"]
+}, Open ]]
+}
+]
+*)
+
+(* End of internal cache information *)
diff --git a/ecell4/egfrd/legacy/doc/math/p_rev.nb b/ecell4/egfrd/legacy/doc/math/p_rev.nb
new file mode 100644
index 0000000..6d2dcba
--- /dev/null
+++ b/ecell4/egfrd/legacy/doc/math/p_rev.nb
@@ -0,0 +1,697 @@
+(* Content-type: application/mathematica *)
+
+(*** Wolfram Notebook File ***)
+(* http://www.wolfram.com/nb *)
+
+(* CreatedBy='Mathematica 6.0' *)
+
+(*CacheID: 234*)
+(* Internal cache information:
+NotebookFileLineBreakTest
+NotebookFileLineBreakTest
+NotebookDataPosition[ 145, 7]
+NotebookDataLength[ 32232, 688]
+NotebookOptionsPosition[ 31561, 662]
+NotebookOutlinePosition[ 31893, 677]
+CellTagsIndexPosition[ 31850, 674]
+WindowFrame->Normal
+ContainsDynamic->False*)
+
+(* Beginning of Notebook Content *)
+Notebook[{
+Cell[BoxData[{
+ RowBox[{
+ RowBox[{"NA", " ", "=", " ",
+ RowBox[{"6.0221367", " ",
+ RowBox[{"10", "^", "23"}]}]}], ";"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"Dtot", "=", " ",
+ RowBox[{"2", " ",
+ RowBox[{"10", "^",
+ RowBox[{"-", "12"}]}]}]}], ";"}], "\n",
+ RowBox[{
+ RowBox[{"kd", "=",
+ RowBox[{"10", "^", "3"}]}], ";"}], "\n",
+ RowBox[{
+ RowBox[{"sigma", "=",
+ RowBox[{"5", " ",
+ RowBox[{"10", "^",
+ RowBox[{"-", "9"}]}]}]}], ";"}], "\n",
+ RowBox[{
+ RowBox[{"kf", "=",
+ RowBox[{"10", " ", "*", " ", "sigma", " ", "*", " ", "Dtot"}]}],
+ ";"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"kD", "=",
+ RowBox[{"4", "*", "Pi", "*", "sigma", "*", "Dtot"}]}], ";"}], "\n",
+ RowBox[{
+ RowBox[{"h", "=",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"kf", "/", "kD"}]}], ")"}], "*",
+ RowBox[{
+ RowBox[{"Sqrt", "[", "Dtot", "]"}], "/", "sigma"}]}]}], ";"}], "\n",
+ RowBox[{
+ RowBox[{"a", "=",
+ RowBox[{"kd", "*",
+ RowBox[{
+ RowBox[{"Sqrt", "[", "Dtot", "]"}], "/", "sigma"}]}]}], ";"}], "\n",
+ RowBox[{
+ RowBox[{"r0", "=", "sigma"}], ";"}], "\n",
+ RowBox[{
+ RowBox[{"tau", " ", "=", " ",
+ RowBox[{
+ RowBox[{"sigma", "^", "2"}], " ", "/", " ", "Dtot"}]}],
+ ";"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"t", "=", " ",
+ RowBox[{"tau", " ",
+ RowBox[{"10", "^",
+ RowBox[{"-", "2"}]}]}]}], ";"}], "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"maxr", " ", "=", " ",
+ RowBox[{
+ RowBox[{"4.5", " ",
+ RowBox[{"Sqrt", "[", " ",
+ RowBox[{"6", " ", "Dtot", " ", "t"}], "]"}]}], "+", "sigma"}]}],
+ ";"}]}], "Input",
+ CellChangeTimes->{
+ 3.4048615936709757`*^9, {3.404877873448547*^9, 3.404877975046054*^9}, {
+ 3.4048780265415277`*^9, 3.4048780480906477`*^9}, {3.404888602933188*^9,
+ 3.40488860494455*^9}, {3.405111510979896*^9, 3.405111553260469*^9}, {
+ 3.4051116033126993`*^9, 3.405111606383926*^9}, {3.40529048075638*^9,
+ 3.405290500578608*^9}, {3.405290539557836*^9, 3.405290579275263*^9}, {
+ 3.405290974201661*^9, 3.405291070904235*^9}, {3.405291209572825*^9,
+ 3.405291226722455*^9}, {3.405291309350872*^9, 3.4052913386836042`*^9}, {
+ 3.405291406374434*^9, 3.40529143640485*^9}, {3.405291479367837*^9,
+ 3.405291498365471*^9}, {3.4052918475474033`*^9, 3.405291852224893*^9}, {
+ 3.408744019660096*^9, 3.4087440199562063`*^9}, {3.408744137467126*^9,
+ 3.408744159954822*^9}, {3.408744255268084*^9, 3.408744276866228*^9}, {
+ 3.408745017816289*^9, 3.4087450193818903`*^9}, {3.415225174722199*^9,
+ 3.415225184054847*^9}, {3.415225266488965*^9, 3.415225266737973*^9}, {
+ 3.415225341213303*^9, 3.415225341995397*^9}, {3.415225446018668*^9,
+ 3.415225446276045*^9}, {3.415225715236499*^9, 3.415225716039607*^9}, {
+ 3.415225813718596*^9, 3.415225814152122*^9}, {3.415225892041902*^9,
+ 3.4152259221987953`*^9}, {3.422835745667426*^9, 3.422835746401618*^9}, {
+ 3.425243690640033*^9, 3.425243695774887*^9}}],
+
+Cell[BoxData[{
+ RowBox[{
+ RowBox[{"sol", "=",
+ RowBox[{"N", "[",
+ RowBox[{"Solve", "[",
+ RowBox[{
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"x", "+", "y", "+", "z"}], "==", "h"}], ",", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"x", "*", "y"}], "+",
+ RowBox[{"y", "*", "z"}], "+",
+ RowBox[{"x", "*", "z"}]}], "==", "kd"}], ",",
+ RowBox[{
+ RowBox[{"x", "*", "y", "*", "z"}], "==", "a"}]}], "}"}], ",",
+ RowBox[{"{",
+ RowBox[{"x", ",", "y", ",", "z"}], "}"}]}], "]"}], "]"}]}],
+ ";"}], "\n",
+ RowBox[{
+ RowBox[{"alpha", "=",
+ RowBox[{"sol", "[",
+ RowBox[{"[",
+ RowBox[{"1", ",", "1", ",", "2"}], "]"}], "]"}]}], ";"}], "\n",
+ RowBox[{
+ RowBox[{"beta", " ", "=", " ",
+ RowBox[{"sol", "[",
+ RowBox[{"[",
+ RowBox[{"1", ",", "2", ",", "2"}], "]"}], "]"}]}], ";"}], "\n",
+ RowBox[{
+ RowBox[{"gamma", "=",
+ RowBox[{"sol", "[",
+ RowBox[{"[",
+ RowBox[{"1", ",", "3", ",", "2"}], "]"}], "]"}]}], ";"}]}], "Input",
+ CellChangeTimes->{{3.4048615936709757`*^9, 3.404861604654194*^9}, {
+ 3.404861899874537*^9, 3.404861904484789*^9}, {3.4048743552352448`*^9,
+ 3.404874359865491*^9}, {3.427223310921163*^9, 3.427223321719468*^9}}],
+
+Cell[BoxData[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"W", "[",
+ RowBox[{"x_", ",", "y_"}], "]"}], ":=",
+ RowBox[{
+ RowBox[{"Exp", "[",
+ RowBox[{
+ RowBox[{"2", "*", "x", "*", "y"}], "+",
+ RowBox[{"y", "^", "2"}]}], "]"}], "*",
+ RowBox[{"Erfc", "[",
+ RowBox[{"x", "+", "y"}], "]"}]}]}], ";"}], "\n",
+ RowBox[{
+ RowBox[{
+ RowBox[{"frac", "[",
+ RowBox[{"x_", ",", "y_", ",", "z_"}], "]"}], ":=",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"x", "*",
+ RowBox[{"(",
+ RowBox[{"z", "+", "x"}], ")"}], "*",
+ RowBox[{"(",
+ RowBox[{"x", "+", "y"}], ")"}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"z", "-", "x"}], ")"}], "*",
+ RowBox[{"(",
+ RowBox[{"x", "-", "y"}], ")"}]}], ")"}]}]}], ";"}], "\n",
+ RowBox[{
+ RowBox[{
+ RowBox[{"coeff", "[", "r_", "]"}], ":=",
+ RowBox[{"1", "/",
+ RowBox[{"(",
+ RowBox[{"4", "*", "Pi", "*", "r", "*", "r0", "*",
+ RowBox[{"Sqrt", "[", "Dtot", "]"}]}], ")"}]}]}], ";"}], "\n",
+ RowBox[{
+ RowBox[{
+ RowBox[{"term1", "[", "r_", "]"}], ":=",
+ RowBox[{
+ RowBox[{"1", "/",
+ RowBox[{"Sqrt", "[",
+ RowBox[{"4", "*", "Pi", "*", "t"}], "]"}]}], "*",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"Exp", "[",
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r", "-", "r0"}], ")"}], "^", "2"}]}], "/",
+ RowBox[{"(",
+ RowBox[{"4", "*", "Dtot", "*", "t"}], ")"}]}], "]"}], "+",
+ RowBox[{"Exp", "[",
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", "*", "sigma"}]}], ")"}], "^", "2"}]}], "/",
+ RowBox[{"(",
+ RowBox[{"4", "*", "Dtot", "*", "t"}], ")"}]}], "]"}]}], ")"}]}]}],
+ ";"}], "\n",
+ RowBox[{
+ RowBox[{
+ RowBox[{"term2", "[", "r_", "]"}], ":=",
+ RowBox[{
+ RowBox[{"frac", "[",
+ RowBox[{"alpha", ",", "beta", ",", "gamma"}], "]"}], "*",
+ RowBox[{"W", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", "*", "sigma"}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"Sqrt", "[",
+ RowBox[{"4", "*", "Dtot", "*", "t"}], "]"}], ")"}]}], ",",
+ RowBox[{"alpha", "*",
+ RowBox[{"Sqrt", "[", "t", "]"}]}]}], "]"}]}]}], ";"}], "\n",
+ RowBox[{
+ RowBox[{
+ RowBox[{"term3", "[", "r_", "]"}], ":=",
+ RowBox[{
+ RowBox[{"frac", "[",
+ RowBox[{"beta", ",", "gamma", ",", "alpha"}], "]"}], "*",
+ RowBox[{"W", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", "*", "sigma"}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"Sqrt", "[",
+ RowBox[{"4", "*", "Dtot", "*", "t"}], "]"}], ")"}]}], ",",
+ RowBox[{"beta", "*",
+ RowBox[{"Sqrt", "[", "t", "]"}]}]}], "]"}]}]}], ";"}], "\n",
+ RowBox[{
+ RowBox[{
+ RowBox[{"term4", "[", "r_", "]"}], ":=",
+ RowBox[{
+ RowBox[{"frac", "[",
+ RowBox[{"gamma", ",", "alpha", ",", "beta"}], "]"}], "*",
+ RowBox[{"W", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", "*", "sigma"}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"Sqrt", "[",
+ RowBox[{"4", "*", "Dtot", "*", "t"}], "]"}], ")"}]}], ",",
+ RowBox[{"gamma", "*",
+ RowBox[{"Sqrt", "[", "t", "]"}]}]}], "]"}]}]}], ";"}]}], "Input",
+ CellChangeTimes->{{3.4048615936709757`*^9, 3.404861604654194*^9},
+ 3.404874105973494*^9, {3.422835722543302*^9, 3.422835722947648*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"f", "[", "r_", "]"}], ":=",
+ RowBox[{"4", "*", "Pi", "*",
+ RowBox[{"r", "^", "2"}], "*",
+ RowBox[{"Re", "[",
+ RowBox[{
+ RowBox[{"coeff", "[", "r", "]"}], "*",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"term1", "[", "r", "]"}], "+",
+ RowBox[{"term2", "[", "r", "]"}], "+",
+ RowBox[{"term3", "[", "r", "]"}], "+",
+ RowBox[{"term4", "[", "r", "]"}]}], ")"}]}], "]"}]}]}]], "Input",
+ CellChangeTimes->{{3.4048615936709757`*^9, 3.404861604654194*^9}, {
+ 3.404874105973494*^9, 3.404874109490901*^9}, 3.404874320311274*^9}],
+
+Cell["c = N[Integrate[f[r], {r, 1, Infinity}]] ", "Text",
+ CellChangeTimes->{{3.4048615936709757`*^9, 3.404861604654194*^9}, {
+ 3.404874105973494*^9, 3.404874112337007*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"Plot", "[",
+ RowBox[{
+ RowBox[{"f", "[", "r", "]"}], ",", " ",
+ RowBox[{"{",
+ RowBox[{"r", ",", "sigma", ",", "maxr"}], "}"}]}], "]"}]], "Input",
+ CellChangeTimes->{{3.4048615936709757`*^9, 3.404861604654194*^9}, {
+ 3.404874105973494*^9, 3.404874116130775*^9}, {3.404874246580364*^9,
+ 3.4048742503747587`*^9}, {3.4048886414967613`*^9, 3.4048887183246*^9}, {
+ 3.404888763939973*^9, 3.404888764884252*^9}, {3.4051116239997063`*^9,
+ 3.405111644533297*^9}, {3.405111704792223*^9, 3.405111712125307*^9}, {
+ 3.405290997792158*^9, 3.405291001093019*^9}, {3.41522568594156*^9,
+ 3.415225686764699*^9}, {3.4152257225385733`*^9, 3.4152257252803507`*^9}}],
+
+Cell[BoxData[
+ GraphicsBox[{{}, {},
+ {Hue[0.67, 0.6, 0.6], LineBox[CompressedData["
+1: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
+BmWRn491yPdk36xxwZikNgxJH7/cYd+Frwc/eH5fWhvYVEUmjI914e+cCssp
+strAl3BWo/0w+d5t5j1IVdSGraMZfVcPdOFX+p2rb2how4z8408vDLqwfTT9
+9CmqNqxiP57rLNyFA0UNVCeOawPhw93k3tyJ80SH7SbstOFJGN2V1tCJO0UD
+Lk+c1IZRjk2n1t3txFu2Vy1MOGkD/ynhYxHFnbh2u1TTpKc2tH09lTqT0Iln
+xfiNpi5ow9MvaRuHrTuxy863J7/lkv03mjGVJzrwEelzGXP/aYPk0mtxq8l2
+XMZent03RtZXsZxyeNeOV0ZHrt35oA2c+9j7PYbacW6GfqHrhDYkXT4i7dbZ
+jj9yr1R+mNaG6t7iz5tK2rH7lyBW/x9tcJH6nars2I5DK8/+qdmmA2KmrxIb
+3j7Bxbt9T/oe0oEPyVLKfo1tOJizK2hhSAfcym/6rgi1YM9Gu+lt1rrgyp9S
+sKbqIe45X9V+77ku/LIpe95Xdh/XLhybOrB/N0yuksofS7mLeQJbfU507Ibm
+/baJeF8lZolYgXbXbmhTQ+uz9CtxfOMkz7qnu+Eil6nzb8VKLMC2Lv/B891w
+Yq1k1QB/Jd4Sbd0jPLgbfvb4rnzJvYOlr3xT6P64G9KURuuflVVgatXmT7rs
+erAwtH2bZN9tHPLZ9ZCQgR7M2mYRgha38EZ2RVlBQg9Eax0Pr6fcwrdFvi4K
+YD0gdOkuEltv4RFjt+x1DD24t7bDN+6/EqxX4faWx0QPFldrEvbuJXjJx/0k
+m60ezGy5NqiaUIwDVzw8v4XogX7DRzPG25vYf71PdEcjWa+dY2/XwwKsw/lE
+rvChHlwldv33tKQA/17c/Cy0WQ/aMuW5xlILcMj7JoHdbXowtEZ+nupUgMPv
+8WTffqoHdrfed34UKMDJR/NvpwzrwbZBsckcp3x8q7i37+iiHsgncrhWSeRh
+l6u7fHWW9ODSqX0jy+vysGKKv/CmFT0Q4SmwrFzIxZVBokef/yPP114TF1+S
+i2tNnD+iNfpAr97v9p0/F7fM/VuQEtaHyvsKwhb/XcMjhIroDw192Fewy1bp
+ag72LbvTOq+lD/+kasyU/XMw32ZV19/a+rB1cP32QwdysN60agO7vj6sF2WN
+i6/OwdlX1a030fVBg+MqV7xXNj70Wytt90F9mPJfkWo0zcIvqvX5In31wf7t
+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
+uVpj4F9dNC9oyIbPPlNKDzuBYbIpZ/vdZ3+Q9elFqwg7DIfqOn4eO/sH6XC1
+bo62xxBpWObwRfIPWiSss+JPYWB7qYfyQldQYM3FqxnOGIo3fD9pQF1GQdmv
+Csq9MCCd3Gzvr4so2DnszutQDOUBUq5beuaRTgJn3aswDKF9b+9Lps2j+aro
+hy8vYnglXYh6Ds8jt+WE7r4IDO+fJDUvjs+hY4nZX7piMIjfjB/24Z5D6G6N
+TEMyhkfEtrP3HWfQyhBFpT4Fwy7bWvqC5gy6/+c+pTYVQ1KeNFcDxwxS39PM
+qE7DMOh3YG1fwQ+0a/jZydJMcl4Z/amqz78jLrbx3Ow8DOcv9E695f+GWiRP
+F2fmY2jff4W+quErurD3a0V6AYarKdyneZ2+osXU2abUQgwaXOsG21q/oM9S
+/97ElWA45Vvamx09hZ4Zb9kSXEn68eyU2RhlEqVkGCUfbSb5f42eSZX6iOzl
+M0INH2P4srKuef/0B6TZ9MFLqwWD36Rc49W6D2jwfYjZ+jYMYuzC98aMPyAR
+5TuCrR0YrKbUC2aC3qPCNqEr8j3kfMTzEMfsO+R36ETk5l5y/eSy7a7Wd4g5
+dduPsw/D9/6DXx6mvUOf1zOtRl9g2Ns9G39S9x1SPnp2c+oguV9EeF2EwH+o
+bmYk6/dbDM+Wz3OW+Y+gmAi5uPFRDE5mFy0YMiPoyGb/oP7/MMxuSi2qHnqD
+VvTXHy0fI/Oz793GvwZvEIrBonafyHpi9+jigsOIJVZ0vfMrBrVOn+n+0Vfo
+rbHnjYxlDGEKymY6f/qRSLZ5euYKBho1SKT9UT+ymtSKzfpD5lM7QpY7vB89
+j1jxyPmHYfl8IC1/bT962BS7O5eDCnruZR9nJF+gPJXCvqK1VOi3CXX18u9F
+I+ei24r5qDBquuJpT+tFW5651JXwU8GkrK3qi0AvSnFWu1a6ngo5k9Y5QUd7
+0MX8h84VQlQQcdmxdGykG50Sev3v3jYq7B9kD/y44SnKs2ucrRWlQsnXZivN
+JhYauZP7qW47FSqP/3cu7DQLWe5zfHpfnApCb2g+3E+6EDNyLr1pFxWMOS1F
+QqI7kewvfuUnClSowoKMMu12dIoxs6NdkQrj0txeiTNPUN7lAaEOJSq0bFk2
+Ztx+graq5vzuVKHCxumR65KSTxDvadknzzSoQGkteea8vQ19HabaDOhRYVJ4
+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
+enNGAnYR4tW1qJzEYlOf9nCe2EX8DyBmpy0=
+ "]]}},
+ AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948],
+ Axes->True,
+ AxesOrigin->{5.*^-9, 0},
+ PlotRange->NCache[{{
+ Rational[1, 200000000], 1.051135192126215*^-8}, {0.,
+ 8.826698586420615*^8}}, {{5.*^-9, 1.051135192126215*^-8}, {0.,
+ 8.826698586420615*^8}}],
+ PlotRangeClipping->True,
+ PlotRangePadding->{
+ Scaled[0.02],
+ Scaled[0.02]}]], "Output",
+ CellChangeTimes->{{3.4048886619160433`*^9, 3.404888720442975*^9},
+ 3.404888766918988*^9, 3.405111082053184*^9, {3.405111515403281*^9,
+ 3.405111555967046*^9}, {3.405111609554332*^9, 3.405111645970693*^9}, {
+ 3.405111707506667*^9, 3.405111713866028*^9}, {3.405290519246442*^9,
+ 3.405290584156764*^9}, {3.4052910105180063`*^9, 3.405291077104033*^9}, {
+ 3.4052912028584538`*^9, 3.405291230865542*^9}, {3.405291314418517*^9,
+ 3.4052913394891787`*^9}, {3.40529141098709*^9, 3.405291440570752*^9}, {
+ 3.4052914903257923`*^9, 3.405291499627675*^9}, 3.4087442184350443`*^9, {
+ 3.4087442587257347`*^9, 3.408744279045892*^9}, 3.415225236968498*^9,
+ 3.415225317852159*^9, 3.415225391816189*^9, 3.415225501818651*^9,
+ 3.415225690573433*^9, 3.415225775279088*^9, 3.415225868886817*^9, {
+ 3.4272233174175787`*^9, 3.427223336083517*^9}}]
+}, Open ]],
+
+Cell[BoxData[
+ RowBox[{"out", ":=",
+ RowBox[{
+ RowBox[{"Table", "[",
+ RowBox[{
+ RowBox[{"{",
+ RowBox[{"r", ",",
+ RowBox[{"f", "[", "r", "]"}]}], "}"}], ",",
+ RowBox[{"{",
+ RowBox[{"r", ",", "sigma", ",", "maxr", ",",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"maxr", " ", "-", " ", "sigma"}], ")"}], " ", "/", " ",
+ "1000"}]}], "}"}]}], "]"}], " ", "//", " ", "N"}]}]], "Input",
+ CellChangeTimes->{{3.4048615936709757`*^9, 3.404861604654194*^9}, {
+ 3.404874105973494*^9, 3.404874116130775*^9}, {3.4048781101179543`*^9,
+ 3.4048781548155622`*^9}, {3.404878776189947*^9, 3.404878778776265*^9}, {
+ 3.4048887420736923`*^9, 3.404888776859552*^9}, {3.405111076501524*^9,
+ 3.405111076966112*^9}, {3.40511218323569*^9, 3.405112186104389*^9}, {
+ 3.405291183395241*^9, 3.4052912015204687`*^9}, {3.4272233599223747`*^9,
+ 3.427223373360552*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"Export", "[",
+ RowBox[{"\"\<p_rev.-2.tsv\>\"", ",", "out"}], "]"}]], "Input",
+ CellChangeTimes->{{3.404874133716549*^9, 3.404874136756275*^9}, {
+ 3.4048742204013443`*^9, 3.404874231147789*^9}, {3.404879284090716*^9,
+ 3.404879286232094*^9}, {3.40529050824999*^9, 3.405290576336187*^9}, {
+ 3.4052910484241037`*^9, 3.4052910754693003`*^9}, {3.405291205833249*^9,
+ 3.4052912224066753`*^9}, {3.4052913348501453`*^9, 3.405291335440054*^9}, {
+ 3.40529143161164*^9, 3.405291431977108*^9}, {3.405291466723802*^9,
+ 3.405291494785562*^9}, {3.4052918558158827`*^9, 3.405291856757249*^9}, {
+ 3.408744247082508*^9, 3.408744272472231*^9}, 3.415225244415017*^9, {
+ 3.4152254507322083`*^9, 3.41522545092986*^9}, {3.415225818657775*^9,
+ 3.415225820167624*^9}, {3.4152258885663967`*^9, 3.4152258887445173`*^9}}],
+
+Cell[BoxData["\<\"p_rev.-2.tsv\"\>"], "Output",
+ CellChangeTimes->{
+ 3.4048615621934357`*^9, 3.404874234333146*^9, 3.404874292186165*^9,
+ 3.404874334089143*^9, 3.40487436698604*^9, 3.4048780175352287`*^9,
+ 3.404878050239038*^9, 3.404878159304014*^9, 3.404878735152384*^9,
+ 3.404878782114973*^9, 3.40488861003449*^9, 3.40488879043157*^9,
+ 3.4048889101626997`*^9, 3.40511108290154*^9, {3.4051115163409*^9,
+ 3.405111556500448*^9}, 3.405111610007989*^9, 3.405111722295829*^9,
+ 3.405112188204357*^9, {3.4052905195765057`*^9, 3.4052905859384604`*^9}, {
+ 3.405291027715942*^9, 3.405291077360937*^9}, {3.405291203100967*^9,
+ 3.405291232167391*^9}, {3.405291315359473*^9, 3.405291339738237*^9},
+ 3.405291411251978*^9, 3.40529144136521*^9, {3.405291490832617*^9,
+ 3.4052914999630947`*^9}, 3.408744218955242*^9, {3.408744259137398*^9,
+ 3.408744279374352*^9}, 3.41522523751831*^9, 3.415225318101729*^9,
+ 3.415225392124091*^9, 3.415225502160549*^9, 3.415225775689103*^9,
+ 3.415225869261644*^9, {3.427223317796617*^9, 3.42722333630692*^9}}]
+}, Open ]]
+},
+WindowSize->{804, 973},
+WindowMargins->{{Automatic, 39}, {25, Automatic}},
+FrontEndVersion->"6.0 for Linux x86 (64-bit) (June 2, 2008)",
+StyleDefinitions->"Default.nb"
+]
+(* End of Notebook Content *)
+
+(* Internal cache information *)
+(*CellTagsOutline
+CellTagsIndex->{}
+*)
+(*CellTagsIndex
+CellTagsIndex->{}
+*)
+(*NotebookFileOutline
+Notebook[{
+Cell[568, 21, 2967, 75, 275, "Input"],
+Cell[3538, 98, 1266, 37, 99, "Input"],
+Cell[4807, 137, 3641, 115, 275, "Input"],
+Cell[8451, 254, 598, 15, 32, "Input"],
+Cell[9052, 271, 176, 2, 31, "Text"],
+Cell[CellGroupData[{
+Cell[9253, 277, 687, 12, 32, "Input"],
+Cell[9943, 291, 18755, 312, 231, "Output"]
+}, Open ]],
+Cell[28713, 606, 899, 20, 32, "Input"],
+Cell[CellGroupData[{
+Cell[29637, 630, 840, 12, 32, "Input"],
+Cell[30480, 644, 1065, 15, 31, "Output"]
+}, Open ]]
+}
+]
+*)
+
+(* End of internal cache information *)
diff --git a/ecell4/egfrd/legacy/doc/math/pfree.nb b/ecell4/egfrd/legacy/doc/math/pfree.nb
new file mode 100644
index 0000000..767af94
--- /dev/null
+++ b/ecell4/egfrd/legacy/doc/math/pfree.nb
@@ -0,0 +1,590 @@
+(* Content-type: application/mathematica *)
+
+(*** Wolfram Notebook File ***)
+(* http://www.wolfram.com/nb *)
+
+(* CreatedBy='Mathematica 6.0' *)
+
+(*CacheID: 234*)
+(* Internal cache information:
+NotebookFileLineBreakTest
+NotebookFileLineBreakTest
+NotebookDataPosition[ 145, 7]
+NotebookDataLength[ 17810, 581]
+NotebookOptionsPosition[ 16299, 523]
+NotebookOutlinePosition[ 16632, 538]
+CellTagsIndexPosition[ 16589, 535]
+WindowFrame->Normal
+ContainsDynamic->False*)
+
+(* Beginning of Notebook Content *)
+Notebook[{
+
+Cell[CellGroupData[{
+Cell[BoxData[
+ RowBox[{"pfree", " ", "=", " ",
+ RowBox[{
+ RowBox[{"1", " ", "/", " ",
+ RowBox[{
+ RowBox[{"(", " ",
+ RowBox[{"4", " ", "Pi", " ", "D", " ", "t"}], " ", ")"}], "^",
+ RowBox[{"(",
+ RowBox[{"3", "/", "2"}], ")"}]}]}], " ",
+ RowBox[{"Exp", "[", " ",
+ RowBox[{
+ RowBox[{"-", " ", "r"}], " ",
+ RowBox[{"r", " ", "/", " ",
+ RowBox[{"(",
+ RowBox[{"4", " ", "D", " ", "t"}], ")"}]}]}], "]"}]}]}]], "Input",
+ CellChangeTimes->{{3.392421677028257*^9, 3.3924216796171513`*^9}, {
+ 3.392421719596149*^9, 3.392421757010071*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox["r", "2"],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]],
+ RowBox[{"8", " ",
+ SuperscriptBox["\[Pi]",
+ RowBox[{"3", "/", "2"}]], " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"D", " ", "t"}], ")"}],
+ RowBox[{"3", "/", "2"}]]}]]], "Output",
+ CellChangeTimes->{3.392421758008627*^9, 3.422926436618507*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"intrpfree", " ", "=", " ",
+ RowBox[{
+ RowBox[{"Integrate", "[",
+ RowBox[{
+ RowBox[{"4", " ", "Pi", " ", "r", " ", "r", " ", "pfree"}], ",", " ",
+ "r"}], "]"}], " ", "//", " ", "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.392421764662344*^9, 3.392421778097498*^9}, {
+ 3.3924218924929256`*^9, 3.392421897594997*^9}, {3.392422016510654*^9,
+ 3.392422026323457*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox["r", "2"],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]], " ", "r"}],
+ SqrtBox["\[Pi]"]]}], "+",
+ RowBox[{
+ SqrtBox["D"], " ",
+ SqrtBox["t"], " ",
+ RowBox[{"Erf", "[",
+ FractionBox["r",
+ RowBox[{"2", " ",
+ SqrtBox["D"], " ",
+ SqrtBox["t"]}]], "]"}]}]}],
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]]], "Output",
+ CellChangeTimes->{{3.392421773735919*^9, 3.3924217787400417`*^9}, {
+ 3.392421898117648*^9, 3.392421927984832*^9}, {3.392422018102173*^9,
+ 3.3924220267698183`*^9}, 3.422926437226083*^9}]
+}, Open ]],
+
+Cell["Free p( theta ):", "Text",
+ CellChangeTimes->{{3.389045306921771*^9, 3.389045326696373*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"pthetafree", " ", "=", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", " ", "/", " ",
+ RowBox[{
+ RowBox[{"(", " ",
+ RowBox[{"4", " ", "Pi", " ", "D", " ", "t"}], " ", ")"}], "^",
+ RowBox[{"(",
+ RowBox[{"3", "/", "2"}], ")"}]}]}], ")"}], " ",
+ RowBox[{"Exp", "[", " ",
+ RowBox[{"(", " ",
+ RowBox[{
+ RowBox[{"-", " ",
+ RowBox[{"(", " ",
+ RowBox[{
+ RowBox[{"r", "^", "2"}], " ", "+", " ",
+ RowBox[{"r0", "^", "2"}], " ", "-", " ",
+ RowBox[{"2", " ", "r", " ", "r0", " ",
+ RowBox[{"Cos", "[", " ", "theta", "]"}]}]}], " ", ")"}]}], "/",
+ " ",
+ RowBox[{"(",
+ RowBox[{"4", " ", "D", " ", "t"}], ")"}]}], " ", ")"}], " ", "]"}]}],
+ " ", "//", " ", "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.389043787259761*^9, 3.3890438579412603`*^9}, {
+ 3.389046838007627*^9, 3.389046840236953*^9}, {3.3890480955288687`*^9,
+ 3.389048097895143*^9}, {3.389126004060771*^9, 3.38912600571436*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{
+ SuperscriptBox["r", "2"], "+",
+ SuperscriptBox["r0", "2"], "-",
+ RowBox[{"2", " ", "r", " ", "r0", " ",
+ RowBox[{"Cos", "[", "theta", "]"}]}]}],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]],
+ RowBox[{"8", " ",
+ SuperscriptBox["\[Pi]",
+ RowBox[{"3", "/", "2"}]], " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"D", " ", "t"}], ")"}],
+ RowBox[{"3", "/", "2"}]]}]]], "Output",
+ CellChangeTimes->{{3.389043794222856*^9, 3.389043801765888*^9},
+ 3.389043859262685*^9, 3.3890441751898813`*^9, 3.389044232367955*^9,
+ 3.389046840636776*^9, 3.389048098793891*^9, 3.389126007340967*^9,
+ 3.410250205597513*^9, 3.422926437605247*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"pthetafree", " ", "/.", " ",
+ RowBox[{"theta", "\[Rule]", "0"}]}], " ", "//", " ",
+ "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.4102501172221518`*^9, 3.4102501242065907`*^9}, {
+ 3.410250211794628*^9, 3.410250214934198*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r", "-", "r0"}], ")"}], "2"],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]],
+ RowBox[{"8", " ",
+ SuperscriptBox["\[Pi]",
+ RowBox[{"3", "/", "2"}]], " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"D", " ", "t"}], ")"}],
+ RowBox[{"3", "/", "2"}]]}]]], "Output",
+ CellChangeTimes->{
+ 3.410250126566865*^9, {3.4102502084627542`*^9, 3.410250221339445*^9},
+ 3.422926437770224*^9}]
+}, Open ]],
+
+Cell["Integration by substitution.", "Text",
+ CellChangeTimes->{{3.389045439811955*^9, 3.389045451753861*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"intpthetafree", " ", "=", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"Integrate", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"Sin", "[", "theta", "]"}], " ", "pthetafree", " ",
+ RowBox[{"(",
+ RowBox[{"1", "/",
+ RowBox[{"-",
+ RowBox[{"Sin", "[", "theta", "]"}]}]}], ")"}]}], "/.", " ",
+ RowBox[{
+ RowBox[{"Cos", "[", "theta", "]"}], "\[Rule]", "x"}]}], " ", ",", " ",
+
+ RowBox[{"{",
+ RowBox[{"x", ",", " ", "1", ",", " ", "X"}], "}"}]}], "]"}], " ", "/.",
+ " ",
+ RowBox[{"X", "\[Rule]",
+ RowBox[{"Cos", "[", "theta", "]"}]}]}], "//", " ",
+ "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.389043863162149*^9, 3.38904386789083*^9}, {
+ 3.389043914333281*^9, 3.38904391642076*^9}, {3.389044313465907*^9,
+ 3.3890443143198557`*^9}, {3.389045362645262*^9, 3.389045425396955*^9}, {
+ 3.389045463551568*^9, 3.389045498990821*^9}, {3.389046780983005*^9,
+ 3.389046788276726*^9}, {3.389047104945369*^9, 3.389047145952903*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{
+ SuperscriptBox["r", "2"], "+",
+ SuperscriptBox["r0", "2"]}],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{"r", " ", "r0"}],
+ RowBox[{"2", " ", "D", " ", "t"}]]], "-",
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{"r", " ", "r0", " ",
+ RowBox[{"Cos", "[", "theta", "]"}]}],
+ RowBox[{"2", " ", "D", " ", "t"}]]]}], ")"}]}],
+ RowBox[{"4", " ",
+ SuperscriptBox["\[Pi]",
+ RowBox[{"3", "/", "2"}]], " ", "r", " ", "r0", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]]], "Output",
+ CellChangeTimes->{
+ 3.3890438694804583`*^9, {3.389043901002758*^9, 3.389043917061095*^9},
+ 3.389044239694133*^9, 3.389044315145451*^9, {3.3890453984332113`*^9,
+ 3.389045427303651*^9}, {3.3890454664909477`*^9, 3.389045499868187*^9},
+ 3.389046789956027*^9, {3.389047122823112*^9, 3.389047149536251*^9},
+ 3.389126014880928*^9, 3.3900704837944717`*^9, 3.422926439102825*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"prfree", " ", "=", " ",
+ RowBox[{
+ RowBox[{"intpthetafree", " ", "/.", " ",
+ RowBox[{"theta", "\[Rule]", "Pi"}]}], " ", "//", " ",
+ "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.389998461451971*^9, 3.389998481116489*^9}, {
+ 3.3900705148150873`*^9, 3.390070516180764*^9}, {3.3900708405302362`*^9,
+ 3.390070848919958*^9}, {3.390079860569228*^9, 3.3900798642786913`*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0"}], ")"}], "2"],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "1"}], "+",
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{"r", " ", "r0"}],
+ RowBox[{"D", " ", "t"}]]]}], ")"}]}],
+ RowBox[{"4", " ",
+ SuperscriptBox["\[Pi]",
+ RowBox[{"3", "/", "2"}]], " ", "r", " ", "r0", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]]], "Output",
+ CellChangeTimes->{{3.389998471088283*^9, 3.3899984815210342`*^9},
+ 3.390070516799329*^9, 3.390070850002206*^9, {3.39007986128086*^9,
+ 3.390079864560712*^9}, 3.422926439566327*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"iprfree", " ", "=", " ",
+ RowBox[{
+ RowBox[{"Integrate", "[",
+ RowBox[{
+ RowBox[{"2", " ", "Pi", " ", "r", " ", "r", " ", "prfree"}], ",", "r"}],
+ "]"}], " ", "//", " ", "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.389998571635454*^9, 3.389998591325295*^9}, {
+ 3.389998656065455*^9, 3.389998656302579*^9}, {3.390070521982812*^9,
+ 3.390070525181212*^9}, {3.390070852115093*^9, 3.3900708544968452`*^9}, {
+ 3.3900712512257357`*^9, 3.390071255886436*^9}, {3.390335891413157*^9,
+ 3.390335891914467*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ FractionBox["1", "2"], " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ FractionBox[
+ RowBox[{"2", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r", "-", "r0"}], ")"}], "2"],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]]}], "+",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0"}], ")"}], "2"],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]]}], ")"}]}],
+ RowBox[{
+ SqrtBox["\[Pi]"], " ", "r0"}]], "+",
+ FractionBox[
+ RowBox[{
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r", "-", "r0"}],
+ RowBox[{"2", " ",
+ SqrtBox["D"], " ",
+ SqrtBox["t"]}]], "]"}], "+",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r", "+", "r0"}],
+ RowBox[{"2", " ",
+ SqrtBox["D"], " ",
+ SqrtBox["t"]}]], "]"}]}],
+ RowBox[{
+ SqrtBox["D"], " ",
+ SqrtBox["t"]}]]}], ")"}]}]], "Output",
+ CellChangeTimes->{{3.389998580105028*^9, 3.38999859502955*^9},
+ 3.389998658981121*^9, 3.3900704928689947`*^9, 3.390070528584009*^9,
+ 3.39007085524811*^9, 3.390071259868761*^9, 3.3903358944663353`*^9,
+ 3.422926444711722*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"iprfree", " ", "/.", " ",
+ RowBox[{"r", "\[Rule]", "Infinity"}]}], " ", "//", " ",
+ "Simplify"}]], "Input",
+ CellChangeTimes->{{3.390335831163813*^9, 3.3903358410092573`*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ FractionBox[
+ RowBox[{"0", " ",
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{"-", "\[Infinity]"}],
+ RowBox[{
+ RowBox[{"Sign", "[", "D", "]"}], " ",
+ RowBox[{"Sign", "[", "t", "]"}]}]]]}],
+ SqrtBox["\[Pi]"]], "+",
+ FractionBox[
+ RowBox[{
+ SqrtBox["D"], " ",
+ SqrtBox["t"], " ",
+ RowBox[{"Erf", "[",
+ FractionBox["\[Infinity]",
+ RowBox[{
+ SqrtBox[
+ RowBox[{"Sign", "[", "D", "]"}]], " ",
+ SqrtBox[
+ RowBox[{"Sign", "[", "t", "]"}]]}]], "]"}]}],
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]]}]], "Output",
+ CellChangeTimes->{{3.390335836305891*^9, 3.390335841283732*^9},
+ 3.390335897089459*^9, 3.422926444987014*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"dpthetafree", " ", "=", " ",
+ RowBox[{
+ RowBox[{"D", "[",
+ RowBox[{
+ RowBox[{
+ "D", " ", "4", " ", "Pi", " ", "r", " ", "r", " ", "pthetafree"}], ",",
+ "r"}], "]"}], " ", "//", " ", "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.389130814861092*^9, 3.389130861561495*^9}, {
+ 3.389132244270919*^9, 3.38913224456497*^9}, {3.3891328832647543`*^9,
+ 3.389132920079258*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{"D", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{
+ SuperscriptBox["r", "2"], "+",
+ SuperscriptBox["r0", "2"], "-",
+ RowBox[{"2", " ", "r", " ", "r0", " ",
+ RowBox[{"Cos", "[", "theta", "]"}]}]}],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]], " ", "r", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-",
+ SuperscriptBox["r", "2"]}], "+",
+ RowBox[{"4", " ", "D", " ", "t"}], "+",
+ RowBox[{"r", " ", "r0", " ",
+ RowBox[{"Cos", "[", "theta", "]"}]}]}], ")"}]}],
+ RowBox[{"4", " ",
+ SqrtBox["\[Pi]"], " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"D", " ", "t"}], ")"}],
+ RowBox[{"5", "/", "2"}]]}]]], "Output",
+ CellChangeTimes->{{3.389130835446056*^9, 3.389130862918539*^9},
+ 3.3891322464001083`*^9, {3.38913288497325*^9, 3.389132921049086*^9},
+ 3.422926445863748*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"intdpthetafree", " ", "=", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"Integrate", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"Sin", "[", "theta", "]"}], " ", "dpthetafree", " ",
+ RowBox[{"(",
+ RowBox[{"1", "/",
+ RowBox[{"-",
+ RowBox[{"Sin", "[", "theta", "]"}]}]}], ")"}]}], "/.", " ",
+ RowBox[{
+ RowBox[{"Cos", "[", "theta", "]"}], "\[Rule]", "x"}]}], " ", ",", " ",
+
+ RowBox[{"{",
+ RowBox[{"x", ",", " ", "1", ",", " ", "X"}], "}"}]}], "]"}], " ", "/.",
+ " ",
+ RowBox[{"X", "\[Rule]",
+ RowBox[{"Cos", "[", "theta", "]"}]}]}], "//", " ",
+ "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.389130880781828*^9, 3.389130906755529*^9}}],
+
+Cell[BoxData["$Aborted"], "Output",
+ CellChangeTimes->{3.389130915640032*^9, 3.389132253228903*^9,
+ 3.3891329280841303`*^9, 3.422926449182385*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"intdpthetafree", " ", "/.", " ",
+ RowBox[{"theta", "\[Rule]", "0", " "}]}]], "Input",
+ CellChangeTimes->{{3.3891399849893103`*^9, 3.389140002982174*^9},
+ 3.389140046782699*^9}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{"D", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{
+ SuperscriptBox["r", "2"], "+",
+ SuperscriptBox["r0", "2"]}],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{"r", " ", "r0"}],
+ RowBox[{"2", " ", "D", " ", "t"}]]], " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["r", "2"], "-",
+ RowBox[{"r", " ", "r0"}], "-",
+ RowBox[{"2", " ", "D", " ", "t"}]}], ")"}]}], "+",
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{"r", " ", "r0"}],
+ RowBox[{"2", " ", "D", " ", "t"}]]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"r", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "r"}], "+", "r0"}], ")"}]}], "+",
+ RowBox[{"2", " ", "D", " ", "t"}]}], ")"}]}]}], ")"}]}],
+ RowBox[{"2", " ",
+ SqrtBox["\[Pi]"], " ", "r0", " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"D", " ", "t"}], ")"}],
+ RowBox[{"3", "/", "2"}]]}]]], "Output",
+ CellChangeTimes->{{3.389139990381122*^9, 3.389140003187941*^9},
+ 3.38914004740239*^9}]
+}, Open ]]
+},
+WindowSize->{640, 750},
+WindowMargins->{{407, Automatic}, {Automatic, 97}},
+FrontEndVersion->"6.0 for Linux x86 (64-bit) (June 2, 2008)",
+StyleDefinitions->"Default.nb"
+]
+(* End of Notebook Content *)
+
+(* Internal cache information *)
+(*CellTagsOutline
+CellTagsIndex->{}
+*)
+(*CellTagsIndex
+CellTagsIndex->{}
+*)
+(*NotebookFileOutline
+Notebook[{
+Cell[CellGroupData[{
+Cell[590, 23, 587, 16, 32, "Input"],
+Cell[1180, 41, 443, 14, 61, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[1660, 60, 412, 9, 32, "Input"],
+Cell[2075, 71, 738, 24, 73, "Output"]
+}, Open ]],
+Cell[2828, 98, 98, 1, 31, "Text"],
+Cell[CellGroupData[{
+Cell[2951, 103, 1063, 27, 99, "Input"],
+Cell[4017, 132, 788, 21, 62, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[4842, 158, 270, 6, 32, "Input"],
+Cell[5115, 166, 554, 18, 62, "Output"]
+}, Open ]],
+Cell[5684, 187, 110, 1, 31, "Text"],
+Cell[CellGroupData[{
+Cell[5819, 192, 1055, 26, 77, "Input"],
+Cell[6877, 220, 1173, 31, 71, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[8087, 256, 412, 8, 32, "Input"],
+Cell[8502, 266, 803, 24, 71, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[9342, 295, 551, 11, 32, "Input"],
+Cell[9896, 308, 1503, 48, 98, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[11436, 361, 215, 5, 32, "Input"],
+Cell[11654, 368, 743, 25, 66, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[12434, 398, 422, 10, 32, "Input"],
+Cell[12859, 410, 931, 27, 66, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[13827, 442, 769, 22, 77, "Input"],
+Cell[14599, 466, 148, 2, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[14784, 473, 205, 4, 32, "Input"],
+Cell[14992, 479, 1291, 41, 72, "Output"]
+}, Open ]]
+}
+]
+*)
+
+(* End of internal cache information *)
diff --git a/ecell4/egfrd/legacy/doc/math/prt.nb b/ecell4/egfrd/legacy/doc/math/prt.nb
new file mode 100644
index 0000000..9a9fdd7
--- /dev/null
+++ b/ecell4/egfrd/legacy/doc/math/prt.nb
@@ -0,0 +1,1743 @@
+(* Content-type: application/mathematica *)
+
+(*** Wolfram Notebook File ***)
+(* http://www.wolfram.com/nb *)
+
+(* CreatedBy='Mathematica 6.0' *)
+
+(*CacheID: 234*)
+(* Internal cache information:
+NotebookFileLineBreakTest
+NotebookFileLineBreakTest
+NotebookDataPosition[ 145, 7]
+NotebookDataLength[ 56047, 1734]
+NotebookOptionsPosition[ 53375, 1638]
+NotebookOutlinePosition[ 53710, 1653]
+CellTagsIndexPosition[ 53667, 1650]
+WindowFrame->Normal
+ContainsDynamic->False*)
+
+(* Beginning of Notebook Content *)
+Notebook[{
+Cell[BoxData[
+ RowBox[{"$Assumptions", ":=",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"r", ">", "0"}], ",",
+ RowBox[{"r0", ">", "0"}], ",",
+ RowBox[{"u", ">", "0"}], ",",
+ RowBox[{"s", ">", "0"}], ",",
+ RowBox[{"r", ">", "s"}], ",", " ",
+ RowBox[{"r0", ">", "s"}], ",", " ",
+ RowBox[{"D", ">", "0"}], ",",
+ RowBox[{"t", ">", "0"}], ",", " ",
+ RowBox[{"k", ">", "0"}], ",", " ",
+ RowBox[{"kD", ">", "0"}], ",", " ",
+ RowBox[{"alpha", ">", "0"}], ",", " ",
+ RowBox[{"D", "\[Element]", " ", "Reals"}], ",", " ",
+ RowBox[{"t", "\[Element]", "Reals"}], ",", " ",
+ RowBox[{"r", "\[Element]", "Reals"}], ",", " ",
+ RowBox[{"r0", "\[Element]", "Reals"}], ",", " ",
+ RowBox[{"s", "\[Element]", "Reals"}], ",", " ",
+ RowBox[{"alpha", "\[Element]", "Reals"}], ",", " ",
+ RowBox[{"k", "\[Element]", "Reals"}], ",", " ",
+ RowBox[{"kD", " ", "\[Element]", "Reals"}]}], "}"}]}]], "Input",
+ CellChangeTimes->{{3.4100382674239817`*^9, 3.410038289007056*^9}, {
+ 3.410038854041677*^9, 3.410038896650983*^9}, {3.410040388999364*^9,
+ 3.410040390948927*^9}, {3.4100405762736464`*^9, 3.4100405795194283`*^9}, {
+ 3.410128419695841*^9, 3.4101284899079742`*^9}, {3.4101292601233683`*^9,
+ 3.410129264582199*^9}, {3.4101295205215387`*^9, 3.410129524473078*^9}, {
+ 3.41015182503899*^9, 3.4101518305274878`*^9}}],
+
+Cell[BoxData[{
+ RowBox[{"transW", " ", ":=", " ",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"W", "[",
+ RowBox[{"a_", ",", "b_"}], "]"}], " ", "->", " ",
+ RowBox[{
+ RowBox[{"Exp", "[", " ",
+ RowBox[{
+ RowBox[{"2", " ", "a", " ", "b"}], " ", "+", " ",
+ RowBox[{"b", "^", "2"}]}], " ", "]"}], " ",
+ RowBox[{"Erfc", "[", " ",
+ RowBox[{"a", " ", "+", " ", "b"}], "]"}]}]}], "}"}]}], "\n",
+ RowBox[{"transalpha", " ", ":=", " ",
+ RowBox[{"{", " ",
+ RowBox[{"alpha", " ", "\[Rule]", " ",
+ RowBox[{
+ RowBox[{"(", " ",
+ RowBox[{"1", " ", "+", " ",
+ RowBox[{"(", " ",
+ RowBox[{"k", " ", "/", " ", "kD"}], " ", ")"}]}], " ", ")"}], " ",
+ RowBox[{"(", " ",
+ RowBox[{
+ RowBox[{"Sqrt", "[", "D", "]"}], " ", "/", " ", "s"}], " ", ")"}]}]}],
+ "}"}]}], "\[IndentingNewLine]",
+ RowBox[{"transkD", " ", ":=", " ",
+ RowBox[{"{",
+ RowBox[{"kD", " ", "\[Rule]", " ",
+ RowBox[{"4", " ", "Pi", " ", "s", " ", "D"}]}], "}"}]}]}], "Input",
+ CellChangeTimes->{{3.41003817901299*^9, 3.410038211374186*^9}, {
+ 3.410038331770073*^9, 3.410038342358317*^9}, {3.4100384188700733`*^9,
+ 3.4100384200001574`*^9}, {3.410038620860443*^9, 3.410038621637115*^9}}],
+
+Cell[BoxData[
+ RowBox[{"pirr", " ", ":=", " ",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(", " ",
+ RowBox[{
+ RowBox[{"Exp", "[", " ",
+ RowBox[{
+ RowBox[{"-", " ",
+ RowBox[{
+ RowBox[{"(", " ",
+ RowBox[{"r", " ", "-", " ", "r0"}], " ", ")"}], " ", "^",
+ "2"}]}], " ", "/", " ",
+ RowBox[{"(",
+ RowBox[{"4", " ", "D", " ", "t"}], ")"}]}], " ", "]"}], " ", "+",
+ " ",
+ RowBox[{"Exp", "[", " ",
+ RowBox[{
+ RowBox[{"-", " ",
+ RowBox[{
+ RowBox[{"(", " ",
+ RowBox[{"r", " ", "+", " ", "r0", " ", "-", " ",
+ RowBox[{"2", " ", "s"}]}], " ", ")"}], " ", "^", " ", "2"}]}],
+ " ", "/", " ",
+ RowBox[{"(",
+ RowBox[{"4", " ", "D", " ", "t"}], ")"}]}], " ", "]"}]}], " ",
+ ")"}], " ", "/", " ",
+ RowBox[{"Sqrt", "[", " ",
+ RowBox[{"4", " ", "Pi", " ", "t"}], "]"}]}], " ", "-", " ",
+ RowBox[{"alpha", " ",
+ RowBox[{"W", "[", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0", " ", "-", " ",
+ RowBox[{"2", " ", "s"}]}], " ", ")"}], " ", "/", " ",
+ RowBox[{"Sqrt", "[",
+ RowBox[{"4", " ", "D", " ", "t"}], "]"}]}], ",", " ",
+ RowBox[{"alpha", " ",
+ RowBox[{"Sqrt", "[", "t", "]"}]}]}], " ", "]"}]}]}], " ", ")"}], " ",
+ "/", " ",
+ RowBox[{"(", " ",
+ RowBox[{"4", " ", "Pi", " ", "r", " ", "r0", " ",
+ RowBox[{"Sqrt", "[", "D", "]"}]}], " ", ")"}], " "}]}]], "Input",
+ CellChangeTimes->{{3.410037789235718*^9, 3.410037793723884*^9}, {
+ 3.410037994332335*^9, 3.4100379950913973`*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData["pirr"], "Input",
+ CellChangeTimes->{{3.41030844008169*^9, 3.4103084410675707`*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{
+ FractionBox[
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r", "-", "r0"}], ")"}], "2"],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]], "+",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", " ", "s"}]}], ")"}], "2"],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]]}],
+ RowBox[{"2", " ",
+ SqrtBox["\[Pi]"], " ",
+ SqrtBox["t"]}]], "-",
+ RowBox[{"alpha", " ",
+ RowBox[{"W", "[",
+ RowBox[{
+ FractionBox[
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", " ", "s"}]}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], ",",
+ RowBox[{"alpha", " ",
+ SqrtBox["t"]}]}], "]"}]}]}],
+ RowBox[{"4", " ",
+ SqrtBox["D"], " ", "\[Pi]", " ", "r", " ", "r0"}]]], "Output",
+ CellChangeTimes->{
+ 3.410308441555594*^9, {3.4103333907026443`*^9, 3.410333394005104*^9},
+ 3.4104079366162252`*^9, {3.4104167696295033`*^9, 3.4104167888859377`*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"ipirr", " ", "=", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"Integrate", "[",
+ RowBox[{
+ RowBox[{"4", " ", "Pi", " ", "r", " ", "r", " ", "pirr"}], ",",
+ RowBox[{"{",
+ RowBox[{"r", ",", "s", ",", "r"}], "}"}]}], "]"}], " ", "/.", " ",
+ "transW"}], " ", "/.", " ", "transalpha"}], " ", "//", " ",
+ "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.410037924719016*^9, 3.410037966874048*^9}, {
+ 3.410037997449288*^9, 3.4100380148292847`*^9}, {3.410038097951852*^9,
+ 3.410038098449747*^9}, {3.410038360837771*^9, 3.410038413165896*^9}, {
+ 3.410038531860404*^9, 3.4100385848343477`*^9}, {3.410038646244577*^9,
+ 3.4100386829862537`*^9}, {3.410039311214466*^9, 3.410039311660282*^9}, {
+ 3.410039960539755*^9, 3.410040018031371*^9}, 3.410040588010666*^9, {
+ 3.41004070504027*^9, 3.4100407074037724`*^9}, {3.4101411109204197`*^9,
+ 3.4101411185000343`*^9}, {3.4101478610644608`*^9, 3.410147861851028*^9},
+ 3.410150324973815*^9, {3.410150365914484*^9, 3.410150369165614*^9}, {
+ 3.410408025060038*^9, 3.410408025553791*^9}, {3.410417207922833*^9,
+ 3.410417208482547*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ FractionBox["1",
+ RowBox[{"2", " ",
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ",
+ SqrtBox["\[Pi]"], " ", "r0"}]],
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{
+ RowBox[{"kD", " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0"}], ")"}], "2"], "+",
+ RowBox[{"4", " ",
+ SuperscriptBox["s", "2"]}]}], ")"}]}], "+",
+ RowBox[{"8", " ", "D", " ",
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ", "t"}]}],
+ RowBox[{"4", " ", "D", " ", "kD", " ", "t"}]]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"2", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"2", "+",
+ FractionBox[
+ RowBox[{"2", " ", "k"}], "kD"]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0"}], ")"}], " ", "s"}],
+ RowBox[{"D", " ", "t"}]]], "-",
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{
+ RowBox[{"r", " ", "r0"}], "+",
+ SuperscriptBox["s", "2"]}],
+ RowBox[{"D", " ", "t"}]]]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}], "+",
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0"}], ")"}], "2"], "+",
+ RowBox[{"4", " ",
+ SuperscriptBox["s", "2"]}]}],
+ RowBox[{"4", " ", "D", " ", "t"}]]], " ",
+ SqrtBox["\[Pi]"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"2", "+",
+ FractionBox[
+ RowBox[{"2", " ", "k"}], "kD"]}]], " ",
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ", "r0", " ",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r", "-", "r0"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}], "+",
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"2", "+",
+ FractionBox[
+ RowBox[{"2", " ", "k"}], "kD"]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ", "r0"}], "-",
+ RowBox[{"2", " ", "k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", " ", "s"}]}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}], "+",
+ RowBox[{"2", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"2", "+",
+ FractionBox[
+ RowBox[{"2", " ", "k"}], "kD"]}]], " ", "k", " ", "s", " ",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r0", "-", "s"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}], "+",
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"kD", " ",
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0"}], ")"}], " ", "s"}], "+",
+ RowBox[{"D", " ",
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ", "t"}]}], ")"}]}],
+ RowBox[{
+ SuperscriptBox["kD", "2"], " ",
+ SuperscriptBox["s", "2"]}]]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}]}], " ", "r"}], "+",
+ RowBox[{"kD", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Erfc", "[",
+ FractionBox[
+ RowBox[{
+ RowBox[{"kD", " ",
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", " ", "s"}]}], ")"}], " ", "s"}], "+",
+ RowBox[{"2", " ", "D", " ",
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ", "t"}]}],
+ RowBox[{"2", " ", "kD", " ", "s", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}], "+",
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"kD", " ", "s", " ",
+ RowBox[{"(",
+ RowBox[{"r0", "+", "s"}], ")"}]}], "+",
+ RowBox[{"D", " ",
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ", "t"}]}], ")"}]}],
+ RowBox[{
+ SuperscriptBox["kD", "2"], " ",
+ SuperscriptBox["s", "2"]}]]], " ", "k", " ", "s", " ",
+ RowBox[{"Erfc", "[",
+ FractionBox[
+ RowBox[{
+ RowBox[{"kD", " ",
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "s"}], "+",
+ RowBox[{"2", " ", "D", " ",
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ", "t"}]}],
+ RowBox[{"2", " ", "kD", " ", "s", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}]}], ")"}]}]}], ")"}]}]}],
+ ")"}]}]}]], "Output",
+ CellChangeTimes->{3.4104084949777613`*^9, 3.410417052207218*^9,
+ 3.4104177091361628`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"ipirr2", " ", "=", " ", "\n",
+ RowBox[{
+ RowBox[{
+ FractionBox["1",
+ RowBox[{"2", " ",
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ",
+ SqrtBox["\[Pi]"], " ", "r0"}]],
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{
+ RowBox[{"kD", " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0"}], ")"}], "2"], "+",
+ RowBox[{"4", " ",
+ SuperscriptBox["s", "2"]}]}], ")"}]}], "+",
+ RowBox[{"8", " ", "D", " ",
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ", "t"}]}],
+ RowBox[{"4", " ", "D", " ", "kD", " ", "t"}]]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"2", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"2", "+",
+ FractionBox[
+ RowBox[{"2", " ", "k"}], "kD"]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0"}], ")"}], " ", "s"}],
+ RowBox[{"D", " ", "t"}]]], "-",
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{
+ RowBox[{"r", " ", "r0"}], "+",
+ SuperscriptBox["s", "2"]}],
+ RowBox[{"D", " ", "t"}]]]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}], "+",
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0"}], ")"}], "2"], "+",
+ RowBox[{"4", " ",
+ SuperscriptBox["s", "2"]}]}],
+ RowBox[{"4", " ", "D", " ", "t"}]]], " ",
+ SqrtBox["\[Pi]"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"2", "+",
+ FractionBox[
+ RowBox[{"2", " ", "k"}], "kD"]}]], " ",
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ", "r0", " ",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r", "-", "r0"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}], "+",
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"2", "+",
+ FractionBox[
+ RowBox[{"2", " ", "k"}], "kD"]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ", "r0"}], "-",
+ RowBox[{"2", " ", "k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", " ", "s"}]}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}], "+",
+ RowBox[{"2", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"2", "+",
+ FractionBox[
+ RowBox[{"2", " ", "k"}], "kD"]}]], " ", "k", " ", "s", " ",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r0", "-", "s"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}], "+", " ",
+ RowBox[{"k", " ", "s", " ",
+ RowBox[{"W", "[",
+ RowBox[{
+ FractionBox[
+ RowBox[{"r0", "-", " ", "s"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], ",",
+ RowBox[{"alpha", " ",
+ SqrtBox["t"]}]}], "]"}], " ",
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{"2", " ",
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}]}], "kD"]]}], "+",
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{"2", " ",
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}]}], "kD"]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "k"}], "-", "kD"}], ")"}], " ", "r"}], "+",
+ RowBox[{"kD", " ", "s"}]}], ")"}], " ",
+ RowBox[{"W", "[",
+ RowBox[{
+ FractionBox[
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", " ", "s"}]}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], ",",
+ RowBox[{"alpha", " ",
+ SqrtBox["t"]}]}], "]"}]}]}], ")"}]}]}], ")"}]}]}], ")"}]}],
+ " ", "//", " ", "Simplify"}]}]], "Input",
+ CellChangeTimes->{{3.4101499746211843`*^9, 3.410149996070312*^9}, {
+ 3.410150834471099*^9, 3.410150841102512*^9}, {3.410151014661665*^9,
+ 3.4101510179876223`*^9}, {3.410407987350518*^9, 3.410407987801112*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ FractionBox["1",
+ RowBox[{"2", " ",
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ",
+ SqrtBox["\[Pi]"], " ", "r0"}]],
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{
+ RowBox[{"kD", " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0"}], ")"}], "2"], "+",
+ RowBox[{"4", " ",
+ SuperscriptBox["s", "2"]}]}], ")"}]}], "+",
+ RowBox[{"8", " ", "D", " ",
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ", "t"}]}],
+ RowBox[{"4", " ", "D", " ", "kD", " ", "t"}]]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"2", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"2", "+",
+ FractionBox[
+ RowBox[{"2", " ", "k"}], "kD"]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0"}], ")"}], " ", "s"}],
+ RowBox[{"D", " ", "t"}]]], "-",
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{
+ RowBox[{"r", " ", "r0"}], "+",
+ SuperscriptBox["s", "2"]}],
+ RowBox[{"D", " ", "t"}]]]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}], "+",
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"2", "+",
+ FractionBox[
+ RowBox[{"2", " ", "k"}], "kD"], "+",
+ FractionBox[
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0"}], ")"}], "2"], "+",
+ RowBox[{"4", " ",
+ SuperscriptBox["s", "2"]}]}],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]], " ",
+ SqrtBox["\[Pi]"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ", "r0", " ",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r", "-", "r0"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ", "r0"}], "-",
+ RowBox[{"2", " ", "k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", " ", "s"}]}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}], "+",
+ RowBox[{"2", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"k", " ", "r"}], "+",
+ RowBox[{"kD", " ",
+ RowBox[{"(",
+ RowBox[{"r", "-", "s"}], ")"}]}]}], ")"}]}], " ",
+ RowBox[{"W", "[",
+ RowBox[{
+ FractionBox[
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", " ", "s"}]}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], ",",
+ RowBox[{"alpha", " ",
+ SqrtBox["t"]}]}], "]"}]}], "+",
+ RowBox[{"k", " ", "s", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r0", "-", "s"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}], "+",
+ RowBox[{"W", "[",
+ RowBox[{
+ FractionBox[
+ RowBox[{"r0", "-", "s"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], ",",
+ RowBox[{"alpha", " ",
+ SqrtBox["t"]}]}], "]"}]}], ")"}]}]}], ")"}]}]}], ")"}]}]}],
+ ")"}]}]}]], "Output",
+ CellChangeTimes->{
+ 3.4101531889247837`*^9, {3.4104079882545156`*^9, 3.410407989281*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"ipirr2a", " ", "=", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(", " ",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", " ", "s"}]}], ")"}], "2"],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]], "-",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r", "-", "r0"}], ")"}], "2"],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]]}], ")"}], " ",
+ RowBox[{
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]], " ", "/",
+ RowBox[{"(", " ",
+ RowBox[{
+ SqrtBox["\[Pi]"], " ", "r0"}], " ", ")"}]}]}], ")"}], " ", "+",
+ RowBox[{
+ FractionBox["1",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ", "r0"}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "/", "2"}], ")"}],
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ", "r0", " ",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r", "-", "r0"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ", "r0"}], "-",
+ RowBox[{"2", " ", "k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", " ", "s"}]}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}], "+",
+ RowBox[{"2", " ", "k", " ", "s", " ",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r0", "-", "s"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}]}], ")"}]}], "+",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}]}], " ", "r"}], "+",
+ RowBox[{"kD", " ", "s"}]}], ")"}], " ",
+ RowBox[{"W", "[",
+ RowBox[{
+ FractionBox[
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", " ", "s"}]}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], ",",
+ RowBox[{"alpha", " ",
+ SqrtBox["t"]}]}], "]"}]}], "+",
+ RowBox[{"k", " ", "s", " ",
+ RowBox[{"W", "[",
+ RowBox[{
+ FractionBox[
+ RowBox[{"r0", "-", "s"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], ",",
+ RowBox[{"alpha", " ",
+ SqrtBox["t"]}]}], "]"}]}]}], ")"}]}], ")"}]}]}], "//", " ",
+ "Simplify"}]}]], "Input",
+ CellChangeTimes->{
+ 3.4101531799666862`*^9, 3.410153222609583*^9, 3.410153259270969*^9, {
+ 3.410153396976791*^9, 3.4101534467038937`*^9}, {3.410153480553321*^9,
+ 3.410153518309884*^9}, {3.410153592827491*^9, 3.4101537107560368`*^9}, {
+ 3.410153766436026*^9, 3.410153862057458*^9}, {3.4101541941890917`*^9,
+ 3.410154211775556*^9}, {3.410154470354114*^9, 3.4101544997847347`*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ FractionBox["1", "r0"],
+ RowBox[{"(",
+ RowBox[{
+ FractionBox[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r", "-", "r0"}], ")"}], "2"],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]]}], "+",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", " ", "s"}]}], ")"}], "2"],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]]}], ")"}], " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}],
+ SqrtBox["\[Pi]"]], "+",
+ RowBox[{
+ FractionBox["1",
+ RowBox[{"k", "+", "kD"}]],
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ", "r0", " ",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r", "-", "r0"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ", "r0"}], "-",
+ RowBox[{"2", " ", "k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", " ", "s"}]}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}], "+",
+ RowBox[{"2", " ", "k", " ", "s", " ",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r0", "-", "s"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}]}], ")"}]}], "-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"k", " ", "r"}], "+",
+ RowBox[{"kD", " ",
+ RowBox[{"(",
+ RowBox[{"r", "-", "s"}], ")"}]}]}], ")"}], " ",
+ RowBox[{"W", "[",
+ RowBox[{
+ FractionBox[
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", " ", "s"}]}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], ",",
+ RowBox[{"alpha", " ",
+ SqrtBox["t"]}]}], "]"}]}], "+",
+ RowBox[{"k", " ", "s", " ",
+ RowBox[{"W", "[",
+ RowBox[{
+ FractionBox[
+ RowBox[{"r0", "-", "s"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], ",",
+ RowBox[{"alpha", " ",
+ SqrtBox["t"]}]}], "]"}]}]}], ")"}]}]}], ")"}]}]], "Output",
+ CellChangeTimes->{
+ 3.410153417516755*^9, 3.410153453644577*^9, {3.41015350068093*^9,
+ 3.410153528816717*^9}, {3.410153658775145*^9, 3.410153676203052*^9}, {
+ 3.410153708178727*^9, 3.41015371188488*^9}, 3.410153866763628*^9,
+ 3.410153914174038*^9, {3.410154197333704*^9, 3.410154222767831*^9},
+ 3.410154507388667*^9, 3.410407992205427*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"ipirr2", " ", "\[Equal]", " ", "ipirr2a"}], " ", "/.", " ",
+ "transW"}], " ", "/.", " ", "transalpha"}], " ", "//", " ",
+ "Simplify"}]], "Input",
+ CellChangeTimes->{{3.410153224538834*^9, 3.410153242631995*^9},
+ 3.410153421976408*^9, 3.4101542138124228`*^9}],
+
+Cell[BoxData["$Aborted"], "Output",
+ CellChangeTimes->{{3.410153233027659*^9, 3.4101532429761047`*^9},
+ 3.410153422471881*^9, 3.410153456942999*^9, 3.410153527113286*^9, {
+ 3.410153652638475*^9, 3.410153672672511*^9}, 3.410153864664608*^9,
+ 3.410153905146514*^9, 3.4101540496313467`*^9, {3.410154199648144*^9,
+ 3.4101542146006737`*^9}, 3.410154712631085*^9, 3.410158064919961*^9,
+ 3.410408034069592*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"ipirr2a", " ", "/.", " ",
+ RowBox[{"r", "\[Rule]", "s"}]}]], "Input",
+ CellChangeTimes->{{3.410155188336952*^9, 3.41015519735793*^9},
+ 3.410155659276527*^9}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{
+ FractionBox[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], "2"],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]], "-",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "r0"}], "+", "s"}], ")"}], "2"],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]]}], ")"}], " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}],
+ SqrtBox["\[Pi]"]], "+",
+ FractionBox[
+ RowBox[{
+ RowBox[{"2", " ", "k", " ", "s", " ",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r0", "-", "s"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ", "r0"}], "-",
+ RowBox[{"2", " ", "k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r0", "-", "s"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ", "r0", " ",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{
+ RowBox[{"-", "r0"}], "+", "s"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}]}],
+ RowBox[{"2", " ",
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}]}]]}], "r0"]], "Output",
+ CellChangeTimes->{{3.410155192715815*^9, 3.410155197711516*^9},
+ 3.4101556597095222`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Limit", "[",
+ RowBox[{"ipirr2a", " ", ",", " ",
+ RowBox[{"r", "\[Rule]", "Infinity"}]}], "]"}], " ", "//", " ",
+ "Simplify"}]], "Input",
+ CellChangeTimes->{{3.410407999710905*^9, 3.410408013358735*^9},
+ 3.4104081765031223`*^9, {3.410408509854671*^9, 3.41040853068608*^9},
+ 3.410409658599977*^9, 3.410410508569027*^9, {3.4104178261215*^9,
+ 3.410417827327338*^9}, {3.4104181503632708`*^9, 3.410418157630706*^9}, {
+ 3.410491927624342*^9, 3.41049193516535*^9}}],
+
+Cell[BoxData["$Aborted"], "Output",
+ CellChangeTimes->{
+ 3.410408427727703*^9, {3.4104085074449587`*^9, 3.4104085161902246`*^9},
+ 3.4104096518218527`*^9, 3.410410489353352*^9, 3.410416757888373*^9, {
+ 3.410417819904606*^9, 3.410417831561236*^9}, 3.410468686160698*^9,
+ 3.410491928202479*^9, 3.410495023609642*^9, 3.410565924468725*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData["ipirr2a"], "Input",
+ CellChangeTimes->{{3.410565977056058*^9, 3.4105659789400463`*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ FractionBox["1", "r0"],
+ RowBox[{"(",
+ RowBox[{
+ FractionBox[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r", "-", "r0"}], ")"}], "2"],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]]}], "+",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", " ", "s"}]}], ")"}], "2"],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]]}], ")"}], " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}],
+ SqrtBox["\[Pi]"]], "+",
+ RowBox[{
+ FractionBox["1",
+ RowBox[{"k", "+", "kD"}]],
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ", "r0", " ",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r", "-", "r0"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ", "r0"}], "-",
+ RowBox[{"2", " ", "k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", " ", "s"}]}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}], "+",
+ RowBox[{"2", " ", "k", " ", "s", " ",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r0", "-", "s"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}]}], ")"}]}], "-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"k", " ", "r"}], "+",
+ RowBox[{"kD", " ",
+ RowBox[{"(",
+ RowBox[{"r", "-", "s"}], ")"}]}]}], ")"}], " ",
+ RowBox[{"W", "[",
+ RowBox[{
+ FractionBox[
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", " ", "s"}]}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], ",",
+ RowBox[{"alpha", " ",
+ SqrtBox["t"]}]}], "]"}]}], "+",
+ RowBox[{"k", " ", "s", " ",
+ RowBox[{"W", "[",
+ RowBox[{
+ FractionBox[
+ RowBox[{"r0", "-", "s"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], ",",
+ RowBox[{"alpha", " ",
+ SqrtBox["t"]}]}], "]"}]}]}], ")"}]}]}], ")"}]}]], "Output",
+ CellChangeTimes->{3.410565979348852*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Limit", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r", "-", "r0"}], ")"}], "2"],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]]}], "+",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", " ", "s"}]}], ")"}], "2"],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]]}], ")"}], " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}],
+ SqrtBox["\[Pi]"]], "+",
+ RowBox[{
+ FractionBox["1",
+ RowBox[{"k", "+", "kD"}]],
+ RowBox[{"(",
+ RowBox[{
+ FractionBox["1", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ", "r0", " ",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r", "-", "r0"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ", "r0"}], "-",
+ RowBox[{"2", " ", "k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", " ", "s"}]}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}], "+",
+ RowBox[{"2", " ", "k", " ", "s", " ",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r0", "-", "s"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}]}], ")"}]}], " ",
+ ")"}]}]}], ",", " ",
+ RowBox[{"r", "\[Rule]", "Infinity"}]}], " ", "]"}], "//", " ",
+ "Simplify"}]], "Input",
+ CellChangeTimes->{{3.410566059906695*^9, 3.4105660852011547`*^9}}],
+
+Cell[BoxData["$Aborted"], "Output",
+ CellChangeTimes->{3.410566068530321*^9, 3.410575702169611*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"ipirrmax", " ", "=", " ",
+ RowBox[{
+ FractionBox[
+ RowBox[{
+ RowBox[{
+ SqrtBox["\[Pi]"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"k", " ", "r0"}], "+",
+ RowBox[{"kD", " ", "r0"}], "-",
+ RowBox[{"k", " ", "s"}], "+",
+ RowBox[{"k", " ", "s", " ",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r0", "-", "s"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}]}], ")"}]}], "+",
+ RowBox[{"k", " ",
+ SqrtBox["\[Pi]"], " ", "s", " ",
+ RowBox[{"W", "[",
+ RowBox[{
+ FractionBox[
+ RowBox[{"r0", "-", "s"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], ",",
+ RowBox[{"alpha", " ",
+ SqrtBox["t"]}]}], "]"}]}]}],
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ",
+ SqrtBox["\[Pi]"], " ", "r0"}]], " ", "//", " ",
+ "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.410495026107333*^9, 3.4104950276484528`*^9}, {
+ 3.410495373107676*^9, 3.4104954044219923`*^9}, {3.410495952969574*^9,
+ 3.410495988040709*^9}, {3.410508084918068*^9, 3.410508085983934*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ", "r0"}], "-",
+ RowBox[{"k", " ", "s", " ",
+ RowBox[{"Erfc", "[",
+ FractionBox[
+ RowBox[{"r0", "-", "s"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}], "+",
+ RowBox[{"k", " ", "s", " ",
+ RowBox[{"W", "[",
+ RowBox[{
+ FractionBox[
+ RowBox[{"r0", "-", "s"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], ",",
+ RowBox[{"alpha", " ",
+ SqrtBox["t"]}]}], "]"}]}]}],
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ", "r0"}]]], "Output",
+ CellChangeTimes->{
+ 3.4104950280420313`*^9, {3.410495376271084*^9, 3.410495404940526*^9}, {
+ 3.410495983471237*^9, 3.4104959886835947`*^9}, 3.410508086457141*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Limit", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"k", " ", "r"}], "+",
+ RowBox[{"kD", " ",
+ RowBox[{"(",
+ RowBox[{"r", "-", "s"}], ")"}]}]}], ")"}], " ",
+ RowBox[{"W", "[",
+ RowBox[{
+ FractionBox[
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", " ", "s"}]}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], ",",
+ RowBox[{"alpha", " ",
+ SqrtBox["t"]}]}], "]"}]}], " ", "/.", " ", "transW"}], ",", " ",
+ RowBox[{"r", "\[Rule]", "Infinity"}]}], "]"}], " ", "//", " ",
+ "Simplify"}]], "Input",
+ CellChangeTimes->{{3.410495453936946*^9, 3.410495477366935*^9}}],
+
+Cell[BoxData["$Aborted"], "Output",
+ CellChangeTimes->{{3.4104954560399923`*^9, 3.410495465356205*^9},
+ 3.410495528385654*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"k", " ", "r"}], "+",
+ RowBox[{"kD", " ",
+ RowBox[{"(",
+ RowBox[{"r", "-", "s"}], ")"}]}]}], ")"}], " ",
+ RowBox[{"W", "[",
+ RowBox[{
+ FractionBox[
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", " ", "s"}]}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], ",",
+ RowBox[{"alpha", " ",
+ SqrtBox["t"]}]}], "]"}]}], " ", "/.", " ", "transW", " "}]], "Input",
+ CellChangeTimes->{{3.410495536443088*^9, 3.41049553689644*^9}, {
+ 3.4104958539439363`*^9, 3.41049585431085*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{
+ SuperscriptBox["alpha", "2"], " ", "t"}], "+",
+ FractionBox[
+ RowBox[{"alpha", " ",
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", " ", "s"}]}], ")"}], " ",
+ SqrtBox["t"]}],
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"k", " ", "r"}], "+",
+ RowBox[{"kD", " ",
+ RowBox[{"(",
+ RowBox[{"r", "-", "s"}], ")"}]}]}], ")"}], " ",
+ RowBox[{"Erfc", "[",
+ RowBox[{
+ RowBox[{"alpha", " ",
+ SqrtBox["t"]}], "+",
+ FractionBox[
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", " ", "s"}]}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]]}], "]"}]}]], "Output",
+ CellChangeTimes->{3.410495534682725*^9, 3.410495854746475*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Limit", "[",
+ RowBox[{
+ RowBox[{"r", " ",
+ RowBox[{"Erfc", "[",
+ RowBox[{
+ RowBox[{"alpha", " ",
+ SqrtBox["t"]}], "+",
+ FractionBox[
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", " ", "s"}]}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]]}], "]"}]}], " ", ",", " ",
+ RowBox[{"r", "\[Rule]", "Infinity"}]}], " ", "]"}], "//", " ",
+ "Simplify"}]], "Input",
+ CellChangeTimes->{{3.4104955641887093`*^9, 3.410495593257103*^9}}],
+
+Cell[BoxData["$Aborted"], "Output",
+ CellChangeTimes->{{3.410495567756572*^9, 3.4104955825762787`*^9},
+ 3.410495821362195*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"Limit", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"Exp", "[", "r", "]"}],
+ RowBox[{"Erfc", "[", "r", "]"}], " ", "r"}], ",",
+ RowBox[{"r", "\[Rule]", "Infinity"}]}], "]"}]], "Input",
+ CellChangeTimes->{{3.410495824647681*^9, 3.410495844045096*^9}, {
+ 3.4104958867341948`*^9, 3.41049590365162*^9}}],
+
+Cell[BoxData["0"], "Output",
+ CellChangeTimes->{
+ 3.4104958443686447`*^9, {3.410495889137253*^9, 3.4104959043670397`*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "\[Infinity]"}], " ",
+ RowBox[{"W", "[",
+ RowBox[{"\[Infinity]", ",",
+ RowBox[{"alpha", " ",
+ SqrtBox["t"]}]}], "]"}]}], " ", "/.", " ", "transW"}]], "Input",
+ CellChangeTimes->{{3.41049541215347*^9, 3.4104954163782682`*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"\[Infinity]", "::", "\<\"indet\"\>"}],
+ RowBox[{
+ ":", " "}], "\<\"Indeterminate expression \\!\\(0\\\\ \[ExponentialE]\\^\\(\
+\\(\\(alpha\\^2\\\\ t\\)\\) + \\(\\(alpha\\\\ \[Infinity]\\\\ \
+\\@\\(Sign[t]\\)\\)\\)\\)\\\\ \\(\\((\\(-\[Infinity]\\))\\)\\)\\) \
+encountered. \\!\\(\\*ButtonBox[\\\"\[RightSkeleton]\\\", \
+ButtonStyle->\\\"Link\\\", ButtonFrame->None, \
+ButtonData:>\\\"paclet:ref/message/General/indet\\\", ButtonNote -> \
+\\\"Infinity::indet\\\"]\\)\"\>"}]], "Message", "MSG",
+ CellChangeTimes->{3.4104954179679203`*^9}],
+
+Cell[BoxData["Indeterminate"], "Output",
+ CellChangeTimes->{3.410495417972468*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r", "-", "r0"}], ")"}], "2"],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]]}], "+",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", " ", "s"}]}], ")"}], "2"],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]]}], ")"}], " ", "/.", " ",
+ RowBox[{"r", "\[Rule]", "Infinity"}]}], " ", "//", " ",
+ "Simplify"}]], "Input",
+ CellChangeTimes->{{3.4104951860456457`*^9, 3.410495192538056*^9}}],
+
+Cell[BoxData["0"], "Output",
+ CellChangeTimes->{{3.410495189256493*^9, 3.410495192896174*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ", "r0", " ",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r", "-", "r0"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ", "r0"}], "-",
+ RowBox[{"2", " ", "k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", " ", "s"}]}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}], "+",
+ RowBox[{"2", " ", "k", " ", "s", " ",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r0", "-", "s"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}]}], " ", "/.", " ",
+ RowBox[{"r", "\[Rule]", "Infinity"}]}], " ", "//", " ",
+ "Simplify"}]], "Input",
+ CellChangeTimes->{{3.4104952104094048`*^9, 3.410495217021171*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"2", " ",
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ", "r0"}], "-",
+ RowBox[{"2", " ", "k", " ", "s"}], "+",
+ RowBox[{"2", " ", "k", " ", "s", " ",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r0", "-", "s"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}]}]], "Output",
+ CellChangeTimes->{{3.410495213266028*^9, 3.4104952174091387`*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", " ", "s"}]}], ")"}], "2"],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]], " ", "/.", " ",
+ RowBox[{"r", "\[Rule]", "Infinity"}]}], " ", "//", " ",
+ "Simplify"}]], "Input",
+ CellChangeTimes->{{3.4104951587160387`*^9, 3.410495166318555*^9}}],
+
+Cell[BoxData["0"], "Output",
+ CellChangeTimes->{{3.410495162598227*^9, 3.4104951666859818`*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Limit", "[",
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", " ", "s"}]}], ")"}], "2"],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]], ",", " ",
+ RowBox[{"s", "\[Rule]", "Infinity"}]}], "]"}], " ", "//", " ",
+ "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.4104950370664387`*^9, 3.410495082834242*^9}}],
+
+Cell[BoxData[
+ RowBox[{"Limit", "[",
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r", "+", "r0", "-",
+ RowBox[{"2", " ", "s"}]}], ")"}], "2"],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]], ",",
+ RowBox[{"s", "\[Rule]", "\[Infinity]"}]}], "]"}]], "Output",
+ CellChangeTimes->{{3.4104950428684397`*^9, 3.410495101538145*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"ipirr2a", " ", "/.", " ",
+ RowBox[{"r", "\[Rule]", "Infinity"}]}]], "Input",
+ CellChangeTimes->{{3.410409660492195*^9, 3.41040968344908*^9}, {
+ 3.410410501924515*^9, 3.4104105020719843`*^9}, {3.4104178220657454`*^9,
+ 3.410417822323956*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ FractionBox["1", "r0"],
+ RowBox[{"(",
+ RowBox[{
+ FractionBox[
+ RowBox[{"0", " ",
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{"-", "\[Infinity]"}],
+ RowBox[{
+ RowBox[{"Sign", "[", "D", "]"}], " ",
+ RowBox[{"Sign", "[", "t", "]"}]}]]], " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}],
+ SqrtBox["\[Pi]"]], "+",
+ RowBox[{
+ FractionBox["1",
+ RowBox[{"k", "+", "kD"}]],
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"2", " ", "k", " ", "s", " ",
+ RowBox[{"Erf", "[",
+ FractionBox[
+ RowBox[{"r0", "-", "s"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ", "r0", " ",
+ RowBox[{"Erf", "[",
+ FractionBox["\[Infinity]",
+ SqrtBox[
+ RowBox[{"Sign", "[",
+ RowBox[{"D", " ", "t"}], "]"}]]], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"k", "+", "kD"}], ")"}], " ", "r0"}], "-",
+ RowBox[{"2", " ", "k", " ", "s"}]}], ")"}], " ",
+ RowBox[{"Erf", "[",
+ FractionBox["\[Infinity]",
+ SqrtBox[
+ RowBox[{"Sign", "[",
+ RowBox[{"D", " ", "t"}], "]"}]]], "]"}]}]}], ")"}]}], "+",
+ RowBox[{"k", " ", "s", " ",
+ RowBox[{"W", "[",
+ RowBox[{
+ FractionBox[
+ RowBox[{"r0", "-", "s"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], ",",
+ RowBox[{"alpha", " ",
+ SqrtBox["t"]}]}], "]"}]}], "-",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"k", " ", "\[Infinity]"}], "+",
+ RowBox[{"kD", " ", "\[Infinity]"}]}], ")"}], " ",
+ RowBox[{"W", "[",
+ RowBox[{
+ FractionBox["\[Infinity]",
+ SqrtBox[
+ RowBox[{"Sign", "[",
+ RowBox[{"D", " ", "t"}], "]"}]]], ",",
+ RowBox[{"alpha", " ",
+ SqrtBox["t"]}]}], "]"}]}]}], ")"}]}]}], ")"}]}]], "Output",
+ CellChangeTimes->{{3.410409662573934*^9, 3.410409683893437*^9},
+ 3.410410503455749*^9, 3.410417822879932*^9}]
+}, Open ]]
+},
+WindowSize->{785, 973},
+WindowMargins->{{224, Automatic}, {-45, Automatic}},
+FrontEndVersion->"6.0 for Linux x86 (64-bit) (June 19, 2007)",
+StyleDefinitions->"Default.nb"
+]
+(* End of Notebook Content *)
+
+(* Internal cache information *)
+(*CellTagsOutline
+CellTagsIndex->{}
+*)
+(*CellTagsIndex
+CellTagsIndex->{}
+*)
+(*NotebookFileOutline
+Notebook[{
+Cell[568, 21, 1361, 28, 55, "Input"],
+Cell[1932, 51, 1234, 31, 77, "Input"],
+Cell[3169, 84, 1746, 47, 77, "Input"],
+Cell[CellGroupData[{
+Cell[4940, 135, 97, 1, 32, "Input"],
+Cell[5040, 138, 1212, 38, 83, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[6289, 181, 1160, 22, 32, "Input"],
+Cell[7452, 205, 6189, 175, 276, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[13678, 385, 5308, 149, 331, "Input"],
+Cell[18989, 536, 4245, 129, 173, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[23271, 670, 3702, 107, 202, "Input"],
+Cell[26976, 779, 3335, 99, 267, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[30348, 883, 327, 8, 32, "Input"],
+Cell[30678, 893, 417, 6, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[31132, 904, 186, 4, 32, "Input"],
+Cell[31321, 910, 1842, 61, 94, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[33200, 976, 513, 10, 32, "Input"],
+Cell[33716, 988, 344, 5, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[34097, 998, 101, 1, 32, "Input"],
+Cell[34201, 1001, 3024, 94, 314, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[37262, 1100, 2297, 69, 259, "Input"],
+Cell[39562, 1171, 99, 1, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[39698, 1177, 1240, 37, 136, "Input"],
+Cell[40941, 1216, 859, 28, 65, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[41837, 1249, 770, 24, 86, "Input"],
+Cell[42610, 1275, 129, 2, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[42776, 1282, 628, 20, 61, "Input"],
+Cell[43407, 1304, 865, 30, 66, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[44309, 1339, 553, 17, 61, "Input"],
+Cell[44865, 1358, 129, 2, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[45031, 1365, 329, 8, 32, "Input"],
+Cell[45363, 1375, 123, 2, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[45523, 1382, 294, 8, 43, "Input"],
+Cell[45820, 1392, 573, 11, 33, "Message"],
+Cell[46396, 1405, 82, 1, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[46515, 1411, 768, 23, 59, "Input"],
+Cell[47286, 1436, 94, 1, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[47417, 1442, 1111, 36, 86, "Input"],
+Cell[48531, 1480, 439, 13, 52, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[49007, 1498, 455, 13, 46, "Input"],
+Cell[49465, 1513, 96, 1, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[49598, 1519, 495, 14, 51, "Input"],
+Cell[50096, 1535, 436, 12, 50, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[50569, 1552, 269, 5, 32, "Input"],
+Cell[50841, 1559, 2518, 76, 186, "Output"]
+}, Open ]]
+}
+]
+*)
+
+(* End of internal cache information *)
diff --git a/ecell4/egfrd/legacy/doc/math/psurvival.nb b/ecell4/egfrd/legacy/doc/math/psurvival.nb
new file mode 100644
index 0000000..922cf49
--- /dev/null
+++ b/ecell4/egfrd/legacy/doc/math/psurvival.nb
@@ -0,0 +1,691 @@
+(* Content-type: application/mathematica *)
+
+(*** Wolfram Notebook File ***)
+(* http://www.wolfram.com/nb *)
+
+(* CreatedBy='Mathematica 6.0' *)
+
+(*CacheID: 234*)
+(* Internal cache information:
+NotebookFileLineBreakTest
+NotebookFileLineBreakTest
+NotebookDataPosition[ 145, 7]
+NotebookDataLength[ 22524, 682]
+NotebookOptionsPosition[ 21226, 633]
+NotebookOutlinePosition[ 21585, 649]
+CellTagsIndexPosition[ 21542, 646]
+WindowFrame->Normal*)
+
+(* Beginning of Notebook Content *)
+Notebook[{
+Cell[BoxData[
+ RowBox[{"$Assumptions", ":=",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"r", ">", "0"}], ",",
+ RowBox[{"r0", ">", "0"}], ",",
+ RowBox[{"u", ">", "0"}], ",",
+ RowBox[{"s", ">", "0"}], ",",
+ RowBox[{"r", ">", "s"}], ",", " ",
+ RowBox[{"r0", ">", "s"}], ",", " ",
+ RowBox[{"D", ">", "0"}], ",",
+ RowBox[{"t", ">", "0"}], ",", " ",
+ RowBox[{"k", ">", "0"}], ",", " ",
+ RowBox[{"kD", ">", "0"}], ",", " ",
+ RowBox[{"alpha", ">", "0"}]}], "}"}]}]], "Input"],
+
+Cell[BoxData[
+ RowBox[{"\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{
+ RowBox[{"W", "[",
+ RowBox[{"a_", ",", "b_"}], "]"}], " ", ":=", " ",
+ RowBox[{
+ RowBox[{"Exp", "[", " ",
+ RowBox[{
+ RowBox[{"2", " ", "a", " ", "b"}], " ", "+", " ",
+ RowBox[{"b", "^", "2"}]}], " ", "]"}], " ",
+ RowBox[{"Erfc", "[", " ",
+ RowBox[{"a", " ", "+", " ", "b"}], "]"}]}]}], "\[IndentingNewLine]",
+ RowBox[{"psurvival", " ", ":=", " ",
+ RowBox[{
+ RowBox[{"1", " ", "-", " ",
+ RowBox[{
+ RowBox[{"(", " ",
+ RowBox[{"s", " ", "/", " ", "r0"}], " ", ")"}], " ",
+ RowBox[{"(", " ",
+ RowBox[{"k", " ", "/", " ",
+ RowBox[{"(", " ",
+ RowBox[{"k", " ", "+", " ", "kD"}], " ", ")"}]}], " ", ")"}], " ",
+ RowBox[{"(", " ",
+ RowBox[{
+ RowBox[{"Erfc", "[",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], "/",
+ RowBox[{"Sqrt", "[", " ",
+ RowBox[{"4", " ", "D", " ", "t"}], " ", "]"}]}], " ", "]"}], " ",
+ "-", " ",
+ RowBox[{"W", "[", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", " ", "-", " ", "s"}], ")"}], " ", "/", " ",
+ RowBox[{"Sqrt", "[", " ",
+ RowBox[{"4", " ", "D", " ", "t"}], "]"}]}], ",", " ",
+ RowBox[{"alpha", " ",
+ RowBox[{"Sqrt", "[", "t", "]"}]}]}], " ", "]"}]}], " ", ")"}]}]}],
+ " ", "//", " ", "Simplify"}]}]}]}]], "Input",
+ CellChangeTimes->{{3.410046559943474*^9, 3.4100465599825087`*^9}, {
+ 3.41004728492876*^9, 3.4100472871259623`*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData["psurvival"], "Input",
+ CellChangeTimes->{{3.410047279242782*^9, 3.410047291237349*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ FractionBox["1",
+ RowBox[{"r0", " ",
+ RowBox[{"(",
+ RowBox[{"k", "+",
+ RowBox[{"4", " ", "D", " ", "\[Pi]", " ", "s"}]}], ")"}]}]],
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"r0", " ",
+ RowBox[{"(",
+ RowBox[{"k", "+",
+ RowBox[{"4", " ", "D", " ", "\[Pi]", " ", "s"}]}], ")"}]}], "-",
+ RowBox[{"k", " ", "s", " ",
+ RowBox[{"Erfc", "[",
+ FractionBox[
+ RowBox[{"r0", "-", "s"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}], "+",
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"kf", "+",
+ RowBox[{"4", " ", "D", " ", "\[Pi]", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"kf", " ", "t"}], "+",
+ RowBox[{"4", " ", "\[Pi]", " ", "s", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"r0", " ", "s"}], "-",
+ SuperscriptBox["s", "2"], "+",
+ RowBox[{"D", " ", "t"}]}], ")"}]}]}], ")"}]}],
+ RowBox[{"16", " ", "D", " ",
+ SuperscriptBox["\[Pi]", "2"], " ",
+ SuperscriptBox["s", "4"]}]]], " ", "k", " ", "s", " ",
+ RowBox[{"Erfc", "[",
+ FractionBox[
+ RowBox[{
+ RowBox[{"kf", " ", "t"}], "+",
+ RowBox[{"2", " ", "\[Pi]", " ", "s", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"r0", " ", "s"}], "-",
+ SuperscriptBox["s", "2"], "+",
+ RowBox[{"2", " ", "D", " ", "t"}]}], ")"}]}]}],
+ RowBox[{"4", " ", "\[Pi]", " ",
+ SuperscriptBox["s", "2"], " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}]}], ")"}]}]], "Output",
+ CellChangeTimes->{
+ 3.410046495912209*^9, 3.4100465689195547`*^9, {3.4100472779476337`*^9,
+ 3.4100472916656027`*^9}, 3.443937597159379*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"dpsurvival", " ", "=", " ",
+ RowBox[{"D", "[",
+ RowBox[{"psurvival", ",", "t"}], "]"}]}]], "Input"],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"General", "::", "\<\"spell1\"\>"}],
+ RowBox[{
+ ":", " "}], "\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"New symbol name \\\\\\\\\\\\\
+\\\"\\\\\\\"\\\", \
+\\\"MT\\\"]\\)\[NoBreak]\\!\\(\\*StyleBox[\\!\\(dpsurvival\\), \\\"MT\\\"]\\)\
+\[NoBreak]\\!\\(\\*StyleBox[\\\"\\\\\\\"\\\\\\\\\\\\\\\" is similar to \
+existing symbol \\\\\\\\\\\\\\\"\\\\\\\"\\\", \
+\\\"MT\\\"]\\)\[NoBreak]\\!\\(\\*StyleBox[\\!\\(psurvival\\), \\\"MT\\\"]\\)\
+\[NoBreak]\\!\\(\\*StyleBox[\\\"\\\\\\\"\\\\\\\\\\\\\\\" and may be \
+misspelled.\\\\\\\"\\\", \\\"MT\\\"]\\) \\!\\(\\*ButtonBox[\\\"\
+\[RightSkeleton]\\\", ButtonStyle->\\\"Link\\\", ButtonFrame->None, \
+ButtonData:>\\\"paclet:ref/message/General/spell1\\\", ButtonNote -> \
+\\\"General::spell1\\\"]\\)\"\>"}]], "Message", "MSG",
+ CellChangeTimes->{3.443937598949004*^9}],
+
+Cell[BoxData[
+ RowBox[{
+ FractionBox["1",
+ RowBox[{"r0", " ",
+ RowBox[{"(",
+ RowBox[{"k", "+",
+ RowBox[{"4", " ", "D", " ", "\[Pi]", " ", "s"}]}], ")"}]}]],
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"D", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], "2"],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]], " ", "k", " ",
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "s"}],
+ RowBox[{"2", " ",
+ SqrtBox["\[Pi]"], " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"D", " ", "t"}], ")"}],
+ RowBox[{"3", "/", "2"}]]}]]}], "-",
+ RowBox[{
+ FractionBox["1",
+ SqrtBox["\[Pi]"]],
+ RowBox[{"2", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ FractionBox[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"kf", "+",
+ RowBox[{"4", " ", "D", " ", "\[Pi]", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"kf", " ", "t"}], "+",
+ RowBox[{"4", " ", "\[Pi]", " ", "s", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"r0", " ", "s"}], "-",
+ SuperscriptBox["s", "2"], "+",
+ RowBox[{"D", " ", "t"}]}], ")"}]}]}], ")"}]}],
+ RowBox[{"16", " ", "D", " ",
+ SuperscriptBox["\[Pi]", "2"], " ",
+ SuperscriptBox["s", "4"]}]], "-",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"kf", " ", "t"}], "+",
+ RowBox[{"2", " ", "\[Pi]", " ", "s", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"r0", " ", "s"}], "-",
+ SuperscriptBox["s", "2"], "+",
+ RowBox[{"2", " ", "D", " ", "t"}]}], ")"}]}]}], ")"}], "2"],
+ RowBox[{"16", " ", "D", " ",
+ SuperscriptBox["\[Pi]", "2"], " ",
+ SuperscriptBox["s", "4"], " ", "t"}]]}]], " ", "k", " ", "s", " ",
+ RowBox[{"(",
+ RowBox[{
+ FractionBox[
+ RowBox[{"kf", "+",
+ RowBox[{"4", " ", "D", " ", "\[Pi]", " ", "s"}]}],
+ RowBox[{"4", " ", "\[Pi]", " ",
+ SuperscriptBox["s", "2"], " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "-",
+ FractionBox[
+ RowBox[{"D", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"kf", " ", "t"}], "+",
+ RowBox[{"2", " ", "\[Pi]", " ", "s", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"r0", " ", "s"}], "-",
+ SuperscriptBox["s", "2"], "+",
+ RowBox[{"2", " ", "D", " ", "t"}]}], ")"}]}]}], ")"}]}],
+ RowBox[{"8", " ", "\[Pi]", " ",
+ SuperscriptBox["s", "2"], " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"D", " ", "t"}], ")"}],
+ RowBox[{"3", "/", "2"}]]}]]}], ")"}]}]}], "+",
+ FractionBox[
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"kf", "+",
+ RowBox[{"4", " ", "D", " ", "\[Pi]", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"kf", " ", "t"}], "+",
+ RowBox[{"4", " ", "\[Pi]", " ", "s", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"r0", " ", "s"}], "-",
+ SuperscriptBox["s", "2"], "+",
+ RowBox[{"D", " ", "t"}]}], ")"}]}]}], ")"}]}],
+ RowBox[{"16", " ", "D", " ",
+ SuperscriptBox["\[Pi]", "2"], " ",
+ SuperscriptBox["s", "4"]}]]], " ", "k", " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"kf", "+",
+ RowBox[{"4", " ", "D", " ", "\[Pi]", " ", "s"}]}], ")"}], "2"], " ",
+
+ RowBox[{"Erfc", "[",
+ FractionBox[
+ RowBox[{
+ RowBox[{"kf", " ", "t"}], "+",
+ RowBox[{"2", " ", "\[Pi]", " ", "s", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"r0", " ", "s"}], "-",
+ SuperscriptBox["s", "2"], "+",
+ RowBox[{"2", " ", "D", " ", "t"}]}], ")"}]}]}],
+ RowBox[{"4", " ", "\[Pi]", " ",
+ SuperscriptBox["s", "2"], " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}],
+ RowBox[{"16", " ", "D", " ",
+ SuperscriptBox["\[Pi]", "2"], " ",
+ SuperscriptBox["s", "3"]}]]}], ")"}]}]], "Output",
+ CellChangeTimes->{3.410046495985285*^9, 3.41004656905287*^9,
+ 3.4439375989608183`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"Simplify", "[", "dpsurvival", "]"}]], "Input"],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], "2"],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]], " ", "k", " ",
+ RowBox[{"(",
+ RowBox[{"kf", "+",
+ RowBox[{"4", " ", "D", " ", "\[Pi]", " ", "s"}]}], ")"}], " ", "t", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "4"}], " ", "D", " ",
+ SqrtBox["\[Pi]"], " ",
+ SuperscriptBox["s", "2"]}], "+",
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"kf", " ", "t"}], "+",
+ RowBox[{"2", " ", "\[Pi]", " ", "s", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"r0", " ", "s"}], "-",
+ SuperscriptBox["s", "2"], "+",
+ RowBox[{"2", " ", "D", " ", "t"}]}], ")"}]}]}], ")"}], "2"],
+ RowBox[{"16", " ", "D", " ",
+ SuperscriptBox["\[Pi]", "2"], " ",
+ SuperscriptBox["s", "4"], " ", "t"}]]], " ",
+ RowBox[{"(",
+ RowBox[{"kf", "+",
+ RowBox[{"4", " ", "D", " ", "\[Pi]", " ", "s"}]}], ")"}], " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]], " ",
+ RowBox[{"Erfc", "[",
+ FractionBox[
+ RowBox[{
+ RowBox[{"kf", " ", "t"}], "+",
+ RowBox[{"2", " ", "\[Pi]", " ", "s", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"r0", " ", "s"}], "-",
+ SuperscriptBox["s", "2"], "+",
+ RowBox[{"2", " ", "D", " ", "t"}]}], ")"}]}]}],
+ RowBox[{"4", " ", "\[Pi]", " ",
+ SuperscriptBox["s", "2"], " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}]}], ")"}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"16", " ",
+ SuperscriptBox["\[Pi]", "2"], " ", "r0", " ",
+ SuperscriptBox["s", "3"], " ",
+ RowBox[{"(",
+ RowBox[{"k", "+",
+ RowBox[{"4", " ", "D", " ", "\[Pi]", " ", "s"}]}], ")"}], " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"D", " ", "t"}], ")"}],
+ RowBox[{"3", "/", "2"}]]}], ")"}]}]], "Output",
+ CellChangeTimes->{3.4100464967758512`*^9, 3.410046569822997*^9,
+ 3.443937601471734*^9}]
+}, Open ]],
+
+Cell[BoxData[""], "Input"],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"Simplify", "[", "\[IndentingNewLine]",
+ RowBox[{
+ RowBox[{"alpha", " ", "k", " ", "s", " ",
+ RowBox[{
+ RowBox[{"(", " ",
+ RowBox[{
+ RowBox[{"-",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], "2"],
+ RowBox[{"4", " ", "D", " ", "t"}]]}]]}], " ", "+", " ",
+ RowBox[{"alpha", " ",
+ RowBox[{"Sqrt", "[",
+ RowBox[{"Pi", " ", "t"}], "]"}], " ",
+ RowBox[{"W", "[", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", " ", "-", " ", "s"}], ")"}], " ", "/", " ",
+ RowBox[{"Sqrt", "[", " ",
+ RowBox[{"4", " ", "D", " ", "t"}], "]"}]}], ",", " ",
+ RowBox[{"alpha", " ",
+ RowBox[{"Sqrt", "[", "t", "]"}]}]}], " ", "]"}]}]}], " ", ")"}],
+ " ", "/", " ",
+ RowBox[{"(", " ",
+ RowBox[{
+ RowBox[{"Sqrt", "[",
+ RowBox[{"Pi", " ", "t"}], "]"}], " ", "r0", " ",
+ RowBox[{"(", " ",
+ RowBox[{"k", " ", "+", " ", "kD"}], " ", ")"}]}], " ", ")"}]}]}], " ",
+ "\[Equal]", " ", "dpsurvival"}], " ", "]"}]], "Input",
+ CellChangeTimes->{{3.410046560258493*^9, 3.4100465602627287`*^9}}],
+
+Cell[BoxData["True"], "Output",
+ CellChangeTimes->{3.410046497427053*^9, 3.410046593661746*^9,
+ 3.443937630597466*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"\[IndentingNewLine]",
+ RowBox[{"Simplify", "[",
+ RowBox[{
+ RowBox[{"D", "[",
+ RowBox[{
+ RowBox[{"psurvival", "-", "u"}], ",", "t"}], "]"}], " ", "\[Equal]",
+ " ", "dpsurvival"}], "]"}]}]], "Input"],
+
+Cell[BoxData["True"], "Output",
+ CellChangeTimes->{3.410046497515979*^9, 3.4100465940383463`*^9,
+ 3.44393763281732*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData["psurvival"], "Input",
+ CellChangeTimes->{{3.4100465387565117`*^9, 3.4100465401572323`*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ FractionBox["1",
+ RowBox[{"r0", " ",
+ RowBox[{"(",
+ RowBox[{"k", "+",
+ RowBox[{"4", " ", "D", " ", "\[Pi]", " ", "s"}]}], ")"}]}]],
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"r0", " ",
+ RowBox[{"(",
+ RowBox[{"k", "+",
+ RowBox[{"4", " ", "D", " ", "\[Pi]", " ", "s"}]}], ")"}]}], "-",
+ RowBox[{"k", " ", "s", " ",
+ RowBox[{"Erfc", "[",
+ FractionBox[
+ RowBox[{"r0", "-", "s"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}], "+",
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"kf", "+",
+ RowBox[{"4", " ", "D", " ", "\[Pi]", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"kf", " ", "t"}], "+",
+ RowBox[{"4", " ", "\[Pi]", " ", "s", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"r0", " ", "s"}], "-",
+ SuperscriptBox["s", "2"], "+",
+ RowBox[{"D", " ", "t"}]}], ")"}]}]}], ")"}]}],
+ RowBox[{"16", " ", "D", " ",
+ SuperscriptBox["\[Pi]", "2"], " ",
+ SuperscriptBox["s", "4"]}]]], " ", "k", " ", "s", " ",
+ RowBox[{"Erfc", "[",
+ FractionBox[
+ RowBox[{
+ RowBox[{"kf", " ", "t"}], "+",
+ RowBox[{"2", " ", "\[Pi]", " ", "s", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"r0", " ", "s"}], "-",
+ SuperscriptBox["s", "2"], "+",
+ RowBox[{"2", " ", "D", " ", "t"}]}], ")"}]}]}],
+ RowBox[{"4", " ", "\[Pi]", " ",
+ SuperscriptBox["s", "2"], " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}]}], ")"}]}]], "Output",
+ CellChangeTimes->{3.410046540672441*^9, 3.410046594093136*^9,
+ 3.410047296044636*^9, 3.443937634780458*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"Limit", "[",
+ RowBox[{
+ RowBox[{"psurvival", " ", "/.", " ",
+ RowBox[{"r0", "\[Rule]", "s"}]}], " ", ",", " ",
+ RowBox[{"t", "\[Rule]", "Infinity"}]}], " ", "]"}]], "Input",
+ CellChangeTimes->{{3.4100466632566566`*^9, 3.410046707528758*^9}}],
+
+Cell[BoxData[
+ RowBox[{"Limit", "[",
+ RowBox[{
+ FractionBox[
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "k"}], " ", "s"}], "+",
+ RowBox[{"s", " ",
+ RowBox[{"(",
+ RowBox[{"k", "+",
+ RowBox[{"4", " ", "D", " ", "\[Pi]", " ", "s"}]}], ")"}]}], "+",
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"kf", "+",
+ RowBox[{"4", " ", "D", " ", "\[Pi]", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"kf", " ", "t"}], "+",
+ RowBox[{"4", " ", "D", " ", "\[Pi]", " ", "s", " ", "t"}]}],
+ ")"}]}],
+ RowBox[{"16", " ", "D", " ",
+ SuperscriptBox["\[Pi]", "2"], " ",
+ SuperscriptBox["s", "4"]}]]], " ", "k", " ", "s", " ",
+ RowBox[{"Erfc", "[",
+ FractionBox[
+ RowBox[{
+ RowBox[{"kf", " ", "t"}], "+",
+ RowBox[{"4", " ", "D", " ", "\[Pi]", " ", "s", " ", "t"}]}],
+ RowBox[{"4", " ", "\[Pi]", " ",
+ SuperscriptBox["s", "2"], " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}]}],
+ RowBox[{"s", " ",
+ RowBox[{"(",
+ RowBox[{"k", "+",
+ RowBox[{"4", " ", "D", " ", "\[Pi]", " ", "s"}]}], ")"}]}]], ",",
+ RowBox[{"t", "\[Rule]", "\[Infinity]"}]}], "]"}]], "Output",
+ CellChangeTimes->{{3.410046669710333*^9, 3.4100467080244617`*^9},
+ 3.410047307947596*^9, 3.443937652170155*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Limit", "[",
+ RowBox[{"psurvival", " ", ",", " ",
+ RowBox[{"t", "\[Rule]", "Infinity"}]}], "]"}], "//", " ",
+ "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.410046602513481*^9, 3.4100466187180433`*^9}, {
+ 3.4100467172962503`*^9, 3.4100467188898497`*^9}, {3.4100475307906857`*^9,
+ 3.4100475614612093`*^9}}],
+
+Cell[BoxData[
+ RowBox[{"Limit", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1",
+ RowBox[{"r0", " ",
+ RowBox[{"(",
+ RowBox[{"k", "+",
+ RowBox[{"4", " ", "D", " ", "\[Pi]", " ", "s"}]}], ")"}]}]],
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"r0", " ",
+ RowBox[{"(",
+ RowBox[{"k", "+",
+ RowBox[{"4", " ", "D", " ", "\[Pi]", " ", "s"}]}], ")"}]}], "-",
+ RowBox[{"k", " ", "s", " ",
+ RowBox[{"Erfc", "[",
+ FractionBox[
+ RowBox[{"r0", "-", "s"}],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}], "+",
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ FractionBox[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"kf", "+",
+ RowBox[{"4", " ", "D", " ", "\[Pi]", " ", "s"}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"kf", " ", "t"}], "+",
+ RowBox[{"4", " ", "\[Pi]", " ", "s", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "s"}], "+",
+ RowBox[{"D", " ", "t"}]}], ")"}]}]}], ")"}]}],
+ RowBox[{"16", " ", "D", " ",
+ SuperscriptBox["\[Pi]", "2"], " ",
+ SuperscriptBox["s", "4"]}]]], " ", "k", " ", "s", " ",
+ RowBox[{"Erfc", "[",
+ FractionBox[
+ RowBox[{
+ RowBox[{"kf", " ", "t"}], "+",
+ RowBox[{"2", " ", "\[Pi]", " ", "s", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"r0", "-", "s"}], ")"}], " ", "s"}], "+",
+ RowBox[{"2", " ", "D", " ", "t"}]}], ")"}]}]}],
+ RowBox[{"4", " ", "\[Pi]", " ",
+ SuperscriptBox["s", "2"], " ",
+ SqrtBox[
+ RowBox[{"D", " ", "t"}]]}]], "]"}]}]}], ")"}]}], ",",
+ RowBox[{"t", "\[Rule]", "\[Infinity]"}]}], "]"}]], "Output",
+ CellChangeTimes->{
+ 3.410046608292542*^9, 3.4100466686144238`*^9, 3.410047270132113*^9,
+ 3.410047310775991*^9, 3.410047369112982*^9, {3.410047532939485*^9,
+ 3.4100475618918056`*^9}, 3.4439377931552362`*^9}]
+}, Open ]]
+},
+WindowSize->{892, 972},
+WindowMargins->{{147, Automatic}, {Automatic, 46}},
+Magnification->1.25,
+FrontEndVersion->"7.0 for Linux x86 (64-bit) (December 18, 2008)",
+StyleDefinitions->"Default.nb"
+]
+(* End of Notebook Content *)
+
+(* Internal cache information *)
+(*CellTagsOutline
+CellTagsIndex->{}
+*)
+(*CellTagsIndex
+CellTagsIndex->{}
+*)
+(*NotebookFileOutline
+Notebook[{
+Cell[545, 20, 505, 14, 64, "Input"],
+Cell[1053, 36, 1651, 43, 164, "Input"],
+Cell[CellGroupData[{
+Cell[2729, 83, 101, 1, 38, "Input"],
+Cell[2833, 86, 1896, 55, 161, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[4766, 146, 128, 3, 38, "Input"],
+Cell[4897, 151, 832, 15, 52, "Message"],
+Cell[5732, 168, 4690, 133, 363, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[10459, 306, 70, 1, 38, "Input"],
+Cell[10532, 309, 2352, 67, 161, "Output"]
+}, Open ]],
+Cell[12899, 379, 26, 0, 38, "Input"],
+Cell[CellGroupData[{
+Cell[12950, 383, 1323, 35, 181, "Input"],
+Cell[14276, 420, 120, 2, 57, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[14433, 427, 243, 7, 64, "Input"],
+Cell[14679, 436, 121, 2, 57, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[14837, 443, 105, 1, 38, "Input"],
+Cell[14945, 446, 1862, 54, 161, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[16844, 505, 276, 6, 38, "Input"],
+Cell[17123, 513, 1474, 41, 101, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[18634, 559, 355, 8, 38, "Input"],
+Cell[18992, 569, 2218, 61, 144, "Output"]
+}, Open ]]
+}
+]
+*)
+
+(* End of internal cache information *)
diff --git a/ecell4/egfrd/legacy/doc/math/rR.nb b/ecell4/egfrd/legacy/doc/math/rR.nb
new file mode 100644
index 0000000..8cfea51
--- /dev/null
+++ b/ecell4/egfrd/legacy/doc/math/rR.nb
@@ -0,0 +1,1012 @@
+(* Content-type: application/mathematica *)
+
+(*** Wolfram Notebook File ***)
+(* http://www.wolfram.com/nb *)
+
+(* CreatedBy='Mathematica 6.0' *)
+
+(*CacheID: 234*)
+(* Internal cache information:
+NotebookFileLineBreakTest
+NotebookFileLineBreakTest
+NotebookDataPosition[ 145, 7]
+NotebookDataLength[ 33331, 1003]
+NotebookOptionsPosition[ 31111, 922]
+NotebookOutlinePosition[ 31465, 938]
+CellTagsIndexPosition[ 31422, 935]
+WindowFrame->Normal*)
+
+(* Beginning of Notebook Content *)
+Notebook[{
+Cell[BoxData[
+ RowBox[{"Clear", "[",
+ RowBox[{"R", ",", "r"}], "]"}]], "Input",
+ CellChangeTimes->{{3.4026958883779*^9, 3.402695914770453*^9}, {
+ 3.402695972572247*^9, 3.402696001148481*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"$Assumptions", " ", "=", " ",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"D1", ">", "0"}], ",",
+ RowBox[{"D2", ">", "0"}], ",",
+ RowBox[{"ar", ">", "0"}], ",", " ",
+ RowBox[{"ar1", ">", "0"}], ",", " ",
+ RowBox[{"ar2", ">", "0"}], ",", " ",
+ RowBox[{"aR", ">", "0"}], ",", " ",
+ RowBox[{"dr1", ">", "0"}], ",", " ",
+ RowBox[{"dr2", ">", "0"}], ",", " ",
+ RowBox[{"dr", ">", "0"}], ",",
+ RowBox[{"r0", ">", "0"}], ",", " ",
+ RowBox[{"shell", ">", "0"}], ",", " ",
+ RowBox[{"sigma1", ">", "0"}], ",", " ",
+ RowBox[{"sigma2", ">", "0"}]}], "}"}]}]], "Input",
+ CellChangeTimes->{{3.402696311491418*^9, 3.402696328036825*^9},
+ 3.4034869328195553`*^9, {3.4034916158721437`*^9, 3.403491622386113*^9}, {
+ 3.403558908395858*^9, 3.403558910198041*^9}, 3.403563171647244*^9, {
+ 3.4035781264421167`*^9, 3.403578156654809*^9}, {3.403588205142537*^9,
+ 3.4035882090761747`*^9}, {3.403588318688694*^9, 3.403588329413422*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"D1", ">", "0"}], ",",
+ RowBox[{"D2", ">", "0"}], ",",
+ RowBox[{"ar", ">", "0"}], ",",
+ RowBox[{"ar1", ">", "0"}], ",",
+ RowBox[{"ar2", ">", "0"}], ",",
+ RowBox[{"aR", ">", "0"}], ",",
+ RowBox[{"dr1", ">", "0"}], ",",
+ RowBox[{"dr2", ">", "0"}], ",",
+ RowBox[{"dr", ">", "0"}], ",",
+ RowBox[{"r0", ">", "0"}], ",",
+ RowBox[{"shell", ">", "0"}], ",",
+ RowBox[{"sigma1", ">", "0"}], ",",
+ RowBox[{"sigma2", ">", "0"}]}], "}"}]], "Output",
+ CellChangeTimes->{
+ 3.402696328789398*^9, {3.403486917293971*^9, 3.403486934971922*^9},
+ 3.403491623074675*^9, 3.403557976461739*^9, 3.403558911317177*^9,
+ 3.403563172740897*^9, 3.403578159439011*^9, 3.403588209698134*^9,
+ 3.404108207989971*^9, 3.404160935904215*^9, 3.4041707843669643`*^9,
+ 3.4051164241113863`*^9, 3.452660744002887*^9}]
+}, Open ]],
+
+Cell[BoxData[
+ RowBox[{"totD", " ", ":=", " ",
+ RowBox[{"D1", " ", "+", " ", "D2"}]}]], "Input",
+ CellChangeTimes->{{3.4026967220243683`*^9, 3.40269672634095*^9}, {
+ 3.402697061366485*^9, 3.4026970800700417`*^9}, 3.403486975780238*^9}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"Dp", " ", "=", " ",
+ RowBox[{
+ RowBox[{"totD", " ", "/", " ",
+ RowBox[{"(", " ",
+ RowBox[{
+ RowBox[{"Sqrt", "[",
+ RowBox[{"D1", "/", "D2"}], "]"}], " ", "+", " ",
+ RowBox[{"Sqrt", "[",
+ RowBox[{"D2", "/", "D1"}], "]"}]}], ")"}]}], " ", "//",
+ "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.4026970831598186`*^9, 3.402697121367154*^9}, {
+ 3.4034869803084373`*^9, 3.403486998812669*^9}}],
+
+Cell[BoxData[
+ SqrtBox[
+ RowBox[{"D1", " ", "D2"}]]], "Output",
+ CellChangeTimes->{{3.402697094813592*^9, 3.40269712187705*^9}, {
+ 3.403486991202074*^9, 3.403486999169581*^9}, 3.403557977651785*^9,
+ 3.4041082082238283`*^9, 3.404160938484*^9, 3.404170784671204*^9,
+ 3.452660744315023*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"R", " ", "=", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"pos1", " ",
+ RowBox[{"Sqrt", "[",
+ RowBox[{"D2", "/", "D1"}], "]"}]}], " ", "+", " ",
+ RowBox[{"pos2", " ",
+ RowBox[{"Sqrt", "[",
+ RowBox[{"D1", "/", "D2"}], "]"}]}]}], ")"}]}]], "Input",
+ CellChangeTimes->{{3.4034868633737097`*^9, 3.403486873464881*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ SqrtBox[
+ FractionBox["D2", "D1"]], " ", "pos1"}], "+",
+ RowBox[{
+ SqrtBox[
+ FractionBox["D1", "D2"]], " ", "pos2"}]}]], "Output",
+ CellChangeTimes->{3.403486875049451*^9, 3.4035579779273863`*^9,
+ 3.404108208310669*^9, 3.4041609390231113`*^9, 3.4041707847147017`*^9,
+ 3.4051214701188793`*^9, 3.452660744563717*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"Rp", " ", "=", " ",
+ RowBox[{
+ RowBox[{"R", " ", "/", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"Sqrt", "[",
+ RowBox[{"D2", "/", "D1"}], "]"}], " ", "+", " ",
+ RowBox[{"Sqrt", "[",
+ RowBox[{"D1", "/", "D2"}], "]"}]}], ")"}]}], " ", "//", " ",
+ "Simplify"}]}]], "Input",
+ CellChangeTimes->{{3.452660984269088*^9, 3.452661026129475*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{
+ RowBox[{"D2", " ", "pos1"}], "+",
+ RowBox[{"D1", " ", "pos2"}]}],
+ RowBox[{"D1", "+", "D2"}]]], "Output",
+ CellChangeTimes->{{3.452661001432955*^9, 3.452661026976781*^9}}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"Sqrt", "[",
+ RowBox[{"D2", "/", "D1"}], "]"}], " ", "+", " ",
+ RowBox[{"Sqrt", "[",
+ RowBox[{"D1", "/", "D2"}], "]"}]}], " ", "//", " ", "Simplify"}]], "Input",\
+
+ CellChangeTimes->{{3.452661522876934*^9, 3.452661524406781*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{"D1", "+", "D2"}],
+ SqrtBox[
+ RowBox[{"D1", " ", "D2"}]]]], "Output",
+ CellChangeTimes->{{3.452661521131167*^9, 3.452661524991226*^9}}]
+}, Open ]],
+
+Cell[BoxData[""], "Input",
+ CellChangeTimes->{{3.452661452336883*^9, 3.452661453703381*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Solve", "[",
+ RowBox[{
+ RowBox[{"Rp", " ", "\[Equal]", " ",
+ RowBox[{"x", " ", "R"}]}], ",", " ", "x"}], "]"}], " ", "//", " ",
+ "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.4051214594565487`*^9, 3.405121497378131*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{"{",
+ RowBox[{"x", "\[Rule]",
+ FractionBox[
+ RowBox[{
+ RowBox[{"D2", " ", "pos1"}], "+",
+ RowBox[{"D1", " ", "pos2"}]}],
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"D1", "+", "D2"}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ SqrtBox[
+ FractionBox["D2", "D1"]], " ", "pos1"}], "+",
+ RowBox[{
+ SqrtBox[
+ FractionBox["D1", "D2"]], " ", "pos2"}]}], ")"}]}]]}], "}"}],
+ "}"}]], "Output",
+ CellChangeTimes->{{3.4051214612617826`*^9, 3.4051214979933023`*^9},
+ 3.452660745758307*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Solve", "[",
+ RowBox[{
+ RowBox[{"{", " ",
+ RowBox[{
+ RowBox[{"CoM", " ", "==", " ",
+ RowBox[{"R", " ", "/", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"Sqrt", "[",
+ RowBox[{"D2", "/", "D1"}], "]"}], " ", "+", " ",
+ RowBox[{"Sqrt", "[",
+ RowBox[{"D1", "/", "D2"}], "]"}]}], ")"}]}]}], ",", " ",
+ RowBox[{"r", " ", "==", " ",
+ RowBox[{"pos2", " ", "-", " ", "pos1"}]}]}], "}"}], ",", " ",
+ RowBox[{"{",
+ RowBox[{"pos1", ",", "pos2"}], "}"}]}], "]"}], " ", "//", " ",
+ "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.402695944186075*^9, 3.40269594690911*^9}, {
+ 3.402696026401033*^9, 3.4026960332997026`*^9}, {3.402696072142201*^9,
+ 3.402696094737031*^9}, {3.40269617971651*^9, 3.402696180161126*^9}, {
+ 3.403486654747764*^9, 3.403486714532187*^9}, {3.4034867643288918`*^9,
+ 3.403486764775723*^9}, {3.403486803467668*^9, 3.403486807452014*^9}, {
+ 3.403486885616405*^9, 3.403486886330659*^9}, {3.403486939453874*^9,
+ 3.403486939893735*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"pos1", "\[Rule]",
+ RowBox[{"CoM", "-",
+ FractionBox[
+ RowBox[{"D1", " ", "r"}],
+ RowBox[{"D1", "+", "D2"}]]}]}], ",",
+ RowBox[{"pos2", "\[Rule]",
+ RowBox[{"CoM", "+",
+ FractionBox[
+ RowBox[{"D2", " ", "r"}],
+ RowBox[{"D1", "+", "D2"}]]}]}]}], "}"}], "}"}]], "Output",
+ CellChangeTimes->{3.403491727321452*^9, 3.403557978029109*^9,
+ 3.404108208461165*^9, 3.4041609393903093`*^9, 3.404170784954513*^9,
+ 3.452660746355545*^9}]
+}, Open ]],
+
+Cell[BoxData[{
+ RowBox[{"r01", " ", ":=", " ",
+ RowBox[{"r0", " ",
+ RowBox[{"D1", " ", "/", " ", "totD"}]}]}], "\[IndentingNewLine]",
+ RowBox[{"r02", " ", ":=", " ",
+ RowBox[{"r0", " ",
+ RowBox[{"D2", " ", "/", " ", "totD"}]}]}]}], "Input",
+ CellChangeTimes->{{3.4034944823552*^9, 3.4034945549203053`*^9}}],
+
+Cell["\<\
+Solve for aR and ar, for the case particle1 or particle 2 determines the \
+pair's shell.\
+\>", "Text",
+ CellChangeTimes->{{3.403493744495117*^9, 3.403493817436069*^9}, {
+ 3.4034970802774982`*^9, 3.403497083477819*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"soln1", " ", "=", " ",
+ RowBox[{
+ RowBox[{"Solve", "[",
+ RowBox[{
+ RowBox[{"{", " ",
+ RowBox[{
+ RowBox[{"shell", " ", "\[Equal]", " ",
+ RowBox[{"ar1", " ", "+", " ", "aR", " ", "+", " ", "sigma1"}]}], ",",
+ " ",
+ RowBox[{"dr", " ", "\[Equal]", " ",
+ RowBox[{"dr1", " ", "+", " ", "dr2"}]}], ",", " ",
+ RowBox[{
+ RowBox[{"dr", "/", " ",
+ RowBox[{"Sqrt", "[", " ", "totD", "]"}]}], " ", "\[Equal]", " ",
+ RowBox[{"aR", " ", "/", " ",
+ RowBox[{"Sqrt", "[", " ", "Dp", " ", "]"}]}]}], ",",
+ RowBox[{"dr1", " ", "\[Equal]", " ",
+ RowBox[{"ar1", " ", "-", " ", "r01"}]}], ",", " ",
+ RowBox[{"dr2", " ", "\[Equal]", " ",
+ RowBox[{"ar2", " ", "-", " ", "r02"}]}], ",", " ",
+ RowBox[{"ar", " ", "\[Equal]", " ",
+ RowBox[{"ar2", " ",
+ RowBox[{"(", " ",
+ RowBox[{"totD", " ", "/", " ", "D2"}], ")"}]}]}], ",", " ",
+ RowBox[{"ar1", " ", "\[Equal]", " ",
+ RowBox[{"ar", " ",
+ RowBox[{"(", " ",
+ RowBox[{"D1", "/", "totD"}], ")"}]}]}]}], "}"}], ",", " ",
+ RowBox[{"{", " ",
+ RowBox[{
+ "dr", ",", " ", "dr1", ",", " ", "dr2", ",", " ", "ar", ",", " ",
+ "ar1", ",", " ", "ar2", ",", " ", "aR"}], "}"}]}], "]"}], " ", "//",
+ " ", "Simplify"}]}]], "Input",
+ CellChangeTimes->{{3.403496580041008*^9, 3.403496596455378*^9}, {
+ 3.403496898176671*^9, 3.403496898318852*^9}}],
+
+Cell[BoxData["$Aborted"], "Output",
+ CellChangeTimes->{3.4034970880692787`*^9, 3.403557978540329*^9,
+ 3.404108208678545*^9, 3.404160940987525*^9, 3.4041707855013027`*^9,
+ 3.452660747054967*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"soln2", " ", "=", " ",
+ RowBox[{
+ RowBox[{"Solve", "[",
+ RowBox[{
+ RowBox[{"{", " ",
+ RowBox[{
+ RowBox[{"shell", " ", "\[Equal]", " ",
+ RowBox[{"ar2", " ", "+", " ", "aR", " ", "+", " ", "sigma2"}]}], ",",
+
+ RowBox[{"dr", " ", "\[Equal]", " ",
+ RowBox[{"dr1", " ", "+", " ", "dr2"}]}], ",", " ",
+ RowBox[{
+ RowBox[{"dr", "/", " ",
+ RowBox[{"Sqrt", "[", " ", "totD", "]"}]}], " ", "\[Equal]", " ",
+ RowBox[{"aR", " ", "/", " ",
+ RowBox[{"Sqrt", "[", " ", "Dp", " ", "]"}]}]}], ",",
+ RowBox[{"dr1", " ", "\[Equal]", " ",
+ RowBox[{"ar1", " ", "-", " ", "r01"}]}], ",", " ",
+ RowBox[{"dr2", " ", "\[Equal]", " ",
+ RowBox[{"ar2", " ", "-", " ", "r02"}]}], ",", " ",
+ RowBox[{"ar", " ", "\[Equal]", " ",
+ RowBox[{"ar2", " ",
+ RowBox[{"(", " ",
+ RowBox[{"totD", " ", "/", " ", "D2"}], ")"}]}]}], ",", " ",
+ RowBox[{"ar1", " ", "\[Equal]", " ",
+ RowBox[{"ar", " ",
+ RowBox[{"(", " ",
+ RowBox[{"D1", "/", "totD"}], ")"}]}]}]}], "}"}], ",", " ",
+ RowBox[{"{", " ",
+ RowBox[{
+ "dr", ",", " ", "dr1", ",", " ", "dr2", ",", " ", "ar", ",", " ",
+ "ar1", ",", " ", "ar2", ",", " ", "aR"}], "}"}]}], "]"}], " ", "//",
+ " ", "Simplify"}]}]], "Input",
+ CellChangeTimes->{{3.4034879738009768`*^9, 3.403487988974628*^9}, {
+ 3.4034883383129873`*^9, 3.403488425632187*^9}, {3.403488472434844*^9,
+ 3.403488476324501*^9}, {3.403488562847928*^9, 3.403488594097025*^9}, {
+ 3.4034886410941143`*^9, 3.403488690186363*^9}, {3.4034888038416433`*^9,
+ 3.403488934385949*^9}, {3.403489002585598*^9, 3.4034890577607183`*^9}, {
+ 3.403489343604979*^9, 3.403489348259789*^9}, {3.403489383599286*^9,
+ 3.403489489083041*^9}, {3.403489534364921*^9, 3.4034895349710608`*^9},
+ 3.4034895690583773`*^9, {3.403489616121141*^9, 3.4034896806131067`*^9}, {
+ 3.403489764103088*^9, 3.403489765168709*^9}, {3.403489834913563*^9,
+ 3.403489840159892*^9}, {3.403490183548089*^9, 3.403490188468313*^9}, {
+ 3.403490229163341*^9, 3.403490272389347*^9}, {3.403491272678337*^9,
+ 3.403491372273839*^9}, {3.403491433651061*^9, 3.4034914349089937`*^9}, {
+ 3.403491478918179*^9, 3.403491498473137*^9}, {3.403491822476028*^9,
+ 3.403491838708767*^9}, {3.403491985565929*^9, 3.403491989258709*^9}, {
+ 3.4034920270504932`*^9, 3.4034920842557297`*^9}, {3.403492205476921*^9,
+ 3.403492211919735*^9}, {3.403492738925412*^9, 3.4034927943096323`*^9}, {
+ 3.40349299066791*^9, 3.403492990996467*^9}, {3.4034931905006227`*^9,
+ 3.403493310581345*^9}, {3.403493486132174*^9, 3.403493508176174*^9}, {
+ 3.403493546357354*^9, 3.403493546883566*^9}, {3.403493664105904*^9,
+ 3.403493674342441*^9}, {3.4034938860606956`*^9, 3.4034939100483837`*^9}, {
+ 3.4034943849780483`*^9, 3.403494397166259*^9}, {3.403494534559717*^9,
+ 3.403494542418763*^9}, {3.403494581048917*^9, 3.403494594402884*^9},
+ 3.4034965331366673`*^9, {3.403496886272588*^9, 3.403496888056855*^9}, {
+ 3.403497055836774*^9, 3.4034970656435747`*^9}, 3.403497638836117*^9,
+ 3.4034976766801157`*^9}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"dr1", "\[Rule]",
+ FractionBox[
+ RowBox[{"D1", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"D1", " ",
+ RowBox[{"(",
+ RowBox[{"shell", "-", "sigma2"}], ")"}]}], "-",
+ RowBox[{"D2", " ",
+ RowBox[{"(",
+ RowBox[{"r0", "-", "shell", "+", "sigma2"}], ")"}]}]}], ")"}]}],
+ RowBox[{
+ SqrtBox[
+ RowBox[{"D1", "+", "D2"}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["D1", "5"], " ", "D2"}], ")"}],
+ RowBox[{"1", "/", "4"}]], "+",
+ RowBox[{"D2", " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"D1", " ", "D2"}], ")"}],
+ RowBox[{"1", "/", "4"}]], "+",
+ SqrtBox[
+ RowBox[{"D1", "+", "D2"}]]}], ")"}]}]}], ")"}]}]]}], ",",
+ RowBox[{"dr2", "\[Rule]",
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"D2", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"D1", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "shell"}], "+", "sigma2"}], ")"}]}], "+",
+ RowBox[{"D2", " ",
+ RowBox[{"(",
+ RowBox[{"r0", "-", "shell", "+", "sigma2"}], ")"}]}]}], ")"}]}],
+ RowBox[{
+ SqrtBox[
+ RowBox[{"D1", "+", "D2"}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["D1", "5"], " ", "D2"}], ")"}],
+ RowBox[{"1", "/", "4"}]], "+",
+ RowBox[{"D2", " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"D1", " ", "D2"}], ")"}],
+ RowBox[{"1", "/", "4"}]], "+",
+ SqrtBox[
+ RowBox[{"D1", "+", "D2"}]]}], ")"}]}]}], ")"}]}]]}]}], ",",
+ RowBox[{"ar1", "\[Rule]",
+ FractionBox[
+ RowBox[{"D1", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"D1", " ", "D2"}], ")"}],
+ RowBox[{"1", "/", "4"}]], " ", "r0"}], "+",
+ RowBox[{
+ SqrtBox[
+ RowBox[{"D1", "+", "D2"}]], " ",
+ RowBox[{"(",
+ RowBox[{"shell", "-", "sigma2"}], ")"}]}]}], ")"}]}],
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["D1", "5"], " ", "D2"}], ")"}],
+ RowBox[{"1", "/", "4"}]], "+",
+ RowBox[{"D2", " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"D1", " ", "D2"}], ")"}],
+ RowBox[{"1", "/", "4"}]], "+",
+ SqrtBox[
+ RowBox[{"D1", "+", "D2"}]]}], ")"}]}]}]]}], ",",
+ RowBox[{"ar", "\[Rule]",
+ FractionBox[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"D1", "+", "D2"}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"D1", " ", "D2"}], ")"}],
+ RowBox[{"1", "/", "4"}]], " ", "r0"}], "+",
+ RowBox[{
+ SqrtBox[
+ RowBox[{"D1", "+", "D2"}]], " ",
+ RowBox[{"(",
+ RowBox[{"shell", "-", "sigma2"}], ")"}]}]}], ")"}]}],
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["D1", "5"], " ", "D2"}], ")"}],
+ RowBox[{"1", "/", "4"}]], "+",
+ RowBox[{"D2", " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"D1", " ", "D2"}], ")"}],
+ RowBox[{"1", "/", "4"}]], "+",
+ SqrtBox[
+ RowBox[{"D1", "+", "D2"}]]}], ")"}]}]}]]}], ",",
+ RowBox[{"ar2", "\[Rule]",
+ FractionBox[
+ RowBox[{"D2", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"D1", " ", "D2"}], ")"}],
+ RowBox[{"1", "/", "4"}]], " ", "r0"}], "+",
+ RowBox[{
+ SqrtBox[
+ RowBox[{"D1", "+", "D2"}]], " ",
+ RowBox[{"(",
+ RowBox[{"shell", "-", "sigma2"}], ")"}]}]}], ")"}]}],
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["D1", "5"], " ", "D2"}], ")"}],
+ RowBox[{"1", "/", "4"}]], "+",
+ RowBox[{"D2", " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"D1", " ", "D2"}], ")"}],
+ RowBox[{"1", "/", "4"}]], "+",
+ SqrtBox[
+ RowBox[{"D1", "+", "D2"}]]}], ")"}]}]}]]}], ",",
+ RowBox[{"dr", "\[Rule]",
+ FractionBox[
+ RowBox[{
+ SqrtBox[
+ RowBox[{"D1", "+", "D2"}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"D1", " ",
+ RowBox[{"(",
+ RowBox[{"shell", "-", "sigma2"}], ")"}]}], "-",
+ RowBox[{"D2", " ",
+ RowBox[{"(",
+ RowBox[{"r0", "-", "shell", "+", "sigma2"}], ")"}]}]}], ")"}]}],
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["D1", "5"], " ", "D2"}], ")"}],
+ RowBox[{"1", "/", "4"}]], "+",
+ RowBox[{"D2", " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"D1", " ", "D2"}], ")"}],
+ RowBox[{"1", "/", "4"}]], "+",
+ SqrtBox[
+ RowBox[{"D1", "+", "D2"}]]}], ")"}]}]}]]}], ",",
+ RowBox[{"aR", "\[Rule]",
+ FractionBox[
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"D1", " ", "D2"}], ")"}],
+ RowBox[{"1", "/", "4"}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"D1", " ",
+ RowBox[{"(",
+ RowBox[{"shell", "-", "sigma2"}], ")"}]}], "-",
+ RowBox[{"D2", " ",
+ RowBox[{"(",
+ RowBox[{"r0", "-", "shell", "+", "sigma2"}], ")"}]}]}], ")"}]}],
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["D1", "5"], " ", "D2"}], ")"}],
+ RowBox[{"1", "/", "4"}]], "+",
+ RowBox[{"D2", " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"D1", " ", "D2"}], ")"}],
+ RowBox[{"1", "/", "4"}]], "+",
+ SqrtBox[
+ RowBox[{"D1", "+", "D2"}]]}], ")"}]}]}]]}]}], "}"}],
+ "}"}]], "Output",
+ CellChangeTimes->{3.403496903417398*^9, 3.403497642198263*^9,
+ 3.403497677859178*^9, 3.403557978806197*^9, 3.4035589150313168`*^9,
+ 3.404108208902543*^9, 3.404160941663683*^9, 3.404170785643799*^9}]
+}, Open ]],
+
+Cell["Verify correctness.", "Text",
+ CellChangeTimes->{{3.4034933357379932`*^9, 3.403493372340783*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"ar", " ", "\[Equal]", " ",
+ RowBox[{"ar1", " ", "+", " ", "ar2"}]}], ",", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"dr", "^", "2"}], " ", "/", " ",
+ RowBox[{"(", " ",
+ RowBox[{"6", " ", "totD"}], ")"}]}], "\[Equal]", " ",
+ RowBox[{
+ RowBox[{"aR", "^", "2"}], "/", " ",
+ RowBox[{"(", " ",
+ RowBox[{"6", " ", "Dp"}], ")"}]}]}], ",", " ",
+ RowBox[{
+ RowBox[{
+ "r01", " ", "+", " ", "r02", " ", "+", " ", "dr1", " ", "+", " ",
+ "dr2"}], " ", "\[Equal]", " ", "ar"}]}], "}"}], " ", "/.", " ",
+ RowBox[{"{",
+ RowBox[{"soln1", ",", "soln2"}], "}"}]}], " ", "//", " ",
+ "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.403491440097679*^9, 3.403491455916703*^9}, {
+ 3.403491501653078*^9, 3.4034915496739073`*^9}, {3.403492150541548*^9,
+ 3.403492180859672*^9}, {3.4034933453802137`*^9, 3.403493358229149*^9}, {
+ 3.4034934556156807`*^9, 3.403493474382574*^9}, 3.403493704928761*^9, {
+ 3.4034954800960703`*^9, 3.403495490958913*^9}, {3.403496677939495*^9,
+ 3.403496679691689*^9}, {3.403497121512331*^9, 3.4034971524862432`*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"{",
+ RowBox[{"{",
+ RowBox[{"True", ",", "True", ",", "True"}], "}"}], "}"}], ",",
+ RowBox[{"{",
+ RowBox[{"{",
+ RowBox[{"True", ",", "True", ",", "True"}], "}"}], "}"}]}],
+ "}"}]], "Output",
+ CellChangeTimes->{
+ 3.403496680401455*^9, {3.403497129091044*^9, 3.403497153098776*^9},
+ 3.403557980264881*^9, 3.4041082142011757`*^9, 3.404160950155999*^9,
+ 3.4041707858460693`*^9}]
+}, Open ]],
+
+Cell["\<\
+Reduce[ ar1 + aR + sigma1 >= ar2 + aR + sigma2 /. soln1[[1]], ar1, Reals] // \
+Simplify\
+\>", "Text",
+ CellChangeTimes->CompressedData["
+1:eJwdxU8og2EAB+A1rWVbrDXZyGY7zJzsoKW2ZG0pWjtMK7FpU9rIwso4cHPE
+XLQpSikRKX8Obky20LL5Npy0zMq+OCiFYeP9vYenRzU4Zh/icjicegLv7W6Y
+Y/2saZXJ23A86ujDyU+jG3N1R2E8PndPf1oZqIyTrxY0AhzIXtRgbUWBPi0P
+qbBieJ3OK/7xLshej0WI0zqpGFv5enp1p74R5wwWOnt+0Imbp7Ld2MasNV2T
+lZJNeqTQosPh2xH6aHurAS8tao3Y5+06xhJF1Qn+dmjy+KPUQV9v6/EnydFF
+dgLbw8+TONGqDmKBb6eWIctyeRlOpfa2sKc8u41nDnu/0mQDk/nB5gCPnyH/
+PvwJcV3ML8YJ140U297dcrwcu6RrQ48NOGJVKrAoXpq8I7/aLUEsku47GSdr
+eimrXXg+t3D2Ri4UT+n/1I3k/g==
+ "]],
+
+Cell[BoxData["$Aborted"], "Output",
+ CellChangeTimes->{{3.403587655650754*^9, 3.403587681677573*^9}, {
+ 3.403587736696925*^9, 3.4035877510205193`*^9}, 3.403587791057682*^9,
+ 3.4035880396465387`*^9, 3.4035882367637663`*^9, 3.4035925021112967`*^9,
+ 3.4041082190452967`*^9, 3.404109709060247*^9, 3.404163659196952*^9}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"f1", " ", "=",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"(", " ",
+ RowBox[{"ar1", " ", "+", " ", "aR", " ", "+", " ", "sigma1"}], ")"}],
+ "-",
+ RowBox[{"(", " ",
+ RowBox[{"ar2", " ", "+", " ", "aR", " ", "+", " ", "sigma2"}], ")"}]}],
+ "/.", " ",
+ RowBox[{"soln1", "[",
+ RowBox[{"[", "1", "]"}], "]"}]}], " ", "//", "Simplify"}]}]], "Input",
+ CellChangeTimes->{{3.403588032086204*^9, 3.4035880628646097`*^9}, {
+ 3.403588126628952*^9, 3.403588129219953*^9}, {3.403592505176528*^9,
+ 3.4035925175527983`*^9}, {3.4035926087731857`*^9, 3.403592612271481*^9}, {
+ 3.404108172599752*^9, 3.404108185117272*^9}, {3.4041083828946657`*^9,
+ 3.404108397850514*^9}, {3.4041093014718637`*^9, 3.404109319179954*^9}, {
+ 3.404156942656353*^9, 3.404156986979472*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ FractionBox[
+ RowBox[{"D1", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"D1", " ", "D2"}], ")"}],
+ RowBox[{"1", "/", "4"}]], " ", "r0"}], "+",
+ RowBox[{
+ SqrtBox[
+ RowBox[{"D1", "+", "D2"}]], " ",
+ RowBox[{"(",
+ RowBox[{"shell", "-", "sigma1"}], ")"}]}]}], ")"}]}],
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"D1", " ",
+ SuperscriptBox["D2", "5"]}], ")"}],
+ RowBox[{"1", "/", "4"}]], "+",
+ RowBox[{"D1", " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"D1", " ", "D2"}], ")"}],
+ RowBox[{"1", "/", "4"}]], "+",
+ SqrtBox[
+ RowBox[{"D1", "+", "D2"}]]}], ")"}]}]}]], "-",
+ FractionBox[
+ RowBox[{"D2", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"D1", " ", "D2"}], ")"}],
+ RowBox[{"1", "/", "4"}]], " ", "r0"}], "+",
+ RowBox[{
+ SqrtBox[
+ RowBox[{"D1", "+", "D2"}]], " ",
+ RowBox[{"(",
+ RowBox[{"shell", "-", "sigma1"}], ")"}]}]}], ")"}]}],
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"D1", " ",
+ SuperscriptBox["D2", "5"]}], ")"}],
+ RowBox[{"1", "/", "4"}]], "+",
+ RowBox[{"D1", " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"D1", " ", "D2"}], ")"}],
+ RowBox[{"1", "/", "4"}]], "+",
+ SqrtBox[
+ RowBox[{"D1", "+", "D2"}]]}], ")"}]}]}]], "+", "sigma1", "-",
+ "sigma2"}]], "Output",
+ CellChangeTimes->{
+ 3.404108406503378*^9, {3.4041569684893208`*^9, 3.4041569882075253`*^9},
+ 3.404170786043808*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"f2", " ", "=",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"(", " ",
+ RowBox[{"ar1", " ", "+", " ", "aR", " ", "+", " ", "sigma1"}], ")"}],
+ "-",
+ RowBox[{"(", " ",
+ RowBox[{"ar2", " ", "+", " ", "aR", " ", "+", " ", "sigma2"}], ")"}]}],
+ "/.", " ",
+ RowBox[{"soln2", "[",
+ RowBox[{"[", "1", "]"}], "]"}]}], " ", "//", "Simplify"}]}]], "Input",
+ CellChangeTimes->{{3.404109704049128*^9, 3.4041097278848963`*^9}, {
+ 3.40411027756159*^9, 3.404110284354426*^9}, {3.4041103301537848`*^9,
+ 3.404110330420879*^9}, {3.404156910929109*^9, 3.404157007028742*^9}}],
+
+Cell[BoxData[
+ RowBox[{"sigma1", "+",
+ FractionBox[
+ RowBox[{"D1", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"D1", " ", "D2"}], ")"}],
+ RowBox[{"1", "/", "4"}]], " ", "r0"}], "+",
+ RowBox[{
+ SqrtBox[
+ RowBox[{"D1", "+", "D2"}]], " ",
+ RowBox[{"(",
+ RowBox[{"shell", "-", "sigma2"}], ")"}]}]}], ")"}]}],
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["D1", "5"], " ", "D2"}], ")"}],
+ RowBox[{"1", "/", "4"}]], "+",
+ RowBox[{"D2", " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"D1", " ", "D2"}], ")"}],
+ RowBox[{"1", "/", "4"}]], "+",
+ SqrtBox[
+ RowBox[{"D1", "+", "D2"}]]}], ")"}]}]}]], "-",
+ FractionBox[
+ RowBox[{"D2", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"D1", " ", "D2"}], ")"}],
+ RowBox[{"1", "/", "4"}]], " ", "r0"}], "+",
+ RowBox[{
+ SqrtBox[
+ RowBox[{"D1", "+", "D2"}]], " ",
+ RowBox[{"(",
+ RowBox[{"shell", "-", "sigma2"}], ")"}]}]}], ")"}]}],
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox["D1", "5"], " ", "D2"}], ")"}],
+ RowBox[{"1", "/", "4"}]], "+",
+ RowBox[{"D2", " ",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"D1", " ", "D2"}], ")"}],
+ RowBox[{"1", "/", "4"}]], "+",
+ SqrtBox[
+ RowBox[{"D1", "+", "D2"}]]}], ")"}]}]}]], "-", "sigma2"}]], "Output",
+ CellChangeTimes->{{3.4041097156513853`*^9, 3.40410973212525*^9},
+ 3.404110284975747*^9, 3.40411033107511*^9, {3.404156922249447*^9,
+ 3.404156923018852*^9}, {3.404156976660359*^9, 3.404157007697043*^9},
+ 3.4041707861645*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"f1", "-", " ", "f2"}], " ", "//", " ", "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.404157009237562*^9, 3.4041570152966146`*^9}, {
+ 3.4041571106219893`*^9, 3.4041571335117893`*^9}, {3.404160930160954*^9,
+ 3.404160930624393*^9}, {3.404170761621695*^9, 3.4041707622652273`*^9}, {
+ 3.4041708134119167`*^9, 3.4041708138398733`*^9}}],
+
+Cell[BoxData[
+ RowBox[{"Hold", "[",
+ RowBox[{
+ RowBox[{"Abort", "[", "]"}], ",",
+ RowBox[{"Abort", "[", "]"}]}], "]"}]], "Output",
+ CellChangeTimes->{
+ 3.4041570110265713`*^9, {3.404157108903379*^9, 3.4041571209333887`*^9},
+ 3.404160909475868*^9, {3.404170763109557*^9, 3.404170786529634*^9},
+ 3.4041934437868643`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"(", " ",
+ RowBox[{"ar1", " ", "+", " ", "aR", " ", "+", " ", "sigma1"}], ")"}],
+ "^", "2"}], "\[GreaterEqual]",
+ RowBox[{
+ RowBox[{"(", " ",
+ RowBox[{"ar2", " ", "+", " ", "aR", " ", "+", " ", "sigma2"}], ")"}],
+ "^", "2"}]}], "/.", " ",
+ RowBox[{"soln1", "[",
+ RowBox[{"[", "1", "]"}], "]"}]}], " ", "//", "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.403588032086204*^9, 3.4035880628646097`*^9}, {
+ 3.403588126628952*^9, 3.403588129219953*^9}, {3.403592505176528*^9,
+ 3.4035925175527983`*^9}, {3.4035926087731857`*^9, 3.403592612271481*^9}, {
+ 3.404108172599752*^9, 3.404108185117272*^9}, {3.4041083828946657`*^9,
+ 3.404108389549934*^9}}],
+
+Cell[BoxData["$Aborted"], "Output",
+ CellChangeTimes->{
+ 3.403587812159832*^9, {3.40358805090536*^9, 3.403588065214591*^9},
+ 3.403588129628401*^9, {3.403592508348879*^9, 3.403592528803536*^9},
+ 3.4035926178850183`*^9, 3.404108179985183*^9, 3.404108380874707*^9,
+ 3.404108513096396*^9, 3.40417079696565*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"Reduce", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"ar1", " ", "+", " ", "aR", " ", "+", " ", "sigma1"}], "==", " ",
+ RowBox[{"ar2", " ", "+", " ", "aR", " ", "+", " ", "sigma2"}]}], "/.",
+ " ", "soln1"}], ",", " ", "shell", ",", " ", "Reals"}], "]"}]], "Input",
+ CellChangeTimes->{{3.4035881444141703`*^9, 3.403588155295156*^9}, {
+ 3.403588229857211*^9, 3.403588235904195*^9}}],
+
+Cell[BoxData["$Aborted"], "Output",
+ CellChangeTimes->{{3.4035881365656433`*^9, 3.403588156334066*^9},
+ 3.403588270971943*^9}]
+}, Open ]]
+},
+WindowSize->{640, 750},
+WindowMargins->{{132, Automatic}, {Automatic, 26}},
+Magnification->1.,
+FrontEndVersion->"7.0 for Linux x86 (64-bit) (April 23, 2009)",
+StyleDefinitions->"Default.nb"
+]
+(* End of Notebook Content *)
+
+(* Internal cache information *)
+(*CellTagsOutline
+CellTagsIndex->{}
+*)
+(*CellTagsIndex
+CellTagsIndex->{}
+*)
+(*NotebookFileOutline
+Notebook[{
+Cell[545, 20, 194, 4, 31, "Input"],
+Cell[CellGroupData[{
+Cell[764, 28, 989, 21, 52, "Input"],
+Cell[1756, 51, 876, 21, 52, "Output"]
+}, Open ]],
+Cell[2647, 75, 239, 4, 31, "Input"],
+Cell[CellGroupData[{
+Cell[2911, 83, 457, 12, 31, "Input"],
+Cell[3371, 97, 296, 6, 34, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[3704, 108, 366, 10, 31, "Input"],
+Cell[4073, 120, 366, 10, 54, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[4476, 135, 396, 11, 31, "Input"],
+Cell[4875, 148, 218, 6, 46, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[5130, 159, 286, 8, 31, "Input"],
+Cell[5419, 169, 177, 5, 49, "Output"]
+}, Open ]],
+Cell[5611, 177, 92, 1, 31, "Input"],
+Cell[CellGroupData[{
+Cell[5728, 182, 272, 7, 31, "Input"],
+Cell[6003, 191, 615, 21, 74, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[6655, 217, 1082, 25, 52, "Input"],
+Cell[7740, 244, 549, 16, 46, "Output"]
+}, Open ]],
+Cell[8304, 263, 317, 7, 52, "Input"],
+Cell[8624, 272, 229, 5, 29, "Text"],
+Cell[CellGroupData[{
+Cell[8878, 281, 1500, 35, 112, "Input"],
+Cell[10381, 318, 197, 3, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[10615, 326, 3186, 58, 112, "Input"],
+Cell[13804, 386, 6892, 219, 351, "Output"]
+}, Open ]],
+Cell[20711, 608, 103, 1, 29, "Text"],
+Cell[CellGroupData[{
+Cell[20839, 613, 1196, 28, 52, "Input"],
+Cell[22038, 643, 455, 13, 31, "Output"]
+}, Open ]],
+Cell[22508, 659, 611, 13, 29, "Text"],
+Cell[23122, 674, 323, 4, 31, "Output"],
+Cell[CellGroupData[{
+Cell[23470, 682, 822, 18, 31, "Input"],
+Cell[24295, 702, 1786, 63, 111, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[26118, 770, 623, 15, 31, "Input"],
+Cell[26744, 787, 1896, 63, 111, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[28677, 855, 372, 6, 31, "Input"],
+Cell[29052, 863, 332, 8, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[29421, 876, 761, 18, 52, "Input"],
+Cell[30185, 896, 316, 5, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[30538, 906, 425, 9, 52, "Input"],
+Cell[30966, 917, 129, 2, 31, "Output"]
+}, Open ]]
+}
+]
+*)
+
+(* End of internal cache information *)
diff --git a/ecell4/egfrd/legacy/doc/math/wosigma.nb b/ecell4/egfrd/legacy/doc/math/wosigma.nb
new file mode 100644
index 0000000..ea43fbc
--- /dev/null
+++ b/ecell4/egfrd/legacy/doc/math/wosigma.nb
@@ -0,0 +1,2315 @@
+(* Content-type: application/mathematica *)
+
+(*** Wolfram Notebook File ***)
+(* http://www.wolfram.com/nb *)
+
+(* CreatedBy='Mathematica 6.0' *)
+
+(*CacheID: 234*)
+(* Internal cache information:
+NotebookFileLineBreakTest
+NotebookFileLineBreakTest
+NotebookDataPosition[ 145, 7]
+NotebookDataLength[ 75558, 2306]
+NotebookOptionsPosition[ 71350, 2163]
+NotebookOutlinePosition[ 71687, 2178]
+CellTagsIndexPosition[ 71644, 2175]
+WindowFrame->Normal*)
+
+(* Beginning of Notebook Content *)
+Notebook[{
+
+Cell[CellGroupData[{
+Cell[BoxData[
+ RowBox[{"$Assumptions", "=",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"r", ">", "0"}], ",",
+ RowBox[{"r0", ">", "0"}], ",",
+ RowBox[{"u", ">", "0"}], ",",
+ RowBox[{"s", ">", "0"}], ",",
+ RowBox[{"h", ">", "0"}], ",",
+ RowBox[{"a", ">", "0"}], ",",
+ RowBox[{"a", ">", "s"}], ",", " ",
+ RowBox[{"r", "<", "a"}], ",", " ",
+ RowBox[{"r0", "<", "a"}], ",", " ",
+ RowBox[{"r", ">", "s"}], ",", " ",
+ RowBox[{"r0", ">", "s"}], ",", " ",
+ RowBox[{"D", ">", "0"}], ",",
+ RowBox[{"t", ">", "0"}], ",", " ",
+ RowBox[{"a", "\[Element]", " ", "Reals"}], ",",
+ RowBox[{"n", "\[Element]", "Integers"}], ",",
+ RowBox[{"n", ">", "0"}], ",",
+ RowBox[{"i", " ", "\[Element]", " ", "Integers"}], ",", " ",
+ RowBox[{"i", ">", "0"}], ",",
+ RowBox[{"theta", "\[GreaterEqual]", "0"}], ",",
+ RowBox[{"theta", "\[LessEqual]", "\[Pi]"}]}], "}"}]}]], "Input",
+ CellChangeTimes->{{3.3933698333058243`*^9, 3.3933700226075993`*^9}, {
+ 3.3933701183867683`*^9, 3.3933701701938877`*^9}, {3.393370272188987*^9,
+ 3.3933703001073723`*^9}, {3.393372209297502*^9, 3.3933722191749897`*^9}, {
+ 3.3933790254115047`*^9, 3.393379030826826*^9}, {3.4043303842318163`*^9,
+ 3.404330388863727*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"r", ">", "0"}], ",",
+ RowBox[{"r0", ">", "0"}], ",",
+ RowBox[{"u", ">", "0"}], ",",
+ RowBox[{"s", ">", "0"}], ",",
+ RowBox[{"h", ">", "0"}], ",",
+ RowBox[{"a", ">", "0"}], ",",
+ RowBox[{"a", ">", "s"}], ",",
+ RowBox[{"r", "<", "a"}], ",",
+ RowBox[{"r0", "<", "a"}], ",",
+ RowBox[{"r", ">", "s"}], ",",
+ RowBox[{"r0", ">", "s"}], ",",
+ RowBox[{"D", ">", "0"}], ",",
+ RowBox[{"t", ">", "0"}], ",",
+ RowBox[{"a", "\[Element]", "Reals"}], ",",
+ RowBox[{"n", "\[Element]", "Integers"}], ",",
+ RowBox[{"n", ">", "0"}], ",",
+ RowBox[{"i", "\[Element]", "Integers"}], ",",
+ RowBox[{"i", ">", "0"}], ",",
+ RowBox[{"theta", "\[GreaterEqual]", "0"}], ",",
+ RowBox[{"theta", "\[LessEqual]", "\[Pi]"}]}], "}"}]], "Output",
+ CellChangeTimes->{{3.393379011591893*^9, 3.393379031499585*^9},
+ 3.401482271885219*^9, 3.4014889423422327`*^9, 3.404179450363659*^9,
+ 3.404330389446306*^9, 3.404506775854165*^9, 3.404545722808248*^9,
+ 3.404593606714376*^9, 3.444016657969923*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"transsbessel", "=",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"n_", "+",
+ RowBox[{"2", " ", "nn_",
+ RowBox[{"(",
+ RowBox[{"1", "/", "2"}], ")"}]}]}], ",", "z_"}], "]"}], "\[Rule]",
+ RowBox[{
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{"n", "+", "nn", "-",
+ RowBox[{"1", "/", "2"}]}], ",", "z"}], "]"}], " ", "/", " ",
+ RowBox[{"Sqrt", "[",
+ RowBox[{"Pi", "/",
+ RowBox[{"(",
+ RowBox[{"2", " ", "z"}], ")"}]}], "]"}]}]}], ",",
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"n_", "+",
+ RowBox[{"2", " ", "nn_", " ",
+ RowBox[{"(",
+ RowBox[{"1", "/", "2"}], ")"}]}]}], ",", "z_"}], "]"}], "\[Rule]",
+ RowBox[{
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{
+ RowBox[{"n", "+", "nn", "-",
+ RowBox[{"1", "/", "2"}]}], ",", "z"}], "]"}], " ", "/", " ",
+ RowBox[{"Sqrt", "[",
+ RowBox[{"Pi", " ", "/", " ",
+ RowBox[{"(",
+ RowBox[{"2", "z"}], ")"}]}], "]"}]}]}]}], "}"}]}]], "Input",
+ CellChangeTimes->{{3.38852113049298*^9, 3.3885211492047243`*^9}, {
+ 3.388521320556066*^9, 3.388521320793867*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{"n_", "+", "nn_"}], ",", "z_"}], "]"}], "\[Rule]",
+ FractionBox[
+ RowBox[{
+ SqrtBox[
+ FractionBox["2", "\[Pi]"]], " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ FractionBox["1", "2"]}], "+", "n", "+", "nn"}], ",", "z"}], "]"}]}],
+ SqrtBox[
+ FractionBox["1", "z"]]]}], ",",
+ RowBox[{
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{"n_", "+", "nn_"}], ",", "z_"}], "]"}], "\[Rule]",
+ FractionBox[
+ RowBox[{
+ SqrtBox[
+ FractionBox["2", "\[Pi]"]], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ FractionBox["1", "2"]}], "+", "n", "+", "nn"}], ",", "z"}], "]"}]}],
+ SqrtBox[
+ FractionBox["1", "z"]]]}]}], "}"}]], "Output",
+ CellChangeTimes->{3.404507311832447*^9, 3.4045457231293097`*^9,
+ 3.444016658327505*^9}]
+}, Open ]],
+
+Cell[BoxData[
+ RowBox[{"solnBJY", ":=",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "n"}]}], ")"}],
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"\[Pi]", " ",
+ SuperscriptBox["u", "2"], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], " ", "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"3", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"3", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], " ", "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"3", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], " ", ")"}],
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"3", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}]}], ")"}],
+ "/",
+ RowBox[{"(",
+ RowBox[{"8", " ",
+ RowBox[{"\[Sqrt]", "r"}], " ",
+ RowBox[{"\[Sqrt]", "r0"}],
+ RowBox[{"(", " ",
+ RowBox[{"n", "+",
+ SuperscriptBox["n", "2"], "-",
+ RowBox[{"s", " ",
+ RowBox[{"(",
+ RowBox[{"h", "+",
+ RowBox[{
+ SuperscriptBox["h", "2"], " ", "s"}], "+",
+ RowBox[{"s", " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}], "+",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"3", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"], "+",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"3", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"]}], ")"}],
+ "/",
+ RowBox[{"(",
+ RowBox[{
+ SuperscriptBox[
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "2"], "+",
+ SuperscriptBox[
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "2"]}], ")"}]}]}], ")"}]}],
+ ")"}]}]}]}]], "Input"],
+
+Cell[BoxData[""], "Input",
+ CellChangeTimes->{{3.404528508127386*^9, 3.404528509762208*^9}}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"wosigma", " ", "=", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"2", " ", "n"}], " ", "+", " ", "1"}], ")"}], " ", "/", " ",
+ RowBox[{"(", " ",
+ RowBox[{"2", " ", "Pi", " ", "a", " ", "a", " ",
+ RowBox[{"Sqrt", "[", " ",
+ RowBox[{"r", " ", "r0"}], "]"}]}], " ", ")"}]}], " ",
+ RowBox[{"Exp", "[", " ",
+ RowBox[{
+ RowBox[{"-", " ", "D"}], " ", "u", " ", "u", " ", "t"}], "]"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], " ", "+", " ", "n"}], ",",
+ RowBox[{"u", " ", "r"}]}], "]"}], " ",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], " ", "+", " ", "n"}], ",", " ",
+ RowBox[{"u", " ", "r0"}]}], " ", "]"}], " ", "/", " ",
+ RowBox[{"(", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"D", "[",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], " ", "+", " ", "n"}], ",", " ", "pp"}],
+ "]"}], ",", " ", "pp"}], "]"}], "^", "2"}], " ", "/.", " ",
+ RowBox[{"pp", " ", "\[Rule]", " ",
+ RowBox[{"u", " ", "a"}]}]}], ")"}]}]}], " ", "//", " ",
+ "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.3933702895888777`*^9, 3.393370302070449*^9}, {
+ 3.393370997624564*^9, 3.393371024355308*^9}, {3.393371099886456*^9,
+ 3.393371102180812*^9}, {3.3933737938069983`*^9, 3.393373800133301*^9}, {
+ 3.404547613741539*^9, 3.404547643166052*^9}, {3.404548290464888*^9,
+ 3.4045482982659473`*^9}, {3.404548382261756*^9, 3.404548387727215*^9}, {
+ 3.40459361979534*^9, 3.404593640462627*^9}, {3.4045941923912067`*^9,
+ 3.404594196157305*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{"2", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "n"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}],
+ RowBox[{
+ SuperscriptBox["a", "2"], " ", "\[Pi]", " ",
+ SqrtBox[
+ RowBox[{"r", " ", "r0"}]], " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ FractionBox["1", "2"]}], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "-",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], ")"}], "2"]}]]], "Output",
+ CellChangeTimes->{3.404593631627144*^9, 3.4045936858682003`*^9,
+ 3.404594196977242*^9, 3.4440166623496923`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"D", "[",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], " ", "+", " ", "n"}], ",", " ", "pp"}], "]"}],
+ ",", " ", "pp"}], "]"}], "^", "2"}]], "Input",
+ CellChangeTimes->{{3.404547557840296*^9, 3.4045475909357777`*^9}, {
+ 3.404547676878405*^9, 3.404547677369721*^9}, {3.4045939056331177`*^9,
+ 3.404593909473805*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ FractionBox["1", "4"], " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ FractionBox["1", "2"]}], "+", "n"}], ",", "pp"}], "]"}], "-",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",", "pp"}], "]"}]}], ")"}],
+ "2"]}]], "Output",
+ CellChangeTimes->{
+ 3.401483702282316*^9, 3.404179572624694*^9, 3.404506829035261*^9,
+ 3.4045457683640213`*^9, {3.404547575167983*^9, 3.404547591809013*^9},
+ 3.404547677919752*^9, 3.404548218788719*^9, 3.404548394485647*^9,
+ 3.404593911082244*^9, 3.444016665020205*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"falphawosigma", " ", "=", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", "/", "2"}], " ", "+", " ", "n"}], ",", " ",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]], "Input"],
+
+Cell[BoxData[
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]], "Output",
+ CellChangeTimes->{3.393376142209609*^9, 3.401482328865939*^9,
+ 3.4041795729624863`*^9, 3.4045068291957493`*^9, 3.4045457685833273`*^9,
+ 3.4440166671380043`*^9}]
+}, Open ]],
+
+Cell["use the following;", "Text",
+ CellChangeTimes->{{3.404593988297038*^9, 3.404593991409284*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"2", " ", "n"}], " ", "+", " ", "1"}], " ", ")"}], " ", "/",
+ " ",
+ RowBox[{"(",
+ RowBox[{"a", " ", "u"}], ")"}]}], " ", ")"}],
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], " ", "-", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], " ", "//", " ",
+ "FullSimplify"}]], "Input",
+ CellGroupingRules->{GroupTogetherGrouping, 10000.},
+ CellChangeTimes->{{3.401483886402108*^9, 3.401483888624387*^9}, {
+ 3.401484089863061*^9, 3.401484091475603*^9}, 3.404594001098509*^9}],
+
+Cell[BoxData[
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ FractionBox["1", "2"]}], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]], "Output",
+ CellChangeTimes->{3.40459401706571*^9, 3.444016669770606*^9}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ FractionBox["1", "2"]}], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ", "==", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"2", " ", "n"}], " ", "+", " ", "1"}], " ", ")"}], " ", "/",
+ " ",
+ RowBox[{"(",
+ RowBox[{"a", " ", "u"}], " ", ")"}]}], " ", ")"}],
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], " ", "-", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}], " ", "//", " ",
+ "FullSimplify"}]], "Input",
+ CellGroupingRules->{GroupTogetherGrouping, 10000.},
+ CellChangeTimes->{3.404594001099183*^9}],
+
+Cell[BoxData["True"], "Output",
+ CellChangeTimes->{3.4045940205523663`*^9, 3.444016672368744*^9}],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ FractionBox["1", "2"]}], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "-",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], " ", "//.", " ",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ FractionBox["1", "2"]}], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ", "\[Rule]", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"2", " ", "n"}], " ", "+", " ", "1"}], " ", ")"}], " ", "/",
+ " ",
+ RowBox[{"(",
+ RowBox[{"a", " ", "u"}], " ", ")"}]}], " ", ")"}],
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], " ", "-", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}], "}"}]}]], "Input",
+ CellChangeTimes->{
+ 3.3933767768174686`*^9, {3.401484055305984*^9, 3.4014840592062683`*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ FractionBox[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "n"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}],
+ RowBox[{"a", " ", "u"}]], "-",
+ RowBox[{"2", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}]], "Output",
+ CellChangeTimes->{3.3933773486949368`*^9, 3.401482456525649*^9,
+ 3.401484060369047*^9, 3.404179573911031*^9, 3.404506829315549*^9,
+ 3.4045457688222017`*^9, 3.4045940288638887`*^9, 3.444016674743185*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"1", " ", "/", "4"}],
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ FractionBox["1", "2"]}], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "-",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], ")"}], "^", "2"}]}], " ", "//.",
+ " ",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ FractionBox["1", "2"]}], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ", "\[Rule]", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"2", " ", "n"}], " ", "+", " ", "1"}], " ", ")"}], " ",
+ "/", " ",
+ RowBox[{"(",
+ RowBox[{"a", " ", "u"}], ")"}]}], " ", ")"}],
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], " ", "-", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}], ",", " ",
+ RowBox[{"falphawosigma", " ", "\[Rule]", " ", "0"}]}], "}"}]}]], "Input",
+ CellChangeTimes->{{3.393375993303954*^9, 3.393376003208296*^9}, {
+ 3.393376056952956*^9, 3.3933761644051943`*^9}, {3.401484066615491*^9,
+ 3.401484068526534*^9}, {3.40148421214298*^9, 3.4014842188708067`*^9}, {
+ 3.40454776272372*^9, 3.404547763825327*^9}, {3.4045940428435507`*^9,
+ 3.4045940438131733`*^9}}],
+
+Cell[BoxData[
+ SuperscriptBox[
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "2"]], "Output",
+ CellChangeTimes->{
+ 3.393376109283524*^9, {3.3933761558542633`*^9, 3.393376165121318*^9},
+ 3.401482471135583*^9, 3.401484069785074*^9, 3.401484219417192*^9,
+ 3.404179574066948*^9, 3.4045067731497726`*^9, 3.4045068295653753`*^9,
+ 3.404545769071662*^9, 3.40454776471491*^9, 3.404594050646126*^9,
+ 3.404594246515654*^9, 3.4440166771862926`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData["wosigma"], "Input",
+ CellChangeTimes->{{3.4045941795272284`*^9, 3.404594180173259*^9}, {
+ 3.404594485996463*^9, 3.404594489484517*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{"2", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "n"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}],
+ RowBox[{
+ SuperscriptBox["a", "2"], " ", "\[Pi]", " ",
+ SqrtBox[
+ RowBox[{"r", " ", "r0"}]], " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ FractionBox["1", "2"]}], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "-",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], ")"}], "2"]}]]], "Output",
+ CellChangeTimes->{3.404594180577608*^9, 3.444016679587064*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"wosigma2", " ", "=",
+ RowBox[{
+ RowBox[{"wosigma", " ", "//.", " ",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ FractionBox["1", "2"]}], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ", "\[Rule]", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"2", " ", "n"}], " ", "+", " ", "1"}], " ", ")"}], " ",
+ "/", " ",
+ RowBox[{"(",
+ RowBox[{"a", " ", "u"}], " ", ")"}]}], " ", ")"}],
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], " ", "-", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}], ",", " ",
+ RowBox[{"falphawosigma", " ", "\[Rule]", " ", "0"}]}], "}"}]}], "//",
+ " ", "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.404547784620545*^9, 3.4045478085425043`*^9}, {
+ 3.4045478474923162`*^9, 3.404547881044276*^9}, {3.404594217264181*^9,
+ 3.404594225731429*^9}, 3.4045942957733583`*^9, {3.404594475998633*^9,
+ 3.4045944909319897`*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "n"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}],
+ RowBox[{"2", " ",
+ SuperscriptBox["a", "2"], " ", "\[Pi]", " ",
+ SqrtBox[
+ RowBox[{"r", " ", "r0"}]], " ",
+ SuperscriptBox[
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "2"]}]]], "Output",
+ CellChangeTimes->{
+ 3.4045478033429823`*^9, {3.404547851890801*^9, 3.40454788164254*^9},
+ 3.40454831149837*^9, 3.4045484080800877`*^9, 3.404594298844057*^9,
+ 3.404594493879684*^9, 3.444016682147182*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"falphawosigma", " ", "/.", " ",
+ RowBox[{"n", "\[Rule]", "0"}]}]], "Input",
+ CellChangeTimes->{{3.404198453451654*^9, 3.404198466985354*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{
+ SqrtBox[
+ FractionBox["2", "\[Pi]"]], " ",
+ RowBox[{"Sin", "[",
+ RowBox[{"a", " ", "u"}], "]"}]}],
+ SqrtBox[
+ RowBox[{"a", " ", "u"}]]]], "Output",
+ CellChangeTimes->{{3.404198458692911*^9, 3.404198467560095*^9},
+ 3.4045068297089977`*^9, 3.404545769990036*^9, 3.444016684337222*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"wosigma2", " ", "/.", " ", "transsbessel"}], " ", "//", " ",
+ "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.404507313733954*^9, 3.40450733453261*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "n"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r", " ", "u"}]}], "]"}], " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}],
+ RowBox[{"2", " ",
+ SuperscriptBox["a", "3"], " ", "\[Pi]", " ",
+ SuperscriptBox[
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "2"]}]]], "Output",
+ CellChangeTimes->{{3.404507317855946*^9, 3.404507334980329*^9},
+ 3.404545769771349*^9, {3.404547939232633*^9, 3.404547946373332*^9},
+ 3.404548321018752*^9, 3.40454841785639*^9, 3.404594309031076*^9,
+ 3.404594510167725*^9, 3.4440166867987223`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"survwosigma", " ", "=", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"wosigma", " ", "/.", " ",
+ RowBox[{"n", "\[Rule]", "0"}]}], " ", "//.", " ",
+ RowBox[{"u", " ", "\[Rule]", " ",
+ RowBox[{"i", " ",
+ RowBox[{"Pi", " ", "/", " ", "a"}]}]}]}], "//", " ",
+ "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.4041970522655287`*^9, 3.404197054309443*^9}, {
+ 3.404197831098263*^9, 3.404197867093835*^9}, {3.404198020617106*^9,
+ 3.404198028559911*^9}, {3.404330362152136*^9, 3.404330396095686*^9}, {
+ 3.4045463717751904`*^9, 3.40454638324725*^9}, {3.404548015282796*^9,
+ 3.404548019108913*^9}, {3.4045481294322567`*^9, 3.404548156165518*^9}, {
+ 3.4045483534298077`*^9, 3.404548362446845*^9}, {3.404548439706869*^9,
+ 3.4045484399708967`*^9}, {3.4045944256479883`*^9, 3.4045944259751596`*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"D", " ",
+ SuperscriptBox["i", "2"], " ",
+ SuperscriptBox["\[Pi]", "2"], " ", "t"}],
+ SuperscriptBox["a", "2"]]}]], " ",
+ RowBox[{"Sin", "[",
+ FractionBox[
+ RowBox[{"i", " ", "\[Pi]", " ", "r"}], "a"], "]"}], " ",
+ RowBox[{"Sin", "[",
+ FractionBox[
+ RowBox[{"i", " ", "\[Pi]", " ", "r0"}], "a"], "]"}]}],
+ RowBox[{"2", " ", "a", " ", "\[Pi]", " ", "r", " ", "r0"}]]], "Output",
+ CellChangeTimes->{{3.4041978386129627`*^9, 3.4041978684694443`*^9},
+ 3.404198029901471*^9, {3.404330364258129*^9, 3.4043303968257427`*^9},
+ 3.404506830098948*^9, 3.404545770441832*^9, {3.404546373755777*^9,
+ 3.404546384964181*^9}, 3.404547960350226*^9, {3.404548016704052*^9,
+ 3.4045480195455847`*^9}, {3.404548125272325*^9, 3.40454815238728*^9}, {
+ 3.40454832674767*^9, 3.4045483628437777`*^9}, {3.4045484294108*^9,
+ 3.404548440878344*^9}, 3.404594426770976*^9, 3.444016689296686*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+dsdtwosigma=Integrate[D[4 Pi r^2 survwosigma,t],{r,0,a}] // FullSimplify \
+\>", "Input",
+ CellChangeTimes->{{3.404602623076396*^9, 3.4046026569183617`*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{"2", " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"-", "1"}], ")"}], "i"], " ", "D", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"D", " ",
+ SuperscriptBox["i", "2"], " ",
+ SuperscriptBox["\[Pi]", "2"], " ", "t"}],
+ SuperscriptBox["a", "2"]]}]], " ", "i", " ", "\[Pi]", " ",
+ RowBox[{"Sin", "[",
+ FractionBox[
+ RowBox[{"i", " ", "\[Pi]", " ", "r0"}], "a"], "]"}]}],
+ RowBox[{"a", " ", "r0"}]]], "Output",
+ CellChangeTimes->{{3.404602639265246*^9, 3.404602659196207*^9},
+ 3.444016692327531*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"psurvwosigma", " ", "=", " ",
+ RowBox[{
+ RowBox[{"Integrate", "[", " ",
+ RowBox[{
+ RowBox[{"4", " ", "Pi", " ", "r", " ", "r", " ", "survwosigma"}], ",",
+ RowBox[{"{",
+ RowBox[{"r", ",", "0", ",", "a"}], "}"}]}], "]"}], " ", "//", " ",
+ "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.40419694864888*^9, 3.4041969726553707`*^9}, {
+ 3.4041970577000647`*^9, 3.404197058925599*^9}, {3.404197877123026*^9,
+ 3.404197881792596*^9}, {3.404198060188108*^9, 3.404198061038062*^9}, {
+ 3.4041981841091137`*^9, 3.404198186691515*^9}, {3.4045455744649343`*^9,
+ 3.4045455810290747`*^9}, {3.40454571433462*^9, 3.404545717334578*^9},
+ 3.40454641810015*^9}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"General", "::", "\<\"spell1\"\>"}],
+ RowBox[{
+ ":", " "}], "\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"New symbol name \\\\\\\\\\\\\
+\\\"\\\\\\\"\\\", \
+\\\"MT\\\"]\\)\[NoBreak]\\!\\(\\*StyleBox[\\!\\(psurvwosigma\\), \
+\\\"MT\\\"]\\)\[NoBreak]\\!\\(\\*StyleBox[\\\"\\\\\\\"\\\\\\\\\\\\\\\" is \
+similar to existing symbol \\\\\\\\\\\\\\\"\\\\\\\"\\\", \\\"MT\\\"]\\)\
+\[NoBreak]\\!\\(\\*StyleBox[\\!\\(survwosigma\\), \\\"MT\\\"]\\)\[NoBreak]\\!\
+\\(\\*StyleBox[\\\"\\\\\\\"\\\\\\\\\\\\\\\" and may be \
+misspelled.\\\\\\\"\\\", \\\"MT\\\"]\\) \\!\\(\\*ButtonBox[\\\"\
+\[RightSkeleton]\\\", ButtonStyle->\\\"Link\\\", ButtonFrame->None, \
+ButtonData:>\\\"paclet:ref/message/General/spell1\\\", ButtonNote -> \
+\\\"General::spell1\\\"]\\)\"\>"}]], "Message", "MSG",
+ CellChangeTimes->{3.444016694735506*^9}],
+
+Cell[BoxData[
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"2", " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"-", "1"}], ")"}], "i"], " ", "a", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"D", " ",
+ SuperscriptBox["i", "2"], " ",
+ SuperscriptBox["\[Pi]", "2"], " ", "t"}],
+ SuperscriptBox["a", "2"]]}]], " ",
+ RowBox[{"Sin", "[",
+ FractionBox[
+ RowBox[{"i", " ", "\[Pi]", " ", "r0"}], "a"], "]"}]}],
+ RowBox[{"i", " ", "\[Pi]", " ", "r0"}]]}]], "Output",
+ CellChangeTimes->{
+ 3.404196973727974*^9, 3.40419706023273*^9, 3.4041978826918983`*^9,
+ 3.4041980633078337`*^9, 3.404198187334499*^9, 3.404330403439169*^9,
+ 3.4045068312637177`*^9, {3.4045455780305443`*^9, 3.40454558165761*^9},
+ 3.4045457180479794`*^9, 3.4045457717800407`*^9, {3.4045464062079*^9,
+ 3.404546418684742*^9}, 3.404547998656328*^9, 3.40459444397666*^9,
+ 3.404594522476109*^9, 3.444016694740807*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"pintrwosigma", " ", "=", " ",
+ RowBox[{
+ RowBox[{"Integrate", "[", " ",
+ RowBox[{
+ RowBox[{"4", " ", "Pi", " ", "r", " ", "r", " ", "survwosigma"}], ",",
+ " ",
+ RowBox[{"{",
+ RowBox[{"r", ",", " ", "0", ",", " ", "r"}], "}"}]}], "]"}], " ", "//",
+ " ", "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.404197261556546*^9, 3.404197309916292*^9}, {
+ 3.40419821461187*^9, 3.4041982294894333`*^9}, {3.404198568550507*^9,
+ 3.404198572189556*^9}, 3.4045464201968718`*^9, 3.4222963811165113`*^9}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{"2", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"D", " ",
+ SuperscriptBox["i", "2"], " ",
+ SuperscriptBox["\[Pi]", "2"], " ", "t"}],
+ SuperscriptBox["a", "2"]]}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "i"}], " ", "\[Pi]", " ", "r", " ",
+ RowBox[{"Cos", "[",
+ FractionBox[
+ RowBox[{"i", " ", "\[Pi]", " ", "r"}], "a"], "]"}]}], "+",
+ RowBox[{"a", " ",
+ RowBox[{"Sin", "[",
+ FractionBox[
+ RowBox[{"i", " ", "\[Pi]", " ", "r"}], "a"], "]"}]}]}], ")"}], " ",
+ RowBox[{"Sin", "[",
+ FractionBox[
+ RowBox[{"i", " ", "\[Pi]", " ", "r0"}], "a"], "]"}]}],
+ RowBox[{
+ SuperscriptBox["i", "2"], " ",
+ SuperscriptBox["\[Pi]", "2"], " ", "r0"}]]], "Output",
+ CellChangeTimes->{{3.404197296244557*^9, 3.404197310858944*^9}, {
+ 3.4041982051833277`*^9, 3.404198231127342*^9}, 3.404198574349682*^9,
+ 3.4043306234284897`*^9, 3.4045068333141117`*^9, 3.404545773614872*^9,
+ 3.404546420936988*^9, 3.404548009746026*^9, 3.404594518608431*^9,
+ 3.444016698026322*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"pintrwosigma", " ", "/.", " ",
+ RowBox[{"r", "\[Rule]", "a"}]}], " ", ")"}], " ", "\[Equal]", " ",
+ "psurvwosigma"}], ",", " ",
+ RowBox[{
+ RowBox[{"pintrwosigma", " ", "\[Equal]", " ", "0"}], "/.", " ",
+ RowBox[{"r", "\[Rule]", "0"}]}]}], "}"}], " ", "//", " ",
+ "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.404197346597283*^9, 3.404197456198954*^9}, {
+ 3.404198301845997*^9, 3.404198329332177*^9}, 3.404198361916996*^9, {
+ 3.4222963851561623`*^9, 3.4222963896600513`*^9}}],
+
+Cell[BoxData[
+ RowBox[{"{",
+ RowBox[{"True", ",", "True"}], "}"}]], "Output",
+ CellChangeTimes->{{3.404197353483858*^9, 3.404197411877963*^9}, {
+ 3.404197443417714*^9, 3.404197456661441*^9}, {3.404198295356709*^9,
+ 3.4041983302321243`*^9}, 3.404198362570702*^9, 3.404198586323636*^9,
+ 3.404506833847081*^9, 3.404545774141892*^9, 3.4045464249498177`*^9,
+ 3.4440167002668247`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Sum", "[",
+ RowBox[{"psurvwosigma", ",",
+ RowBox[{"{",
+ RowBox[{"n", ",", "0", ",", "Infinity"}], "}"}]}], "]"}], " ", "//", " ",
+ "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.401484455334341*^9, 3.401484463013177*^9}, {
+ 3.4041987465493097`*^9, 3.404198764676571*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Sum", "::", "\<\"div\"\>"}],
+ RowBox[{
+ ":", " "}], "\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"Sum does not converge.\\\\\\\
+\"\\\", \\\"MT\\\"]\\) \\!\\(\\*ButtonBox[\\\"\[RightSkeleton]\\\", \
+ButtonStyle->\\\"Link\\\", ButtonFrame->None, \
+ButtonData:>\\\"paclet:ref/message/Sum/div\\\", ButtonNote -> \
+\\\"Sum::div\\\"]\\)\"\>"}]], "Message", "MSG",
+ CellChangeTimes->{3.444016702530613*^9}],
+
+Cell[BoxData[
+ RowBox[{
+ UnderoverscriptBox["\[Sum]",
+ RowBox[{"n", "=", "0"}], "\[Infinity]"],
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"2", " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{"-", "1"}], ")"}], "i"], " ", "a", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"D", " ",
+ SuperscriptBox["i", "2"], " ",
+ SuperscriptBox["\[Pi]", "2"], " ", "t"}],
+ SuperscriptBox["a", "2"]]}]], " ",
+ RowBox[{"Sin", "[",
+ FractionBox[
+ RowBox[{"i", " ", "\[Pi]", " ", "r0"}], "a"], "]"}]}],
+ RowBox[{"i", " ", "\[Pi]", " ", "r0"}]]}]}]], "Output",
+ CellChangeTimes->{
+ 3.401484463635326*^9, {3.404198748168158*^9, 3.404198767289485*^9},
+ 3.404506833962284*^9, 3.4045457744180307`*^9, 3.444016702572217*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Reduce", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"D", " ",
+ SuperscriptBox["m", "2"], " ",
+ SuperscriptBox["\[Pi]", "2"], " ", "t"}],
+ SuperscriptBox["a", "2"]]}]], " ", "\[Equal]", " ",
+ RowBox[{"eps", " ",
+ RowBox[{"Exp", "[",
+ RowBox[{
+ RowBox[{"-", "D"}], " ",
+ RowBox[{"Pi", "^", "2"}], " ",
+ RowBox[{"t", " ", "/", " ",
+ RowBox[{"a", "^", "2"}]}]}], "]"}]}]}], " ", "&&", " ",
+ RowBox[{"eps", "<", "1"}], "&&", " ",
+ RowBox[{"t", ">", "0"}], "&&", " ",
+ RowBox[{"D", ">", "0"}]}], ",", "m", ",", " ", "Reals"}], "]"}],
+ " "}]], "Input",
+ CellChangeTimes->{{3.401488843370768*^9, 3.40148889644282*^9}, {
+ 3.401488956741721*^9, 3.40148900334809*^9}, {3.404529226638421*^9,
+ 3.404529230046075*^9}, {3.4045292651903133`*^9, 3.4045292867706623`*^9}, {
+ 3.404529582374408*^9, 3.404529731351795*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"a", "\[NotEqual]", "0"}], "&&",
+ RowBox[{"D", ">", "0"}], "&&",
+ RowBox[{"0", "<", "eps", "<", "1"}], "&&",
+ RowBox[{"t", ">", "0"}], "&&",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"m", "\[Equal]",
+ RowBox[{"-",
+ FractionBox[
+ SqrtBox[
+ FractionBox[
+ RowBox[{
+ RowBox[{"D", " ",
+ SuperscriptBox["\[Pi]", "2"], " ", "t"}], "+",
+ RowBox[{
+ SuperscriptBox["a", "2"], " ",
+ RowBox[{"Log", "[",
+ FractionBox["1", "eps"], "]"}]}]}],
+ RowBox[{"D", " ", "t"}]]], "\[Pi]"]}]}], "||",
+ RowBox[{"m", "\[Equal]",
+ FractionBox[
+ SqrtBox[
+ FractionBox[
+ RowBox[{
+ RowBox[{"D", " ",
+ SuperscriptBox["\[Pi]", "2"], " ", "t"}], "+",
+ RowBox[{
+ SuperscriptBox["a", "2"], " ",
+ RowBox[{"Log", "[",
+ FractionBox["1", "eps"], "]"}]}]}],
+ RowBox[{"D", " ", "t"}]]], "\[Pi]"]}]}], ")"}]}]], "Output",
+ CellChangeTimes->{{3.4014888463758173`*^9, 3.401488896795494*^9}, {
+ 3.401488946538274*^9, 3.4014890043659773`*^9}, 3.404506834125*^9,
+ 3.404529230995885*^9, {3.404529266973793*^9, 3.404529288492692*^9}, {
+ 3.4045296092304707`*^9, 3.404529732251623*^9}, 3.404545774717114*^9,
+ 3.4440167045755568`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"dpthetawosigma", " ", "=", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{
+ RowBox[{"D", " ",
+ RowBox[{"D", "[",
+ RowBox[{"wosigma2", ",", " ", "r"}], "]"}]}], " ", "/.", " ",
+ RowBox[{"{",
+ RowBox[{"r", "\[Rule]", "a"}], "}"}]}], " ", "/.", " ",
+ RowBox[{"falphawosigma", "\[Rule]", "0"}]}], " ", "//", " ",
+ "Simplify"}]}]], "Input",
+ CellChangeTimes->{{3.40417953227385*^9, 3.40417960664998*^9}, {
+ 3.4041796817124987`*^9, 3.404179730635379*^9}, 3.4041989651123667`*^9}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{"D", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "n"}]}], ")"}], " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ FractionBox["1", "2"]}], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "-",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], ")"}]}],
+ RowBox[{"4", " ", "\[Pi]", " ",
+ SqrtBox[
+ RowBox[{
+ SuperscriptBox["a", "5"], " ", "r0"}]], " ",
+ SuperscriptBox[
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "2"]}]]], "Output",
+ CellChangeTimes->{{3.4041795979394627`*^9, 3.404179607177414*^9}, {
+ 3.404179687212359*^9, 3.4041797312094107`*^9}, 3.404198967287653*^9,
+ 3.4045068342412*^9, 3.4045457750862827`*^9, 3.4046010744734983`*^9,
+ 3.404601340905177*^9, 3.444016706745646*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"dpthetawosigma2", " ", "=", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"dpthetawosigma", " ", "//.", " ",
+ RowBox[{"{",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-",
+ FractionBox["1", "2"]}], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ", "\[Rule]", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"2", " ", "n"}], " ", "+", " ", "1"}], " ", ")"}], " ",
+ "/", " ",
+ RowBox[{"(",
+ RowBox[{"a", " ", "u"}], " ", ")"}]}], " ", ")"}],
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], " ", "-", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]}], "}"}]}], " ", "/.", " ",
+ RowBox[{"falphawosigma", "\[Rule]", "0"}]}], "//", " ",
+ "FullSimplify"}]}]], "Input",
+ CellChangeTimes->{{3.404179812195456*^9, 3.404179832671496*^9}, {
+ 3.404179921047749*^9, 3.4041799705371313`*^9}}],
+
+Cell[BoxData[
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"D", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "n"}]}], ")"}], " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}],
+ RowBox[{"2", " ", "\[Pi]", " ",
+ SqrtBox[
+ RowBox[{
+ SuperscriptBox["a", "5"], " ", "r0"}]], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]]}]], "Output",
+ CellChangeTimes->{{3.404179816462041*^9, 3.404179841880844*^9}, {
+ 3.404179924097974*^9, 3.4041799717383547`*^9}, 3.404198992185525*^9,
+ 3.4041997455988092`*^9, 3.404506834679207*^9, 3.4045457755083113`*^9,
+ 3.4046010882089157`*^9, 3.404601342529089*^9, 3.4440167096499157`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"dpthetawosigma2", " ", "/.", " ", "transsbessel"}], " ", "//", " ",
+ "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.404510960978217*^9, 3.404510974654352*^9}, {
+ 3.404607930925847*^9, 3.404607940028408*^9}}],
+
+Cell[BoxData[
+ RowBox[{"-",
+ FractionBox[
+ RowBox[{"D", " ",
+ SuperscriptBox["\[ExponentialE]",
+ RowBox[{
+ RowBox[{"-", "D"}], " ", "t", " ",
+ SuperscriptBox["u", "2"]}]], " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "n"}]}], ")"}], " ", "u", " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}],
+ RowBox[{"2", " ",
+ SuperscriptBox["a", "3"], " ", "\[Pi]", " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]]}]], "Output",
+ CellChangeTimes->{{3.404510968802952*^9, 3.404510975133037*^9},
+ 3.404545775845324*^9, 3.40460134595807*^9, {3.404607928634181*^9,
+ 3.4046079405596027`*^9}, 3.444016712070365*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Limit", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"D", " ", "n", " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "n"}]}], ")"}], " ",
+ SuperscriptBox["u", "2"], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",", "x"}], "]"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",", "x"}], "]"}]}], ")"}]}],
+ ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"4", " ",
+ SqrtBox[
+ RowBox[{
+ SuperscriptBox["a", "3"], " ", "r0"}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "+",
+ SuperscriptBox["n", "2"]}], ")"}], " ",
+ SuperscriptBox[
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "2"]}], ")"}]}], ")"}]}], " ",
+ ",", " ",
+ RowBox[{"x", "\[Rule]", "0"}]}], "]"}], "//", " ",
+ "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.404284861121105*^9, 3.404284907566399*^9}, {
+ 3.4042851169253902`*^9, 3.404285141549365*^9}, {3.404285223941115*^9,
+ 3.4042852253167133`*^9}}],
+
+Cell[BoxData[
+ FractionBox[
+ RowBox[{"D", " ", "n", " ",
+ SuperscriptBox["u", "2"], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}],
+ RowBox[{"2", " ",
+ RowBox[{"(",
+ RowBox[{"1", "+", "n"}], ")"}], " ", "\[Pi]", " ",
+ SqrtBox[
+ RowBox[{
+ SuperscriptBox["a", "3"], " ", "r0"}]], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}]]], "Output",
+ CellChangeTimes->{{3.404285119129324*^9, 3.4042851430666533`*^9},
+ 3.404285226390674*^9, 3.40450683653409*^9, 3.404545777950246*^9,
+ 3.444016715302528*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"dptheta", " ", "=",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"D", " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "n"}]}], ")"}], " ",
+ SuperscriptBox["u", "2"], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"falpha", "[",
+ RowBox[{"r0", ",", "s", ",", "u"}], "]"}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"4", " ",
+ SqrtBox[
+ RowBox[{
+ SuperscriptBox["a", "3"], " ", "r0"}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "+",
+ SuperscriptBox["n", "2"], "-",
+ RowBox[{"s", " ",
+ RowBox[{"(",
+ RowBox[{"h", "+",
+ RowBox[{
+ SuperscriptBox["h", "2"], " ", "s"}], "+",
+ RowBox[{"s", " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}]}], ")"}], " ",
+ SuperscriptBox[
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "2"]}], "+",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"]}], ")"}]}],
+ ")"}]}]}]], "Input",
+ CellChangeTimes->{{3.404163793395494*^9, 3.4041637985585337`*^9}, {
+ 3.404164002867235*^9, 3.404164006585046*^9}, 3.404164325815834*^9,
+ 3.4041688806557617`*^9, {3.404284123702317*^9, 3.404284125426927*^9}, {
+ 3.404284285733015*^9, 3.4042842866642523`*^9}, {3.404284374536767*^9,
+ 3.404284383100174*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"D", " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "n"}]}], ")"}], " ",
+ SuperscriptBox["u", "2"], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"falpha", "[",
+ RowBox[{"r0", ",", "s", ",", "u"}], "]"}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"4", " ",
+ SqrtBox[
+ RowBox[{
+ SuperscriptBox["a", "3"], " ", "r0"}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "+",
+ SuperscriptBox["n", "2"], "-",
+ RowBox[{"s", " ",
+ RowBox[{"(",
+ RowBox[{"h", "+",
+ RowBox[{
+ SuperscriptBox["h", "2"], " ", "s"}], "+",
+ RowBox[{"s", " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}]}], ")"}], " ",
+ SuperscriptBox[
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "2"]}], "+",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"]}], ")"}]}],
+ ")"}]}]], "Output",
+ CellChangeTimes->{3.404284126835629*^9, 3.404284287333494*^9,
+ 3.404284383477605*^9, 3.404506836687549*^9, 3.404545778281601*^9,
+ 3.444016717940093*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"falpha", "[",
+ RowBox[{"a_", ",", "s_", ",", "u_"}], "]"}], " ", "=", " ",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], " ", "+", " ",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}]}]], "Input"],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["3", "2"], "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}]], "Output",
+ CellChangeTimes->{3.404284277629159*^9, 3.404506836744278*^9,
+ 3.404545778489689*^9, 3.4440167204471807`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"falpha", "[",
+ RowBox[{"a", ",", "s", ",", "u"}], "]"}], " ", "/.", " ",
+ "transsbessel"}], " ", "//", " ", "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.404511038270034*^9, 3.404511082823793*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ FractionBox["1", "\[Pi]"],
+ RowBox[{"2", " ",
+ SqrtBox[
+ RowBox[{"a", " ", "s"}]], " ", "u", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}],
+ ")"}]}]}]], "Output",
+ CellChangeTimes->{{3.404511045625815*^9, 3.404511094497066*^9},
+ 3.4045457858812513`*^9, 3.4440167284589376`*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"dptheta", " ", "/.", " ", "transsbessel"}], " ", "//", " ",
+ "Simplify"}]], "Input",
+ CellChangeTimes->{{3.404511188330246*^9, 3.40451120052024*^9}, {
+ 3.404593271886531*^9, 3.404593272311837*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"D", " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "n"}]}], ")"}], " ", "s", " ",
+ SuperscriptBox["u", "3"], " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], "+",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "+",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SphericalBesselY", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}]}]}], ")"}]}], ")"}],
+ "/",
+ RowBox[{"(",
+ RowBox[{"2", " ", "a", " ", "\[Pi]", " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"a", " ",
+ RowBox[{"(",
+ RowBox[{"n", "+",
+ SuperscriptBox["n", "2"], "-",
+ RowBox[{"s", " ",
+ RowBox[{"(",
+ RowBox[{"h", "+",
+ RowBox[{
+ SuperscriptBox["h", "2"], " ", "s"}], "+",
+ RowBox[{"s", " ",
+ SuperscriptBox["u", "2"]}]}], ")"}]}]}], ")"}], " ",
+ SuperscriptBox[
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "2"]}], "+",
+ RowBox[{"s", " ",
+ SuperscriptBox[
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "-",
+ RowBox[{"h", " ", "s"}]}], ")"}], " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{"n", ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}], "-",
+ RowBox[{"s", " ", "u", " ",
+ RowBox[{"SphericalBesselJ", "[",
+ RowBox[{
+ RowBox[{"1", "+", "n"}], ",",
+ RowBox[{"s", " ", "u"}]}], "]"}]}]}], ")"}], "2"]}]}], ")"}]}],
+ ")"}]}]], "Output",
+ CellChangeTimes->{{3.404511193499631*^9, 3.404511197703614*^9},
+ 3.404512088083385*^9, 3.4045463208686113`*^9, 3.4045932728493*^9,
+ 3.444016730870639*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{"dptheta", " ", "/.", " ",
+ RowBox[{"s", "\[Rule]", "0", " "}]}]], "Input",
+ CellChangeTimes->{{3.4042841732592278`*^9, 3.404284183741489*^9}, {
+ 3.404284293229618*^9, 3.404284294034477*^9}, {3.40428451984995*^9,
+ 3.404284521612257*^9}, {3.404284712757803*^9, 3.404284724759712*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"D", " ", "n", " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "n"}]}], ")"}], " ",
+ SuperscriptBox["u", "2"], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",", "0"}], "]"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ RowBox[{"-", "n"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",", "0"}], "]"}]}], "+",
+ RowBox[{"n", " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",", "0"}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}]}]}], ")"}]}], ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"4", " ",
+ SqrtBox[
+ RowBox[{
+ SuperscriptBox["a", "3"], " ", "r0"}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{
+ SuperscriptBox["n", "2"], " ",
+ SuperscriptBox[
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",", "0"}], "]"}], "2"]}], "+",
+
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "+",
+ SuperscriptBox["n", "2"]}], ")"}], " ",
+ SuperscriptBox[
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "2"]}]}], ")"}]}],
+ ")"}]}]], "Output",
+ CellChangeTimes->{
+ 3.404284180302505*^9, 3.40428429492677*^9, 3.404284388194968*^9,
+ 3.404284521972949*^9, {3.4042847145258904`*^9, 3.404284725178068*^9},
+ 3.404506837014598*^9, 3.444016733668702*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"Limit", "[",
+ RowBox[{
+ RowBox[{
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",", "x"}], "]"}],
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",", "x"}], "]"}]}], " ", ",", " ",
+ RowBox[{"x", "\[Rule]", "0"}]}], "]"}], "//", " ",
+ "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.404284953237925*^9, 3.404284984900763*^9}}],
+
+Cell[BoxData[
+ RowBox[{"-",
+ FractionBox["2",
+ RowBox[{"\[Pi]", "+",
+ RowBox[{"2", " ", "n", " ", "\[Pi]"}]}]]}]], "Output",
+ CellChangeTimes->{{3.404284956487214*^9, 3.4042849853288097`*^9},
+ 3.404506837213119*^9, 3.404593441379561*^9, 3.444016736025539*^9}]
+}, Open ]],
+
+Cell[CellGroupData[{
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"D", " ", "n", " ",
+ RowBox[{"(",
+ RowBox[{"1", "+",
+ RowBox[{"2", " ", "n"}]}], ")"}], " ",
+ SuperscriptBox["u", "2"], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",", "0"}], "]"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"-", "n"}], " ",
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"r0", " ", "u"}]}], "]"}], " ",
+ RowBox[{"BesselY", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",", "0"}], "]"}]}], ")"}]}],
+ ")"}], "/",
+ RowBox[{"(",
+ RowBox[{"4", " ",
+ SqrtBox[
+ RowBox[{
+ SuperscriptBox["a", "3"], " ", "r0"}]], " ",
+ RowBox[{"(",
+ RowBox[{
+ RowBox[{"(",
+ RowBox[{"n", "+",
+ SuperscriptBox["n", "2"]}], ")"}], " ",
+ SuperscriptBox[
+ RowBox[{"BesselJ", "[",
+ RowBox[{
+ RowBox[{
+ FractionBox["1", "2"], "+", "n"}], ",",
+ RowBox[{"a", " ", "u"}]}], "]"}], "2"]}], ")"}]}], ")"}]}], " ", "//",
+ " ", "FullSimplify"}]], "Input",
+ CellChangeTimes->{{3.404284861121105*^9, 3.404284907566399*^9}}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"FullSimplify", "::", "\<\"infd\"\>"}],
+ RowBox[{
+ ":", " "}], "\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"Expression \\\\\\\"\\\", \
+\\\"MT\\\"]\\)\[NoBreak]\\!\\(\\*StyleBox[\\!\\(0\\^\\(\\(\\(1\\/2\\\\ \
+\\(\\((\\(\\(-1\\)\\) - \\(\\(2\\\\ n\\)\\))\\)\\)\\)\\) + \\(\\(1\\/2\\\\ \
+\\(\\((1 + \\(\\(2\\\\ n\\)\\))\\)\\)\\)\\)\\)\\), \
+\\\"MT\\\"]\\)\[NoBreak]\\!\\(\\*StyleBox[\\\"\\\\\\\" simplified to \\\\\\\"\
+\\\", \\\"MT\\\"]\\)\[NoBreak]\\!\\(\\*StyleBox[\\!\\(Indeterminate\\), \
+\\\"MT\\\"]\\)\[NoBreak]\\!\\(\\*StyleBox[\\\"\\\\\\\".\\\\\\\"\\\", \\\"MT\\\
+\"]\\) \\!\\(\\*ButtonBox[\\\"\[RightSkeleton]\\\", \
+ButtonStyle->\\\"Link\\\", ButtonFrame->None, \
+ButtonData:>\\\"paclet:ref/message/FullSimplify/infd\\\", ButtonNote -> \
+\\\"FullSimplify::infd\\\"]\\)\"\>"}]], "Message", "MSG",
+ CellChangeTimes->{3.4440167385714912`*^9}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"FullSimplify", "::", "\<\"infd\"\>"}],
+ RowBox[{
+ ":", " "}], "\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"Expression \\\\\\\"\\\", \
+\\\"MT\\\"]\\)\[NoBreak]\\!\\(\\*StyleBox[\\!\\(0\\^\\(\\(\\(1\\/2\\\\ \
+\\(\\((\\(\\(-1\\)\\) - \\(\\(2\\\\ n\\)\\))\\)\\)\\)\\) + \\(\\(1\\/2\\\\ \
+\\(\\((1 + \\(\\(2\\\\ n\\)\\))\\)\\)\\)\\)\\)\\\\ \
+\\(\\(BesselY[\\(\\(\\(\\(1\\/2\\\\ \\(\\((1 + \\(\\(2\\\\ \
+n\\)\\))\\)\\)\\)\\), 0\\)\\)]\\)\\)\\), \
+\\\"MT\\\"]\\)\[NoBreak]\\!\\(\\*StyleBox[\\\"\\\\\\\" simplified to \\\\\\\"\
+\\\", \\\"MT\\\"]\\)\[NoBreak]\\!\\(\\*StyleBox[\\!\\(Indeterminate\\), \
+\\\"MT\\\"]\\)\[NoBreak]\\!\\(\\*StyleBox[\\\"\\\\\\\".\\\\\\\"\\\", \\\"MT\\\
+\"]\\) \\!\\(\\*ButtonBox[\\\"\[RightSkeleton]\\\", \
+ButtonStyle->\\\"Link\\\", ButtonFrame->None, \
+ButtonData:>\\\"paclet:ref/message/FullSimplify/infd\\\", ButtonNote -> \
+\\\"FullSimplify::infd\\\"]\\)\"\>"}]], "Message", "MSG",
+ CellChangeTimes->{3.4440167385763073`*^9}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"FullSimplify", "::", "\<\"infd\"\>"}],
+ RowBox[{
+ ":", " "}], "\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"Expression \\\\\\\"\\\", \
+\\\"MT\\\"]\\)\[NoBreak]\\!\\(\\*StyleBox[\\!\\(\\(\\(0\\^\\(\\(\\(1\\/2\\\\ \
+\\(\\((\\(\\(-1\\)\\) - \\(\\(2\\\\ n\\)\\))\\)\\)\\)\\) + \\(\\(1\\/2\\\\ \
+\\(\\((1 + \\(\\(2\\\\ n\\)\\))\\)\\)\\)\\)\\)\\\\ \
+\\(\\(BesselY[\\(\\(\\(\\(1\\/2\\\\ \\(\\((1 + \\(\\(2\\\\ \
+n\\)\\))\\)\\)\\)\\), 0\\)\\)]\\)\\)\\)\\) + \\(\\(0\\^\\(1 + \\(\\(1\\/2\\\\ \
+\\(\\((\\(\\(-1\\)\\) - \\(\\(2\\\\ n\\)\\))\\)\\)\\)\\) + \\(\\(1\\/2\\\\ \
+\\(\\((1 + \\(\\(2\\\\ n\\)\\))\\)\\)\\)\\)\\)\\\\ \
+\\(\\(BesselJ[\\(\\(\\(\\(1\\/2\\\\ \\(\\((1 + \\(\\(\[LeftSkeleton] 1 \
+\[RightSkeleton]\\)\\))\\)\\)\\)\\), 0\\)\\)]\\)\\)\\\\ \\(\\(Cot[\\(\\(1\\/2\
+\\\\ \\(\\((1 + \\(\\(2\\\\ n\\)\\))\\)\\)\\\\ \[Pi]\\)\\)]\\)\\)\\)\\)\\), \
+\\\"MT\\\"]\\)\[NoBreak]\\!\\(\\*StyleBox[\\\"\\\\\\\" simplified to \\\\\\\"\
+\\\", \\\"MT\\\"]\\)\[NoBreak]\\!\\(\\*StyleBox[\\!\\(Indeterminate\\), \
+\\\"MT\\\"]\\)\[NoBreak]\\!\\(\\*StyleBox[\\\"\\\\\\\".\\\\\\\"\\\", \\\"MT\\\
+\"]\\) \\!\\(\\*ButtonBox[\\\"\[RightSkeleton]\\\", \
+ButtonStyle->\\\"Link\\\", ButtonFrame->None, \
+ButtonData:>\\\"paclet:ref/message/FullSimplify/infd\\\", ButtonNote -> \
+\\\"FullSimplify::infd\\\"]\\)\"\>"}]], "Message", "MSG",
+ CellChangeTimes->{3.444016738581936*^9}],
+
+Cell[BoxData[
+ RowBox[{
+ RowBox[{"General", "::", "\<\"stop\"\>"}],
+ RowBox[{
+ ":", " "}], "\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"Further output of \\\\\\\"\\\
+\", \\\"MT\\\"]\\)\[NoBreak]\\!\\(\\*StyleBox[\\!\\(FullSimplify :: \
+\\\"infd\\\"\\), \\\"MT\\\"]\\)\[NoBreak]\\!\\(\\*StyleBox[\\\"\\\\\\\" will \
+be suppressed during this calculation.\\\\\\\"\\\", \\\"MT\\\"]\\) \
+\\!\\(\\*ButtonBox[\\\"\[RightSkeleton]\\\", ButtonStyle->\\\"Link\\\", \
+ButtonFrame->None, ButtonData:>\\\"paclet:ref/message/General/stop\\\", \
+ButtonNote -> \\\"General::stop\\\"]\\)\"\>"}]], "Message", "MSG",
+ CellChangeTimes->{3.444016738746436*^9}],
+
+Cell[BoxData["Indeterminate"], "Output",
+ CellChangeTimes->{{3.404284894588972*^9, 3.404284908297225*^9},
+ 3.404506837368579*^9, 3.4440167389152603`*^9}]
+}, Open ]]
+},
+WindowSize->{753, 973},
+WindowMargins->{{Automatic, 25}, {57, Automatic}},
+FrontEndVersion->"7.0 for Linux x86 (64-bit) (December 18, 2008)",
+StyleDefinitions->"Default.nb"
+]
+(* End of Notebook Content *)
+
+(* Internal cache information *)
+(*CellTagsOutline
+CellTagsIndex->{}
+*)
+(*CellTagsIndex
+CellTagsIndex->{}
+*)
+(*NotebookFileOutline
+Notebook[{
+Cell[CellGroupData[{
+Cell[567, 22, 1246, 28, 77, "Input"],
+Cell[1816, 52, 1074, 26, 52, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[2927, 83, 1285, 37, 121, "Input"],
+Cell[4215, 122, 1018, 34, 209, "Output"]
+}, Open ]],
+Cell[5248, 159, 6185, 179, 317, "Input"],
+Cell[11436, 340, 92, 1, 32, "Input"],
+Cell[CellGroupData[{
+Cell[11553, 345, 1788, 45, 99, "Input"],
+Cell[13344, 392, 1205, 39, 69, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[14586, 436, 413, 11, 32, "Input"],
+Cell[15002, 449, 694, 20, 47, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[15733, 474, 220, 6, 32, "Input"],
+Cell[15956, 482, 321, 8, 47, "Output"]
+}, Open ]],
+Cell[16292, 493, 100, 1, 31, "Text"],
+Cell[16395, 496, 824, 25, 54, "Input",
+ CellGroupingRules->{GroupTogetherGrouping, 10000.}],
+Cell[17222, 523, 239, 7, 47, "Output"],
+Cell[17464, 532, 947, 31, 98, "Input",
+ CellGroupingRules->{GroupTogetherGrouping, 10000.}],
+Cell[18414, 565, 97, 1, 31, "Output"],
+Cell[CellGroupData[{
+Cell[18536, 570, 1309, 43, 142, "Input"],
+Cell[19848, 615, 707, 21, 54, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[20592, 641, 1767, 53, 143, "Input"],
+Cell[22362, 696, 539, 12, 47, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[22938, 713, 150, 2, 32, "Input"],
+Cell[23091, 717, 1154, 38, 69, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[24282, 760, 1395, 38, 142, "Input"],
+Cell[25680, 800, 1062, 33, 69, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[26779, 838, 167, 3, 32, "Input"],
+Cell[26949, 843, 341, 10, 79, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[27327, 858, 191, 4, 32, "Input"],
+Cell[27521, 864, 958, 26, 57, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[28516, 895, 839, 16, 32, "Input"],
+Cell[29358, 913, 1052, 23, 70, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[30447, 941, 166, 3, 32, "Input"],
+Cell[30616, 946, 627, 18, 69, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[31280, 969, 707, 14, 32, "Input"],
+Cell[31990, 985, 836, 15, 65, "Message"],
+Cell[32829, 1002, 986, 24, 70, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[33852, 1031, 552, 12, 32, "Input"],
+Cell[34407, 1045, 1157, 31, 72, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[35601, 1081, 608, 15, 55, "Input"],
+Cell[36212, 1098, 391, 7, 31, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[36640, 1110, 324, 8, 32, "Input"],
+Cell[36967, 1120, 426, 9, 24, "Message"],
+Cell[37396, 1131, 827, 23, 77, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[38260, 1159, 1047, 27, 87, "Input"],
+Cell[39310, 1188, 1327, 37, 100, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[40674, 1230, 528, 13, 32, "Input"],
+Cell[41205, 1245, 1356, 41, 71, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[42598, 1291, 1280, 36, 142, "Input"],
+Cell[43881, 1329, 1014, 28, 70, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[44932, 1362, 248, 5, 32, "Input"],
+Cell[45183, 1369, 809, 22, 57, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[46029, 1396, 1764, 54, 177, "Input"],
+Cell[47796, 1452, 726, 22, 67, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[48559, 1479, 2724, 80, 216, "Input"],
+Cell[51286, 1561, 2460, 77, 159, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[53783, 1643, 1551, 51, 122, "Input"],
+Cell[55337, 1696, 1505, 50, 83, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[56879, 1751, 255, 6, 32, "Input"],
+Cell[57137, 1759, 1575, 47, 109, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[58749, 1811, 235, 5, 32, "Input"],
+Cell[58987, 1818, 3500, 103, 185, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[62524, 1926, 312, 5, 32, "Input"],
+Cell[62839, 1933, 2146, 69, 157, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[65022, 2007, 490, 15, 54, "Input"],
+Cell[65515, 2024, 271, 6, 48, "Output"]
+}, Open ]],
+Cell[CellGroupData[{
+Cell[65823, 2035, 1475, 48, 147, "Input"],
+Cell[67301, 2085, 874, 15, 34, "Message"],
+Cell[68178, 2102, 978, 17, 49, "Message"],
+Cell[69159, 2121, 1379, 22, 120, "Message"],
+Cell[70541, 2145, 634, 11, 24, "Message"],
+Cell[71178, 2158, 156, 2, 31, "Output"]
+}, Open ]]
+}
+]
+*)
+
+(* End of internal cache information *)
diff --git a/ecell4/egfrd/legacy/doc/p1_fp.tex b/ecell4/egfrd/legacy/doc/p1_fp.tex
new file mode 100644
index 0000000..51efeef
--- /dev/null
+++ b/ecell4/egfrd/legacy/doc/p1_fp.tex
@@ -0,0 +1,94 @@
+\title{New p1 for GFRD using first-passage process}
+\author{Koichi Takahashi}
+\date{}
+\documentclass{article}
+\begin{document}
+\maketitle
+\begin{center}
+Initial version on Dec 18, 2006.\\
+Revised on Dec 19, 2006, Dec 22, 2006.
+\end{center}
+
+\section{The Green's function}
+
+We find the following in section 14.7 of C\&J (eq. 17 in page 366),
+that is for the sphere $0 \geq r > a$ with an absorbing surface
+and an unit instantaneous spherical surface source at $r = r_0, t = 0$;
+
+\begin{equation}
+v = \frac{1}{2 \pi a r r_0} \sum_{n=1}^{\infty} e^{- \frac{D n^2 \pi^2 t}{a^2} }
+\sin \frac{n \pi r}{a} \sin \frac{n \pi r_0}{a}.
+\end{equation}
+
+The initial condition with a Dirac delta $\delta(r,t)$ corresponds
+to taking the limit $r_0 \rightarrow 0$. Using
+\begin{equation}
+\lim_{r_0 \rightarrow 0}
+\left( \frac{a}{n \pi r_0} \sin \frac{n \pi r_0}{a}\right) = 1,
+\end{equation}
+we obtain the desired Green's function
+\begin{equation}
+p_1(r,t) =
+\frac{1}{2 a^2 r} \sum_{n=1}^{\infty} n \, e^{- \frac{D n^2 \pi^2 t}{a^2} }
+\sin \frac{n \pi r}{a}.
+\end{equation}
+
+A conceptually identical equation can be found in eq (3.12) in
+{\it Kalos and Verlet 1974}. See also 9.3 (3) and (19) in C\&J.
+
+The Jacobian in terms of $r$ is $4 \pi r^2$.
+
+\section{Survival probability}
+
+We want to calculate
+\begin{equation}
+S(t) = \int_{0}^{a} 4 \pi r^2 p_1(r,t) dr.
+\end{equation}
+
+We get
+\begin{equation}
+S(t) = -2 \sum_{n=1}^{\infty} (-1)^n e^{- \frac{D n^2 \pi^2 t}{a^2}}.
+\end{equation}
+
+Numerically, this series is not a good behaving one and does not converge well.
+Using the fact that
+\begin{equation}
+\sum_{n=1}^{\infty} (-1)^{(n-1)} e^{- n^2 w} =
+\frac{1}{2} ( 1 - \vartheta_4( 0, e^{-w} ) ),
+\end{equation}
+where $\vartheta$ is Jacobi's theta, we rewrite $S(t)$ as
+\begin{equation}
+S(t) = 1 - \vartheta_4( 0, e^{- \frac{D \pi^2 t}{a^2}} ).
+\end{equation}
+Then we can efficiently evaluate this function through a product
+representation
+\begin{equation}
+\vartheta_4( 0, q ) = \prod_{n=1}^{\infty} (1-q^{2n})(1-q^{(2n-1)})^2.
+\end{equation}
+
+\section{Sampling $r$}
+
+Unless we are somehow able to obtain an inverse function, one
+simple but not awfully efficient way to sample $r$ is to use another
+integral of $p_1(r,t)$,
+\begin{equation}
+\int_{0}^{r'} 4 \pi r^2 p_1(r,t) dr = \frac{2}{a \pi}
+\sum_{n=1}^{\infty} \frac{e^{- \frac{D n^2 \pi^2 t}{a^2}}
+\left( a \sin \frac{n \pi r'}{a} - n \pi r' \cos \frac{n \pi r'}{a} \right)}
+{n}.
+\end{equation}
+
+Using this, and eq. (6), with nonlinear programming, we find $r'$ so that
+\begin{equation}
+\xi - \frac{\int_{0}^{r'} 4 \pi r^2 p_1(r,t) dr}{S(t)} = 0,
+\end{equation}
+where $\xi$ is a unit uniform random number.
+
+
+%\begin{equation}
+%\frac{1}{\sqrt{2} \pi ^2 (D t)^{3/2}} \left( e^{-\frac{\pi ^2 r^2+a^2 w^2}{4
+% D \pi ^2 t}} r \left(\pi r \cosh \left(\frac{a r w}{2
+% D \pi t}\right)-a w \sinh \left(\frac{a r w}{2 D \pi
+% t}\right)\right) \right)
+%\end{equation}
+\end{document}
\ No newline at end of file
diff --git a/ecell4/egfrd/legacy/doc/testing.txt b/ecell4/egfrd/legacy/doc/testing.txt
new file mode 100644
index 0000000..517ac54
--- /dev/null
+++ b/ecell4/egfrd/legacy/doc/testing.txt
@@ -0,0 +1,107 @@
+
+How to test EPDP code
+===========================
+
+#. make check
+
+#. Run dimer.py
+
+ * Run the model in debug mode as follows.
+
+ ::
+
+ % cd topdir
+ % LOGLEVEL=DEBUG python dimer.py
+
+ * Check if it does not crash. Then, run in the optimized mode again.
+ (Make sure that PROFMODE is set to True in the last part of dimer.py)::
+
+ % python -O dimer.py
+
+ and see if the profile looks ok (normally, drawTheta(), getNeighbors*(),
+ and ObjectMatrix-related methods will occupy the top places when
+ the concentration is fairly low, and BD-related methods will come
+ on the top when concentration is high.)
+
+ * Optionally, let it run for a night or more and ensure that it does not
+ crash. To make it run longer, change the following::
+
+ def profrun():
+ for _ in xrange( 15000 ):
+
+ to::
+
+ def profrun():
+ for _ in xrange( 50000000 ):
+
+ or something. Do not put the -O flag.
+
+
+#. Radial distribution function test
+
+ #. Enter samples/irreversible.
+
+ #. Run the following set of scripts::
+
+ LOGLEVEL=ERROR PYTHONPATH=../.. python -O run.py irr.3.out 1.25e-2 20000000 &
+ LOGLEVEL=ERROR PYTHONPATH=../.. python -O run.py irr.2.out 1.25e-3 20000000 &
+ LOGLEVEL=ERROR PYTHONPATH=../.. python -O run.py irr.1.out 1.25e-4 7000000 &
+ LOGLEVEL=ERROR PYTHONPATH=../.. python -O run.py irr.0.out 1.25e-5 5000000 &
+ LOGLEVEL=ERROR PYTHONPATH=../.. python -O run.py irr.-1.out 1.25e-6 2000000 &
+ LOGLEVEL=ERROR PYTHONPATH=../.. python -O run.py irr.-2.out 1.25e-7 2000000 &
+ LOGLEVEL=ERROR PYTHONPATH=../.. python -O run.py irr.-3.out 1.25e-8 1000000 &
+
+ #. This will take a while. When all is done, run the following and
+ visually verify that the simulation results coincide with the
+ analytical solution::
+
+ PYTHONPATH=../.. python plot.py irr.-3.out 0.0000000125 irr.-2.out 0.000000125 irr.-1.out 0.00000125 irr.0.out 0.0000125 irr.1.out 0.000125 irr.2.out 0.00125 irr.3.out 0.0125
+
+ #. Run similar for samples/reversible::
+
+ LOGLEVEL=ERROR PYTHONPATH=../.. python -O run.py rev.3.out 1.25e-2 5000000 &
+ LOGLEVEL=ERROR PYTHONPATH=../.. python -O run.py rev.2.out 1.25e-3 4000000 &
+ LOGLEVEL=ERROR PYTHONPATH=../.. python -O run.py rev.1.out 1.25e-4 2000000 &
+ LOGLEVEL=ERROR PYTHONPATH=../.. python -O run.py rev.0.out 1.25e-5 2000000 &
+ LOGLEVEL=ERROR PYTHONPATH=../.. python -O run.py rev.-1.out 1.25e-6 2000000 &
+ LOGLEVEL=ERROR PYTHONPATH=../.. python -O run.py rev.-2.out 1.25e-7 2000000 &
+ LOGLEVEL=ERROR PYTHONPATH=../.. python -O run.py rev.-3.out 1.25e-8 1000000 &
+
+ #. Unlike the irreversible case, the reversible case needs a Mathematica
+ program to obtain the analytical solutions. To run Mathematica,
+ run make_p_rev_files.py.
+
+
+ #. Plot and visually check the result::
+
+ PYTHONPATH=../.. python plot.py rev.-3.out p_rev.-3.tsv 0.0000000125 rev.-2.out p_rev.-2.tsv 0.000000125 rev.-1.out p_rev.-1.tsv 0.00000125 rev.0.out p_rev.0.tsv 0.0000125 rev.1.out p_rev.1.tsv 0.000125 rev.2.out p_rev.2.tsv 0.00125 rev.3.out p_rev.3.tsv 0.0125
+
+
+#. Hardbody benchmark test.
+
+ Here we check if the simulator performss ok for different
+ concentration ranges, but without reactions.
+
+ ::
+
+ % cd samples/hardbody
+ % PYTHONPATH=../.. python -O run_all.py out.py
+
+ Then, plot the result::
+
+ % python plot.py
+
+ Check if the constant concentration case scales linearly to the
+ number of particles, the constant volume case scale according to
+ N^(5/3) for up to about uM range, and it scales with N^(2/3) for the
+ changing concentration case (inset).
+
+
+#. Systems with chemical reactions nor different diffusion rates are
+ not well tested yet. To test them, run mapk and pushpull...
+ (more tests follow...)
+
+
+
+
+
diff --git a/ecell4/egfrd/legacy/greens_functions.cpp b/ecell4/egfrd/legacy/greens_functions.cpp
new file mode 100644
index 0000000..c473951
--- /dev/null
+++ b/ecell4/egfrd/legacy/greens_functions.cpp
@@ -0,0 +1,213 @@
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif /* HAVE_CONFIG_H */
+
+#include <boost/python.hpp>
+
+#include "freeFunctions.hpp"
+#include "GreensFunction1DAbsAbs.hpp"
+#include "GreensFunction1DRadAbs.hpp"
+#include "GreensFunction3DSym.hpp"
+#include "GreensFunction3DAbsSym.hpp"
+#include "GreensFunction3DRadInf.hpp"
+#include "GreensFunction3D.hpp"
+#include "GreensFunction3DRadAbs.hpp"
+#include "GreensFunction3DAbs.hpp"
+
+BOOST_PYTHON_MODULE( _greens_functions )
+{
+ using namespace boost::python;
+
+ //import_array();
+ // free functions
+ def( "p_irr", p_irr );
+ def( "p_survival_irr", p_survival_irr );
+ def( "p_theta_free", p_theta_free );
+ def( "ip_theta_free", ip_theta_free );
+ def( "g_bd", g_bd );
+ def( "I_bd", I_bd );
+ def( "I_bd_r", I_bd_r );
+ def( "drawR_gbd", drawR_gbd );
+ def( "p_reaction_irr", __p_reaction_irr );
+ def( "p_reaction_irr_t_inf", __p_reaction_irr_t_inf );
+
+
+ class_<GreensFunction1DAbsAbs>("GreensFunction1DAbsAbs",
+ init<Real, Real, Real, Real>() )
+ .def( init<Real, Real, Real, Real, Real>())
+ .def( "getName", &GreensFunction1DAbsAbs::getName )
+ .def( "getD", &GreensFunction1DAbsAbs::getD )
+ .def( "getv", &GreensFunction1DAbsAbs::getv )
+ .def( "getsigma", &GreensFunction1DAbsAbs::getsigma )
+ .def( "seta", &GreensFunction1DAbsAbs::seta )
+ .def( "geta", &GreensFunction1DAbsAbs::geta )
+ .def( "setr0", &GreensFunction1DAbsAbs::setr0 )
+ .def( "getr0", &GreensFunction1DAbsAbs::getr0 )
+ .def( "drawTime", &GreensFunction1DAbsAbs::drawTime )
+ .def( "drawR", &GreensFunction1DAbsAbs::drawR )
+ .def( "drawEventType", &GreensFunction1DAbsAbs::drawEventType )
+ .def( "leaves", &GreensFunction1DAbsAbs::leaves )
+ .def( "leavea", &GreensFunction1DAbsAbs::leavea )
+ .def( "p_survival", &GreensFunction1DAbsAbs::p_survival )
+ .def( "calcpcum", &GreensFunction1DAbsAbs::calcpcum )
+ .def( "dump", &GreensFunction1DRadAbs::dump )
+ ;
+
+ class_<GreensFunction1DRadAbs>("GreensFunction1DRadAbs",
+ init<Real, Real, Real, Real, Real>() )
+ .def( init<Real, Real, Real, Real, Real, Real>())
+ .def( "getName", &GreensFunction1DRadAbs::getName )
+ .def( "getk", &GreensFunction1DRadAbs::getk )
+ .def( "getD", &GreensFunction1DRadAbs::getD )
+ .def( "getv", &GreensFunction1DRadAbs::getv )
+ .def( "getsigma", &GreensFunction1DRadAbs::getsigma )
+ .def( "seta", &GreensFunction1DRadAbs::seta )
+ .def( "geta", &GreensFunction1DRadAbs::geta )
+ .def( "setr0", &GreensFunction1DRadAbs::setr0 )
+ .def( "getr0", &GreensFunction1DRadAbs::getr0 )
+ .def( "drawTime", &GreensFunction1DRadAbs::drawTime )
+ .def( "drawR", &GreensFunction1DRadAbs::drawR )
+ .def( "drawEventType", &GreensFunction1DRadAbs::drawEventType )
+ .def( "flux_tot", &GreensFunction1DRadAbs::flux_tot )
+ .def( "flux_rad", &GreensFunction1DRadAbs::flux_rad )
+ .def( "fluxRatioRadTot", &GreensFunction1DRadAbs::fluxRatioRadTot )
+ .def( "p_survival", &GreensFunction1DRadAbs::p_survival )
+ .def( "calcpcum", &GreensFunction1DRadAbs::calcpcum )
+ .def( "dump", &GreensFunction1DRadAbs::dump )
+ ;
+
+ class_<GreensFunction3DSym>("GreensFunction3DSym", init<Real>())
+ .def( "getName", &GreensFunction3DSym::getName )
+ .def( "getD", &GreensFunction3DSym::getD )
+ .def( "drawTime", &GreensFunction3DSym::drawTime )
+ .def( "drawR", &GreensFunction3DSym::drawR )
+ .def( "p_r", &GreensFunction3DSym::p_r )
+ .def( "ip_r", &GreensFunction3DSym::ip_r )
+ .def( "dump", &GreensFunction3DSym::dump )
+ ;
+
+ class_<GreensFunction3DAbsSym>("GreensFunction3DAbsSym",
+ init<Real, Real>())
+ .def( "getName", &GreensFunction3DAbsSym::getName )
+ .def( "getD", &GreensFunction3DAbsSym::getD )
+ .def( "geta", &GreensFunction3DAbsSym::geta )
+ .def( "drawTime", &GreensFunction3DAbsSym::drawTime )
+ .def( "drawR", &GreensFunction3DAbsSym::drawR )
+ .def( "p_survival", &GreensFunction3DAbsSym::p_survival )
+ .def( "p_int_r", &GreensFunction3DAbsSym::p_int_r )
+ .def( "p_int_r_free", &GreensFunction3DAbsSym::p_int_r_free )
+ //.def( "p_r_fourier", &GreensFunction3DAbsSym::p_r_fourier )
+ ;
+
+ class_<GreensFunction3DRadInf>("GreensFunction3DRadInf",
+ init<Real, Real, Real, Real>())
+ .def( "getName", &GreensFunction3DRadInf::getName )
+ .def( "getD", &GreensFunction3DRadInf::getD )
+ .def( "getkf", &GreensFunction3DRadInf::getkf )
+ .def( "getSigma", &GreensFunction3DRadInf::getSigma )
+ .def( "drawTime", &GreensFunction3DRadInf::drawTime )
+ .def( "drawR", &GreensFunction3DRadInf::drawR )
+ .def( "drawTheta", &GreensFunction3DRadInf::drawTheta )
+
+// .def( "p_tot", &GreensFunction3DRadInf::p_tot )
+ .def( "p_free", &GreensFunction3DRadInf::p_free )
+ .def( "ip_free", &GreensFunction3DRadInf::ip_free )
+ .def( "p_corr", &GreensFunction3DRadInf::p_corr )
+ .def( "ip_corr", &GreensFunction3DRadInf::ip_corr )
+ .def( "p_survival", &GreensFunction3DRadInf::p_survival )
+ .def( "p_int_r", &GreensFunction3DRadInf::p_int_r )
+ .def( "p_theta", &GreensFunction3DRadInf::p_theta )
+ .def( "ip_theta", &GreensFunction3DRadInf::ip_theta )
+
+ .def( "dump", &GreensFunction3DRadInf::dump )
+ ;
+
+ class_<GreensFunction3D>("GreensFunction3D", init<Real, Real>())
+ .def( "getName", &GreensFunction3D::getName )
+ .def( "getD", &GreensFunction3D::getD )
+ .def( "getkf", &GreensFunction3D::getkf )
+ .def( "getSigma", &GreensFunction3D::getSigma )
+ .def( "drawTime", &GreensFunction3D::drawTime )
+ .def( "drawR", &GreensFunction3D::drawR )
+ .def( "drawTheta", &GreensFunction3D::drawTheta )
+
+ .def( "p_r", &GreensFunction3D::p_r )
+ .def( "ip_r", &GreensFunction3D::ip_r )
+ .def( "p_theta", &GreensFunction3D::p_theta )
+ .def( "ip_theta", &GreensFunction3D::ip_theta )
+
+ .def( "dump", &GreensFunction3D::dump )
+ ;
+
+ enum_<GreensFunction::EventKind>("PairEventKind")
+ .value( "IV_ESCAPE", GreensFunction3DRadAbs::IV_ESCAPE )
+ .value( "IV_REACTION", GreensFunction3DRadAbs::IV_REACTION )
+ .value( "IV_ESCAPE", GreensFunction1DRadAbs::IV_ESCAPE )
+ .value( "IV_REACTION", GreensFunction1DRadAbs::IV_REACTION )
+ ;
+
+ class_<GreensFunction3DRadAbs>("GreensFunction3DRadAbs",
+ init<Real, Real, Real, Real, Real>() )
+ .def( "getName", &GreensFunction3DRadAbs::getName )
+ .def( "geta", &GreensFunction3DRadAbs::geta )
+ .def( "getD", &GreensFunction3DRadAbs::getD )
+ .def( "getkf", &GreensFunction3DRadInf::getkf )
+ .def( "getSigma", &GreensFunction3DRadInf::getSigma )
+ .def( "drawTime", &GreensFunction3DRadAbs::drawTime )
+ //.def( "drawTime2", &GreensFunction3DRadAbs::drawTime2 )
+ .def( "drawEventType", &GreensFunction3DRadAbs::drawEventType )
+ .def( "drawR", &GreensFunction3DRadAbs::drawR )
+ .def( "drawTheta", &GreensFunction3DRadAbs::drawTheta )
+
+ .def( "p_survival", &GreensFunction3DRadAbs::p_survival )
+ .def( "dp_survival", &GreensFunction3DRadAbs::dp_survival )
+ .def( "p_leaves", &GreensFunction3DRadAbs::p_leaves )
+ .def( "p_leavea", &GreensFunction3DRadAbs::p_leavea )
+ .def( "leaves", &GreensFunction3DRadAbs::leaves )
+ .def( "leavea", &GreensFunction3DRadAbs::leavea )
+
+ .def( "p_0", &GreensFunction3DRadAbs::p_0 )
+ .def( "p_int_r", &GreensFunction3DRadAbs::p_int_r )
+ .def( "p_int_r", &GreensFunction3DRadAbs::p_int_r )
+ .def( "p_theta", &GreensFunction3DRadAbs::p_theta )
+ .def( "ip_theta", &GreensFunction3DRadAbs::ip_theta )
+ .def( "idp_theta", &GreensFunction3DRadAbs::idp_theta )
+
+ .def( "f_alpha0", &GreensFunction3DRadAbs::f_alpha0 )
+ .def( "alpha0_i", &GreensFunction3DRadAbs::alpha0_i )
+ .def( "f_alpha", &GreensFunction3DRadAbs::f_alpha )
+ .def( "f_alpha_aux", &GreensFunction3DRadAbs::f_alpha_aux )
+
+ .def( "p_survival_i_exp", &GreensFunction3DRadAbs::p_survival_i_exp )
+ .def( "p_survival_i_alpha", &GreensFunction3DRadAbs::p_survival_i_alpha )
+
+ //.def( "guess_maxi", &GreensFunction3DRadAbs::guess_maxi )
+
+ .def( "dump", &GreensFunction3DRadAbs::dump )
+
+// .def( "alpha_i", &GreensFunction3DRadAbs::alpha_i )
+ ;
+
+ class_<GreensFunction3DAbs>("GreensFunction3DAbs",
+ init<Real, Real, Real>())
+ .def( "getName", &GreensFunction3DAbs::getName )
+ .def( "geta", &GreensFunction3DAbs::geta )
+ .def( "getD", &GreensFunction3DAbs::getD )
+ .def( "drawTime", &GreensFunction3DAbs::drawTime )
+ .def( "drawR", &GreensFunction3DAbs::drawR )
+ .def( "drawTheta",
+ &GreensFunction3DAbs::drawTheta )
+
+ .def( "p_survival",
+ &GreensFunction3DAbs::p_survival )
+ .def( "dp_survival",
+ &GreensFunction3DAbs::dp_survival )
+ .def( "p_int_r", &GreensFunction3DAbs::p_int_r )
+ .def( "p_theta", &GreensFunction3DAbs::p_theta )
+ .def( "ip_theta", &GreensFunction3DAbs::ip_theta )
+ .def( "idp_theta",
+ &GreensFunction3DAbs::idp_theta )
+
+ .def( "dump", &GreensFunction3DAbs::dump )
+ ;
+}
diff --git a/ecell4/egfrd/legacy/gui/renderParticles.py b/ecell4/egfrd/legacy/gui/renderParticles.py
new file mode 100644
index 0000000..455db9a
--- /dev/null
+++ b/ecell4/egfrd/legacy/gui/renderParticles.py
@@ -0,0 +1,167 @@
+import sys
+import numpy
+
+import vtk
+
+import random
+
+import datafile
+
+
+zoom = 1e6
+
+class Particles:
+ def __init__(self):
+ self.pos = numpy.array([[]])
+ self.pos.shape = (0, 3)
+ self.radii = numpy.array([])
+
+
+colors = [(1, .2, .2), (.2,.2,1), (.8, .8, .3)]
+
+
+def addParticles(ren, positions, radii, n):
+
+ for pos in positions:
+
+ addParticle(ren, pos, radii[n], colors[n])
+
+
+
+def addParticle(ren, pos, radius, color):
+ vpos = pos * zoom
+ sphere = vtk.vtkSphereSource()
+ sphere.SetCenter(vpos) #vpos[0],vpos[1],vpos[2] ) )
+ sphere.SetRadius(radius * zoom)
+ sphereMapper = vtk.vtkPolyDataMapper()
+ sphereMapper.SetInputConnection(sphere.GetOutputPort())
+
+ sphereActor = vtk.vtkActor()
+ sphereActor.SetMapper(sphereMapper)
+ sphereActor.GetProperty().SetColor(color)
+
+ ren.AddActor(sphereActor)
+
+
+def writeFrame(particles, renWin, header):
+
+ ren = vtk.vtkRenderer()
+ ren.SetBackground(1, 1, 1)
+
+ size = header['worldSize'] * zoom
+
+ cube = vtk.vtkCubeSource()
+ cube.SetBounds(0,size,0,size,0,size)
+ cubeMapper = vtk.vtkPolyDataMapper()
+ cubeMapper.SetInputConnection(cube.GetOutputPort())
+ cubeActor = vtk.vtkActor()
+ cubeActor.SetMapper(cubeMapper)
+
+ cubeActor.GetProperty().SetRepresentationToWireframe()
+# cubeActor.GetProperty().EdgeVisibilityOn()
+# cubeActor.GetProperty().SetEdgeColor(1.,1.,0.)
+ cubeActor.GetProperty().SetOpacity(0.1)
+ ren.AddActor(cubeActor)
+
+
+ renWin.AddRenderer(ren)
+ renWin.SetSize(400, 400)
+
+ #iren = vtk.vtkRenderWindowInteractor()
+ #iren.SetRenderWindow(renWin)
+ #style = vtk.vtkInteractorStyleTrackballCamera()
+ #iren.SetInteractorStyle(style)
+ #iren.Initialize()
+
+ for n, id in enumerate(particlePools.keys()):
+ particles = particlePools[id]
+ addParticles(ren, particles.pos, particles.radii, n)
+ print n
+
+ text = vtk.vtkTextActor()
+ text.SetInput('t = %10.9f' % float(header['t']))
+ text.GetTextProperty().SetColor(0,0,0)
+ text.SetDisplayPosition(300, 385)
+ ren.AddActor2D(text)
+
+
+ ren.ResetCamera(0,size,0,size,0,size)
+ camera = ren.GetActiveCamera()
+ camera.Zoom(1.4)
+ pos = camera.GetPosition()
+ camera.SetPosition(pos[0]*1.6, pos[1]*1.4, pos[2])
+ #camera.Dolly(1.5)
+ #camera.SetDistance(.1)
+
+
+ renWin.Render()
+
+ w2if = vtk.vtkWindowToImageFilter()
+ w2if.SetInput(renWin)
+
+ outfilename = header['name'] + '_' + str(header['count']).zfill(4) + '.png'
+
+ wr = vtk.vtkPNGWriter()
+ wr.SetInputConnection(w2if.GetOutputPort())
+ wr.SetFileName(outfilename)
+ wr.Write()
+
+ renWin.RemoveRenderer(ren)
+
+
+
+
+def loadParticles(filename):
+
+ file = open(filename)
+
+ particlePools = {}
+
+ for line in file.readlines():
+ #print line
+ if line[0] == '#':
+ continue
+
+ id, x, y, z, r = line.split()
+
+ if not id in particlePools:
+ particlePools[id] = Particles()
+
+ pool = particlePools[id]
+
+ pool.pos = numpy.append(pool.pos,
+ [[float(x), float(y), float(z)]],
+ axis=0)
+
+ pool.radii = numpy.append(pool.radii, float(r))
+
+
+ file.close()
+
+ return particlePools
+
+
+
+if __name__ == '__main__':
+
+ import glob
+
+ inpattern = sys.argv[1]
+
+ infiles = glob.glob(inpattern)
+ print infiles
+
+ renWin = vtk.vtkRenderWindow()
+ renWin.MappedOff()
+ renWin.OffScreenRenderingOn()
+
+ for infile in infiles:
+
+ header = datafile.loadHeader(infile)
+ print header
+
+ particlePools = loadParticles(infile)
+
+ writeFrame(particlePools, renWin, header)
+
+
diff --git a/ecell4/egfrd/legacy/gui/vtk_particles.py b/ecell4/egfrd/legacy/gui/vtk_particles.py
new file mode 100644
index 0000000..f8fbb03
--- /dev/null
+++ b/ecell4/egfrd/legacy/gui/vtk_particles.py
@@ -0,0 +1,148 @@
+#!/usr/bin/python
+
+
+import sys
+import os
+import subprocess
+
+import vtk
+import time
+
+import numpy
+import scipy.io
+
+
+zoom = 1e6
+size = 1e-6 * zoom
+#size = 2.1544e-7 * zoom
+
+#radii = [5e-8, 3.2e-9, 4.02e-9]
+radii = [3e-9, ]
+
+
+colors = [(1, .2, .2), (.2,.2,1), (.8, .8, .3)]
+
+
+def addParticles(ren, positions, n):
+
+ for pos in positions:
+
+ addParticle(ren, pos, radii[n], colors[n])
+
+
+
+def addParticle(ren, pos, radius, color):
+ vpos = pos * zoom
+ sphere = vtk.vtkSphereSource()
+ sphere.SetCenter(vpos[0],vpos[1],vpos[2])
+ sphere.SetRadius(radius * zoom)
+ sphereMapper = vtk.vtkPolyDataMapper()
+ sphereMapper.SetInputConnection(sphere.GetOutputPort())
+
+ sphereActor = vtk.vtkActor()
+ sphereActor.SetMapper(sphereMapper)
+ sphereActor.GetProperty().SetColor(color)
+
+ ren.AddActor(sphereActor)
+
+
+def writeFrame(infiles, outfile, renWin):
+
+ ren = vtk.vtkRenderer()
+ ren.SetBackground(1, 1, 1)
+
+ cube = vtk.vtkCubeSource()
+ cube.SetBounds(0,size,0,size,0,size)
+ cubeMapper = vtk.vtkPolyDataMapper()
+ cubeMapper.SetInputConnection(cube.GetOutputPort())
+ cubeActor = vtk.vtkActor()
+ cubeActor.SetMapper(cubeMapper)
+
+ cubeActor.GetProperty().SetRepresentationToWireframe()
+# cubeActor.GetProperty().EdgeVisibilityOn()
+# cubeActor.GetProperty().SetEdgeColor(1.,1.,0.)
+ cubeActor.GetProperty().SetOpacity(0.1)
+ ren.AddActor(cubeActor)
+
+
+ renWin.AddRenderer(ren)
+ renWin.SetSize(400, 400)
+ #iren = vtk.vtkRenderWindowInteractor()
+ #iren.SetRenderWindow(renWin)
+
+ #style = vtk.vtkInteractorStyleTrackballCamera()
+ #iren.SetInteractorStyle(style)
+
+ #iren.Initialize()
+
+ i = 0
+ for filename in infiles:
+ file = open(filename)
+ print file
+ try:
+ data = scipy.io.read_array(file)
+ except:
+ i += 1
+ continue
+
+ if data.shape == (3, ):
+ data = numpy.reshape(data, (1,3))
+
+ addParticles(ren, data, 0) #i )
+ i += 1
+
+ ren.ResetCamera(0,size,0,size,0,size)
+ camera = ren.GetActiveCamera()
+ camera.Zoom(1.4)
+ pos = camera.GetPosition()
+ camera.SetPosition(pos[0]*1.6, pos[1]*1.4, pos[2])
+ #camera.Dolly(1.5)
+ #camera.SetDistance(.1)
+
+ renWin.Render()
+
+ w2if = vtk.vtkWindowToImageFilter()
+ w2if.SetInput(renWin)
+
+ wr = vtk.vtkPNGWriter()
+ wr.SetInputConnection(w2if.GetOutputPort())
+ wr.SetFileName(outfile)
+ wr.Write()
+
+ renWin.RemoveRenderer(ren)
+
+
+
+
+def main():
+
+ print os.getcwd()
+
+ tmpdir='tmpimg'
+ outfile='out.mpeg'
+
+ if not os.access(tmpdir, os.W_OK):
+ os.mkdir(tmpdir)
+
+
+ renWin = vtk.vtkRenderWindow()
+ renWin.MappedOff()
+ renWin.OffScreenRenderingOn()
+
+ i = 0
+ for filename in sys.argv[1:]:
+
+ outfile = os.path.join(tmpdir, '%04d.png' % i)
+ print outfile
+ writeFrame((filename, ), outfile, renWin)
+ i += 1
+
+
+ subprocess.call(['ffmpeg', '-y', '-i', './%s/%%04d.png' % tmpdir, '-r', '24',
+ outfile])
+
+ #os.rmdir(tmpdir)
+
+if __name__ == '__main__':
+ main()
+
diff --git a/ecell4/egfrd/legacy/m4/ac_prog_pdflatex.m4 b/ecell4/egfrd/legacy/m4/ac_prog_pdflatex.m4
new file mode 100644
index 0000000..70c0364
--- /dev/null
+++ b/ecell4/egfrd/legacy/m4/ac_prog_pdflatex.m4
@@ -0,0 +1,22 @@
+dnl @synopsis AC_PROG_PDFLATEX
+dnl
+dnl This macro test if pdflatex is installed. If pdflatex is installed,
+dnl it set $pdflatex to the right value
+dnl
+dnl @category LaTeX
+dnl @author Mathieu Boretti <boretti at bss-network.com>
+dnl @version 2005-01-21
+dnl @license GPLWithACException
+dnl
+dnl http://ac-archive.sourceforge.net/latex/ac_prog_pdflatex.html
+
+AC_DEFUN([AC_PROG_PDFLATEX],[
+AC_CHECK_PROGS(pdflatex,[pdflatex],no)
+export pdflatex;
+dnl if test $pdflatex = "no" ;
+dnl then
+dnl AC_MSG_ERROR([Unable to find a PDFLaTeX application]);
+dnl fi
+AM_CONDITIONAL([HAVE_PDFLATEX], [test "$pdflatex" != "no"])
+AC_SUBST(pdflatex)
+])
diff --git a/ecell4/egfrd/legacy/m4/ax_boost_base.m4 b/ecell4/egfrd/legacy/m4/ax_boost_base.m4
new file mode 100644
index 0000000..cec514d
--- /dev/null
+++ b/ecell4/egfrd/legacy/m4/ax_boost_base.m4
@@ -0,0 +1,248 @@
+# ===========================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_boost_base.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_BOOST_BASE([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+#
+# DESCRIPTION
+#
+# Test for the Boost C++ libraries of a particular version (or newer)
+#
+# If no path to the installed boost library is given the macro searchs
+# under /usr, /usr/local, /opt and /opt/local and evaluates the
+# $BOOST_ROOT environment variable. Further documentation is available at
+# <http://randspringer.de/boost/index.html>.
+#
+# This macro calls:
+#
+# AC_SUBST(BOOST_CPPFLAGS) / AC_SUBST(BOOST_LDFLAGS)
+#
+# And sets:
+#
+# HAVE_BOOST
+#
+# LICENSE
+#
+# Copyright (c) 2008 Thomas Porschberg <thomas at randspringer.de>
+# Copyright (c) 2009 Peter Adolphs
+# Copyright (c) 2012 Moriyoshi Koizumi <mozo at mozo.jp>
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 13
+
+AC_DEFUN([AX_BOOST_BASE],
+[
+AC_ARG_WITH([boost],
+ [AS_HELP_STRING([--with-boost@<:@=ARG@:>@],
+ [use Boost library from a standard location (ARG=yes),
+ from the specified location (ARG=<path>),
+ or disable it (ARG=no)
+ @<:@ARG=yes@:>@ ])],
+ [
+ if test "$withval" = "no"; then
+ want_boost="no"
+ elif test "$withval" = "yes"; then
+ want_boost="yes"
+ ac_boost_path=""
+ else
+ want_boost="yes"
+ ac_boost_path="$withval"
+ fi
+ ],
+ [want_boost="yes"])
+
+
+AC_ARG_WITH([boost-libdir],
+ AS_HELP_STRING([--with-boost-libdir=LIB_DIR],
+ [Force given directory for boost libraries. Note that this will overwrite library path detection, so use this parameter only if default library detection fails and you know exactly where your boost libraries are located.]),
+ [
+ if test -d $withval
+ then
+ ac_boost_lib_path="$withval"
+ else
+ AC_MSG_ERROR(--with-boost-libdir expected directory name)
+ fi
+ ],
+ [ac_boost_lib_path=""]
+)
+
+if test "x$want_boost" = "xyes"; then
+ boost_lib_version_req=ifelse([$1], ,1.20.0,$1)
+ boost_lib_version_req_shorten=`expr $boost_lib_version_req : '\([[0-9]]*\.[[0-9]]*\)'`
+ boost_lib_version_req_major=`expr $boost_lib_version_req : '\([[0-9]]*\)'`
+ boost_lib_version_req_minor=`expr $boost_lib_version_req : '[[0-9]]*\.\([[0-9]]*\)'`
+ boost_lib_version_req_sub_minor=`expr $boost_lib_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
+ if test "x$boost_lib_version_req_sub_minor" = "x" ; then
+ boost_lib_version_req_sub_minor="0"
+ fi
+ WANT_BOOST_VERSION=`expr $boost_lib_version_req_major \* 100000 \+ $boost_lib_version_req_minor \* 100 \+ $boost_lib_version_req_sub_minor`
+ AC_MSG_CHECKING(for boostlib >= $boost_lib_version_req)
+ succeeded=no
+
+ libsubdirs="lib"
+ if test "$(uname -m)" = "x86_64"; then
+ libsubdirs="lib64 lib"
+ fi
+
+ dnl first we check the system location for boost libraries
+ dnl this location ist chosen if boost libraries are installed with the --layout=system option
+ dnl or if you install boost with RPM
+ if test -n "$ac_boost_path"; then
+ for libsubdir in $libsubdirs; do
+ if test -d "$ac_boost_path/$libsubdir" -a -d "$ac_boost_path/include/boost"; then
+ BOOST_LDFLAGS="-L$ac_boost_path/$libsubdir"
+ BOOST_CPPFLAGS="-I$ac_boost_path/include"
+ break
+ fi
+ done
+ elif test "$cross_compiling" != yes; then
+ for ac_boost_path_tmp in /usr /usr/local /opt /opt/local ; do
+ for libsubdir in $libsubdirs; do
+ if test -d "$ac_boost_path_tmp/$libsubdir" -a -d "$ac_boost_path_tmp/include/boost" -a -r "$ac_boost_path_tmp/include/boost"; then
+ BOOST_LDFLAGS="-L$ac_boost_path_tmp/$libsubdir"
+ BOOST_CPPFLAGS="-I$ac_boost_path_tmp/include"
+ break;
+ fi
+ done
+ if test -n "$BOOST_LDFLAGS"; then break; fi
+ done
+ fi
+
+ dnl overwrite ld flags if we have required special directory with
+ dnl --with-boost-libdir parameter
+ if test "$ac_boost_lib_path" != ""; then
+ BOOST_LDFLAGS="-L$ac_boost_lib_path"
+ fi
+
+ CPPFLAGS_SAVED="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
+ export CPPFLAGS
+
+ LDFLAGS_SAVED="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
+ export LDFLAGS
+
+ AC_REQUIRE([AC_PROG_CXX])
+ AC_LANG_PUSH(C++)
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ @%:@include <boost/version.hpp>
+ ]], [[
+ #if BOOST_VERSION >= $WANT_BOOST_VERSION
+ // Everything is okay
+ #else
+ # error Boost version is too old
+ #endif
+ ]])],[
+ AC_MSG_RESULT(yes)
+ succeeded=yes
+ found_system=yes
+ ],[
+ ])
+ AC_LANG_POP([C++])
+
+
+
+ dnl if we found no boost with system layout we search for boost libraries
+ dnl built and installed without the --layout=system option or for a staged(not installed) version
+ if test "x$succeeded" != "xyes"; then
+ _version=0
+ if test "$ac_boost_path" != ""; then
+ if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
+ for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do
+ _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
+ V_CHECK=`expr $_version_tmp \> $_version`
+ if test "$V_CHECK" = "1" ; then
+ _version=$_version_tmp
+ fi
+ VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
+ BOOST_CPPFLAGS="-I$ac_boost_path/include/boost-$VERSION_UNDERSCORE"
+ done
+ fi
+ else
+ if test "$cross_compiling" != yes; then
+ for ac_boost_path in /usr /usr/local /opt /opt/local ; do
+ if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
+ for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do
+ _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
+ V_CHECK=`expr $_version_tmp \> $_version`
+ if test "$V_CHECK" = "1" ; then
+ _version=$_version_tmp
+ best_path=$ac_boost_path
+ fi
+ done
+ fi
+ done
+
+ VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
+ BOOST_CPPFLAGS="-I$best_path/include/boost-$VERSION_UNDERSCORE"
+ if test "$ac_boost_lib_path" = ""
+ then
+ BOOST_LDFLAGS="-L$best_path/$libsubdir"
+ fi
+ fi
+
+ if test "x$BOOST_ROOT" != "x"; then
+ if test -d "$BOOST_ROOT" && test -r "$BOOST_ROOT" && test -d "$BOOST_ROOT/stage/$libsubdir" && test -r "$BOOST_ROOT/stage/$libsubdir"; then
+ version_dir=`expr //$BOOST_ROOT : '.*/\(.*\)'`
+ stage_version=`echo $version_dir | sed 's/boost_//' | sed 's/_/./g'`
+ stage_version_shorten=`expr $stage_version : '\([[0-9]]*\.[[0-9]]*\)'`
+ V_CHECK=`expr $stage_version_shorten \>\= $_version`
+ if test "$V_CHECK" = "1" -a "$ac_boost_lib_path" = "" ; then
+ AC_MSG_NOTICE(We will use a staged boost library from $BOOST_ROOT)
+ BOOST_CPPFLAGS="-I$BOOST_ROOT"
+ BOOST_LDFLAGS="-L$BOOST_ROOT/stage/$libsubdir"
+ fi
+ fi
+ fi
+ fi
+
+ CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
+ export CPPFLAGS
+ LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
+ export LDFLAGS
+
+ AC_LANG_PUSH(C++)
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ @%:@include <boost/version.hpp>
+ ]], [[
+ #if BOOST_VERSION >= $WANT_BOOST_VERSION
+ // Everything is okay
+ #else
+ # error Boost version is too old
+ #endif
+ ]])],[
+ AC_MSG_RESULT(yes)
+ succeeded=yes
+ found_system=yes
+ ],[
+ ])
+ AC_LANG_POP([C++])
+ fi
+
+ if test "$succeeded" != "yes" ; then
+ if test "$_version" = "0" ; then
+ AC_MSG_NOTICE([[We could not detect the boost libraries (version $boost_lib_version_req_shorten or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation.]])
+ else
+ AC_MSG_NOTICE([Your boost libraries seems to old (version $_version).])
+ fi
+ # execute ACTION-IF-NOT-FOUND (if present):
+ ifelse([$3], , :, [$3])
+ else
+ AC_SUBST(BOOST_CPPFLAGS)
+ AC_SUBST(BOOST_LDFLAGS)
+ AC_DEFINE(HAVE_BOOST,,[define if the Boost library is available])
+ # execute ACTION-IF-FOUND (if present):
+ ifelse([$2], , :, [$2])
+ fi
+
+ CPPFLAGS="$CPPFLAGS_SAVED"
+ LDFLAGS="$LDFLAGS_SAVED"
+fi
+
+])
diff --git a/ecell4/egfrd/legacy/misc/from_camel_case.sed b/ecell4/egfrd/legacy/misc/from_camel_case.sed
new file mode 100644
index 0000000..0eb9df2
--- /dev/null
+++ b/ecell4/egfrd/legacy/misc/from_camel_case.sed
@@ -0,0 +1,114 @@
+# ls *.py | xargs sed -i -r -f misc/from_camel_case.sed
+# Don't run this in gui/, too many vtk function calls.
+
+s/(\<[^A-Z][a-z_]+)([A-Z][a-z]+)/\1_\l\2/g
+s/(\<[^A-Z][a-z_]+)([A-Z][a-z]+)/\1_\l\2/g
+s/(\<[^A-Z][a-z_]+)([A-Z][a-z]+)/\1_\l\2/g
+s/(\<[^A-Z][a-z_]+)([A-Z][a-z]+)/\1_\l\2/g
+s/(\<[^A-Z][a-z_]+)([A-Z][a-z]+)/\1_\l\2/g
+s/(\<[^A-Z][a-z_]+)([A-Z][a-z]+)/\1_\l\2/g
+s/(\<[^A-Z][a-z_]+)([A-Z][a-z]+)/\1_\l\2/g
+
+
+# Extra.
+
+s/CoM/com/g
+s/coM/com/g
+s/vectorS/vector_s/g
+s/vectorX/vector_x/g
+s/vectorY/vector_y/g
+s/ZAxis/_z_axis/g
+s/unitX/unit_x/g
+s/unitY/unit_y/g
+s/unitZ/unit_z/g
+s/domainIDGenerator/domain_id_generator/g
+s/shellIDGenerator/shell_id_generator/g
+s/drawBDdisplacement/draw_bd_displacement/g
+s/calculateBDDt/calculate_bd_dt/g
+s/jTable/j_table/g
+s/yTable/y_table/g
+s/zTable/z_table/g
+s/new_inter_particleS/new_inter_particle_s/g
+s/newIV/new_iv/g
+s/eventID/event_id/g
+
+#s/particleA/particle_a/g
+#s/particleB/particle_b/g
+#s/shell_id0/shell_id_0/g
+#s/shell_id1/shell_id_1/g
+#s/test_alphan/test_alpha_n/g
+
+#s/tR/t_R/g
+#s/aR/a_R/g
+
+#s/kD/k_D/g
+#s/getD/get_D/g
+#s/drawR/draw_r/g
+
+
+# Revert
+
+# Python Logger.
+s/get_logger/getLogger/g
+s/set_formatter/setFormatter/g
+s/add_handler/addHandler/g
+s/set_level/setLevel/g
+s/max_bytes/maxBytes/g
+
+# Python UnitTest.
+s/set_up/setUp/g
+s/setUp_base/setUpBase/g
+s/tear_down/tearDown/g
+s/fail_if/failIf/g
+s/test__/test_/g
+s/assert_equal/assertEqual/g
+s/assert_not_equal/assertNotEqual/g
+s/assert_almost_equal/assertAlmostEqual/g
+s/assert_not_almost_equal/assertNotAlmostEqual/g
+s/assert_true/assertTrue/g
+s/assert_raises/assertRaises/g
+
+# Samples variables.
+s/k_f__rp/k_f_Rp/g
+s/k_b__rp/k_b_Rp/g
+s/fraction__sp/fraction_Sp/g
+
+# Ecell.
+s/get_data/getData/g
+s/load_model/loadModel/g
+s/create_logger_stub/createLoggerStub/g
+s/create_entity_stub/createEntityStub/g
+s/get_stdout/getStdout/g
+s/register_ecell_session/registerEcellSession/g
+
+# EventScheduler.
+s/add_event/addEvent/g
+s/get_top_event/getTopEvent/g
+s/get_time/getTime/g
+s/get_arg/getArg/g
+s/get_top_time/getTopTime/g
+s/get_topID/getTopID/g
+s/get_size/getSize/g
+s/get_event_by_index/getEventByIndex/g
+s/update_event_time/updateEventTime/g
+s/remove_event/removeEvent/g
+
+# World.
+s/calculate_pair__com/calculate_pair_CoM/g
+
+# Green's functions.
+s/draw_time/drawTime/g
+s/draw_event_type/drawEventType/g
+s/draw_theta/drawTheta/g
+s/get_sigma/getSigma/g
+
+# Other.
+s/array__simple/array_simple/g
+s/array__cyclic/array_cyclic/g
+s/bessel__ynu/bessel_Ynu/g
+
+# Extra after revert
+s/test_drawTime/test_draw_time/g
+s/test_drawEventType/test_draw_event_type/g
+s/test_drawTheta/test_draw_theta/g
+#s/test_drawR/test_draw_r/g
diff --git a/ecell4/egfrd/legacy/misc/strip-spaces.hs b/ecell4/egfrd/legacy/misc/strip-spaces.hs
new file mode 100644
index 0000000..c04d2dc
--- /dev/null
+++ b/ecell4/egfrd/legacy/misc/strip-spaces.hs
@@ -0,0 +1,247 @@
+-- stripspaces.hs
+
+-- Thomas Miedema
+-- March 2010
+
+-- Input: filenames
+-- Action: Strip all spaces between parenthesis and brackets from files,
+-- without messing up formatting.
+
+module Main where
+
+import Text.ParserCombinators.Parsec
+import Text.ParserCombinators.Parsec.Token
+import Monad
+import System( getArgs, system )
+import Directory( doesFileExist )
+import System.IO
+
+
+-------------------- MAIN ------------------------
+
+main = do
+ files <- getArgs
+ mapM_ stripSpacesFromFile files
+
+-- Read from stdin, write to stdout.
+--main = interact stripSpacesFromString
+
+
+-------------------- STRIP SPACES ------------------------
+
+-- Read file, strip spaces between parenthesis and brackets, overwrite file.
+stripSpacesFromFile :: String -> IO()
+stripSpacesFromFile file = do
+ exists <- doesFileExist file
+ when exists $ do input <- readFile file
+ let output = stripSpacesFromString input
+ forceList output `seq` writeFile file output
+
+-- Strip spaces between parenthesis and brackets from string.
+stripSpacesFromString :: String -> String
+stripSpacesFromString input =
+ case parse (pythonCode anyCharAsString 0) "" input of
+ --Todo: Left err -> err
+ Right output -> output
+
+-- Match Python code.
+-- The first character is either the beginning of a parens term, a brackets
+-- term, or just any character (the starting charParser is anyCharAsString).
+-- The integer `level` counts the level of nestings.
+pythonCode :: Parser [Char] -> Int -> Parser [Char]
+pythonCode charParser level = do
+ termOrChar <- try (parens2 level) <|> try (brackets2 level) <|> charParser
+ rest <- pythonCode charParser level
+ return $ termOrChar ++ rest
+ <|> return ""
+
+-- Match parentheses and content in between.
+parens2 = term ('(',')')
+
+-- Match brackets and content in between.
+brackets2 = term ('[',']')
+
+-- Match cOpen, content, cClose.
+-- Remove `level` spaces after a newline if a newline is found.
+term :: (Char, Char) -> Int -> Parser [Char]
+term (cOpen, cClose) level = do
+ (open, newLevel) <- opener cOpen level
+ let newCharParser = newlineOrAnyCharAsStringExcept (closer cClose) newLevel
+ content <- pythonCode newCharParser newLevel
+ close <- closer cClose
+ return $ open:[] ++ content ++ close
+
+-- Match character cOpen, remove at most one space and count how many.
+opener :: Char -> Int -> Parser (Char, Int)
+opener cOpen level = do char cOpen
+ n_spaces <- option 0 (char ' ' >> return 1)
+ return (cOpen, level + n_spaces)
+
+-- Remove spaces and match character cClose.
+closer :: Char -> Parser [Char]
+closer cClose = do beforeClose <- closeOptions
+ char cClose
+ return $ beforeClose ++ cClose:[]
+
+-- Match some edge cases.
+-- Don't remove spaces before single closer after a newline.
+-- Keep one space between a comma and the character cClose [1, 2, 3, ].
+closeOptions = do char '\n'
+ spaces <- many $ char ' '
+ return $ '\n':spaces
+ <|> do char ','
+ skipMany $ char ' '
+ return ", "
+ <|> do skipMany $ char ' '
+ return ""
+
+-- Match newline or any char as string except exclude.
+-- Remove `level` spaces after newline.
+newlineOrAnyCharAsStringExcept :: Parser [Char] -> Int -> Parser [Char]
+newlineOrAnyCharAsStringExcept exclude level = do notFollowedBy' exclude
+ char '\n'
+ count level $ char ' '
+ return "\n"
+ <|> anyCharAsStringExcept exclude
+
+-- Match any char as string except exclude.
+anyCharAsStringExcept :: Parser [Char] -> Parser [Char]
+anyCharAsStringExcept exclude = do notFollowedBy' exclude
+ anyCharAsString
+
+-- Match any char, return as string.
+anyCharAsString :: Parser [Char]
+anyCharAsString = do c <- anyChar
+ return $ c:[]
+
+
+-------------------- HELPERS ------------------------
+
+-- Strict evaluation of list.
+-- Could use System.IO.Strict instead, or Data.ByteString.
+forceList [] = []
+forceList (x:xs) = forceList xs `seq` (x:xs)
+
+
+-- KEEP THIS.
+-- http://www.mail-archive.com/haskell-cafe@haskell.org/msg10552.html
+-- The problem is that notFollowedBy has type
+--
+-- notFollowedBy :: Show tok => GenParser tok st tok -> GenParser tok st ()
+--
+-- ie, the result type of the parser you pass to notFollowedBy has to be
+-- the same as the token type, in this case Char.
+--
+-- A solution to this found here:
+-- http://www.haskell.org/pipermail/haskell/2004-February/013632.html
+notFollowedBy' :: Show a => GenParser tok st a -> GenParser tok st ()
+notFollowedBy' p = try $ join $ do a <- try p
+ return (unexpected (show a))
+ <|>
+ return (return ())
+
+-- Todo: parens and brackets are also defined here, but a bit different:
+-- http://hackage.haskell.org/packages/archive/parsec/3.0.0/doc/html/Text-ParserCombinators-Parsec-Token.html
+
+
+-------------------- TESTS ------------------------
+
+test = mapM_ test' [-- Parenthesis.
+ ("foo( bar )baz", "foo(bar)baz"),
+
+ -- Brackets.
+ ("foo[ bar ]baz", "foo[bar]baz"),
+
+ -- Unbalanced spaces.
+ ("foo[ bar]baz", "foo[bar]baz"),
+ ("foo[bar ]baz", "foo[bar]baz"),
+
+ -- Only one, do nothing.
+ ("foo[ bar", ""),
+ ("foo ]bar", ""),
+
+ -- Not matching.
+ ("foo[ bar ] ]baz", "foo[bar] ]baz"),
+ ("foo[ [ bar ]baz", "foo[ [bar]baz"),
+
+ -- Empty lists.
+ ("foo[ ]", "foo[]"),
+ ("foo[ ]", "foo[]"),
+
+ -- Nested.
+ ("foo[ [ bar ] ]baz", "foo[[bar]]baz"),
+
+ -- Nested and different.
+ ("foo( [ bar ] )baz", "foo([bar])baz"),
+
+ -- Mix. It happens to ignore the first.
+ ("foo( [ bar ) ]baz", "foo( [bar )]baz"),
+ ("foo[ ( bar ] )baz", "foo[ (bar ])baz"),
+
+ -- Final character is a comma of list.
+ ("foo[ 1,2,3, ]", "foo[1,2,3, ]"),
+ ("foo[,]", "foo[, ]"),
+
+ -- Remove space after newline within term.
+ ("foo[ bar\n baz ]", "foo[bar\n baz]"),
+
+ -- Remove two spaces after newline within nested term.
+ ("foo[ [ bar\n baz ] ]", "foo[[bar\n baz]]"),
+
+ -- Keep space after newline outside of term.
+ ("foo\n bar", ""),
+ ("foo[ bar\n baz", ""),
+
+ -- From epdp/utils.py.
+ -- Strip at most 1 space after opener to preserve layout.
+ ("M = numpy.array( [ [ 0.0, - a[2], a[1] ],\n\
+ \ [ a[2], 0.0, - a[0] ],\n\
+ \ [ - a[1], a[0], 0.0 ] ] )",
+ "M = numpy.array([[ 0.0, - a[2], a[1]],\n\
+ \ [ a[2], 0.0, - a[0]],\n\
+ \ [- a[1], a[0], 0.0]])"),
+
+ -- Remove three spaces after newline within 3x nested term.
+ ("M = numpy.array( [ [ cosalpha + cosalphac * r[0] * r[0],\n\
+ \ cosalphac * r[0] * r[1] - r[2] * sinalpha,\n\
+ \ cosalphac * r[0] * r[2] + r[1] * sinalpha ],\n\
+ \ [ cosalphac * r[0] * r[1] + r[2] * sinalpha,\n\
+ \ cosalpha + cosalphac * r[1] * r[1],\n\
+ \ cosalphac * r[1] * r[2] - r[0] * sinalpha ],\n\
+ \ [ cosalphac * r[0] * r[2] - r[1] * sinalpha,\n\
+ \ cosalphac * r[1] * r[2] + r[0] * sinalpha,\n\
+ \ cosalpha + cosalphac * r[2] * r[2] ] ] )",
+ "M = numpy.array([[cosalpha + cosalphac * r[0] * r[0],\n\
+ \ cosalphac * r[0] * r[1] - r[2] * sinalpha,\n\
+ \ cosalphac * r[0] * r[2] + r[1] * sinalpha],\n\
+ \ [cosalphac * r[0] * r[1] + r[2] * sinalpha,\n\
+ \ cosalpha + cosalphac * r[1] * r[1],\n\
+ \ cosalphac * r[1] * r[2] - r[0] * sinalpha],\n\
+ \ [cosalphac * r[0] * r[2] - r[1] * sinalpha,\n\
+ \ cosalphac * r[1] * r[2] + r[0] * sinalpha,\n\
+ \ cosalpha + cosalphac * r[2] * r[2]]])"),
+
+ -- Edge case from epdp/myrandom.py.
+ -- Don't remove spaces before single closer after a newline.
+ ("__all__ = (\n\
+ \ 'shuffle',\n\
+ \ 'uniform',\n\
+ \ 'normal',\n\
+ \ 'seed',\n\
+ \ 'get_raw'\n\
+ \ )", "")]
+
+ where
+ test' :: (String, String) -> IO()
+ test' (a, b) = let a' = stripSpacesFromString a in
+ if (a' == a) || (a' == b)
+ then print True
+ else do putStrLn "\nInput:"
+ putStrLn a
+ putStrLn "\nExpected output:"
+ putStrLn b
+ putStrLn "\nOutput:"
+ putStrLn a'
+ putStrLn "\n"
+
+
diff --git a/ecell4/egfrd/legacy/misc/unroller.py b/ecell4/egfrd/legacy/misc/unroller.py
new file mode 100644
index 0000000..df1b2b3
--- /dev/null
+++ b/ecell4/egfrd/legacy/misc/unroller.py
@@ -0,0 +1,29 @@
+import re
+import sys
+
+sys.argv.pop(0)
+
+def cb(g):
+ ind = g.group(1)
+ exc = g.group(2)
+ cond = g.group(3)
+ vars = []
+ for m in re.finditer(r'(?:^|[^a-zA-Z0-9_])((?:[a-zA-Z_][a-zA-Z0-9_]*|->)+)', cond):
+ var = m.group(1)
+ if var not in vars:
+ vars.append(var)
+ vars_fmt = []
+ for var in vars:
+ vars_fmt.append('%s=%%.16g' % var)
+ vars = ' % '.join(vars)
+ vars_fmt = ', '.join(vars_fmt)
+ return '''%(ind)sif (!(%(cond)s))
+%(ind)s{
+%(ind)s throw %(exc)s((boost::format("%(cond)s: %(vars_fmt)s") %% %(vars)s).str());
+%(ind)s}
+''' % locals()
+
+for f in sys.argv:
+ c = re.sub(r'''([\t]*)THROW_UNLESS\(\s*([^, ]*)\s*,\s*([^,)]*)\s*\);''', cb,
+ file(f).read())
+ file(f, 'w').write(c)
diff --git a/ecell4/egfrd/legacy/peer/compat.h b/ecell4/egfrd/legacy/peer/compat.h
new file mode 100644
index 0000000..96e6df1
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/compat.h
@@ -0,0 +1,38 @@
+#ifndef PEER_COMPAT_H
+#define PEER_COMPAT_H
+
+#if PY_VERSION_HEX < 0x02050000
+
+typedef inquiry lenfunc;
+typedef intargfunc ssizeargfunc;
+typedef intintargfunc ssizessizeargfunc;
+typedef intobjargproc ssizeobjargproc;
+typedef intintobjargproc ssizessizeobjargproc;
+typedef int Py_ssize_t;
+
+static Py_ssize_t PyNumber_AsSsize_t(PyObject *item, PyObject* err)
+{
+ Py_ssize_t retval = PyInt_AsLong(item);
+ if (retval == -1 || PyErr_Occurred()) {
+ if (err) {
+ PyErr_Format(err,"cannot convert '%.200s' to Py_ssize_t",
+ item->ob_type->tp_name);
+ }
+ }
+ return retval;
+}
+
+static Py_ssize_t _PyObject_LengthHint(PyObject *obj)
+{
+ return -1;
+}
+
+#endif /* PY_VERSION_HEX < 0x02050000 */
+
+#if PY_VERSION_HEX < 0x02060000
+#define compat_PyObject_LengthHint(a) _PyObject_LengthHint(a)
+#else
+#define compat_PyObject_LengthHint(a) _PyObject_LengthHint(a, -1)
+#endif
+
+#endif /* PEER_COMPAT_H */
diff --git a/ecell4/egfrd/legacy/peer/converters/generator/from_python.hpp b/ecell4/egfrd/legacy/peer/converters/generator/from_python.hpp
new file mode 100644
index 0000000..8acb411
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/converters/generator/from_python.hpp
@@ -0,0 +1,33 @@
+#ifndef PEER_CONVERTERS_GENERATOR_TO_PYTHON_HPP
+#define PEER_CONVERTERS_GENERATOR_TO_PYTHON_HPP
+
+namespace peer { namespace converters {
+
+struct pyiterator_to_generator_converter
+{
+ typedef Twrapper_ native_type;
+ typedef Tgen_ generator_type;
+
+ static void* convertible(PyObject* pyo)
+ {
+ if (!PyObject_TypeCheck(pyo, &native_type::__class__))
+ {
+ return 0;
+ }
+ return pyo;
+ }
+
+ static void construct(PyObject* pyo,
+ boost::python::converter::rvalue_from_python_stage1_data* data)
+ {
+ void* storage(reinterpret_cast<
+ boost::python::converter::rvalue_from_python_storage<Tgen_>* >(
+ data)->storage.bytes);
+ new (storage) Tgen_(reinterpret_cast<native_type*>(pyo)->impl_);
+ data->convertible = storage;
+ }
+};
+
+} // namespace peer::converters
+
+#endif /* PEER_CONVERTERS_GENERATOR_TO_PYTHON_HPP */
diff --git a/ecell4/egfrd/legacy/peer/converters/generator/to_python.hpp b/ecell4/egfrd/legacy/peer/converters/generator/to_python.hpp
new file mode 100644
index 0000000..3a54166
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/converters/generator/to_python.hpp
@@ -0,0 +1,50 @@
+#ifndef PEER_CONVERTERS_GENERATOR_TO_PYTHON_HPP
+#define PEER_CONVERTERS_GENERATOR_TO_PYTHON_HPP
+
+#include "peer/wrappers/generator/generator_wrapper.hpp"
+
+namespace peer { namespace converters {
+
+template<typename Tgen_>
+struct generator_to_pyiterator_converter
+{
+ typedef Tgen_ native_type;
+ typedef peer::wrappers::generator_wrapper<native_type> wrapper_type;
+
+ static PyObject* convert(native_type const& impl)
+ {
+ return wrapper_type::create(impl);
+ }
+
+ static PyTypeObject* get_pytype()
+ {
+ return &wrapper_type::__class__;
+ }
+};
+
+template<typename Tgen_, typename Tholder_>
+struct ptr_generator_to_pyiterator_converter
+{
+ typedef Tgen_* native_type;
+ typedef ptr_generator<Tgen_, Tholder_> ptr_generator_type;
+ typedef peer::wrappers::generator_wrapper<ptr_generator_type> wrapper_type;
+
+ static PyObject* convert(native_type const& impl)
+ {
+ if (impl)
+ {
+ Tholder_ ptr(impl);
+ return wrapper_type::create(ptr_generator_type(ptr));
+ }
+ return boost::python::incref(Py_None);
+ }
+
+ static PyTypeObject* get_pytype()
+ {
+ return &wrapper_type::__class__;
+ }
+};
+
+} } // namespace peer::converters
+
+#endif /* PEER_CONVERTERS_GENERATOR_TO_PYTHON_HPP */
diff --git a/ecell4/egfrd/legacy/peer/converters/iterator.hpp b/ecell4/egfrd/legacy/peer/converters/iterator.hpp
new file mode 100644
index 0000000..75fd4a0
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/converters/iterator.hpp
@@ -0,0 +1,16 @@
+#ifndef PEER_CONVERTERS_ITERATOR_HPP
+#define PEER_CONVERTERS_ITERATOR_HPP
+
+#include "peer/converters/iterator/to_python.hpp"
+
+namespace peer { namespace converters {
+
+template<typename Trange, typename Tholder, typename Trcg>
+inline void register_stl_iterator_range_converter()
+{
+ boost::python::to_python_converter<Trange, stl_iterator_range_converter<Trange, Tholder, Trcg> >();
+}
+
+} } // namespace peer::converters
+
+#endif /* PEER_CONVERTERS_ITERATOR_HPP */
diff --git a/ecell4/egfrd/legacy/peer/converters/iterator/to_python.hpp b/ecell4/egfrd/legacy/peer/converters/iterator/to_python.hpp
new file mode 100644
index 0000000..15c4830
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/converters/iterator/to_python.hpp
@@ -0,0 +1,22 @@
+#ifndef PEER_CONVERTERS_ITERATOR_TO_PYTHON_HPP
+#define PEER_CONVERTERS_ITERATOR_TO_PYTHON_HPP
+
+#include <boost/python.hpp>
+#include "peer/wrappers/iterator/stl_iterator_wrapper.hpp"
+
+namespace peer { namespace converters {
+
+template<typename Trange_, typename Tholder_ = void*, typename Trcg_ = boost::python::return_by_value>
+struct stl_iterator_range_converter
+{
+ typedef Trange_ native_type;
+
+ static PyObject* convert(native_type const& v)
+ {
+ return reinterpret_cast<PyObject*>(peer::wrappers::stl_iterator_wrapper<typename boost::range_const_iterator<native_type>::type, Tholder_, Trcg_>::create(v));
+ }
+};
+
+} } // namespace peer::converters
+
+#endif /* PEER_CONVERTERS_ITERATOR_TO_PYTHON_HPP */
diff --git a/ecell4/egfrd/legacy/peer/converters/sequence.hpp b/ecell4/egfrd/legacy/peer/converters/sequence.hpp
new file mode 100644
index 0000000..d5352a0
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/converters/sequence.hpp
@@ -0,0 +1,72 @@
+#ifndef PEER_CONVERTERS_SEQUENCE_HPP
+#define PEER_CONVERTERS_SEQUENCE_HPP
+
+#include "peer/wrappers/range/pyiterable_range.hpp"
+#include "peer/converters/sequence/from_python.hpp"
+#include "peer/converters/sequence/to_python.hpp"
+#include "peer/utils.hpp"
+
+namespace peer { namespace converters {
+
+template<typename Trange_>
+inline void register_range_to_tuple_converter()
+{
+ static bool registered = false;
+ if (!registered)
+ {
+ boost::python::to_python_converter<
+ Trange_, range_to_pytuple_converter<Trange_> >();
+ registered = true;
+ }
+}
+
+template<typename Trange_>
+inline void register_range_to_list_converter()
+{
+ static bool registered = false;
+ if (!registered)
+ {
+ boost::python::to_python_converter<
+ Trange_, range_to_pylist_converter<Trange_> >();
+ registered = true;
+ }
+}
+
+template<typename Trange_>
+inline void register_iterable_to_range_converter()
+{
+ static bool registered = false;
+ if (!registered)
+ {
+ peer::util::to_native_converter<Trange_, pyiterable_to_container_converter<Trange_> >();
+ registered = true;
+ }
+}
+
+template<typename Trange_, std::size_t N_>
+inline void register_iterable_to_ra_container_converter()
+{
+ static bool registered = false;
+ if (!registered)
+ {
+ peer::util::to_native_converter<Trange_, pyiterable_to_ra_container_converter<Trange_, N_> >();
+ registered = true;
+ }
+}
+
+template<typename Tvalue_>
+inline void register_pyiterable_range_converter()
+{
+ static bool registered = false;
+ if (!registered)
+ {
+ peer::util::to_native_converter<
+ peer::wrappers::pyiterable_range<Tvalue_>,
+ peer::converters::pyiterable_range_converter<Tvalue_> >();
+ registered = true;
+ }
+}
+
+} } // namespace peer::converters
+
+#endif /* PEER_CONVERTERS_SEQUENCE_HPP */
diff --git a/ecell4/egfrd/legacy/peer/converters/sequence/from_python.hpp b/ecell4/egfrd/legacy/peer/converters/sequence/from_python.hpp
new file mode 100644
index 0000000..ef12669
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/converters/sequence/from_python.hpp
@@ -0,0 +1,140 @@
+#ifndef PEER_CONVERTERS_SEQUENCE_FROM_PYTHON_HPP
+#define PEER_CONVERTERS_SEQUENCE_FROM_PYTHON_HPP
+
+#include <boost/python.hpp>
+#include <boost/range/value_type.hpp>
+#include "peer/wrappers/range/pyiterable_range.hpp"
+
+namespace peer { namespace converters {
+
+template<typename Tcntnr_>
+struct pyiterable_to_container_converter
+{
+ typedef Tcntnr_ native_type;
+
+ static void* convertible(PyObject* pyo)
+ {
+ PyObject* const retval(PyObject_GetIter(pyo));
+ if (!retval)
+ {
+ PyErr_Clear();
+ return 0;
+ }
+ return retval;
+ }
+
+ static void construct(PyObject* pyo,
+ boost::python::converter::rvalue_from_python_stage1_data* data)
+ {
+ void* storage(reinterpret_cast<
+ boost::python::converter::rvalue_from_python_storage<native_type>*>(data)->storage.bytes);
+ boost::python::handle<> iter(
+ reinterpret_cast<PyObject*>(data->convertible));
+
+ data->convertible = new (storage) native_type();
+ native_type& retval(*reinterpret_cast<native_type*>(data->convertible));
+ for (;;)
+ {
+ boost::python::handle<> i(
+ boost::python::allow_null(PyIter_Next(iter.get())));
+ if (!i)
+ {
+ if (PyErr_Occurred())
+ {
+ boost::python::throw_error_already_set();
+ }
+ break;
+ }
+ retval.insert(boost::end(retval),
+ boost::python::extract<
+ typename boost::range_value<native_type>::type>(
+ i.get())());
+ }
+ }
+};
+
+template<typename Trange_, std::size_t N_>
+struct pyiterable_to_ra_container_converter
+{
+ typedef Trange_ native_type;
+
+ static void* convertible(PyObject* pyo)
+ {
+ PyObject* const retval(PyObject_GetIter(pyo));
+ if (!retval)
+ {
+ PyErr_Clear();
+ return 0;
+ }
+ return retval;
+ }
+
+ static void construct(PyObject* pyo,
+ boost::python::converter::rvalue_from_python_stage1_data* data)
+ {
+ void* storage(reinterpret_cast<
+ boost::python::converter::rvalue_from_python_storage<native_type>*>(data)->storage.bytes);
+ boost::python::handle<> iter(
+ reinterpret_cast<PyObject*>(data->convertible));
+
+ data->convertible = new (storage) native_type();
+ native_type& retval(*reinterpret_cast<native_type*>(data->convertible));
+ std::size_t idx(0);
+ for (;;)
+ {
+ boost::python::handle<> i(boost::python::allow_null(PyIter_Next(iter.get())));
+ if (!i)
+ {
+ if (PyErr_Occurred())
+ {
+ boost::python::throw_error_already_set();
+ }
+ break;
+ }
+ if (idx >= N_)
+ {
+ PyErr_Format(PyExc_ValueError, "iterable generated more than %zd items", N_);
+ boost::python::throw_error_already_set();
+ }
+ retval[idx++] = boost::python::extract<
+ typename boost::range_value<native_type>::type>(
+ i.get())();
+ }
+ if (idx < N_)
+ {
+ PyErr_Format(PyExc_ValueError, "iterable generated less than %zd items", N_);
+ boost::python::throw_error_already_set();
+ }
+ }
+};
+
+template<typename Tvalue_>
+struct pyiterable_range_converter
+{
+ typedef peer::wrappers::pyiterable_range<Tvalue_> native_type;
+
+ static void* convertible(PyObject* pyo)
+ {
+ if (!PyType_HasFeature(Py_TYPE(pyo), Py_TPFLAGS_HAVE_ITER))
+ {
+ return 0;
+ }
+ return pyo;
+ }
+
+ static void construct(PyObject* pyo,
+ boost::python::converter::rvalue_from_python_stage1_data* data)
+ {
+ using namespace boost::python;
+
+ void* storage(reinterpret_cast<
+ converter::rvalue_from_python_storage<native_type>*>(data)->storage.bytes);
+ data->convertible = new (storage) native_type(
+ boost::python::object(boost::python::borrowed(pyo)));
+ }
+};
+
+
+} } // namespace peer::converters
+
+#endif /* PEER_CONVERTERS_SEQUENCE_FROM_PYTHON_HPP */
diff --git a/ecell4/egfrd/legacy/peer/converters/sequence/to_python.hpp b/ecell4/egfrd/legacy/peer/converters/sequence/to_python.hpp
new file mode 100644
index 0000000..39e8285
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/converters/sequence/to_python.hpp
@@ -0,0 +1,75 @@
+#ifndef PEER_CONVERTERS_SEQUENCE_TO_PYTHON_HPP
+#define PEER_CONVERTERS_SEQUENCE_TO_PYTHON_HPP
+
+#include <Python.h>
+#include <tupleobject.h>
+#include <listobject.h>
+#include <boost/python.hpp>
+#include <boost/range/const_iterator.hpp>
+#include <boost/range/begin.hpp>
+#include <boost/range/end.hpp>
+
+namespace peer { namespace converters {
+
+template<typename Trange_, typename Tpolicy_>
+struct range_to_pyseq_converter
+{
+ typedef Trange_ native_type;
+ typedef Tpolicy_ policy_type;
+
+ static PyObject* convert(const native_type& p)
+ {
+ using namespace boost::python;
+ PyObject* retval = policy_type::create(boost::size(p));
+ Py_ssize_t idx = 0;
+ for (typename boost::range_const_iterator<native_type>::type i(boost::begin(p)), e(boost::end(p)); i != e; ++i, ++idx)
+ {
+ policy_type::set(retval, idx, incref(object(*i).ptr()));
+ }
+ return retval;
+ }
+};
+
+struct tuple_policy
+{
+ static PyObject* create(Py_ssize_t size)
+ {
+ return PyTuple_New(size);
+ }
+
+ static void set(PyObject* tuple, Py_ssize_t idx, PyObject* obj)
+ {
+ PyTuple_SET_ITEM(tuple, idx, obj);
+ }
+};
+
+struct list_policy
+{
+ static PyObject* create(Py_ssize_t size)
+ {
+ return PyList_New(size);
+ }
+
+ static void set(PyObject* tuple, Py_ssize_t idx, PyObject* obj)
+ {
+ PyList_SET_ITEM(tuple, idx, obj);
+ }
+};
+
+template<typename Trange_>
+struct range_to_pytuple_converter
+ : public range_to_pyseq_converter<Trange_, tuple_policy>
+{
+ typedef Trange_ native_type;
+};
+
+template<typename Trange_>
+struct range_to_pylist_converter
+ : public range_to_pyseq_converter<Trange_, list_policy>
+{
+ typedef Trange_ native_type;
+};
+
+} } // namespace peer::converters
+
+#endif /* PEER_CONVERTERS_SEQUENCE_TO_PYTHON_HPP */
diff --git a/ecell4/egfrd/legacy/peer/converters/tuple.hpp b/ecell4/egfrd/legacy/peer/converters/tuple.hpp
new file mode 100644
index 0000000..e105a60
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/converters/tuple.hpp
@@ -0,0 +1,29 @@
+#ifndef PEER_CONVERTERS_TUPLE_HPP
+#define PEER_CONVERTERS_TUPLE_HPP
+
+#include <boost/shared_ptr.hpp>
+#include "peer/converters/tuple/to_python.hpp"
+#include "peer/converters/tuple/from_python.hpp"
+#include "peer/utils.hpp"
+
+namespace peer { namespace converters {
+
+template<typename Ttuple_>
+inline void register_tuple_converter()
+{
+ static bool registered = false;
+ if (!registered)
+ {
+ boost::python::to_python_converter<
+ Ttuple_, tuple_to_pytuple_converter<Ttuple_> >();
+ boost::python::to_python_converter<
+ boost::shared_ptr<Ttuple_>,
+ tuple_to_pytuple_converter<boost::shared_ptr<Ttuple_> > >();
+ peer::util::to_native_converter<Ttuple_, pytuple_to_tuple_converter<Ttuple_> >();
+ registered = true;
+ }
+}
+
+} } // namespace peer::converters
+
+#endif /* PEER_CONVERTERS_TUPLE_HPP */
diff --git a/ecell4/egfrd/legacy/peer/converters/tuple/from_python.hpp b/ecell4/egfrd/legacy/peer/converters/tuple/from_python.hpp
new file mode 100644
index 0000000..10999e8
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/converters/tuple/from_python.hpp
@@ -0,0 +1,100 @@
+#ifndef PEER_CONVERTERS_TUPLE_FROM_PYTHON_HPP
+#define PEER_CONVERTERS_TUPLE_FROM_PYTHON_HPP
+
+#include <utility>
+#include <boost/tuple/tuple.hpp>
+#include <boost/python/tuple.hpp>
+#include <boost/preprocessor/cat.hpp>
+#include <boost/preprocessor/arithmetic/sub.hpp>
+#include <boost/preprocessor/repetition/repeat_from_to.hpp>
+#include <boost/preprocessor/repetition/enum.hpp>
+#include <boost/preprocessor/repetition/enum_params.hpp>
+
+namespace peer { namespace converters {
+
+template<typename Ttuple_>
+struct pytuple_to_tuple_converter
+{
+ static void* convertible(PyObject* pyo)
+ {
+ return 0;
+ }
+
+ static void construct(PyObject* pyo,
+ boost::python::converter::rvalue_from_python_stage1_data* data)
+ {
+ }
+};
+
+#define TUPLE_CONVERTERS_PYTUPLE_TO_TUPLE_TEMPLATE_EXTRACT(__z__, __n__, __v__) \
+(boost::python::extract<BOOST_PP_CAT(__v__,__n__)>(boost::python::handle<>(PySequence_GetItem(pyo, __n__)).get()))()
+
+#define TUPLE_CONVERTERS_PYTUPLE_TO_TUPLE_TEMPLATE(__z__, __n__, __v__) \
+template<BOOST_PP_ENUM_PARAMS(__n__, typename T)> \
+struct pytuple_to_tuple_converter<boost::tuples::tuple<BOOST_PP_ENUM_PARAMS(__n__, T)> > \
+{ \
+ typedef boost::tuples::tuple<BOOST_PP_ENUM_PARAMS(__n__, T)> native_type; \
+\
+ static void* convertible(PyObject* pyo) \
+ { \
+ if (!PySequence_Check(pyo)) \
+ { \
+ return 0; \
+ } \
+\
+ if (PySequence_Size(pyo) != __n__) \
+ { \
+ return 0; \
+ } \
+ return pyo; \
+ } \
+\
+ static void construct(PyObject* pyo, \
+ boost::python::converter::rvalue_from_python_stage1_data* data) \
+ { \
+ void* storage(reinterpret_cast< \
+ boost::python::converter::rvalue_from_python_storage<native_type>*>(data)->storage.bytes); \
+ data->convertible = new (storage) native_type( \
+ BOOST_PP_ENUM(__n__, TUPLE_CONVERTERS_PYTUPLE_TO_TUPLE_TEMPLATE_EXTRACT, T)); \
+ } \
+};
+
+BOOST_PP_REPEAT_FROM_TO(1, 10, TUPLE_CONVERTERS_PYTUPLE_TO_TUPLE_TEMPLATE, );
+
+#undef TUPLE_CONVERTERS_PYTUPLE_TO_TUPLE_TEMPLATE_NULLTYPE
+#undef TUPLE_CONVERTERS_PYTUPLE_TO_TUPLE_TEMPLATE_EXTRACT
+#undef TUPLE_CONVERTERS_PYTUPLE_TO_TUPLE_TEMPLATE
+
+template<typename Tfirst_, typename Tsecond_>
+struct pytuple_to_tuple_converter<std::pair<Tfirst_, Tsecond_> >
+{
+ typedef std::pair<Tfirst_, Tsecond_> native_type;
+
+ static void* convertible(PyObject* pyo)
+ {
+ if (!PySequence_Check(pyo))
+ {
+ return 0;
+ }
+
+ if (PySequence_Size(pyo) != 2)
+ {
+ return 0;
+ }
+ return pyo;
+ }
+
+ static void construct(PyObject* pyo,
+ boost::python::converter::rvalue_from_python_stage1_data* data)
+ {
+ void* storage(reinterpret_cast<
+ boost::python::converter::rvalue_from_python_storage<native_type>*>(data)->storage.bytes);
+ data->convertible = new (storage) native_type(
+ boost::python::extract<Tfirst_>(boost::python::handle<>(PySequence_GetItem(pyo, 0)).get())(),
+ boost::python::extract<Tsecond_>(boost::python::handle<>(PySequence_GetItem(pyo, 1)).get())());
+ }
+};
+
+} } // namespace peer::converters
+
+#endif /* PEER_CONVERTERS_TUPLE_FROM_PYTOHN_HPP */
diff --git a/ecell4/egfrd/legacy/peer/converters/tuple/to_python.hpp b/ecell4/egfrd/legacy/peer/converters/tuple/to_python.hpp
new file mode 100644
index 0000000..5d644dc
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/converters/tuple/to_python.hpp
@@ -0,0 +1,68 @@
+#ifndef PEER_CONVERTERS_TUPLE_TO_PYTHON_HPP
+#define PEER_CONVERTERS_TUPLE_TO_PYTHON_HPP
+
+#include <boost/python/tuple.hpp>
+#include <boost/tuple/tuple.hpp>
+
+namespace peer { namespace converters {
+
+namespace detail
+{
+ template<typename Ttcell_>
+ inline void build_pytuple_from_tuple(PyObject* pyt, const Ttcell_& cell,
+ Py_ssize_t idx = 0)
+ {
+ PyTuple_SetItem(pyt, idx,
+ boost::python::incref(
+ boost::python::object(cell.get_head()).ptr()));
+ build_pytuple_from_tuple(pyt, cell.get_tail(), idx + 1);
+ }
+
+ template<>
+ inline void build_pytuple_from_tuple<boost::tuples::null_type>(
+ PyObject*, const boost::tuples::null_type&, Py_ssize_t) {}
+} // namespace detail
+
+template<typename Ttuple_>
+struct tuple_to_pytuple_converter
+{
+ typedef Ttuple_ argument_value_type;
+ typedef const argument_value_type& argument_type;
+ static PyObject* convert(argument_type val)
+ {
+ PyObject* retval =
+ PyTuple_New(boost::tuples::length<Ttuple_>::value);
+ build_pytuple_from_tuple(retval, val);
+ return retval;
+ }
+};
+
+template<typename Tfirst_, typename Tsecond_>
+struct tuple_to_pytuple_converter<std::pair<Tfirst_, Tsecond_> >
+{
+ typedef std::pair<Tfirst_, Tsecond_> argument_value_type;
+ typedef const argument_value_type& argument_type;
+
+ static PyObject* convert(argument_type val)
+ {
+ return boost::python::incref(
+ boost::python::make_tuple(
+ val.first, val.second).ptr());
+ }
+};
+
+template<typename Ttuple_>
+struct tuple_to_pytuple_converter<boost::shared_ptr<Ttuple_> >
+{
+ typedef Ttuple_ argument_value_type;
+ typedef boost::shared_ptr<argument_value_type> argument_type;
+ static PyObject* convert(argument_type val)
+ {
+ return tuple_to_pytuple_converter<argument_value_type>::convert(
+ *val);
+ }
+};
+
+} } // namespace peer::converters
+
+#endif /* PEER_CONVERTERS_TUPLE_TO_PYTHON_HPP */
diff --git a/ecell4/egfrd/legacy/peer/numpy/ndarray_converters.hpp b/ecell4/egfrd/legacy/peer/numpy/ndarray_converters.hpp
new file mode 100644
index 0000000..c9bbac6
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/numpy/ndarray_converters.hpp
@@ -0,0 +1,179 @@
+#ifndef PEER_NUMPY_NDARRAY_CONVERTERS_HPP
+#define PEER_NUMPY_NDARRAY_CONVERTERS_HPP
+
+#include <stdexcept>
+#include <complex>
+#include <vector>
+#include <boost/python.hpp>
+#include <boost/array.hpp>
+#include <boost/multi_array.hpp>
+#include <numpy/arrayobject.h>
+#include "peer/utils.hpp"
+#include "peer/numpy/pyarray_backed_allocator.hpp"
+#include "peer/numpy/type_mappings.hpp"
+#include "utils/fun_wrappers.hpp"
+
+namespace peer {
+
+namespace util
+{
+ namespace detail
+ {
+ namespace for_compile_time_error
+ {
+ template<typename T_>
+ class numpy_type_does_not_yield_from_;
+ };
+
+ template<typename Tarray_>
+ struct to_ndarray_converter
+ {
+ typedef for_compile_time_error::
+ numpy_type_does_not_yield_from_<Tarray_> _;
+ };
+
+ template<typename T_, std::size_t N_>
+ struct to_ndarray_converter<
+ boost::multi_array<T_, N_, pyarray_backed_allocator<T_> > >
+ {
+ typedef boost::multi_array<T_, N_, pyarray_backed_allocator<T_> > source_type;
+ static PyObject* convert(const source_type& val)
+ {
+ const npy_intp* dims;
+ npy_intp _dims[N_];
+
+ if (sizeof(npy_intp) == sizeof(typename source_type::size_type))
+ {
+ dims = reinterpret_cast<const npy_intp*>(val.shape());
+ }
+ else
+ {
+ for (std::size_t i = 0; i < N_; ++i)
+ _dims[i] = val.shape()[i];
+ dims = _dims;
+ }
+ PyObject* retval = PyArray_New(&PyArray_Type, N_,
+ const_cast<npy_intp*>(dims),
+ get_numpy_typecode<T_>::value, NULL,
+ const_cast<source_type&>(val).origin(), 0,
+ NPY_CARRAY, NULL);
+ reinterpret_cast<PyArrayObject*>(retval)->flags |= NPY_OWNDATA;
+ return retval;
+ }
+ };
+
+ template<typename T_>
+ struct to_ndarray_converter<std::vector<T_, pyarray_backed_allocator<T_ > > >
+ {
+ typedef std::vector<T_, pyarray_backed_allocator<T_> > source_type;
+
+ static PyObject* convert(const source_type& val)
+ {
+ const npy_intp dims[1] = { val.size() };
+
+ PyObject* retval = PyArray_New(&PyArray_Type, 1,
+ const_cast<npy_intp*>(dims),
+ get_numpy_typecode<T_>::value, NULL,
+ //const_cast<source_type&>(val).data(), 0,
+ &const_cast<source_type&>(val)[0], 0,
+ NPY_CARRAY, NULL);
+ reinterpret_cast<PyArrayObject*>(retval)->flags |= NPY_OWNDATA;
+ return retval;
+ }
+ };
+
+
+ template<typename T_, typename Talloc_>
+ struct to_ndarray_converter<std::vector<T_, Talloc_> >
+ {
+ typedef std::vector<T_, Talloc_> source_type;
+
+ static PyObject* convert(const source_type& val)
+ {
+ typedef pyarray_backed_allocator<boost::python::object>
+ pyobject_array_allocator_type;
+
+ BOOST_STATIC_ASSERT(
+ sizeof(boost::python::object) == sizeof(PyObject*));
+
+ const npy_intp dims[1] = { val.size() };
+ pyobject_array_allocator_type alloc(false);
+ boost::python::object* converted_data =
+ alloc.allocate(val.size());
+
+ boost::python::object* di = converted_data;
+ try
+ {
+ for (typename source_type::const_iterator i(val.begin()),
+ e(val.end());
+ i != e; ++i)
+ {
+ new(di) boost::python::object(*i);
+ ++di; // this must be incremented after the pointed
+ // object pointed is successfully initialized
+ }
+ }
+ catch (const std::exception&)
+ {
+ std::for_each(converted_data, di, destruct_ptr<
+ pyobject_array_allocator_type>(alloc));
+ return NULL;
+ }
+
+ PyObject* retval = PyArray_New(&PyArray_Type, 1,
+ const_cast<npy_intp*>(dims),
+ get_numpy_typecode<boost::python::object>::value,
+ NULL, converted_data, 0,
+ NPY_CARRAY, NULL);
+ reinterpret_cast<PyArrayObject*>(retval)->flags |= NPY_OWNDATA;
+ return retval;
+ }
+ };
+
+ template<typename T_, typename Telem_, std::size_t N_>
+ struct array_to_ndarray_converter
+ {
+ typedef T_ native_type;
+
+ static PyObject* convert( const native_type& p )
+ {
+ static const npy_intp dims[1] = { N_ };
+ void* data(PyDataMem_NEW(N_ * sizeof(Telem_)));
+ memcpy(data, static_cast<const void*>( &p[0] ),
+ N_ * sizeof(Telem_));
+ PyObject* array( PyArray_New(&PyArray_Type, 1,
+ const_cast<npy_intp*>(dims),
+ peer::util::get_numpy_typecode<
+ Telem_>::value,
+ NULL, data, 0, NPY_CARRAY, NULL));
+ reinterpret_cast<PyArrayObject*>(array)->flags |= NPY_OWNDATA;
+ return array;
+ }
+ };
+
+ template<typename T_, std::size_t N_>
+ struct to_ndarray_converter<boost::array<T_, N_> >
+ : array_to_ndarray_converter<boost::array<T_, N_>, T_, N_> {};
+
+ template<typename T_, std::size_t N_>
+ struct to_ndarray_converter<T_[N_]>
+ : array_to_ndarray_converter<T_[N_], T_, N_> {};
+
+ } // namespace detail
+
+ template<typename Tarray_>
+ inline void register_multi_array_converter()
+ {
+ static bool registered = false;
+ if (!registered)
+ {
+ boost::python::to_python_converter<
+ Tarray_, detail::to_ndarray_converter<Tarray_> >();
+ registered = true;
+ }
+ }
+} // namespace util
+
+} // namespace peer
+
+#endif /* PPER_NUMPY_NDARRAY_CONVERTERS_HPP */
diff --git a/ecell4/egfrd/legacy/peer/numpy/pyarray_backed_allocator.hpp b/ecell4/egfrd/legacy/peer/numpy/pyarray_backed_allocator.hpp
new file mode 100644
index 0000000..70fe0b8
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/numpy/pyarray_backed_allocator.hpp
@@ -0,0 +1,171 @@
+#ifndef OBJECTMATRIX_PEER_NUMPY_PYARRAY_BACKED_ALLOCATOR_HPP
+#define OBJECTMATRIX_PEER_NUMPY_PYARRAY_BACKED_ALLOCATOR_HPP
+
+#include <cstddef>
+#include <limits>
+#include <numpy/arrayobject.h>
+
+namespace peer {
+
+namespace util
+{
+ namespace detail
+ {
+ class pyarray_backed_allocator_base
+ {
+ public:
+ typedef std::size_t size_type;
+ typedef std::ptrdiff_t difference_type;
+
+ protected:
+ struct allocator_state
+ {
+ bool giveup_ownership;
+
+ protected:
+ std::size_t refcount;
+
+ public:
+ allocator_state(bool _giveup_ownership = false)
+ : giveup_ownership(_giveup_ownership), refcount(1) {}
+
+ bool release()
+ {
+ return 0 == --refcount;
+ }
+
+ allocator_state& add_ref()
+ {
+ ++refcount;
+ return *this;
+ }
+ };
+
+ public:
+ pyarray_backed_allocator_base(bool giveup_ownership)
+ : state_(new allocator_state(giveup_ownership)) {}
+
+ pyarray_backed_allocator_base(const pyarray_backed_allocator_base& that)
+ : state_(&that.state_->add_ref()) {}
+
+ ~pyarray_backed_allocator_base()
+ {
+ if (state_->release())
+ {
+ delete state_;
+ }
+ }
+
+ void giveup_ownership()
+ {
+
+ state_->giveup_ownership = true;
+ }
+
+ protected:
+ void* _nalloc(const size_type sz, const size_type n) const
+ {
+ if (static_cast<size_type>(static_cast<double>(sz) * n) !=
+ sz * n)
+ {
+ throw std::bad_alloc();
+ }
+
+ void* retval = PyDataMem_NEW(sz * n);
+ if (!retval)
+ {
+ throw std::bad_alloc();
+ }
+ return retval;
+ }
+
+ // it's possible that "free" is previously defined as a
+ // preprocessor macro.
+ void _free(void* ptr) const
+ {
+ if (ptr && !state_->giveup_ownership)
+ {
+ PyDataMem_FREE(ptr);
+ }
+ }
+
+ protected:
+ allocator_state* state_;
+ };
+ }
+
+ template<typename T_>
+ class pyarray_backed_allocator
+ : public detail::pyarray_backed_allocator_base
+ {
+ public:
+ typedef T_ value_type;
+ typedef T_* pointer;
+ typedef const T_* const_pointer;
+ typedef T_& reference;
+ typedef const T_& const_reference;
+
+ template<typename Tother_>
+ struct rebind
+ {
+ typedef pyarray_backed_allocator<Tother_> other;
+ };
+
+ public:
+ pyarray_backed_allocator(bool giveup_ownership = false)
+ : pyarray_backed_allocator_base(giveup_ownership) {}
+
+ pyarray_backed_allocator(const pyarray_backed_allocator_base& that)
+ : pyarray_backed_allocator_base(that) {}
+
+ pointer address(reference r) const
+ {
+ return &r;
+ }
+
+ const_pointer address(const_reference r) const
+ {
+ return &r;
+ }
+
+ value_type* allocate(size_type n, const void* hint = 0) const
+ {
+ return reinterpret_cast<value_type*>(this->_nalloc(sizeof(T_), n));
+ }
+
+ void construct(T_* p, const T_& src) const
+ {
+ new(p) T_(src);
+ }
+
+ void destroy(T_* p) const
+ {
+ p->~T_(); // XXX: does this work for PODs?
+ }
+
+ size_type max_size() const
+ {
+ return std::numeric_limits<size_type>::max() / sizeof(T_);
+ }
+
+ void deallocate(T_* p, size_type n) const
+ {
+ this->_free(p);
+ }
+
+ bool operator==(const pyarray_backed_allocator_base& rhs)
+ {
+ return state_->giveup_ownership == rhs.state_->giveup_ownership;
+ }
+
+ bool operator!=(const pyarray_backed_allocator_base& rhs)
+ {
+ return !operator==(rhs);
+ }
+ };
+
+} // namespace util
+
+} // namespace peer
+
+#endif /* OBJECTMATRIX_PEER_NUMPY_PYARRAY_BACKED_ALLOCATOR_HPP */
diff --git a/ecell4/egfrd/legacy/peer/numpy/scalar_converters.hpp b/ecell4/egfrd/legacy/peer/numpy/scalar_converters.hpp
new file mode 100644
index 0000000..fd6bc04
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/numpy/scalar_converters.hpp
@@ -0,0 +1,83 @@
+#ifndef PEER_NUMPY_SCALAR_CONVERTERS_HPP
+#define PEER_NUMPY_SCALAR_CONVERTERS_HPP
+
+#include <stdexcept>
+#include <complex>
+#include <vector>
+#include <boost/python.hpp>
+#include <boost/multi_array.hpp>
+#include <boost/format.hpp>
+#include <numpy/arrayobject.h>
+#include "peer/utils.hpp"
+#include "peer/numpy/type_mappings.hpp"
+
+namespace peer {
+
+namespace util
+{
+ namespace detail
+ {
+ template<typename T_>
+ struct scalar_to_native_converter
+ {
+ typedef T_ native_type;
+
+ static void* convertible(PyObject* pyo)
+ {
+ return PyArray_CheckScalar(pyo) ? pyo: 0;
+ }
+
+ static void construct(PyObject* pyo,
+ boost::python::converter::rvalue_from_python_stage1_data* data)
+ {
+ void* storage(reinterpret_cast<
+ boost::python::converter::rvalue_from_python_storage<native_type>*>(data)->storage.bytes);
+ PyArray_Descr* descr = PyArray_DescrFromType(get_numpy_typecode<T_>::value);
+ if (PyArray_CastScalarToCtype(pyo, storage, descr))
+ {
+ PyErr_SetString(PyExc_TypeError,
+ (boost::format("Failed to cast %s to %s") % pyo->ob_type->tp_name % descr->typeobj->tp_name).str().c_str());
+ Py_DECREF(reinterpret_cast<PyObject*>(descr));
+ boost::python::throw_error_already_set();
+ }
+ Py_DECREF(reinterpret_cast<PyObject*>(descr));
+ data->convertible = storage;
+ }
+ };
+ } // namespace detail
+
+ template<typename T_>
+ inline void register_scalar_to_native_converter()
+ {
+ static bool registered = false;
+ if (!registered)
+ {
+ to_native_converter<T_, detail::scalar_to_native_converter<T_> >();
+ registered = true;
+ }
+ }
+
+ inline void register_scalar_to_native_converters()
+ {
+ register_scalar_to_native_converter<bool>();
+ register_scalar_to_native_converter<npy_byte>();
+ register_scalar_to_native_converter<npy_ubyte>();
+ register_scalar_to_native_converter<npy_short>();
+ register_scalar_to_native_converter<npy_ushort>();
+ register_scalar_to_native_converter<npy_int>();
+ register_scalar_to_native_converter<npy_uint>();
+ register_scalar_to_native_converter<npy_long>();
+ register_scalar_to_native_converter<npy_ulong>();
+ register_scalar_to_native_converter<npy_longlong>();
+ register_scalar_to_native_converter<npy_ulonglong>();
+ register_scalar_to_native_converter<npy_float>();
+ register_scalar_to_native_converter<npy_double>();
+ register_scalar_to_native_converter<npy_longdouble>();
+ register_scalar_to_native_converter<char>();
+ }
+} // namespace util
+
+} // namespace peer
+
+#endif /* PPER_NUMPY_SCALAR_CONVERTERS_HPP */
+
diff --git a/ecell4/egfrd/legacy/peer/numpy/type_mappings.hpp b/ecell4/egfrd/legacy/peer/numpy/type_mappings.hpp
new file mode 100644
index 0000000..9886cc3
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/numpy/type_mappings.hpp
@@ -0,0 +1,65 @@
+#ifndef OBJECTMATRIX_PEER_NUMPY_TYPE_MAPPINGS_HPP
+#define OBJECTMATRIX_PEER_NUMPY_TYPE_MAPPINGS_HPP
+
+#include <numpy/arrayobject.h>
+
+namespace peer {
+
+namespace util
+{
+ namespace detail
+ {
+ namespace for_compile_time_error
+ {
+ template<typename T_>
+ class numpy_does_not_support_the_type_;
+ }
+ }
+
+ template<typename T_>
+ struct get_numpy_typecode {
+ static const std::size_t _ = sizeof(
+ detail::for_compile_time_error::
+ numpy_does_not_support_the_type_<T_>);
+ };
+
+# define DEFINE_NUMPY_TYPECODE_ASSOC(__type__, __value__) \
+ template<> struct get_numpy_typecode<__type__> \
+ { \
+ BOOST_STATIC_CONSTANT(enum NPY_TYPES, value = __value__); \
+ }
+ DEFINE_NUMPY_TYPECODE_ASSOC(bool, NPY_BOOL);
+ DEFINE_NUMPY_TYPECODE_ASSOC(npy_byte, NPY_BYTE);
+ DEFINE_NUMPY_TYPECODE_ASSOC(npy_ubyte, NPY_UBYTE);
+ DEFINE_NUMPY_TYPECODE_ASSOC(npy_short, NPY_SHORT);
+ DEFINE_NUMPY_TYPECODE_ASSOC(npy_ushort, NPY_USHORT);
+ DEFINE_NUMPY_TYPECODE_ASSOC(npy_int, NPY_INT);
+ DEFINE_NUMPY_TYPECODE_ASSOC(npy_uint, NPY_UINT);
+ DEFINE_NUMPY_TYPECODE_ASSOC(npy_long, NPY_LONG);
+ DEFINE_NUMPY_TYPECODE_ASSOC(npy_ulong, NPY_ULONG);
+ DEFINE_NUMPY_TYPECODE_ASSOC(npy_longlong, NPY_LONGLONG);
+ DEFINE_NUMPY_TYPECODE_ASSOC(npy_ulonglong, NPY_ULONGLONG);
+ DEFINE_NUMPY_TYPECODE_ASSOC(npy_float, NPY_FLOAT);
+ DEFINE_NUMPY_TYPECODE_ASSOC(npy_double, NPY_DOUBLE);
+ DEFINE_NUMPY_TYPECODE_ASSOC(npy_longdouble, NPY_LONGDOUBLE);
+ DEFINE_NUMPY_TYPECODE_ASSOC(npy_cfloat, NPY_CFLOAT);
+ DEFINE_NUMPY_TYPECODE_ASSOC(std::complex<npy_float>, NPY_CFLOAT);
+ DEFINE_NUMPY_TYPECODE_ASSOC(npy_cdouble, NPY_CDOUBLE);
+ DEFINE_NUMPY_TYPECODE_ASSOC(std::complex<npy_double>, NPY_CDOUBLE);
+ DEFINE_NUMPY_TYPECODE_ASSOC(npy_clongdouble, NPY_CLONGDOUBLE);
+ DEFINE_NUMPY_TYPECODE_ASSOC(
+ std::complex<npy_longdouble>, NPY_CLONGDOUBLE);
+ DEFINE_NUMPY_TYPECODE_ASSOC(boost::python::object, NPY_OBJECT);
+ DEFINE_NUMPY_TYPECODE_ASSOC(PyObject*, NPY_OBJECT);
+ DEFINE_NUMPY_TYPECODE_ASSOC(std::string, NPY_STRING);
+# define TMP std::basic_string<wchar_t, std::char_traits<wchar_t> >
+ DEFINE_NUMPY_TYPECODE_ASSOC(TMP, NPY_UNICODE);
+# undef TMP
+ DEFINE_NUMPY_TYPECODE_ASSOC(void, NPY_VOID);
+ DEFINE_NUMPY_TYPECODE_ASSOC(char, NPY_CHAR);
+# undef DEFINE_NUMPY_TYPECODE_ASSOC
+} // namespace util
+
+} // namespace peer
+
+#endif /* OBJECTMATRIX_PEER_NUMPY_TYPE_MAPPINGS_HPP */
diff --git a/ecell4/egfrd/legacy/peer/numpy/wrapped_multi_array.hpp b/ecell4/egfrd/legacy/peer/numpy/wrapped_multi_array.hpp
new file mode 100644
index 0000000..19b9fb2
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/numpy/wrapped_multi_array.hpp
@@ -0,0 +1,243 @@
+#ifndef WRAPPED_MULTI_ARRAY_HPP
+#define WRAPPED_MULTI_ARRAY_HPP
+
+#include <boost/multi_array.hpp>
+#include <boost/intrusive_ptr.hpp>
+
+#include "peer/numpy/type_mappings.hpp"
+
+namespace peer { namespace util {
+
+template<typename T_>
+class lifecycle_manager
+{
+public:
+ virtual ~lifecycle_manager() {}
+
+ virtual T_* data() = 0;
+
+ virtual const T_* data() const = 0;
+
+ inline T_* operator*()
+ {
+ return data();
+ }
+
+ inline const T_* operator*() const
+ {
+ return data();
+ }
+};
+
+template<typename T_>
+class python_array_lifecycle_manager: public lifecycle_manager<T_>
+{
+private:
+ typedef python_array_lifecycle_manager self_type;
+
+public:
+ python_array_lifecycle_manager(PyArrayObject* array_obj)
+ : array_obj_(array_obj) {}
+
+ python_array_lifecycle_manager(const self_type& that)
+ : array_obj_(that.array_obj_)
+ {
+ Py_INCREF(array_obj_);
+ }
+
+ virtual ~python_array_lifecycle_manager()
+ {
+ Py_DECREF(array_obj_);
+ }
+
+ virtual T_* data()
+ {
+ return reinterpret_cast<T_*>(PyArray_DATA(array_obj_));
+ }
+
+ virtual const T_* data() const
+ {
+ return reinterpret_cast<T_*>(PyArray_DATA(array_obj_));
+ }
+
+private:
+ PyArrayObject* array_obj_;
+};
+
+template<typename T, std::size_t NumDims>
+class wrapped_multi_array: public boost::multi_array_ref<T, NumDims>
+{
+public:
+ typedef boost::multi_array_ref<T, NumDims> super_type;
+ typedef typename super_type::value_type value_type;
+ typedef typename super_type::reference reference;
+ typedef typename super_type::const_reference const_reference;
+ typedef typename super_type::iterator iterator;
+ typedef typename super_type::const_iterator const_iterator;
+ typedef typename super_type::reverse_iterator reverse_iterator;
+ typedef typename super_type::const_reverse_iterator const_reverse_iterator;
+ typedef typename super_type::element element;
+ typedef typename super_type::size_type size_type;
+ typedef typename super_type::difference_type difference_type;
+ typedef typename super_type::index index;
+ typedef typename super_type::extent_range extent_range;
+ typedef typename super_type::index_list index_list;
+ typedef typename super_type::size_list size_list;
+ typedef lifecycle_manager<T> lifecycle_manager_type;
+
+ template <std::size_t NDims>
+ struct const_array_view {
+ typedef boost::detail::multi_array::const_multi_array_view<T,NDims> type;
+ };
+
+ template <std::size_t NDims>
+ struct array_view {
+ typedef boost::detail::multi_array::multi_array_view<T,NDims> type;
+ };
+
+ template <class ExtentList, class StrideList>
+ wrapped_multi_array(
+ lifecycle_manager_type* lm,
+ ExtentList const& extents,
+ StrideList const& strides,
+ const boost::general_storage_order<NumDims>& so
+ ): super_type(lm->data(), extents, so), lm_(lm)
+ {
+ boost::function_requires<
+ boost::detail::multi_array::CollectionConcept<ExtentList> >();
+ boost::function_requires<
+ boost::detail::multi_array::CollectionConcept<StrideList> >();
+ std::copy(strides.begin(), strides.end(),
+ super_type::stride_list_.begin());
+ }
+
+private:
+ boost::shared_ptr<lifecycle_manager_type> lm_;
+};
+
+
+template<typename T_, std::size_t Ndims_>
+class ndarray_wrapped_multi_array_converter
+{
+public:
+ typedef python_array_lifecycle_manager<T_> lcmgr_type;
+ typedef wrapped_multi_array<T_, Ndims_> native_type;
+
+public:
+ static void* convertible(PyObject* ptr)
+ {
+ if (!PyArray_Check(ptr))
+ {
+ return NULL;
+ }
+
+ PyObject* retval(
+ PyArray_CastToType(
+ reinterpret_cast<PyArrayObject*>(ptr),
+ PyArray_DescrFromType(
+ get_numpy_typecode<
+ typename native_type::element>::value), 0));
+ if (!retval)
+ {
+ return NULL;
+ }
+
+ if (PyArray_NDIM(reinterpret_cast<PyArrayObject*>(retval)) != Ndims_)
+ {
+ boost::python::decref(retval);
+ return NULL;
+ }
+
+ return retval;
+ }
+
+ static void construct(PyObject* ptr,
+ boost::python::converter::rvalue_from_python_storage<native_type>* data)
+ {
+ PyArrayObject* array_obj = static_cast<PyArrayObject*>(
+ data->stage1.convertible);
+ typename native_type::index_list ma_strides;
+
+ for (std::size_t i = 0; i < Ndims_; ++i)
+ {
+ ma_strides[i] = array_obj->strides[i] / sizeof(T_);
+ }
+
+ data->stage1.convertible = new(data->storage.bytes) native_type(
+ new lcmgr_type(array_obj),
+ *reinterpret_cast<boost::array<npy_intp, Ndims_>*>(
+ array_obj->dimensions),
+ ma_strides,
+ PyArray_ISCONTIGUOUS(array_obj) ?
+ static_cast<boost::general_storage_order<Ndims_> >(
+ boost::c_storage_order()):
+ static_cast<boost::general_storage_order<Ndims_> >(
+ boost::fortran_storage_order())
+ );
+ }
+};
+
+
+template<typename T_>
+class seq_wrapped_multi_array_converter
+{
+public:
+ typedef python_array_lifecycle_manager<T_> lcmgr_type;
+ typedef wrapped_multi_array<T_, 1> native_type;
+
+public:
+ static void* convertible(PyObject* ptr)
+ {
+ if (!PySequence_Check(ptr))
+ {
+ return NULL;
+ }
+
+ return ptr;
+ }
+
+ static void construct(PyObject* ptr,
+ boost::python::converter::rvalue_from_python_storage<native_type>* data)
+ {
+ PyObject* array_obj = PyArray_FromObject(
+ static_cast<PyObject*>(data->stage1.convertible),
+ get_numpy_typecode<T_>::value, 1, 1);
+ static typename native_type::index_list ma_strides = { { 1 } };
+
+ data->stage1.convertible = new(data->storage.bytes) native_type(
+ new lcmgr_type(reinterpret_cast<PyArrayObject *>(array_obj)),
+ *reinterpret_cast<boost::array<npy_intp, 1>*>(
+ PyArray_DIMS(array_obj)),
+ ma_strides,
+ static_cast<boost::general_storage_order<1> >(
+ boost::c_storage_order()));
+ }
+};
+
+
+template<typename T_, std::size_t Ndims_>
+void register_ndarray_wrapped_multi_array_converter()
+{
+ typedef ndarray_wrapped_multi_array_converter<T_, Ndims_> Converter;
+ boost::python::converter::registry::push_back(
+ &Converter::convertible,
+ reinterpret_cast<boost::python::converter::constructor_function>(
+ &Converter::construct),
+ boost::python::type_id<typename Converter::native_type>());
+}
+
+
+template<typename T_>
+void register_seq_wrapped_multi_array_converter()
+{
+ typedef seq_wrapped_multi_array_converter<T_> Converter;
+ boost::python::converter::registry::push_back(
+ &Converter::convertible,
+ reinterpret_cast<boost::python::converter::constructor_function>(
+ &Converter::construct),
+ boost::python::type_id<typename Converter::native_type>());
+}
+
+} } // namespace peer::util
+
+#endif
diff --git a/ecell4/egfrd/legacy/peer/pickle_support.hpp b/ecell4/egfrd/legacy/peer/pickle_support.hpp
new file mode 100644
index 0000000..d95fcd4
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/pickle_support.hpp
@@ -0,0 +1,85 @@
+#ifndef OBJECTMATRIX_PEER_PICKLE_SUPPORT
+#define OBJECTMATRIX_PEER_PICKLE_SUPPORT
+
+#include <Python.h>
+#include <pyerrors.h>
+#include <import.h>
+#include <boost/python.hpp>
+
+namespace peer { namespace pickle {
+
+static const char reconstruct_func_name[] = "__reconstruct__";
+
+static PyObject* reconstruct(PyObject* self, PyObject* args)
+{
+ PyTypeObject* klass;
+ PyObject* base;
+ PyObject* state;
+
+ if (!PyArg_ParseTuple(args, "OOO", &klass, &base, &state))
+ return NULL;
+
+ if (!PyType_Check(klass)) {
+ PyErr_SetString(PyExc_TypeError, "argument 1 must be a type object");
+ return NULL;
+ }
+
+ if (!PyType_Check(base)) {
+ PyErr_SetString(PyExc_TypeError, "argument 2 must be a type object");
+ return NULL;
+ }
+
+ if (!PyTuple_Check(state)) {
+ PyErr_SetString(PyExc_TypeError, "argument 3 must be a tuple");
+ return NULL;
+ }
+
+ return klass->tp_new(klass, state, NULL);
+}
+
+
+static PyObject* reduce(PyObject* self) try
+{
+ using namespace boost::python;
+
+ BOOST_ASSERT(self->ob_type);
+ BOOST_ASSERT(self->ob_type->tp_base);
+
+ BOOST_ASSERT(self != Py_None);
+
+ object state(getattr(object(borrowed(self)), "__getstate__")());
+ object module(borrowed(PyImport_Import(
+ getattr(object(borrowed(
+ reinterpret_cast<PyObject*>(self->ob_type))),
+ "__module__").ptr())));
+
+ return incref(make_tuple(
+ getattr(module, reconstruct_func_name),
+ make_tuple(
+ borrowed(incref(reinterpret_cast<PyObject*>(self->ob_type))),
+ borrowed(incref(reinterpret_cast<PyObject*>(self->ob_type->tp_base))),
+ state)).ptr());
+}
+catch (boost::python::error_already_set const&)
+{
+ return NULL;
+}
+
+static inline void register_reconstructor()
+{
+ using namespace boost::python;
+ static bool registered = false;
+ if (!registered) {
+ static PyMethodDef def = {
+ const_cast<char*>(reconstruct_func_name),
+ &reconstruct,
+ METH_VARARGS, const_cast<char*>("")
+ };
+ scope().attr(reconstruct_func_name) = borrowed(PyCFunction_NewEx(
+ &def, NULL, getattr(scope(), "__name__").ptr()));
+ }
+}
+
+} } // namespace peer::pickle
+
+#endif /* OBJECTMATRIX_PEER_PICKLE_SUPPORT */
diff --git a/ecell4/egfrd/legacy/peer/py_hash_support.hpp b/ecell4/egfrd/legacy/peer/py_hash_support.hpp
new file mode 100644
index 0000000..7a0a673
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/py_hash_support.hpp
@@ -0,0 +1,34 @@
+#ifndef PY_HASH_SUPPORT_HPP
+#define PY_HASH_SUPPORT_HPP
+
+#include "utils/get_mapper_mf.hpp"
+
+template<typename Tval_>
+struct get_mapper_mf<boost::python::object, Tval_>
+{
+#if HAVE_UNORDERED_MAP || HAVE_TR1_UNORDERED_MAP || HAVE_EXT_HASH_MAP
+ struct hasher: public std::unary_function<boost::python::object, std::size_t>
+ {
+ typedef boost::python::object argument_type;
+ typedef std::size_t result_type;
+
+ result_type operator()(const argument_type& arg) const
+ {
+ return static_cast<result_type>((long)PyObject_Hash(arg.ptr()));
+ }
+ };
+#endif
+
+
+#if HAVE_UNORDERED_MAP
+ typedef std::unordered_map<boost::python::object, Tval_, hasher> type;
+#elif HAVE_TR1_UNORDERED_MAP
+ typedef std::tr1::unordered_map<boost::python::object, Tval_, hasher> type;
+#elif HAVE_EXT_HASH_MAP
+ typedef __gnu_cxx::hash_map<boost::python::object, Tval_, hasher> type;
+#else
+ typedef std::map<boost::python::object, Tval_> type;
+#endif
+};
+
+#endif /* PY_HASH_SUPPORT_HPP */
diff --git a/ecell4/egfrd/legacy/peer/set_indexing_suite.hpp b/ecell4/egfrd/legacy/peer/set_indexing_suite.hpp
new file mode 100644
index 0000000..fe76332
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/set_indexing_suite.hpp
@@ -0,0 +1,88 @@
+#ifndef OBJECTMATRIX_PEER_SET_INDEXING_SUITE_HPP
+#define OBJECTMATRIX_PEER_SET_INDEXING_SUITE_HPP
+
+#include <cstddef>
+#include <boost/python/def_visitor.hpp>
+#include <boost/python/iterator.hpp>
+#include <boost/python/call_method.hpp>
+
+namespace peer { namespace util {
+
+template<typename Tcontainer_, typename TderivedPolicies_>
+struct set_indexing_suite;
+
+namespace detail
+{
+ template <class Tcontainer_>
+ struct final_set_derived_policies
+ : public set_indexing_suite<Tcontainer_,
+ final_set_derived_policies<Tcontainer_> > {};
+}
+
+
+template<typename Tcontainer_,
+ typename TderivedPolicies_ = detail::final_set_derived_policies<Tcontainer_> >
+struct set_indexing_suite: public boost::python::def_visitor<set_indexing_suite<Tcontainer_, TderivedPolicies_> >
+{
+ typedef typename Tcontainer_::value_type value_type;
+
+ static std::size_t __len__(Tcontainer_& cntnr)
+ {
+ return TderivedPolicies_::size(cntnr);
+ }
+
+ static std::size_t size(Tcontainer_& cntnr)
+ {
+ return cntnr.size();
+ }
+
+ static bool add(Tcontainer_& cntnr, value_type const& item)
+ {
+ return TderivedPolicies_::insert(cntnr, item);
+ }
+
+ static bool insert(Tcontainer_& cntnr, value_type const& item)
+ {
+ return cntnr.insert(item).second;
+ }
+
+ static void remove(Tcontainer_& cntnr, value_type const& val)
+ {
+ if (!TderivedPolicies_::erase(cntnr, val)) {
+ PyErr_SetObject(PyExc_KeyError,
+ boost::python::incref((boost::python::object(val)).ptr()));
+ boost::python::throw_error_already_set();
+ }
+ }
+
+ static bool erase(Tcontainer_& cntnr, value_type const& val)
+ {
+ return cntnr.erase(val);
+ }
+
+ static bool __contains__(Tcontainer_& cntnr, value_type const& val)
+ {
+ return TderivedPolicies_::contains(cntnr, val);
+ }
+
+ static bool contains(Tcontainer_& cntnr, value_type const& val)
+ {
+ return cntnr.find(val) != cntnr.end();
+ }
+
+ template<typename Tclass_>
+ void visit(Tclass_& klass) const
+ {
+ klass
+ .def("__len__", &__len__)
+ .def("add", &add)
+ .def("remove", &remove)
+ .def("__contains__", &__contains__)
+ .def("__iter__", boost::python::iterator<Tcontainer_>())
+ ;
+ }
+};
+
+}} // namespace peer
+
+#endif // OBJECTMATRIX_PEER_SET_INDEXING_SUITE_HPP
diff --git a/ecell4/egfrd/legacy/peer/util/exception_translators.hpp b/ecell4/egfrd/legacy/peer/util/exception_translators.hpp
new file mode 100644
index 0000000..f88e4d9
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/util/exception_translators.hpp
@@ -0,0 +1,37 @@
+#ifndef PEER_UTIL_EXCEPTION_TRANSLATORS_HPP
+#define PEER_UTIL_EXCEPTION_TRANSLATORS_HPP
+
+#include <Python.h>
+#include <stdexcept>
+#include <boost/python/exception_translator.hpp>
+
+namespace peer { namespace util {
+
+namespace detail
+{
+ template<PyObject* const& Vpytype_object, typename Texc>
+ inline void exception_translator(Texc const& exc)
+ {
+ PyErr_SetString(Vpytype_object, exc.what());
+ }
+} // namespace detail
+
+template<PyObject* const& Vpytype_object, typename Texc>
+void register_exception_translator()
+{
+ boost::python::register_exception_translator<Texc>(
+ &detail::exception_translator<Vpytype_object, Texc>);
+}
+
+inline void register_std_exception_translator()
+{
+ register_exception_translator<PyExc_RuntimeError, std::exception>();
+ register_exception_translator<PyExc_ArithmeticError, std::domain_error>();
+ register_exception_translator<PyExc_OverflowError, std::overflow_error>();
+ register_exception_translator<PyExc_OverflowError, std::underflow_error>();
+ register_exception_translator<PyExc_OverflowError, std::range_error>();
+}
+
+} } // namespace peer::util
+
+#endif /* PEER_UTIL_EXCEPTION_TRANSLATORS_HPP */
diff --git a/ecell4/egfrd/legacy/peer/util/instance_holder.hpp b/ecell4/egfrd/legacy/peer/util/instance_holder.hpp
new file mode 100644
index 0000000..6e3210f
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/util/instance_holder.hpp
@@ -0,0 +1,148 @@
+#ifndef PEER_UTIL_INSTANCE_HOLDER_HPP
+#define PEER_UTIL_INSTANCE_HOLDER_HPP
+
+#include <Python.h>
+#include <typeinfo>
+#include <boost/format.hpp>
+#include <boost/python/handle.hpp>
+
+namespace peer { namespace util {
+
+template<typename Timpl_>
+struct instance_holder
+{
+ typedef Timpl_ impl_type;
+
+ void* operator new(size_t)
+ {
+ return PyObject_New(PyObject, &__class__);
+ }
+
+ void operator delete(void* ptr)
+ {
+ reinterpret_cast<PyObject*>(ptr)->ob_type->tp_free(reinterpret_cast<PyObject*>(ptr));
+ }
+
+ Timpl_& operator()()
+ {
+ return impl_;
+ }
+
+ Timpl_ const& operator()() const
+ {
+ return impl_;
+ }
+
+ ~instance_holder()
+ {
+ reinterpret_cast<impl_type*>(impl_)->~impl_type();
+ }
+
+ template<typename Tin_place_factory>
+ instance_holder(Tin_place_factory const& inpf)
+ {
+ inpf.template apply<impl_type>(impl_);
+ }
+
+ static void __dealloc__(instance_holder* self)
+ {
+ delete self;
+ }
+
+ template<typename Tin_place_factory>
+ static PyObject* create(Tin_place_factory const& inpf)
+ {
+ return reinterpret_cast<PyObject*>(new instance_holder<impl_type>(inpf));
+ }
+
+ static PyTypeObject* __class_init__(PyObject* mod = 0)
+ {
+ using namespace boost::python;
+ if (__name__.empty())
+ {
+ std::string const name(
+ std::string("instance_holder<")
+ + typeid(impl_type).name() + ">");
+
+ __name__ = mod && PyModule_Check(mod) ?
+ extract<std::string>(object(borrowed(mod)).attr("__name__"))()
+ + "." + name: name;
+ __class__.tp_name = const_cast<char*>(__name__.c_str());
+ PyType_Ready(&__class__);
+ }
+ return &__class__;
+ }
+
+protected:
+ PyObject_VAR_HEAD
+ static PyTypeObject __class__;
+ static std::string __name__;
+ char impl_[sizeof(impl_type)];
+};
+
+template<typename Timpl_>
+std::string instance_holder<Timpl_>::__name__;
+
+template<typename Timpl_>
+PyTypeObject instance_holder<Timpl_>::__class__ = {
+ PyObject_HEAD_INIT(&PyType_Type)
+ 0, /* ob_size */
+ 0, /* tp_name */
+ sizeof(instance_holder), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ /* methods */
+ (destructor)&instance_holder::__dealloc__, /* tp_dealloc */
+ 0, /* tp_print */
+ 0, /* tp_getattr */
+ 0, /* tp_setattr */
+ 0, /* tp_compare */
+ 0, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ 0, /* tp_hash */
+ 0, /* tp_call */
+ 0, /* tp_str */
+ PyObject_GenericGetAttr, /* tp_getattro */
+ 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_HAVE_CLASS | Py_TPFLAGS_BASETYPE, /* tp_flags */
+ 0, /* tp_doc */
+ 0, /* tp_traverse */
+ 0, /* tp_clear */
+ 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ 0, /* tp_iter */
+ 0, /* tp_iternext */
+ 0, /* tp_methods */
+ 0, /* tp_members */
+ 0, /* tp_getset */
+ 0, /* tp_base */
+ 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ 0, /* tp_init */
+ 0, /* tp_alloc */
+ 0, /* tp_new */
+ PyObject_Del /* tp_free */
+};
+
+template<typename Timpl, typename Tin_place_factory>
+inline void install_instance_holder(PyObject* obj, Tin_place_factory const& inpf)
+{
+ instance_holder<Timpl>::__class_init__();
+
+ boost::python::handle<> holder(instance_holder<Timpl>::create(inpf));
+ if (PyObject_SetAttrString(obj, "__instance_holder__", holder.get()))
+ {
+ PyErr_Clear();
+ boost::python::handle<> repr(PyObject_Repr(obj));
+ throw std::invalid_argument(
+ (boost::format("object %s is not assignable") %
+ PyString_AS_STRING(repr.get())).str());
+ }
+}
+
+} } // namespace peer::util
+#endif /* PEER_UTIL_INSTANCE_HOLDER_HPP */
diff --git a/ecell4/egfrd/legacy/peer/util/range_from_range.hpp b/ecell4/egfrd/legacy/peer/util/range_from_range.hpp
new file mode 100644
index 0000000..3161601
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/util/range_from_range.hpp
@@ -0,0 +1,124 @@
+#ifndef PEER_UTIL_RANGE_FROM_RANGE_HPP
+#define PEER_UTIL_RANGE_FROM_RANGE_HPP
+
+#include <functional>
+#include <boost/python/object.hpp>
+#include <boost/python/exception_translator.hpp>
+#include <boost/type_traits/is_const.hpp>
+#include <boost/range/iterator.hpp>
+#include <boost/range/const_iterator.hpp>
+#include <boost/range/begin.hpp>
+#include <boost/range/end.hpp>
+#include <boost/mpl/if.hpp>
+#include "utils/range.hpp"
+
+#include "peer/wrappers/iterator/stl_iterator_wrapper.hpp"
+#include "peer/wrappers/range/stl_container_wrapper.hpp"
+
+namespace peer { namespace util {
+
+namespace detail {
+ template<typename T1_, typename T2_, T1_(T2_::*Vfun_)(), typename Trcg_, bool B1_>
+ struct range_from_range_impl
+ {
+ typedef typename boost::remove_reference<T1_>::type range_type;
+ typedef typename boost::mpl::if_<
+ boost::is_const<T2_>,
+ typename boost::range_const_iterator<range_type>::type,
+ typename boost::range_iterator<range_type>::type>::type
+ result_type;
+
+ typedef peer::wrappers::stl_iterator_wrapper<result_type, boost::python::object, Trcg_> wrapper_type;
+
+ static PyObject* create_wrapper(boost::python::back_reference<T2_&> backref)
+ {
+ wrapper_type::__class_init__(typeid(result_type).name());
+ return wrapper_type::create((backref.get().*Vfun_)(),
+ backref.source());
+ };
+
+ static boost::python::object create()
+ {
+ return boost::python::make_function(&create_wrapper);
+ }
+ };
+
+ template<typename T1_, typename T2_, T1_(T2_::*Vfun_)(), typename Trcg_>
+ struct range_from_range_impl<T1_, T2_, Vfun_, Trcg_, true>
+ {
+ typedef typename boost::remove_reference<T1_>::type range_type;
+ typedef typename boost::mpl::if_<
+ boost::is_const<T2_>,
+ typename boost::range_const_iterator<range_type>::type,
+ typename boost::range_iterator<range_type>::type>::type
+ result_type;
+
+ struct holder
+ {
+ T1_ operator*() const
+ {
+ return range_;
+ };
+
+ holder(T1_ range, boost::python::object py)
+ : range_(range), py_(py) {}
+
+ T1_ range_;
+ boost::python::object py_;
+ };
+
+ typedef peer::wrappers::stl_container_wrapper<
+ range_type, holder,
+ typename boost::mpl::if_<
+ boost::is_const<T2_>,
+ peer::wrappers::default_policy_generator<peer::wrappers::default_immutable_container_wrapper_policy>,
+ peer::wrappers::default_policy_generator<peer::wrappers::default_container_wrapper_policy> >::type,
+ Trcg_> wrapper_type;
+
+ static PyObject* create_wrapper(boost::python::back_reference<T2_&> backref)
+ {
+ wrapper_type::__class_init__(typeid(result_type).name());
+ return wrapper_type::create(
+ holder(
+ (backref.get().*Vfun_)(),
+ backref.source()));
+ };
+
+ static boost::python::object create()
+ {
+ return boost::python::make_function(&create_wrapper);
+ }
+ };
+
+ template<typename T1_, typename T2_, T1_(T2_::*Vfun_)(), typename Trcg_ = boost::python::return_by_value>
+ struct range_from_range: range_from_range_impl<T1_, T2_, Vfun_, Trcg_, check_range_iterator_category<typename boost::remove_reference<T1_>::type, boost::random_access_traversal_tag>::value> {};
+
+} // namespace detail
+
+template<typename T1_, typename T2_, T1_(T2_::*Vfun_)() const>
+inline boost::python::object range_from_range()
+{
+ return detail::range_from_range<T1_, const T2_, Vfun_>::create();
+}
+
+template<typename T1_, typename T2_, T1_(T2_::*Vfun_)()>
+inline boost::python::object range_from_range()
+{
+ return detail::range_from_range<T1_, T2_, Vfun_>::create();
+}
+
+template<typename T1_, typename T2_, T1_(T2_::*Vfun_)() const, typename Tpol_>
+inline boost::python::object range_from_range()
+{
+ return detail::range_from_range<T1_, const T2_, Vfun_, Tpol_>::create();
+}
+
+template<typename T1_, typename T2_, T1_(T2_::*Vfun_)(), typename Tpol_>
+inline boost::python::object range_from_range()
+{
+ return detail::range_from_range<T1_, T2_, Vfun_, Tpol_>::create();
+}
+
+} } // namespace peer::util
+
+#endif /* PEER_UTIL_RANGE_FROM_RANGE_HPP */
diff --git a/ecell4/egfrd/legacy/peer/util/reference_accessor_wrapper.hpp b/ecell4/egfrd/legacy/peer/util/reference_accessor_wrapper.hpp
new file mode 100644
index 0000000..e556095
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/util/reference_accessor_wrapper.hpp
@@ -0,0 +1,24 @@
+#ifndef PEER_UTIL_REFERENCE_ACCESSOR_WRAPPER
+#define PEER_UTIL_REFERENCE_ACCESSOR_WRAPPER
+
+namespace peer { namespace util {
+
+template<typename T_, typename Tval_,
+ Tval_ const&(T_::*Vgetter_)() const,
+ Tval_ &(T_::*Vsetter_)()>
+struct reference_accessor_wrapper
+{
+ static Tval_ const& get(T_ const& impl)
+ {
+ return (impl.*Vgetter_)();
+ }
+
+ static void set(T_& impl, Tval_ const& v)
+ {
+ (impl.*Vsetter_)() = v;
+ }
+};
+
+} } //namespace peer::util
+
+#endif /* PEER_UTIL_REFERENCE_ACCESSOR_WRAPPER */
diff --git a/ecell4/egfrd/legacy/peer/util/shared_const_ptr.hpp b/ecell4/egfrd/legacy/peer/util/shared_const_ptr.hpp
new file mode 100644
index 0000000..b06f07c
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/util/shared_const_ptr.hpp
@@ -0,0 +1,76 @@
+#ifndef PEER_UTIL_SHARED_CONST_PTR
+#define PEER_UTIL_SHARED_CONST_PTR
+
+#include "peer/util/to_native_converter.hpp"
+#include <boost/python/converter/shared_ptr_from_python.hpp>
+// stolen from <boost/python/converter/shared_ptr_from_python>
+
+namespace peer { namespace util {
+
+namespace detail {
+
+template<typename T_>
+struct shared_const_ptr_from_python
+{
+ static PyTypeObject const* expected_pytype()
+ {
+ return boost::python::converter::expected_from_python_type_direct<T_ const>::get_pytype();
+ }
+
+ static void* convertible(PyObject* p)
+ {
+ if (p == Py_None)
+ return p;
+
+ return boost::python::converter::get_lvalue_from_python(p, boost::python::converter::registered<T_>::converters);
+ }
+
+ static void construct(PyObject* source, boost::python::converter::rvalue_from_python_stage1_data* data)
+ {
+ void* const storage = ((boost::python::converter::rvalue_from_python_storage<boost::shared_ptr<T_ const> >*)data)->storage.bytes;
+ // Deal with the "None" case.
+ if (data->convertible == source)
+ new (storage) boost::shared_ptr<T_ const>();
+ else
+ {
+ boost::shared_ptr<void> hold_convertible_ref_count(
+ (void*)0, boost::python::converter::shared_ptr_deleter(boost::python::handle<>(boost::python::borrowed(source))) );
+ // use aliasing constructor
+ new (storage) boost::shared_ptr<T_ const>(
+ hold_convertible_ref_count,
+ static_cast<T_ const*>(data->convertible));
+ }
+
+ data->convertible = storage;
+ }
+};
+
+template<typename T_>
+struct shared_const_ptr_to_python
+{
+ static PyObject* convert(boost::shared_ptr<T_ const> const& value)
+ {
+ return boost::python::incref(boost::python::object(boost::const_pointer_cast<T_, T_ const>(value)).ptr());
+ }
+};
+
+
+} // namespace detail
+
+template<typename T>
+void register_shared_const_ptr_from_python()
+{
+ peer::util::to_native_converter<boost::shared_ptr<T const>,
+ detail::shared_const_ptr_from_python<T> >();
+}
+
+template<typename T>
+void register_shared_const_ptr_to_python()
+{
+ boost::python::to_python_converter<boost::shared_ptr<T const>,
+ detail::shared_const_ptr_to_python<T> >();
+}
+
+} }
+
+#endif /* PEER_UTIL_SHARED_CONST_PTR */
diff --git a/ecell4/egfrd/legacy/peer/util/to_native_converter.hpp b/ecell4/egfrd/legacy/peer/util/to_native_converter.hpp
new file mode 100644
index 0000000..6d9f17c
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/util/to_native_converter.hpp
@@ -0,0 +1,30 @@
+#ifndef PEER_UTIL_TO_NATIVE_CONVERTER_HPP
+#define PEER_UTIL_TO_NATIVE_CONVERTER_HPP
+
+#include <boost/python.hpp>
+
+namespace peer { namespace util {
+
+template<typename Tnative_, typename Tconverter_>
+inline void to_native_converter()
+{
+ boost::python::converter::registry::push_back(
+ &Tconverter_::convertible,
+ reinterpret_cast<
+ boost::python::converter::constructor_function>(
+ &Tconverter_::construct),
+ boost::python::type_id<Tnative_>());
+}
+
+template<typename Tnative_, typename Tconverter_>
+inline void to_native_lvalue_converter()
+{
+ boost::python::converter::registry::insert(
+ &Tconverter_::convert,
+ boost::python::type_id<Tnative_>(),
+ &Tconverter_::expected_pytype);
+}
+
+} } // namespace peer::util
+
+#endif /* PEER_UTIL_TO_NATIVE_CONVERTER_HPP */
diff --git a/ecell4/egfrd/legacy/peer/util/to_python_converter_fun.hpp b/ecell4/egfrd/legacy/peer/util/to_python_converter_fun.hpp
new file mode 100644
index 0000000..d0a84da
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/util/to_python_converter_fun.hpp
@@ -0,0 +1,24 @@
+#ifndef PEER_UTIL_TO_PYTHON_CONVERTER_FUN_HPP
+#define PEER_UTIL_TO_PYTHON_CONVERTER_FUN_HPP
+
+#include <functional>
+#include <boost/python.hpp>
+
+namespace peer { namespace util {
+
+template<typename T_>
+struct to_python_converter_fun
+ : public std::unary_function<T_, boost::python::object>
+{
+ typedef T_ argument_type;
+ typedef boost::python::object result_type;
+
+ result_type operator()(argument_type const& src) const
+ {
+ return boost::python::object(src);
+ }
+};
+
+} } // namespace peer::util
+
+#endif /* PEER_UTIL_TO_PYTHON_CONVERTER_FUN_HPP */
diff --git a/ecell4/egfrd/legacy/peer/utils.hpp b/ecell4/egfrd/legacy/peer/utils.hpp
new file mode 100644
index 0000000..5e335b7
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/utils.hpp
@@ -0,0 +1,9 @@
+#ifndef PEER_UTILS_HPP
+#define PEER_UTILS_HPP
+#include "peer/util/exception_translators.hpp"
+#include "peer/util/range_from_range.hpp"
+#include "peer/util/reference_accessor_wrapper.hpp"
+#include "peer/util/to_python_converter_fun.hpp"
+#include "peer/util/to_native_converter.hpp"
+#include "peer/util/instance_holder.hpp"
+#endif /*PEER_UTILS_HPP */
diff --git a/ecell4/egfrd/legacy/peer/wrappers/exception/exception_wrapper.hpp b/ecell4/egfrd/legacy/peer/wrappers/exception/exception_wrapper.hpp
new file mode 100644
index 0000000..0e1a7a3
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/wrappers/exception/exception_wrapper.hpp
@@ -0,0 +1,223 @@
+#ifndef PEER_EXCEPTION_HPP
+#define PEER_EXCEPTION_HPP
+
+#include <stdexcept>
+#include <string>
+#include <boost/python.hpp>
+#include <Python.h>
+#include <pyerrors.h>
+
+namespace peer { namespace wrappers {
+
+template<PyObject** Vpytype_object_>
+struct py_exc_traits
+{
+ struct unsupported_python_exception_type;
+ enum { DUMMY = sizeof(unsupported_python_exception_type) };
+};
+
+#define SPECIALIZE_PYEXC_TRAITS(PTR, TYPE) \
+template<> \
+struct py_exc_traits<&PyExc_##PTR> \
+{ \
+ typedef TYPE type; \
+ static PyTypeObject* pytype_object; \
+}; \
+\
+PyTypeObject* py_exc_traits<&PyExc_##PTR>::pytype_object = reinterpret_cast<PyTypeObject*>(PyExc_##PTR);
+
+#ifdef HAVE_PYBASEEXCEPTIONOBJECT
+#define PYEXC_DICT_MEMBER_NAME dict
+SPECIALIZE_PYEXC_TRAITS(BaseException, PyBaseExceptionObject)
+SPECIALIZE_PYEXC_TRAITS(Exception, PyBaseExceptionObject)
+SPECIALIZE_PYEXC_TRAITS(StandardError, PyBaseExceptionObject)
+SPECIALIZE_PYEXC_TRAITS(LookupError, PyBaseExceptionObject)
+SPECIALIZE_PYEXC_TRAITS(RuntimeError, PyBaseExceptionObject)
+#else
+#define PYEXC_DICT_MEMBER_NAME in_dict
+SPECIALIZE_PYEXC_TRAITS(Exception, PyInstanceObject)
+SPECIALIZE_PYEXC_TRAITS(StandardError, PyInstanceObject)
+SPECIALIZE_PYEXC_TRAITS(LookupError, PyInstanceObject)
+SPECIALIZE_PYEXC_TRAITS(RuntimeError, PyInstanceObject)
+#endif
+
+#undef SPECIALIZE_PYEXC_TRAITS
+
+template<typename Texc_, typename TbaseTraits_ = py_exc_traits<&PyExc_StandardError> >
+class exception_wrapper: TbaseTraits_::type
+{
+public:
+ typedef Texc_ wrapped_type;
+ typedef typename TbaseTraits_::type base_type;
+ typedef TbaseTraits_ base_traits;
+public:
+ void* operator new(size_t)
+ {
+ return (*base_traits::pytype_object->tp_new)(&__class__, NULL, NULL);
+ }
+
+ void operator delete(void* ptr)
+ {
+ _PyObject_GC_UNTRACK(ptr);
+ reinterpret_cast<PyObject*>(ptr)->ob_type->tp_free(reinterpret_cast<PyObject*>(ptr));
+ }
+
+ static PyObject* create(wrapped_type const& exc)
+ {
+ return reinterpret_cast<PyObject*>(new exception_wrapper(exc));
+ }
+
+ exception_wrapper(Texc_ const& impl): impl_(impl) {}
+
+ ~exception_wrapper()
+ {
+ __clear__(reinterpret_cast<PyObject*>(this));
+ }
+
+ static int __clear__(PyObject* _self)
+ {
+#ifndef HAVE_PYBASEEXCEPTIONOBJECT
+ boost::python::decref(reinterpret_cast<exception_wrapper*>(_self)->message);
+#endif
+ base_traits::pytype_object->tp_clear(_self);
+ return 0;
+ }
+
+ static int __init__(PyObject* _self, PyObject* args, PyObject *kwargs)
+ {
+ exception_wrapper* self = reinterpret_cast<exception_wrapper*>(_self);
+ boost::python::tuple t(boost::python::make_tuple(self->impl_.what()));
+ if ((*base_traits::pytype_object->tp_init)(_self, t.ptr(), NULL) == -1)
+ {
+ throw std::runtime_error("Failed to initialize the base class");
+ }
+
+ self->message = boost::python::incref(
+ static_cast<boost::python::object>(t[0]).ptr());
+
+ return 0;
+ }
+
+ static PyObject* __get_message__(exception_wrapper* self)
+ {
+ return self->message;
+ }
+
+ static void translate_exception(wrapped_type const& type)
+ {
+ PyErr_SetObject(reinterpret_cast<PyObject*>(&exception_wrapper::__class__), create(type));
+ }
+
+ static PyTypeObject* __class_init__(const char* name, PyObject* mod)
+ {
+ using namespace boost::python;
+ if (__name__.empty())
+ {
+ __name__ = mod && PyModule_Check(mod) ?
+ extract<std::string>(object(borrowed(mod)).attr("__name__"))()
+ + "." + name: std::string(name);
+ __class__.tp_name = const_cast< char* >( __name__.c_str() );
+ PyType_Ready(&__class__);
+ }
+ return &__class__;
+ }
+
+ static void __dealloc__(exception_wrapper* self)
+ {
+ delete self;
+ }
+
+ static PyObject* __new__(PyTypeObject* type, PyObject* arg, PyObject* kwarg)
+ {
+ PyErr_SetString(PyExc_RuntimeError, "This class cannot be instantiated from within a Python script");
+ return NULL;
+ }
+
+ static int __traverse__(exception_wrapper* self, visitproc visit, void *arg)
+ {
+#ifndef HAVE_PYBASEEXCEPTIONOBJECT
+ Py_VISIT(self->message);
+#endif
+ return (*base_traits::pytype_object->tp_traverse)(
+ reinterpret_cast<PyObject*>(self), visit, arg);
+ }
+
+ static void __register_class(const char* name);
+
+public:
+ static PyTypeObject __class__;
+ static PyGetSetDef __getsets__[];
+ static std::string __name__;
+ Texc_ impl_;
+#ifndef HAVE_PYBASEEXCEPTIONOBJECT
+ PyObject* message;
+#endif
+};
+
+
+template<typename Texc_, typename TbaseTraits_>
+inline void exception_wrapper<Texc_, TbaseTraits_>::__register_class(const char* name)
+{
+ using namespace boost::python;
+ PyTypeObject* klass(exception_wrapper::__class_init__(name, reinterpret_cast<PyObject*>(scope().ptr())));
+ Py_INCREF(klass);
+ scope().attr(name) = object(borrowed(reinterpret_cast<PyObject*>(klass)));
+ register_exception_translator<Texc_>(&exception_wrapper::translate_exception);
+}
+
+template<typename Texc_, typename TbaseTraits_>
+std::string exception_wrapper<Texc_, TbaseTraits_>::__name__;
+
+template<typename Texc_, typename TbaseTraits_>
+PyGetSetDef exception_wrapper<Texc_, TbaseTraits_>::__getsets__[] = {
+ { const_cast<char*>("message"), (getter)&exception_wrapper::__get_message__, NULL },
+ { NULL }
+};
+
+template<typename Texc_, typename TbaseTraits_>
+PyTypeObject exception_wrapper<Texc_, TbaseTraits_>::__class__ = {
+ PyObject_HEAD_INIT(NULL)
+ 0, /* ob_size */
+ 0, /* tp_name */
+ sizeof(exception_wrapper), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ /* methods */
+ (destructor)&exception_wrapper::__dealloc__, /* tp_dealloc */
+ 0, /* tp_print */
+ 0, /* tp_getattr */
+ 0, /* tp_setattr */
+ 0, /* tp_compare */
+ 0, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ 0, /* tp_hash */
+ 0, /* tp_call */
+ 0, /* tp_str */
+ PyObject_GenericGetAttr, /* tp_getattro */
+ 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE, /* tp_flags */
+ 0, /* tp_doc */
+ (traverseproc)&exception_wrapper::__traverse__, /* tp_traverse */
+ exception_wrapper::__clear__, /* tp_clear */
+ 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ 0, /* tp_iter */
+ 0, /* tp_iternext */
+ 0, /* tp_methods */
+ 0, /* tp_members */
+ exception_wrapper::__getsets__, /* tp_getset */
+ reinterpret_cast<PyTypeObject*>(base_traits::pytype_object), /* tp_base */
+ 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ offsetof(typename exception_wrapper::base_type, PYEXC_DICT_MEMBER_NAME) /* tp_dictoffset */,
+ &exception_wrapper::__init__, /* tp_init */
+ 0, /* tp_alloc */
+ &exception_wrapper::__new__ /* tp_new */
+};
+
+} } // namespace peer::wrappers
+
+#endif /* PEER_EXCEPTION_HPP */
diff --git a/ecell4/egfrd/legacy/peer/wrappers/generator/generator_wrapper.hpp b/ecell4/egfrd/legacy/peer/wrappers/generator/generator_wrapper.hpp
new file mode 100644
index 0000000..52501b4
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/wrappers/generator/generator_wrapper.hpp
@@ -0,0 +1,177 @@
+#ifndef PEER_WRAPPERS_GENERATOR_GENERATOR_WRAPPER_HPP
+#define PEER_WRAPPERS_GENERATOR_GENERATOR_WRAPPER_HPP
+
+#include <Python.h>
+#include "generator.hpp"
+#include "peer/utils.hpp"
+
+namespace peer { namespace wrappers {
+
+template<typename Tgen_, typename Trcg_ = boost::python::return_by_value >
+class generator_wrapper
+{
+public:
+ typedef Tgen_ generator_type;
+ typedef typename Trcg_::template apply<typename generator_type::result_type>::type result_converter_type;
+
+public:
+ void* operator new(size_t)
+ {
+ PyObject* retval = PyObject_New(PyObject, &__class__);
+ return retval;
+ }
+
+ void operator delete(void* ptr)
+ {
+ reinterpret_cast<PyObject*>(ptr)->ob_type->tp_free(reinterpret_cast<PyObject*>(ptr));
+ }
+
+ Tgen_ const& ptr() const
+ {
+ return impl_;
+ }
+
+ Tgen_& ptr()
+ {
+ return impl_;
+ }
+
+ generator_wrapper(Tgen_ const& impl): impl_(impl) {}
+
+ ~generator_wrapper() {}
+
+ static PyObject* create(Tgen_ const& impl)
+ {
+ return reinterpret_cast<PyObject*>(new generator_wrapper(impl));
+ }
+
+ static void __dealloc__(generator_wrapper* self)
+ {
+ delete self;
+ }
+
+ static PyObject* next(generator_wrapper* self)
+ {
+ using namespace boost::python;
+
+ if (!valid(self->impl_))
+ {
+ PyErr_SetNone(PyExc_StopIteration);
+ return NULL;
+ }
+ return result_converter_type()(self->impl_());
+ }
+
+
+ static PyObject* __length_hint__(generator_wrapper* self)
+ {
+ try
+ {
+#ifdef HAVE_PYINT_FROMSIZE_T
+ return PyInt_FromSize_t(count(self->impl_));
+#else
+ std::size_t i(count(self->impl_));
+ if (i >= static_cast<std::size_t>(LONG_MIN) &&
+ i <= static_cast<std::size_t>(LONG_MAX))
+ {
+ return PyInt_FromLong((long)i);
+ }
+ return PyLong_FromUnsignedLongLong(i);
+#endif
+ }
+ catch (std::exception const&) {}
+
+ PyErr_SetNone(PyExc_TypeError);
+ return NULL;
+ }
+
+ static PyTypeObject* __class_init__(const char* name, PyObject* mod)
+ {
+ using namespace boost::python;
+ if (__name__.empty())
+ {
+ __name__ = mod && PyModule_Check(mod) ?
+ extract<std::string>(object(borrowed(mod)).attr("__name__"))()
+ + "." + name: std::string(name);
+ __class__.tp_name = const_cast<char*>(__name__.c_str());
+ PyType_Ready(&__class__);
+ }
+ return &__class__;
+ }
+
+ static void __register_class(const char* name);
+
+protected:
+ PyObject_VAR_HEAD
+ static PyTypeObject __class__;
+ static PyMethodDef __methods__[];
+ static std::string __name__;
+ Tgen_ impl_;
+};
+
+template<typename Tgen_, typename Trcg_>
+inline void generator_wrapper<Tgen_, Trcg_>::__register_class(const char* name)
+{
+ using namespace boost::python;
+ PyTypeObject* klass(generator_wrapper::__class_init__(name, reinterpret_cast<PyObject*>(scope().ptr())));
+ Py_INCREF(klass);
+ scope().attr(name) = object(borrowed(reinterpret_cast<PyObject*>(klass)));
+}
+
+template<typename Tgen_, typename Trcg_>
+std::string generator_wrapper<Tgen_, Trcg_>::__name__;
+
+template<typename Tgen_, typename Trcg_>
+PyMethodDef generator_wrapper<Tgen_, Trcg_>::__methods__[] = {
+ { "__length_hint__", (PyCFunction)generator_wrapper::__length_hint__, METH_NOARGS, "" },
+ { NULL, NULL }
+};
+
+template<typename Tgen_, typename Trcg_>
+PyTypeObject generator_wrapper<Tgen_, Trcg_>::__class__ = {
+ PyObject_HEAD_INIT(&PyType_Type)
+ 0, /* ob_size */
+ 0, /* tp_name */
+ sizeof(generator_wrapper), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ /* methods */
+ (destructor)&generator_wrapper::__dealloc__, /* tp_dealloc */
+ 0, /* tp_print */
+ 0, /* tp_getattr */
+ 0, /* tp_setattr */
+ 0, /* tp_compare */
+ 0, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ 0, /* tp_hash */
+ 0, /* tp_call */
+ 0, /* tp_str */
+ PyObject_GenericGetAttr, /* tp_getattro */
+ 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_HAVE_CLASS | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_ITER, /* tp_flags */
+ 0, /* tp_doc */
+ 0, /* tp_traverse */
+ 0, /* tp_clear */
+ 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ PyObject_SelfIter, /* tp_iter */
+ (iternextfunc)&generator_wrapper::next, /* tp_iternext */
+ generator_wrapper::__methods__, /* tp_methods */
+ 0, /* tp_members */
+ 0, /* tp_getset */
+ 0, /* tp_base */
+ 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ 0, /* tp_init */
+ 0, /* tp_alloc */
+ 0, /* tp_new */
+ PyObject_Del /* tp_free */
+};
+
+} } // namespace peer::util
+
+#endif /* PEER_WRAPPERS_GENERATOR_GENERATOR_WRAPPER_HPP */
diff --git a/ecell4/egfrd/legacy/peer/wrappers/generator/pyiterator_generator.hpp b/ecell4/egfrd/legacy/peer/wrappers/generator/pyiterator_generator.hpp
new file mode 100644
index 0000000..1c48802
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/wrappers/generator/pyiterator_generator.hpp
@@ -0,0 +1,73 @@
+#ifndef OBJECTMATRIX_PEER_RANGE_CONVERTERS_HPP
+#define OBJECTMATRIX_PEER_RANGE_CONVERTERS_HPP
+
+#include <boost/python.hpp>
+#include "generator.hpp"
+
+namespace peer { namespace wrappers {
+
+template<typename Tvalue_>
+class pyiterator_generator: public abstract_limited_generator<Tvalue_>
+{
+public:
+ typedef Tvalue_ value_type;
+
+public:
+ pyiterator_generator(boost::python::handle<> iter)
+ : iter_(iter), advanced_(false) {}
+
+ virtual ~pyiterator_generator() {}
+
+ virtual bool valid() const
+ {
+ const_cast<pyiterator_generator*>(this)->fetch();
+ return last_;
+ }
+
+ virtual value_type operator()()
+ {
+ fetch();
+ if (!last_)
+ {
+ return value_type();
+ }
+ advanced_ = false;
+ return boost::python::extract<value_type>(last_.get())();
+ }
+
+ bool operator==(pyiterator_generator const& rhs) const
+ {
+ return (!last_ && !rhs.last_) || iter_ == rhs.iter_;
+ }
+
+private:
+ void fetch()
+ {
+ if (iter_ && !advanced_)
+ {
+ last_ = boost::python::handle<>(
+ boost::python::allow_null(
+ PyIter_Next(iter_.get())));
+ if (!last_)
+ {
+ iter_.reset();
+ }
+ advanced_ = true;
+ }
+ }
+
+protected:
+ boost::python::handle<> iter_;
+ bool advanced_;
+ boost::python::handle<> last_;
+};
+
+} } // namespace peer::wrappers
+
+template<typename Tvalue>
+inline bool valid(peer::wrappers::pyiterator_generator<Tvalue> const& gen)
+{
+ return gen.valid();
+}
+
+#endif /* OBJECTMATRIX_PEER_RANGE_CONVERTERS_HPP */
diff --git a/ecell4/egfrd/legacy/peer/wrappers/iterator/pyseq_iterator.hpp b/ecell4/egfrd/legacy/peer/wrappers/iterator/pyseq_iterator.hpp
new file mode 100644
index 0000000..b47335d
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/wrappers/iterator/pyseq_iterator.hpp
@@ -0,0 +1,60 @@
+#ifndef PEER_WRAPPERS_ITERATOR_PYSEQ_ITERATOR_HPP
+#define PEER_WRAPPERS_ITERATOR_PYSEQ_ITERATOR_HPP
+
+#include <boost/python.hpp>
+#include <boost/iterator/iterator_facade.hpp>
+
+template<typename Tvalue_>
+class pyseq_iterator
+ : public boost::iterator_facade<
+ pyseq_iterator<Tvalue_>, Tvalue_,
+ boost::random_access_traversal_tag,
+ Tvalue_,
+ Py_ssize_t>
+{
+public:
+ typedef Py_ssize_t difference_type;
+ typedef Tvalue_ reference;
+
+public:
+ pyseq_iterator(boost::python::object seq, difference_type idx = 0)
+ : seq_(seq), idx_(idx) {}
+
+ reference dereference() const
+ {
+ return boost::python::extract<Tvalue_>(
+ boost::python::handle<>(
+ PySequence_GetItem(seq_.ptr(), idx_)).get())();
+ }
+
+ bool equal(pyseq_iterator const& rhs) const
+ {
+ return seq_ == rhs.seq_ && idx_ == rhs.idx_;
+ }
+
+ void increment()
+ {
+ ++idx_;
+ }
+
+ void decrement()
+ {
+ --idx_;
+ }
+
+ void advance(difference_type n)
+ {
+ idx_ += n;
+ }
+
+ difference_type distance_to(pyseq_iterator const& rhs) const
+ {
+ return rhs.idx_ - idx_;
+ }
+
+protected:
+ boost::python::object seq_;
+ difference_type idx_;
+};
+
+#endif /* PEER_WRAPPERS_ITERATOR_PYSEQ_ITERATOR_HPP */
diff --git a/ecell4/egfrd/legacy/peer/wrappers/iterator/stl_iterator_wrapper.hpp b/ecell4/egfrd/legacy/peer/wrappers/iterator/stl_iterator_wrapper.hpp
new file mode 100644
index 0000000..5380e2b
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/wrappers/iterator/stl_iterator_wrapper.hpp
@@ -0,0 +1,159 @@
+#ifndef PEER_WRAPPERS_ITERATOR_STL_ITERATOR_WRAPPER_HPP
+#define PEER_WRAPPERS_ITERATOR_STL_ITERATOR_WRAPPER_HPP
+
+#include <boost/python.hpp>
+#include <boost/iterator/iterator_traits.hpp>
+#include <boost/range/begin.hpp>
+#include <boost/range/end.hpp>
+
+namespace peer { namespace wrappers {
+
+template<typename Titer_, typename Tholder_ = void*, typename Trcg_ = boost::python::return_by_value>
+class stl_iterator_wrapper
+{
+ typedef typename boost::iterator_reference<Titer_>::type iterator_reference;
+ typedef typename Trcg_::template apply<iterator_reference>::type result_converter_type;
+
+protected:
+ PyObject_VAR_HEAD
+ Titer_ i_;
+ Titer_ end_;
+ Tholder_ holder_;
+
+public:
+ static PyTypeObject __class__;
+ static std::string __name__;
+
+public:
+ void* operator new(size_t)
+ {
+ return PyObject_New(stl_iterator_wrapper, &__class__);
+ }
+
+ void operator delete(void* ptr)
+ {
+ reinterpret_cast<PyObject*>(ptr)->ob_type->tp_free(reinterpret_cast< PyObject*>(ptr));
+ }
+
+ template<typename Trange>
+ stl_iterator_wrapper(Trange const& range, Tholder_ holder = Tholder_())
+ : i_(boost::begin(range)), end_(boost::end(range)), holder_(holder) {}
+
+ template<typename Titer>
+ stl_iterator_wrapper(Titer const& begin, Titer const& end, Tholder_ holder = Tholder_())
+ : i_(begin), end_(end), holder_(holder) {}
+
+ ~stl_iterator_wrapper()
+ {
+ }
+
+public:
+ static PyTypeObject* __class_init__(const char* name, PyObject* mod = 0)
+ {
+ using namespace boost::python;
+ if (__name__.empty())
+ {
+ __name__ = mod && PyModule_Check(mod) ?
+ extract<std::string>(object(borrowed(mod)).attr("__name__"))()
+ + "." + name: std::string(name);
+ __class__.tp_name = const_cast<char*>(__name__.c_str());
+ PyType_Ready(&__class__);
+ }
+ return &__class__;
+ }
+
+ static void __register_class(char const* name)
+ {
+ using namespace boost::python;
+ PyTypeObject* klass(stl_iterator_wrapper::__class_init__(name, reinterpret_cast<PyObject*>(scope().ptr())));
+ Py_INCREF(klass);
+ scope().attr(name) = object(borrowed(reinterpret_cast<PyObject*>(klass)));
+ }
+
+ template<typename Trange>
+ static PyObject* create(Trange const& range, Tholder_ holder = Tholder_())
+ {
+ return reinterpret_cast<PyObject*>(new stl_iterator_wrapper(range, holder));
+ }
+
+ static void __dealloc__(stl_iterator_wrapper* self)
+ {
+ delete self;
+ }
+
+ static PyObject* __next__(stl_iterator_wrapper* self)
+ {
+ if (self->i_ == self->end_)
+ return NULL;
+
+ try
+ {
+ return result_converter_type()(*self->i_ ++);
+ }
+ catch (boost::python::error_already_set const&)
+ {
+ return NULL;
+ }
+ }
+};
+
+template<typename Titer_, typename Tholder_, typename Trcg_>
+std::string stl_iterator_wrapper<Titer_, Tholder_, Trcg_>::__name__;
+
+template<typename Titer_, typename Tholder_, typename Trcg_>
+PyTypeObject stl_iterator_wrapper<Titer_, Tholder_, Trcg_>::__class__ = {
+ PyObject_HEAD_INIT(&PyType_Type)
+ 0, /* ob_size */
+ 0, /* tp_name */
+ sizeof(stl_iterator_wrapper), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ /* methods */
+ (destructor)&stl_iterator_wrapper::__dealloc__, /* tp_dealloc */
+ 0, /* tp_print */
+ 0, /* tp_getattr */
+ 0, /* tp_setattr */
+ 0, /* tp_compare */
+ 0, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ 0, /* tp_hash */
+ 0, /* tp_call */
+ 0, /* tp_str */
+ PyObject_GenericGetAttr, /* tp_getattro */
+ 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_HAVE_CLASS | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_ITER,/* tp_flags */
+ 0, /* tp_doc */
+ 0, /* tp_traverse */
+ 0, /* tp_clear */
+ 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ PyObject_SelfIter, /* tp_iter */
+ (iternextfunc)&stl_iterator_wrapper::__next__, /* tp_iternext */
+ 0, /* tp_methods */
+ 0, /* tp_members */
+ 0, /* tp_getset */
+ 0, /* tp_base */
+ 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ 0, /* tp_init */
+ 0, /* tp_alloc */
+ 0, /* tp_new */
+ PyObject_Del /* tp_free */
+};
+
+template<typename Trange, typename Tholder, typename Trcg>
+inline PyObject*
+make_stl_iterator_wrapper(Trange const& range, Tholder holder = Tholder(), Trcg const& rcg = boost::python::return_by_value())
+{
+ typedef stl_iterator_wrapper<typename boost::range_const_iterator<Trange>::type, Tholder, Trcg> wrapper_type;
+ wrapper_type::__class_init__(typeid(wrapper_type).name(), boost::python::scope().ptr());
+ return wrapper_type::create(range, holder);
+}
+
+} } // namespace peer::wrappers
+
+#endif /* PEER_WRAPPERS_ITERATOR_STL_ITERATOR_WRAPPER_HPP */
diff --git a/ecell4/egfrd/legacy/peer/wrappers/range/pyiterable_range.hpp b/ecell4/egfrd/legacy/peer/wrappers/range/pyiterable_range.hpp
new file mode 100644
index 0000000..78c9121
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/wrappers/range/pyiterable_range.hpp
@@ -0,0 +1,103 @@
+#ifndef PEER_WRAPPERS_PYITERABLE_RANGE_HPP
+#define PEER_WRAPPERS_PYITERABLE_RANGE_HPP
+
+#include <boost/python.hpp>
+#include <boost/optional.hpp>
+#include <boost/range/size.hpp>
+#include <boost/range/difference_type.hpp>
+#include <boost/mpl/bool.hpp>
+#include "generator.hpp"
+#include "utils/range.hpp"
+
+#include "peer/wrappers/generator/pyiterator_generator.hpp"
+
+namespace peer { namespace wrappers {
+
+template<typename Tvalue_>
+struct pyiterable_range
+{
+ typedef pyiterator_generator<Tvalue_> generator_type;
+
+ struct generator_holder
+ {
+ bool operator==(generator_holder const& rhs) const
+ {
+ return impl_ == rhs.impl_;
+ }
+
+ operator bool() const
+ {
+ return impl_.is_initialized();
+ }
+
+ generator_type* operator->() const
+ {
+ return boost::get_pointer(impl_);
+ }
+
+ generator_type& operator*() const
+ {
+ return boost::get(impl_);
+ }
+
+ generator_holder(generator_type const& impl): impl_(impl) {}
+
+ generator_holder(): impl_() {}
+
+ mutable boost::optional<generator_type> impl_;
+ };
+
+ typedef generator_iterator<generator_type, generator_holder> iterator;
+ typedef typename boost::remove_reference<
+ typename generator_type::result_type> value_type;
+ typedef typename generator_type::result_type reference;
+ typedef iterator const_iterator;
+
+ pyiterable_range(boost::python::object obj): obj_(obj) {}
+
+ std::size_t size() const
+ {
+ return PyObject_Size(obj_.ptr());
+ }
+
+ iterator begin() const
+ {
+ return iterator(generator_holder(generator_type(
+ boost::python::handle<>(PyObject_GetIter(obj_.ptr())))));
+ }
+
+ iterator end() const
+ {
+ return iterator();
+ }
+
+protected:
+ boost::python::object obj_;
+};
+
+} } // namespace peer::wrappers
+
+template<typename Tvalue_>
+struct range_size<peer::wrappers::pyiterable_range<Tvalue_> >
+{
+ typedef std::size_t type;
+};
+
+template<typename Tvalue_>
+struct range_size_retriever<peer::wrappers::pyiterable_range<Tvalue_> >
+{
+ typedef peer::wrappers::pyiterable_range<Tvalue_> argument_type;
+ typedef typename range_size<argument_type>::type result_type;
+
+ result_type operator()(argument_type const& range) const
+ {
+ return range.size();
+ }
+};
+
+template<typename Tvalue_>
+struct is_sized<peer::wrappers::pyiterable_range<Tvalue_> >: public boost::mpl::true_
+{
+};
+
+#endif /* PEER_WRAPPERS_PYITERABLE_RANGE_HPP */
diff --git a/ecell4/egfrd/legacy/peer/wrappers/range/stl_container_wrapper.hpp b/ecell4/egfrd/legacy/peer/wrappers/range/stl_container_wrapper.hpp
new file mode 100644
index 0000000..abc4783
--- /dev/null
+++ b/ecell4/egfrd/legacy/peer/wrappers/range/stl_container_wrapper.hpp
@@ -0,0 +1,317 @@
+#ifndef PEER_WRAPPERS_RANGE_STL_CONTAINER_WRAPPER_HPP
+#define PEER_WRAPPERS_RANGE_STL_CONTAINER_WRAPPER_HPP
+
+#include <boost/python.hpp>
+
+#include <boost/range/begin.hpp>
+#include <boost/range/end.hpp>
+#include <boost/range/size.hpp>
+#include <boost/range/size_type.hpp>
+#include <boost/range/value_type.hpp>
+#include <boost/range/iterator.hpp>
+#include <boost/range/reference.hpp>
+#include <boost/range/const_iterator.hpp>
+
+#include "peer/wrappers/iterator/stl_iterator_wrapper.hpp"
+
+namespace peer { namespace wrappers {
+
+template<typename T_>
+struct default_immutable_container_wrapper_policy
+{
+ typedef typename boost::range_size<T_>::type size_type;
+ typedef typename boost::range_value<T_>::type value_type;
+ typedef value_type const& reference;
+ typedef value_type const& const_reference;
+ typedef typename boost::range_const_iterator<T_>::type iterator;
+ typedef typename boost::range_const_iterator<T_>::type const_iterator;
+
+ static size_type size(T_ const& c)
+ {
+ return boost::size(c);
+ }
+
+ static void set(T_ const&, size_type, const_reference)
+ {
+ PyErr_SetString(PyExc_RuntimeError, "object is immutable");
+ boost::python::throw_error_already_set();
+ }
+
+ static const_reference get(T_ const& c, size_type i)
+ {
+ return c[i];
+ }
+
+ static const_iterator begin(T_ const& c)
+ {
+ return boost::begin(c);
+ }
+
+ static const_iterator end(T_ const& c)
+ {
+ return boost::end(c);
+ }
+};
+
+template<typename T_>
+struct default_container_wrapper_policy
+{
+ typedef typename boost::range_size<T_>::type size_type;
+ typedef typename boost::range_value<T_>::type value_type;
+ typedef value_type const& reference;
+ typedef value_type const& const_reference;
+ typedef typename boost::range_const_iterator<T_>::type iterator;
+ typedef typename boost::range_const_iterator<T_>::type const_iterator;
+
+ static size_type size(T_ const& c)
+ {
+ return boost::size(c);
+ }
+
+ static void set(T_& c, size_type i, const_reference v)
+ {
+ c[i] = v;
+ }
+
+ static reference get(T_ const& c, size_type i)
+ {
+ return c[i];
+ }
+
+ static iterator begin(T_ const& c)
+ {
+ return boost::begin(c);
+ }
+
+ static iterator end(T_ const& c)
+ {
+ return boost::end(c);
+ }
+};
+
+template<template<typename> class TTpolicy_>
+struct default_policy_generator
+{
+ template<typename T_>
+ struct apply
+ {
+ typedef TTpolicy_<T_> type;
+ };
+};
+
+template<typename Timpl_, typename Tholder_, typename Tpolgen_ = default_policy_generator<default_container_wrapper_policy>, typename Trcg_ = boost::python::return_by_value>
+class stl_container_wrapper
+{
+private:
+ typedef Timpl_ impl_type;
+ typedef typename Tpolgen_::template apply<Timpl_>::type policy_type;
+ typedef stl_iterator_wrapper<
+ typename policy_type::const_iterator,
+ boost::python::handle<>, Trcg_> iterator_wrapper_type;
+ typedef typename Trcg_::template apply<typename policy_type::reference>::type result_converter_type;
+
+protected:
+ PyObject_VAR_HEAD
+ Tholder_ impl_;
+
+public:
+ static PyTypeObject __class__;
+ static PySequenceMethods __sequence_methods__;
+ static std::string __name__;
+
+public:
+ void* operator new(size_t)
+ {
+ return PyObject_New(stl_container_wrapper, &__class__);
+ }
+
+ void operator delete(void* ptr)
+ {
+ reinterpret_cast<PyObject*>(ptr)->ob_type->tp_free(reinterpret_cast< PyObject*>(ptr));
+ }
+
+ Tholder_ const& ptr() const
+ {
+ return impl_;
+ }
+
+ Tholder_& ptr()
+ {
+ return impl_;
+ }
+
+ // stl_container_wrapper(Tholder_ const& impl): impl_(impl) {}
+
+ stl_container_wrapper(Tholder_ impl): impl_(impl) {}
+
+ ~stl_container_wrapper()
+ {
+ }
+
+public:
+ static Py_ssize_t __sq_len__(stl_container_wrapper const* self)
+ {
+ return policy_type::size(*self->impl_);
+ }
+
+ static PyObject* __sq_item__(stl_container_wrapper const* self, Py_ssize_t idx)
+ {
+ if (idx < 0)
+ {
+ idx += policy_type::size(*self->impl_);
+ }
+ if (idx < 0 || idx >= static_cast<Py_ssize_t>(policy_type::size(*self->impl_)))
+ {
+ PyErr_Format(PyExc_IndexError, "index out of range: %zd", idx);
+ return NULL;
+ }
+ try
+ {
+ return result_converter_type()(policy_type::get(*self->impl_, idx));
+ }
+ catch (boost::python::error_already_set const&)
+ {
+ }
+ return NULL;
+ }
+
+ static int __sq_ass_item__(stl_container_wrapper* self, Py_ssize_t idx, PyObject *val)
+ {
+ if (idx < 0 || idx >= static_cast<Py_ssize_t>(policy_type::size(*self->impl_)))
+ {
+ PyErr_Format(PyExc_IndexError, "index out of range: %zd", idx);
+ return -1;
+ }
+
+ try
+ {
+ policy_type::set(*self->impl_, idx, boost::python::extract<typename policy_type::value_type>(val)());
+ }
+ catch (boost::python::error_already_set const&)
+ {
+ return NULL;
+ }
+ return 0;
+ }
+
+ static int __sq_contains__(stl_container_wrapper const* self, PyObject *val)
+ {
+ boost::python::extract<typename policy_type::value_type> _val(val);
+ if (!_val.check())
+ {
+ return 0;
+ }
+
+ typename policy_type::const_iterator e(policy_type::end(static_cast<impl_type const&>(*self->impl_)));
+ return e != std::find(policy_type::begin(static_cast<impl_type const&>(*self->impl_)), e, _val());
+ }
+
+ static PyObject* __iter__(stl_container_wrapper const* self)
+ {
+ return iterator_wrapper_type::create(*self->impl_,
+ boost::python::handle<>(boost::python::borrowed(
+ const_cast<PyObject*>(
+ reinterpret_cast<PyObject const*>(self)))));
+ }
+
+ static PyTypeObject* __class_init__(const char* name, PyObject* mod = 0)
+ {
+ using namespace boost::python;
+ iterator_wrapper_type::__class_init__(
+ (std::string(name) + ".Iterator").c_str(), mod);
+ if (__name__.empty())
+ {
+ __name__ = mod && PyModule_Check(mod) ?
+ extract<std::string>(object(borrowed(mod)).attr("__name__"))()
+ + "." + name: std::string(name);
+ __class__.tp_name = const_cast<char*>(__name__.c_str());
+ PyType_Ready(&__class__);
+ }
+ return &__class__;
+ }
+
+ static void __register_class(char const *name)
+ {
+ using namespace boost::python;
+ PyObject* mod(scope().ptr());
+ PyTypeObject* klass(stl_container_wrapper::__class_init__(name, mod));
+ Py_INCREF(klass);
+ scope().attr(name) = object(borrowed(reinterpret_cast<PyObject*>(klass)));
+ }
+
+ static PyObject* create(Tholder_ impl)
+ {
+ return reinterpret_cast<PyObject*>(new stl_container_wrapper(impl));
+ }
+
+ static void __dealloc__(stl_container_wrapper* self)
+ {
+ delete self;
+ }
+};
+
+template<typename Timpl_, typename Tholder_, typename Tpolgen_, typename Trcg_>
+PySequenceMethods stl_container_wrapper<Timpl_, Tholder_, Tpolgen_, Trcg_>::__sequence_methods__ = {
+ (lenfunc) &stl_container_wrapper::__sq_len__, /* sq_length */
+ (binaryfunc) 0, /* sq_concat */
+ (ssizeargfunc) 0, /* sq_repeat */
+ (ssizeargfunc) &stl_container_wrapper::__sq_item__, /* sq_item */
+ (ssizessizeargfunc) 0, /* sq_slice */
+ (ssizeobjargproc) &stl_container_wrapper::__sq_ass_item__, /* sq_ass_item */
+ (ssizessizeobjargproc) 0, /* sq_ass_slice */
+ (objobjproc) &stl_container_wrapper::__sq_contains__, /* sq_contains */
+ (binaryfunc) 0, /* sq_inplace_concat */
+ (ssizeargfunc) 0, /* sq_inplace_repeat */
+};
+
+template<typename Titer_, typename Tholder_, typename Tpolgen_, typename Trcg_>
+std::string stl_container_wrapper<Titer_, Tholder_, Tpolgen_, Trcg_>::__name__;
+
+template<typename Titer_, typename Tholder_, typename Tpolgen_, typename Trcg_>
+PyTypeObject stl_container_wrapper<Titer_, Tholder_, Tpolgen_, Trcg_>::__class__ = {
+ PyObject_HEAD_INIT(&PyType_Type)
+ 0, /* ob_size */
+ 0, /* tp_name */
+ sizeof(stl_container_wrapper), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ /* methods */
+ (destructor)&stl_container_wrapper::__dealloc__, /* tp_dealloc */
+ 0, /* tp_print */
+ 0, /* tp_getattr */
+ 0, /* tp_setattr */
+ 0, /* tp_compare */
+ 0, /* tp_repr */
+ 0, /* tp_as_number */
+ &stl_container_wrapper::__sequence_methods__, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ 0, /* tp_hash */
+ 0, /* tp_call */
+ 0, /* tp_str */
+ PyObject_GenericGetAttr, /* tp_getattro */
+ 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_HAVE_CLASS | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_ITER, /* tp_flags */
+ 0, /* tp_doc */
+ 0, /* tp_traverse */
+ 0, /* tp_clear */
+ 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ (getiterfunc)&stl_container_wrapper::__iter__, /* tp_iter */
+ 0, /* tp_iternext */
+ 0, /* tp_methods */
+ 0, /* tp_members */
+ 0, /* tp_getset */
+ 0, /* tp_base */
+ 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ 0, /* tp_init */
+ 0, /* tp_alloc */
+ 0, /* tp_new */
+ PyObject_Del /* tp_free */
+};
+
+} } // namespace peer::wrappers
+
+#endif /* PEER_WRAPPERS_RANGE_STL_CONTAINER_WRAPPER_HPP */
diff --git a/ecell4/egfrd/legacy/pyGFRD.cpp b/ecell4/egfrd/legacy/pyGFRD.cpp
new file mode 100644
index 0000000..5e8f668
--- /dev/null
+++ b/ecell4/egfrd/legacy/pyGFRD.cpp
@@ -0,0 +1,127 @@
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif /* HAVE_CONFIG_H */
+
+#include <exception>
+#include <stdexcept>
+
+//#include <gsl/gsl_math.h>
+#include <gsl/gsl_errno.h>
+
+#include <boost/lexical_cast.hpp>
+#include <boost/python.hpp>
+#include <boost/python/tuple.hpp>
+#include <boost/python/module.hpp>
+#include <boost/python/refcount.hpp>
+#include <boost/python/return_value_policy.hpp>
+#include <boost/python/reference_existing_object.hpp>
+#include <boost/python/return_by_value.hpp>
+#include <boost/python/wrapper.hpp>
+#include <boost/python/converter/object_manager.hpp>
+
+#include <numpy/arrayobject.h>
+
+#include "utils.hpp"
+#include "peer/utils.hpp"
+#include "peer/converters/tuple.hpp"
+#include "peer/numpy/wrapped_multi_array.hpp"
+#include "peer/numpy/scalar_converters.hpp"
+
+#include "binding/bd_propagator_class.hpp"
+#include "binding/binding_common.hpp"
+#include "binding/box_class.hpp"
+#include "binding/cylinder_class.hpp"
+#include "binding/domain_id_class.hpp"
+#include "binding/domain_classes.hpp"
+#include "binding/egfrd_simulator_classes.hpp"
+#include "binding/bd_simulator_classes.hpp"
+#include "binding/event_classes.hpp"
+#include "binding/exception_classes.hpp"
+#include "binding/matrix_space_classes.hpp"
+#include "binding/model_class.hpp"
+#include "binding/module_functions.hpp"
+#include "binding/multi_particle_container_class.hpp"
+#include "binding/network_rules_class.hpp"
+#include "binding/network_rules_wrapper_class.hpp"
+#include "binding/particle_class.hpp"
+#include "binding/particle_container_class.hpp"
+#include "binding/particle_id_class.hpp"
+#include "binding/particle_model_class.hpp"
+#include "binding/particle_simulator_classes.hpp"
+#include "binding/plane_class.hpp"
+#include "binding/position_converters.hpp"
+#include "binding/python_logger_classes.hpp"
+#include "binding/random_number_generator_class.hpp"
+#include "binding/volume_clearer_classes.hpp"
+#include "binding/reaction_record_classes.hpp"
+#include "binding/shape_converters.hpp"
+#include "binding/shell_classes.hpp"
+#include "binding/shell_id_class.hpp"
+#include "binding/species_id_class.hpp"
+#include "binding/species_type_class.hpp"
+#include "binding/sphere_class.hpp"
+#include "binding/structure_classes.hpp"
+#include "binding/transaction_classes.hpp"
+#include "binding/world_class.hpp"
+
+namespace b = binding;
+
+BOOST_PYTHON_MODULE(_gfrd)
+{
+ using namespace boost::python;
+
+ import_array();
+
+ // GSL error handler: is this the best place for this?
+ gsl_set_error_handler(&gsl_error_handler);
+
+ peer::util::register_std_exception_translator();
+ peer::util::register_exception_translator<PyExc_IndexError,
+ std::out_of_range>();
+
+ b::register_model_class();
+ b::register_bd_propagator_class();
+ b::register_box_class();
+ b::register_domain_id_class();
+ b::register_domain_classes();
+ b::register_exception_classes();
+ b::register_spherical_shell_container_class();
+ b::register_plane_class();
+ b::register_cylinder_class();
+ b::register_cylindrical_shell_container_class();
+ b::register_network_rules_class();
+ b::register_network_rules_wrapper_class();
+ b::register_particle_class();
+ b::register_particle_id_class();
+ b::register_particle_model_class();
+ b::register_position_converters();
+ b::register_event_class();
+ b::register_python_event_class();
+ b::register_event_scheduler_class();
+ b::register_random_number_generator_class();
+ b::register_sphere_class();
+ b::register_sphere_converters();
+ b::register_spherical_shell_class();
+ b::register_cylindrical_shell_class();
+ b::register_shell_id_class();
+ b::register_species_id_class();
+ b::register_species_type_class();
+ b::register_particle_container_class();
+ b::register_multi_particle_container_class();
+ b::register_transaction_classes();
+ b::register_world_class();
+ b::register_structure_classes();
+ b::register_module_functions();
+ b::register_volume_clearer_classes();
+ b::register_reaction_record_classes();
+ b::register_particle_simulator_classes();
+ b::register_egfrd_simulator_classes();
+ b::register_bd_simulator_classes();
+ b::register_python_logger_classes();
+
+ peer::util::register_seq_wrapped_multi_array_converter<b::Length>();
+ peer::util::register_ndarray_wrapped_multi_array_converter<b::Length, 2>();
+ peer::util::register_ndarray_wrapped_multi_array_converter<b::Length, 3>();
+
+ peer::util::register_scalar_to_native_converters();
+}
diff --git a/ecell4/egfrd/legacy/samples/bd_propagator/test1.py b/ecell4/egfrd/legacy/samples/bd_propagator/test1.py
new file mode 100644
index 0000000..be812f1
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/bd_propagator/test1.py
@@ -0,0 +1,122 @@
+import _gfrd
+import myrandom
+import vtk
+
+m = _gfrd.Model()
+S0 = m.new_species_type()
+S0['D'] = '.01'
+S0['radius'] = '.01'
+S0['surface'] = 'default'
+S1 = m.new_species_type()
+S1['D'] = '.01'
+S1['radius'] = '.01'
+S1['surface'] = 'default'
+S2 = m.new_species_type()
+S2['D'] = '.01'
+S2['radius'] = '.01'
+S2['surface'] = 'default'
+
+colors = {
+ S0.id: (1., 0., 0.),
+ S1.id: (0., 1., 0.),
+ S2.id: (1., 1., 0.),
+ }
+
+rr = _gfrd.ReactionRule((S0, S1), (S2, ))
+rr['k'] = '.01'
+m.network_rules.add_reaction_rule(rr)
+
+nrw = _gfrd.NetworkRulesWrapper(m.network_rules)
+
+w = _gfrd.World(1., 10)
+region = _gfrd._CuboidalRegion("default",
+ _gfrd.Box((.5, .5, .5), (1., 0., 0.), (0., 1., 0.), (0., 0., 1.), 1., 1., .1))
+w.add_surface(region)
+
+for s in [S0, S1, S2]:
+ w.add_species(_gfrd.SpeciesInfo(s.id, float(s['D']), float(s['radius']), s['surface']))
+
+for i in xrange(0, 300):
+ w.new_particle([S0, S1][i % 2],
+ [myrandom.uniform(), myrandom.uniform(), myrandom.uniform()])
+
+wn = vtk.vtkRenderWindow()
+int = wn.MakeRenderWindowInteractor()
+int.Initialize()
+int.SetRenderWindow(wn)
+r = vtk.vtkRenderer()
+wn.AddRenderer(r)
+
+actors = {}
+
+def create_actor(pp):
+ s = vtk.vtkSphereSource()
+ s.SetRadius(pp[1].radius)
+ s.SetCenter(pp[1].position)
+ m = vtk.vtkPolyDataMapper()
+ m.SetInput(s.GetOutput())
+ a = vtk.vtkActor()
+ a.GetProperty().SetColor(colors[pp[1].sid])
+ a.SetMapper(m)
+ r.AddActor(a)
+ actors[pp[0]] = (s, a)
+
+def update_actor(pp):
+ actors[pp[0]][0].SetCenter(pp[1].position)
+
+def remove_actor(pp):
+ r.RemoveActor(actors[pp[0]][1])
+ del actors[pp[0]]
+
+for pp in w:
+ create_actor(pp)
+
+anim = []
+
+def callback(*arg):
+ t = w.create_transaction()
+ particle_id_list = [pair[0] for pair in w]
+ propagator = _gfrd._BDPropagator(w, t, nrw, myrandom.rng, 1e-3, 100, particle_id_list)
+ propagator.propagate_all()
+ for pp in t.added_particles:
+ create_actor(pp)
+ s = vtk.vtkSphereSource()
+ s.SetCenter(pp[1].position)
+ s.SetRadius(.01)
+ m = vtk.vtkPolyDataMapper()
+ m.SetInput(s.GetOutput())
+ a = vtk.vtkActor()
+ a.GetProperty().SetColor((1., 1., 1.))
+ a.GetProperty().SetOpacity(.2)
+ a.SetMapper(m)
+ r.AddActor(a)
+ anim.append((1, s, a))
+
+ for pp in t.removed_particles:
+ remove_actor(pp)
+
+ for pp in t.modified_particles:
+ update_actor(pp)
+
+ l = len(anim)
+ j = 0
+ while j < l:
+ i, s, a = anim[j]
+ if i >= 4:
+ r.RemoveActor(a)
+ del anim[j]
+ l -= 1
+ continue
+ s.SetRadius(0.04 * i)
+ a.GetProperty().SetOpacity(.3 - .05 * i)
+ anim[j] = (i + 1, s, a)
+ j += 1
+
+ wn.Render()
+
+ del t
+
+int.CreateRepeatingTimer(100)
+int.AddObserver('TimerEvent', callback, .0)
+int.Start()
+
diff --git a/ecell4/egfrd/legacy/samples/bd_propagator/test2.py b/ecell4/egfrd/legacy/samples/bd_propagator/test2.py
new file mode 100644
index 0000000..5d37aa1
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/bd_propagator/test2.py
@@ -0,0 +1,191 @@
+import _gfrd
+import myrandom
+import vtk
+
+m = _gfrd.Model()
+S0 = m.new_species_type()
+S0['D'] = '.01'
+S0['radius'] = '.01'
+S0['surface'] = 'default'
+S1 = m.new_species_type()
+S1['D'] = '.01'
+S1['radius'] = '.01'
+S1['surface'] = 'default'
+S2 = m.new_species_type()
+S2['D'] = '.01'
+S2['radius'] = '.01'
+S2['surface'] = 'default'
+
+colors = {
+ S0.id: (1., 0., 0.),
+ S1.id: (0., 1., 0.),
+ S2.id: (1., 1., 0.),
+ }
+
+rr = _gfrd.ReactionRule((S0, S1), (S2, ))
+rr['k'] = '.01'
+m.network_rules.add_reaction_rule(rr)
+
+nrw = _gfrd.NetworkRulesWrapper(m.network_rules)
+
+class MyParticleContainer(_gfrd._ParticleContainer):
+ def __init__(self, world_size):
+ _gfrd._ParticleContainer.__init__(self)
+ self.particles = {}
+ self.surfaces = {}
+ self.species = {}
+ self.pidgen = _gfrd.ParticleIDGenerator(0)
+ self.world_size = world_size
+
+ def add_surface(self, surface):
+ self.surfaces[surface.id] = surface
+
+ def add_species(self, species):
+ self.species[species.id] = species
+
+ def get_surface(self, id):
+ return self.surfaces[id]
+
+ def get_species(self, id):
+ if isinstance(id, _gfrd.SpeciesType):
+ id = id.id
+ return self.species[id]
+
+ def new_particle(self, species_id, position):
+ new_pid = self.pidgen()
+ species = self.get_species(species_id)
+ retval = (new_pid, _gfrd.Particle(position, species.radius, species.D, species.id))
+ self.update_particle(retval)
+ return retval
+
+ def update_particle(self, pid_particle_pair):
+ self.particles[pid_particle_pair[0]] = pid_particle_pair[1]
+ return False
+
+ def remove_particle(self, pid):
+ del self.particles[pid]
+
+ def get_particle(self, pid):
+ p = self.particles.get(pid, None)
+ if p is None:
+ raise NotFound
+ return pid, p
+
+ def check_overlap(self, sphere, ignores):
+ retval = []
+ for pp in self.particles.iteritems():
+ if pp[0] in ignores:
+ continue
+ dist = _gfrd.distance(pp[1].position, sphere.position) - pp[1].radius
+ if dist < sphere.radius:
+ retval.append((pp, dist))
+ retval.sort(lambda a, b: cmp(a[1], b[1]))
+ return retval
+
+ def distance(self, x, y):
+ return _gfrd.distance_cyclic(x, y, self.world_size)
+
+ def apply_boundary(self, x):
+ return _gfrd.apply_boundary(x, self.world_size)
+
+ def cyclic_transpose(self, x, y):
+ return _gfrd.cyclic_transpose(x, y, self.world_size)
+
+ def __iter__(self):
+ return self.particles.iteritems()
+
+ def create_transaction(self):
+ return _gfrd.TransactionImpl(self)
+
+w = MyParticleContainer(1.0)
+region = _gfrd._CuboidalRegion("default",
+ _gfrd.Box((.5, .5, .5), (1., 0., 0.), (0., 1., 0.), (0., 0., 1.), 1., 1., .1))
+w.add_surface(region)
+
+for s in [S0, S1, S2]:
+ w.add_species(_gfrd.SpeciesInfo(s.id, float(s['D']), float(s['radius']), s['surface']))
+
+for i in xrange(0, 300):
+ w.new_particle([S0, S1][i % 2],
+ [myrandom.uniform(), myrandom.uniform(), myrandom.uniform()])
+
+wn = vtk.vtkRenderWindow()
+int = wn.MakeRenderWindowInteractor()
+int.Initialize()
+int.SetRenderWindow(wn)
+r = vtk.vtkRenderer()
+wn.AddRenderer(r)
+
+actors = {}
+
+def create_actor(pp):
+ s = vtk.vtkSphereSource()
+ s.SetRadius(pp[1].radius)
+ s.SetCenter(pp[1].position)
+ m = vtk.vtkPolyDataMapper()
+ m.SetInput(s.GetOutput())
+ a = vtk.vtkActor()
+ a.GetProperty().SetColor(colors[pp[1].sid])
+ a.SetMapper(m)
+ r.AddActor(a)
+ actors[pp[0]] = (s, a)
+
+def update_actor(pp):
+ actors[pp[0]][0].SetCenter(pp[1].position)
+
+def remove_actor(pp):
+ r.RemoveActor(actors[pp[0]][1])
+ del actors[pp[0]]
+
+for pp in w:
+ create_actor(pp)
+
+anim = []
+
+def callback(*arg):
+ t = w.create_transaction()
+ particle_id_list = [pair[0] for pair in w]
+ propagator = _gfrd._BDPropagator(w, t, nrw, myrandom.rng, 1e-3, 100, particle_id_list)
+ propagator.propagate_all()
+ for pp in t.added_particles:
+ create_actor(pp)
+ s = vtk.vtkSphereSource()
+ s.SetCenter(pp[1].position)
+ s.SetRadius(.01)
+ m = vtk.vtkPolyDataMapper()
+ m.SetInput(s.GetOutput())
+ a = vtk.vtkActor()
+ a.GetProperty().SetColor((1., 1., 1.))
+ a.GetProperty().SetOpacity(.2)
+ a.SetMapper(m)
+ r.AddActor(a)
+ anim.append((1, s, a))
+
+ for pp in t.removed_particles:
+ remove_actor(pp)
+
+ for pp in t.modified_particles:
+ update_actor(pp)
+
+ l = len(anim)
+ j = 0
+ while j < l:
+ i, s, a = anim[j]
+ if i >= 4:
+ r.RemoveActor(a)
+ del anim[j]
+ l -= 1
+ continue
+ s.SetRadius(0.04 * i)
+ a.GetProperty().SetOpacity(.3 - .05 * i)
+ anim[j] = (i + 1, s, a)
+ j += 1
+
+ wn.Render()
+
+ del t
+
+int.CreateRepeatingTimer(100)
+int.AddObserver('TimerEvent', callback, .0)
+int.Start()
+
diff --git a/ecell4/egfrd/legacy/samples/bd_test/data/.empty-dir b/ecell4/egfrd/legacy/samples/bd_test/data/.empty-dir
new file mode 100644
index 0000000..e69de29
diff --git a/ecell4/egfrd/legacy/samples/bd_test/irr.py b/ecell4/egfrd/legacy/samples/bd_test/irr.py
new file mode 100644
index 0000000..8d10ef2
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/bd_test/irr.py
@@ -0,0 +1,71 @@
+#!/usr/bin/env python
+
+from bd import *
+import sys
+
+def run(outfilename, T, N):
+
+ outfile = open(outfilename, 'w')
+
+ for i in range(N):
+ d, t = singlerun(T)
+ outfile.write('%g\n' % d)
+
+ print d, t
+ #assert d == 0 or t == T
+
+ outfile.close()
+
+
+def singlerun(T):
+
+ w = World(1e-3, 3)
+ s = BDSimulator(w)
+
+ sigma = 5e-9
+ r0 = sigma
+ D = 1e-12
+ kf = 10 * sigma * D
+
+ m = ParticleModel()
+
+ A = m.new_species_type('A', D/2, sigma/2)
+ B = m.new_species_type('B', D/2, sigma/2)
+ C = m.new_species_type('C', D/2, sigma/2)
+
+ r1 = create_binding_reaction_rule(A, B, C, kf)
+ m.network_rules.add_reaction_rule(r1)
+
+ s.set_model(m)
+
+ particleA = s.place_particle(A, [0,0,0])
+ particleB = s.place_particle(B, [(float(A['radius']) + float(B['radius']))+1e-23,0,0])
+
+ end_time = T
+ #s.initialize()
+
+ while 1:
+ next_time = s.t + s.dt
+ if next_time > end_time:
+ break
+ s.step()
+
+ if s.core.last_reaction:
+ print 'reaction'
+ return 0.0, s.t
+
+ distance = s.distance_between_particles(particleA[1], particleB[1])
+
+ return distance, s.t
+
+
+def first(x):
+ x = iter(x)
+ try:
+ return x.next()
+ except StopIteration, e:
+ return None
+
+
+if __name__ == '__main__':
+ run(sys.argv[1], float(sys.argv[2]), int(sys.argv[3]))
diff --git a/ecell4/egfrd/legacy/samples/benchmark/Makefile.am b/ecell4/egfrd/legacy/samples/benchmark/Makefile.am
new file mode 100644
index 0000000..68c9224
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/benchmark/Makefile.am
@@ -0,0 +1,8 @@
+noinst_PROGRAMS = hardbody
+
+INCLUDES = -I$(top_srcdir) $(PYTHON_INCLUDES)
+AM_CXXFLAGS = @CXXFLAGS@ @GSL_CFLAGS@
+
+hardbody_SOURCES = hardbody.cpp ../../NetworkRules.cpp ../../BasicNetworkRulesImpl.cpp ../../Logger.cpp ../../freeFunctions.cpp
+
+hardbody_LDADD = $(GSL_LIBS)
diff --git a/ecell4/egfrd/legacy/samples/benchmark/hardbody.cpp b/ecell4/egfrd/legacy/samples/benchmark/hardbody.cpp
new file mode 100644
index 0000000..3657d13
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/benchmark/hardbody.cpp
@@ -0,0 +1,136 @@
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif /* HAVE_CONFIG_H */
+
+#include <boost/timer.hpp>
+#include <algorithm>
+
+#include "utils/range.hpp"
+#include "MatrixSpace.hpp"
+#include "utils.hpp"
+#include "Sphere.hpp"
+#include "Cylinder.hpp"
+#include "Box.hpp"
+#include "Surface.hpp"
+#include "Region.hpp"
+#include "Plane.hpp"
+#include "BDSimulator.hpp"
+#include "NetworkRules.hpp"
+#include "Transaction.hpp"
+#include "World.hpp"
+#include "GSLRandomNumberGenerator.hpp"
+#include "BasicNetworkRulesImpl.hpp"
+#include "NetworkRulesWrapper.hpp"
+#include "ReactionRuleInfo.hpp"
+#include "ParticleSimulator.hpp"
+
+struct Traits: ParticleSimulatorTraitsBase<World<CyclicWorldTraits<Real, Real> > >
+{};
+
+template<typename Tworld_, typename Trng_, typename Tpid_list_>
+void inject_particles(Tworld_& world, Trng_& rng, Tpid_list_& pid_list, typename Tworld_::species_id_type const& sid, int n)
+{
+ typedef typename Tworld_::particle_id_pair_and_distance_list particle_id_pair_list;
+ typedef typename Tworld_::particle_id_pair particle_id_pair;
+ typedef typename Tworld_::length_type length_type;
+ typedef typename Tworld_::particle_shape_type particle_shape_type;
+ typedef typename Tworld_::position_type position_type;
+ typedef typename Tworld_::species_type species_type;
+ typedef typename Tworld_::structure_type structure_type;
+ species_type const& s(world.get_species(sid));
+ boost::shared_ptr<structure_type> structure(world.get_structure(s.structure_id()));
+
+ for (int i = 0; i < n; ++i)
+ {
+ particle_shape_type p(position_type(), s.radius());
+
+ for (;;)
+ {
+ p.position() = structure->random_position(rng);
+ if (boost::scoped_ptr<particle_id_pair_list>(
+ world.check_overlap(p)) == 0)
+ {
+ break;
+ }
+ std::cerr << i << "th particle rejected" << std::endl;
+ }
+
+ particle_id_pair i(world.new_particle(sid, p.position()));
+ pid_list.push_back(i.first);
+ }
+}
+
+void do_benchmark(Real volume, std::size_t n, Traits::time_type t, Real dt_factor)
+{
+ typedef Traits::world_type world_type;
+ typedef world_type::species_id_type species_id;
+ typedef world_type::particle_id_type particle_id;
+ typedef world_type::species_type species;
+ typedef world_type::length_type length_type;
+ typedef world_type::particle_id_pair_generator particle_id_pair_generator;
+ typedef Traits::network_rules_type network_rules_type;
+ typedef network_rules_type::reaction_rule_type reaction_rule_type;
+ typedef world_type::position_type position_type;
+ typedef BDSimulator<Traits>::cuboidal_region_type cuboidal_region_type;
+ typedef BDSimulator<Traits>::box_type box_type;
+
+ SerialIDGenerator<species_id> sidgen;
+ world_type::traits_type::rng_type rng;
+ BasicNetworkRulesImpl nr;
+ boost::shared_ptr<network_rules_type> nrw(new network_rules_type(nr));
+ length_type const world_size(std::pow(volume, 1. / 3.));
+ std::size_t const matrix_size(
+ std::max(static_cast<std::size_t>(3u),
+ static_cast<std::size_t>(std::pow(3. * n, 1. / 3.))));
+ boost::shared_ptr<world_type> w(new world_type(world_size, matrix_size));
+
+ species A(sidgen(), 1e-12, 2.5e-9, "default");
+ w->add_species(A);
+
+ boost::shared_ptr<world_type::structure_type> default_surface(
+ new cuboidal_region_type("default",
+ box_type(
+ position_type(world_size / 2, world_size / 2, world_size / 2),
+ array_gen(world_size / 2, world_size / 2, world_size / 2))));
+ w->add_structure(default_surface);
+
+ std::vector<particle_id> A_particles;
+ inject_particles(*w, rng, A_particles, A.id(), n);
+
+ std::cout << "T: " << t << std::endl;
+ std::cout << "V: " << volume << std::endl;
+ std::cout << "N: " << n << std::endl;
+ std::cout << "world size: " << world_size << std::endl;
+ std::cout << "matrix size: " << matrix_size << std::endl;
+
+ {
+ std::cout << "stir" << std::endl;
+ BDSimulator<Traits> s(w, nrw, rng, dt_factor);
+ std::cout << "dt: " << s.dt() << std::endl;
+ Traits::time_type const stir_time(t * .1);
+ while (s.step(stir_time));
+ }
+
+ {
+ std::cout << "run" << std::endl;
+ BDSimulator<Traits> s(w, nrw, rng, dt_factor);
+ boost::timer timer;
+ while (s.step(t));
+ std::cout << "t: " << s.t() << "=" << t << std::endl;
+ std::cout << "dt: " << s.dt() << std::endl;
+ std::cout << "steps (total): " << s.num_steps() << std::endl;
+ std::cout << "elapsed: " << timer.elapsed() << std::endl;
+ std::cout << "steps per second: "
+ << (static_cast<double>(s.num_steps()) / timer.elapsed())
+ << std::endl;
+ std::cout << "steps/N: "
+ << (static_cast<double>(s.num_steps()) / n)
+ << std::endl;
+ }
+}
+
+int main()
+{
+ do_benchmark(1e-12, 1e5, 1e-10, 1e-6);
+ return 0;
+}
diff --git a/ecell4/egfrd/legacy/samples/dimer/dimer.py b/ecell4/egfrd/legacy/samples/dimer/dimer.py
new file mode 100644
index 0000000..dbf8ee7
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/dimer/dimer.py
@@ -0,0 +1,74 @@
+#!/usr/bin/env python
+
+from egfrd import *
+from bd import *
+from gfrdbase import *
+from logger import *
+import _gfrd
+import model
+import sys
+
+
+N = 300
+
+L = 5e-6
+#L = 2e-6
+#L = 5e-8
+#L = 3e-7
+
+m = model.ParticleModel(L)
+S = model.Species('S', 1.5e-12, 5e-9)
+P = model.Species('P', 1e-12, 7e-9)
+m.add_species_type(S)
+m.add_species_type(P)
+r1 = model.create_binding_reaction_rule(S, S, P, 1e7 / N_A)
+r2 = model.create_unbinding_reaction_rule(P, S, S, 1e3)
+m.network_rules.add_reaction_rule(r1)
+m.network_rules.add_reaction_rule(r2)
+m.set_all_repulsive()
+
+world = create_world(m, int((N * 6) ** (1. / 3.)))
+nrw = _gfrd.NetworkRulesWrapper(m.network_rules)
+s = EGFRDSimulator(world, myrandom.rng, nrw)
+#s = BDSimulator(world. myrandom.rng, nrw)
+
+throw_in_particles(s.world, S, N / 2)
+throw_in_particles(s.world, P, N / 2)
+
+
+#l = Logger('dimer')
+l = None
+interrupter = None
+
+if l is not None:
+ interrupter = FixedIntervalInterrupter(s, 1e-7, l.log)
+
+import myrandom
+myrandom.seed(0)
+
+
+def profrun():
+ if l is not None:
+ l.start(s)
+ for _ in xrange(15000):
+ if interrupter is not None:
+ interrupter.step()
+ else:
+ s.step()
+
+PROFMODE = True
+
+if PROFMODE:
+ try:
+ import cProfile as profile
+ except:
+ import profile
+ profile.run('profrun()', 'fooprof')
+ s.print_report()
+
+ import pstats
+ pstats.Stats('fooprof').sort_stats('time').print_stats(40)
+
+else:
+ profrun()
+ s.print_report()
diff --git a/ecell4/egfrd/legacy/samples/dimer/dimer_cpp.py b/ecell4/egfrd/legacy/samples/dimer/dimer_cpp.py
new file mode 100644
index 0000000..ef15816
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/dimer/dimer_cpp.py
@@ -0,0 +1,106 @@
+#!/usr/bin/env python
+
+from gfrdbase import N_A, create_world, throw_in_particles
+from logger import *
+import _gfrd
+import myrandom
+import model
+import sys
+
+
+N = 300
+
+L = 5e-6
+#L = 2e-6
+#L = 5e-8
+#L = 3e-7
+
+#_gfrd.PythonLoggerFactory.register_logger_factory(
+# ".*", _gfrd.PythonLoggerFactory())
+
+m = model.ParticleModel(L)
+S = model.Species('S', 1.5e-12, 5e-9)
+P = model.Species('P', 1e-12, 7e-9)
+m.add_species_type(S)
+m.add_species_type(P)
+r1 = model.create_binding_reaction_rule(S, S, P, 1e7 / N_A)
+r2 = model.create_unbinding_reaction_rule(P, S, S, 1e3)
+m.network_rules.add_reaction_rule(r1)
+m.network_rules.add_reaction_rule(r2)
+m.set_all_repulsive()
+
+world = create_world(m, int((N * 6) ** (1. / 3.)))
+nrw = _gfrd.NetworkRulesWrapper(m.network_rules)
+s = _gfrd._EGFRDSimulator(world, nrw, myrandom.rng)
+s.paranoiac = True
+#s = BDSimulator(world. myrandom.rng, nrw)
+
+throw_in_particles(s.world, S, N / 2)
+throw_in_particles(s.world, P, N / 2)
+
+
+#l = Logger('dimer')
+l = None
+interrupter = None
+
+if l is not None:
+ interrupter = FixedIntervalInterrupter(s, 1e-7, l.log)
+
+import myrandom
+myrandom.seed(0)
+
+
+def profrun():
+ if l is not None:
+ l.start(s)
+ for _ in xrange(15000):
+ if interrupter is not None:
+ interrupter.step()
+ else:
+ s.step()
+
+def print_report(s):
+ print 't = %g' % s.t
+ print 'steps = %d' % s.num_steps
+ print 'Single: %d (escape: %d, reaction: %d)' % (
+ s.num_single_steps_per_type(_gfrd.SingleEventKind.ESCAPE) + \
+ s.num_single_steps_per_type(_gfrd.SingleEventKind.REACTION),
+ s.num_single_steps_per_type(_gfrd.SingleEventKind.ESCAPE),
+ s.num_single_steps_per_type(_gfrd.SingleEventKind.REACTION),
+ )
+ print 'Pair: %d (single reaction: %d, CoM escape: %d, IV escape: %d, IV reaction: %d)' % (
+ s.num_pair_steps_per_type(_gfrd.PairEventKind.SINGLE_REACTION_0) + \
+ s.num_pair_steps_per_type(_gfrd.PairEventKind.SINGLE_REACTION_1) + \
+ s.num_pair_steps_per_type(_gfrd.PairEventKind.COM_ESCAPE) + \
+ s.num_pair_steps_per_type(_gfrd.PairEventKind.IV_ESCAPE) + \
+ s.num_pair_steps_per_type(_gfrd.PairEventKind.IV_REACTION),
+ s.num_pair_steps_per_type(_gfrd.PairEventKind.SINGLE_REACTION_0) + \
+ s.num_pair_steps_per_type(_gfrd.PairEventKind.SINGLE_REACTION_1),
+ s.num_pair_steps_per_type(_gfrd.PairEventKind.COM_ESCAPE),
+ s.num_pair_steps_per_type(_gfrd.PairEventKind.IV_ESCAPE),
+ s.num_pair_steps_per_type(_gfrd.PairEventKind.IV_REACTION),
+ )
+ print 'Multi: %d (escape: %d, reaction: %d)' % (
+ s.num_multi_steps_per_type(_gfrd.MultiEventKind.NONE) + \
+ s.num_multi_steps_per_type(_gfrd.MultiEventKind.ESCAPE) + \
+ s.num_multi_steps_per_type(_gfrd.MultiEventKind.REACTION),
+ s.num_multi_steps_per_type(_gfrd.MultiEventKind.ESCAPE),
+ s.num_multi_steps_per_type(_gfrd.MultiEventKind.REACTION)
+ )
+
+PROFMODE = True
+
+if PROFMODE:
+ try:
+ import cProfile as profile
+ except:
+ import profile
+ profile.run('profrun()', 'fooprof')
+ print_report(s)
+
+ import pstats
+ pstats.Stats('fooprof').sort_stats('time').print_stats(40)
+
+else:
+ profrun()
+ print_report(s)
diff --git a/ecell4/egfrd/legacy/samples/hardbody/Makefile b/ecell4/egfrd/legacy/samples/hardbody/Makefile
new file mode 100644
index 0000000..66d012b
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/hardbody/Makefile
@@ -0,0 +1,33 @@
+PYTHONPATH=../..
+
+OUTFILES=\
+out_C.py\
+out_V.py\
+out_N300.py\
+out_N3000.py\
+out_BD.py
+#out_BD2.py
+
+
+all: $(OUTFILES)
+
+out_C.py:
+ PYTHONPATH=$(PYTHONPATH) python -O run_all.py C
+
+out_V.py:
+ PYTHONPATH=$(PYTHONPATH) python -O run_all.py V
+
+out_N300.py:
+ PYTHONPATH=$(PYTHONPATH) python -O run_all.py N300
+
+out_N3000.py:
+ PYTHONPATH=$(PYTHONPATH) python -O run_all.py N3000
+
+out_BD.py:
+ PYTHONPATH=$(PYTHONPATH) python -O run_all.py BD
+
+# out_BD2.py:
+# PYTHONPATH=$(PYTHONPATH) python -O run_all.py BD2
+
+clean:
+ rm -f $(OUTFILES)
\ No newline at end of file
diff --git a/ecell4/egfrd/legacy/samples/hardbody/README b/ecell4/egfrd/legacy/samples/hardbody/README
new file mode 100644
index 0000000..7187ba1
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/hardbody/README
@@ -0,0 +1,26 @@
+
+
+This sample script runs a model composed of a single, non-reactive
+species. After each run, the script prints the real time it took
+to run the simulation in seconds. This script may be useful for
+a simple benchmarking purpose.
+
+Look at the first part of the script run.py to check or modify
+some parameters used in it.
+
+T: time when simulation is stopped.
+V: the volume of the space used in the simulation.
+N: the number of particles in the simulator volume.
+
+Other parameters used are:
+D: Diffusion coefficient = 1e-12 [m^2/s]
+sigma: Radius of particles = 3e-8 [m]
+
+By default, the model has cyclic boundary in space.
+
+
+After N particles are randomly placed, the simulator runs
+for some small duration of time (stirTime in the script) to stir.
+After that, the simulator is re-initialized, and run for T
+to take the benchmark.
+
diff --git a/ecell4/egfrd/legacy/samples/hardbody/plot.py b/ecell4/egfrd/legacy/samples/hardbody/plot.py
new file mode 100644
index 0000000..98afe57
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/hardbody/plot.py
@@ -0,0 +1,173 @@
+#!/usr/bin/env/python
+
+import sys
+
+import numpy
+import scipy.io
+from matplotlib.pylab import *
+
+
+N_A = 6.0221367e23
+
+def plot_data(N, T, fmt):
+ T = numpy.array(T)
+
+ mean = T.mean(1)
+ std_err = T.std()/math.sqrt(len(T))
+
+ #errorbar(N, mean, yerr=std_err, fmt=fmt)
+ print N, mean
+ loglog(N, mean, fmt)
+
+
+from out_C import *
+from out_V import *
+from out_N300 import *
+from out_N3000 import *
+from out_BD import *
+#from out_BD2 import *
+
+from run_all import Nv, Nc, V300, N300, V3000, N3000, VBD, NBD, TBD, TBD2
+
+
+# (40e-18 ** (1/3.0))**2 / 1e-12
+# = 11.69607095285148
+
+X = numpy.array([30,100,300,1000,3000,10000,30000,100000,1e8])
+
+
+axes([.12,.14,.86,.83])
+
+#for i in range(len(Nv)):
+plot_data(Nv, data_V,'kx')
+
+loglog(X, 0.004* X**(5.0/3), 'k--')
+
+figtext(.25, .18, r'(2) V = 1 pL')
+figtext(.82, .85, r'$t \ \propto \ N^{5/3}$', color='k')
+
+
+#for i in range(len(Nc)):
+plot_data(Nc, data_C,'ko')
+loglog(X, 4* X, 'k-')
+
+figtext(.14, .4, r'(1) C = 50 nM')
+figtext(.8, .59, r'$t \ \propto \ N$', color='k')
+
+# plot BD data
+#plot_data(NBD, data_BD2,'k.')
+plot_data(NBD, data_BD,'k.')
+
+# loglog(X, 2e6* X, 'b:') # 1e-6 tau
+# loglog(X, 2e4* X, 'b:') # 1e-4 tau
+loglog(X, 2e5* X, 'b:') # 1e-5 tau
+
+#figtext(.2, .82, r'BD', color='k')
+#figtext(.19, .64, r'BD (relaxed)', color='k')
+
+figtext(.19, .64, r'BD', color='k')
+
+#loglog(data1[0] , data1[1], 'o-', label='Vol. = 1e-15 L')
+#loglog(data2[0] , data2[1], 'o-', label='# particles = 600')
+#loglog(data3[0] , data3[1], 'o-', label='Conc. = 1e-6 M')
+
+xlabel('N [# particles]', size=22)
+#xlabel('Concentration [M]')
+#ylabel('time [s]', size=22)
+#legend()
+# xlim(4,9e6)
+# ylim(1.1,2e11)
+
+xlim(40,9e7)
+ylim(0,2e11)
+
+xticks(size=18)
+yticks([60,3600,3600*24,3600*24*30, 3600*24*30*12],
+ ['minute', 'hour', 'day', 'month', 'year'], size=16)
+
+#grid()
+
+C300 = numpy.array(N300) / (numpy.array(V300)*N_A)
+C3000 = numpy.array(N3000) / (numpy.array(V3000)*N_A)
+print C300, C3000
+# Cx3000=numpy.array([
+# # 9.35e-11,
+# 9.35e-10,
+# 9.35e-9,
+# 9.35e-8,#N=3000,V=40e-15
+# 9.35e-7,#N=3000,V=40e-16
+# 9.35e-6,#N=3000,V=40e-17
+# 9.35e-5,#N=3000,V=40e-18
+# 9.35e-4,
+# 9.35e-4*3
+
+# ])
+
+# Cx300=numpy.array([
+# 9.35e-10,#N=300,V=40e-14
+# 9.35e-9,#N=300,V=40e-15
+# 9.35e-8,#16
+# 9.35e-7,#17
+# 9.35e-6,#18
+# 9.35e-5,#19
+# 9.35e-4,#20
+# 9.35e-4*3
+# # 3.74e-3,#1e-21
+# # 9.35e-3,#4e-21
+# ])
+
+#data_N3000 *= 11696
+#data_N300 *= 11696
+
+axes([.63,.19,.33,.31])
+
+# M-> uM
+C300 *= 1e6
+C3000 *= 1e6
+
+for i in range(len(C3000)):
+ plot_data(C3000, data_N3000,'k+')
+#loglog(C3000, 5e1** C3000, 'b:')
+bd3000 = numpy.array(data_BD[3]).mean()
+loglog([1e-4,1e4],[bd3000,bd3000], 'b:')
+
+
+for i in range(len(C300)):
+ plot_data(C300, data_N300,'kd')
+loglog(C300, 1.0e4* C300**(2.0/3.0), 'k-.', label='C^(2/3)')
+#loglog(C300, 1e5* C300, 'k-.', label='C^1')
+#loglog(C300, 2.5e4* C300**(4.0/3.0), 'k-.', label='C^(4/3)')
+
+figtext(.75, .195, r'(3a) N = 300')
+figtext(.84, .25, r'$t \ \propto \ C^{2/3}$', color='k')
+figtext(.66, .32, r'(3b) N = 3000')
+
+#bd 300
+bd300 = numpy.array(data_BD[1]).mean()
+loglog([1e-5,1e5],[bd300,bd300], 'b:')
+
+figtext(.65, .455, r'BD', color='k')
+
+#xlabel('Concentration')
+#ylabel('time [s]')
+
+#xlim(5e-10,5e-2)
+#ylim(1e2,5e9)
+#xlim(5e-10,5e-3)
+xlim(2e-4,9e3)
+ylim(2e2,8e11)
+
+xticks([1e-3, 1e0, 1e3], ['nM','uM','mM'], size=16)
+yticks([60,3600,3600*24,3600*24*30, 3600*24*30*12],
+ ['m', 'h', 'd', 'm', 'y'], size=16)
+
+show()
+#savefig('fig1.eps')
+
+
+
+
+#>>> _gfrd.S_irr(.0001 * 1e-8**2/1e-12, 1e-8, 10 * 1e-8 * 1e-12, 1e-12, 1e-8)
+#0.99116163945434221
+
+
diff --git a/ecell4/egfrd/legacy/samples/hardbody/run_all.py b/ecell4/egfrd/legacy/samples/hardbody/run_all.py
new file mode 100644
index 0000000..e1a22b9
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/hardbody/run_all.py
@@ -0,0 +1,154 @@
+#!/usr/bin/env python
+import sys
+import numpy
+import math
+
+import run_single
+
+prefix = 'out_'
+
+T = 10.
+
+REPEAT = 3
+
+
+def run_set(outfile, name, V_list, N_list, T_list):
+
+ outfile.write('%s = [\n' % name)
+ for i in range(len(V_list)):
+ outfile.write('# T=%g, N=%g, V=%g\n' %
+ (T_list[i], N_list[i], V_list[i]))
+ run_times = []
+ est_times = []
+ for c in range(REPEAT):
+ run_time, steps, stepspersec = run_single.run_single(T_list[i],
+ V_list[i],
+ N_list[i])
+ est_time = run_time * (T / T_list[i])
+ run_times.append(run_time)
+ est_times.append(est_time)
+ outfile.write('# steps= %d, steps/sec= %f, steps/N= %f\n'\
+ % (steps, stepspersec, float(steps) / N_list[i]))
+ outfile.write('# run_times = %s\n' % str(run_times))
+ outfile.write('%s,\n' % str(est_times))
+ outfile.flush()
+ outfile.write(']\n')
+
+
+def run_set_bd(outfile, name, V_list, N_list, T_list, dt_factor):
+
+ outfile.write('# dt_factor = %g\n' % dt_factor)
+ outfile.write('%s = [\n' % name)
+ for i in range(len(V_list)):
+ outfile.write('# T=%g, N=%g, V=%g\n' %
+ (T_list[i], N_list[i], V_list[i]))
+ run_times = []
+ est_times = []
+ for c in range(REPEAT):
+ run_time, steps, stepspersec = run_single.run_single_bd(T_list[i],
+ V_list[i],
+ N_list[i],
+ dt_factor)
+ est_time = run_time * (T / T_list[i])
+ run_times.append(run_time)
+ est_times.append(est_time)
+ outfile.write('# steps= %d, steps/sec= %f, steps/N= %f\n'\
+ % (steps, stepspersec, float(steps) / N_list[i]))
+ outfile.write('# run_times = %s\n' % str(run_times))
+ outfile.write('%s,\n' % str(est_times))
+ outfile.flush()
+ outfile.write(']\n')
+
+
+
+
+#Vv = [40e-15, ] * 12
+Vv = [1e-12, ] * 11
+Nv = [100,300,1000,3000,10000,30000,100000,300000,1000000,3000000,10000000]#,30000000]
+#Tv = [1e-0, 1e-1, 1e-1, 1e-2, 1e-3, 1e-3, 1e-4, 1e-4, 1e-5,1e-6]
+
+# Tv = [max(1e-3,
+# min(T,
+# 3e4 / math.pow(N, 5.0 / 3.0))) for N in Nv]
+
+Tv = [max(1e-5,
+ min(T,
+ 1e0 / math.pow(N, 2.0 / 3.0))) for N in Nv]
+
+#Tv = [1e-3,] * 11
+
+# Vc = [40e-17, 13e-16, 40e-16, 13e-15, 40e-15, 13e-14, 40e-14, 13e-13, 40e-13,
+# 13e-12,40e-12,13e-11,40e-12]
+Vc = [3.33e-15,1e-14, 3.33e-14,1e-13, 3.33e-13,1e-12, 3.33e-12,1e-11, 3.33e-11,1e-10, 3.33e-10,1e-9]#,3.33e-9]
+
+Nc = [100, 300, 1000, 3000, 10000, 30000,100000,300000,1000000,3000000,10000000,30000000]#,100000000]
+#Tc = [1e-1, 1e-2, 1e-2, 1e-3, 1e-3, 1e-3, 1e-3, 1e-4, 1e-4, 1e-4]#,1e-5
+
+Tc = [max(1e-3,
+ min(T,
+ 1e1 / math.pow(float(N), 1.0))) for N in Nc]
+#Tc = [1e-3] * 10
+
+
+V300 = [40e-14, 40e-15, 40e-16, 40e-17, 40e-18, 40e-19, 40e-20, 13.3e-20]#,40e-22]
+N300 = [300, ] * 8
+#T300 = [1e-2, 1e-2, 1e-3, 1e-3, 1e-4, 1e-5, 1e-6, 1e-7]#, 1e-8]
+T300 = [1e7 / math.pow(1.0/V, 2.0 / 3.0) for V in V300]
+
+
+V3000 = [40e-13, 40e-14, 40e-15, 40e-16, 40e-17, 40e-18, 40e-19, 13.3e-19]#,40e-21]
+N3000 = [3000, ] * 8
+#T3000 = [1e-2, 1e-2, 1e-3, 1e-3, 1e-3, 1e-4, 1e-5, 1e-6]#, 1e-7]
+T3000 = [2e6 / math.pow(1.0/V, 2.0 / 3.0) for V in V3000]
+
+
+VBD = [1e-12] * 7
+NBD = [100,300,1000,3000,10000,30000,100000]
+#NBD = [100,1000,100000]
+TBD = [1e-4 / N for N in NBD]
+#TBD = [1e-5 / N for N in NBD]
+
+TBD2 = [1e-3 / N for N in NBD]
+
+
+VBD300 = V300
+NBD300 = N300
+TBD300 = [5e-7] * len(VBD300)
+
+BD_DTFACTOR = 1e-5
+
+if __name__ == '__main__':
+ mode = sys.argv[1]
+ outfile = open(prefix+mode+'.py','w');
+ dataname = 'data_' + mode
+ if mode == 'V':
+ run_set(outfile, dataname, Vv, Nv, Tv); outfile.write('\n\n')
+ elif mode == 'C':
+ run_set(outfile, dataname, Vc, Nc, Tc); outfile.write('\n\n')
+ elif mode == 'N300':
+ run_set(outfile, dataname, V300, N300, T300); outfile.write('\n\n')
+ elif mode == 'N3000':
+ run_set(outfile, dataname, V3000, N3000, T3000); outfile.write('\n\n')
+ elif mode == 'BD':
+ run_set_bd(outfile, dataname, VBD, NBD, TBD, BD_DTFACTOR); outfile.write('\n\n')
+
+ elif mode == 'BD300':
+ run_set_bd(outfile, dataname, VBD300, NBD300, TBD300, BD_DTFACTOR); outfile.write('\n\n')
+ # elif mode == 'BD2':
+ # run_set_bd(outfile, dataname, VBD, NBD, TBD2, 1e-4); outfile.write('\n\n')
+
+ # just for large # particles stress tests
+ elif mode == 'NE6':
+ run_set(outfile, dataname, [3.3e-9], [1e6], [1e-3]); outfile.write('\n\n')
+ elif mode == 'N3E6':
+ run_set(outfile, dataname, [1e-10], [3e6], [1e-3]); outfile.write('\n\n')
+ elif mode == 'NE7':
+ run_set(outfile, dataname, [3.3e-10], [1e7], [1e-3]); outfile.write('\n\n')
+ elif mode == 'NE5BD':
+ run_set_bd(outfile, dataname, [1e-12], [1e5], [1e-9], 1e-5); outfile.write('\n\n')
+
+
+
+ else:
+ raise 'invalid argument'
+
diff --git a/ecell4/egfrd/legacy/samples/hardbody/run_single.py b/ecell4/egfrd/legacy/samples/hardbody/run_single.py
new file mode 100644
index 0000000..b35b792
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/hardbody/run_single.py
@@ -0,0 +1,151 @@
+#!/usr/bin/env python
+
+from egfrd import *
+from bd import *
+
+from logger import *
+import sys
+import time
+import model
+import gfrdbase
+import _gfrd
+import myrandom
+
+def run_single(T, V, N):
+
+ print 'T =', T, '; V= ', V, '; N=', N
+
+ # disable gc
+ import gc
+ gc.disable()
+
+ L = math.pow(V * 1e-3, 1.0 / 3.0)
+
+ matrix_size = max(3, int((3 * N) ** (1.0/3.0)))
+
+ print 'matrix_size=', matrix_size
+
+ D = 1e-12
+
+ m = model.ParticleModel(L)
+ A = model.Species('A', D, 2.5e-9)
+ m.add_species_type(A)
+ m.set_all_repulsive()
+
+ w = gfrdbase.create_world(m, matrix_size)
+ nrw = _gfrd.NetworkRulesWrapper(m.network_rules)
+ #s = EGFRDSimulator(w, myrandom.rng, nrw)
+ myrandom.seed(3964642685656813207)
+ s = _gfrd._EGFRDSimulator(w, nrw, myrandom.rng)
+ #s.paranoiac = True
+
+ gfrdbase.throw_in_particles(w, A, N)
+ print 'stir'
+
+ stir_time = T * .1
+ while 1:
+ s.step()
+ next_time = s.t + s.dt
+ if next_time > stir_time:
+ s.step(stir_time)
+ break
+
+ stir_steps = s.num_steps
+
+ #print 'reset'
+ #s.reset()
+
+ print 'run'
+ run_time = T + stir_time
+
+ start = time.time()
+ while s.t < run_time:
+ s.step()
+ end = time.time()
+ timing = end - start
+
+ steps = s.num_steps - stir_steps
+ stepspersec = float(steps) / timing
+ print 'steps (total)= ', steps
+ print 'steps/sec= ', stepspersec, ', steps/N= ', float(steps) / N
+ print 'TIMING:\n', timing, '\n'
+
+ gc.collect()
+ gc.enable()
+
+ return end - start, steps, stepspersec
+
+
+def run_single_bd(T, V, N, dt_factor):
+
+ print 'T =', T, '; V= ', V, '; N=', N
+
+ # disable gc
+ import gc
+ gc.disable()
+
+ L = math.pow(V * 1e-3, 1.0 / 3.0)
+
+ matrix_size = max(3, int((3 * N) ** (1.0/3.0)))
+
+ print 'matrix_size=', matrix_size
+
+ D = 1e-12
+
+ m = model.ParticleModel(L)
+ A = model.Species('A', D, 2.5e-9)
+ m.add_species_type(A)
+ m.set_all_repulsive()
+
+ w = gfrdbase.create_world(m, matrix_size)
+ nrw = _gfrd.NetworkRulesWrapper(m.network_rules)
+ s = _gfrd._BDSimulator(w, nrw, myrandom.rng, dt_factor)
+
+ gfrdbase.throw_in_particles(w, A, N)
+ print 'stir'
+
+ t = 0
+ stir_time = T * .1
+ while 1:
+ s.step()
+ next_time = s.t + s.dt
+ if next_time > stir_time:
+ s.step(stir_time)
+ break
+
+ stir_steps = s.num_steps
+
+ #print 'reset'
+ #s.reset()
+
+ print 'run'
+ run_time = T + stir_time
+
+ start = time.time()
+ while s.t < run_time:
+ s.step()
+ end = time.time()
+
+ timing = end - start
+
+ steps = s.num_steps - stir_steps
+ stepspersec = float(steps) / timing
+ print 'steps (total)= ', steps
+ print 'steps/sec= ', stepspersec, ', steps/N= ', float(steps) / N
+ print 'TIMING:\n', timing, '\n'
+
+ gc.collect()
+ gc.enable()
+
+ return end - start, steps, stepspersec
+
+
+
+if __name__ == '__main__':
+
+ T = float(sys.argv[1])
+ V = float(sys.argv[2])
+ N = int(sys.argv[3])
+
+ run_single(T, V, N)
+
diff --git a/ecell4/egfrd/legacy/samples/irreversible/Makefile b/ecell4/egfrd/legacy/samples/irreversible/Makefile
new file mode 100755
index 0000000..f449473
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/irreversible/Makefile
@@ -0,0 +1,31 @@
+LOGLEVEL = ERROR
+PYTHONPATH = ../..
+PYTHON = python
+
+OUTFILES=irr.3.out irr.2.out irr.1.out irr.0.out irr.-1.out irr.-2.out #irr.-3.out
+
+all: $(OUTFILES)
+
+clean:
+ rm -f $(OUTFILES)
+
+irr.3.out:
+ env PYTHONPATH=$(PYTHONPATH) LOGLEVEL=$(LOGLEVEL) $(PYTHON) -O run.py $@ 1.25e-2 100000000
+
+irr.2.out:
+ env PYTHONPATH=$(PYTHONPATH) LOGLEVEL=$(LOGLEVEL) $(PYTHON) -O run.py $@ 1.25e-3 70000000
+
+irr.1.out:
+ env PYTHONPATH=$(PYTHONPATH) LOGLEVEL=$(LOGLEVEL) $(PYTHON) -O run.py $@ 1.25e-4 7000000
+
+irr.0.out:
+ env PYTHONPATH=$(PYTHONPATH) LOGLEVEL=$(LOGLEVEL) $(PYTHON) -O run.py $@ 1.25e-5 5000000
+
+irr.-1.out:
+ env PYTHONPATH=$(PYTHONPATH) LOGLEVEL=$(LOGLEVEL) $(PYTHON) -O run.py $@ 1.25e-6 5000000
+
+irr.-2.out:
+ env PYTHONPATH=$(PYTHONPATH) LOGLEVEL=$(LOGLEVEL) $(PYTHON) -O run.py $@ 1.25e-7 5000000
+
+#irr.-3.out:
+# env PYTHONPATH=$(PYTHONPATH) LOGLEVEL=$(LOGLEVEL) $(PYTHON) -O run.py $@ 1.25e-8 1000000
diff --git a/ecell4/egfrd/legacy/samples/irreversible/README b/ecell4/egfrd/legacy/samples/irreversible/README
new file mode 100644
index 0000000..23a3e19
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/irreversible/README
@@ -0,0 +1,40 @@
+
+
+Introduction
+=====================================
+
+This sample script runs a system which initially has two particles
+A and B, and samples the distance between the particles. A and
+B particles can react irreversibly.
+
+A + B -> C
+
+When a reaction event occur, the script outputs zero as the value
+of distance.
+
+
+
+Running
+======================================
+
+The following command runs the simulation until a reaction occurs
+or the simulator reaches time T, output the distance between
+A and B to the file OUTFILE, and repeat this for N times.
+
+PYTHONPATH=../../.. python run.py OUTFILE T N
+
+For example:
+
+PYTHONPATH=../../.. python run.py irr.out 0.0001
+
+
+
+Plotting
+=======================================
+
+The following plots the distribution of the distance r normalized
+by the particle radius sigma, and compares with a theory plot.
+Multiple set of input data can be given.
+
+PYTHONPATH=../../.. python plot.py irr.out 0.0001 [INFILE T]...
+
diff --git a/ecell4/egfrd/legacy/samples/irreversible/data/.empty-dir b/ecell4/egfrd/legacy/samples/irreversible/data/.empty-dir
new file mode 100644
index 0000000..e69de29
diff --git a/ecell4/egfrd/legacy/samples/irreversible/p_irr.py b/ecell4/egfrd/legacy/samples/irreversible/p_irr.py
new file mode 100644
index 0000000..f63746b
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/irreversible/p_irr.py
@@ -0,0 +1,15 @@
+#!/usr/bin/env python
+
+import math
+import numpy
+
+import _greens_functions
+
+
+
+def p_irr(r, t, r0, kf, D, sigma):
+
+ return _greens_functions.p_irr(r, t, r0, kf, D, sigma)
+
+
+
diff --git a/ecell4/egfrd/legacy/samples/irreversible/plot.py b/ecell4/egfrd/legacy/samples/irreversible/plot.py
new file mode 100644
index 0000000..8fa9eb9
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/irreversible/plot.py
@@ -0,0 +1,119 @@
+#!/usr/bin/env python
+
+# PYTHONPATH=../.. python plot.py irr.-2.out 0.000000125 irr.-1.out 0.00000125 irr.0.out 0.0000125 irr.1.out 0.000125 irr.2.out 0.00125 irr.3.out 0.0125
+
+# irr.-3.out 0.0000000125
+
+
+import sys
+
+import numpy
+import scipy.io
+from matplotlib.pylab import *
+
+
+import _gfrd
+from p_irr import p_irr
+
+N_A = 6.0221367e23
+
+N = 1000
+
+sigma = 5e-9
+r0 = sigma
+D_tot = 2e-12
+kf = 100 * sigma * D_tot
+#kf = 0
+
+tau = sigma*sigma / D_tot
+
+rmin = sigma
+
+def load_data(filename):
+ infile = open(filename)
+ data = array([float(x) for x in infile.read().split()], numpy.float)
+ infile.close()
+
+ return data
+
+def plot_sol(t):
+
+ rmax = 3.1 * math.sqrt(6 * D_tot * t) + rmin
+
+
+ logrmin = math.log(rmin)
+ logrmax = math.log(rmax)
+
+ tick=(logrmax-logrmin)/N
+ loggrid = numpy.mgrid[logrmin:logrmax:tick]
+ grid = numpy.exp(loggrid)
+
+ parray = array([p_irr(r, t, r0, kf, D_tot, sigma) for r in grid])
+
+ return loglog(grid / sigma , parray * sigma, 'k-')[0]
+ #plot(rarray / sigma , parray, 'k-', label='theory')
+
+def plot_hist(data, T, i):
+
+ bins = 30
+
+ nonreactions = numpy.compress(data >= sigma, data)
+ print 'max', max(nonreactions)
+ hist, r = numpy.histogram(numpy.log(nonreactions),
+ bins=bins)
+ r = r[:-1]
+ histsum = hist.sum()
+ S_sim = float(len(nonreactions)) / len(data)
+ print 'S_sim', S_sim
+ hist = hist.astype(numpy.float)
+
+ r = numpy.concatenate([r, [r[-1] - r[-2]]])
+ r = numpy.exp(r)
+
+ xticks = r[1:]-r[:-1]
+
+ hist /= len(data) * xticks
+
+ r = r[:-1] + (xticks * .5)
+ #print 'x', x
+ #pStyles = ['o', '^', 'v', '<', '>', 's', '+']
+ colors = ['b', 'g', 'r', 'c', 'm', 'y', 'k']
+
+ loglog(r / sigma, hist * sigma, colors[i] + 'o',
+ label=r'$T = \tau^{%d}$' % round(math.log10(T/tau)))
+
+
+
+if __name__ == '__main__':
+
+ axes([.14,.15,.84,.82])
+
+ for i in range(len(sys.argv[1:])/2):
+ filename = sys.argv[i*2+1]
+ T = float(sys.argv[i*2+2])
+ print filename,T
+ data = load_data(filename)
+ plot_hist(data, T, i)
+ solline = plot_sol(T)
+
+
+
+ xlabel(r'$r / \sigma$', size=28)
+ ylabel(r'$p_{irr}$', size=28)
+ xlim(0.9, 2.2e2)
+ ylim(2e-6, 2e1)
+ xticks([1, 10, 100], ['1', '10', '100'], size=22)
+ yticks(size=18)
+ #solline.set_label(r'theory')
+ #legend(handlelen=0.02, pad=0.02,handletextsep=0.01, labelsep=0.001)
+ #grid()
+ savefig('irr.eps')
+ show()
+
+
+
+
+#>>> _gfrd.S_irr(.0001 * 1e-8**2/1e-12, 1e-8, 10 * 1e-8 * 1e-12, 1e-12, 1e-8)
+#0.99116163945434221
+
+
diff --git a/ecell4/egfrd/legacy/samples/irreversible/run.py b/ecell4/egfrd/legacy/samples/irreversible/run.py
new file mode 100644
index 0000000..974d513
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/irreversible/run.py
@@ -0,0 +1,93 @@
+#!/usr/bin/env python
+
+'''
+LOGLEVEL=ERROR PYTHONPATH=../.. python -O run.py irr.3.out 1.25e-2 20000000 &
+LOGLEVEL=ERROR PYTHONPATH=../.. python -O run.py irr.2.out 1.25e-3 20000000 &
+LOGLEVEL=ERROR PYTHONPATH=../.. python -O run.py irr.1.out 1.25e-4 7000000 &
+LOGLEVEL=ERROR PYTHONPATH=../.. python -O run.py irr.0.out 1.25e-5 5000000 &
+LOGLEVEL=ERROR PYTHONPATH=../.. python -O run.py irr.-1.out 1.25e-6 2000000 &
+LOGLEVEL=ERROR PYTHONPATH=../.. python -O run.py irr.-2.out 1.25e-7 2000000 &
+LOGLEVEL=ERROR PYTHONPATH=../.. python -O run.py irr.-3.out 1.25e-8 1000000 &
+'''
+
+import sys
+from egfrd import *
+from bd import *
+import model
+import gfrdbase
+import _gfrd
+import myrandom
+
+def run(outfilename, T, N):
+
+ outfile = open(outfilename, 'w')
+
+ for i in xrange(N):
+ d, t = singlerun(T)
+ outfile.write('%.18g\n' % d)
+ outfile.flush()
+ #print i
+ #print d, t
+ assert d == 0 or t == T
+
+
+ outfile.close()
+
+
+
+def singlerun(T):
+
+ sigma = 5e-9
+ r0 = sigma
+ D = 1e-12
+ D_tot = D * 2
+
+ kf = 100 * sigma * D_tot
+
+ m = model.ParticleModel(1e-3)
+
+ A = model.Species('A', D, sigma/2)
+ m.add_species_type(A)
+ B = model.Species('B', D, sigma/2)
+ m.add_species_type(B)
+ C = model.Species('C', D, sigma/2)
+ m.add_species_type(C)
+
+ r1 = model.create_binding_reaction_rule(A, B, C, kf)
+ m.network_rules.add_reaction_rule(r1)
+
+ w = gfrdbase.create_world(m, 3)
+ nrw = gfrdbase.create_network_rules_wrapper(m)
+ s = _gfrd._EGFRDSimulator(w, nrw, myrandom.rng)
+
+ class check_reactions:
+ def __init__(self):
+ self.reactions = []
+
+ def __call__(self, ri):
+ self.reactions.append(ri)
+
+ cr = check_reactions()
+ s.reaction_recorder = cr
+
+ pid1 = gfrdbase.place_particle(w, A, [0,0,0])[0]
+ pid2 = gfrdbase.place_particle(w, B, [float(A['radius']) +
+ float(B['radius'])+1e-23,0,0])[0]
+
+ end_time = T
+
+ while s.step(end_time):
+ if len(cr.reactions) != 0:
+ cr.reactions = []
+ return 0, s.t
+
+ p1 = s.world.get_particle(pid1)[1]
+ p2 = s.world.get_particle(pid2)[1]
+
+ distance = w.distance(p1.position, p2.position)
+
+ return distance, s.t
+
+
+if __name__ == '__main__':
+ run(sys.argv[1], float(sys.argv[2]), int(sys.argv[3]))
diff --git a/ecell4/egfrd/legacy/samples/mapk/Kpp_ODE_0.ecd b/ecell4/egfrd/legacy/samples/mapk/Kpp_ODE_0.ecd
new file mode 100644
index 0000000..4d8624d
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/Kpp_ODE_0.ecd
@@ -0,0 +1,62 @@
+#DATA:
+#SIZE: 2 56
+#LABEL: t value avg min max
+#NOTE:
+#
+#----------------------
+0.000000000000000e+00 0.000000000000000e+00
+1.000000047497451e-03 0.000000000000000e+00
+2.000000094994903e-03 1.772702123981063e-10
+9.999999776482582e-03 1.092236061595031e-06
+2.600391209125519e-02 5.750907075707801e-05
+4.200782254338264e-02 3.688288852572441e-04
+6.391939520835876e-02 1.741469954140484e-03
+8.583097159862518e-02 4.928923677653074e-03
+1.077425479888916e-01 1.063926890492439e-02
+1.358804553747177e-01 2.254961244761944e-02
+1.640183776617050e-01 4.032287374138832e-02
+1.983669251203537e-01 7.055550068616867e-02
+2.327154725790024e-01 1.103508472442627e-01
+2.745535671710968e-01 1.714605093002319e-01
+3.163916766643524e-01 2.457404732704163e-01
+3.671370148658752e-01 3.521760404109955e-01
+4.178823530673981e-01 4.749261438846588e-01
+4.796454310417175e-01 6.440180540084839e-01
+5.414084792137146e-01 8.322350382804871e-01
+6.182465553283691e-01 1.089433073997498e+00
+6.950846314430237e-01 1.368173003196716e+00
+7.942657470703125e-01 1.753449440002441e+00
+8.934468626976013e-01 2.160445451736450e+00
+1.025457620620728e+00 2.724693536758423e+00
+1.157468438148499e+00 3.303426980972290e+00
+1.322266101837158e+00 4.032471179962158e+00
+1.487063646316528e+00 4.757829189300537e+00
+1.651861310005188e+00 5.472325325012207e+00
+1.865705490112305e+00 6.377169609069824e+00
+2.079549789428711e+00 7.253718852996826e+00
+2.356392860412598e+00 8.345601081848145e+00
+2.633236169815063e+00 9.390773773193359e+00
+3.040271520614624e+00 1.084865093231201e+01
+3.587054014205933e+00 1.267359447479248e+01
+4.362627983093262e+00 1.503227043151855e+01
+5.138202190399170e+00 1.715775108337402e+01
+6.136353015899658e+00 1.960066413879395e+01
+7.134503364562988e+00 2.176249122619629e+01
+8.441443443298340e+00 2.423534393310547e+01
+9.748383522033691e+00 2.636678314208984e+01
+1.145265579223633e+01 2.872204780578613e+01
+1.315692710876465e+01 3.068137550354004e+01
+1.535997009277344e+01 3.274135208129883e+01
+1.756301307678223e+01 3.437539291381836e+01
+2.036147117614746e+01 3.597571563720703e+01
+2.315993118286133e+01 3.717080307006836e+01
+2.663787269592285e+01 3.824327850341797e+01
+3.011581611633301e+01 3.898882293701172e+01
+3.440715789794922e+01 3.960292053222656e+01
+3.869849777221680e+01 3.999428558349609e+01
+4.410538482666016e+01 4.029187774658203e+01
+4.951226806640625e+01 4.046028900146484e+01
+5.667561721801758e+01 4.057651138305664e+01
+6.383897018432617e+01 4.063111877441406e+01
+7.419325256347656e+01 4.066326141357422e+01
+8.752915954589844e+01 4.067551422119141e+01
diff --git a/ecell4/egfrd/legacy/samples/mapk/Kpp_ODE_1e-1.ecd b/ecell4/egfrd/legacy/samples/mapk/Kpp_ODE_1e-1.ecd
new file mode 100644
index 0000000..b35df4d
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/Kpp_ODE_1e-1.ecd
@@ -0,0 +1,63 @@
+#DATA:
+#SIZE: 2 57
+#LABEL: t value avg min max
+#NOTE:
+#
+#----------------------
+0.000000000000000e+00 0.000000000000000e+00
+1.000000047497451e-03 0.000000000000000e+00
+2.000000094994903e-03 1.772699764757135e-10
+9.999999776482582e-03 1.092116121981235e-06
+2.678049914538860e-02 6.455362745327875e-05
+4.356099665164948e-02 4.220603150315583e-04
+6.459762901067734e-02 1.799770630896091e-03
+8.563426136970520e-02 4.847644362598658e-03
+1.066708862781525e-01 1.015817839652300e-02
+1.324695795774460e-01 2.040558680891991e-02
+1.582682728767395e-01 3.524126484990120e-02
+1.893028318881989e-01 5.947332084178925e-02
+2.203373759984970e-01 9.065254777669907e-02
+2.581455409526825e-01 1.375850737094879e-01
+2.959537208080292e-01 1.935875266790390e-01
+3.427532613277435e-01 2.741760909557343e-01
+3.895528018474579e-01 3.658272922039032e-01
+4.466090500354767e-01 4.907420277595520e-01
+5.036652684211731e-01 6.284984946250916e-01
+5.607215166091919e-01 7.777137160301208e-01
+6.327075362205505e-01 9.805088043212891e-01
+7.046934962272644e-01 1.197505116462708e+00
+7.927427291870117e-01 1.479170083999634e+00
+8.807919621467590e-01 1.775231122970581e+00
+9.972860217094421e-01 2.183222532272339e+00
+1.113780021667480e+00 2.603458166122437e+00
+1.271692752838135e+00 3.182972908020020e+00
+1.429605364799500e+00 3.765030622482300e+00
+1.621028304100037e+00 4.465086460113525e+00
+1.812451243400574e+00 5.153139591217041e+00
+2.052621126174927e+00 5.994690418243408e+00
+2.292790889739990e+00 6.810019016265869e+00
+2.617027282714844e+00 7.869043827056885e+00
+3.013874292373657e+00 9.103157043457031e+00
+3.529005289077759e+00 1.061171627044678e+01
+4.238358020782471e+00 1.253562259674072e+01
+5.132817268371582e+00 1.474214267730713e+01
+6.027276039123535e+00 1.673909187316895e+01
+7.203978538513184e+00 1.909599113464355e+01
+8.380681037902832e+00 2.119269752502441e+01
+9.941271781921387e+00 2.363816070556641e+01
+1.150186347961426e+01 2.576377487182617e+01
+1.356625080108643e+01 2.817102813720703e+01
+1.563063812255859e+01 3.019879722595215e+01
+1.834718513488770e+01 3.240054321289062e+01
+2.106373214721680e+01 3.417624664306641e+01
+2.459270477294922e+01 3.598628616333008e+01
+2.812167549133301e+01 3.736338043212891e+01
+3.260318756103516e+01 3.864956665039062e+01
+3.708469772338867e+01 3.955986022949219e+01
+4.267324066162109e+01 4.033152008056641e+01
+4.826178359985352e+01 4.083241653442383e+01
+5.529145812988281e+01 4.122067260742188e+01
+6.232113265991211e+01 4.144575119018555e+01
+7.154309082031250e+01 4.160427093505859e+01
+8.076505279541016e+01 4.168170928955078e+01
+9.385466003417969e+01 4.172889328002930e+01
diff --git a/ecell4/egfrd/legacy/samples/mapk/Kpp_ODE_1e-2.ecd b/ecell4/egfrd/legacy/samples/mapk/Kpp_ODE_1e-2.ecd
new file mode 100644
index 0000000..6722e0a
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/Kpp_ODE_1e-2.ecd
@@ -0,0 +1,63 @@
+#DATA:
+#SIZE: 2 57
+#LABEL: t value avg min max
+#NOTE:
+#
+#----------------------
+0.000000000000000e+00 0.000000000000000e+00
+1.000000047497451e-03 0.000000000000000e+00
+2.000000094994903e-03 1.772699764757135e-10
+9.961755946278572e-03 1.074005922419019e-06
+1.951870135962963e-02 1.817775773815811e-05
+2.907564863562584e-02 8.923317363951355e-05
+4.238412156701088e-02 3.809453046415001e-04
+5.569259077310562e-02 1.052981009706855e-03
+7.632540166378021e-02 3.264218801632524e-03
+9.695822000503540e-02 7.441819645464420e-03
+1.244261115789413e-01 1.692914776504040e-02
+1.518940031528473e-01 3.167786076664925e-02
+1.855500638484955e-01 5.763727426528931e-02
+2.192061096429825e-01 9.258905798196793e-02
+2.603664696216583e-01 1.474245339632034e-01
+3.015268146991730e-01 2.149690091609955e-01
+3.515719473361969e-01 3.129871487617493e-01
+4.016170799732208e-01 4.269300997257233e-01
+4.625444710254669e-01 5.849254727363586e-01
+5.234718918800354e-01 7.617099285125732e-01
+5.992539525032043e-01 1.004353165626526e+00
+6.750360131263733e-01 1.268444299697876e+00
+7.729957103729248e-01 1.635560154914856e+00
+8.709553480148315e-01 2.024992704391479e+00
+1.002406120300293e+00 2.571635961532593e+00
+1.133856892585754e+00 3.134561538696289e+00
+1.300733566284180e+00 3.858155012130737e+00
+1.467610120773315e+00 4.579897403717041e+00
+1.634486794471741e+00 5.291897296905518e+00
+1.852050662040710e+00 6.198639869689941e+00
+2.069614648818970e+00 7.077370643615723e+00
+2.351679563522339e+00 8.173597335815430e+00
+2.633744716644287e+00 9.222762107849121e+00
+3.049369812011719e+00 1.068893527984619e+01
+3.608527421951294e+00 1.252601432800293e+01
+4.404295444488525e+00 1.490632247924805e+01
+5.200063705444336e+00 1.704943084716797e+01
+6.233773708343506e+00 1.953246498107910e+01
+7.267484188079834e+00 2.172625350952148e+01
+8.629664421081543e+00 2.424683570861816e+01
+9.991845130920410e+00 2.641446876525879e+01
+1.177988624572754e+01 2.881871032714844e+01
+1.356792831420898e+01 3.081185722351074e+01
+1.589461803436279e+01 3.291202163696289e+01
+1.822130775451660e+01 3.456874465942383e+01
+2.119498634338379e+01 3.618993377685547e+01
+2.416866493225098e+01 3.739016723632812e+01
+2.788401412963867e+01 3.846166610717773e+01
+3.159936332702637e+01 3.919709396362305e+01
+3.621017074584961e+01 3.979711151123047e+01
+4.082098007202148e+01 4.017250823974609e+01
+4.667940521240234e+01 4.045390319824219e+01
+5.253783416748047e+01 4.060871124267578e+01
+6.040358734130859e+01 4.071310424804688e+01
+6.991661834716797e+01 4.076572036743164e+01
+8.192796325683594e+01 4.078836059570312e+01
+9.798657989501953e+01 4.079592514038086e+01
diff --git a/ecell4/egfrd/legacy/samples/mapk/Kpp_ODE_1e-3.ecd b/ecell4/egfrd/legacy/samples/mapk/Kpp_ODE_1e-3.ecd
new file mode 100644
index 0000000..44cffc0
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/Kpp_ODE_1e-3.ecd
@@ -0,0 +1,62 @@
+#DATA:
+#SIZE: 2 56
+#LABEL: t value avg min max
+#NOTE:
+#
+#----------------------
+0.000000000000000e+00 0.000000000000000e+00
+1.000000047497451e-03 0.000000000000000e+00
+2.000000094994903e-03 1.772700042312891e-10
+4.941380117088556e-03 4.179661416969793e-08
+9.689452126622200e-03 9.513141776551493e-07
+1.920300535857677e-02 1.701522887742613e-05
+3.814459964632988e-02 2.554736274760216e-04
+5.708619207143784e-02 1.154739642515779e-03
+7.990298420190811e-02 3.842892823740840e-03
+1.027197688817978e-01 9.070114232599735e-03
+1.308919489383698e-01 2.001270093023777e-02
+1.590641438961029e-01 3.671254590153694e-02
+1.936903148889542e-01 6.580741703510284e-02
+2.283165007829666e-01 1.045991033315659e-01
+2.706891298294067e-01 1.650284975767136e-01
+3.130617439746857e-01 2.390139847993851e-01
+3.646836876869202e-01 3.460832834243774e-01
+4.163056015968323e-01 4.700728356838226e-01
+4.793964326381683e-01 6.421224474906921e-01
+5.424872636795044e-01 8.340868949890137e-01
+6.213584542274475e-01 1.098159551620483e+00
+7.002297043800354e-01 1.384704828262329e+00
+8.026984930038452e-01 1.783633708953857e+00
+9.051672220230103e-01 2.205076932907104e+00
+1.042381525039673e+00 2.792490243911743e+00
+1.179595708847046e+00 3.394122123718262e+00
+1.350643396377563e+00 4.149385929107666e+00
+1.521691083908081e+00 4.899128913879395e+00
+1.692738771438599e+00 5.636147499084473e+00
+1.917146563529968e+00 6.577835559844971e+00
+2.141554355621338e+00 7.488120079040527e+00
+2.437024116516113e+00 8.638577461242676e+00
+2.795905113220215e+00 9.966131210327148e+00
+3.261072397232056e+00 1.158268642425537e+01
+3.920941591262817e+00 1.369682216644287e+01
+4.777731418609619e+00 1.617065238952637e+01
+5.634521484375000e+00 1.838238906860352e+01
+6.735186576843262e+00 2.089840507507324e+01
+7.835851669311523e+00 2.310453224182129e+01
+9.285643577575684e+00 2.561565589904785e+01
+1.073543548583984e+01 2.775243186950684e+01
+1.263313007354736e+01 3.008668899536133e+01
+1.453082466125488e+01 3.199385070800781e+01
+1.698656272888184e+01 3.395929718017578e+01
+1.944229888916016e+01 3.548037338256836e+01
+2.255426406860352e+01 3.692560195922852e+01
+2.566622734069824e+01 3.797117996215820e+01
+2.953221321105957e+01 3.887644195556641e+01
+3.339820098876953e+01 3.948111343383789e+01
+3.821390533447266e+01 3.996121978759766e+01
+4.302960968017578e+01 4.025106811523438e+01
+4.923434066772461e+01 4.046199798583984e+01
+5.543906784057617e+01 4.057192611694336e+01
+6.398184585571289e+01 4.064275360107422e+01
+7.453180694580078e+01 4.067537689208984e+01
+8.827385711669922e+01 4.068764495849609e+01
diff --git a/ecell4/egfrd/legacy/samples/mapk/Kpp_ODE_1e-4.ecd b/ecell4/egfrd/legacy/samples/mapk/Kpp_ODE_1e-4.ecd
new file mode 100644
index 0000000..d42ffed
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/Kpp_ODE_1e-4.ecd
@@ -0,0 +1,62 @@
+#DATA:
+#SIZE: 2 56
+#LABEL: t value avg min max
+#NOTE:
+#
+#----------------------
+0.000000000000000e+00 0.000000000000000e+00
+1.000000047497451e-03 0.000000000000000e+00
+2.000000094994903e-03 1.772701291313794e-10
+4.168918821960688e-03 1.757274326052993e-08
+1.363415271043777e-02 4.123053713556146e-06
+3.096322156488895e-02 1.142057226388715e-04
+4.829229041934013e-02 6.227366393432021e-04
+7.009310275316238e-02 2.422775607556105e-03
+9.189391136169434e-02 6.229375954717398e-03
+1.188276112079620e-01 1.467203721404076e-02
+1.457613110542297e-01 2.809179387986660e-02
+1.788809448480606e-01 5.222770571708679e-02
+2.120005935430527e-01 8.520027250051498e-02
+2.525797486305237e-01 1.376513093709946e-01
+2.931589186191559e-01 2.028905153274536e-01
+3.426409959793091e-01 2.986095249652863e-01
+3.921230733394623e-01 4.106110334396362e-01
+4.524742662906647e-01 5.670209527015686e-01
+5.128254890441895e-01 7.427738308906555e-01
+5.877813696861267e-01 9.844565391540527e-01
+6.627372503280640e-01 1.248213768005371e+00
+7.592146396636963e-01 1.614106893539429e+00
+8.556920289993286e-01 2.002982616424561e+00
+9.846332073211670e-01 2.547606945037842e+00
+1.113574385643005e+00 3.109373807907104e+00
+1.278144598007202e+00 3.836456298828125e+00
+1.442714810371399e+00 4.562539577484131e+00
+1.607285022735596e+00 5.279339790344238e+00
+1.821083784103394e+00 6.189416408538818e+00
+2.034882545471191e+00 7.071659564971924e+00
+2.310488462448120e+00 8.166309356689453e+00
+2.586094379425049e+00 9.214279174804688e+00
+2.988794803619385e+00 1.066727828979492e+01
+3.526799678802490e+00 1.247730827331543e+01
+4.301352500915527e+00 1.485241794586182e+01
+5.075904846191406e+00 1.699214935302734e+01
+6.089450836181641e+00 1.948961639404297e+01
+7.102996826171875e+00 2.169505310058594e+01
+8.437160491943359e+00 2.422466850280762e+01
+9.771324157714844e+00 2.639831542968750e+01
+1.152113628387451e+01 2.880477905273438e+01
+1.327094841003418e+01 3.079724502563477e+01
+1.554496860504150e+01 3.289090728759766e+01
+1.781898880004883e+01 3.453967666625977e+01
+2.072044563293457e+01 3.614739227294922e+01
+2.362190437316895e+01 3.733530044555664e+01
+2.724193191528320e+01 3.839214324951172e+01
+3.086196136474609e+01 3.911597824096680e+01
+3.535315322875977e+01 3.970500564575195e+01
+3.984434890747070e+01 4.007258987426758e+01
+4.555528259277344e+01 4.034750366210938e+01
+5.126621627807617e+01 4.049818801879883e+01
+5.894684982299805e+01 4.059948348999023e+01
+6.824901580810547e+01 4.065023803710938e+01
+8.001829528808594e+01 4.067188262939453e+01
+9.580201721191406e+01 4.067901611328125e+01
diff --git a/ecell4/egfrd/legacy/samples/mapk/Kpp_ODE_1e-5.ecd b/ecell4/egfrd/legacy/samples/mapk/Kpp_ODE_1e-5.ecd
new file mode 100644
index 0000000..02cd29e
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/Kpp_ODE_1e-5.ecd
@@ -0,0 +1,61 @@
+#DATA:
+#SIZE: 2 55
+#LABEL: t value avg min max
+#NOTE:
+#
+#----------------------
+0.000000000000000e+00 0.000000000000000e+00
+1.000000047497451e-03 0.000000000000000e+00
+2.000000094994903e-03 1.772702123981063e-10
+6.817831192165613e-03 1.955217072691084e-07
+2.310121059417725e-02 3.589400876080617e-05
+3.938458859920502e-02 2.887204755097628e-04
+6.140643358230591e-02 1.506502274423838e-03
+8.342827856540680e-02 4.467847757041454e-03
+1.054501235485077e-01 9.905760176479816e-03
+1.340178251266479e-01 2.158638276159763e-02
+1.625855416059494e-01 3.926783800125122e-02
+1.976133584976196e-01 6.978881359100342e-02
+2.326411902904510e-01 1.102532073855400e-01
+2.755037844181061e-01 1.730022728443146e-01
+3.183663487434387e-01 2.495527565479279e-01
+3.705863654613495e-01 3.600159883499146e-01
+4.228063821792603e-01 4.876359701156616e-01
+4.866806566715240e-01 6.645272970199585e-01
+5.505549311637878e-01 8.615666031837463e-01
+6.305506825447083e-01 1.132703423500061e+00
+7.105463743209839e-01 1.426480650901794e+00
+8.147174715995789e-01 1.835791349411011e+00
+9.188886284828186e-01 2.267479181289673e+00
+1.058282494544983e+00 2.867595672607422e+00
+1.197676539421082e+00 3.481017112731934e+00
+1.370331168174744e+00 4.244720458984375e+00
+1.542985796928406e+00 5.001650333404541e+00
+1.715640425682068e+00 5.744907855987549e+00
+1.942932486534119e+00 6.696934700012207e+00
+2.170224666595459e+00 7.616489887237549e+00
+2.471306324005127e+00 8.784789085388184e+00
+2.838912963867188e+00 1.013852214813232e+01
+3.319483757019043e+00 1.179841899871826e+01
+4.007198333740234e+00 1.398227500915527e+01
+4.873627185821533e+00 1.645648384094238e+01
+5.740056037902832e+00 1.866674613952637e+01
+6.857354640960693e+00 2.118758201599121e+01
+7.974652767181396e+00 2.339428138732910e+01
+9.445759773254395e+00 2.590023040771484e+01
+1.091686630249023e+01 2.802783203125000e+01
+1.284136104583740e+01 3.034467124938965e+01
+1.476585483551025e+01 3.223181152343750e+01
+1.725337791442871e+01 3.416761779785156e+01
+1.974090194702148e+01 3.565983200073242e+01
+2.288800811767578e+01 3.706922912597656e+01
+2.603511428833008e+01 3.808407974243164e+01
+2.994175338745117e+01 3.895756149291992e+01
+3.384839248657227e+01 3.953771209716797e+01
+3.872054672241211e+01 3.999590682983398e+01
+4.359270095825195e+01 4.027041625976562e+01
+4.989022064208984e+01 4.046893692016602e+01
+5.618774414062500e+01 4.057117080688477e+01
+6.490678405761719e+01 4.063637924194336e+01
+7.572518157958984e+01 4.066579818725586e+01
+8.991808319091797e+01 4.067651748657227e+01
diff --git a/ecell4/egfrd/legacy/samples/mapk/Kpp_ODE_1e-6.ecd b/ecell4/egfrd/legacy/samples/mapk/Kpp_ODE_1e-6.ecd
new file mode 100644
index 0000000..f6efdb4
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/Kpp_ODE_1e-6.ecd
@@ -0,0 +1,61 @@
+#DATA:
+#SIZE: 2 55
+#LABEL: t value avg min max
+#NOTE:
+#
+#----------------------
+0.000000000000000e+00 0.000000000000000e+00
+1.000000047497451e-03 0.000000000000000e+00
+2.000000094994903e-03 1.772702123981063e-10
+9.999999776482582e-03 1.092235947908193e-06
+2.641034498810768e-02 6.115111318649724e-05
+4.282068833708763e-02 3.965525829698890e-04
+6.537462025880814e-02 1.888427301310003e-03
+8.792855590581894e-02 5.356336012482643e-03
+1.104824841022491e-01 1.156037580221891e-02
+1.396266072988510e-01 2.456489764153957e-02
+1.687707155942917e-01 4.393818974494934e-02
+2.044979482889175e-01 7.695878297090530e-02
+2.402251809835434e-01 1.203125715255737e-01
+2.839246392250061e-01 1.869845241308212e-01
+3.276241123676300e-01 2.678073346614838e-01
+3.808505237102509e-01 3.838084042072296e-01
+4.340769350528717e-01 5.172674655914307e-01
+4.992737770080566e-01 7.018790245056152e-01
+5.644705891609192e-01 9.069170355796814e-01
+6.463876962661743e-01 1.189232349395752e+00
+7.283048033714294e-01 1.494346618652344e+00
+8.354216217994690e-01 1.920095801353455e+00
+9.425383806228638e-01 2.367862224578857e+00
+1.085612535476685e+00 2.987235069274902e+00
+1.228686571121216e+00 3.618291139602661e+00
+1.404162645339966e+00 4.393933296203613e+00
+1.579638838768005e+00 5.160832405090332e+00
+1.755114912986755e+00 5.912612915039062e+00
+1.987698912620544e+00 6.880761146545410e+00
+2.220283031463623e+00 7.814751625061035e+00
+2.531621932983398e+00 9.012384414672852e+00
+2.915235280990601e+00 1.041031646728516e+01
+3.424332857131958e+00 1.214547157287598e+01
+4.158996582031250e+00 1.443702125549316e+01
+5.041887760162354e+00 1.690530014038086e+01
+5.924778461456299e+00 1.910787010192871e+01
+7.071709632873535e+00 2.163391876220703e+01
+8.218641281127930e+00 2.383960342407227e+01
+9.727863311767578e+00 2.633563232421875e+01
+1.123708629608154e+01 2.844765853881836e+01
+1.320992660522461e+01 3.073674964904785e+01
+1.518276596069336e+01 3.259274673461914e+01
+1.772857093811035e+01 3.448361587524414e+01
+2.027437591552734e+01 3.593261337280273e+01
+2.348801422119141e+01 3.728939819335938e+01
+2.670165252685547e+01 3.825952529907227e+01
+3.068759155273438e+01 3.908744049072266e+01
+3.467353057861328e+01 3.963267898559570e+01
+3.965477752685547e+01 4.005994796752930e+01
+4.463602447509766e+01 4.031296920776367e+01
+5.110658645629883e+01 4.049421691894531e+01
+5.757714462280273e+01 4.058586120605469e+01
+6.661321258544922e+01 4.064340209960938e+01
+7.790721893310547e+01 4.066853332519531e+01
+9.289140319824219e+01 4.067724227905273e+01
diff --git a/ecell4/egfrd/legacy/samples/mapk/event_ratio.py b/ecell4/egfrd/legacy/samples/mapk/event_ratio.py
new file mode 100644
index 0000000..3caf6df
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/event_ratio.py
@@ -0,0 +1,32 @@
+#!/usr/bin/env python
+
+import numpy
+
+import sys
+import glob
+
+
+file = open(sys.argv[1])
+
+# filepattern.replace('ALL', '*')
+# filelist = glob.glob(filepattern)
+# print filelist
+
+
+events = {}
+
+
+for line in file.readlines():
+ line = line.split()
+ event_type = line[1]
+ t = float(line[0])
+ if events.has_key(event_type):
+ events[event_type].append(t)
+ else:
+ events[event_type] = [t]
+
+total = numpy.sum([len(v) for v in events.values()])
+
+print 'total', total
+for e in events.keys():
+ print e, 'ratio', float(len(events[e]))/total, 't_mean', numpy.mean(events[e])
diff --git a/ecell4/egfrd/legacy/samples/mapk/model1.em b/ecell4/egfrd/legacy/samples/mapk/model1.em
new file mode 100644
index 0000000..1049979
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/model1.em
@@ -0,0 +1,189 @@
+Stepper ODEStepper( DE1 ){}
+#Stepper DiscreteEventStepper( NR1 ){}
+
+
+@{MAIN_STEPPER='DE1'}
+@{MAIN_PROCESS='MassActionFluxProcess'}
+@#{MAIN_STEPPER='NR1'}
+@#{MAIN_PROCESS='GillespieProcess'}
+
+@{
+VOL = 1e-15
+#VOL = 1e-14
+N_A = 6.02214e+23
+}
+
+@{
+def C2N( conc ):
+ num = N_A * VOL * conc
+ print round( num )
+}
+
+
+System System( / )
+{
+ StepperID @MAIN_STEPPER;
+
+ Variable Variable( SIZE )
+ {
+ Value @(VOL);
+ }
+
+ Variable Variable( K )
+ {
+ Value @{C2N( 200e-9 )};
+ # SS: 67e-9
+ }
+
+ Variable Variable( KK )
+ {
+ Value @{C2N( 50e-9 )};
+ # SS: 31e-9
+ }
+
+
+ Variable Variable( P )
+ {
+ Value @{C2N( 50e-9 )};
+ # SS: 31e-8
+ }
+
+ Variable Variable( Kp )
+ {
+ Value 0;
+ # SS: 27e-9
+ }
+
+ Variable Variable( Kpp )
+ {
+ Value 0;
+ # SS: 67e-9
+ }
+
+ Variable Variable( K_KK )
+ {
+ Value 0;
+ # 16e-9
+ }
+
+ Variable Variable( Kp_KK )
+ {
+ Value 0;
+ # 16e-9
+ }
+
+ Variable Variable( Kpp_P )
+ {
+ Value 0;
+ # 17e-9
+ }
+
+ Variable Variable( Kp_P )
+ {
+ Value 0;
+ # 1.7e-9
+ }
+
+ Process @(MAIN_PROCESS)( R1 )
+ {
+ VariableReferenceList [ _ :.:K -1 ]
+ [ _ :.:KK -1 ]
+ [ _ :.:K_KK 1];
+ k @( 0.02 * 1e9 );
+ }
+
+ Process @(MAIN_PROCESS)( R2 )
+ {
+ VariableReferenceList [ _ :.:K_KK -1 ]
+ [ _ :.:K 1 ]
+ [ _ :.:KK 1 ];
+ k 1;
+ }
+
+ Process @(MAIN_PROCESS)( R3 )
+ {
+ VariableReferenceList [ _ :.:K_KK -1 ]
+ [ _ :.:Kp 1 ]
+ [ _ :.:KK 1 ];
+ k 1.5;
+ }
+
+
+ Process @(MAIN_PROCESS)( R4 )
+ {
+ VariableReferenceList [ _ :.:Kp -1 ]
+ [ _ :.:KK -1 ]
+ [ _ :.:Kp_KK 1 ];
+ k @( 0.032 * 1e9 );
+ }
+
+ Process @(MAIN_PROCESS)( R5 )
+ {
+ VariableReferenceList [ _ :.:Kp_KK -1 ]
+ [ _ :.:Kp 1 ]
+ [ _ :.:KK 1 ];
+ k 1;
+ }
+
+ Process @(MAIN_PROCESS)( R6 )
+ {
+ VariableReferenceList [ _ :.:Kp_KK -1 ]
+ [ _ :.:Kpp 1 ]
+ [ _ :.:KK 1 ];
+ k 15;
+ }
+
+ Process @(MAIN_PROCESS)( R7 )
+ {
+ VariableReferenceList [ _ :.:Kpp -1 ]
+ [ _ :.:P -1 ]
+ [ _ :.:Kpp_P 1 ];
+ k @( 0.02 * 1e9 );
+ }
+
+ Process @(MAIN_PROCESS)( R8 )
+ {
+ VariableReferenceList [ _ :.:Kpp_P -1 ]
+ [ _ :.:Kpp 1 ]
+ [ _ :.:P 1 ];
+ k 1;
+ }
+
+ Process @(MAIN_PROCESS)( R9 )
+ {
+ VariableReferenceList [ _ :.:Kpp_P -1 ]
+ [ _ :.:Kp 1 ]
+ [ _ :.:P 1 ];
+ k 1.5;
+ }
+
+ Process @(MAIN_PROCESS)( R10 )
+ {
+ VariableReferenceList [ _ :.:Kp -1 ]
+ [ _ :.:P -1 ]
+ [ _ :.:Kp_P 1 ];
+ k @( 0.032 * 1e9 );
+ }
+
+ Process @(MAIN_PROCESS)( R11 )
+ {
+ VariableReferenceList [ _ :.:Kp_P -1 ]
+ [ _ :.:Kp 1 ]
+ [ _ :.:P 1 ];
+ k 1;
+ }
+
+ Process @(MAIN_PROCESS)( R12 )
+ {
+ VariableReferenceList [ _ :.:Kp_P -1 ]
+ [ _ :.:K 1 ]
+ [ _ :.:P 1 ];
+ k 15;
+ }
+
+
+
+
+
+}
+
diff --git a/ecell4/egfrd/legacy/samples/mapk/model1.py b/ecell4/egfrd/legacy/samples/mapk/model1.py
new file mode 100644
index 0000000..a5b25fd
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/model1.py
@@ -0,0 +1,151 @@
+#!/usr/bin/env python
+
+from egfrd import *
+
+from logger import *
+import sys
+
+import math
+
+
+
+V_str = sys.argv[1]
+D_ratio_str = sys.argv[2]
+D_mode = sys.argv[3]
+mode = sys.argv[4]
+seq = sys.argv[5]
+T_str = sys.argv[6]
+
+V = float(V_str)
+D_ratio = float(D_ratio_str)
+T = float(T_str)
+
+D_ref = 1e-12
+
+D_move = D_ref * D_ratio
+
+if D_mode == 'normal':
+ D_react = D_move
+elif D_mode == 'fixed':
+ D_react = D_ref
+
+
+
+#V = 1e-15 #liter
+
+L = math.pow(V * 1e-3, 1.0 / 3.0)
+
+s = EGFRDSimulator()
+s.set_world_size(L)
+
+N = 200
+matrix_size = min(max(3, int((3 * N) ** (1.0/3.0))), 60)
+print 'matrix_size=', matrix_size
+s.set_matrix_size(matrix_size)
+
+
+box1 = CuboidalRegion([0,0,0],[L,L,L])
+# not supported yet
+#s.add_surface(box1)
+
+model='mapk1'
+
+#D = 2e-12 # run1
+D = 1e-12 # run2
+#D = 5e-13 # run3
+#D = 0.25e-12 # run4
+
+radius = 2.5e-9
+
+m = ParticleModel()
+
+K = m.new_species_type('K', D, radius)
+KK = m.new_species_type('KK', D, radius)
+P = m.new_species_type('P', D, radius)
+Kp = m.new_species_type('Kp', D, radius)
+Kpp = m.new_species_type('Kpp', D, radius)
+K_KK = m.new_species_type('K_KK', D, radius)
+Kp_KK = m.new_species_type('Kp_KK', D, radius)
+Kpp_P = m.new_species_type('Kpp_P', D, radius)
+Kp_P = m.new_species_type('Kp_P', D, radius)
+
+# 1 2 K + KK <-> K_KK
+# 3 K_KK -> Kp + KK
+# 4 5 Kp + KK <-> Kp_KK
+# 6 Kp_KK -> Kpp + KK
+# 7 8 Kpp + P <-> Kpp_P
+# 9 Kpp_P -> Kp + P
+# 10 11 Kp + P <-> Kp_P
+# 12 Kp_P -> K + P
+# 12 Kp_P -> K + P
+# 13 Kpp -> Kp
+# 14 Kp -> K
+
+s.set_model(m)
+
+sigma = radius * 2
+kD = k_D(D_react * 2, sigma)
+
+
+s.throw_in_particles(K, C2N(200e-9, V), box1)
+s.throw_in_particles(KK, C2N(50e-9, V), box1)
+s.throw_in_particles(P, C2N(50e-9, V), box1)
+
+#end_time = .5
+end_time = 0
+while 1:
+ s.step()
+ next_time = s.scheduler.getTopTime()
+ if next_time > end_time:
+ s.stop(end_time)
+ break
+
+s.reset()
+
+r1 = create_binding_reaction_rule(K, KK, K_KK, k_a(per_M_to_m3(0.02e9), kD))
+m.network_rules.add_reaction_rule(r1)
+r2 = create_unbinding_reaction_rule(K_KK, K, KK, k_d(1.0, per_M_to_m3(0.02e9), kD))
+m.network_rules.add_reaction_rule(r2)
+#r3 = create_unbinding_reaction_rule(K_KK, Kp, KK, k_d(1.5, per_M_to_m3(0.02e9), kD))
+r3 = create_unbinding_reaction_rule(K_KK, Kp, KK, 1.5)
+m.network_rules.add_reaction_rule(r3)
+
+r4 = create_binding_reaction_rule(Kp, KK, Kp_KK, k_a(per_M_to_m3(0.032e9), kD))
+m.network_rules.add_reaction_rule(r4)
+r5 = create_unbinding_reaction_rule(Kp_KK, Kp, KK, k_d(1.0, per_M_to_m3(0.032e9), kD))
+m.network_rules.add_reaction_rule(r5)
+#r6 = create_unbinding_reaction_rule(Kp_KK, Kpp, KK, k_d(15.0, per_M_to_m3(0.032e9), kD))
+r6 = create_unbinding_reaction_rule(Kp_KK, Kpp, KK, 15.0)
+m.network_rules.add_reaction_rule(r6)
+
+r7 = create_binding_reaction_rule(Kpp, P, Kpp_P, k_a(per_M_to_m3(0.02e9), kD))
+m.network_rules.add_reaction_rule(r7)
+r8 = create_unbinding_reaction_rule(Kpp_P, Kpp, P, k_d(1.0, per_M_to_m3(0.02e9), kD))
+m.network_rules.add_reaction_rule(r8)
+#r9 = create_unbinding_reaction_rule(Kpp_P, Kp, P, k_d(1.5, per_M_to_m3(0.02e9), kD))
+r9 = create_unbinding_reaction_rule(Kpp_P, Kp, P, 1.5)
+m.network_rules.add_reaction_rule(r9)
+
+r10 = create_binding_reaction_rule(Kp, P, Kp_P, k_a(per_M_to_m3(0.032e9), kD))
+m.network_rules.add_reaction_rule(r10)
+r11 = create_unbinding_reaction_rule(Kp_P, Kp, P, k_d(1.0, per_M_to_m3(0.032e9), kD))
+m.network_rules.add_reaction_rule(r11)
+#r12 = create_unbinding_reaction_rule(Kp_P, K, P, k_d(15.0, per_M_to_m3(0.032e9), kD))
+r12 = create_unbinding_reaction_rule(Kp_P, K, P, 15.0)
+m.network_rules.add_reaction_rule(r12)
+
+#r13 = create_unimolecular_reaction_rule(Kpp, Kp, 1e-1)
+#m.network_rules.add_reaction_rule(r13)
+#r14 = create_unimolecular_reaction_rule(Kp, K, 1e-1)
+#m.network_rules.add_reaction_rule(r14)
+
+s.set_model(m)
+
+
+l = Logger(logname=model + '_' + '_'.join(sys.argv[1:6]))
+interrupter = FixedIntervalInterrupter(s, 1e-0, l)
+
+l.start(s)
+while s.t < 30:
+ interrupter.step()
+
diff --git a/ecell4/egfrd/legacy/samples/mapk/model2.em b/ecell4/egfrd/legacy/samples/mapk/model2.em
new file mode 100644
index 0000000..46061c4
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/model2.em
@@ -0,0 +1,273 @@
+Stepper ODEStepper( DE1 ){}
+#Stepper DiscreteEventStepper( NR1 ){}
+
+
+@{MAIN_STEPPER='DE1'}
+@{MAIN_PROCESS='MassActionFluxProcess'}
+@#{MAIN_STEPPER='NR1'}
+@#{MAIN_PROCESS='GillespieProcess'}
+
+@{
+VOL = 1e-15
+#VOL = 1e-14
+N_A = 6.02214e+23
+}
+
+@{
+def C2N( conc ):
+ num = N_A * VOL * conc
+ print round( num )
+}
+
+@{
+ti = 1e-2
+
+import math
+ki = math.log( 2 ) / ti
+}
+
+System System( / )
+{
+ StepperID @MAIN_STEPPER;
+
+ Variable Variable( SIZE )
+ {
+ Value @(VOL);
+ }
+
+ Variable Variable( K )
+ {
+ Value @{C2N( 200e-9 )};
+ # SS: 67e-9
+ }
+
+ Variable Variable( KK )
+ {
+ Value @{C2N( 50e-9 )};
+ # SS: 31e-9
+ }
+
+
+ Variable Variable( P )
+ {
+ Value @{C2N( 50e-9 )};
+ # SS: 31e-8
+ }
+
+ Variable Variable( Kp )
+ {
+ Value 0;
+ # SS: 27e-9
+ }
+
+ Variable Variable( Kpp )
+ {
+ Value 0;
+ # SS: 67e-9
+ }
+
+ Variable Variable( Ki )
+ {
+ Value 0;
+ }
+
+ Variable Variable( Kpi )
+ {
+ Value 0;
+ }
+
+ Variable Variable( Kppi )
+ {
+ Value 0;
+ }
+
+
+ Variable Variable( K_KK )
+ {
+ Value 0;
+ # 16e-9
+ }
+
+ Variable Variable( Kp_KK )
+ {
+ Value 0;
+ # 16e-9
+ }
+
+ Variable Variable( Kpp_P )
+ {
+ Value 0;
+ # 17e-9
+ }
+
+ Variable Variable( Kp_P )
+ {
+ Value 0;
+ # 1.7e-9
+ }
+
+ Process @(MAIN_PROCESS)( R1 )
+ {
+ VariableReferenceList [ _ :.:K -1 ]
+ [ _ :.:KK -1 ]
+ [ _ :.:K_KK 1];
+ k @( 0.02 * 1e9 );
+ }
+
+ Process @(MAIN_PROCESS)( R2 )
+ {
+ VariableReferenceList [ _ :.:K_KK -1 ]
+ [ _ :.:K 1 ]
+ [ _ :.:KK 1 ];
+ k 1;
+ }
+
+ Process @(MAIN_PROCESS)( R3a )
+ {
+ VariableReferenceList [ _ :.:K_KK -1 ]
+ [ _ :.:Kp 1 ]
+ [ _ :.:KK 1 ];
+# k 1.5;
+ k 0.01;
+ }
+
+# Process @(MAIN_PROCESS)( R3a )
+# {
+# VariableReferenceList [ _ :.:K_KK -1 ]
+# [ _ :.:Kpi 1 ]
+# [ _ :.:KK 1 ];
+# k 1.5;
+# }
+
+# Process @(MAIN_PROCESS)( R3b )
+# {
+# VariableReferenceList [ _ :.:Kpi -1 ]
+# [ _ :.:Kp 1 ];
+# k @ki;
+# }
+
+
+
+ Process @(MAIN_PROCESS)( R4 )
+ {
+ VariableReferenceList [ _ :.:Kp -1 ]
+ [ _ :.:KK -1 ]
+ [ _ :.:Kp_KK 1 ];
+ k @( 0.032 * 1e9 );
+ }
+
+ Process @(MAIN_PROCESS)( R5 )
+ {
+ VariableReferenceList [ _ :.:Kp_KK -1 ]
+ [ _ :.:Kp 1 ]
+ [ _ :.:KK 1 ];
+ k 1;
+ }
+
+
+ Process @(MAIN_PROCESS)( R6a )
+ {
+ VariableReferenceList [ _ :.:Kp_KK -1 ]
+ [ _ :.:Kpp 1 ]
+ [ _ :.:KK 1 ];
+ k 15;
+ }
+
+# Process @(MAIN_PROCESS)( R6a )
+# {
+# VariableReferenceList [ _ :.:Kp_KK -1 ]
+# [ _ :.:Kppi 1 ]
+# [ _ :.:KK 1 ];
+# k 15;
+# }
+
+# Process @(MAIN_PROCESS)( R6b )
+# {
+# VariableReferenceList [ _ :.:Kppi -1 ]
+# [ _ :.:Kpp 1 ];
+# k @ki;
+# }
+
+
+ Process @(MAIN_PROCESS)( R7 )
+ {
+ VariableReferenceList [ _ :.:Kpp -1 ]
+ [ _ :.:P -1 ]
+ [ _ :.:Kpp_P 1 ];
+ k @( 0.02 * 1e9 );
+ }
+
+ Process @(MAIN_PROCESS)( R8 )
+ {
+ VariableReferenceList [ _ :.:Kpp_P -1 ]
+ [ _ :.:Kpp 1 ]
+ [ _ :.:P 1 ];
+ k 1;
+ }
+
+# Process @(MAIN_PROCESS)( R9a )
+# {
+# VariableReferenceList [ _ :.:Kpp_P -1 ]
+# [ _ :.:Kpi 1 ]
+# [ _ :.:P 1 ];
+# k 1.5;
+# }
+
+
+ Process @(MAIN_PROCESS)( R9a )
+ {
+ VariableReferenceList [ _ :.:Kpp_P -1 ]
+ [ _ :.:Kp 1 ]
+ [ _ :.:P 1 ];
+ k 0.01;
+# k 1.5;
+ }
+
+ # R9b same as R3b
+
+ Process @(MAIN_PROCESS)( R10 )
+ {
+ VariableReferenceList [ _ :.:Kp -1 ]
+ [ _ :.:P -1 ]
+ [ _ :.:Kp_P 1 ];
+ k @( 0.032 * 1e9 );
+ }
+
+ Process @(MAIN_PROCESS)( R11 )
+ {
+ VariableReferenceList [ _ :.:Kp_P -1 ]
+ [ _ :.:Kp 1 ]
+ [ _ :.:P 1 ];
+ k 1;
+ }
+
+ Process @(MAIN_PROCESS)( R12a )
+ {
+ VariableReferenceList [ _ :.:Kp_P -1 ]
+ [ _ :.:K 1 ]
+ [ _ :.:P 1 ];
+ k 15;
+ }
+
+
+# Process @(MAIN_PROCESS)( R12a )
+# {
+# VariableReferenceList [ _ :.:Kp_P -1 ]
+# [ _ :.:Ki 1 ]
+# [ _ :.:P 1 ];
+# k 15;
+# }
+
+# Process @(MAIN_PROCESS)( R12b )
+# {
+# VariableReferenceList [ _ :.:Ki -1 ]
+# [ _ :.:K 1 ];
+# k @ki;
+# }
+
+
+
+
+
+}
+
diff --git a/ecell4/egfrd/legacy/samples/mapk/model2.py b/ecell4/egfrd/legacy/samples/mapk/model2.py
new file mode 100644
index 0000000..9c300ce
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/model2.py
@@ -0,0 +1,172 @@
+#!/usr/bin/env python
+
+from egfrd import *
+
+from logger import *
+import sys
+
+import math
+
+model='mapk2'
+
+
+
+V_str = sys.argv[1]
+D_ratio_str = sys.argv[2]
+D_mode = sys.argv[3]
+ti_str = sys.argv[4]
+mode = sys.argv[5]
+seq = sys.argv[6]
+T_str = sys.argv[7]
+
+V = float(V_str)
+D_ratio = float(D_ratio_str)
+ti = float(ti_str)
+T = float(T_str)
+
+if ti == 0:
+ ki = float('inf')
+else:
+ ki = math.log(2) / ti
+
+
+D_ref = 1e-12
+
+D_move = D_ref * D_ratio
+
+if D_mode == 'normal':
+ D_react = D_move
+elif D_mode == 'fixed':
+ D_react = D_ref
+
+
+
+#V = 1e-15 #liter
+
+L = math.pow(V * 1e-3, 1.0 / 3.0)
+
+s = EGFRDSimulator()
+s.set_world_size(L)
+
+N = 200
+matrix_size = min(max(3, int((3 * N) ** (1.0/3.0))), 60)
+print 'matrix_size=', matrix_size
+s.set_matrix_size(matrix_size)
+
+
+box1 = CuboidalRegion([0,0,0],[L,L,L])
+# not supported yet
+#s.add_surface(box1)
+
+radius = 2.5e-9
+
+m = ParticleModel()
+
+K = m.new_species_type('K', D_move, radius)
+KK = m.new_species_type('KK', D_move, radius)
+P = m.new_species_type('P', D_move, radius)
+Kp = m.new_species_type('Kp', D_move, radius)
+Kpp = m.new_species_type('Kpp', D_move, radius)
+K_KK = m.new_species_type('K_KK', D_move, radius)
+Kp_KK = m.new_species_type('Kp_KK', D_move, radius)
+Kpp_P = m.new_species_type('Kpp_P', D_move, radius)
+Kp_P = m.new_species_type('Kp_P', D_move, radius)
+
+# inactive forms
+Kpi = m.new_species_type('Kpi', D_move, radius)
+Kppi = m.new_species_type('Kppi', D_move, radius)
+Ki = m.new_species_type('Ki', D_move, radius)
+
+s.set_model(m)
+
+# 1 2 K + KK <-> K_KK
+# 3 K_KK -> Kp + KK
+# 4 5 Kp + KK <-> Kp_KK
+# 6 Kp_KK -> Kpp + KK
+# 7 8 Kpp + P <-> Kpp_P
+# 9 Kpp_P -> Kp + P
+# 10 11 Kp + P <-> Kp_P
+# 12 Kp_P -> K + P
+# 12 Kp_P -> K + P
+# 13 Kpp -> Kp
+# 14 Kp -> K
+
+
+sigma = radius * 2
+kD = k_D(D_react * 2, sigma)
+
+
+s.throw_in_particles(K, C2N(200e-9, V), box1)
+s.throw_in_particles(KK, C2N(50e-9, V), box1)
+s.throw_in_particles(P, C2N(50e-9, V), box1)
+
+# print kD
+# print k_a(per_M_to_m3(0.02e9), kD)
+# print k_a(per_M_to_m3(0.032e9), kD)
+# sys.exit(0)
+
+#end_time = .5
+end_time = 10
+while 1:
+ s.step()
+ next_time = s.scheduler.getTopTime()
+ if next_time > end_time:
+ s.stop(end_time)
+ break
+
+s.reset()
+
+r1 = create_binding_reaction_rule(K, KK, K_KK, k_a(per_M_to_m3(0.02e9), kD))
+m.network_rules.add_reaction_rule(r1)
+r2 = create_unbinding_reaction_rule(K_KK, K, KK, k_d(1.0, per_M_to_m3(0.02e9), kD))
+m.network_rules.add_reaction_rule(r2)
+#r3 = create_unbinding_reaction_rule(K_KK, Kp, KK, k_d(1.5, per_M_to_m3(0.02e9), kD))
+r3a = create_unbinding_reaction_rule(K_KK, Kpi, KK, 1.5)
+m.network_rules.add_reaction_rule(r3a)
+r3b = create_unimolecular_reaction_rule(Kpi, Kp, ki)
+m.network_rules.add_reaction_rule(r3b)
+
+r4 = create_binding_reaction_rule(Kp, KK, Kp_KK, k_a(per_M_to_m3(0.032e9), kD))
+m.network_rules.add_reaction_rule(r4)
+r5 = create_unbinding_reaction_rule(Kp_KK, Kp, KK, k_d(1.0, per_M_to_m3(0.032e9), kD))
+m.network_rules.add_reaction_rule(r5)
+#r6 = create_unbinding_reaction_rule(Kp_KK, Kpp, KK, k_d(15.0, per_M_to_m3(0.032e9), kD))
+r6a = create_unbinding_reaction_rule(Kp_KK, Kppi, KK, 15.0)
+m.network_rules.add_reaction_rule(r6a)
+r6b = create_unimolecular_reaction_rule(Kppi, Kpp, ki)
+m.network_rules.add_reaction_rule(r6b)
+
+r7 = create_binding_reaction_rule(Kpp, P, Kpp_P, k_a(per_M_to_m3(0.02e9), kD))
+m.network_rules.add_reaction_rule(r7)
+r8 = create_unbinding_reaction_rule(Kpp_P, Kpp, P, k_d(1.0, per_M_to_m3(0.02e9), kD))
+m.network_rules.add_reaction_rule(r8)
+#r9 = create_unbinding_reaction_rule(Kpp_P, Kp, P, k_d(1.5, per_M_to_m3(0.02e9), kD))
+r9a = create_unbinding_reaction_rule(Kpp_P, Kpi, P, 1.5)
+m.network_rules.add_reaction_rule(r9a)
+# same as r3b
+#r9b = create_unimolecular_reaction_rule(Kpi, Kp, ki)
+#m.network_rules.add_reaction_rule(r9b)
+
+r10 = create_binding_reaction_rule(Kp, P, Kp_P, k_a(per_M_to_m3(0.032e9), kD))
+m.network_rules.add_reaction_rule(r10)
+r11 = create_unbinding_reaction_rule(Kp_P, Kp, P, k_d(1.0, per_M_to_m3(0.032e9), kD))
+m.network_rules.add_reaction_rule(r11)
+#r12 = create_unbinding_reaction_rule(Kp_P, K, P, k_d(15.0, per_M_to_m3(0.032e9), kD))
+r12a = create_unbinding_reaction_rule(Kp_P, Ki, P, 15.0)
+m.network_rules.add_reaction_rule(r12a)
+r12b = create_unimolecular_reaction_rule(Ki, K, ki)
+m.network_rules.add_reaction_rule(r12b)
+
+#r13 = UnimolecularReactionRule(Kpp, Kp, 1e-1)
+#s.add_reaction_rule(r13)
+#r14 = UnimolecularReactionRule(Kp, K, 1e-1)
+#s.add_reaction_rule(r14)
+
+s.set_model(m)
+
+l = Logger(logname=model + '_' + '_'.join(sys.argv[1:7]))
+interrupter = FixedIntervalInterrupter(s, 1e-0, l)
+
+l.start(s)
+while s.t < T:
+ interrupter.step()
diff --git a/ecell4/egfrd/legacy/samples/mapk/model3-conc.py b/ecell4/egfrd/legacy/samples/mapk/model3-conc.py
new file mode 100644
index 0000000..82c022f
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/model3-conc.py
@@ -0,0 +1,193 @@
+#!/usr/bin/env python
+
+from egfrd import *
+
+from logger import *
+import sys
+
+import math
+
+model='mapk3-c'
+
+V_str = sys.argv[1]
+D_ratio_str = sys.argv[2]
+D_mode = sys.argv[3]
+ti_str = sys.argv[4]
+mode = sys.argv[5]
+T_str = sys.argv[6]
+
+V = float(V_str)
+D_ratio = float(D_ratio_str)
+ti = float(ti_str)
+T = float(T_str)
+
+# This runs the mapk3 model with fixed # of
+# molecules regardless of the volume V.
+# The # of molecules is calculated from
+# given concentration (below) using The
+# V_ref parameter, which does not change.
+
+V_ref = 1e-15
+
+if ti == 0:
+ ki = float('inf')
+else:
+ ki = math.log(2) / ti
+
+
+D_ref = 1e-12
+
+D_move = D_ref * D_ratio
+
+if D_mode == 'normal':
+ D_react = D_move
+elif D_mode == 'fixed':
+ D_react = D_ref
+
+# V in liter, L in meter
+L = math.pow(V * 1e-3, 1.0 / 3.0)
+
+s = EGFRDSimulator()
+s.set_world_size(L)
+
+N = 180
+matrix_size = min(max(3, int((3 * N) ** (1.0/3.0))), 60)
+print 'matrix_size=', matrix_size
+s.set_matrix_size(matrix_size)
+
+
+box1 = CuboidalRegion([0,0,0],[L,L,L])
+# not supported yet
+#s.add_surface(box1)
+
+radius = 2.5e-9
+
+m = ParticleModel()
+
+K = m.new_species_type('K', D_move, radius)
+KK = m.new_species_type('KK', D_move, radius)
+P = m.new_species_type('P', D_move, radius)
+Kp = m.new_species_type('Kp', D_move, radius)
+Kpp = m.new_species_type('Kpp', D_move, radius)
+K_KK = m.new_species_type('K_KK', D_move, radius)
+Kp_KK = m.new_species_type('Kp_KK', D_move, radius)
+Kpp_P = m.new_species_type('Kpp_P', D_move, radius)
+Kp_P = m.new_species_type('Kp_P', D_move, radius)
+
+# inactive forms
+KKi = m.new_species_type('KKi', D_move, radius)
+Pi = m.new_species_type('Pi', D_move, radius)
+
+
+# 1 2 K + KK <-> K_KK
+# 3 K_KK -> Kp + KKi
+# 4 5 Kp + KK <-> Kp_KK
+# 6 Kp_KK -> Kpp + KKi
+# 7 8 Kpp + P <-> Kpp_P
+# 9 Kpp_P -> Kp + Pi
+# 10 11 Kp + P <-> Kp_P
+# 12 Kp_P -> K + Pi
+# 13 KKi -> KK
+# 14 Pi -> P
+
+
+sigma = radius * 2
+kD = k_D(D_react * 2, sigma)
+
+N_K = C2N(200e-9, V_ref)
+N_KK = C2N(50e-9, V_ref)
+N_P = C2N(50e-9, V_ref)
+
+
+s.throw_in_particles(K, N_K, box1)
+s.throw_in_particles(KK, N_KK, box1)
+s.throw_in_particles(P, N_P, box1)
+
+# print kD
+# print k_a(per_M_to_m3(0.02e9), kD)
+# print k_a(per_M_to_m3(0.032e9), kD)
+# sys.exit(0)
+
+#end_time = 5
+end_time = 0
+while 1:
+ s.step()
+ next_time = s.scheduler.getTopTime()
+ if next_time > end_time:
+ s.stop(end_time)
+ break
+
+s.reset()
+k1 = k_a(per_M_to_m3(0.02e9), kD)
+k2 = k_d(1.0, per_M_to_m3(0.02e9), kD)
+k3 = 1.5
+k4 = k_a(per_M_to_m3(0.032e9), kD)
+k5 = k_d(1.0, per_M_to_m3(0.032e9), kD)
+k6 = 15.0
+
+r1 = create_binding_reaction_rule(K, KK, K_KK, k1)
+m.network_rules.add_reaction_rule(r1)
+r2 = create_unbinding_reaction_rule(K_KK, K, KK, k2)
+m.network_rules.add_reaction_rule(r2)
+r3 = create_unbinding_reaction_rule(K_KK, Kp, KKi, k3)
+m.network_rules.add_reaction_rule(r3)
+
+r4 = create_binding_reaction_rule(Kp, KK, Kp_KK, k4)
+m.network_rules.add_reaction_rule(r4)
+r5 = create_unbinding_reaction_rule(Kp_KK, Kp, KK, k5)
+m.network_rules.add_reaction_rule(r5)
+r6 = create_unbinding_reaction_rule(Kp_KK, Kpp, KKi, k6)
+m.network_rules.add_reaction_rule(r6)
+
+
+r7 = create_binding_reaction_rule(Kpp, P, Kpp_P, k1)
+m.network_rules.add_reaction_rule(r7)
+r8 = create_unbinding_reaction_rule(Kpp_P, Kpp, P, k2)
+m.network_rules.add_reaction_rule(r8)
+r9 = create_unbinding_reaction_rule(Kpp_P, Kp, Pi, k3)
+m.network_rules.add_reaction_rule(r9)
+
+r10 = create_binding_reaction_rule(Kp, P, Kp_P, k4)
+m.network_rules.add_reaction_rule(r10)
+r11 = create_unbinding_reaction_rule(Kp_P, Kp, P, k5)
+m.network_rules.add_reaction_rule(r11)
+r12 = create_unbinding_reaction_rule(Kp_P, K, Pi, k6)
+m.network_rules.add_reaction_rule(r12)
+
+
+r13 = create_unimolecular_reaction_rule(KKi, KK, ki)
+m.network_rules.add_reaction_rule(r13)
+r14 = create_unimolecular_reaction_rule(Pi, P, ki)
+m.network_rules.add_reaction_rule(r14)
+
+s.set_model(m);
+
+
+logname = model + '_' + '_'.join(sys.argv[1:6]) + '_' +\
+ os.environ['SGE_TASK_ID']
+l = Logger(logname = logname,
+ comment = '@ model=\'%s\'; D_move=%g; D_react=%g\n' %
+ (model, D_move, D_react) +
+ '#@ V=%s; N_K=%d; N_KK=%d; N_P=%d;\n' %
+ (V_str, N_K, N_KK, N_P) +
+ '#@ k1=%g; k2=%g; k3=%g; k4=%g; k5=%g; k6=%g;\n' %
+ (k1, k2, k3, k4, k5, k6) +
+ '#@ ti=%g; ki=%g;' %
+ (ti, ki))
+
+rfile = open('data/' + logname + '_reactions.dat', 'w')
+
+interrupter = FixedIntervalInterrupter(s, 1e-0, l)
+
+l.start(s)
+while s.t < T:
+ interrupter.step()
+
+ if s.last_reaction:
+ r = s.last_reaction
+ line = '(%18.18g,\t%s,\t%s)\n' % (s.t, r.reactants, r.products)
+ #print line
+ rfile.write(line)
+ rfile.flush()
+ l.log(s, s.t)
+
diff --git a/ecell4/egfrd/legacy/samples/mapk/model3.em b/ecell4/egfrd/legacy/samples/mapk/model3.em
new file mode 100644
index 0000000..dc93212
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/model3.em
@@ -0,0 +1,209 @@
+Stepper ODEStepper( DE1 ){}
+#Stepper DiscreteEventStepper( NR1 ){}
+
+
+@{MAIN_STEPPER='DE1'}
+@{MAIN_PROCESS='MassActionFluxProcess'}
+@#{MAIN_STEPPER='NR1'}
+@#{MAIN_PROCESS='GillespieProcess'}
+
+@{
+VOL = 1e-15
+#VOL = 1e-14
+N_A = 6.02214e+23
+}
+
+@{
+def C2N( conc ):
+ num = N_A * VOL * conc
+ print round( num )
+}
+
+@{
+ti = 1e-6
+
+import math
+ki = math.log( 2 ) / ti
+}
+
+System System( / )
+{
+ StepperID @MAIN_STEPPER;
+
+ Variable Variable( SIZE )
+ {
+ Value @(VOL);
+ }
+
+ Variable Variable( K )
+ {
+ Value @{C2N( 200e-9 )};
+ }
+
+ Variable Variable( KK )
+ {
+ Value @{C2N( 50e-9 )};
+ }
+
+
+ Variable Variable( P )
+ {
+ Value @{C2N( 50e-9 )};
+ }
+
+ Variable Variable( Kp )
+ {
+ Value 0;
+ }
+
+ Variable Variable( Kpp )
+ {
+ Value @{C2N( 0 )};
+ }
+
+ Variable Variable( KKi )
+ {
+ Value 0;
+ }
+
+ Variable Variable( Pi )
+ {
+ Value 0;
+ }
+
+ Variable Variable( K_KK )
+ {
+ Value 0;
+ }
+
+ Variable Variable( Kp_KK )
+ {
+ Value 0;
+ }
+
+ Variable Variable( Kpp_P )
+ {
+ Value 0;
+ }
+
+ Variable Variable( Kp_P )
+ {
+ Value 0;
+ }
+
+ Process @(MAIN_PROCESS)( R1 )
+ {
+ VariableReferenceList [ _ :.:K -1 ]
+ [ _ :.:KK -1 ]
+ [ _ :.:K_KK 1];
+ k @( 0.02 * 1e9 );
+ }
+
+ Process @(MAIN_PROCESS)( R2 )
+ {
+ VariableReferenceList [ _ :.:K_KK -1 ]
+ [ _ :.:K 1 ]
+ [ _ :.:KK 1 ];
+ k 1;
+ }
+
+ Process @(MAIN_PROCESS)( R3 )
+ {
+ VariableReferenceList [ _ :.:K_KK -1 ]
+ [ _ :.:Kp 1 ]
+ [ _ :.:KKi 1 ];
+ k 1.5;
+ }
+
+ Process @(MAIN_PROCESS)( R4 )
+ {
+ VariableReferenceList [ _ :.:Kp -1 ]
+ [ _ :.:KK -1 ]
+ [ _ :.:Kp_KK 1 ];
+ k @( 0.032 * 1e9 );
+ }
+
+ Process @(MAIN_PROCESS)( R5 )
+ {
+ VariableReferenceList [ _ :.:Kp_KK -1 ]
+ [ _ :.:Kp 1 ]
+ [ _ :.:KK 1 ];
+ k 1;
+ }
+
+
+ Process @(MAIN_PROCESS)( R6 )
+ {
+ VariableReferenceList [ _ :.:Kp_KK -1 ]
+ [ _ :.:Kpp 1 ]
+ [ _ :.:KKi 1 ];
+ k 15;
+ }
+
+ Process @(MAIN_PROCESS)( R7 )
+ {
+ VariableReferenceList [ _ :.:Kpp -1 ]
+ [ _ :.:P -1 ]
+ [ _ :.:Kpp_P 1 ];
+ k @( 0.02 * 1e9 );
+ }
+
+ Process @(MAIN_PROCESS)( R8 )
+ {
+ VariableReferenceList [ _ :.:Kpp_P -1 ]
+ [ _ :.:Kpp 1 ]
+ [ _ :.:P 1 ];
+ k 1;
+ }
+
+ Process @(MAIN_PROCESS)( R9 )
+ {
+ VariableReferenceList [ _ :.:Kpp_P -1 ]
+ [ _ :.:Kp 1 ]
+ [ _ :.:Pi 1 ];
+ k 1.5;
+ }
+
+
+ Process @(MAIN_PROCESS)( R10 )
+ {
+ VariableReferenceList [ _ :.:Kp -1 ]
+ [ _ :.:P -1 ]
+ [ _ :.:Kp_P 1 ];
+ k @( 0.032 * 1e9 );
+ }
+
+ Process @(MAIN_PROCESS)( R11 )
+ {
+ VariableReferenceList [ _ :.:Kp_P -1 ]
+ [ _ :.:Kp 1 ]
+ [ _ :.:P 1 ];
+ k 1;
+ }
+
+ Process @(MAIN_PROCESS)( R12 )
+ {
+ VariableReferenceList [ _ :.:Kp_P -1 ]
+ [ _ :.:K 1 ]
+ [ _ :.:Pi 1 ];
+ k 15;
+ }
+
+
+ Process @(MAIN_PROCESS)( R13 )
+ {
+ VariableReferenceList [ _ :.:KKi -1 ]
+ [ _ :.:KK 1 ];
+ k @ki;
+ }
+
+ Process @(MAIN_PROCESS)( R14 )
+ {
+ VariableReferenceList [ _ :.:Pi -1 ]
+ [ _ :.:P 1 ];
+ k @ki;
+ }
+
+
+}
+
diff --git a/ecell4/egfrd/legacy/samples/mapk/model3.py b/ecell4/egfrd/legacy/samples/mapk/model3.py
new file mode 100644
index 0000000..7af1b9f
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/model3.py
@@ -0,0 +1,187 @@
+#!/usr/bin/env python
+
+from egfrd import *
+
+from logger import *
+import sys
+
+import math
+
+model='mapk3'
+
+V_str = sys.argv[1]
+D_ratio_str = sys.argv[2]
+D_mode = sys.argv[3]
+ti_str = sys.argv[4]
+mode = sys.argv[5]
+T_str = sys.argv[6]
+
+V = float(V_str)
+D_ratio = float(D_ratio_str)
+ti = float(ti_str)
+T = float(T_str)
+
+if ti == 0:
+ ki = float('inf')
+else:
+ ki = math.log(2) / ti
+
+
+D_ref = 1e-12
+
+D_move = D_ref * D_ratio
+
+if D_mode == 'normal':
+ D_react = D_move
+elif D_mode == 'fixed':
+ D_react = D_ref
+
+# V in liter, L in meter
+L = math.pow(V * 1e-3, 1.0 / 3.0)
+
+s = EGFRDSimulator()
+s.set_world_size(L)
+
+N = 180
+matrix_size = min(max(3, int((3 * N) ** (1.0/3.0))), 60)
+print 'matrix_size=', matrix_size
+s.set_matrix_size(matrix_size)
+
+
+box1 = CuboidalRegion([0,0,0],[L,L,L])
+# not supported yet
+#s.add_surface(box1)
+
+radius = 2.5e-9
+
+m = ParticleModel()
+
+K = m.new_species_type('K', D_move, radius)
+KK = m.new_species_type('KK', D_move, radius)
+P = m.new_species_type('P', D_move, radius)
+Kp = m.new_species_type('Kp', D_move, radius)
+Kpp = m.new_species_type('Kpp', D_move, radius)
+K_KK = m.new_species_type('K_KK', D_move, radius)
+Kp_KK = m.new_species_type('Kp_KK', D_move, radius)
+Kpp_P = m.new_species_type('Kpp_P', D_move, radius)
+Kp_P = m.new_species_type('Kp_P', D_move, radius)
+
+# inactive forms
+KKi = m.new_species_type('KKi', D_move, radius)
+Pi = m.new_species_type('Pi', D_move, radius)
+
+s.set_model(m)
+
+# 1 2 K + KK <-> K_KK
+# 3 K_KK -> Kp + KKi
+# 4 5 Kp + KK <-> Kp_KK
+# 6 Kp_KK -> Kpp + KKi
+# 7 8 Kpp + P <-> Kpp_P
+# 9 Kpp_P -> Kp + Pi
+# 10 11 Kp + P <-> Kp_P
+# 12 Kp_P -> K + Pi
+# 13 KKi -> KK
+# 14 Pi -> P
+
+
+sigma = radius * 2
+kD = k_D(D_react * 2, sigma)
+
+N_K = C2N(200e-9, V)
+N_KK = C2N(50e-9, V)
+N_P = C2N(50e-9, V)
+
+
+s.throw_in_particles(K, N_K, box1)
+s.throw_in_particles(KK, N_KK, box1)
+s.throw_in_particles(P, N_P, box1)
+
+# print kD
+# print k_a(per_M_to_m3(0.02e9), kD)
+# print k_a(per_M_to_m3(0.032e9), kD)
+# sys.exit(0)
+
+#end_time = 5
+end_time = 0
+while 1:
+ s.step()
+ next_time = s.scheduler.getTopTime()
+ if next_time > end_time:
+ s.stop(end_time)
+ break
+
+s.reset()
+k1 = k_a(per_M_to_m3(0.02e9), kD)
+k2 = k_d(1.0, per_M_to_m3(0.02e9), kD)
+k3 = 1.5
+k4 = k_a(per_M_to_m3(0.032e9), kD)
+k5 = k_d(1.0, per_M_to_m3(0.032e9), kD)
+k6 = 15.0
+
+r1 = create_binding_reaction_rule(K, KK, K_KK, k1)
+m.network_rules.add_reaction_rule(r1)
+r2 = create_unbinding_reaction_rule(K_KK, K, KK, k2)
+m.network_rules.add_reaction_rule(r2)
+r3 = create_unbinding_reaction_rule(K_KK, Kp, KKi, k3)
+m.network_rules.add_reaction_rule(r3)
+
+r4 = create_binding_reaction_rule(Kp, KK, Kp_KK, k4)
+m.network_rules.add_reaction_rule(r4)
+r5 = create_unbinding_reaction_rule(Kp_KK, Kp, KK, k5)
+m.network_rules.add_reaction_rule(r5)
+r6 = create_unbinding_reaction_rule(Kp_KK, Kpp, KKi, k6)
+m.network_rules.add_reaction_rule(r6)
+
+
+r7 = create_binding_reaction_rule(Kpp, P, Kpp_P, k1)
+m.network_rules.add_reaction_rule(r7)
+r8 = create_unbinding_reaction_rule(Kpp_P, Kpp, P, k2)
+m.network_rules.add_reaction_rule(r8)
+r9 = create_unbinding_reaction_rule(Kpp_P, Kp, Pi, k3)
+m.network_rules.add_reaction_rule(r9)
+
+r10 = create_binding_reaction_rule(Kp, P, Kp_P, k4)
+m.network_rules.add_reaction_rule(r10)
+r11 = create_unbinding_reaction_rule(Kp_P, Kp, P, k5)
+m.network_rules.add_reaction_rule(r11)
+r12 = create_unbinding_reaction_rule(Kp_P, K, Pi, k6)
+m.network_rules.add_reaction_rule(r12)
+
+
+r13 = create_unimolecular_reaction_rule(KKi, KK, ki)
+m.network_rules.add_reaction_rule(r13)
+r14 = create_unimolecular_reaction_rule(Pi, P, ki)
+m.network_rules.add_reaction_rule(r14)
+
+s.set_model(m)
+
+
+logname = model + '_' + '_'.join(sys.argv[1:6]) + '_' +\
+ os.environ['SGE_TASK_ID']
+l = Logger(logname = logname,
+ comment = '@ model=\'%s\'; D_move=%g; D_react=%g\n' %
+ (model, D_move, D_react) +
+ '#@ V=%s; N_K=%d; N_KK=%d; N_P=%d;\n' %
+ (V_str, N_K, N_KK, N_P) +
+ '#@ k1=%g; k2=%g; k3=%g; k4=%g; k5=%g; k6=%g;\n' %
+ (k1, k2, k3, k4, k5, k6) +
+ '#@ ti=%g; ki=%g;' %
+ (ti, ki))
+
+rfile = open('data/' + logname + '_reactions.dat', 'w')
+
+interrupter = FixedIntervalInterrupter(s, 1e-0, l)
+
+l.start(s)
+while s.t < T:
+ interrupter.step()
+
+ if s.last_reaction:
+ r = s.last_reaction
+ line = '(%18.18g,\t%s,\t%s)\n' % (s.t, r.reactants, r.products)
+ #print line
+ rfile.write(line)
+ rfile.flush()
+
+ l.log(s, s.t)
+
diff --git a/ecell4/egfrd/legacy/samples/mapk/model4-processive.em b/ecell4/egfrd/legacy/samples/mapk/model4-processive.em
new file mode 100644
index 0000000..e42ce9a
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/model4-processive.em
@@ -0,0 +1,159 @@
+Stepper ODEStepper( DE1 ){}
+#Stepper DiscreteEventStepper( NR1 ){}
+
+
+@{MAIN_STEPPER='DE1'}
+@{MAIN_PROCESS='MassActionFluxProcess'}
+@#{MAIN_STEPPER='NR1'}
+@#{MAIN_PROCESS='GillespieProcess'}
+
+@{
+VOL = 1e-15
+#VOL = 1e-14
+N_A = 6.02214e+23
+}
+
+@{
+def C2N( conc ):
+ num = N_A * VOL * conc
+ print round( num )
+}
+
+@#{
+# Kpp_ratio=.1
+# K_ratio = 1.0 - Kpp_ratio
+
+# N_K = N_A * VOL * 500e-9 * K_ratio
+# N_Kpp = N_A * VOL * 500e-9 * Kpp_ratio
+# }
+
+System System( / )
+{
+ StepperID @MAIN_STEPPER;
+
+ Variable Variable( SIZE )
+ {
+ Value @(VOL);
+ }
+
+ Variable Variable( K )
+ {
+ Value 0;
+ }
+
+ Variable Variable( KK )
+ {
+ Value @{C2N( 50e-9 )};
+ }
+
+
+ Variable Variable( P )
+ {
+ Value @{C2N( 50e-9 )};
+ }
+
+ Variable Variable( Kp )
+ {
+ Value 0;
+ }
+
+ Variable Variable( Kpp )
+ {
+ Value 0;
+ }
+
+ Variable Variable( KKi )
+ {
+ Value 0;
+ }
+
+ Variable Variable( Pi )
+ {
+ Value 0;
+ }
+
+ Variable Variable( K_KK )
+ {
+ Value 0;
+ }
+
+ Variable Variable( Kp_KK )
+ {
+ Value 0;
+ }
+
+ Variable Variable( Kpp_P )
+ {
+ Value 0;
+ }
+
+ Variable Variable( Kp_P )
+ {
+ Value 0;
+ }
+
+ Process @(MAIN_PROCESS)( R1 )
+ {
+ VariableReferenceList [ _ :.:K -1 ]
+ [ _ :.:KK -1 ]
+ [ _ :.:K_KK 1];
+ k @( 0.02 * 1e9 );
+ }
+
+ Process @(MAIN_PROCESS)( R2 )
+ {
+ VariableReferenceList [ _ :.:K_KK -1 ]
+ [ _ :.:K 1 ]
+ [ _ :.:KK 1 ];
+ k 1;
+ }
+
+ Process @(MAIN_PROCESS)( R3 )
+ {
+ VariableReferenceList [ _ :.:K_KK -1 ]
+ [ _ :.:Kp_KK 1 ];
+ k 1.5;
+ }
+
+ Process @(MAIN_PROCESS)( R4 )
+ {
+ VariableReferenceList [ _ :.:Kp_KK -1 ]
+ [ _ :.:Kpp 1 ]
+ [ _ :.:KK 1 ];
+ k 15;
+ }
+
+ Process @(MAIN_PROCESS)( R5 )
+ {
+ VariableReferenceList [ _ :.:Kpp -1 ]
+ [ _ :.:P -1 ]
+ [ _ :.:Kpp_P 1 ];
+ k @( 0.02 * 1e9 );
+ }
+
+ Process @(MAIN_PROCESS)( R6 )
+ {
+ VariableReferenceList [ _ :.:Kpp_P -1 ]
+ [ _ :.:Kpp 1 ]
+ [ _ :.:P 1 ];
+ k 1;
+ }
+
+ Process @(MAIN_PROCESS)( R7 )
+ {
+ VariableReferenceList [ _ :.:Kpp_P -1 ]
+ [ _ :.:Kp_P 1 ];
+ k 1.5;
+ }
+
+
+ Process @(MAIN_PROCESS)( R8 )
+ {
+ VariableReferenceList [ _ :.:Kp_P -1 ]
+ [ _ :.:K 1 ]
+ [ _ :.:P 1 ];
+ k 15;
+ }
+
+}
+
diff --git a/ecell4/egfrd/legacy/samples/mapk/model4.em b/ecell4/egfrd/legacy/samples/mapk/model4.em
new file mode 100644
index 0000000..3a6accf
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/model4.em
@@ -0,0 +1,210 @@
+Stepper ODEStepper( DE1 ){}
+#Stepper DiscreteEventStepper( NR1 ){}
+
+
+@{MAIN_STEPPER='DE1'}
+@{MAIN_PROCESS='MassActionFluxProcess'}
+@#{MAIN_STEPPER='NR1'}
+@#{MAIN_PROCESS='GillespieProcess'}
+
+@{
+VOL = 1e-15
+#VOL = 1e-14
+N_A = 6.02214e+23
+}
+
+@{
+def C2N( conc ):
+ num = N_A * VOL * conc
+ print round( num )
+}
+
+@#{
+# Kpp_ratio=.1
+# K_ratio = 1.0 - Kpp_ratio
+
+# N_K = N_A * VOL * 500e-9 * K_ratio
+# N_Kpp = N_A * VOL * 500e-9 * Kpp_ratio
+# }
+
+System System( / )
+{
+ StepperID @MAIN_STEPPER;
+
+ Variable Variable( SIZE )
+ {
+ Value @(VOL);
+ }
+
+ Variable Variable( K )
+ {
+ Value 0;
+ }
+
+ Variable Variable( KK )
+ {
+ Value @{C2N( 50e-9 )};
+ }
+
+
+ Variable Variable( P )
+ {
+ Value @{C2N( 50e-9 )};
+ }
+
+ Variable Variable( Kp )
+ {
+ Value 0;
+ }
+
+ Variable Variable( Kpp )
+ {
+ Value 0;
+ }
+
+ Variable Variable( KKi )
+ {
+ Value 0;
+ }
+
+ Variable Variable( Pi )
+ {
+ Value 0;
+ }
+
+ Variable Variable( K_KK )
+ {
+ Value 0;
+ }
+
+ Variable Variable( Kp_KK )
+ {
+ Value 0;
+ }
+
+ Variable Variable( Kpp_P )
+ {
+ Value 0;
+ }
+
+ Variable Variable( Kp_P )
+ {
+ Value 0;
+ }
+
+ Process @(MAIN_PROCESS)( R1 )
+ {
+ VariableReferenceList [ _ :.:K -1 ]
+ [ _ :.:KK -1 ]
+ [ _ :.:K_KK 1];
+ k @( 0.02 * 1e9 );
+ }
+
+ Process @(MAIN_PROCESS)( R2 )
+ {
+ VariableReferenceList [ _ :.:K_KK -1 ]
+ [ _ :.:K 1 ]
+ [ _ :.:KK 1 ];
+ k 1;
+ }
+
+ Process @(MAIN_PROCESS)( R3 )
+ {
+ VariableReferenceList [ _ :.:K_KK -1 ]
+ [ _ :.:Kp 1 ]
+ [ _ :.:KKi 1 ];
+ k 1.5;
+ }
+
+ Process @(MAIN_PROCESS)( R4 )
+ {
+ VariableReferenceList [ _ :.:Kp -1 ]
+ [ _ :.:KK -1 ]
+ [ _ :.:Kp_KK 1 ];
+ k @( 0.032 * 1e9 );
+ }
+
+ Process @(MAIN_PROCESS)( R5 )
+ {
+ VariableReferenceList [ _ :.:Kp_KK -1 ]
+ [ _ :.:Kp 1 ]
+ [ _ :.:KK 1 ];
+ k 1;
+ }
+
+
+ Process @(MAIN_PROCESS)( R6 )
+ {
+ VariableReferenceList [ _ :.:Kp_KK -1 ]
+ [ _ :.:Kpp 1 ]
+ [ _ :.:KKi 1 ];
+ k 15;
+ }
+
+ Process @(MAIN_PROCESS)( R7 )
+ {
+ VariableReferenceList [ _ :.:Kpp -1 ]
+ [ _ :.:P -1 ]
+ [ _ :.:Kpp_P 1 ];
+ k @( 0.02 * 1e9 );
+ }
+
+ Process @(MAIN_PROCESS)( R8 )
+ {
+ VariableReferenceList [ _ :.:Kpp_P -1 ]
+ [ _ :.:Kpp 1 ]
+ [ _ :.:P 1 ];
+ k 1;
+ }
+
+ Process @(MAIN_PROCESS)( R9 )
+ {
+ VariableReferenceList [ _ :.:Kpp_P -1 ]
+ [ _ :.:Kp 1 ]
+ [ _ :.:Pi 1 ];
+ k 1.5;
+ }
+
+
+ Process @(MAIN_PROCESS)( R10 )
+ {
+ VariableReferenceList [ _ :.:Kp -1 ]
+ [ _ :.:P -1 ]
+ [ _ :.:Kp_P 1 ];
+ k @( 0.032 * 1e9 );
+ }
+
+ Process @(MAIN_PROCESS)( R11 )
+ {
+ VariableReferenceList [ _ :.:Kp_P -1 ]
+ [ _ :.:Kp 1 ]
+ [ _ :.:P 1 ];
+ k 1;
+ }
+
+ Process @(MAIN_PROCESS)( R12 )
+ {
+ VariableReferenceList [ _ :.:Kp_P -1 ]
+ [ _ :.:K 1 ]
+ [ _ :.:Pi 1 ];
+ k 15;
+ }
+
+
+ Process @(MAIN_PROCESS)( R13 )
+ {
+ VariableReferenceList [ _ :.:KKi -1 ]
+ [ _ :.:KK 1 ];
+ k 0; # set by the script
+ }
+
+ Process @(MAIN_PROCESS)( R14 )
+ {
+ VariableReferenceList [ _ :.:Pi -1 ]
+ [ _ :.:P 1 ];
+ k 0; # set by the script
+ }
+
+
+}
+
diff --git a/ecell4/egfrd/legacy/samples/mapk/model4.py b/ecell4/egfrd/legacy/samples/mapk/model4.py
new file mode 100644
index 0000000..e0851ae
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/model4.py
@@ -0,0 +1,192 @@
+#!/usr/bin/env python
+
+from egfrd import *
+
+from logger import *
+import sys
+
+import math
+
+model='mapk4'
+
+V_str = sys.argv[1]
+D_ratio_str = sys.argv[2]
+D_mode = sys.argv[3]
+N_K_total_str = sys.argv[4]
+Kpp_ratio_str = sys.argv[5]
+ti_str = sys.argv[6]
+mode = sys.argv[7]
+seq = sys.argv[8]
+T_str = sys.argv[9]
+
+V = float(V_str)
+D_ratio = float(D_ratio_str)
+ti = float(ti_str)
+N_K_total = int(N_K_total_str)
+Kpp_ratio = float(Kpp_ratio_str)
+T = float(T_str)
+
+if ti == 0:
+ ki = float('inf')
+else:
+ ki = math.log(2) / ti
+
+
+D_ref = 1e-12
+
+D_move = D_ref * D_ratio
+
+if D_mode == 'normal':
+ D_react = D_move
+elif D_mode == 'fixed':
+ D_react = D_ref
+
+# V in liter, L in meter
+L = math.pow(V * 1e-3, 1.0 / 3.0)
+
+s = EGFRDSimulator()
+s.set_world_size(L)
+
+N = 300
+matrix_size = min(max(3, int((3 * N) ** (1.0/3.0))), 60)
+print 'matrix_size=', matrix_size
+s.set_matrix_size(matrix_size)
+
+
+box1 = CuboidalRegion([0,0,0],[L,L,L])
+# not supported yet
+#s.add_surface(box1)
+
+radius = 2.5e-9
+
+m = ParticleModel()
+
+K = m.new_species_type('K', D_move, radius)
+KK = m.new_species_type('KK', D_move, radius)
+P = m.new_species_type('P', D_move, radius)
+Kp = m.new_species_type('Kp', D_move, radius)
+Kpp = m.new_species_type('Kpp', D_move, radius)
+K_KK = m.new_species_type('K_KK', D_move, radius)
+Kp_KK = m.new_species_type('Kp_KK', D_move, radius)
+Kpp_P = m.new_species_type('Kpp_P', D_move, radius)
+Kp_P = m.new_species_type('Kp_P', D_move, radius)
+
+# inactive forms
+KKi = m.new_species_type('KKi', D_move, radius)
+Pi = m.new_species_type('Pi', D_move, radius)
+
+s.set_model(m)
+
+# 1 2 K + KK <-> K_KK
+# 3 K_KK -> Kp + KKi
+# 4 5 Kp + KK <-> Kp_KK
+# 6 Kp_KK -> Kpp + KKi
+# 7 8 Kpp + P <-> Kpp_P
+# 9 Kpp_P -> Kp + Pi
+# 10 11 Kp + P <-> Kp_P
+# 12 Kp_P -> K + Pi
+# 13 KKi -> KK
+# 14 Pi -> P
+
+
+sigma = radius * 2
+kD = k_D(D_react * 2, sigma)
+
+N_Kpp = int(N_K_total * Kpp_ratio)
+N_K = N_K_total - N_Kpp
+N_KK = C2N(50e-9, V)
+N_P = C2N(50e-9, V)
+
+
+s.throw_in_particles(Kpp, N_Kpp, box1)
+s.throw_in_particles(K, N_K, box1)
+s.throw_in_particles(KK, N_KK, box1)
+s.throw_in_particles(P, N_P, box1)
+
+# print kD
+# print k_a(per_M_to_m3(0.02e9), kD)
+# print k_a(per_M_to_m3(0.032e9), kD)
+# sys.exit(0)
+
+end_time = 5
+while 1:
+ s.step()
+ next_time = s.scheduler.getTopTime()
+ if next_time > end_time:
+ s.stop(end_time)
+ break
+
+s.reset()
+k1 = k_a(per_M_to_m3(0.02e9), kD)
+k2 = k_d(1.0, per_M_to_m3(0.02e9), kD)
+k3 = 1.5
+k4 = k_a(per_M_to_m3(0.032e9), kD)
+k5 = k_d(1.0, per_M_to_m3(0.032e9), kD)
+k6 = 15.0
+
+r1 = create_binding_reaction_rule(K, KK, K_KK, k1)
+m.network_rules.add_reaction_rule(r1)
+r2 = create_unbinding_reaction_rule(K_KK, K, KK, k2)
+m.network_rules.add_reaction_rule(r2)
+r3 = create_unbinding_reaction_rule(K_KK, Kp, KKi, k3)
+m.network_rules.add_reaction_rule(r3)
+
+r4 = create_binding_reaction_rule(Kp, KK, Kp_KK, k4)
+m.network_rules.add_reaction_rule(r4)
+r5 = create_unbinding_reaction_rule(Kp_KK, Kp, KK, k5)
+m.network_rules.add_reaction_rule(r5)
+r6 = create_unbinding_reaction_rule(Kp_KK, Kpp, KKi, k6)
+m.network_rules.add_reaction_rule(r6)
+
+
+r7 = create_binding_reaction_rule(Kpp, P, Kpp_P, k1)
+m.network_rules.add_reaction_rule(r7)
+r8 = create_unbinding_reaction_rule(Kpp_P, Kpp, P, k2)
+m.network_rules.add_reaction_rule(r8)
+r9 = create_unbinding_reaction_rule(Kpp_P, Kp, Pi, k3)
+m.network_rules.add_reaction_rule(r9)
+
+r10 = create_binding_reaction_rule(Kp, P, Kp_P, k4)
+m.network_rules.add_reaction_rule(r10)
+r11 = create_unbinding_reaction_rule(Kp_P, Kp, P, k5)
+m.network_rules.add_reaction_rule(r11)
+r12 = create_unbinding_reaction_rule(Kp_P, K, Pi, k6)
+m.network_rules.add_reaction_rule(r12)
+
+
+r13 = create_unimolecular_reaction_rule(KKi, KK, ki)
+m.network_rules.add_reaction_rule(r13)
+r14 = create_unimolecular_reaction_rule(Pi, P, ki)
+m.network_rules.add_reaction_rule(r14)
+
+s.set_model(m)
+
+
+logname = model + '_' + '_'.join(sys.argv[1:9])
+l = Logger(logname = logname,
+ comment = '@ model=\'%s\'; D_move=%g; D_react=%g\n' %
+ (model, D_move, D_react) +
+ '#@ V=%s; N_K_total=%d; N_K=%d; N_Kpp=%d; N_KK=%d; N_P=%d;\n' %
+ (V_str, N_K_total, N_K, N_Kpp, N_KK, N_P) +
+ '#@ k1=%g; k2=%g; k3=%g; k4=%g; k5=%g; k6=%g;\n' %
+ (k1, k2, k3, k4, k5, k6) +
+ '#@ ti=%g; ki=%g;' %
+ (ti, ki))
+
+rfile = open('data/' + logname + '_reactions.dat', 'w')
+
+interrupter = FixedIntervalInterrupter(s, 1e-0, l)
+
+l.start(s)
+while s.t < T:
+ interrupter.step()
+
+ if s.last_reaction:
+ r = s.last_reaction
+ line = '(%18.18g,\t%s,\t%s)\n' % (s.t, r.reactants, r.products)
+ #print line
+ rfile.write(line)
+ rfile.flush()
+
+ l.log(s, s.t)
+
diff --git a/ecell4/egfrd/legacy/samples/mapk/model5.py b/ecell4/egfrd/legacy/samples/mapk/model5.py
new file mode 100644
index 0000000..e8711b3
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/model5.py
@@ -0,0 +1,196 @@
+#!/usr/bin/env python
+
+from egfrd import *
+
+from logger import *
+import sys
+
+import math
+
+model='mapk5'
+
+V_str = sys.argv[1]
+D_ratio_str = sys.argv[2]
+N_KK_str = sys.argv[3]
+N_P_str = sys.argv[4]
+N_K_total_str = sys.argv[5]
+ti_str = sys.argv[6]
+T_str = sys.argv[7]
+
+V = float(V_str)
+D_ratio = float(D_ratio_str)
+ti = float(ti_str)
+
+N_KK = int(N_KK_str)
+N_P = int(N_P_str)
+N_K_total = int(N_K_total_str)
+
+# N_K == N_Kpp
+N_K = N_K_total * .5
+N_Kpp = N_K
+
+T = float(T_str)
+
+if ti == 0:
+ ki = float('inf')
+else:
+ ki = math.log(2) / ti
+
+
+D_ref = 1e-12
+
+D_move = D_ref * D_ratio
+
+D_mode = 'fixed'
+
+if D_mode == 'normal':
+ D_react = D_move
+elif D_mode == 'fixed':
+ D_react = D_ref
+else:
+ raise 'unexpected value'
+
+# V in liter, L in meter
+L = math.pow(V * 1e-3, 1.0 / 3.0)
+
+s = EGFRDSimulator()
+s.set_world_size(L)
+
+N = 300
+matrix_size = min(max(3, int((3 * N) ** (1.0/3.0))), 60)
+print 'matrix_size=', matrix_size
+s.set_matrix_size(matrix_size)
+
+
+box1 = CuboidalRegion([0,0,0],[L,L,L])
+# not supported yet
+#s.add_surface(box1)
+
+radius = 2.5e-9
+
+m = ParticleModel()
+
+K = m.new_species_type('K', D_move, radius)
+KK = m.new_species_type('KK', D_move, radius)
+P = m.new_species_type('P', D_move, radius)
+Kp = m.new_species_type('Kp', D_move, radius)
+Kpp = m.new_species_type('Kpp', D_move, radius)
+K_KK = m.new_species_type('K_KK', D_move, radius)
+Kp_KK = m.new_species_type('Kp_KK', D_move, radius)
+Kpp_P = m.new_species_type('Kpp_P', D_move, radius)
+Kp_P = m.new_species_type('Kp_P', D_move, radius)
+
+# inactive forms
+KKi = m.new_species_type('KKi', D_move, radius)
+Pi = m.new_species_type('Pi', D_move, radius)
+
+s.set_model(m)
+
+# 1 2 K + KK <-> K_KK
+# 3 K_KK -> Kp + KKi
+# 4 5 Kp + KK <-> Kp_KK
+# 6 Kp_KK -> Kpp + KKi
+# 7 8 Kpp + P <-> Kpp_P
+# 9 Kpp_P -> Kp + Pi
+# 10 11 Kp + P <-> Kp_P
+# 12 Kp_P -> K + Pi
+# 13 KKi -> KK
+# 14 Pi -> P
+
+
+sigma = radius * 2
+kD = k_D(D_react * 2, sigma)
+
+s.throw_in_particles(Kpp, N_Kpp, box1)
+s.throw_in_particles(K, N_K, box1)
+s.throw_in_particles(KK, N_KK, box1)
+s.throw_in_particles(P, N_P, box1)
+
+# print kD
+# print k_a(per_M_to_m3(0.02e9), kD)
+# print k_a(per_M_to_m3(0.032e9), kD)
+# sys.exit(0)
+
+end_time = 5
+while 1:
+ s.step()
+ next_time = s.scheduler.getTopTime()
+ if next_time > end_time:
+ s.stop(end_time)
+ break
+
+s.reset()
+k1 = k_a(per_M_to_m3(0.02e9), kD)
+k2 = k_d(1.0, per_M_to_m3(0.02e9), kD)
+k3 = 1.5
+k4 = k_a(per_M_to_m3(0.032e9), kD)
+k5 = k_d(1.0, per_M_to_m3(0.032e9), kD)
+k6 = 15.0
+
+r1 = create_binding_reaction_rule(K, KK, K_KK, k1)
+m.network_rules.add_reaction_rule(r1)
+r2 = create_unbinding_reaction_rule(K_KK, K, KK, k2)
+m.network_rules.add_reaction_rule(r2)
+r3 = create_unbinding_reaction_rule(K_KK, Kp, KKi, k3)
+m.network_rules.add_reaction_rule(r3)
+
+r4 = create_binding_reaction_rule(Kp, KK, Kp_KK, k4)
+m.network_rules.add_reaction_rule(r4)
+r5 = create_unbinding_reaction_rule(Kp_KK, Kp, KK, k5)
+m.network_rules.add_reaction_rule(r5)
+r6 = create_unbinding_reaction_rule(Kp_KK, Kpp, KKi, k6)
+m.network_rules.add_reaction_rule(r6)
+
+
+r7 = create_binding_reaction_rule(Kpp, P, Kpp_P, k1)
+m.network_rules.add_reaction_rule(r7)
+r8 = create_unbinding_reaction_rule(Kpp_P, Kpp, P, k2)
+m.network_rules.add_reaction_rule(r8)
+r9 = create_unbinding_reaction_rule(Kpp_P, Kp, Pi, k3)
+m.network_rules.add_reaction_rule(r9)
+
+r10 = create_binding_reaction_rule(Kp, P, Kp_P, k4)
+m.network_rules.add_reaction_rule(r10)
+r11 = create_unbinding_reaction_rule(Kp_P, Kp, P, k5)
+m.network_rules.add_reaction_rule(r11)
+r12 = create_unbinding_reaction_rule(Kp_P, K, Pi, k6)
+m.network_rules.add_reaction_rule(r12)
+
+
+r13 = create_unimolecular_reaction_rule(KKi, KK, ki)
+m.network_rules.add_reaction_rule(r13)
+r14 = create_unimolecular_reaction_rule(Pi, P, ki)
+m.network_rules.add_reaction_rule(r14)
+
+s.set_model(m)
+
+
+logname = model + '_' + '_'.join(sys.argv[1:7]) + '_' +\
+ os.environ['SGE_TASK_ID']
+l = Logger(logname = logname,
+ comment = '@ model=\'%s\'; D_move=%g; D_react=%g\n' %
+ (model, D_move, D_react) +
+ '#@ V=%s; N_K_total=%d; N_K=%d; N_Kpp=%d; N_KK=%d; N_P=%d;\n' %
+ (V_str, N_K_total, N_K, N_Kpp, N_KK, N_P) +
+ '#@ k1=%g; k2=%g; k3=%g; k4=%g; k5=%g; k6=%g;\n' %
+ (k1, k2, k3, k4, k5, k6) +
+ '#@ ti=%g; ki=%g;' %
+ (ti, ki))
+
+rfile = open('data/' + logname + '_reactions.dat', 'w')
+
+interrupter = FixedIntervalInterrupter(s, 1e-0, l)
+
+l.start(s)
+while s.t < T:
+ interrupter.step()
+
+ if s.last_reaction:
+ r = s.last_reaction
+ line = '(%18.18g,\t%s,\t%s)\n' % (s.t, r.reactants, r.products)
+ #print line
+ rfile.write(line)
+ rfile.flush()
+
+ l.log(s, s.t)
+
diff --git a/ecell4/egfrd/legacy/samples/mapk/model6.py b/ecell4/egfrd/legacy/samples/mapk/model6.py
new file mode 100644
index 0000000..e39bbe4
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/model6.py
@@ -0,0 +1,175 @@
+#!/usr/bin/env python
+
+from egfrd import *
+
+from logger import *
+import sys
+
+import math
+
+
+# PROCESSIVE MODEL
+
+model='mapk6'
+
+V_str = sys.argv[1]
+D_ratio_str = sys.argv[2]
+N_KK_str = sys.argv[3]
+N_P_str = sys.argv[4]
+N_K_total_str = sys.argv[5]
+ti_str = sys.argv[6] # DUMMY
+T_str = sys.argv[7]
+
+V = float(V_str)
+D_ratio = float(D_ratio_str)
+ti = float(ti_str)
+
+N_KK = int(N_KK_str)
+N_P = int(N_P_str)
+N_K_total = int(N_K_total_str)
+
+# N_K == N_Kpp
+N_K = N_K_total * .5
+N_Kpp = N_K
+
+T = float(T_str)
+
+if ti == 0:
+ ki = float('inf')
+else:
+ ki = math.log(2) / ti
+
+
+D_ref = 1e-12
+
+D_move = D_ref * D_ratio
+
+D_mode = 'fixed'
+
+if D_mode == 'normal':
+ D_react = D_move
+elif D_mode == 'fixed':
+ D_react = D_ref
+else:
+ raise 'unexpected value'
+
+# V in liter, L in meter
+L = math.pow(V * 1e-3, 1.0 / 3.0)
+
+s = EGFRDSimulator()
+s.set_world_size(L)
+
+N = 300
+matrix_size = min(max(3, int((3 * N) ** (1.0/3.0))), 60)
+print 'matrix_size=', matrix_size
+s.set_matrix_size(matrix_size)
+
+
+box1 = CuboidalRegion([0,0,0],[L,L,L])
+# not supported yet
+#s.add_surface(box1)
+
+radius = 2.5e-9
+
+K = m.new_species_type('K', D_move, radius)
+KK = m.new_species_type('KK', D_move, radius)
+P = m.new_species_type('P', D_move, radius)
+Kp = m.new_species_type('Kp', D_move, radius)
+Kpp = m.new_species_type('Kpp', D_move, radius)
+K_KK = m.new_species_type('K_KK', D_move, radius)
+Kp_KK = m.new_species_type('Kp_KK', D_move, radius)
+Kpp_P = m.new_species_type('Kpp_P', D_move, radius)
+Kp_P = m.new_species_type('Kp_P', D_move, radius)
+
+# inactive forms
+KKi = m.new_species_type('KKi', D_move, radius)
+Pi = m.new_species_type('Pi', D_move, radius)
+
+
+
+# 1 2 K + KK <-> K_KK
+# 3 K_KK -> Kp_KK
+# 4 Kp_KK -> Kpp + KK
+# 5 6 Kpp + P <-> Kpp_P
+# 7 Kpp_P -> Kp_P
+# 8 Kp_P <-> K + P
+
+
+sigma = radius * 2
+kD = k_D(D_react * 2, sigma)
+
+s.throw_in_particles(Kpp, N_Kpp, box1)
+s.throw_in_particles(K, N_K, box1)
+s.throw_in_particles(KK, N_KK, box1)
+s.throw_in_particles(P, N_P, box1)
+
+# print kD
+# print k_a(per_M_to_m3(0.02e9), kD)
+# print k_a(per_M_to_m3(0.032e9), kD)
+# sys.exit(0)
+
+end_time = 5
+while 1:
+ s.step()
+ next_time = s.scheduler.getTopTime()
+ if next_time > end_time:
+ s.stop(end_time)
+ break
+
+s.reset()
+k1 = k_a(per_M_to_m3(0.02e9), kD)
+k2 = k_d(1.0, per_M_to_m3(0.02e9), kD)
+k3 = 1.5
+k4 = k_a(per_M_to_m3(0.032e9), kD)
+k5 = k_d(1.0, per_M_to_m3(0.032e9), kD)
+k6 = 15.0
+
+r1 = create_binding_reaction_rule(K, KK, K_KK, k1)
+m.network_rules.add_reaction_rule(r1)
+r2 = create_unbinding_reaction_rule(K_KK, K, KK, k2)
+m.network_rules.add_reaction_rule(r2)
+r3 = create_unimolecular_reaction_rule(K_KK, Kp_KK, k3)
+m.network_rules.add_reaction_rule(r3)
+r4 = create_unbinding_reaction_rule(Kp_KK, Kpp, KK, k6)
+m.network_rules.add_reaction_rule(r4)
+
+
+r5 = create_binding_reaction_rule(Kpp, P, Kpp_P, k1)
+m.network_rules.add_reaction_rule(r5)
+r6 = create_unbinding_reaction_rule(Kpp_P, Kpp, P, k2)
+m.network_rules.add_reaction_rule(r6)
+r7 = create_unimolecular_reaction_rule(Kpp_P, Kp_P,k3)
+m.network_rules.add_reaction_rule(r7)
+r8 = create_unbinding_reaction_rule(Kp_P, K, P, k6)
+m.network_rules.add_reaction_rule(r8)
+
+
+logname = model + '_' + '_'.join(sys.argv[1:7]) + '_' +\
+ os.environ['SGE_TASK_ID']
+l = Logger(logname = logname,
+ comment = '@ model=\'%s\'; D_move=%g; D_react=%g\n' %
+ (model, D_move, D_react) +
+ '#@ V=%s; N_K_total=%d; N_K=%d; N_Kpp=%d; N_KK=%d; N_P=%d;\n' %
+ (V_str, N_K_total, N_K, N_Kpp, N_KK, N_P) +
+ '#@ k1=%g; k2=%g; k3=%g; k4=%g; k5=%g; k6=%g;\n' %
+ (k1, k2, k3, k4, k5, k6) +
+ '#@ ti=%g; ki=%g;' %
+ (ti, ki))
+
+rfile = open('data/' + logname + '_reactions.dat', 'w')
+
+interrupter = FixedIntervalInterrupter(s, 1e-0, l)
+
+l.start(s)
+while s.t < T:
+ interrupter.step()
+
+ if s.last_reaction:
+ r = s.last_reaction
+ line = '(%18.18g,\t%s,\t%s)\n' % (s.t, r.reactants, r.products)
+ #print line
+ rfile.write(line)
+ rfile.flush()
+
+ l.log(s, s.T)
+
diff --git a/ecell4/egfrd/legacy/samples/mapk/plot_mean.py b/ecell4/egfrd/legacy/samples/mapk/plot_mean.py
new file mode 100644
index 0000000..6fd53e2
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/plot_mean.py
@@ -0,0 +1,176 @@
+#!/usr/bin/env python
+
+#python mapk/plot_mean.py 09/data/mapk3_1e-15_0.25_fixed_0_normal_ALL_tc.dat 09/data/mapk3_1e-15_0.5_fixed_0_normal_ALL_tc.dat 09/data/mapk3_1e-15_1_fixed_0_normal_ALL_tc.dat 09/data/mapk3_1e-15_2_fixed_0_normal_ALL_tc.dat 09/data/mapk3_1e-15_4_fixed_0_normal_ALL_tc.dat
+
+# python mapk/plot_mean.py 09/data/mapk3_1e-15_0.25_fixed_1e-2_normal_ALL_tc.dat 09/data/mapk3_1e-15_0.5_fixed_1e-2_normal_ALL_tc.dat 09/data/mapk3_1e-15_1_fixed_1e-2_normal_ALL_tc.dat 09/data/mapk3_1e-15_2_fixed_1e-2_normal_ALL_tc.dat 09/data/mapk3_1e-15_4_fixed_1e-2_normal_ALL_tc.dat
+
+# python mapk/plot_mean.py 09/data/mapk3_1e-15_0.25_fixed_1e-6_normal_ALL_tc.dat 09/data/mapk3_1e-15_0.5_fixed_1e-6_normal_ALL_tc.dat 09/data/mapk3_1e-15_1_fixed_1e-6_normal_ALL_tc.dat 09/data/mapk3_1e-15_2_fixed_1e-6_normal_ALL_tc.dat 09/data/mapk3_1e-15_4_fixed_1e-6_normal_ALL_tc.dat
+
+# python mapk/plot_mean.py 09/data/mapk3_1e-15_4_fixed_0_normal_ALL_tc.dat 09/data/mapk3_1e-15_4_fixed_1e-6_normal_ALL_tc.dat 09/data/mapk3_1e-15_4_fixed_1e-5_normal_ALL_tc.dat 09/data/mapk3_1e-15_4_fixed_1e-4_normal_ALL_tc.dat 09/data/mapk3_1e-15_4_fixed_1e-3_normal_ALL_tc.dat 09/data/mapk3_1e-15_4_fixed_1e-2_normal_ALL_tc.dat 09/data/mapk3_1e-15_4_fixed_1e-1_normal_ALL_tc.dat
+
+
+# with lower D, ti=1e-6
+# python plot_mean.py 09-3/data/mapk3_1e-15_0.03125_fixed_1e-6_normal_ALL_tc.dat 09-3/data/mapk3_1e-15_0.0625_fixed_1e-6_normal_ALL_tc.dat 09-3/data/mapk3_1e-15_0.125_fixed_1e-6_normal_ALL_tc.dat 09/data/mapk3_1e-15_0.25_fixed_1e-6_normal_ALL_tc.dat 09/data/mapk3_1e-15_0.5_fixed_1e-6_normal_ALL_tc.dat 09/data/mapk3_1e-15_1_fixed_1e-6_normal_ALL_tc.dat 09/data/mapk3_1e-15_2_fixed_1e-6_normal_ALL_tc.dat 09/data/mapk3_1e-15_4_fixed_1e-6_normal_ALL_tc.dat
+
+# less # of data set
+# python plot_mean.py 09-3/data/mapk3_1e-15_0.03125_fixed_1e-6_normal_ALL_tc.dat 09-3/data/mapk3_1e-15_0.0625_fixed_1e-6_normal_ALL_tc.dat 09/data/mapk3_1e-15_0.25_fixed_1e-6_normal_ALL_tc.dat 09/data/mapk3_1e-15_1_fixed_1e-6_normal_ALL_tc.dat 09/data/mapk3_1e-15_4_fixed_1e-6_normal_ALL_tc.dat
+
+
+# with lower D, ti=1e-2
+# python plot_mean.py 09-3/data/mapk3_1e-15_0.03125_fixed_1e-2_normal_ALL_tc.dat 09-3/data/mapk3_1e-15_0.0625_fixed_1e-2_normal_ALL_tc.dat 09-3/data/mapk3_1e-15_0.125_fixed_1e-2_normal_ALL_tc.dat 09/data/mapk3_1e-15_0.25_fixed_1e-2_normal_ALL_tc.dat 09/data/mapk3_1e-15_0.5_fixed_1e-2_normal_ALL_tc.dat 09/data/mapk3_1e-15_1_fixed_1e-2_normal_ALL_tc.dat 09/data/mapk3_1e-15_2_fixed_1e-2_normal_ALL_tc.dat 09/data/mapk3_1e-15_4_fixed_1e-2_normal_ALL_tc.dat
+
+# less # of data set
+# python plot_mean.py 09-3/data/mapk3_1e-15_0.03125_fixed_1e-2_normal_ALL_tc.dat 09-3/data/mapk3_1e-15_0.0625_fixed_1e-2_normal_ALL_tc.dat 09/data/mapk3_1e-15_0.25_fixed_1e-2_normal_ALL_tc.dat 09/data/mapk3_1e-15_1_fixed_1e-2_normal_ALL_tc.dat 09/data/mapk3_1e-15_4_fixed_1e-2_normal_ALL_tc.dat
+
+
+ODE_file = '/home/shafi/wrk/epdp/samples/mapk/Kpp_ODE_1e-6.ecd'
+
+
+import sys
+import os
+import glob
+
+import numpy
+import scipy.io
+
+from matplotlib.pylab import *
+
+def load_header(filename):
+ file = open(filename)
+ header = []
+ for line in file.readlines():
+ if line[0:2] == '#@':
+ hline = line[2:].lstrip()
+ header.append(hline)
+
+ return header
+
+def resample(x, y, newx):
+
+ indices = numpy.searchsorted(x, newx)
+
+ indices = indices.clip(0, len(y) - 1)
+ #print indices, len(y)
+
+ return y.take(indices)
+
+
+def add_columns(data, ycolumns):
+
+ y = numpy.array([data[:,col] for col in ycolumns])
+
+ y = y.sum(0)
+
+ return y
+
+
+def load_data(filename):
+ ycolumns = [1, ]
+ #ycolumns = [2,6]
+ #ycolumns = [3,5]
+ #ycolumns = [2,6,3,5]
+
+ header = load_header(filename)
+ print header
+ for l in header:
+ exec(l)
+
+ #data = numpy.loadtxt(filename)
+ data = load(filename)
+ x = data[:,0]
+ y = add_columns(data, ycolumns)
+
+ return x, y
+
+
+def plot_file(filename, lp='-'):
+
+ x, y = load_data(filename)
+
+ #plot_theory(N_K, N_P, Keq, x[-1])
+ plot(x, y, lp)
+
+ #psd(y)
+ #ylim(1, 5e4)
+
+def plot_mean(filelist, end, l=''):
+
+ start = 0.
+ interval = (end-start) / 1000.
+ rx = numpy.mgrid[start:end:interval]
+
+ data = []
+
+ assert filelist
+
+ for filename in filelist:
+ print 'file ', filename
+ x, y = load_data(filename)
+ print x,y
+ ry = resample(x, y, rx)
+ print ry.shape
+ data.append(ry)
+
+ mry = numpy.array(data).mean(0)
+
+
+ plot(rx, mry, label=l)
+
+
+def plot_mean_pattern(pattern, end):
+ globpattern = pattern.replace('ALL','*')
+
+ l = os.path.basename(os.path.splitext(pattern)[0])
+ print 'pattern ', l
+
+ filelist = glob.glob(globpattern)
+
+ plot_mean(filelist, end)
+
+
+if __name__ == '__main__':
+
+
+ import glob
+ import os
+
+ xmax = 60
+
+ for pattern in sys.argv[1:]:
+ #for pattern in sys.argv[1:3]:
+ plot_mean_pattern(pattern, xmax)
+
+
+ plot_file(ODE_file, 'k-')
+
+ xticks(size=20)
+ yticks(size=20)
+
+ xlim(0, xmax)
+ ylim(0, 60)
+
+ xlabel(r'Time [s]', size=22)
+ ylabel(r'#Kpp', size=22)
+
+
+ leg =legend( (r'$D=0.03 \ \ {\rm \mu m^2 / s}$',
+ r'$D=0.06 \ \ {\rm \mu m^2 / s}$',
+# r'$D=0.13 \ \ {\rm \mu m^2 / s}$',
+ r'$D=0.25 \ \ {\rm \mu m^2 / s}$',
+ r'$D=1.0 \ \ {\rm \mu m^2 / s}$',
+ r'$D=4.0 \ \ {\rm \mu m^2 / s}$',
+ r'${\rm ODE} (D=1 \ {\rm \mu m^2 / s})$',
+ ),
+ loc=4,
+ shadow=True,
+ borderpad=0.05
+ )
+ for l in leg.get_lines():
+ l.set_linewidth(1.5) # the legend line width
+
+
+#title(figtitle)
+
+#savefig('figs/' + figtitle + '.png', dpi=80)
+
+ show()
diff --git a/ecell4/egfrd/legacy/samples/mapk/plot_response_time.py b/ecell4/egfrd/legacy/samples/mapk/plot_response_time.py
new file mode 100644
index 0000000..b395bac
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/plot_response_time.py
@@ -0,0 +1,270 @@
+#!/usr/bin/env python
+
+
+# ti=1e-6
+# python plot_response_time.py 09-3/data/mapk3_1e-15_0.03125_fixed_1e-6_normal_ALL_tc.dat 09-3/data/mapk3_1e-15_0.0625_fixed_1e-6_normal_ALL_tc.dat 09/data/mapk3_1e-15_0.25_fixed_1e-6_normal_ALL_tc.dat 09/data/mapk3_1e-15_1_fixed_1e-6_normal_ALL_tc.dat 09/data/mapk3_1e-15_4_fixed_1e-6_normal_ALL_tc.dat
+
+
+# ti=1e-2
+# python plot_response_time.py 09-3/data/mapk3_1e-15_0.03125_fixed_1e-2_normal_ALL_tc.dat 09-3/data/mapk3_1e-15_0.0625_fixed_1e-2_normal_ALL_tc.dat 09/data/mapk3_1e-15_0.25_fixed_1e-2_normal_ALL_tc.dat 09/data/mapk3_1e-15_1_fixed_1e-2_normal_ALL_tc.dat 09/data/mapk3_1e-15_4_fixed_1e-2_normal_ALL_tc.dat
+
+
+#ODE_file_m6 = '/home/shafi/wrk/epdp/samples/mapk/Kpp_ODE_1e-6.ecd'
+#ODE_file_m2 = '/home/shafi/wrk/epdp/samples/mapk/Kpp_ODE_1e-2.ecd'
+
+
+import sys
+import os
+import glob
+
+import numpy
+import scipy.io
+
+from matplotlib.pylab import *
+
+def load_header(filename):
+ file = open(filename)
+ header = []
+ for line in file.readlines():
+ if line[0:2] == '#@':
+ hline = line[2:].lstrip()
+ header.append(hline)
+
+ return header
+
+def resample(x, y, newx):
+
+ indices = numpy.searchsorted(x, newx)
+
+ indices = indices.clip(0, len(y) - 1)
+ #print indices, len(y)
+
+ return y.take(indices)
+
+
+def add_columns(data, ycolumns):
+
+ y = numpy.array([data[:,col] for col in ycolumns])
+
+ y = y.sum(0)
+
+ return y
+
+
+def load_data(filename):
+ ycolumns = [1, ]
+ #ycolumns = [2,6]
+ #ycolumns = [3,5]
+ #ycolumns = [2,6,3,5]
+
+ header = load_header(filename)
+ #print header
+ for l in header:
+ exec(l)
+
+ #data = numpy.loadtxt(filename)
+ data = load(filename)
+ x = data[:,0]
+ y = add_columns(data, ycolumns)
+
+ return x, y
+
+
+def plot_file(filename, lp='-'):
+
+ x, y = load_data(filename)
+
+ #plot_theory(N_K, N_P, Keq, x[-1])
+ plot(x, y, lp)
+
+ #psd(y)
+ #ylim(1, 5e4)
+
+
+from scipy.optimize import leastsq
+
+def fitter(a, b, x):
+ return a * (1-numpy.exp(-b*x))
+
+def residuals(p, y, x):
+ a,b=p
+ return y - fitter(a, b, x)
+
+def t_m(a,b):
+ return log(2) / b
+
+p0 = [50,10]
+
+def response_time(filelist, end):
+
+ start = 0.
+ interval = (end-start) / 1000.
+ rx = numpy.mgrid[start:end:interval]
+
+ data = []
+
+ assert filelist
+
+ tm=[]
+ for filename in filelist:
+ #print 'file ', filename
+ x, y = load_data(filename)
+ #print x,y
+ ry = resample(x, y, rx)
+ data.append(ry)
+
+ res = leastsq(residuals, p0, args=(y, x),full_output=1)
+ print res[0], numpy.diag(res[1])
+
+ mry = numpy.array(data).mean(0)
+
+ ly = fitter(res[0][0],res[0][1],rx)
+ #plot(rx, ly)
+
+ tm.append(t_m(res[0][0], res[0][1]))
+
+
+ #plot(rx, mry, label=l)
+ tm = numpy.array(tm)
+
+ return tm
+
+
+
+def rt_pattern(pattern, end, x):
+ globpattern = pattern.replace('ALL','*')
+
+ l = os.path.basename(os.path.splitext(pattern)[0])
+ print 'pattern ', l
+
+ filelist = glob.glob(globpattern)
+
+ tm = response_time(filelist, end)
+
+ return tm.mean(), tm.std()/math.sqrt(len(tm))
+
+
+
+if __name__ == '__main__':
+
+
+ import glob
+ import os
+
+ xmax = 120
+
+ dir = '09-4/data'
+
+ model = 'mapk3'
+ V_str = '1e-15'
+
+
+ lines=[]
+
+ #for ti_str in ['0','1e-6','1e-4','1e-2']:
+ for ti_str in ['1e-2']:#['1e-6','1e-2']:
+
+ x = []
+ y = []
+
+ for D_str in ['0.25', '1', '2','4']:##['0.03125','0.0625','0.125', '0.25','0.5','1','2','4']:#
+
+ globpattern = \
+ '_'.join((model, V_str, D_str, 'fixed', ti_str,
+ 'normal', '*')) + '_tc.dat'
+
+ filelist = glob.glob(dir + os.sep + globpattern)
+
+ if not filelist:
+ continue
+
+ print globpattern
+ print filelist
+
+ filelist=filelist[-50:]
+
+
+ ti = float(ti_str)
+ D = float(D_str)
+
+ tm = response_time(filelist, xmax)
+ mean, std_err = tm.mean(), tm.std()/math.sqrt(len(tm))
+
+ errorbar(D, mean, yerr=std_err, fmt='k+')
+
+ x.append(D)
+ y.append(mean)
+
+ line = plot(x, y)
+ lines.append(line)
+
+ ls='k--'
+ for ti_str in ['1e-6', '1e-2']:
+ x = []
+ y = []
+ globpattern = 'Kpp_ODE_*_%s.ecd' % ti_str
+ filelist = glob.glob(globpattern)
+
+ for file in filelist:
+
+ ODE_file = file
+ D_str = file.split('_')[2]
+ otm = response_time([ODE_file], xmax)[0]
+ x.append(float(D_str))
+ y.append(otm)
+ print 'otm', otm
+
+ x,y = numpy.array(x), numpy.array(y)
+ args = x.argsort()
+ x = x.take(args)
+ y = y.take(args)
+
+ print x,y
+ line = plot(x, y, ls)
+ ls = 'k-'
+ lines.append(line)
+
+
+# otm = response_time([ODE_file_m2], xmax)[0]
+# line = plot([1e-18,10], [otm,otm], 'k-')
+# lines.append(line)
+# print otm
+
+ #plot_file(ODE_file, 'k-')
+
+
+
+ #xticks(size=20)
+ #yticks(size=20)
+
+ #xlabel(r'$t_{\rm rel} {\rm [s]}$', size=22)
+ xlabel(r'$D {\rm [\mu m^2 / s]}$', size=22)
+ ylabel(r'Response time [s]', size=22)
+
+ xscale('log')
+
+ xlim(0.02, 5)
+ ylim(0, 15)
+
+
+ xticks([0.1,1,10],['0.1','1','10'], size=20)
+ yticks([0,5,10,15],['0','5','10','15'], size=20)
+
+# leg =legend( lines, (r'$t_{\rm rel} = 1 {\rm \mu s}$',
+# r'$t_{\rm rel} = 10 {\rm m s}$',
+# r'$t_{\rm rel} = 1 {\rm \mu s} {\rm (ODE)}$',
+# r'$t_{\rm rel} = 10 {\rm m s} {\rm (ODE)}$',
+#),
+# loc=1,
+# shadow=True,
+# pad=0.05
+# )
+# for l in leg.get_lines():
+# l.set_linewidth(1.5) # the legend line width
+
+
+#title(figtitle)
+
+#savefig('figs/' + figtitle + '.png', dpi=80)
+
+ show()
diff --git a/ecell4/egfrd/legacy/samples/mapk/plot_ss.py b/ecell4/egfrd/legacy/samples/mapk/plot_ss.py
new file mode 100644
index 0000000..c582fd8
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/plot_ss.py
@@ -0,0 +1,527 @@
+#!/usr/bin/env python
+
+
+import sys
+import string
+
+import numpy
+import scipy.io
+from matplotlib.pylab import *
+
+N_A = 6.0221367e23
+
+E2 = 5
+V = 1e-15
+
+theory_processive = [
+[0.0, -5.27305425227e-23
+],[0.0169491525424, 0.00618395580968
+],[0.0344827586207, 0.0126410656621
+],[0.0526315789474, 0.0193885931926
+],[0.0714285714286, 0.0264450527921
+],[0.0909090909091, 0.0338302814594
+],[0.111111111111, 0.0415655055698
+],[0.132075471698, 0.0496733978795
+],[0.153846153846, 0.0581781204059
+],[0.176470588235, 0.0671053448887
+],[0.2, 0.0764822433864
+],[0.224489795918, 0.0863374367697
+],[0.25, 0.0967008868949
+],[0.276595744681, 0.107603714637
+],[0.304347826087, 0.11907792693
+],[0.333333333333, 0.131156021049
+],[0.363636363636, 0.143870448847
+],[0.395348837209, 0.157252912133
+],[0.428571428571, 0.171333452972
+],[0.463414634146, 0.186139337987
+],[0.5, 0.201693707136
+],[0.538461538462, 0.218014033955
+],[0.578947368421, 0.23511038812
+],[0.621621621622, 0.252983636755
+],[0.666666666667, 0.271623673863
+],[0.714285714286, 0.291007871395
+],[0.764705882353, 0.311099946807
+],[0.818181818182, 0.33184947902
+],[0.875, 0.35319226106
+],[0.935483870968, 0.375051603693
+],[1.0, 0.397340604328
+],[1.06896551724, 0.419965244186
+],[1.14285714286, 0.442828039593
+],[1.22222222222, 0.465831892936
+],[1.30769230769, 0.48888375926
+],[1.4, 0.511897786296
+],[1.5, 0.534797680627
+],[1.60869565217, 0.557518212254
+],[1.72727272727, 0.580005858716
+],[1.85714285714, 0.60221869894
+],[2.0, 0.624125745369
+],[2.15789473684, 0.645705874051
+],[2.33333333333, 0.666946550819
+],[2.52941176471, 0.687842459734
+],[2.75, 0.708394186238
+],[3.0, 0.728606980108
+],[3.28571428571, 0.748489666301
+],[3.61538461538, 0.768053700035
+],[4.0, 0.787312385738
+],[4.45454545455, 0.806280231902
+],[5.0, 0.82497243947
+],[5.66666666667, 0.843404499901
+],[6.5, 0.861591886943
+],[7.57142857143, 0.879549825948
+],[9.0, 0.897293126145
+],[11.0, 0.91483606308
+],[14.0, 0.932192299753
+],[19.0, 0.949374839011
+],[29.0, 0.966395998829
+],[59.0, 0.983267405563
+]]
+
+theory_m2 = [
+[0.0, -2.6050060107e-12
+],[0.0169491525424, 4.1726932254e-05
+],[0.0344827586207, 0.00017340186528
+],[0.0526315789474, 0.000405734956952
+],[0.0714285714286, 0.000750899812543
+],[0.0909090909091, 0.00122278465416
+],[0.111111111111, 0.00183729678762
+],[0.132075471698, 0.00261273438036
+],[0.153846153846, 0.00357024348137
+],[0.176470588235, 0.00473438411681
+],[0.2, 0.00613383752078
+],[0.224489795918, 0.00780229706417
+],[0.25, 0.00977960215644
+],[0.276595744681, 0.0121131959427
+],[0.304347826087, 0.0148600209274
+],[0.333333333333, 0.0180890151417
+],[0.363636363636, 0.0218844429173
+],[0.395348837209, 0.0263504133496
+],[0.428571428571, 0.0316170861612
+],[0.463414634146, 0.037849393662
+],[0.5, 0.0452594862764
+],[0.538461538462, 0.0541248966006
+],[0.578947368421, 0.0648156102379
+],[0.621621621622, 0.0778352562045
+],[0.666666666667, 0.0938848068051
+],[0.714285714286, 0.113961311067
+],[0.764705882353, 0.139505064052
+],[0.818181818182, 0.172581904316
+],[0.875, 0.215925641491
+],[0.935483870968, 0.272061418162
+],[1.0, 0.339981259053
+],[1.06896551724, 0.411782644849
+],[1.14285714286, 0.477929827348
+],[1.22222222222, 0.534517726141
+],[1.30769230769, 0.582070446881
+],[1.4, 0.622320116141
+],[1.5, 0.65688754206
+],[1.60869565217, 0.687030668062
+],[1.72727272727, 0.713684040506
+],[1.85714285714, 0.737540544094
+],[2.0, 0.759119968082
+],[2.15789473684, 0.778818522312
+],[2.33333333333, 0.796943264064
+],[2.52941176471, 0.813735952737
+],[2.75, 0.829389736144
+],[3.0, 0.844060982567
+],[3.28571428571, 0.857877822673
+],[3.61538461538, 0.870946385567
+],[4.0, 0.883355447068
+],[4.45454545455, 0.89517992926
+],[5.0, 0.906483575258
+],[5.66666666667, 0.91732101795
+],[6.5, 0.927739398329
+],[7.57142857143, 0.937779645026
+],[9.0, 0.947477495567
+],[11.0, 0.956864318972
+],[14.0, 0.965967783848
+],[19.0, 0.974812405214
+],[29.0, 0.983419995338
+],[59.0, 0.991810037797],
+]
+
+theory_m6 = [
+[0.0, -1.65261198743e-13
+],[0.0169491525424, 4.28300454725e-05
+],[0.0344827586207, 0.000177926757205
+],[0.0526315789474, 0.000416180632444
+],[0.0714285714286, 0.000769962658533
+],[0.0909090909091, 0.00125337741692
+],[0.111111111111, 0.00188256986967
+],[0.132075471698, 0.00267609957258
+],[0.153846153846, 0.00365540054045
+],[0.176470588235, 0.00484535047494
+],[0.2, 0.00627498131053
+],[0.224489795918, 0.00797837388893
+],[0.25, 0.00999579542646
+],[0.276595744681, 0.0123751606454
+],[0.304347826087, 0.0151739300576
+],[0.333333333333, 0.0184616067391
+],[0.363636363636, 0.0223230646984
+],[0.395348837209, 0.0268630514727
+],[0.428571428571, 0.0322123776372
+],[0.463414634146, 0.0385365748342
+],[0.5, 0.0460482370199
+],[0.538461538462, 0.0550249667196
+],[0.578947368421, 0.0658360104246
+],[0.621621621622, 0.0789825560621
+],[0.666666666667, 0.0951595468031
+],[0.714285714286, 0.115350298256
+],[0.764705882353, 0.140964470541
+],[0.818181818182, 0.174000260491
+],[0.875, 0.217050559371
+],[0.935483870968, 0.272414515188
+],[1.0, 0.338995868443
+],[1.06896551724, 0.409354891548
+],[1.14285714286, 0.474524621086
+],[1.22222222222, 0.530647963002
+],[1.30769230769, 0.578061776054
+],[1.4, 0.618347860703
+],[1.5, 0.653042236963
+],[1.60869565217, 0.683358195849
+],[1.72727272727, 0.710206610145
+],[1.85714285714, 0.734267499571
+],[2.0, 0.756053498469
+],[2.15789473684, 0.775956782148
+],[2.33333333333, 0.79428213613
+],[2.52941176471, 0.811270071993
+],[2.75, 0.827113096894
+],[3.0, 0.841967309456
+],[3.28571428571, 0.855960787438
+],[3.61538461538, 0.869199746214
+],[4.0, 0.881773127284
+],[4.45454545455, 0.893756064718
+],[5.0, 0.905212538065
+],[5.66666666667, 0.916197427144
+],[6.5, 0.926758121728
+],[7.57142857143, 0.936935795324
+],[9.0, 0.946766423063
+],[11.0, 0.956281602385
+],[14.0, 0.965509219966
+],[19.0, 0.974473998166
+],[29.0, 0.98319794569
+],[59.0, 0.991700731978],
+]
+
+theory_0 = [
+
+[0.0, 4.17636606387e-12
+],[0.0169491525424, 4.28301602653e-05
+],[0.0344827586207, 0.000177927221743
+],[0.0526315789474, 0.000416181696075
+],[0.0714285714286, 0.00076996459648
+],[0.0909090909091, 0.00125338053316
+],[0.111111111111, 0.00188257448896
+],[0.132075471698, 0.00267610602999
+],[0.153846153846, 0.00365540921268
+],[0.176470588235, 0.00484536175401
+],[0.2, 0.00627499568397
+],[0.224489795918, 0.00797839181886
+],[0.25, 0.00999581742413
+],[0.276595744681, 0.0123751872798
+],[0.304347826087, 0.0151739619653
+],[0.333333333333, 0.0184616445984
+],[0.363636363636, 0.0223231092497
+],[0.395348837209, 0.0268631030636
+],[0.428571428571, 0.032212438051
+],[0.463414634146, 0.0385366445255
+],[0.5, 0.0460483169828
+],[0.538461538462, 0.0550250579125
+],[0.578947368421, 0.0658361137306
+],[0.621621621622, 0.078982672074
+],[0.666666666667, 0.0951596755631
+],[0.714285714286, 0.115350438294
+],[0.764705882353, 0.140964617333
+],[0.818181818182, 0.174000401238
+],[0.875, 0.217050674031
+],[0.935483870968, 0.272414549138
+],[1.0, 0.338995768302
+],[1.06896551724, 0.409354648302
+],[1.14285714286, 0.474524276408
+],[1.22222222222, 0.53064757517
+],[1.30769230769, 0.578061371731
+],[1.4, 0.618347459581
+],[1.5, 0.653041848294
+],[1.60869565217, 0.683357824352
+],[1.72727272727, 0.710206258217
+],[1.85714285714, 0.734267168217
+],[2.0, 0.756053187918
+],[2.15789473684, 0.775956492266
+],[2.33333333333, 0.7942818665
+],[2.52941176471, 0.81126982258
+],[2.75, 0.827112866147
+],[3.0, 0.84196709724
+],[3.28571428571, 0.855960593123
+],[3.61538461538, 0.869199569155
+],[4.0, 0.881772966867
+],[4.45454545455, 0.893755920348
+],[5.0, 0.90521240916
+],[5.66666666667, 0.916197313254
+],[6.5, 0.926758022244
+],[7.57142857143, 0.936935709764
+],[9.0, 0.946766350971
+],[11.0, 0.956281543318
+],[14.0, 0.965509173491
+],[19.0, 0.974473963862
+],[29.0, 0.983197923179
+],[59.0, 0.991700720896],
+]
+
+def file_mean(filename, skip):
+ ycolumns = [1, ]
+ #ycolumns = [2,6]
+ #ycolumns = [3,5]
+ #ycolumns = [2,6,3,5]
+
+ f = open(filename)
+ f.seek(-1000, os.SEEK_END)
+ lines = f.readlines()
+
+ lastline = lines[-1]
+
+ lastlinedata = lastline.split()
+ if lastlinedata[0] < skip-1:
+ raise 'oops'
+
+ y = float(lastlinedata[1])
+
+ return y
+
+
+# data = load(filename)
+# x = data[:,0]
+# y = data[:,ycolumns[0]]
+
+# start = x.searchsorted(skip) - 1
+# if len(x)<=start:
+# return None
+
+# return y[start]
+
+# x = x[start:]
+# y = y[start:]
+# #print x[-1]
+
+# xdiff = x[1:] - x[:-1]
+# yscaled = y[:-1] * xdiff
+# yscaledmean = yscaled.sum() / (x[-1] - x[0])
+# print yscaledmean, y.mean()
+# #return y.mean()
+# return yscaledmean
+
+
+
+import glob
+import fnmatch
+import os
+
+model = 'mapk5'
+#model = 'mapk6'
+V_str = '1e-15'
+D_ratio_str = '1'
+#N_KK_str =
+N_P_str = '30'
+N_K_total_str = '120'
+#ti_str = '1e-2'
+ti_str = '1e-6'
+theory = numpy.array(theory_m6)
+#theory = numpy.array(theory_m2)
+theory_processive = numpy.array(theory_processive)
+
+T = '60'
+
+
+skip = float(T) #*0.95
+
+#dir = sys.argv[1]
+dir = '13/data'
+#dir = '15/data'
+#outdir = sys.argv[2]
+#pattern = sys.argv[2]
+#globpattern = pattern.replace('ALL','*') + '_*.dat'
+
+lines=[]
+#os.chdir(dir)
+
+#for ti_str in ['0','1e-6','1e-4','1e-2']:
+#for D_ratio_str in ['0.03125','0.0625','0.125','0.25','0.5','1','2','4']:
+for D_ratio_str in ['0.03125','0.0625','0.25','1','4']:
+#for D_ratio_str in ['0.03125']:
+
+ x = []
+ mean = []
+ std_err = []
+
+ for N_KK in range(1, 60):
+ globpattern = \
+ '_'.join((model, V_str, D_ratio_str, str(N_KK), '*',
+ N_K_total_str, ti_str,\
+ '*')) +\
+ '_tc.dat'
+
+ filelist = glob.glob(dir + os.sep + globpattern)
+
+ print globpattern
+
+ if not filelist:
+ continue
+
+ for N_P in range(60):
+
+ fnpattern = \
+ '_'.join((model, V_str, D_ratio_str, str(N_KK), str(N_P),
+ N_K_total_str, ti_str,\
+ '*')) +\
+ '_tc.dat'
+ filelist2 = fnmatch.filter(filelist, dir + os.sep + fnpattern)
+ if not filelist2:
+ continue
+ #print filelist2
+
+
+ data = []
+
+ for file in filelist2:
+ print file
+ res = file_mean(file, skip)
+
+ data.append(res)
+
+ data = numpy.array(data)
+ data /= int(N_K_total_str)
+
+ x.append(float(N_KK)/float(N_P))
+ mean.append(data.mean())
+ std_err.append(data.std()/math.sqrt(len(data)))
+
+ print x, mean, std_err
+
+ break
+
+
+ axes([.14,.14,.8,.8])
+ line=semilogx(x, mean)
+ lines.append(line)
+ errorbar(x, mean, yerr=std_err, fmt='k+')
+
+# axes([.62,.20,.29,.29])
+# plot(x, mean)
+
+ #errorbar(x2, mean2, yerr=std_err, fmt='k+')
+
+tx, ty = theory[:,0], theory[:,1]
+ptx, pty = theory_processive[:,0], theory_processive[:,1]
+
+# main
+axes([.14,.14,.8,.8])
+
+#processive
+D_ratio_str = '0.03125'
+
+dir='15/data'
+model='mapk6'
+
+x = []
+mean = []
+std_err = []
+
+
+for N_KK in range(1, 60):
+ globpattern = \
+ '_'.join((model, V_str, D_ratio_str, str(N_KK), '*',\
+ N_K_total_str, ti_str,\
+ '*')) +\
+ '_tc.dat'
+
+ filelist = glob.glob(dir + os.sep + globpattern)
+
+ print globpattern
+
+ if not filelist:
+ continue
+
+ for N_P in range(1,60):
+
+ fnpattern = \
+ '_'.join((model, V_str, D_ratio_str, str(N_KK), str(N_P),\
+ N_K_total_str, ti_str,\
+ '*')) +\
+ '_tc.dat'
+ filelist2 = fnmatch.filter(filelist, dir + os.sep + fnpattern)
+ if not filelist2:
+ continue
+
+ data = []
+
+ for file in filelist2:
+ print file
+ res = file_mean(file, skip)
+
+ data.append(res)
+
+ data = numpy.array(data)
+ data /= int(N_K_total_str)
+
+ x.append(float(N_KK)/float(N_P))
+ mean.append(data.mean())
+ std_err.append(data.std()/math.sqrt(len(data)))
+
+ print x, mean, std_err
+
+ break
+
+
+axes([.14,.14,.8,.8])
+line=semilogx(x, mean, 'b--', linewidth=2)
+lines.append(line)
+# axes([.62,.20,.29,.29])
+# plot(x, mean, 'b--', lw=2)
+
+#ODE
+axes([.14,.14,.8,.8])
+lines.append(semilogx(ptx, pty, 'k--', linewidth=2))
+lines.append(semilogx(tx, ty, 'k-', linewidth=2))
+
+
+axes([.14,.14,.8,.8])
+
+xlim([0.005,200])
+ylim([-0.02, 1.01])
+xticks([1e-2, 1e-1, 1, 1e1, 1e2], ['0.01', '0.1', '1', '10', '100'], size=22)
+yticks([0,0.5,1],size=22)
+xlabel(r'$\rm{[KK] / [P]}$', size=28)
+ylabel(r'$\rm{[Kpp] / [K]_{total}}$', size=28)
+
+
+#grid()
+
+leg =legend( lines, (r'$D=0.03 \ \ {\rm \mu m^2 / s}$',
+ r'$D=0.06 \ \ {\rm \mu m^2 / s}$',
+# r'$D=0.13 \ \ {\rm \mu m^2 / s}$',
+ r'$D=0.25 \ \ {\rm \mu m^2 / s}$',
+ r'$D=1.0 \ \ {\rm \mu m^2 / s}$',
+ r'$D=4.0 \ \ {\rm \mu m^2 / s}$',
+ r'Processive $(D=0.03)$',
+ r'Processive ODE$(D=1)$',
+ r'Distributive ODE$(D=1)$',
+ ),
+ loc=2,
+ shadow=True,
+ pad=0.05,
+ labelsep=0
+ )
+for l in leg.get_lines():
+ l.set_linewidth(2) # the legend line width
+
+
+
+# inset
+# axes([.62,.20,.29,.29])
+# plot(ptx, pty, 'k--', linewidth=2)
+# plot(tx, ty, 'k-', linewidth=2)
+# xlim([0.001,1])
+# ylim([-0.02,0.4])
+# xticks([.1,.5,1],size=18)
+# yticks([0,.1,.2,.3,.4,.5],size=18)
+show()
+#savefig(outdir + '/' + figtitle + '.png', dpi=80)
+
diff --git a/ecell4/egfrd/legacy/samples/mapk/plot_ss2.py b/ecell4/egfrd/legacy/samples/mapk/plot_ss2.py
new file mode 100644
index 0000000..ebbaec1
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/plot_ss2.py
@@ -0,0 +1,200 @@
+#!/usr/bin/env python
+
+
+import sys
+import os
+import string
+
+import numpy
+import scipy.io
+from matplotlib.pylab import *
+
+N_A = 6.0221367e23
+
+E2 = 5
+V = 1e-15
+
+def load_theory():
+
+ data = load('ss2_ode.dat')
+
+ ti = data[0:len(data):2][:,0]
+ data0 = data[0:len(data):2][:,1]
+ data1 = data[1:len(data):2][:,1]
+
+ return ti, data0, data1
+
+
+def file_mean(filename, skip):
+ ycolumns = [1, ]
+ #ycolumns = [2,6]
+ #ycolumns = [3,5]
+ #ycolumns = [2,6,3,5]
+
+ f = open(filename)
+ f.seek(-1000, os.SEEK_END)
+ lines = f.readlines()
+
+ lastline = lines[-1]
+
+ lastlinedata = lastline.split()
+ if lastlinedata[0] < skip-1:
+ raise 'oops'
+
+ y = float(lastlinedata[1])
+
+ return y
+
+
+# data = load(filename)
+# x = data[:,0]
+# y = data[:,ycolumns[0]]
+
+# start = x.searchsorted(skip) - 1
+# if len(x)<=start:
+# return None
+
+# return y[start]
+
+# x = x[start:]
+# y = y[start:]
+# #print x[-1]
+
+# xdiff = x[1:] - x[:-1]
+# yscaled = y[:-1] * xdiff
+# yscaledmean = yscaled.sum() / (x[-1] - x[0])
+# print yscaledmean, y.mean()
+# #return y.mean()
+# return yscaledmean
+
+
+
+import glob
+import fnmatch
+import os
+
+model = 'mapk4'
+V_str = '1e-15'
+D_ratio_str = '1'
+mode = 'fixed'
+N_K_total_str = '300'
+#ti_str = '1e-2'
+#ti_str = '0'
+
+T = '300'
+
+
+skip = float(T) #*0.95
+
+#dir = sys.argv[1]
+dir = '11/data'
+#outdir = sys.argv[2]
+#pattern = sys.argv[2]
+#globpattern = pattern.replace('ALL','*') + '_*.dat'
+
+
+#os.chdir(dir)
+
+x_all = []
+mean_all = []
+std_err_all = []
+
+
+for Kpp_ratio_str in ['0','.3','.7','1']:
+
+ x = []
+ mean = []
+ std_err = []
+
+ for ti_str in ['0','1e-6','1e-5','1e-4','1e-3','1e-2','1e-1']:
+
+ globpattern = \
+ '_'.join((model, V_str, D_ratio_str, mode, N_K_total_str,
+ Kpp_ratio_str, ti_str, 'normal',
+ '*')) +\
+ '_tc.dat'
+
+ filelist = glob.glob(dir + os.sep + globpattern)
+
+ if not filelist:
+ continue
+ #print globpattern
+
+ data = []
+
+ for file in filelist:
+ print file
+ res = file_mean(file, skip)
+
+ data.append(res)
+
+ data = numpy.array(data)
+ data /= int(N_K_total_str)
+
+ x.append(float(ti_str))
+ mean.append(data.mean())
+ std_err.append(data.std()/math.sqrt(len(data)))
+
+ print x, mean, std_err
+
+ x_all.append(x)
+ mean_all.append(mean)
+ std_err_all.append(std_err)
+
+
+ti, theory0, theory1 = load_theory()
+
+axes([.15,.13,.1,.8])
+#plot([1e-6,1], [0,1])
+
+for i in range(len(x_all)):
+ errorbar(numpy.array(x_all[i])+1e-18, mean_all[i], yerr=std_err_all[i],
+ fmt='s')
+
+plot(ti[:2],theory0[:2],'k--')
+plot(ti[:2],theory1[:2],'k--')
+
+xlim([-1e-7,1e-7])
+ylim([-0.02, 1.01])
+
+xticks([0, ], ['$0$', ], size=22)
+yticks([0,0.2,0.4,0.6,0.8,1],
+ ['$0$', '$0.2$', '$0.4$', '$0.6$', '$0.8$', '$1.0$'], size=22)
+
+ylabel(r'$\rm{[Kpp] / [K]_{total}}$', size=28)
+
+#xscale('symlog')
+
+
+axes([.26,.13,.7,.8])
+
+#semilogx([5e-7,1], [0,1])
+
+
+for i in range(len(x_all)):
+ errorbar(numpy.array(x_all[i])+1e-18, mean_all[i], yerr=std_err_all[i],
+ fmt='s')
+
+semilogx(ti,theory0,'k--')
+semilogx(ti,theory1,'k--')
+
+xscale('log')
+
+
+xlim([1e-7,0.5])
+ylim([-0.02, 1.01])
+
+
+xticks([1e-6,1e-5,1e-4,1e-3,1e-2,1e-1],
+ [r'$1 \mu s$', '$10$', '$100$', r'$1 ms$', '$10$', '$100$'],size=22)
+#xticks([1e-6, 1e-3, 1e0], ['1 us', '1 ms', '1 s'], size=22)
+yticks([],[])
+
+
+xlabel(r'${\tau}_{\rm rel}$', size=28)
+
+
+
+show()
+#savefig(outdir + '/' + figtitle + '.png', dpi=80)
+
diff --git a/ecell4/egfrd/legacy/samples/mapk/plot_tc.py b/ecell4/egfrd/legacy/samples/mapk/plot_tc.py
new file mode 100644
index 0000000..c23ff85
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/plot_tc.py
@@ -0,0 +1,81 @@
+#!/usr/bin/env python
+
+import sys
+
+import numpy
+import scipy.io
+
+from matplotlib.pylab import *
+
+def load_header(filename):
+ file = open(filename)
+ header = []
+ for line in file.readlines():
+ if line[0:2] == '#@':
+ hline = line[2:].lstrip()
+ header.append(hline)
+
+ return header
+
+def add_columns(data, ycolumns):
+
+ y = numpy.array([data[:,col] for col in ycolumns])
+
+ y = y.sum(0)
+
+ return y
+
+def getData(filename):
+ ycolumns = [1, ]
+ #ycolumns = [2,6]
+ #ycolumns = [3,5]
+ #ycolumns = [2,6,3,5]
+
+ header = load_header(filename)
+ print header
+ for l in header:
+ exec(l)
+
+
+ data = load(filename)
+ x = data[:,0]
+ y = add_columns(data, ycolumns)
+
+ return x, y
+
+
+def plot_file(filename):
+
+ x, y = getData(filename)
+
+ #plot_theory(N_K, N_P, Keq, x[-1])
+ plot(x, y, '-')
+
+ #psd(y)
+ #ylim(1, 5e4)
+ #xlim(0,120)
+
+
+import glob
+import os
+
+for filename in sys.argv[1:]:
+ plot_file(filename)
+
+#pattern = sys.argv[1]
+#globpattern = pattern.replace('ALL','*')
+
+#figtitle = os.path.basename(os.path.splitext(pattern)[0])
+#print title
+#print globpattern
+#filelist = glob.glob(globpattern)
+#print filelist
+#for filename in filelist:
+# print filename
+# plot_file(filename)
+
+#title(figtitle)
+
+#savefig('figs/' + figtitle + '.png', dpi=80)
+
+show()
diff --git a/ecell4/egfrd/legacy/samples/mapk/rebind_ratio.py b/ecell4/egfrd/legacy/samples/mapk/rebind_ratio.py
new file mode 100644
index 0000000..e69de29
diff --git a/ecell4/egfrd/legacy/samples/mapk/rebind_ratio/Makefile b/ecell4/egfrd/legacy/samples/mapk/rebind_ratio/Makefile
new file mode 100644
index 0000000..8840c61
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/rebind_ratio/Makefile
@@ -0,0 +1,129 @@
+
+
+
+
+DATADIR=/home/shafi/run/mapk/09-4/data/
+#DATADIR=./data
+# PATTERNS=\
+# mapk3_1e-15_0.03125_fixed_1e-6_normal_ALL_reactions.dat\
+# mapk3_1e-15_0.0625_fixed_1e-6_normal_ALL_reactions.dat\
+# mapk3_1e-15_0.25_fixed_1e-6_normal_ALL_reactions.dat\
+# mapk3_1e-15_1_fixed_1e-6_normal_ALL_reactions.dat\
+# mapk3_1e-15_4_fixed_1e-6_normal_ALL_reactions.dat\
+# mapk3_1e-15_0.03125_fixed_1e-2_normal_ALL_reactions.dat\
+# mapk3_1e-15_0.0625_fixed_1e-2_normal_ALL_reactions.dat\
+# mapk3_1e-15_0.25_fixed_1e-2_normal_ALL_reactions.dat\
+# mapk3_1e-15_1_fixed_1e-2_normal_ALL_reactions.dat\
+# mapk3_1e-15_4_fixed_1e-2_normal_ALL_reactions.dat\
+
+
+DATADIR=./09-5/data
+PATTERNS=\
+mapk3-c_3.3e-15_1_fixed_0_normal_ALL_reactions.dat\
+mapk3-c_3.3e-15_1_fixed_1e-1_normal_ALL_reactions.dat\
+mapk3-c_3.3e-15_1_fixed_1e-2_normal_ALL_reactions.dat\
+mapk3-c_3.3e-15_1_fixed_1e-3_normal_ALL_reactions.dat\
+mapk3-c_3.3e-15_1_fixed_1e-4_normal_ALL_reactions.dat\
+mapk3-c_3.3e-15_1_fixed_1e-5_normal_ALL_reactions.dat\
+mapk3-c_3.3e-15_1_fixed_1e-6_normal_ALL_reactions.dat\
+mapk3-c_1e-15_1_fixed_0_normal_ALL_reactions.dat\
+mapk3-c_1e-15_1_fixed_1e-1_normal_ALL_reactions.dat\
+mapk3-c_1e-15_1_fixed_1e-2_normal_ALL_reactions.dat\
+mapk3-c_1e-15_1_fixed_1e-3_normal_ALL_reactions.dat\
+mapk3-c_1e-15_1_fixed_1e-4_normal_ALL_reactions.dat\
+mapk3-c_1e-15_1_fixed_1e-5_normal_ALL_reactions.dat\
+mapk3-c_1e-15_1_fixed_1e-6_normal_ALL_reactions.dat\
+mapk3-c_1e-16_1_fixed_0_normal_ALL_reactions.dat\
+mapk3-c_1e-16_1_fixed_1e-1_normal_ALL_reactions.dat\
+mapk3-c_1e-16_1_fixed_1e-2_normal_ALL_reactions.dat\
+mapk3-c_1e-16_1_fixed_1e-3_normal_ALL_reactions.dat\
+mapk3-c_1e-16_1_fixed_1e-4_normal_ALL_reactions.dat\
+mapk3-c_1e-16_1_fixed_1e-5_normal_ALL_reactions.dat\
+mapk3-c_1e-16_1_fixed_1e-6_normal_ALL_reactions.dat\
+mapk3-c_1e-17_1_fixed_0_normal_ALL_reactions.dat\
+mapk3-c_1e-17_1_fixed_1e-1_normal_ALL_reactions.dat\
+mapk3-c_1e-17_1_fixed_1e-2_normal_ALL_reactions.dat\
+mapk3-c_1e-17_1_fixed_1e-3_normal_ALL_reactions.dat\
+mapk3-c_1e-17_1_fixed_1e-4_normal_ALL_reactions.dat\
+mapk3-c_1e-17_1_fixed_1e-5_normal_ALL_reactions.dat\
+mapk3-c_1e-17_1_fixed_1e-6_normal_ALL_reactions.dat\
+mapk3-c_3.3e-16_1_fixed_0_normal_ALL_reactions.dat\
+mapk3-c_3.3e-16_1_fixed_1e-1_normal_ALL_reactions.dat\
+mapk3-c_3.3e-16_1_fixed_1e-2_normal_ALL_reactions.dat\
+mapk3-c_3.3e-16_1_fixed_1e-3_normal_ALL_reactions.dat\
+mapk3-c_3.3e-16_1_fixed_1e-4_normal_ALL_reactions.dat\
+mapk3-c_3.3e-16_1_fixed_1e-5_normal_ALL_reactions.dat\
+mapk3-c_3.3e-16_1_fixed_1e-6_normal_ALL_reactions.dat\
+mapk3-c_3.3e-17_1_fixed_0_normal_ALL_reactions.dat\
+mapk3-c_3.3e-17_1_fixed_1e-1_normal_ALL_reactions.dat\
+mapk3-c_3.3e-17_1_fixed_1e-2_normal_ALL_reactions.dat\
+mapk3-c_3.3e-17_1_fixed_1e-3_normal_ALL_reactions.dat\
+mapk3-c_3.3e-17_1_fixed_1e-4_normal_ALL_reactions.dat\
+mapk3-c_3.3e-17_1_fixed_1e-5_normal_ALL_reactions.dat\
+mapk3-c_3.3e-17_1_fixed_1e-6_normal_ALL_reactions.dat\
+\
+
+
+
+
+
+# DATADIR=./09/data
+# PATTERNS=\
+# mapk3_1e-15_0.25_fixed_0_normal_ALL_reactions.dat\
+# mapk3_1e-15_0.5_fixed_0_normal_ALL_reactions.dat\
+# mapk3_1e-15_1_fixed_0_normal_ALL_reactions.dat\
+# mapk3_1e-15_2_fixed_0_normal_ALL_reactions.dat\
+# mapk3_1e-15_4_fixed_0_normal_ALL_reactions.dat\
+# mapk3_1e-15_0.25_fixed_1e-6_normal_ALL_reactions.dat\
+# mapk3_1e-15_0.5_fixed_1e-6_normal_ALL_reactions.dat\
+# mapk3_1e-15_1_fixed_1e-6_normal_ALL_reactions.dat\
+# mapk3_1e-15_2_fixed_1e-6_normal_ALL_reactions.dat\
+# mapk3_1e-15_4_fixed_1e-6_normal_ALL_reactions.dat\
+# mapk3_1e-15_0.25_fixed_1e-5_normal_ALL_reactions.dat\
+# mapk3_1e-15_0.5_fixed_1e-5_normal_ALL_reactions.dat\
+# mapk3_1e-15_1_fixed_1e-5_normal_ALL_reactions.dat\
+# mapk3_1e-15_2_fixed_1e-5_normal_ALL_reactions.dat\
+# mapk3_1e-15_4_fixed_1e-5_normal_ALL_reactions.dat\
+# mapk3_1e-15_0.25_fixed_1e-4_normal_ALL_reactions.dat\
+# mapk3_1e-15_0.5_fixed_1e-4_normal_ALL_reactions.dat\
+# mapk3_1e-15_1_fixed_1e-4_normal_ALL_reactions.dat\
+# mapk3_1e-15_2_fixed_1e-4_normal_ALL_reactions.dat\
+# mapk3_1e-15_4_fixed_1e-4_normal_ALL_reactions.dat\
+# mapk3_1e-15_0.25_fixed_1e-3_normal_ALL_reactions.dat\
+# mapk3_1e-15_0.5_fixed_1e-3_normal_ALL_reactions.dat\
+# mapk3_1e-15_1_fixed_1e-3_normal_ALL_reactions.dat\
+# mapk3_1e-15_2_fixed_1e-3_normal_ALL_reactions.dat\
+# mapk3_1e-15_4_fixed_1e-3_normal_ALL_reactions.dat\
+# mapk3_1e-15_0.25_fixed_1e-2_normal_ALL_reactions.dat\
+# mapk3_1e-15_0.5_fixed_1e-2_normal_ALL_reactions.dat\
+# mapk3_1e-15_1_fixed_1e-2_normal_ALL_reactions.dat\
+# mapk3_1e-15_2_fixed_1e-2_normal_ALL_reactions.dat\
+# mapk3_1e-15_4_fixed_1e-2_normal_ALL_reactions.dat\
+# mapk3_1e-15_0.25_fixed_1e-1_normal_ALL_reactions.dat\
+# mapk3_1e-15_0.5_fixed_1e-1_normal_ALL_reactions.dat\
+# mapk3_1e-15_1_fixed_1e-1_normal_ALL_reactions.dat\
+# mapk3_1e-15_2_fixed_1e-1_normal_ALL_reactions.dat\
+# mapk3_1e-15_4_fixed_1e-1_normal_ALL_reactions.dat\
+
+REBIND=$(PATTERNS:.dat=.rebind)
+
+
+# eratio:
+# for i in $(PATTERNS); do ../../../bin/event_ratio.py $$i ; done
+
+
+all-local: $(REBIND)
+
+$(REBIND):
+ python ../second_phos_ratio.py $(DATADIR)/$(@:.rebind=.dat);
+
+# python ../rebind_ratio.py $(DATADIR)/$(@:.rebind=.dat); \
+
+
+plot:
+ python plot.py
+
+
+
+clean:
+ rm -f *.rebind
diff --git a/ecell4/egfrd/legacy/samples/mapk/rebind_ratio/plot_hist.py b/ecell4/egfrd/legacy/samples/mapk/rebind_ratio/plot_hist.py
new file mode 100644
index 0000000..c846fc2
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/rebind_ratio/plot_hist.py
@@ -0,0 +1,253 @@
+#!/usr/bin/env python
+
+# D=1
+
+# python plot_hist.py "." mapk3_1e-15_1_fixed_1e-1_normal_ALL_reactions.rebind mapk3_1e-15_1_fixed_1e-2_normal_ALL_reactions.rebind mapk3_1e-15_1_fixed_1e-3_normal_ALL_reactions.rebind mapk3_1e-15_1_fixed_1e-4_normal_ALL_reactions.rebind mapk3_1e-15_1_fixed_1e-5_normal_ALL_reactions.rebind mapk3_1e-15_1_fixed_1e-6_normal_ALL_reactions.rebind mapk3_1e-15_1_fixed_0_normal_ALL_reactions.rebind
+
+
+# t_half = 1e-6
+
+rfiles = ['mapk3_1e-15_0.03125_fixed_1e-6_normal_ALL_reactions.rebind',
+ 'mapk3_1e-15_0.0625_fixed_1e-6_normal_ALL_reactions.rebind',
+ 'mapk3_1e-15_0.25_fixed_1e-6_normal_ALL_reactions.rebind',
+ 'mapk3_1e-15_1_fixed_1e-6_normal_ALL_reactions.rebind',
+ 'mapk3_1e-15_4_fixed_1e-6_normal_ALL_reactions.rebind']
+sfiles = []
+
+
+# t_half = 1e-2
+
+rfiles = ['mapk3_1e-15_0.03125_fixed_1e-2_normal_ALL_reactions.rebind',
+ 'mapk3_1e-15_0.0625_fixed_1e-2_normal_ALL_reactions.rebind',
+ 'mapk3_1e-15_0.25_fixed_1e-2_normal_ALL_reactions.rebind',
+ 'mapk3_1e-15_1_fixed_1e-2_normal_ALL_reactions.rebind',
+ 'mapk3_1e-15_4_fixed_1e-2_normal_ALL_reactions.rebind']
+sfiles=[]
+sdir = 's02/data/'
+
+sfiles = ['model3-smallt_0.03125_1e-2_ALL_t.dat',
+ 'model3-smallt_0.0625_1e-2_ALL_t.dat',
+ 'model3-smallt_0.25_1e-2_ALL_t.dat',
+ 'model3-smallt_1_1e-2_ALL_t.dat',
+ 'model3-smallt_4_1e-2_ALL_t.dat']
+
+
+
+
+from matplotlib.pylab import *
+
+import math
+import numpy
+
+import sys
+import re
+
+import glob
+
+def load_sfile(sfile):
+
+ sfile = sfile.replace('ALL', '*')
+
+ filelist = glob.glob(sdir + sfile)
+ print filelist
+ N = 0
+ data = []
+
+ for fname in filelist:
+
+ f = open(fname)
+
+ firstline = f.readline()
+ n = int(firstline)
+ #print 'N', n
+
+ d = [float(line) for line in f.readlines()]
+ f.close()
+
+ N += n
+ data.extend(d)
+
+
+ print 'supplementary data:', N, '(', len(data), ')'
+ return data, N
+
+
+
+
+def plot_hist(filename, xmin, xmax, BINS, pattern=None, factor=1.0,
+ sfile=None):
+
+ if sfile != None:
+ thr = 1e-5
+ else:
+ thr = 1e-20
+
+ file = open(filename)
+
+ data=[]
+
+ for line in file.readlines():
+ line = line.split()
+ t = float(line[0])
+ event_type = line[1]
+ if t == 0:
+ print 'skip zero'
+ continue
+ if pattern == None or pattern.match(event_type):
+ data.append(t)
+
+ file.close()
+
+ data = numpy.array(data)
+ N = len(data)
+ data = data.compress(data != numpy.inf)
+ n, bins = numpy.histogram(numpy.log10(data),
+ range=(numpy.log10(thr),numpy.log10(data.max())),
+ bins=BINS/2, new=True)
+ n = n.astype(numpy.floating)
+ n /= float(N)
+ n *= factor
+
+ #x = 10**bins[:-1]
+ x = (10**bins[1:] + 10**bins[:-1]) / 2
+ dx = (10**bins[1:]- 10**bins[:-1])
+ y = n / dx # n+1e-10
+
+ print x, y
+ if sfile != None:
+ print sfile
+ sdata, sN = load_sfile(sfile)
+ sdata = numpy.array(sdata)
+ #sdata = numpy.compress(sdata <= thr,sdata)
+ sn, sbins = numpy.histogram(numpy.log10(sdata),
+ range=(numpy.log10(sdata.min()),
+ numpy.log10(thr)),
+ bins=BINS/3, new=True)
+ sn = sn.astype(numpy.floating)
+ sn /= float(sN)
+ sn *= factor
+
+ sx = (10**sbins[1:] + 10**sbins[:-1]) / 2
+ sdx = (10**sbins[1:]- 10**sbins[:-1])
+ sy = sn / sdx # n+1e-10
+
+ x = numpy.concatenate((sx, x))
+ y = numpy.concatenate((sy, y))
+
+ print N, sN, len(sdata)
+ return loglog(x, y)#, label=filename )
+
+
+def plot_hist2(filename, xmin, xmax, N, pattern=None, factor=1.0):
+
+ file = open(filename)
+
+ data=[]
+
+ for line in file.readlines():
+ line = line.split()
+ t = float(line[0])
+ event_type = line[1]
+ if t == 0:
+ print 'skip zero'
+ continue
+ if pattern == None or pattern.match(event_type):
+ data.append(t)
+
+ data = numpy.array(data)
+
+ data.sort()
+
+ i = 0
+ p = 5
+ x = []
+ y = []
+
+ ld = len(data)
+ while i+p < ld:
+ slice = data[i:i+p]
+ min, max = slice.min(), slice.max()
+ x.append((min + max) / 2)
+ y.append(1.0 / (max - min))
+ i += p
+
+ y = numpy.array(y,numpy.floating)
+ y /= float(len(data))
+ y *= factor
+
+ return loglog(x, y)#, label=filename )
+
+
+
+if __name__ == '__main__':
+
+
+ import numpy
+
+ BINS=50
+
+
+ #pattern = re.compile(sys.argv[1])
+
+ #xmin = 1e-12
+ xmin = 1e-8
+ xmax = 100
+
+ axes([.16,.16,.8,.8])
+
+ Dlist = [0.03e-12,0.06e-12,0.25e-12,1e-12, 4e-12]
+
+ lines=[]
+
+ for n, filename in enumerate(rfiles):
+
+ D = Dlist[n]
+
+ if len(sfiles) >= 1:
+ sfile = sfiles[n]
+ else:
+ sfile = None
+
+ sigma = 5e-9
+ kD = 4 * numpy.pi * sigma * D
+ k_a = 9.2e-20#1.6e9 / (1000*6e23)
+ #factor = D * (1 + (k_a / kD))
+
+ factor = 1
+ print 'factor', factor
+ line = plot_hist(filename, xmin, xmax, BINS, None, factor, sfile = sfile)
+ lines.append(line)
+
+
+ xlabel('Second association times', size=26)
+ ylabel('Relative frequency', size=26)
+ #ylabel(r'$p(t) \cdot D (1 + (k_a / kD))$', size=26)
+
+ xticks([1e-12, 1e-9, 1e-6, 1e-3, 1],
+ [r'${\rm 1 ps}$',
+ r'${\rm 1 ns}$',
+ r'${\rm 1 \mu s}$',
+ r'${\rm 1 ms}$',
+ r'${\rm 1 s}$'],
+ size=24)
+ yticks(size=18)
+
+ xlim(xmin, xmax)
+ ylim(5e-5, 5e5)
+
+ leg = legend( lines, (r'$D=0.03 \ \ {\rm \mu m^2 / s}$',
+ r'$D=0.06 \ \ {\rm \mu m^2 / s}$',
+# # r'$D=0.13 \ \ {\rm \mu m^2 / s}$',
+ r'$D=0.25 \ \ {\rm \mu m^2 / s}$',
+ r'$D=1.0 \ \ {\rm \mu m^2 / s}$',
+ r'$D=4.0 \ \ {\rm \mu m^2 / s}$',
+ ),
+ loc=3,
+ shadow=True,
+ pad=0.05,
+ labelsep=0
+ )
+ for l in leg.get_lines():
+ l.set_linewidth(1.5) # the legend line width
+
+ show()
diff --git a/ecell4/egfrd/legacy/samples/mapk/rebind_ratio/plot_ratio.py b/ecell4/egfrd/legacy/samples/mapk/rebind_ratio/plot_ratio.py
new file mode 100644
index 0000000..d78ad3b
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/rebind_ratio/plot_ratio.py
@@ -0,0 +1,98 @@
+#!/usr/bin/env python
+
+
+from matplotlib.pylab import *
+
+
+D=[0.25,0.5,1,2,4]
+
+data_0=[
+0.862862179761,
+0.753491410993,
+0.60815952851,
+0.445889601095,
+0.305622223357
+]
+
+data_em6=[
+0.788132485945,
+0.663137430836,
+0.507006568658,
+0.335227272727,
+0.208129584352
+]
+
+data_em5=[
+0.662728062554,
+0.521941198262,
+0.360172138544,
+0.218285548167,
+0.12251119726
+]
+
+data_em4=[
+0.44779842834,
+0.31161462002,
+0.19177344261,
+0.111646217941,
+0.0709871388007
+]
+
+
+data_em3=[
+0.211627566698,
+0.135715851787,
+0.0858701895462,
+0.0565463070573,
+0.0380785002929
+]
+
+data_em2=[
+0.0804020100503,
+0.0543882484195,
+0.0390695283383,
+0.0297150280101,
+0.0308418302857
+]
+
+
+data_em1=[
+0.0304764199241,
+0.0269461077844,
+0.0247045664543,
+0.0233066617045,
+0.0225048923679
+]
+
+
+axes([.13,.13,.8,.8])
+
+semilogx(D, data_0, 'o:', label=r'$\tau_{\rm rel}=0$')
+semilogx(D, data_em6, 'o:', label=r'$\tau_{\rm rel}=1 \ {\rm \mu s}$')
+semilogx(D, data_em5, 'o:', label=r'$\tau_{\rm rel}=10 \ {\rm \mu s}$')
+semilogx(D, data_em4, 'o:', label=r'$\tau_{\rm rel}=100 \ {\rm \mu s}$')
+semilogx(D, data_em3, 'o:', label=r'$\tau_{\rm rel}=1 \ {\rm ms}$')
+semilogx(D, data_em2, 'o:', label=r'$\tau_{\rm rel}=10 \ {\rm ms}$')
+semilogx(D, data_em1, 'o:', label=r'$\tau_{\rm rel}=100 \ {\rm ms}$')
+
+
+
+xlim(0.2,5)
+xticks(D,[str(i) for i in D],fontsize=20)
+yticks(fontsize=20)
+
+ylim(0,1)
+xlabel(r'Diffusion speed [${\rm \mu m^2 / s }$]',fontsize=24)
+#ylabel('ratio',fontsize=20)
+#legend()
+
+
+leg = legend(loc=1,
+ shadow=True,
+ pad=0.05
+ )
+#for l in leg.get_lines():
+# l.set_linewidth(1.5) # the legend line width
+
+
+show()
diff --git a/ecell4/egfrd/legacy/samples/mapk/run-ecell.py b/ecell4/egfrd/legacy/samples/mapk/run-ecell.py
new file mode 100644
index 0000000..bb443f1
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/run-ecell.py
@@ -0,0 +1,21 @@
+
+
+
+
+#loadModel('model3a.eml')
+#loadModel('model3.eml')
+loadModel('model4.eml')
+
+lkpp = createLoggerStub('Variable:/:Kpp:Value')
+lkpp.create()
+
+#lk = createLoggerStub('Variable:/:K:Value')
+#lk.create()
+
+run(1200)
+
+from ecell.ECDDataFile import *
+
+#ECDDataFile(lkpp.getData()).save('Kpp_ODE_0.ecd')
+ECDDataFile(lkpp.getData()).save('Kpp2.ecd')
+#ECDDataFile(lk.getData()).save('K.ecd')
diff --git a/ecell4/egfrd/legacy/samples/mapk/run_ecell_all.py b/ecell4/egfrd/legacy/samples/mapk/run_ecell_all.py
new file mode 100644
index 0000000..af585c6
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/run_ecell_all.py
@@ -0,0 +1,26 @@
+import os
+
+#MODEL_FILE = 'model.eml'
+ESS_FILE = 'run_ecell_model4.py'
+
+# Register jobs.
+
+aJobIDList = []
+
+for i in xrange(0,5):
+
+ VALUE_OF_S = i * 1000
+ aParameterDict = { 'MODEL_FILE': MODEL_FILE, 'VALUE_OF_S': VALUE_OF_S }
+
+ #registerEcellSession(ESS file, parameters, files that ESS uses)
+ aJobID = registerEcellSession(ESS_FILE, aParameterDict, [MODEL_FILE, ])
+ aJobIDList.append(aJobID) # Memorize the job IDs in aJobIDList.
+
+# Run the registered jobs.
+
+run()
+
+for aJobID in aJobIDList:
+
+ print " --- job id = %s ---" % aJobID
+ print getStdout(aJobID) # Print the output of each job.
diff --git a/ecell4/egfrd/legacy/samples/mapk/run_ecell_model4.py b/ecell4/egfrd/legacy/samples/mapk/run_ecell_model4.py
new file mode 100644
index 0000000..9afc9c8
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/run_ecell_model4.py
@@ -0,0 +1,28 @@
+loadModel(MODEL_FILE)
+
+Kpp = createEntityStub('Variable:/:Kpp')
+K = createEntityStub('Variable:/:K')
+KK = createEntityStub('Variable:/:KK')
+P = createEntityStub('Variable:/:P')
+
+Kpp['Value'] = N_KPP
+K['Value'] = N_K
+KK['Value'] = N_KK
+P['Value'] = N_P
+
+if MODEL_FILE == 'model4-0.eml':
+ pass
+else:
+ try:
+ R13 = createEntityStub('Process:/:R13')
+ R14 = createEntityStub('Process:/:R14')
+ R13['k'] = KI
+ R14['k'] = KI
+ #print KI
+ except:
+ # processive model doesn't have R13, 14
+ pass
+
+run(1000000)
+print Kpp['Value'] / (N_KPP + N_K)
+
diff --git a/ecell4/egfrd/legacy/samples/mapk/run_ecell_model4_all.py b/ecell4/egfrd/legacy/samples/mapk/run_ecell_model4_all.py
new file mode 100644
index 0000000..2726c1f
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/run_ecell_model4_all.py
@@ -0,0 +1,56 @@
+import os
+import math
+import numpy
+
+MODEL_FILE0 = 'model4-0.eml'
+MODEL_FILE1 = 'model4.eml'
+ESS_FILE = 'run_ecell_model4.py'
+
+N_K_total = 300
+
+# Register jobs.
+
+jobs = {}
+
+
+
+for ti_str in ['0', '1e-7', '3e-7',
+ '1e-6', '3e-6',
+ '1e-5', '3e-5',
+ '1e-4', '3e-4',
+ '1e-3', '3e-3',
+ '1e-2', '3e-2',
+ '1e-1', '3e-1',
+ '1e-0']:
+ ti = float(ti_str)
+
+ if ti == 0:
+ MODEL_FILE = MODEL_FILE0
+ else:
+ MODEL_FILE = MODEL_FILE1
+ KI = math.log(2) / ti
+
+
+ for kpp_ratio in [0.11, 0.66]:
+ N_KPP = N_K_total * kpp_ratio
+ N_K = N_K_total - N_KPP
+
+ if ti != 0:
+ parameter_dict = { 'MODEL_FILE': MODEL_FILE,
+ 'N_KPP': N_KPP, 'N_K': N_K, 'KI': KI }
+ else:
+ parameter_dict = { 'MODEL_FILE': MODEL_FILE,
+ 'N_KPP': N_KPP, 'N_K': N_K }
+
+ jobID = registerEcellSession(ESS_FILE, parameter_dict, [MODEL_FILE, ])
+ jobs[jobID] = [ti_str, kpp_ratio]
+
+run()
+
+import sys
+
+for jobID in jobs.keys():
+
+ #print " --- job id = %s ---" % jobID
+ sys.stdout.write('%s %s' % (jobs[jobID][0],
+ getStdout(jobID)))
diff --git a/ecell4/egfrd/legacy/samples/mapk/run_ecell_responsetime_all.py b/ecell4/egfrd/legacy/samples/mapk/run_ecell_responsetime_all.py
new file mode 100644
index 0000000..289dbc9
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/run_ecell_responsetime_all.py
@@ -0,0 +1,62 @@
+import os
+import math
+import numpy
+
+MODEL_FILE0 = 'model4-0.eml'
+MODEL_FILE1 = 'model4.eml'
+
+ESS_FILE = 'run_ecell_tc.py'
+
+DURATION = 1000
+
+# Register jobs.
+
+jobs = {}
+
+
+
+N_P = 30
+N_KK = 30
+
+N_KPP = 0
+N_K = 120
+
+cwd = os.getcwd()
+
+for ti_str in ['1e-2', '1e-6']:
+
+ ti = float(ti_str)
+
+ if ti == 0:
+ MODEL_FILE = MODEL_FILE0
+ KI='invalid'
+ else:
+ MODEL_FILE = MODEL_FILE1
+ KI = math.log(2) / ti
+
+
+ for D_str in ['%.3g'% 10 ** e for e in numpy.mgrid[-2:2.1:.1]]:
+
+ D = float(D_str)
+
+ OUTFILE = '%s/Kpp_ODE_%s_%s.ecd' % (cwd,D_str,ti_str)
+
+ parameter_dict = { 'MODEL_FILE': MODEL_FILE,
+ 'DURATION': DURATION,
+ 'OUTFILE': OUTFILE,
+ 'D': D_str,
+ 'N_KK': N_KK, 'N_P': N_P,
+ 'N_KPP': N_KPP, 'N_K': N_K, 'KI': KI }
+
+ jobID = registerEcellSession(ESS_FILE, parameter_dict, [MODEL_FILE, ])
+ #jobs[jobID] = [float(N_KK)/N_P, kpp_ratio]
+
+run()
+
+#import sys
+
+# for jobID in jobs.keys():
+
+# #print " --- job id = %s ---" % jobID
+# sys.stdout.write( '[%s, %s],' % ( jobs[jobID][0],
+# getStdout(jobID) ) )
diff --git a/ecell4/egfrd/legacy/samples/mapk/run_ecell_ss_all.py b/ecell4/egfrd/legacy/samples/mapk/run_ecell_ss_all.py
new file mode 100644
index 0000000..4688ab3
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/run_ecell_ss_all.py
@@ -0,0 +1,58 @@
+import os
+import math
+import numpy
+
+MODEL_FILE0 = 'model4-0.eml'
+MODEL_FILE1 = 'model4.eml'
+
+MODEL_FILE1 = 'model4-processive.eml'
+
+ESS_FILE = 'run_ecell_model4.py'
+
+N_KK_P_total = 60
+N_K_total = 120
+
+# Register jobs.
+
+jobs = {}
+
+
+N_KK_list = range(60)
+
+ti_str = '1e-2'
+#ti_str = '1e-6'
+#ti_str = '0'
+
+ti = float(ti_str)
+
+if ti == 0:
+ MODEL_FILE = MODEL_FILE0
+ KI='invalid'
+else:
+ MODEL_FILE = MODEL_FILE1
+ KI = math.log(2) / ti
+
+kpp_ratio = 0.5
+for N_KK in N_KK_list:
+
+ N_P = N_KK_P_total - N_KK
+
+ N_KPP = N_K_total * kpp_ratio
+ N_K = N_K_total - N_KPP
+
+ parameter_dict = { 'MODEL_FILE': MODEL_FILE,
+ 'N_KK': N_KK, 'N_P': N_P,
+ 'N_KPP': N_KPP, 'N_K': N_K, 'KI': KI }
+
+ jobID = registerEcellSession(ESS_FILE, parameter_dict, [MODEL_FILE, ])
+ jobs[jobID] = [float(N_KK)/N_P, kpp_ratio]
+
+run()
+
+import sys
+
+for jobID in jobs.keys():
+
+ #print " --- job id = %s ---" % jobID
+ sys.stdout.write('[%s, %s],' % (jobs[jobID][0],
+ getStdout(jobID)))
diff --git a/ecell4/egfrd/legacy/samples/mapk/run_ecell_tc.py b/ecell4/egfrd/legacy/samples/mapk/run_ecell_tc.py
new file mode 100644
index 0000000..6458ab4
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/run_ecell_tc.py
@@ -0,0 +1,83 @@
+
+
+
+loadModel(MODEL_FILE)
+
+Kpp = createEntityStub('Variable:/:Kpp')
+K = createEntityStub('Variable:/:K')
+KK = createEntityStub('Variable:/:KK')
+P = createEntityStub('Variable:/:P')
+
+Kpp['Value'] = N_KPP
+K['Value'] = N_K
+KK['Value'] = N_KK
+P['Value'] = N_P
+
+sigma = 5e-9
+D_tot = 1e-12 * float(D) * 2
+#D_ref = 2e-12
+
+kD = 4 * 3.14 * sigma * D_tot
+k1 = 4.514e-20
+k2 = 1.359
+k4 = 9.20e-20
+k5 = 1.73266
+
+Keq12 = k1 / k2
+Keq45 = k4 / k5
+
+N_A = 6e23
+
+k1_net = (1./((1./k1) + (1./kD)))*1000*N_A
+k2_net = (1./((1./k2) + (Keq12/kD)))
+
+k4_net = (1./((1./k4) + (1./kD)))*1000*N_A
+k5_net = (1./((1./k5) + (Keq45/kD)))
+
+message(k1_net)
+message(k2_net)
+message(k4_net)
+message(k5_net)
+
+R1 = createEntityStub('Process:/:R1')
+R2 = createEntityStub('Process:/:R2')
+R4 = createEntityStub('Process:/:R4')
+R5 = createEntityStub('Process:/:R5')
+R7 = createEntityStub('Process:/:R7')
+R8 = createEntityStub('Process:/:R8')
+R10 = createEntityStub('Process:/:R10')
+R11 = createEntityStub('Process:/:R11')
+
+R1['k'] = k1_net
+R2['k'] = k2_net
+R4['k'] = k4_net
+R5['k'] = k5_net
+R7['k'] = k1_net
+R8['k'] = k2_net
+R10['k'] = k4_net
+R11['k'] = k5_net
+
+
+if MODEL_FILE == 'model4-0.eml':
+ pass
+else:
+ try:
+ R13 = createEntityStub('Process:/:R13')
+ R14 = createEntityStub('Process:/:R14')
+ R13['k'] = KI
+ R14['k'] = KI
+ #print KI
+ except:
+ # processive model doesn't have R13, 14
+ pass
+
+
+lkpp = createLoggerStub('Variable:/:Kpp:Value')
+lkpp.create()
+
+run(DURATION)
+
+from ecell.ECDDataFile import *
+message(OUTFILE)
+ECDDataFile(lkpp.getData()).save(OUTFILE)
+message(lkpp.getData())
diff --git a/ecell4/egfrd/legacy/samples/mapk/run_model3-smallt-2.py b/ecell4/egfrd/legacy/samples/mapk/run_model3-smallt-2.py
new file mode 100644
index 0000000..6c9440b
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/run_model3-smallt-2.py
@@ -0,0 +1,224 @@
+#!/usr/bin/env python
+
+'''
+# D_factor ti T N
+
+LOGLEVEL=ERROR PYTHONPATH=../.. python -O run.py 1 1 100 10
+
+'''
+
+
+from egfrd import *
+from bd import *
+
+def run(outfilename, D_factor, ti, T, N):
+ print outfilename
+
+ outfile_t = open(outfilename + '_t.dat', 'w')
+
+ outfile_t.write('%d\n' % N)
+
+ for i in range(N):
+ t = singlerun(D_factor, ti, T)
+ #print i, t
+
+ if t != -1:
+ outfile_t.write('%g\n' % t)
+ outfile_t.flush()
+
+
+ #[outfile_r.flush() for outfile_r in outfile_r_list]
+
+
+ outfile_t.close()
+ #[outfile_r.close() for outfile_r in outfile_r_list]
+
+
+
+def singlerun(D_factor, ti, T):
+
+ V = 1e-15
+ #V = 1e-16
+ D_ratio = 1
+
+ if ti == 0:
+ ki = float('inf')
+ else:
+ ki = math.log(2) / ti
+
+
+ D_ref = 1e-12
+
+ D_move = D_ref * D_factor
+
+ D_react = D_ref
+
+ # V in liter, L in meter
+ L = math.pow(V * 1e-3, 1.0 / 3.0)
+
+ s = EGFRDSimulator()
+ s.set_world_size(L)
+
+ N = 180
+ matrix_size = min(max(3, int((3 * N) ** (1.0/3.0))), 60)
+ s.set_matrix_size(matrix_size)
+
+
+ box1 = CuboidalRegion([0,0,0],[L,L,L])
+
+ radius = 2.5e-9
+
+ m = ParticleModel()
+
+# K = m.new_species_type('K', D_move, radius)
+ KK = m.new_species_type('KK', D_move, radius)
+# P = m.new_species_type('P', D_move, radius)
+ Kp = m.new_species_type('Kp', D_move, radius)
+# Kpp = m.new_species_type('Kpp', D_move, radius)
+# K_KK = m.new_species_type('K_KK', D_move, radius)
+ Kp_KK = m.new_species_type('Kp_KK', D_move, radius)
+# Kpp_P = m.new_species_type('Kpp_P', D_move, radius)
+# Kp_P = m.new_species_type('Kp_P', D_move, radius)
+
+ # inactive forms
+ KKi = m.new_species_type('KKi', D_move, radius)
+# Pi = m.new_species_type('Pi', D_move, radius)
+
+
+
+ # 1 2 K + KK <-> K_KK
+ # 3 K_KK -> Kp + KKi
+ # 4 5 Kp + KK <-> Kp_KK
+ # 6 Kp_KK -> Kpp + KKi
+ # 7 8 Kpp + P <-> Kpp_P
+ # 9 Kpp_P -> Kp + Pi
+ # 10 11 Kp + P <-> Kp_P
+ # 12 Kp_P -> K + Pi
+ # 13 KKi -> KK
+ # 14 Pi -> P
+
+
+ sigma = radius * 2
+ kD = k_D(D_react * 2, sigma)
+
+ N_K = C2N(200e-9, V)
+ N_KK = C2N(50e-9, V)
+ N_P = C2N(50e-9, V)
+
+ #print N_KK
+ #s.throw_in_particles(K, N_K, box1)
+ #s.throw_in_particles(KK, N_KK, box1)
+ #s.throw_in_particles(P, N_P, box1)
+
+ s.place_particle(Kp, [0,0,0])
+ s.place_particle(KKi, [0,0,sigma+1e-23])
+
+# s.throw_in_particles(KK, N_KK-1, box1)
+
+ # print kD
+ # print k_a(per_M_to_m3(0.02e9), kD)
+ # print k_a(per_M_to_m3(0.032e9), kD)
+ # sys.exit(0)
+
+# end_time = 0
+# while 1:
+# s.step()
+# next_time = s.scheduler.getTopTime()
+# if next_time > end_time:
+# s.stop(end_time)
+# break
+
+# s.reset()
+# k1 = k_a(per_M_to_m3(0.02e9), kD)
+# k2 = k_d(1.0, per_M_to_m3(0.02e9), kD)
+# k3 = 1.5
+ k4 = k_a(per_M_to_m3(0.032e9), kD)
+# k5 = k_d(1.0, per_M_to_m3(0.032e9), kD)
+# k6 = 15.0
+
+# r1 = create_binding_reaction_rule(K, KK, K_KK, k1)
+# m.network_rules.add_reaction_rule(r1)
+# r2 = create_unbinding_reaction_rule(K_KK, K, KK, k2)
+# m.network_rules.add_reaction_rule(r2)
+# r3 = create_unbinding_reaction_rule(K_KK, Kp, KKi, k3)
+# m.network_rules.add_reaction_rule(r3)
+
+ r4 = createcreate_binding_reaction_rule(Kp, KK, Kp_KK, k4)
+ m.network_rules.add_reaction_rule(r4)
+# r5 = create_unbinding_reaction_rule(Kp_KK, Kp, KK, k5)
+# m.network_rules.add_reaction_rule(r5)
+# r6 = create_unbinding_reaction_rule(Kp_KK, Kpp, KKi, k6)
+# m.network_rules.add_reaction_rule(r6)
+
+
+# r7 = create_binding_reaction_rule(Kpp, P, Kpp_P, k1)
+# m.network_rules.add_reaction_rule(r7)
+# r8 = create_unbinding_reaction_rule(Kpp_P, Kpp, P, k2)
+# m.network_rules.add_reaction_rule(r8)
+# r9 = create_unbinding_reaction_rule(Kpp_P, Kp, Pi, k3)
+# m.network_rules.add_reaction_rule(r9)
+
+# r10 = create_binding_reaction_rule(Kp, P, Kp_P, k4)
+# m.network_rules.add_reaction_rule(r10)
+# r11 = create_unbinding_reaction_rule(Kp_P, Kp, P, k5)
+# m.network_rules.add_reaction_rule(r11)
+# r12 = create_unbinding_reaction_rule(Kp_P, K, Pi, k6)
+# m.network_rules.add_reaction_rule(r12)
+
+
+ r13 = create_unimolecular_reaction_rule(KKi, KK, ki)
+ m.network_rules.add_reaction_rule(r13)
+# r14 = create_unimolecular_reaction_rule(Pi, P, ki)
+# m.network_rules.add_reaction_rule(r14)
+
+
+# logname = model + '_' + '_'.join(sys.argv[1:6]) + '_' +\
+# os.environ['SGE_TASK_ID']
+
+# outfile = open('data/' + logname + '_t.dat', 'w')
+
+ s.set_model(m)
+
+
+ while s.t < T:
+ s.step()
+
+ if s.last_reaction:
+ r = s.last_reaction
+ for p in r.products:
+# if p.species == Kpp:
+ if p.species == Kp_KK:
+ if s.t <= T:
+ return s.t
+ else:
+ return -1
+ if s.get_next_time() > T:
+ return -1
+
+ return -1
+
+
+if __name__ == '__main__':
+
+ import os
+
+ outfilename = 'data/model3-smallt_' + '_'.join(sys.argv[1:3]) +\
+ '_' + os.environ['SGE_TASK_ID']
+
+ def runmain():
+ run(outfilename, float(sys.argv[1]),
+ float(sys.argv[2]), float(sys.argv[3]), int(sys.argv[4]))
+
+
+
+ runmain()
+# try:
+# import cProfile as profile
+# except:
+# import profile
+# profile.run('runmain()', 'fooprof')
+
+
+# import pstats
+# pstats.Stats('fooprof').sort_stats('time').print_stats(40)
+
diff --git a/ecell4/egfrd/legacy/samples/mapk/run_model3-smallt.py b/ecell4/egfrd/legacy/samples/mapk/run_model3-smallt.py
new file mode 100644
index 0000000..b17e38d
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/run_model3-smallt.py
@@ -0,0 +1,224 @@
+#!/usr/bin/env python
+
+'''
+# D_factor ti T N
+
+LOGLEVEL=ERROR PYTHONPATH=../.. python -O run.py 1 1 100 10
+
+'''
+
+
+from egfrd import *
+from bd import *
+
+def run(outfilename, D_factor, ti, T, N):
+ print outfilename
+
+ outfile_t = open(outfilename + '_t.dat', 'w')
+
+ outfile_t.write('%d\n' % N)
+
+ for i in range(N):
+ t = singlerun(D_factor, ti, T)
+ #print i, t
+
+ if t != -1:
+ outfile_t.write('%g\n' % t)
+ outfile_t.flush()
+
+
+ #[outfile_r.flush() for outfile_r in outfile_r_list]
+
+
+ outfile_t.close()
+ #[outfile_r.close() for outfile_r in outfile_r_list]
+
+
+
+def singlerun(D_factor, ti, T):
+
+ V = 1e-15
+ #V = 1e-16
+ D_ratio = 1
+
+ if ti == 0:
+ ki = float('inf')
+ else:
+ ki = math.log(2) / ti
+
+
+ D_ref = 1e-12
+
+ D_move = D_ref * D_factor
+
+ D_react = D_ref
+
+ # V in liter, L in meter
+ L = math.pow(V * 1e-3, 1.0 / 3.0)
+
+ s = EGFRDSimulator()
+ s.set_world_size(L)
+
+ N = 180
+ matrix_size = min(max(3, int((3 * N) ** (1.0/3.0))), 60)
+ s.set_matrix_size(matrix_size)
+
+
+ box1 = CuboidalRegion([0,0,0],[L,L,L])
+
+ radius = 2.5e-9
+
+ m = ParticleModel()
+
+# K = m.new_species_type('K', D_move, radius)
+ KK = m.new_species_type('KK', D_move, radius)
+# P = m.new_species_type('P', D_move, radius)
+ Kp = m.new_species_type('Kp', D_move, radius)
+# Kpp = m.new_species_type('Kpp', D_move, radius)
+# K_KK = m.new_species_type('K_KK', D_move, radius)
+ Kp_KK = m.new_species_type('Kp_KK', D_move, radius)
+# Kpp_P = m.new_species_type('Kpp_P', D_move, radius)
+# Kp_P = m.new_species_type('Kp_P', D_move, radius)
+
+ # inactive forms
+ KKi = m.new_species_type('KKi', D_move, radius)
+# Pi = m.new_species_type('Pi', D_move, radius)
+
+ s.set_model(m)
+
+ # 1 2 K + KK <-> K_KK
+ # 3 K_KK -> Kp + KKi
+ # 4 5 Kp + KK <-> Kp_KK
+ # 6 Kp_KK -> Kpp + KKi
+ # 7 8 Kpp + P <-> Kpp_P
+ # 9 Kpp_P -> Kp + Pi
+ # 10 11 Kp + P <-> Kp_P
+ # 12 Kp_P -> K + Pi
+ # 13 KKi -> KK
+ # 14 Pi -> P
+
+
+ sigma = radius * 2
+ kD = k_D(D_react * 2, sigma)
+
+ N_K = C2N(200e-9, V)
+ N_KK = C2N(50e-9, V)
+ N_P = C2N(50e-9, V)
+
+ #print N_KK
+ #s.throw_in_particles(K, N_K, box1)
+ #s.throw_in_particles(KK, N_KK, box1)
+ #s.throw_in_particles(P, N_P, box1)
+
+ s.place_particle(Kp, [0,0,0])
+ s.place_particle(KKi, [0,0,sigma+1e-20])
+
+ s.throw_in_particles(KK, N_KK-1, box1)
+
+ # print kD
+ # print k_a(per_M_to_m3(0.02e9), kD)
+ # print k_a(per_M_to_m3(0.032e9), kD)
+ # sys.exit(0)
+
+# end_time = 0
+# while 1:
+# s.step()
+# next_time = s.scheduler.getTopTime()
+# if next_time > end_time:
+# s.stop(end_time)
+# break
+
+# s.reset()
+# k1 = k_a(per_M_to_m3(0.02e9), kD)
+# k2 = k_d(1.0, per_M_to_m3(0.02e9), kD)
+# k3 = 1.5
+ k4 = k_a(per_M_to_m3(0.032e9), kD)
+# k5 = k_d(1.0, per_M_to_m3(0.032e9), kD)
+# k6 = 15.0
+
+# r1 = create_binding_reaction_rule(K, KK, K_KK, k1)
+# m.network_rules.add_reaction_rule(r1)
+# r2 = create_unbinding_reaction_rule(K_KK, K, KK, k2)
+# m.network_rules.add_reaction_rule(r2)
+# r3 = create_unbinding_reaction_rule(K_KK, Kp, KKi, k3)
+# m.network_rules.add_reaction_rule(r3)
+
+ r4 = create_binding_reaction_rule(Kp, KK, Kp_KK, k4)
+ m.network_rules.add_reaction_rule(r4)
+# r5 = create_unbinding_reaction_rule(Kp_KK, Kp, KK, k5)
+# m.network_rules.add_reaction_rule(r5)
+# r6 = create_unbinding_reaction_rule(Kp_KK, Kpp, KKi, k6)
+# m.network_rules.add_reaction_rule(r6)
+
+
+# r7 = create_binding_reaction_rule(Kpp, P, Kpp_P, k1)
+# m.network_rules.add_reaction_rule(r7)
+# r8 = create_unbinding_reaction_rule(Kpp_P, Kpp, P, k2)
+# m.network_rules.add_reaction_rule(r8)
+# r9 = create_unbinding_reaction_rule(Kpp_P, Kp, Pi, k3)
+# m.network_rules.add_reaction_rule(r9)
+
+# r10 = create_binding_reaction_rule(Kp, P, Kp_P, k4)
+# m.network_rules.add_reaction_rule(r10)
+# r11 = create_unbinding_reaction_rule(Kp_P, Kp, P, k5)
+# m.network_rules.add_reaction_rule(r11)
+# r12 = create_unbinding_reaction_rule(Kp_P, K, Pi, k6)
+# m.network_rules.add_reaction_rule(r12)
+
+
+ r13 = create_unimolecular_reaction_rule(KKi, KK, ki)
+ m.network_rules.add_reaction_rule(r13)
+# r14 = create_unimolecular_reaction_rule(Pi, P, ki)
+# m.network_rules.add_reaction_rule(r14)
+
+ s.set_model(m)
+
+
+# logname = model + '_' + '_'.join(sys.argv[1:6]) + '_' +\
+# os.environ['SGE_TASK_ID']
+
+# outfile = open('data/' + logname + '_t.dat', 'w')
+
+
+ while s.t < T:
+ s.step()
+
+ if s.last_reaction:
+ r = s.last_reaction
+ for p in r.products:
+# if p.species == Kpp:
+ if p.species == Kp_KK:
+ if s.t <= T:
+ return s.t
+ else:
+ return -1
+ if s.get_next_time() > T:
+ return -1
+
+ return -1
+
+
+if __name__ == '__main__':
+
+ import os
+
+ outfilename = 'data/model3-smallt_' + '_'.join(sys.argv[1:3]) +\
+ '_' + os.environ['SGE_TASK_ID']
+
+ def runmain():
+ run(outfilename, float(sys.argv[1]),
+ float(sys.argv[2]), float(sys.argv[3]), int(sys.argv[4]))
+
+
+
+ runmain()
+# try:
+# import cProfile as profile
+# except:
+# import profile
+# profile.run('runmain()', 'fooprof')
+
+
+# import pstats
+# pstats.Stats('fooprof').sort_stats('time').print_stats(40)
+
diff --git a/ecell4/egfrd/legacy/samples/mapk/second_assoc_ratio.py b/ecell4/egfrd/legacy/samples/mapk/second_assoc_ratio.py
new file mode 100644
index 0000000..758c4c8
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/second_assoc_ratio.py
@@ -0,0 +1,278 @@
+#!/usr/bin/env python
+
+import sys
+
+class Particle:
+ def __init__( self, particle ):
+ self.speciesName = particle[0]
+ self.id = particle[1]
+
+ def __eq__( self, other ):
+ return self.speciesName == other.speciesName and self.id == other.id
+
+
+
+ def __str__( self ):
+ return "( '%s', %d )" % ( self.speciesName, self.id )
+
+ def __repr__( self ):
+ return self.__str__()
+
+ def __hash__( self ):
+ return hash( self.speciesName ) ^ self.id
+
+
+class ReactionEvent:
+ def __init__( self, t, reactants, products ):
+ self.t = t
+ self.reactants = reactants
+ self.products = products
+
+
+def load_reactions( file ):
+
+ reactions = []
+
+ for line in file.readlines():
+ line = eval( line )
+ t = line[0]
+ reactants = [ Particle( p ) for p in line[1] ]
+ products = [ Particle( p ) for p in line[2] ]
+ reactions.append( ReactionEvent( t, reactants, products ) )
+
+ return reactions
+
+def rebind_ratio( reactions ):
+
+ KpCreated = {}
+ KpKK = {}
+
+ KpCurrentForm = {}
+ CurrentFormKp = {}
+ KKCurrentForm = {}
+ CurrentFormKK = {}
+
+ counter = 0
+ lasttime = 0
+
+ for r in reactions:
+ #print r.t, r.reactants, r.products
+
+ lasttime = r.t
+
+ # unbinding
+ if len( r.reactants ) == 1 and len( r.products ) == 2:
+
+ # K_KK -> Kp + KKi
+ # Kp first site phosphorylated.
+ if r.reactants[0].speciesName == 'K_KK':
+
+ for i, p in enumerate( r.products ):
+ if p.speciesName == 'Kp':
+ Kp = p
+ KKi = r.products[ 1 - i ]
+ if KKi.speciesName == 'KKi':
+
+ #print r.reactants[0], '->', Kp, KKi
+ KpCreated[Kp] = r.t
+
+ KpKK[Kp] = KKi
+
+ KpCurrentForm[Kp] = Kp
+ CurrentFormKp[Kp] = Kp
+ KKCurrentForm[KKi] = KKi
+ CurrentFormKK[KKi] = KKi
+
+ elif r.reactants[0].speciesName == 'Kp_KK':
+
+ Kp_KK = r.reactants[0]
+
+ # Kp_KK -> Kp + KK
+ for i, p in enumerate( r.products ):
+ if p.speciesName == 'Kp':
+ Kp = p
+ KK = r.products[ 1 - i ]
+ if KK.speciesName == 'KK':
+
+ #print r.reactants[0], '->', Kp, KK
+
+ if CurrentFormKp.has_key(Kp_KK):
+ originalKp = CurrentFormKp[Kp_KK]
+ KpCurrentForm[originalKp] = Kp
+ del CurrentFormKp[Kp_KK]
+ CurrentFormKp[Kp] = originalKp
+
+ if CurrentFormKK.has_key(Kp_KK):
+ originalKK = CurrentFormKK[Kp_KK]
+ KKCurrentForm[originalKK] = KK
+ del CurrentFormKK[Kp_KK]
+ CurrentFormKK[KK] = originalKK
+
+ break
+
+
+ # Kp_KK -> Kpp + KKi
+ for i, p in enumerate( r.products ):
+ if p.speciesName == 'Kpp':
+ Kpp = p
+ KKi = r.products[ 1 - i ]
+ if KKi.speciesName == 'KKi':
+
+ #print r.reactants[0], '->', Kpp, KKi
+
+ originalKp=None
+ originalKK=None
+
+ if CurrentFormKK.has_key(Kp_KK):
+ originalKK = CurrentFormKK[Kp_KK]
+ del KKCurrentForm[originalKK]
+ del CurrentFormKK[Kp_KK]
+
+ if CurrentFormKp.has_key( Kp_KK ):
+
+ originalKp = CurrentFormKp[Kp_KK]
+ del KpCurrentForm[originalKp]
+ del CurrentFormKp[Kp_KK]
+
+ #print originalKp
+
+ # second *phosphorylation*
+
+ # t_create = KpCreated[originalKp]
+ # t = r.t - t_create
+ # partner = KpKK[originalKp]
+
+
+ # if originalKK is not None and originalKK == partner:
+ # outfile.write( '%.18g\trebinding\n' % t )
+ # else:
+ # outfile.write( '%.18g\tdiffusion\n' % t )
+ # del KpCreated[originalKp]
+ # del KpKK[originalKp]
+
+
+
+
+
+ # binding
+ elif len( r.reactants ) == 2 and len( r.products ) == 1:
+
+
+ # Kp + KK -> Kp_KK
+ for i, p in enumerate( r.reactants ):
+ if p.speciesName == 'Kp':
+ Kp = p
+ KK = r.reactants[ 1 - i ]
+ if KK.speciesName == 'KK':
+ Kp_KK = r.products[0]
+ assert Kp_KK.speciesName == 'Kp_KK'
+
+ #print Kp, KK, '->', Kp_KK
+
+ if not CurrentFormKp.has_key( Kp ):
+ break
+
+ originalKp = CurrentFormKp[Kp]
+ KpCurrentForm[originalKp] = Kp_KK
+ del CurrentFormKp[Kp]
+ CurrentFormKp[Kp_KK] = originalKp
+
+ if CurrentFormKK.has_key(KK):
+ originalKK = CurrentFormKK[KK]
+ KKCurrentForm[originalKK] = Kp_KK
+ del CurrentFormKK[KK]
+ CurrentFormKK[Kp_KK] = originalKK
+ else:
+ originalKK = None
+
+ if KpCreated.has_key(originalKp):
+ # pass
+
+ # second *association*
+ t_create = KpCreated[originalKp]
+ t = r.t - t_create
+ partner = KpKK[originalKp]
+ if originalKK is not None and originalKK == partner:
+ outfile.write( '%.18g\trebinding\n' % t )
+ else:
+ outfile.write( '%.18g\tdiffusion\n' % t )
+ counter += 1
+ del KpCreated[originalKp]
+ del KpKK[originalKp]
+
+
+ break
+
+
+# # Kp + P -> Kp_P
+# for i, p in enumerate( r.reactants ):
+# if p.speciesName == 'Kp':
+# Kp = p
+# P = r.reactants[ 1 - i ]
+# if P.speciesName == 'P':
+# Kp_P = r.products[0]
+# assert Kp_P.speciesName == 'Kp_P'
+
+# if not CurrentFormKp.has_key( Kp ):
+# break
+
+# originalKp = CurrentFormKp[Kp]
+# KpCurrentForm[originalKp] = Kp_P
+# del CurrentFormKp[Kp]
+# CurrentFormKp[Kp_P] = originalKp
+
+# if KpCreated.has_key(originalKp):
+# # pass
+# del KpCreated[originalKp]
+# del KpKK[originalKp]
+
+
+# break
+
+
+
+ # monomolecular
+ elif len( r.reactants ) == 1 and len( r.products ) == 1:
+ if CurrentFormKK.has_key( r.reactants[0] ):
+ originalform = CurrentFormKK[ r.reactants[0] ]
+ KKCurrentForm[ originalform ] = r.products[0]
+ del CurrentFormKK[ r.reactants[0] ]
+ CurrentFormKK[ r.products[0] ] = originalform
+ #print 'transition', r.reactants[0], '->', r.products[0]
+
+ import numpy
+ nonreactions = [ t for t in KpCreated.values() if lasttime-t > 10]
+ print 'reactions: ', counter, 'non-reactions', len(nonreactions)
+ for t in nonreactions:
+ #if t > 60:
+ outfile.write( '%.18g\tno-reaction\n' % numpy.inf )
+
+
+
+
+
+if __name__ == '__main__':
+
+ import sys
+ import os
+ import glob
+
+ for pattern in sys.argv[1:]:
+
+ globpattern = pattern.replace('ALL','*')
+
+ l = os.path.basename( os.path.splitext( pattern )[0] )
+
+ outfilename = l + '.rebind'
+ outfile = open( outfilename, 'w' )
+ print >> sys.stderr, 'pattern ', l, '\noutfile', outfilename
+
+ filelist = glob.glob( globpattern )
+
+
+ for file in filelist:
+ reactions = load_reactions( open( file ) )
+ print >> sys.stderr, 'num reactions: ', len( reactions )
+ rebind_ratio( reactions )
+
+ outfile.close()
diff --git a/ecell4/egfrd/legacy/samples/mapk/second_phos_ratio.py b/ecell4/egfrd/legacy/samples/mapk/second_phos_ratio.py
new file mode 100644
index 0000000..d660158
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/mapk/second_phos_ratio.py
@@ -0,0 +1,281 @@
+#!/usr/bin/env python
+
+import sys
+
+class Particle:
+ def __init__( self, particle ):
+ self.speciesName = particle[0]
+ self.id = particle[1]
+
+ def __eq__( self, other ):
+ return self.speciesName == other.speciesName and self.id == other.id
+
+
+
+ def __str__( self ):
+ return "( '%s', %d )" % ( self.speciesName, self.id )
+
+ def __repr__( self ):
+ return self.__str__()
+
+ def __hash__( self ):
+ return hash( self.speciesName ) ^ self.id
+
+
+class ReactionEvent:
+ def __init__( self, t, reactants, products ):
+ self.t = t
+ self.reactants = reactants
+ self.products = products
+
+
+def load_reactions( file ):
+
+ reactions = []
+
+ for line in file.readlines():
+ line = eval( line )
+ t = line[0]
+ reactants = [ Particle( p ) for p in line[1] ]
+ products = [ Particle( p ) for p in line[2] ]
+ reactions.append( ReactionEvent( t, reactants, products ) )
+
+ return reactions
+
+def rebind_ratio( reactions ):
+
+ KpCreated = {}
+ KpKK = {}
+
+ KpCurrentForm = {}
+ CurrentFormKp = {}
+ KKCurrentForm = {}
+ CurrentFormKK = {}
+
+ counter = 0
+ lasttime = 0
+
+ for r in reactions:
+ #print r.t, r.reactants, r.products
+
+ lasttime = r.t
+
+ # unbinding
+ if len( r.reactants ) == 1 and len( r.products ) == 2:
+
+ # K_KK -> Kp + KKi
+ # Kp first site phosphorylated.
+ if r.reactants[0].speciesName == 'K_KK':
+
+ for i, p in enumerate( r.products ):
+ if p.speciesName == 'Kp':
+ Kp = p
+ KKi = r.products[ 1 - i ]
+ if KKi.speciesName == 'KKi':
+
+ #print r.reactants[0], '->', Kp, KKi
+ KpCreated[Kp] = r.t
+
+ KpKK[Kp] = KKi
+
+ KpCurrentForm[Kp] = Kp
+ CurrentFormKp[Kp] = Kp
+ KKCurrentForm[KKi] = KKi
+ CurrentFormKK[KKi] = KKi
+
+ elif r.reactants[0].speciesName == 'Kp_KK':
+
+ Kp_KK = r.reactants[0]
+
+ # Kp_KK -> Kp + KK
+ for i, p in enumerate( r.products ):
+ if p.speciesName == 'Kp':
+ Kp = p
+ KK = r.products[ 1 - i ]
+ if KK.speciesName == 'KK':
+
+ #print r.reactants[0], '->', Kp, KK
+
+ if CurrentFormKp.has_key(Kp_KK):
+ originalKp = CurrentFormKp[Kp_KK]
+ KpCurrentForm[originalKp] = Kp
+ del CurrentFormKp[Kp_KK]
+ CurrentFormKp[Kp] = originalKp
+
+ if CurrentFormKK.has_key(Kp_KK):
+ originalKK = CurrentFormKK[Kp_KK]
+ KKCurrentForm[originalKK] = KK
+ del CurrentFormKK[Kp_KK]
+ CurrentFormKK[KK] = originalKK
+
+ break
+
+
+ # Kp_KK -> Kpp + KKi
+ for i, p in enumerate( r.products ):
+ if p.speciesName == 'Kpp':
+ Kpp = p
+ KKi = r.products[ 1 - i ]
+ if KKi.speciesName == 'KKi':
+
+ #print r.reactants[0], '->', Kpp, KKi
+
+ originalKp=None
+ originalKK=None
+
+ if CurrentFormKK.has_key(Kp_KK):
+ originalKK = CurrentFormKK[Kp_KK]
+ del KKCurrentForm[originalKK]
+ del CurrentFormKK[Kp_KK]
+
+ if CurrentFormKp.has_key( Kp_KK ):
+
+ originalKp = CurrentFormKp[Kp_KK]
+ del KpCurrentForm[originalKp]
+ del CurrentFormKp[Kp_KK]
+
+ #print originalKp
+
+ # second *phosphorylation*
+
+ t_create = KpCreated[originalKp]
+ t = r.t - t_create
+ partner = KpKK[originalKp]
+ counter += 1
+
+ if originalKK is not None and originalKK == partner:
+ outfile.write( '%.18g\trebinding\n' % t )
+ else:
+ outfile.write( '%.18g\tdiffusion\n' % t )
+
+ del KpCreated[originalKp]
+ del KpKK[originalKp]
+
+
+
+
+ # binding
+ elif len( r.reactants ) == 2 and len( r.products ) == 1:
+
+
+ # Kp + KK -> Kp_KK
+ for i, p in enumerate( r.reactants ):
+ if p.speciesName == 'Kp':
+ Kp = p
+ KK = r.reactants[ 1 - i ]
+ if KK.speciesName == 'KK':
+ Kp_KK = r.products[0]
+ assert Kp_KK.speciesName == 'Kp_KK'
+
+ #print Kp, KK, '->', Kp_KK
+
+ if not CurrentFormKp.has_key( Kp ):
+ break
+
+ originalKp = CurrentFormKp[Kp]
+ KpCurrentForm[originalKp] = Kp_KK
+ del CurrentFormKp[Kp]
+ CurrentFormKp[Kp_KK] = originalKp
+
+ if CurrentFormKK.has_key(KK):
+ originalKK = CurrentFormKK[KK]
+ KKCurrentForm[originalKK] = Kp_KK
+ del CurrentFormKK[KK]
+ CurrentFormKK[Kp_KK] = originalKK
+ else:
+ originalKK = None
+
+ if KpCreated.has_key(originalKp):
+ pass
+
+ # # second *association*
+ # t_create = KpCreated[originalKp]
+ # t = r.t - t_create
+ # partner = KpKK[originalKp]
+ # if originalKK is not None and originalKK == partner:
+ # outfile.write( '%.18g\trebinding\n' % t )
+ # else:
+ # outfile.write( '%.18g\tdiffusion\n' % t )
+ # counter += 1
+ # del KpCreated[originalKp]
+ # del KpKK[originalKp]
+
+
+ break
+
+
+ # Kp + P -> Kp_P
+ for i, p in enumerate( r.reactants ):
+ if p.speciesName == 'Kp':
+ Kp = p
+ P = r.reactants[ 1 - i ]
+ if P.speciesName == 'P':
+ Kp_P = r.products[0]
+ assert Kp_P.speciesName == 'Kp_P'
+
+ if not CurrentFormKp.has_key( Kp ):
+ break
+
+ originalKp = CurrentFormKp[Kp]
+ KpCurrentForm[originalKp] = Kp_P
+ del CurrentFormKp[Kp]
+ CurrentFormKp[Kp_P] = originalKp
+
+ if KpCreated.has_key(originalKp):
+# pass
+ del KpCreated[originalKp]
+ del KpKK[originalKp]
+
+
+ break
+
+
+
+ # monomolecular
+ elif len( r.reactants ) == 1 and len( r.products ) == 1:
+ if CurrentFormKK.has_key( r.reactants[0] ):
+ originalform = CurrentFormKK[ r.reactants[0] ]
+ KKCurrentForm[ originalform ] = r.products[0]
+ del CurrentFormKK[ r.reactants[0] ]
+ CurrentFormKK[ r.products[0] ] = originalform
+ #print 'transition', r.reactants[0], '->', r.products[0]
+
+ #
+ # *second association* needs the following
+ #
+ import numpy
+ nonreactions = [ t for t in KpCreated.values() if lasttime-t > 10]
+ print 'reactions: ', counter, 'non-reactions', len(nonreactions)
+ # for t in nonreactions:
+ # #if t > 60:
+ # outfile.write( '%.18g\tno-reaction\n' % numpy.inf )
+
+
+
+
+
+if __name__ == '__main__':
+
+ import sys
+ import os
+ import glob
+
+ for pattern in sys.argv[1:]:
+
+ globpattern = pattern.replace('ALL','*')
+
+ l = os.path.basename( os.path.splitext( pattern )[0] )
+
+ outfilename = l + '.rebind'
+ outfile = open( outfilename, 'w' )
+ print >> sys.stderr, 'pattern ', l, '\noutfile', outfilename
+
+ filelist = glob.glob( globpattern )
+
+
+ for file in filelist:
+ reactions = load_reactions( open( file ) )
+ print >> sys.stderr, 'num reactions: ', len( reactions )
+ rebind_ratio( reactions )
+
+ outfile.close()
diff --git a/ecell4/egfrd/legacy/samples/pushpull/fractionS.py b/ecell4/egfrd/legacy/samples/pushpull/fractionS.py
new file mode 100644
index 0000000..6a1ccb3
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/pushpull/fractionS.py
@@ -0,0 +1,21 @@
+import math
+
+
+def fraction_Sp(E1, E2, K):
+
+ if E1 == E2:
+ return 0.5
+
+ num = E1 - E2 - (E1 + E2) * K + \
+ math.sqrt((E1 - E2) ** 2 + 2 * K * (E1 - E2) ** 2 + \
+ ((E1 + E2) * K) ** 2)
+ den = 2 * (E1 - E2)
+
+ return num / den
+
+def fraction_S(E1, E2, K):
+
+ return 1.0 - fraction_Sp(E1, E2, K)
+
+
+
diff --git a/ecell4/egfrd/legacy/samples/pushpull/plot.py b/ecell4/egfrd/legacy/samples/pushpull/plot.py
new file mode 100644
index 0000000..cf9c694
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/pushpull/plot.py
@@ -0,0 +1,167 @@
+#!/usr/bin/env python
+
+
+import sys
+import string
+import fnmatch
+
+import numpy
+import scipy.io
+from matplotlib.pylab import *
+
+
+
+from fractionS import *
+
+N_A = 6.0221367e23
+
+E2 = 5
+
+def plot_theory(K):
+
+ N = 1000
+ minE1 = 0.1
+ maxE1 = 100.
+ e1array = numpy.mgrid[minE1:maxE1:(maxE1-minE1)/N]
+
+ farray = [fraction_Sp(E1, E2, K) for E1 in e1array]
+ farray = numpy.array(farray)
+ #print farray
+
+ semilogx(e1array/E2, farray, label='K = %f' % K)
+
+def file_mean(filename, skip):
+
+ f = open(filename)
+ f.seek(-1000, os.SEEK_END)
+ lines = f.readlines()
+
+ lastline = lines[-1]
+
+ lastlinedata = lastline.split()
+ if lastlinedata[0] < skip-1:
+ raise 'oops'
+ Sp = int(lastlinedata[5])
+ PSp = int(lastlinedata[6])
+ print Sp, PSp
+ y = float(Sp + PSp)
+ print lastlinedata
+ return y
+
+# def file_mean(filename, skip):
+# ycolumns = [2, ]
+# #ycolumns = [2,6]
+# #ycolumns = [3,5]
+# #ycolumns = [2,6,3,5]
+
+# data = loadtxt(filename)
+# x = data[:,0]
+# y = data[:,ycolumns[0]]
+
+# start = x.searchsorted(skip)
+# if len(x)<=start:
+# return None
+
+# x = x[start:]
+# y = y[start:]
+# #print x[-1]
+
+# xdiff = x[1:] - x[:-1]
+# yscaled = y[:-1] * xdiff
+# yscaledmean = yscaled.sum() / (x[-1] - x[0])
+# print yscaledmean, y.mean()
+# #return y.mean()
+# return yscaledmean
+
+
+
+import glob
+import os
+
+S_tot = 200.0
+
+E_tot = 20
+
+model = 'pushpull'
+Keq_str = '0.03'
+#Keq_str = '5'
+#koff_ratio_str = '0.1'
+koff_ratio_str = '0.5'
+#koff_ratio_str = '0.1'
+#koff_ratio_str = '0'
+V = '1e-16'
+T = '100'
+#mode = 'normal'
+#mode = 'localized'
+#mode = 'immobile'
+
+skip = float(T) *0.9
+
+dir = sys.argv[1]
+outdir = sys.argv[2]
+#pattern = sys.argv[2]
+#globpattern = pattern.replace('ALL','*') + '_*.dat'
+
+
+def plot(Keq_str, mode, V):
+
+ N_P=None
+ for N_K in range(20):
+ globpattern = '_'.join((model, Keq_str, koff_ratio_str, '200', str(N_K),
+ '*', '*', mode, '*')) + '_tc.dat'
+ print globpattern
+ filelist = glob.glob(dir + os.sep + globpattern)
+ if not filelist:
+ continue
+
+ N_P = E_tot - N_K
+
+ fnpattern = \
+ '_'.join((model, Keq_str, koff_ratio_str, '200', str(N_K),
+ str(N_P), V, mode, '*')) + '_tc.dat'
+
+ filelist2 = fnmatch.filter(filelist, dir + os.sep + fnpattern)
+ if not filelist2:
+ continue
+
+ data = []
+
+
+ for file in filelist2:
+ print file
+ res = file_mean(file, skip)
+ if res:
+ data.append(res)
+ data = numpy.array(data)
+ print data
+ data /= S_tot
+ mean = data.mean()
+ std_err = data.std()/math.sqrt(len(data))
+ print mean, std_err
+
+ errorbar(float(N_K)/N_P, mean, yerr=std_err, fmt='k+')
+
+ #if N_K != N_P:
+ errorbar(float(N_P)/N_K, 1.0 - mean, yerr=std_err, fmt='k+')
+
+ plot_theory(float(Keq_str))
+
+ xlim(0.02,50)
+ ylim(0,1.0)
+
+ figtitle = string.join((model, Keq_str, koff_ratio_str, 'ALL',
+ V, mode),
+ '_')
+ #title(figtitle)
+
+ #show()
+ savefig(outdir + '/' + figtitle + '.png', dpi=80)
+ cla()
+
+
+for Keq in ['0.03', '0.1', '0.3', '1', '3']:
+ for V in ['1e-16', '1e-15']:
+ for mode in ['localized', 'immobile', 'normal']:
+
+ plot(Keq, mode, V)
+
diff --git a/ecell4/egfrd/legacy/samples/pushpull/plot_tc.py b/ecell4/egfrd/legacy/samples/pushpull/plot_tc.py
new file mode 100644
index 0000000..fa0ceb3
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/pushpull/plot_tc.py
@@ -0,0 +1,77 @@
+#!/usr/bin/env python
+
+import sys
+
+import numpy
+import scipy.io
+
+import fractionS
+
+from matplotlib.pylab import *
+
+def load_header(filename):
+ file = open(filename)
+ header = []
+ for line in file.readlines():
+ if line[0:2] == '#@':
+ hline = line[2:].lstrip()
+ header.append(hline)
+
+ return header
+
+def add_columns(data, ycolumns):
+
+ y = numpy.array([data[:,col] for col in ycolumns])
+
+ y = y.sum(0)
+
+ return y
+
+def plot_theory(E1, E2, K, maxt):
+
+ frac = fractionS.fraction_Sp(E1, E2, K)
+ x = [0.0, maxt]
+ y = [frac,frac]
+
+ plot(x, y)
+
+
+def plot_file(filename):
+ ycolumns = [5, ]
+ #ycolumns = [2,6]
+ #ycolumns = [3,5]
+ #ycolumns = [2,6,3,5]
+
+ header = load_header(filename)
+ print header
+ for l in header:
+ exec(l)
+
+
+ data = loadtxt(filename)
+ x = data[:,0]
+ y = add_columns(data, ycolumns)
+
+ plot_theory(N_K, N_P, Keq, x[-1])
+ plot(x, y)# / S_tot)
+
+
+import glob
+import os
+
+pattern = sys.argv[1]
+globpattern = pattern.replace('ALL','*')
+
+figtitle = os.path.basename(os.path.splitext(pattern)[0])
+print title
+#print globpattern
+filelist = glob.glob(globpattern)
+#print filelist
+for filename in filelist:
+ plot_file(filename)
+
+title(figtitle)
+
+#savefig('figs/' + figtitle + '.png', dpi=80)
+
+show()
diff --git a/ecell4/egfrd/legacy/samples/pushpull/pushpull.em b/ecell4/egfrd/legacy/samples/pushpull/pushpull.em
new file mode 100644
index 0000000..566be8a
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/pushpull/pushpull.em
@@ -0,0 +1,137 @@
+@{MAIN_STEPPER='DE1'}
+@{MAIN_PROCESS='MassActionFluxProcess'}
+
+@#{MAIN_STEPPER='NR1'}
+@#{MAIN_PROCESS='GillespieProcess'}
+
+#Stepper DiscreteEventStepper( NR1 )
+#{
+#}
+
+Stepper ODEStepper( DE1 )
+{
+}
+
+@{
+VOL = 1e-16
+N_A = 6.02214e+23
+
+def C2N( conc ):
+ num = N_A * VOL * conc
+ print round( num )
+
+koff_ratio = .1
+
+Keq = 0.03
+
+kon = 0.03e9
+
+#{C2N( 249e-9 )};
+NS = 200
+S_conc = NS / N_A / VOL
+
+kcatkoff = Keq * S_conc * kon
+kcat = kcatkoff * (1-koff_ratio)
+koff = kcatkoff * koff_ratio
+
+NSp = 0
+NP = 10
+NK = 10
+}
+
+System System( / )
+{
+ StepperID @MAIN_STEPPER;
+
+ Variable Variable( SIZE )
+ {
+ Value @(VOL);
+ }
+
+
+ Variable Variable( S )
+ {
+ Value @(NS);
+ }
+
+ Variable Variable( P )
+ {
+ Value @(NP);
+ }
+
+ Variable Variable( K )
+ {
+ Value @(NK);
+ }
+
+ Variable Variable( KS )
+ {
+ Value 0;
+ }
+
+ Variable Variable( Sp )
+ {
+ Value @(NSp);
+ }
+
+ Variable Variable( PSp )
+ {
+ Value 0;
+ }
+
+ Process @(MAIN_PROCESS)( R1 )
+ {
+ VariableReferenceList [ _ :.:S -1 ]
+ [ _ :.:K -1 ]
+ [ _ :.:KS 1];
+ k @(kon);
+ }
+
+ Process @(MAIN_PROCESS)( R2 )
+ {
+ VariableReferenceList [ _ :.:KS -1 ]
+ [ _ :.:S 1 ]
+ [ _ :.:K 1 ];
+ k @(koff);
+ }
+
+ Process @(MAIN_PROCESS)( R3 )
+ {
+ VariableReferenceList [ _ :.:KS -1 ]
+ [ _ :.:Sp 1 ]
+ [ _ :.:K 1 ];
+ k @(kcat);
+ }
+
+
+ Process @(MAIN_PROCESS)( R4 )
+ {
+ VariableReferenceList [ _ :.:Sp -1 ]
+ [ _ :.:P -1 ]
+ [ _ :.:PSp 1 ];
+ k @(kon);
+ }
+
+ Process @(MAIN_PROCESS)( R5 )
+ {
+ VariableReferenceList [ _ :.:PSp -1 ]
+ [ _ :.:Sp 1 ]
+ [ _ :.:P 1 ];
+ k @(koff);
+ }
+
+ Process @(MAIN_PROCESS)( R6 )
+ {
+ VariableReferenceList [ _ :.:PSp -1 ]
+ [ _ :.:P 1 ]
+ [ _ :.:S 1 ];
+ k @(kcat);
+ }
+
+
+
+
+
+
+}
+
diff --git a/ecell4/egfrd/legacy/samples/pushpull/pushpull.py b/ecell4/egfrd/legacy/samples/pushpull/pushpull.py
new file mode 100644
index 0000000..1388541
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/pushpull/pushpull.py
@@ -0,0 +1,231 @@
+#!/usr/bin/env python
+
+from egfrd import *
+
+from logger import *
+import sys
+import os
+import dumper
+
+from fractionS import *
+
+
+# Args:
+# Keq
+# koff_ratio
+# N_K
+# N_P
+# V (liter)
+# mode: 'normal' 'immobile' 'localized' 'single' 'clustered'
+# T
+
+Keq_str = sys.argv[1]
+koff_ratio_str = sys.argv[2]
+N_S_total = int(sys.argv[3])
+N_K = int(sys.argv[4])
+N_P = int(sys.argv[5])
+V_str = sys.argv[6]
+mode = sys.argv[7]
+T_str = sys.argv[8]
+
+
+Keq = float(Keq_str)
+koff_ratio = float(koff_ratio_str)
+V = float(V_str)
+T = float(T_str)
+
+radius = 2.5e-9
+sigma = radius * 2
+D1 = 1.0e-12
+
+
+
+if mode == 'normal':
+ D2 = D1
+elif mode == 'immobile' or mode == 'localized' or mode == 'single':
+ D2 = 0
+else:
+ raise 'invalid mode'
+
+
+L = (V * 1e-3) ** (1.0 / 3.0)
+
+
+N = N_S_total * 1.1
+matrix_size = min(max(3, int((3 * N) ** (1.0/3.0))), 60)
+print 'matrix_size=', matrix_size
+
+w = World(L, matrix_size)
+s = EGFRDSimulator(w)
+
+#s.set_dt_factor(1e-5)
+print V, L
+
+print C2N(498e-9, V)
+
+
+
+box1 = CuboidalRegion([0,0,0],[L,L,L])
+plain1 = CuboidalRegion([0,0,0],[0,L,L])
+plain2 = CuboidalRegion([L/2,0,0],[L/2,L,L])
+# not supported yet
+#s.add_surface(box1)
+
+m = ParticleModel()
+
+S = m.new_species_type('S', D1, radius)
+P = m.new_species_type('P', D2, radius)
+K = m.new_species_type('K', D2, radius)
+KS = m.new_species_type('KS', D2, radius)
+Sp = m.new_species_type('Sp', D1, radius)
+PSp = m.new_species_type('PSp', D2, radius)
+
+#fracS = fraction_S(N_K, N_P, Keq)
+fracS = 1
+
+
+S_conc = N_S_total / V * 1e3 # in #/m^3
+
+N_S = N_S_total * fracS
+N_Sp = N_S_total - N_S
+
+Dtot = D1 + D2
+
+#Dtot_ref = 1e-12
+
+#ka = k_a(kon, k_D(Dtot, sigma))
+#ka = 9e9 / N_A / 1e3 # 1/M s -> m^3/s
+
+kD = k_D(Dtot, sigma)
+#ka = k_a(kon, kD)
+#kon = per_M_to_m3(0.03e9)
+
+ka = 7e-19
+kon = k_on(ka, kD)
+
+
+Keq_S = Keq * S_conc
+
+kcatkoff = Keq_S * kon
+koff = kcatkoff * koff_ratio
+kcat = kcatkoff - koff
+
+if mode == 'single':
+ kcat1 = kcat * float(N_K) / float(N_P)
+ koff1 = kcatkoff - kcat1
+ kcat2 = kcat
+ koff2 = koff
+else:
+ kcat1 = kcat2 = kcat
+ koff1 = koff2 = koff
+
+
+kd1 = k_d(koff, kon, kD)
+kd2 = k_d(koff2, kon, kD)
+
+print 'ka', ka, 'kD', kD, 'kd1', kd1, 'kd2', kd2
+print 'kon m^3/s', kon, '1/M s', kon * N_A * 1e3
+print 'koff1 1/s ', koff1
+print 'kcat1 1/s ', kcat1
+print 'koff2 1/s ', koff2
+print 'kcat2 1/s ', kcat2
+
+assert koff2 >= 0
+
+
+
+print 'S mol conc', S_conc / 1e3 / N_A
+
+print (koff1 + kcat1)/kon/S_conc
+
+
+#sys.exit(0)
+
+s.set_model(m)
+
+if mode == 'normal' or mode == 'immobile':
+ s.throw_in_particles(K, N_K, box1)
+ s.throw_in_particles(P, N_P, box1)
+elif mode == 'localized':
+ s.throw_in_particles(K, N_K, plain1)
+ s.throw_in_particles(P, N_P, plain2)
+elif mode == 'single':
+ x = L/2
+ yz = L/2
+ tl = L/4
+ s.place_particle(K, [tl, tl, tl])
+ s.place_particle(K, [tl, tl, yz+tl])
+ s.place_particle(K, [tl, yz+tl, tl])
+ s.place_particle(K, [tl, yz+tl, yz+tl])
+ s.place_particle(P, [x+tl, tl, tl])
+ s.place_particle(P, [x+tl, tl, yz+tl])
+ s.place_particle(P, [x+tl, yz+tl, tl])
+ s.place_particle(P, [x+tl, yz+tl, yz+tl])
+else:
+ assert False
+
+
+
+s.throw_in_particles(Sp, N_Sp, box1)
+s.throw_in_particles(S, N_S, box1)
+
+# Stir before actually start the sim.
+
+stir_time = 1e-7
+while 1:
+ s.step()
+ next_time = s.scheduler.getTopTime()
+ if next_time > stir_time:
+ s.stop(stir_time)
+ break
+
+s.reset()
+
+# 1 2 S + K <-> KS
+# 3 KS -> K + Sp
+# 4 5 Sp + P <-> PSp
+# 6 PSp -> P + S
+
+
+r1 = create_binding_reaction_rule(S, K, KS, ka)
+m.network_rules.add_reaction_rule(r1)
+r2 = create_unbinding_reaction_rule(KS, S, K, kd1)
+m.network_rules.add_reaction_rule(r2)
+r3 = create_unbinding_reaction_rule(KS, K, Sp, kcat1)
+m.network_rules.add_reaction_rule(r3)
+r4 = create_binding_reaction_rule(Sp, P, PSp, ka)
+m.network_rules.add_reaction_rule(r4)
+r5 = create_unbinding_reaction_rule(PSp, Sp, P, kd2)
+m.network_rules.add_reaction_rule(r5)
+r6 = create_unbinding_reaction_rule(PSp, P, S, kcat2)
+m.network_rules.add_reaction_rule(r6)
+
+
+s.set_model(m)
+
+
+model = 'pushpull'
+
+# 'pushpull-Keq-koff_ratio-N_K-N_P-V-mode.dat'
+l = Logger(logname = model + '_' + '_'.join(sys.argv[1:8]) + '_' +\
+ os.environ['SGE_TASK_ID'],
+ comment = '@ model=\'%s\'; Keq=%s; koff_ratio=%s\n' %
+ (model, Keq_str, koff_ratio_str) +
+ '#@ V=%s; N_K=%s; N_P=%s; mode=\'%s\'; T=%s\n' %
+ (V_str, N_K, N_P, mode, T_str) +
+ '#@ kon=%g; koff1=%g; koff2=%g; N_S_total=%s\n' %
+ (kon, koff1, koff2, N_S_total) +
+ '#@ kcat1=%g; kcat2=%g\n' %
+ (kcat1, kcat2) +
+ '#@ ka=%g; kd1=%g; kd2=%g\n' %
+ (ka, kd1, kd2))
+
+interrupter = FixedIntervalInterrupter(s, 1e-7, l)
+
+l.start(s)
+while s.t < T:
+ interrupter.step()
+
+ if s.last_reaction:
+ #log.info(dumper.dump_particles(s))
+ l.log(s, s.t)
diff --git a/ecell4/egfrd/legacy/samples/rebind/data/.empty-dir b/ecell4/egfrd/legacy/samples/rebind/data/.empty-dir
new file mode 100644
index 0000000..e69de29
diff --git a/ecell4/egfrd/legacy/samples/rebind/plot.py b/ecell4/egfrd/legacy/samples/rebind/plot.py
new file mode 100644
index 0000000..d7bc4c8
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/rebind/plot.py
@@ -0,0 +1,159 @@
+#!/usr/bin/env/python
+
+# varying kf
+# python plot.py 05/data/rebind_1_0.1_ALL_t.dat 05/data/rebind_1_1_ALL_t.dat 05/data/rebind_1_10_ALL_t.dat
+
+# 0.01 didn't run correctly?
+# 05/data/rebind_1_0.01_ALL_t.dat
+
+
+# varying D
+# python plot.py 07/data/rebind_0.1_10_0_ALL_t.dat 07/data/rebind_1_10_0_ALL_t.dat 07/data/rebind_10_10_0_ALL_t.dat
+
+
+import sys
+
+import numpy
+import scipy.io
+from matplotlib.pylab import *
+
+#import _gfrd
+
+
+N_A = 6.0221367e23
+
+N = 1000
+
+sigma = 5e-9
+
+#r0 = sigma
+D_tot = 2e-12
+#kf = 10 * sigma * D
+
+tau = sigma*sigma / D_tot
+rmin = sigma
+
+def load_data(filename):
+ infile = open(filename)
+ data = array([float(x) for x in infile.read().split()], numpy.float)
+ infile.close()
+ return data
+
+
+def plot_hist(data, xmin, xmax, N):
+
+ # xmin = data.min()
+ #xmax = data.max()
+
+ n, bins = numpy.histogram(numpy.log10(data), bins=N, new=True)
+ n = n.astype(numpy.floating)
+ n /= float(len(data))
+ x = (10**bins[1:]+ 10**bins[:-1])/2
+ dx = (10**bins[1:]- 10**bins[:-1])
+ y = n / dx#+1e-10
+ print x.shape, y.shape
+ print x, y
+
+ print y.sum()
+ loglog(x, y)#, label=filename )
+
+
+if __name__ == '__main__':
+
+ import os
+ import glob
+
+ xmin = 1e-9
+ xmax = 1e3
+
+ axes([.16,.16,.8,.8])
+
+
+ for i in range(len(sys.argv[1:])/1):
+ simpattern = sys.argv[i+1]
+
+ globpattern = simpattern.replace('ALL','*')
+ l = os.path.basename(os.path.splitext(simpattern)[0])
+ print 'pattern ', l
+ filelist = glob.glob(globpattern)
+ print filelist
+ data = []
+ for file in filelist:
+ data.append(load_data(file))
+ data = numpy.concatenate(data)
+ print len(data)
+
+ plot_hist(data, xmin, xmax, N)
+
+
+ ka = 0.092e-18
+ #1/(1/
+
+
+ kon = 5.313e-20
+ C_B = 16.6e-9
+
+ x = 10 ** numpy.mgrid[-12:3:.1]
+ y = kon * C_B * 1000* N_A * numpy.exp(- kon * C_B * 1000 * N_A * x)
+ loglog(x, y, 'k--')
+
+ print x, y
+
+
+ x = 10 ** numpy.mgrid[-12:-5.7:.1]
+ y = 1e3 * x ** (- 1./2.)
+ loglog(x, y, 'k:', lw=2)
+
+
+ x = 10 ** numpy.mgrid[-5.5:-2:.1]
+ y = 1e-3 * x ** (- 3./2.)
+ loglog(x, y, 'k:', lw=2)
+
+
+ text(7e-9,3e7,r'$p \propto \ t^{-1/2}$', size=20)
+ text(2e-5,4e4,r'$p \propto \ t^{-3/2}$', size=20)
+
+
+ xticks([1e-15,1e-12, 1e-9, 1e-6, 1e-3, 1, 1e3],
+ [r'${\rm 1 fs}$',
+ r'${\rm 1 ps}$',
+ r'${\rm 1 ns}$',
+ r'${\rm 1 \mu s}$',
+ r'${\rm 1 ms}$',
+ r'${\rm 1 s}$',
+ r'${\rm 1000 s}$'],
+ size=24)
+ #yticks([],[])
+
+ yticks([1e-3,1e0, 1e3, 1e6, 1e9], size=20)
+
+ leg = legend(
+# # D
+ (r'$D=0.1 \ \ {\rm \mu m^2 / s}$',
+ r'$D=1.0 \ \ {\rm \mu m^2 / s}$',
+ r'$D=10 \ \ {\rm \mu m^2 / s}$',
+ r'Well-stirred ($D=1$)',
+ # kf
+# (r'$k_a = 0.017 \ {\rm nM^{-1} s^{-1}}$',
+# r'$k_a = 0.17 \ \ {\rm nM^{-1} s^{-1}}$',
+# r'$k_a = 1.7 \ \ \ \ {\rm nM^{-1} s^{-1}}$',
+ ),
+ loc=1,
+ shadow=True,
+ pad=0.05
+ )
+ for l in leg.get_lines():
+ l.set_linewidth(1.5) # the legend line width
+
+
+ #xlabel(r'$r / \sigma$', fontsize='large')
+ xlabel(r'$t$', size=24)
+ ylabel(r'$p(t)$', size=24)
+ #xlim(2e-12, 1e2)
+ xlim(5e-10, 1e2)
+ ylim(1.1e-6, 2e9)
+ #solline.set_label(r'theory')
+ #legend(handlelen=0.02, pad=0.02,handletextsep=0.01, labelsep=0.001)
+ #grid()
+ show()
+
diff --git a/ecell4/egfrd/legacy/samples/rebind/run.py b/ecell4/egfrd/legacy/samples/rebind/run.py
new file mode 100644
index 0000000..3d1a56b
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/rebind/run.py
@@ -0,0 +1,195 @@
+#!/usr/bin/env python
+
+'''
+# D_factor N_B N_X N
+
+LOGLEVEL=ERROR PYTHONPATH=../.. python -O run.py 1 1 100 10
+
+'''
+
+
+from egfrd import *
+from bd import *
+import sys
+
+def run(outfilename, D_factor, N_B, N_X, N):
+ print outfilename
+
+ radius = 2.5e-9
+ sigma = radius * 2
+ D = 1e-12
+ D_tot = D * 2
+
+ tau = sigma**2 / D_tot
+ print 'tau=', tau
+
+ #T_list = [tau * .1, INF]
+ T_list = [INF]
+
+ outfile_t = open(outfilename + '_t.dat', 'w')
+ #outfile_r_list = [open(outfilename + '_r_-1.dat', 'w')]
+
+ for i in range(N):
+ r_list, t_list = singlerun(T_list, D_factor, N_B, N_X)
+
+ for t in t_list:
+ outfile_t.write('%g\n' % t)
+
+ #for j in range(len(r_list)):
+ # outfile_r_list[j].write('%g\n' % r_list[j])
+
+ print i, r_list, t_list
+ outfile_t.flush()
+ #[outfile_r.flush() for outfile_r in outfile_r_list]
+
+
+ outfile_t.close()
+ #[outfile_r.close() for outfile_r in outfile_r_list]
+
+
+
+def singlerun(T_list, D_factor, N_B, N_X):
+
+ # 100 nM = 100e-9 * N_A * 100 / m^3 = 6.02e19
+ # V = 1 / 6.02e19 = 1.66e-20 m^3
+ # L = 2.55e-7 m
+
+ # 1 uM = 6.02e20 / m^3
+ # V = 1.66e-21 m^3
+ # L = 1.18e-7
+
+ DX_factor = 1
+
+ V = 1e-18 # m^3
+ L = V ** (1.0/3.0)
+
+ matrix_size = min(max(3, int((9 * (N_X+N_B)) ** (1.0/3.0))), 60)
+ print 'matrix_size=', matrix_size
+
+ w = World(L, matrix_size)
+ s = EGFRDSimulator(w)
+ #s.set_user_max_shell_size(1e-6)
+ #s = BDSimulator(w)
+
+ box1 = CuboidalRegion([0,0,0],[L,L,L])
+
+ radius = 2.5e-9
+ sigma = radius * 2
+ r0 = sigma
+ D = 1e-12 * D_factor
+ D_tot = D * 2
+
+ tau = sigma**2 / D_tot
+
+ #kf = 1000 * sigma * D_tot
+
+ # 1e9 [1 / (M s)] -> 1e9 / 1000 / N_A [m^3 / s]
+ kf = 0.092e-18
+
+ m = ParticleModel()
+
+ A = m.new_species_type('A', D, radius)
+ B = m.new_species_type('B', D, radius)
+ C = m.new_species_type('C', D, radius)
+
+ DX = D * DX_factor
+
+ X = m.new_species_type('X', DX, radius)
+
+ if N_X != 0:
+ s.throw_in_particles(X, N_X, box1)
+
+ end_time = tau * 1
+ while 1:
+ s.step()
+ next_time = s.get_next_time()
+ if next_time > end_time:
+ s.stop(end_time)
+ break
+
+
+ s.reset()
+
+ r1 = create_binding_reaction_rule(A, B, C, kf)
+ m.network_rules.add_reaction_rule(r1)
+
+ r2 = create_unbinding_reaction_rule(C, A, B, 1e3)
+ m.network_rules.add_reaction_rule(r2)
+
+ s.set_model(m)
+
+ A_pos = [0,0,0]
+ B_pos = [(float(A['radius']) + float(B['radius']))+1e-23,0,0]
+
+ while 1:
+ pp = s.get_particles_within_radius(A_pos, float(A['radius']))
+ if not pp:
+ break
+ for p in pp:
+ s.remove_particle(p)
+ s.throw_in_particles(X, len(pp), box1)
+
+ s.place_particle(A, A_pos)
+
+ while 1:
+ pp = s.get_particles_within_radius(B_pos, float(B['radius']))
+ if not pp:
+ break
+ for p in pp:
+ s.remove_particle(p)
+ s.throw_in_particles(X, len(pp), box1)
+
+ s.place_particle(B, B_pos)
+
+ if N_B > 1:
+ s.throw_in_particles(B, N_B-1, box1)
+
+ r_list = []
+ t_list = []
+ t_last = 0
+
+ s.step()
+
+ next_stop = T_list[0]
+
+ i_T = 0
+
+ while 1:
+ if s.last_reaction:
+ print s.last_reaction
+ if len(s.world.get_particle_ids(C.id)) == 0: #A,B
+ print 'set t_last', s.t
+ t_last = s.t # set t_last
+ else: # C
+ print 'reaction: ', s.t - t_last
+ t_list.append(s.t - t_last)
+
+ next_time = s.get_next_time()
+ if next_time > next_stop:
+ print 'stop', i_T, next_stop
+ s.stop(next_stop)
+ if len(s.world.get_particle_ids(C.id)) != 0: #A,B
+ r_list.append(0)
+ else:
+ r_list.append(s.distance_between_particles(A.id, B.id))
+
+ i_T += 1
+ next_stop = T_list[i_T]
+
+ if next_stop == INF and len(t_list) != 0:
+ print 'break', s.t
+ break
+
+ s.step()
+
+ return r_list, t_list
+
+
+if __name__ == '__main__':
+
+ import os
+
+ outfilename = 'data/rebind_' + '_'.join(sys.argv[1:4]) +\
+ '_' #+ os.environ['SGE_TASK_ID']
+ run(outfilename, float(sys.argv[1]),
+ int(sys.argv[2]), int(sys.argv[3]), int(sys.argv[4]))
diff --git a/ecell4/egfrd/legacy/samples/rebind/run2.py b/ecell4/egfrd/legacy/samples/rebind/run2.py
new file mode 100644
index 0000000..f4c66ea
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/rebind/run2.py
@@ -0,0 +1,151 @@
+#!/usr/bin/env python
+
+'''
+# D_factor kf_factor seq N
+
+LOGLEVEL=ERROR PYTHONPATH=../.. python -O run.py 1 1 0 10
+
+'''
+
+
+from egfrd import *
+from bd import *
+
+def run(outfilename, D_factor, kf_factor, seq, N):
+ print outfilename
+
+ radius = 2.5e-9
+ sigma = radius * 2
+ # D = 1e-12
+# D_tot = D * 2
+
+# tau = sigma**2 / D_tot
+# print 'tau=', tau
+
+ #T_list = [tau * .1, INF]
+ T_list = [INF]
+
+ outfile_t = open(outfilename + '_t.dat', 'w')
+ #outfile_r_list = [open(outfilename + '_r_-1.dat', 'w')]
+
+ for i in range(N):
+ r_list, t_list = singlerun(T_list, D_factor, kf_factor)
+
+ for t in t_list:
+ outfile_t.write('%g\n' % t)
+
+ #for j in range(len(r_list)):
+ # outfile_r_list[j].write('%g\n' % r_list[j])
+
+ print i, r_list, t_list
+ outfile_t.flush()
+ #[outfile_r.flush() for outfile_r in outfile_r_list]
+
+
+ outfile_t.close()
+ #[outfile_r.close() for outfile_r in outfile_r_list]
+
+
+
+def singlerun(T_list, D_factor, kf_factor):
+
+ # 100 nM = 100e-9 * N_A * 100 / m^3 = 6.02e19
+ # V = 1 / 6.02e19 = 1.66e-20 m^3
+ # L = 2.55e-7 m
+
+ # 1 uM = 6.02e20 / m^3
+ # V = 1.66e-21 m^3
+ # L = 1.18e-7
+
+ V = 40e-18 # m^3
+ L = V ** (1.0/3.0)
+
+ w = World(L, 3)
+ s = EGFRDSimulator(w)
+ #s.set_user_max_shell_size(1e-6)
+ #s = BDSimulator(w)
+
+ #matrix_size = min(max(3, int((9 * N_X) ** (1.0/3.0))), 60)
+ #print 'matrix_size=', matrix_size
+ #s.set_matrix_size(matrix_size)
+
+ box1 = CuboidalRegion([0,0,0],[L,L,L])
+
+ radius = 2.5e-9
+ sigma = radius * 2
+ r0 = sigma
+ D = 1e-12 * D_factor
+ D_tot = D * 2
+
+ tau = sigma**2 / D_tot
+
+ #kf = 1000 * sigma * D_tot
+
+ # 1e9 [1 / (M s)] -> 1e9 / 1000 / N_A [m^3 / s]
+ kf = 0.092e-18 * kf_factor
+
+ m = ParticleModel()
+
+ A = m.new_species_type('A', D, radius)
+ B = m.new_species_type('B', D, radius)
+ C = m.new_species_type('C', D, radius)
+
+ r1 = create_binding_reaction_rule(A, B, C, kf)
+ m.network_rules.add_reaction_rule(r1)
+
+ r2 = create_unbinding_reaction_rule(C, A, B, 1e3)
+ m.network_rules.add_reaction_rule(r2)
+
+ s.set_model(m)
+
+ A_pos = [0,0,0]
+ B_pos = [(A.radius + B.radius)+1e-23,0,0]
+
+ s.place_particle(A, A_pos)
+ s.place_particle(B, B_pos)
+
+ r_list = []
+ t_list = []
+ t_last = 0
+
+ s.step()
+
+ next_stop = T_list[0]
+
+ i_T = 0
+ while 1:
+ if s.last_reaction:
+ print s.last_reaction
+ if C.pool.size == 0: #A,B
+ print 'set t_last', s.t
+ t_last = s.t # set t_last
+ else: # C
+ print 'reaction: ', s.t - t_last
+ t_list.append(s.t - t_last)
+
+ next_time = s.get_next_time()
+ if next_time > next_stop:
+ print 'stop', i_T, next_stop
+ s.stop(next_stop)
+ if C.pool.size != 0:
+ r_list.append(0)
+ else:
+ r_list.append(s.distance(A.pool.positions[0],
+ B.pool.positions[0]))
+
+ i_T += 1
+ next_stop = T_list[i_T]
+
+ if next_stop == INF and len(t_list) != 0:
+ print 'break', s.t
+ break
+
+ s.step()
+
+ return r_list, t_list
+
+if __name__ == '__main__':
+
+ outfilename = 'data/rebind_' + '_'.join(sys.argv[1:4])
+ run(outfilename, float(sys.argv[1]),
+ float(sys.argv[2]), int(sys.argv[3]), int(sys.argv[4]))
diff --git a/ecell4/egfrd/legacy/samples/reversible/Makefile b/ecell4/egfrd/legacy/samples/reversible/Makefile
new file mode 100644
index 0000000..9d51051
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/reversible/Makefile
@@ -0,0 +1,31 @@
+LOGLEVEL = ERROR
+PYTHONPATH = ../..
+PYTHON = python
+
+OUTFILES=rev.3.out rev.2.out rev.1.out rev.0.out rev.-1.out rev.-2.out #rev.-3.out
+
+all: $(OUTFILES)
+
+clean:
+ rm -f $(OUTFILES)
+
+rev.3.out:
+ env PYTHONPATH=$(PYTHONPATH) LOGLEVEL=$(LOGLEVEL) $(PYTHON) -O run.py $@ 1.25e-2 80000000
+
+rev.2.out:
+ env PYTHONPATH=$(PYTHONPATH) LOGLEVEL=$(LOGLEVEL) $(PYTHON) -O run.py $@ 1.25e-3 40000000
+
+rev.1.out:
+ env PYTHONPATH=$(PYTHONPATH) LOGLEVEL=$(LOGLEVEL) $(PYTHON) -O run.py $@ 1.25e-4 20000000
+
+rev.0.out:
+ env PYTHONPATH=$(PYTHONPATH) LOGLEVEL=$(LOGLEVEL) $(PYTHON) -O run.py $@ 1.25e-5 10000000
+
+rev.-1.out:
+ env PYTHONPATH=$(PYTHONPATH) LOGLEVEL=$(LOGLEVEL) $(PYTHON) -O run.py $@ 1.25e-6 10000000
+
+rev.-2.out:
+ env PYTHONPATH=$(PYTHONPATH) LOGLEVEL=$(LOGLEVEL) $(PYTHON) -O run.py $@ 1.25e-7 10000000
+
+#rev.-3.out:
+# env PYTHONPATH=$(PYTHONPATH) LOGLEVEL=$(LOGLEVEL) $(PYTHON) -O run.py $@ 1.25e-8 1000000
diff --git a/ecell4/egfrd/legacy/samples/reversible/README b/ecell4/egfrd/legacy/samples/reversible/README
new file mode 100644
index 0000000..ec3ad84
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/reversible/README
@@ -0,0 +1,53 @@
+
+
+Introduction
+=====================================
+
+This sample script runs a system which initially has two particles
+A and B, and samples the distance between the particles. There is
+a reversible reaction defined in the model.
+
+A + B <-> C
+
+When a reaction event occur, the script outputs zero as the value
+of distance.
+
+
+
+Running
+======================================
+
+The following command runs the simulation until a reaction occurs
+or the simulator reaches time T, output the distance between
+A and B to the file OUTFILE, and repeat this for N times.
+
+PYTHONPATH=../../.. python run.py OUTFILE T N
+
+For example:
+
+PYTHONPATH=../../.. python run.py rev.out 0.0001
+
+
+
+Plotting
+=======================================
+
+The following plots the distribution of the distance r normalized
+by the particle radius sigma, and compares with a theory plot.
+Multiple set of input data can be given.
+
+PYTHONPATH=../../.. python plot.py rev.out p_rev.0.tsv 0.0001 [...]
+
+Here, p_rev.0.tsv is the file that contains data generated by
+the Mathematica script that can be found at doc/math/p_rev.nb.
+The following samples files are provided:
+
+p_rev.-2.tsv -- corresponds to T = tau * 1e-2 = 1e-6
+p_rev.-1.tsv -- corresponds to T = tau * 1e-1 = 1e-5
+p_rev.0.tsv -- corresponds to T = tau * 1e-0 = 1e-4
+p_rev.1.tsv -- corresponds to T = tau * 1e-1 = 1e-3
+p_rev.2.tsv -- corresponds to T = tau * 1e-2 = 1e-2
+p_rev.3.tsv -- corresponds to T = tau * 1e-3 = 1e-1
+
+where tau = sigma^2 / D is the timescale of the system.
+
diff --git a/ecell4/egfrd/legacy/samples/reversible/data/.empty-dir b/ecell4/egfrd/legacy/samples/reversible/data/.empty-dir
new file mode 100644
index 0000000..e69de29
diff --git a/ecell4/egfrd/legacy/samples/reversible/make_p_rev_files.py b/ecell4/egfrd/legacy/samples/reversible/make_p_rev_files.py
new file mode 100644
index 0000000..48eb3c4
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/reversible/make_p_rev_files.py
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+
+export OUTFILE="p_rev.0.tsv"
+export TAUFACTOR="1"
+
+math < p_rev.math
+
diff --git a/ecell4/egfrd/legacy/samples/reversible/make_p_rev_files.sh b/ecell4/egfrd/legacy/samples/reversible/make_p_rev_files.sh
new file mode 100755
index 0000000..08555b5
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/reversible/make_p_rev_files.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+
+math < p_rev.math
+
diff --git a/ecell4/egfrd/legacy/samples/reversible/p_rev.-1.tsv b/ecell4/egfrd/legacy/samples/reversible/p_rev.-1.tsv
new file mode 100644
index 0000000..c11fc42
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/reversible/p_rev.-1.tsv
@@ -0,0 +1,1000 @@
+5.e-9 2.0269514479623325e7
+5.013555441711726e-9 2.0778037630046446e7
+5.027110883423452e-9 2.1287071531396687e7
+5.040666325135178e-9 2.179655450786139e7
+5.054221766846904e-9 2.2306424727425892e7
+5.06777720855863e-9 2.2816620214091673e7
+5.081332650270356e-9 2.332707886014564e7
+5.0948880919820814e-9 2.3837738438464988e7
+5.108443533693808e-9 2.4348536614847716e7
+5.121998975405534e-9 2.485941096039317e7
+5.135554417117259e-9 2.5370298963884804e7
+5.149109858828986e-9 2.5881138044218108e7
+5.162665300540712e-9 2.63918655628387e7
+5.176220742252437e-9 2.6902418836197253e7
+5.189776183964164e-9 2.7412735148222737e7
+5.20333162567589e-9 2.792275176280392e7
+5.216887067387615e-9 2.8432405936273888e7
+5.2304425090993416e-9 2.8941634929908197e7
+5.243997950811067e-9 2.9450376022409633e7
+5.257553392522793e-9 2.9958566522402503e7
+5.2711088342345195e-9 3.046614378090833e7
+5.284664275946245e-9 3.0973045203825403e7
+5.298219717657971e-9 3.147920826437973e7
+5.3117751593696975e-9 3.198457051556719e7
+5.325330601081423e-9 3.2489069602581006e7
+5.338886042793149e-9 3.299264327519822e7
+5.3524414845048746e-9 3.3495229400159393e7
+5.365996926216601e-9 3.3996765973504275e7
+5.379552367928327e-9 3.449719113287512e7
+5.3931078096400525e-9 3.4996443169792e7
+5.406663251351779e-9 3.549446054187275e7
+5.420218693063505e-9 3.599118188502608e7
+5.4337741347752305e-9 3.648654602558571e7
+5.447329576486957e-9 3.698049199239256e7
+5.460885018198683e-9 3.7472959028837726e7
+5.4744404599104084e-9 3.79638866048324e7
+5.487995901622135e-9 3.845321442872672e7
+5.50155134333386e-9 3.894088245916713e7
+5.515106785045586e-9 3.942683091687435e7
+5.528662226757313e-9 3.9911000296372294e7
+5.542217668469039e-9 4.03933313776229e7
+5.555773110180764e-9 4.087376523760212e7
+5.569328551892491e-9 4.135224326179056e7
+5.582883993604216e-9 4.182870715557366e7
+5.596439435315942e-9 4.2303098955574565e7
+5.609994877027668e-9 4.2775361040884726e7
+5.623550318739394e-9 4.324543614421024e7
+5.63710576045112e-9 4.371326736292333e7
+5.650661202162846e-9 4.417879817001176e7
+5.664216643874572e-9 4.464197242494087e7
+5.677772085586298e-9 4.510273438439882e7
+5.691327527298024e-9 4.556102871295179e7
+5.70488296900975e-9 4.6016800493571356e7
+5.718438410721476e-9 4.646999523807515e7
+5.7319938524332016e-9 4.6920558897436954e7
+5.745549294144928e-9 4.7368437871981e7
+5.759104735856654e-9 4.781357902147233e7
+5.7726601775683795e-9 4.825592967506901e7
+5.786215619280106e-9 4.869543764116077e7
+5.799771060991831e-9 4.913205121708086e7
+5.8133265027035575e-9 4.956571919867986e7
+5.826881944415284e-9 4.999639088978691e7
+5.840437386127009e-9 5.042401611151912e7
+5.8539928278387354e-9 5.0848545211463265e7
+5.867548269550462e-9 5.1269929072726466e7
+5.881103711262187e-9 5.168811912282936e7
+5.894659152973913e-9 5.210306734247736e7
+5.908214594685639e-9 5.251472627417087e7
+5.921770036397365e-9 5.292304903068274e7
+5.935325478109091e-9 5.332798930337545e7
+5.948880919820817e-9 5.372950137037391e7
+5.962436361532543e-9 5.412754010458936e7
+5.975991803244269e-9 5.452206098158106e7
+5.989547244955995e-9 5.491302008726947e7
+6.003102686667721e-9 5.5300374125487775e7
+6.016658128379447e-9 5.568408042537145e7
+6.030213570091173e-9 5.606409694859948e7
+6.043769011802899e-9 5.644038229644847e7
+6.057324453514625e-9 5.6812895716717415e7
+6.070879895226351e-9 5.718159711044962e7
+6.084435336938077e-9 5.754644703851643e7
+6.097990778649802e-9 5.790740672801811e7
+6.1115462203615286e-9 5.826443807851472e7
+6.125101662073254e-9 5.861750366809704e7
+6.13865710378498e-9 5.896656675926966e7
+6.1522125454967065e-9 5.9311591304672696e7
+6.165767987208432e-9 5.965254195262821e7
+6.179323428920158e-9 5.998938405249872e7
+6.1928788706318845e-9 6.0322083659886755e7
+6.20643431234361e-9 6.065060754164554e7
+6.219989754055336e-9 6.09749231807102e7
+6.233545195767062e-9 6.129499878076298e7
+6.247100637478788e-9 6.161080327069939e7
+6.260656079190514e-9 6.192230630892858e7
+6.27421152090224e-9 6.222947828749062e7
+6.287766962613966e-9 6.2532290335980475e7
+6.301322404325692e-9 6.283071432530585e7
+6.314877846037418e-9 6.312472287125061e7
+6.328433287749144e-9 6.341428933785764e7
+6.34198872946087e-9 6.369938784063332e7
+6.355544171172596e-9 6.397999324955883e7
+6.369099612884322e-9 6.4256081191925876e7
+6.382655054596048e-9 6.452762805498154e7
+6.396210496307774e-9 6.4794610988394566e7
+6.4097659380195e-9 6.5057007906532325e7
+6.423321379731226e-9 6.531479749055287e7
+6.436876821442951e-9 6.556795919032178e7
+6.450432263154678e-9 6.581647322612672e7
+6.463987704866403e-9 6.6060320590228334e7
+6.477543146578129e-9 6.629948304821347e7
+6.4910985882898556e-9 6.653394314016288e7
+6.504654030001582e-9 6.676368418165173e7
+6.518209471713307e-9 6.698869026454664e7
+6.5317649134250335e-9 6.720894625763431e7
+6.545320355136759e-9 6.742443780706349e7
+6.558875796848485e-9 6.76351513366016e7
+6.5724312385602115e-9 6.78410740477194e7
+6.585986680271937e-9 6.804219391948292e7
+6.599542121983663e-9 6.823849970827833e7
+6.613097563695389e-9 6.842998094735163e7
+6.626653005407115e-9 6.861662794616476e7
+6.640208447118841e-9 6.879843178958896e7
+6.653763888830567e-9 6.897538433690552e7
+6.667319330542293e-9 6.914747822064418e7
+6.680874772254019e-9 6.93147068452397e7
+6.694430213965745e-9 6.947706438551623e7
+6.707985655677471e-9 6.963454578500244e7
+6.721541097389197e-9 6.978714675407054e7
+6.735096539100923e-9 6.993486376791331e7
+6.748651980812649e-9 7.007769406434256e7
+6.762207422524374e-9 7.021563564142631e7
+6.7757628642361e-9 7.03486872549624e7
+6.789318305947827e-9 7.047684841577902e7
+6.802873747659553e-9 7.060011938688077e7
+6.816429189371278e-9 7.071850118043046e7
+6.829984631083005e-9 7.083199555456148e7
+6.84354007279473e-9 7.094060501005049e7
+6.857095514506456e-9 7.104433278681247e7
+6.8706509562181825e-9 7.114318286025849e7
+6.884206397929908e-9 7.123715993748523e7
+6.897761839641634e-9 7.132626945331933e7
+6.9113172813533605e-9 7.141051756621563e7
+6.924872723065086e-9 7.148991115399534e7
+6.938428164776812e-9 7.156445780944781e7
+6.9519836064885384e-9 7.163416583578539e7
+6.965539048200264e-9 7.169904424194843e7
+6.979094489911989e-9 7.175910273778367e7
+6.992649931623716e-9 7.1814351729066e7
+7.006205373335442e-9 7.186480231239772e7
+7.019760815047167e-9 7.191046626996763e7
+7.0333162567588935e-9 7.195135606417125e7
+7.04687169847062e-9 7.19874848321149e7
+7.060427140182345e-9 7.20188663799739e7
+7.0739825818940715e-9 7.204551517723784e7
+7.087538023605798e-9 7.206744635082701e7
+7.101093465317523e-9 7.208467567907897e7
+7.1146489070292494e-9 7.20972195856325e7
+7.128204348740976e-9 7.210509513317634e7
+7.141759790452702e-9 7.210832001709358e7
+7.155315232164427e-9 7.21069125589879e7
+7.168870673876154e-9 7.21008917001018e7
+7.182426115587879e-9 7.209027699462602e7
+7.1959815572996045e-9 7.20750886028999e7
+7.209536999011331e-9 7.205534728451416e7
+7.223092440723057e-9 7.203107439130636e7
+7.2366478824347824e-9 7.200229186026238e7
+7.250203324146509e-9 7.196902220631424e7
+7.263758765858235e-9 7.193128851506038e7
+7.27731420756996e-9 7.188911443536866e7
+7.2908696492816875e-9 7.184252417191821e7
+7.304425090993413e-9 7.179154247763371e7
+7.317980532705138e-9 7.173619464604843e7
+7.331535974416865e-9 7.16765065035771e7
+7.345091416128591e-9 7.161250440171914e7
+7.358646857840316e-9 7.154421520917761e7
+7.3722022995520426e-9 7.147166630390763e7
+7.385757741263769e-9 7.139488556509247e7
+7.399313182975494e-9 7.131390136505292e7
+7.4128686246872205e-9 7.122874256109108e7
+7.426424066398947e-9 7.113943848726693e7
+7.439979508110672e-9 7.104601894611362e7
+7.4535349498224e-9 7.094851420030351e7
+7.467090391534125e-9 7.084695496424408e7
+7.48064583324585e-9 7.074137239563352e7
+7.494201274957577e-9 7.063179808695954e7
+7.507756716669303e-9 7.05182640569473e7
+7.521312158381028e-9 7.04008027419702e7
+7.534867600092754e-9 7.027944698740885e7
+7.54842304180448e-9 7.015423003897923e7
+7.561978483516206e-9 7.002518553401181e7
+7.575533925227933e-9 6.989234749270445e7
+7.589089366939657e-9 6.975575030933985e7
+7.602644808651384e-9 6.961542874347094e7
+7.61620025036311e-9 6.947141791108201e7
+7.629755692074837e-9 6.932375327572325e7
+7.643311133786562e-9 6.917247063961975e7
+7.656866575498287e-9 6.901760613476786e7
+7.670422017210013e-9 6.885919621400413e7
+7.68397745892174e-9 6.869727764207196e7
+7.697532900633465e-9 6.853188748666179e7
+7.71108834234519e-9 6.836306310945094e7
+7.724643784056918e-9 6.81908421571336e7
+7.738199225768643e-9 6.801526255244146e7
+7.75175466748037e-9 6.783636248516975e7
+7.765310109192096e-9 6.765418040319589e7
+7.778865550903821e-9 6.746875500350021e7
+7.792420992615547e-9 6.72801252231961e7
+7.805976434327274e-9 6.708833023056502e7
+7.819531876039e-9 6.689340941609704e7
+7.833087317750725e-9 6.6695402383548185e7
+7.846642759462452e-9 6.6494348941006325e7
+7.860198201174177e-9 6.629028909197713e7
+7.873753642885903e-9 6.608326302648571e7
+7.88730908459763e-9 6.58733111122028e7
+7.900864526309355e-9 6.566047388558452e7
+7.91441996802108e-9 6.544479204304993e7
+7.927975409732808e-9 6.5226306432173215e7
+7.941530851444533e-9 6.500505804291374e7
+7.955086293156258e-9 6.478108799887288e7
+7.968641734867986e-9 6.4554437548586495e7
+7.982197176579711e-9 6.432514805684991e7
+7.995752618291436e-9 6.409326099608332e7
+8.009308060003164e-9 6.3858817937737145e7
+8.022863501714889e-9 6.362186054373509e7
+8.036418943426614e-9 6.33824305579637e7
+8.04997438513834e-9 6.3140569797806025e7
+8.063529826850067e-9 6.289632014572384e7
+8.077085268561792e-9 6.264972354088567e7
+8.090640710273518e-9 6.240082197085084e7
+8.104196151985243e-9 6.214965746330245e7
+8.11775159369697e-9 6.18962720778343e7
+8.131307035408696e-9 6.164070789779651e7
+8.144862477120421e-9 6.138300702220019e7
+8.158417918832148e-9 6.112321155767654e7
+8.171973360543874e-9 6.086136361050281e7
+8.1855288022556e-9 6.059750527868735e7
+8.199084243967326e-9 6.033167864412204e7
+8.212639685679052e-9 6.006392576479771e7
+8.226195127390777e-9 5.97942886670913e7
+8.239750569102504e-9 5.952280933811893e7
+8.25330601081423e-9 5.924952971815677e7
+8.266861452525955e-9 5.8974491693142556e7
+8.280416894237682e-9 5.8697737087243006e7
+8.293972335949408e-9 5.841930765549764e7
+8.307527777661133e-9 5.813924507654018e7
+8.32108321937286e-9 5.785759094539558e7
+8.334638661084585e-9 5.757438676635741e7
+8.348194102796311e-9 5.7289673945941634e7
+8.361749544508038e-9 5.700349378592764e7
+8.375304986219763e-9 5.671588747647472e7
+8.388860427931489e-9 5.642689608932296e7
+8.402415869643216e-9 5.6136560571085274e7
+8.415971311354941e-9 5.5844921736614265e7
+8.429526753066667e-9 5.55520202624631e7
+8.443082194778394e-9 5.5257896680433765e7
+8.45663763649012e-9 5.496259137120596e7
+8.470193078201845e-9 5.466614455806346e7
+8.483748519913572e-9 5.436859630070991e7
+8.497303961625297e-9 5.4069986489168786e7
+8.510859403337023e-9 5.377035483778299e7
+8.52441484504875e-9 5.3469740879300654e7
+8.537970286760475e-9 5.316818395905978e7
+8.5515257284722e-9 5.286572322926087e7
+8.565081170183928e-9 5.256239764334047e7
+8.578636611895653e-9 5.225824595043497e7
+8.592192053607379e-9 5.1953306689940214e7
+8.605747495319106e-9 5.164761818617223e7
+8.619302937030831e-9 5.134121854312047e7
+8.632858378742557e-9 5.103414563929875e7
+8.646413820454284e-9 5.0726437122696824e7
+8.659969262166009e-9 5.041813040582575e7
+8.673524703877735e-9 5.010926266086609e7
+8.687080145589462e-9 4.979987081491391e7
+8.700635587301187e-9 4.948999154532477e7
+8.714191029012912e-9 4.917966127515797e7
+8.72774647072464e-9 4.886891616872046e7
+8.741301912436363e-9 4.855779212721202e7
+8.75485735414809e-9 4.824632478447125e7
+8.768412795859817e-9 4.7934549502817325e7
+8.781968237571541e-9 4.762250136899833e7
+8.795523679283268e-9 4.731021519023693e7
+8.809079120994995e-9 4.6997725490375064e7
+8.822634562706721e-9 4.6685066506126076e7
+8.836190004418446e-9 4.6372272183419496e7
+8.849745446130172e-9 4.605937617385244e7
+8.863300887841897e-9 4.574641183123736e7
+8.876856329553624e-9 4.5433412208255276e7
+8.890411771265351e-9 4.512041005320473e7
+8.903967212977075e-9 4.4807437806855254e7
+8.917522654688802e-9 4.44945275993947e7
+8.931078096400528e-9 4.418171124748644e7
+8.944633538112253e-9 4.386902025141498e7
+8.95818897982398e-9 4.355648579233989e7
+8.971744421535706e-9 4.324413872964559e7
+8.985299863247431e-9 4.2932009598388486e7
+8.998855304959158e-9 4.2620128606845915e7
+9.012410746670882e-9 4.230852563415883e7
+9.025966188382609e-9 4.1997230228078455e7
+9.039521630094336e-9 4.168627160280458e7
+9.053077071806062e-9 4.1375678636923045e7
+9.066632513517787e-9 4.10654798714421e7
+9.080187955229514e-9 4.075570350791758e7
+9.09374339694124e-9 4.0446377406683005e7
+9.107298838652965e-9 4.013752908516748e7
+9.120854280364692e-9 3.9829185716312e7
+9.134409722076416e-9 3.952137412707391e7
+9.147965163788143e-9 3.9214120797034115e7
+9.16152060549987e-9 3.890745185708668e7
+9.175076047211595e-9 3.860139308822868e7
+9.18863148892332e-9 3.829596992043384e7
+9.202186930635048e-9 3.799120743162286e7
+9.215742372346773e-9 3.7687130346720904e7
+9.229297814058499e-9 3.7383763036803074e7
+9.242853255770224e-9 3.708112951833205e7
+9.25640869748195e-9 3.677925345247872e7
+9.269964139193677e-9 3.647815814453319e7
+9.283519580905404e-9 3.617786654340017e7
+9.297075022617128e-9 3.5878401241181076e7
+9.310630464328855e-9 3.557978447283709e7
+9.324185906040582e-9 3.52820381159408e7
+9.337741347752307e-9 3.49851836905062e7
+9.351296789464033e-9 3.468924235890223e7
+9.364852231175758e-9 3.439423492584819e7
+9.378407672887483e-9 3.410018183848763e7
+9.39196311459921e-9 3.380710318654232e7
+9.405518556310938e-9 3.351501870254224e7
+9.419073998022661e-9 3.322394776213707e7
+9.432629439734388e-9 3.2933909384479824e7
+9.446184881446114e-9 3.264492223268743e7
+9.45974032315784e-9 3.2357004614375502e7
+9.473295764869566e-9 3.207017448226786e7
+9.486851206581292e-9 3.1784449434873987e7
+9.500406648293017e-9 3.149984671724392e7
+9.513962090004744e-9 3.121638322178715e7
+9.52751753171647e-9 3.093407548916785e7
+9.541072973428195e-9 3.0652939709260315e7
+9.554628415139922e-9 3.0372991722177323e7
+9.568183856851648e-9 3.0094247019363202e7
+9.581739298563373e-9 2.981672074475114e7
+9.5952947402751e-9 2.954042769598467e7
+9.608850181986824e-9 2.9265382325702447e7
+9.622405623698551e-9 2.8991598742885217e7
+9.635961065410278e-9 2.871909071426143e7
+9.649516507122004e-9 2.844787166577584e7
+9.663071948833729e-9 2.81779546841136e7
+9.676627390545456e-9 2.7909352518282928e7
+9.690182832257182e-9 2.7642077581255525e7
+9.703738273968907e-9 2.7376141951659683e7
+9.717293715680634e-9 2.7111557375527967e7
+9.73084915739236e-9 2.6848335268100686e7
+9.744404599104085e-9 2.6586486715677086e7
+9.757960040815812e-9 2.632602247752037e7
+9.771515482527536e-9 2.6066952987810824e7
+9.785070924239263e-9 2.580928835764833e7
+9.79862636595099e-9 2.5553038377102684e7
+9.812181807662715e-9 2.529821251730669e7
+9.825737249374441e-9 2.504481993260022e7
+9.839292691086168e-9 2.47928694627134e7
+9.852848132797892e-9 2.454236963499525e7
+9.866403574509619e-9 2.4293328666682564e7
+9.879959016221344e-9 2.4045754467210557e7
+9.893514457933071e-9 2.3799654640563544e7
+9.907069899644797e-9 2.355503648766268e7
+9.920625341356524e-9 2.331190700879099e7
+9.934180783068248e-9 2.3070272906055972e7
+9.947736224779975e-9 2.2830140585887596e7
+9.9612916664917e-9 2.2591516161566824e7
+9.974847108203427e-9 2.2354405455792725e7
+9.988402549915153e-9 2.211881400327539e7
+1.000195799162688e-8 2.1884747053364668e7
+1.0015513433338604e-8 2.1652209572706062e7
+1.002906887505033e-8 2.1421206247923423e7
+1.0042624316762058e-8 2.119174148833487e7
+1.0056179758473782e-8 2.0963819428689692e7
+1.0069735200185509e-8 2.073744393193151e7
+1.0083290641897236e-8 2.0512618591989268e7
+1.009684608360896e-8 2.02893467365882e7
+1.0110401525320687e-8 2.0067631430082805e7
+1.0123956967032412e-8 1.984747547631412e7
+1.0137512408744137e-8 1.962888142148474e7
+1.0151067850455865e-8 1.9411851557052e7
+1.016462329216759e-8 1.91963879226437e7
+1.0178178733879315e-8 1.8982492308986932e7
+1.0191734175591042e-8 1.8770166260853354e7
+1.0205289617302768e-8 1.8559411080023393e7
+1.0218845059014493e-8 1.8350227828259103e7
+1.023240050072622e-8 1.8142617330295447e7
+1.0245955942437944e-8 1.793658017684101e7
+1.0259511384149671e-8 1.7732116727590643e7
+1.0273066825861398e-8 1.752922711424836e7
+1.0286622267573124e-8 1.7327911243560687e7
+1.030017770928485e-8 1.7128168800357386e7
+1.0313733150996576e-8 1.692999925060045e7
+1.0327288592708302e-8 1.6733401844440667e7
+1.0340844034420027e-8 1.653837561927791e7
+1.0354399476131753e-8 1.634491940282814e7
+1.036795491784348e-8 1.615303181619502e7
+1.0381510359555205e-8 1.5962711276943086e7
+1.0395065801266932e-8 1.5773956002174312e7
+1.0408621242978656e-8 1.5586764011606958e7
+1.0422176684690383e-8 1.5401133130653441e7
+1.043573212640211e-8 1.5217060993499711e7
+1.0449287568113836e-8 1.503454504618379e7
+1.0462843009825561e-8 1.4853582549671484e7
+1.0476398451537288e-8 1.4674170582931207e7
+1.0489953893249012e-8 1.449630604600427e7
+1.0503509334960739e-8 1.4319985663072085e7
+1.0517064776672464e-8 1.4145205985519445e7
+1.053062021838419e-8 1.3971963394990426e7
+1.0544175660095917e-8 1.3800254106440308e7
+1.0557731101807644e-8 1.3630074171179103e7
+1.0571286543519368e-8 1.3461419479908964e7
+1.0584841985231095e-8 1.329428576575203e7
+1.059839742694282e-8 1.3128668607271457e7
+1.0611952868654547e-8 1.2964563431480281e7
+1.0625508310366273e-8 1.2801965516842619e7
+1.0639063752077998e-8 1.2640869996263053e7
+1.0652619193789724e-8 1.2481271860064538e7
+1.066617463550145e-8 1.2323165958954286e7
+1.0679730077213176e-8 1.216654700697809e7
+1.0693285518924902e-8 1.2011409584460609e7
+1.0706840960636629e-8 1.1857748140931144e7
+1.0720396402348356e-8 1.1705556998037668e7
+1.073395184406008e-8 1.1554830352443846e7
+1.0747507285771807e-8 1.140556227871115e7
+1.0761062727483532e-8 1.125774673216562e7
+1.0774618169195258e-8 1.1111377551748667e7
+1.0788173610906985e-8 1.0966448462849284e7
+1.080172905261871e-8 1.0822953080121217e7
+1.0815284494330436e-8 1.0680884910280662e7
+1.0828839936042163e-8 1.0540237354886059e7
+1.0842395377753888e-8 1.0401003713099828e7
+1.0855950819465613e-8 1.0263177184430653e7
+1.086950626117734e-8 1.0126750871455742e7
+1.0883061702889066e-8 9.99171778252396e6
+1.0896617144600791e-8 9.85807083443785e6
+1.0910172586312519e-8 9.72580285511566e6
+1.0923728028024242e-8 9.59490658623189e6
+1.093728346973597e-8 9.465374685836386e6
+1.0950838911447696e-8 9.337199730951648e6
+1.0964394353159422e-8 9.210374220148314e6
+1.0977949794871147e-8 9.084890576097595e6
+1.0991505236582874e-8 8.960741148101635e6
+1.10050606782946e-8 8.837918214600816e6
+1.1018616120006325e-8 8.716413985656362e6
+1.103217156171805e-8 8.59622060541167e6
+1.1045727003429778e-8 8.477330154527644e6
+1.1059282445141503e-8 8.359734652595154e6
+1.1072837886853229e-8 8.243426060522164e6
+1.1086393328564954e-8 8.128396282897478e6
+1.1099948770276681e-8 8.014637170328478e6
+1.1113504211988408e-8 7.902140521754508e6
+1.1127059653700132e-8 7.790898086734573e6
+1.1140615095411859e-8 7.680901567710181e6
+1.1154170537123585e-8 7.5721426222423585e6
+1.116772597883531e-8 7.464612865222299e6
+1.1181281420547037e-8 7.358303871057001e6
+1.1194836862258764e-8 7.253207175828292e6
+1.1208392303970488e-8 7.149314279426004e6
+1.1221947745682215e-8 7.046616647654253e6
+1.123550318739394e-8 6.94510571431171e6
+1.1249058629105666e-8 6.844772883245465e6
+1.1262614070817393e-8 6.745609530377808e6
+1.1276169512529118e-8 6.647607005706373e6
+1.1289724954240844e-8 6.550756635277662e6
+1.1303280395952571e-8 6.455049723133454e6
+1.1316835837664296e-8 6.360477553230677e6
+1.1330391279376022e-8 6.267031391333491e6
+1.1343946721087749e-8 6.174702486879318e6
+1.1357502162799474e-8 6.083482074816775e6
+1.13710576045112e-8 5.993361377417526e6
+1.1384613046222927e-8 5.904331606060161e6
+1.139816848793465e-8 5.816383962987408e6
+1.1411723929646378e-8 5.729509643036188e6
+1.1425279371358105e-8 5.6436998353402335e6
+1.143883481306983e-8 5.558945725006251e6
+1.1452390254781556e-8 5.47523849476224e6
+1.1465945696493283e-8 5.392569326579301e6
+1.1479501138205008e-8 5.310929403266211e6
+1.1493056579916734e-8 5.2303099100371e6
+1.1506612021628459e-8 5.1507020360521125e6
+1.1520167463340186e-8 5.072096975931442e6
+1.1533722905051912e-8 4.994485931242379e6
+1.1547278346763639e-8 4.917860111959737e6
+1.1560833788475362e-8 4.842210737899597e6
+1.157438923018709e-8 4.767529040126522e6
+1.1587944671898817e-8 4.693806262334466e6
+1.1601500113610542e-8 4.621033662201161e6
+1.1615055555322267e-8 4.549202512716095e6
+1.1628610997033995e-8 4.478304103482972e6
+1.1642166438745718e-8 4.408329741995422e6
+1.1655721880457445e-8 4.3392707548873e6
+1.1669277322169171e-8 4.271118489156997e6
+1.1682832763880898e-8 4.203864313366283e6
+1.1696388205592623e-8 4.1374996188135543e6
+1.170994364730435e-8 4.0720158206816055e6
+1.1723499089016074e-8 4.007404359160682e6
+1.1737054530727801e-8 3.9436567005456714e6
+1.1750609972439528e-8 3.880764338309335e6
+1.1764165414151252e-8 3.81871879415009e6
+1.177772085586298e-8 3.7575116190156043e6
+1.1791276297574705e-8 3.697134394101981e6
+1.180483173928643e-8 3.6375787318284176e6
+1.1818387180998157e-8 3.578836276788426e6
+1.1831942622709883e-8 3.520898706676583e6
+1.1845498064421608e-8 3.4637577331920094e6
+1.1859053506133335e-8 3.40740510291831e6
+1.1872608947845062e-8 3.3518325981801283e6
+1.1886164389556786e-8 3.297032037876771e6
+1.1899719831268513e-8 3.2429952782927724e6
+1.1913275272980239e-8 3.189714213885942e6
+1.1926830714691966e-8 3.137180778052987e6
+1.1940386156403691e-8 3.0853869438727754e6
+1.1953941598115415e-8 3.034324724827418e6
+1.1967497039827142e-8 2.98398617550191e6
+1.1981052481538869e-8 2.9343633922618027e6
+1.1994607923250596e-8 2.885448513909717e6
+1.200816336496232e-8 2.8372337223204877e6
+1.2021718806674045e-8 2.7897112430555597e6
+1.2035274248385772e-8 2.7428733459566203e6
+1.2048829690097498e-8 2.6967123457185575e6
+1.2062385131809223e-8 2.6512206024425267e6
+1.2075940573520949e-8 2.6063905221685963e6
+1.2089496015232676e-8 2.5622145573889115e6
+1.2103051456944403e-8 2.5186852075411663e6
+1.2116606898656127e-8 2.4757950194827137e6
+1.2130162340367854e-8 2.433536587945673e6
+1.2143717782079579e-8 2.3919025559732686e6
+1.2157273223791306e-8 2.350885615337368e6
+1.2170828665503032e-8 2.310478506937792e6
+1.2184384107214759e-8 2.270674021183476e6
+1.2197939548926483e-8 2.2314649983557616e6
+1.221149499063821e-8 2.192844328954081e6
+1.2225050432349937e-8 2.154804954024112e6
+1.2238605874061662e-8 2.1173398654691074e6
+1.2252161315773388e-8 2.080442106343842e6
+1.2265716757485113e-8 2.0441047711323637e6
+1.227927219919684e-8 2.0083210060091233e6
+1.2292827640908566e-8 1.9730840090838086e6
+1.230638308262029e-8 1.9383870306306502e6
+1.2319938524332016e-8 1.904223373301601e6
+1.2333493966043743e-8 1.8705863923243915e6
+1.234704940775547e-8 1.8374694956853117e6
+1.2360604849467194e-8 1.8048661442970166e6
+1.2374160291178921e-8 1.7727698521516796e6
+1.2387715732890647e-8 1.741174186459703e6
+1.2401271174602374e-8 1.7100727677741994e6
+1.24148266163141e-8 1.6794592701014862e6
+1.2428382058025826e-8 1.649327420997909e6
+1.244193749973755e-8 1.6196710016532033e6
+1.2455492941449277e-8 1.5904838469604717e6
+1.2469048383161003e-8 1.5617598455734018e6
+1.2482603824872728e-8 1.5334929399504475e6
+1.2496159266584455e-8 1.505677126386781e6
+1.250971470829618e-8 1.478306455033725e6
+1.2523270150007906e-8 1.4513750299062196e6
+1.2536825591719633e-8 1.4248770088785514e6
+1.2550381033431359e-8 1.3988066036683917e6
+1.2563936475143084e-8 1.3731580798094978e6
+1.257749191685481e-8 1.3479257566134443e6
+1.2591047358566537e-8 1.323104007120282e6
+1.2604602800278262e-8 1.2986872580385911e6
+1.2618158241989989e-8 1.274669989675257e6
+1.2631713683701715e-8 1.2510467358547933e6
+1.2645269125413442e-8 1.2278120838289268e6
+1.2658824567125167e-8 1.2049606741762361e6
+1.2672380008836893e-8 1.1824872006923885e6
+1.2685935450548618e-8 1.1603864102709752e6
+1.2699490892260343e-8 1.1386531027753039e6
+1.271304633397207e-8 1.1172821309012927e6
+1.2726601775683796e-8 1.0962684000316672e6
+1.2740157217395521e-8 1.0756068680817313e6
+1.2753712659107248e-8 1.0552925453369508e6
+1.2767268100818974e-8 1.0353204942823492e6
+1.2780823542530701e-8 1.0156858294242023e6
+1.2794378984242425e-8 996383.7171041279
+1.2807934425954152e-8 977409.3753055999
+1.2821489867665877e-8 958758.0734534045
+1.2835045309377603e-8 940425.1322059921
+1.284860075108933e-8 922405.9232410081
+1.2862156192801055e-8 904695.869034236
+1.2875711634512782e-8 887290.4426320434
+1.2889267076224508e-8 870185.1674176273
+1.2902822517936233e-8 853375.616871198
+1.2916377959647959e-8 836857.4143242325
+1.2929933401359686e-8 820626.2327081581
+1.2943488843071411e-8 804677.7942973938
+1.2957044284783138e-8 789007.870447172
+1.2970599726494864e-8 773612.2813261207
+1.2984155168206589e-8 758486.8956439737
+1.2997710609918316e-8 743627.6303744265
+1.3011266051630042e-8 729030.4504733366
+1.3024821493341765e-8 714691.3685924908
+1.3038376935053492e-8 700606.4447891247
+1.3051932376765218e-8 686771.7862312251
+1.3065487818476945e-8 673183.5468989415
+1.307904326018867e-8 659837.9272821697
+1.3092598701900397e-8 646731.1740744051
+1.3106154143612123e-8 633859.5798632717
+1.311970958532385e-8 621219.4828175213
+1.3133265027035574e-8 608807.266370968
+1.3146820468747301e-8 596619.3589033375
+1.3160375910459026e-8 584652.2334182103
+1.3173931352170753e-8 572902.4072182392
+1.3187486793882479e-8 561366.4415777166
+1.3201042235594204e-8 550040.9414127033
+1.3214597677305931e-8 538922.5549487947
+1.3228153119017657e-8 528007.9733867181
+1.3241708560729382e-8 517293.9305658136
+1.3255264002441108e-8 506777.2026256374
+1.3268819444152833e-8 496454.6076657101
+1.328237488586456e-8 486323.0054035413
+1.3295930327576286e-8 476379.2968312263
+1.3309485769288013e-8 466620.4238704485
+1.3323041210999738e-8 457043.3690262699
+1.3336596652711465e-8 447645.1550396147
+1.335015209442319e-8 438422.84453880036
+1.3363707536134916e-8 429373.53968992375
+1.3377262977846641e-8 420494.38184657315
+1.3390818419558369e-8 411782.55119855993
+1.3404373861270094e-8 403235.26642015943
+1.341792930298182e-8 394849.7843177695
+1.3431484744693547e-8 386623.3994770435
+1.3445040186405272e-8 378553.44390977686
+1.3458595628116997e-8 370637.286700462
+1.3472151069828724e-8 362872.33365272294
+1.3485706511540448e-8 355256.02693569596
+1.3499261953252175e-8 347785.8447303732
+1.35128173949639e-8 340459.30087615614
+1.3526372836675628e-8 333273.94451752986
+1.3539928278387353e-8 326227.3597510544
+1.3553483720099079e-8 319317.16527275695
+1.3567039161810807e-8 312541.0140259187
+1.3580594603522533e-8 305896.5928494296
+1.3594150045234257e-8 299381.6221267494
+1.3607705486945982e-8 292993.8554355292
+1.362126092865771e-8 286731.07919802086
+1.3634816370369436e-8 280591.1123322835
+1.3648371812081162e-8 274571.8059043043
+1.3661927253792887e-8 268671.04278108565
+1.3675482695504614e-8 262886.7372847487
+1.368903813721634e-8 257216.83484774997
+1.3702593578928065e-8 251659.31166924714
+1.371614902063979e-8 246212.17437267257
+1.3729704462351516e-8 240873.45966460108
+1.3743259904063243e-8 235641.23399494245
+1.3756815345774968e-8 230513.59321852477
+1.3770370787486694e-8 225488.66225811807
+1.378392622919842e-8 220564.59476895607
+1.3797481670910148e-8 215739.57280480003
+1.3811037112621873e-8 211011.8064856016
+1.3824592554333599e-8 206379.53366680257
+1.3838147996045323e-8 201841.01961033233
+1.3851703437757051e-8 197394.55665730874
+1.3865258879468777e-8 193038.46390255055
+1.3878814321180502e-8 188771.08687087317
+1.3892369762892228e-8 184590.79719526268
+1.3905925204603955e-8 180495.99229691757
+1.391948064631568e-8 176485.09506724833
+1.3933036088027407e-8 172556.55355180972
+1.3946591529739131e-8 168708.8406362629
+1.3960146971450858e-8 164940.45373433878
+1.3973702413162584e-8 161249.91447788262
+1.3987257854874309e-8 157635.768408998
+1.4000813296586035e-8 154096.58467427013
+1.4014368738297763e-8 150630.95572118828
+1.4027924180009489e-8 147237.49699670685
+1.4041479621721214e-8 143914.84664801293
+1.405503506343294e-8 140661.66522551814
+1.4068590505144667e-8 137476.63538809097
+1.4082145946856392e-8 134358.4616105559
+1.4095701388568118e-8 131305.8698934757
+1.4109256830279843e-8 128317.60747523815
+1.412281227199157e-8 125392.44254645471
+1.4136367713703295e-8 122529.16396671231
+1.4149923155415023e-8 119726.58098366616
+1.4163478597126748e-8 116983.52295450104
+1.4177034038838473e-8 114298.83906977948
+1.4190589480550199e-8 111671.3980796742
+1.4204144922261924e-8 109100.08802260837
+1.421770036397365e-8 106583.81595631754
+1.4231255805685378e-8 104121.50769131831
+1.4244811247397104e-8 101712.10752683115
+1.425836668910883e-8 99354.57798912475
+1.4271922130820555e-8 97047.89957232194
+1.4285477572532282e-8 94791.07048164356
+1.4299033014244007e-8 92583.10637912407
+1.4312588455955733e-8 90423.0401317802
+1.4326143897667458e-8 88309.92156224539
+1.4339699339379185e-8 86242.81720187704
+1.4353254781090912e-8 84220.81004632982
+1.4366810222802638e-8 82242.99931359015
+1.4380365664514363e-8 80308.50020450777
+1.439392110622609e-8 78416.4436657609
+1.4407476547937814e-8 76565.97615532333
+1.442103198964954e-8 74756.2594103775
+1.4434587431361267e-8 72986.47021770036
+1.4448142873072994e-8 71255.80018651167
+1.4461698314784719e-8 69563.45552377503
+1.4475253756496444e-8 67908.65681195639
+1.448880919820817e-8 66290.63878922495
+1.4502364639919899e-8 64708.65013210599
+1.4515920081631622e-8 63161.953240559895
+1.4529475523343348e-8 61649.82402549433
+1.4543030965055073e-8 60171.55169870211
+1.4556586406766799e-8 58726.43856520748
+1.4570141848478527e-8 57313.799818023515
+1.4583697290190253e-8 55932.963335303386
+1.4597252731901978e-8 54583.26947988037
+1.4610808173613704e-8 53264.07090118846
+1.4624363615325431e-8 51974.73233954689
+1.4637919057037155e-8 50714.63043280544
+1.4651474498748882e-8 49483.15352533684
+1.4665029940460607e-8 48279.701479361436
+1.4678585382172334e-8 47103.68548859498
+1.469214082388406e-8 45954.52789421198
+1.4705696265595785e-8 44831.66200310278
+1.471925170730751e-8 43734.53190841899
+1.473280714901924e-8 42662.59231239065
+1.4746362590730963e-8 41615.3083514029
+1.4759918032442688e-8 40592.155423316086
+1.4773473474154414e-8 39592.61901701983
+1.4787028915866143e-8 38616.19454420149
+1.4800584357577868e-8 37662.38717331648
+1.4814139799289594e-8 36730.71166574758
+1.4827695241001319e-8 35820.692214134186
+1.4841250682713046e-8 34931.86228285801
+1.4854806124424771e-8 34063.764450671566
+1.4868361566136497e-8 33215.95025544767
+1.4881917007848222e-8 32387.980041042796
+1.489547244955995e-8 31579.422806248655
+1.4909027891271675e-8 30789.856055821554
+1.49225833329834e-8 30018.865653571153
+1.4936138774695126e-8 29266.04567749465
+1.4949694216406853e-8 28530.99827692894
+1.496324965811858e-8 27813.33353172236
+1.4976805099830307e-8 27112.66931338881
+1.499036054154203e-8 26428.631148240394
+1.5003915983253758e-8 25760.852082476533
+1.5017471424965485e-8 25108.97254921233
+1.503102686667721e-8 24472.640237425785
+1.5044582308388932e-8 23851.509962813518
+1.5058137750100663e-8 23245.24354052908
+1.5071693191812387e-8 22653.509659789233
+1.5085248633524114e-8 22075.983760333856
+1.5098804075235838e-8 21512.347910713674
+1.5112359516947565e-8 20962.290688394616
+1.512591495865929e-8 20425.507061658063
+1.5139470400371015e-8 19901.698273277612
+1.5153025842082743e-8 19390.571725957132
+1.516658128379447e-8 18891.840869508942
+1.5180136725506197e-8 18405.22508975515
+1.519369216721792e-8 17930.4495991364
+1.5207247608929644e-8 17467.245329003363
+1.5220803050641375e-8 17015.34882358084
+1.52343584923531e-8 16574.502135579085
+1.5247913934064822e-8 16144.452723438859
+1.526146937577655e-8 15724.953350191094
+1.5275024817488276e-8 15315.761983909695
+1.5288580259200004e-8 14916.641699744505
+1.530213570091173e-8 14527.360583513693
+1.5315691142623454e-8 14147.691636835254
+1.5329246584335178e-8 13777.4126837856
+1.5342802026046905e-8 13416.306279060424
+1.5356357467758632e-8 13064.159617624911
+1.5369912909470356e-8 12720.764445834067
+1.5383468351182087e-8 12385.916974003558
+1.539702379289381e-8 12059.417790416142
+1.5410579234605534e-8 11741.07177674453
+1.542413467631726e-8 11430.688024872376
+1.5437690118028988e-8 11128.079755098344
+1.5451245559740712e-8 10833.064235703361
+1.546480100145244e-8 10545.462703864483
+1.5478356443164166e-8 10265.100287899928
+1.549191188487589e-8 9991.805930824185
+1.550546732658762e-8 9725.412315200807
+1.5519022768299344e-8 9465.755789272689
+1.5532578210011068e-8 9212.676294353641
+1.5546133651722795e-8 8966.017293465275
+1.5559689093434522e-8 8725.625701202134
+1.5573244535146246e-8 8491.351814808935
+1.5586799976857973e-8 8263.049246451299
+1.56003554185697e-8 8040.574856668289
+1.5613910860281424e-8 7823.7886889851125
+1.562746630199315e-8 7612.553905673811
+1.5641021743704878e-8 7406.736724644794
+1.5654577185416602e-8 7206.206357452404
+1.566813262712833e-8 7010.834948400548
+1.5681688068840056e-8 6820.497514731621
+1.569524351055178e-8 6635.071887882819
+1.5708798952263503e-8 6454.438655796995
+1.5722354393975234e-8 6278.481106269034
+1.5735909835686958e-8 6107.085171316362
+1.5749465277398685e-8 5940.139372556004
+1.5763020719110412e-8 5777.534767575117
+1.5776576160822136e-8 5619.164897279013
+1.5790131602533863e-8 5464.925734203
+1.580368704424559e-8 5314.715631773442
+1.5817242485957314e-8 5168.435274503217
+1.583079792766904e-8 5025.987629108535
+1.5844353369380768e-8 4887.2778965319
+1.585790881109249e-8 4752.213464858224
+1.587146425280422e-8 4620.703863110037
+1.5885019694515946e-8 4492.66071590812
+1.589857513622767e-8 4367.9976989844845
+1.5912130577939393e-8 4246.6304955339765
+1.592568601965112e-8 4128.476753391552
+1.5939241461362847e-8 4013.456043022324
+1.5952796903074575e-8 3901.4898163111866
+1.59663523447863e-8 3792.5013661397475
+1.5979907786498025e-8 3686.415786737206
+1.5993463228209752e-8 3583.159934793744
+1.600701866992148e-8 3482.662391323235
+1.6020574111633203e-8 3384.853424263517
+1.6034129553344927e-8 3289.664951802257
+1.6047684995056657e-8 3197.0305064161084
+1.606124043676838e-8 3106.8851996119997
+1.6074795878480105e-8 3019.16568735852
+1.6088351320191835e-8 2933.8101361958106
+1.610190676190356e-8 2850.7581900132795
+1.6115462203615286e-8 2769.9509374832037
+1.6129017645327013e-8 2691.3308801396856
+1.6142573087038737e-8 2614.8419010918665
+1.6156128528750464e-8 2540.4292343603747
+1.616968397046219e-8 2468.039434827061
+1.6183239412173915e-8 2397.620348786564
+1.619679485388564e-8 2329.121085090265
+1.621035029559737e-8 2262.491986871784
+1.6223905737309093e-8 2197.68460384413
+1.623746117902082e-8 2134.651665158655
+1.6251016620732544e-8 2073.3470528155976
+1.626457206244427e-8 2013.7257756173092
+1.6278127504155995e-8 1955.7439436533168
+1.6291682945867725e-8 1899.358743309375
+1.630523838757945e-8 1844.5284127897576
+1.6318793829291173e-8 1791.2122181444884
+1.6332349271002903e-8 1739.370429792295
+1.6345904712714627e-8 1688.9642995300762
+1.635946015442635e-8 1639.9560380205064
+1.6373015596138078e-8 1592.308792748713
+1.6386571037849805e-8 1545.9866264398509
+1.640012647956153e-8 1500.9544959289462
+1.6413681921273256e-8 1457.1782314746267
+1.6427237362984983e-8 1414.6245165089374
+1.644079280469671e-8 1373.260867814677
+1.6454348246408437e-8 1333.055616122832
+1.646790368812016e-8 1293.977887121868
+1.6481459129831885e-8 1255.997582871488
+1.649501457154361e-8 1219.0853636131226
+1.650857001325534e-8 1183.2126299697072
+1.6522125454967063e-8 1148.351505527496
+1.653568089667879e-8 1114.4748197924246
+1.6549236338390517e-8 1081.5560915142878
+1.656279178010224e-8 1049.5695123713006
+1.6576347221813968e-8 1018.4899310085148
+1.6589902663525695e-8 988.2928374229641
+1.660345810523742e-8 958.9543476890966
+1.6617013546949146e-8 930.4511890178986
+1.6630568988660873e-8 902.7606851429465
+1.6644124430372596e-8 875.8607420274454
+1.6657679872084327e-8 849.7298338856978
+1.667123531379605e-8 824.3469895129006
+1.6684790755507774e-8 799.69177891731
+1.66983461972195e-8 775.7443002485522
+1.671190163893123e-8 752.4851670166123
+1.6725457080642952e-8 729.8954955953692
+1.673901252235468e-8 707.9568930051372
+1.6752567964066406e-8 686.6514449687528
+1.676612340577813e-8 665.9617042355412
+1.6779678847489857e-8 645.8706791678768
+1.6793234289201584e-8 626.3618225850018
+1.6806789730913308e-8 607.4190208589999
+1.6820345172625035e-8 589.0265832575672
+1.6833900614336762e-8 571.169231528885
+1.6847456056048486e-8 553.8320897233554
+1.686101149776021e-8 537.00067424751
+1.687456693947194e-8 520.6608841452835
+1.6888122381183664e-8 504.7989916019996
+1.690167782289539e-8 489.4016326663196
+1.6915233264607118e-8 474.45579818590204
+1.6928788706318842e-8 459.94882495203467
+1.694234414803057e-8 445.8683870491223
+1.6955899589742296e-8 432.2024874046004
+1.696945503145402e-8 418.93944953510754
+1.6983010473165747e-8 406.067909484824
+1.6996565914877474e-8 393.57680795190345
+1.7010121356589198e-8 381.45538259896944
+1.7023676798300925e-8 369.69316054384916
+1.7037232240012652e-8 358.2799510266782
+1.7050787681724376e-8 347.2058382495844
+1.70643431234361e-8 336.4611743853017
+1.7077898565147827e-8 326.0365727510731
+1.7091454006859554e-8 315.9229011442824
+1.710500944857128e-8 306.1112753363266
+1.7118564890283008e-8 296.5930527213102
+1.7132120331994732e-8 287.35982611621387
+1.7145675773706456e-8 278.40341770920725
+1.7159231215418186e-8 269.71587315293004
+1.717278665712991e-8 261.28945579950977
+1.7186342098841634e-8 253.11664107425426
+1.719989754055336e-8 245.19011098495633
+1.7213452982265088e-8 237.50274876381596
+1.7227008423976815e-8 230.04763363904837
+1.7240563865688542e-8 222.81803573332715
+1.7254119307400266e-8 215.80741108619986
+1.7267674749111993e-8 209.00939679775917
+1.728123019082372e-8 202.41780629085497
+1.7294785632535444e-8 196.0266246891437
+1.7308341074247167e-8 189.83000430846113
+1.7321896515958898e-8 183.82226025888
+1.733545195767062e-8 177.99786615502566
+1.7349007399382345e-8 172.35144993215914
+1.7362562841094072e-8 166.87778976563183
+1.73761182828058e-8 161.57181009140282
+1.7389673724517527e-8 156.42857772524567
+1.740322916622925e-8 151.44329807846287
+1.7416784607940977e-8 146.61131146784354
+1.74303400496527e-8 141.92808951773455
+1.744389549136443e-8 137.38923165208593
+1.7457450933076155e-8 132.99046167439678
+1.747100637478788e-8 128.72762443354867
+1.748456181649961e-8 124.59668257350296
+1.7498117258211333e-8 120.59371336494023
+1.7511672699923057e-8 116.71490561692447
+1.7525228141634784e-8 112.95655666671246
+1.753878358334651e-8 109.31506944590458
+1.7552339025058235e-8 105.78694962111516
+1.7565894466769962e-8 102.36880280743614
+1.757944990848169e-8 99.05733185296342
+1.7593005350193416e-8 95.84933419271105
+1.7606560791905143e-8 92.7416992702772
+1.7620116233616867e-8 89.73140602563528
+1.763367167532859e-8 86.81552044749748
+1.764722711704032e-8 83.99119318869992
+1.7660782558752045e-8 81.25565724310984
+1.767433800046377e-8 78.60622568256399
+1.7687893442175496e-8 76.0402894524274
+1.7701448883887223e-8 73.55531522432777
+1.7715004325598947e-8 71.14884330472013
+1.7728559767310677e-8 68.81848559789911
+1.77421152090224e-8 66.56192362216487
+1.7755670650734125e-8 64.37690657784404
+1.7769226092445852e-8 62.26124946589685
+1.778278153415758e-8 60.21283125589246
+1.7796336975869303e-8 58.22959310212586
+1.7809892417581033e-8 56.30953660671444
+1.7823447859292757e-8 54.45072212851892
+1.783700330100448e-8 52.651267136740216
+1.7850558742716208e-8 50.90934460812511
+1.7864114184427935e-8 49.22318146667723
+1.787766962613966e-8 47.59105706482912
+1.7891225067851386e-8 46.01130170504339
+1.7904780509563113e-8 44.48229520085434
+1.7918335951274837e-8 43.00246547633124
+1.7931891392986564e-8 41.57028720304896
+1.794544683469829e-8 40.184280473588906
+1.7959002276410015e-8 38.84300951067157
+1.7972557718121742e-8 37.54508141103291
+1.798611315983347e-8 36.28914492314937
+1.7999668601545193e-8 35.07388925796844
+1.8013224043256916e-8 33.898042931819695
+1.8026779484968647e-8 32.76037264066513
+1.804033492668037e-8 31.659682164925183
+1.8053890368392098e-8 30.594811304068834
+1.8067445810103825e-8 29.564634840240572
+1.808100125181555e-8 28.568061530157014
+1.8094556693527276e-8 27.604033124565557
+1.8108112135239003e-8 26.671523414551654
+1.8121667576950726e-8 25.76953730400046
+1.813522301866245e-8 24.89710990755206
+1.814877846037418e-8 24.05330567337737
+1.8162333902085904e-8 23.23721753014256
+1.817588934379763e-8 22.447966057532923
+1.818944478550936e-8 21.684698679722523
+1.8203000227221082e-8 20.94658888119465
+1.8216555668932806e-8 20.232835444330384
+1.8230111110644536e-8 19.54266170819588
+1.824366655235626e-8 18.875314847974128
+1.8257221994067987e-8 18.230065174499476
+1.8270777435779714e-8 17.606205453369387
+1.8284332877491438e-8 17.003050243111094
+1.8297888319203162e-8 16.419935251912612
+1.8311443760914892e-8 15.856216712412824
+1.8324999202626616e-8 15.311270774085491
+1.833855464433834e-8 14.784492912743172
+1.835211008605007e-8 14.275297356708068
+1.8365665527761794e-8 13.783116529206714
+1.8379220969473518e-8 13.307400506554368
+1.8392776411185248e-8 12.847616491707731
+1.8406331852896972e-8 12.403248302775271
+1.8419887294608702e-8 11.973795876082459
+1.8433442736320426e-8 11.558774783401372
+1.844699817803215e-8 11.157715762963862
+1.8460553619743874e-8 10.770164263884759
+1.8474109061455604e-8 10.395680003634492
+1.8487664503167328e-8 10.033836538207606
+1.8501219944879055e-8 9.68422084463962
+1.851477538659078e-8 9.346432915542305
+1.8528330828302506e-8 9.020085365324775
+1.8541886270014233e-8 8.704803047784921
\ No newline at end of file
diff --git a/ecell4/egfrd/legacy/samples/reversible/p_rev.-2.tsv b/ecell4/egfrd/legacy/samples/reversible/p_rev.-2.tsv
new file mode 100644
index 0000000..8fe1f50
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/reversible/p_rev.-2.tsv
@@ -0,0 +1,1000 @@
+5.e-9 3.086809354700563e8
+5.004286607049871e-9 3.112982363772812e8
+5.008573214099741e-9 3.1389607794671834e8
+5.012859821149612e-9 3.1647422536428183e8
+5.017146428199482e-9 3.190324464747443e8
+5.021433035249353e-9 3.2157051181866366e8
+5.025719642299224e-9 3.2408819466875446e8
+5.030006249349094e-9 3.265852710657054e8
+5.034292856398965e-9 3.2906151985342455e8
+5.0385794634488355e-9 3.3151672271370924e8
+5.0428660704987056e-9 3.339506642003358e8
+5.0471526775485765e-9 3.3636313177255505e8
+5.0514392845984465e-9 3.38753915827988e8
+5.055725891648317e-9 3.411228097349179e8
+5.060012498698188e-9 3.4346960986396486e8
+5.064299105748058e-9 3.4579411561914384e8
+5.068585712797929e-9 3.4809612946829045e8
+5.072872319847799e-9 3.503754569728582e8
+5.07715892689767e-9 3.526319068170663e8
+5.081445533947541e-9 3.5486529083640826e8
+5.085732140997411e-9 3.5707542404550093e8
+5.090018748047282e-9 3.5926212466527843e8
+5.094305355097153e-9 3.614252141495142e8
+5.098591962147023e-9 3.6356451721067864e8
+5.102878569196894e-9 3.656798618451193e8
+5.107165176246764e-9 3.677710793575505e8
+5.111451783296635e-9 3.698380043848688e8
+5.1157383903465056e-9 3.718804749192645e8
+5.120024997396376e-9 3.738983323306451e8
+5.1243116044462465e-9 3.758914213883543e8
+5.1285982114961165e-9 3.7785959028218186e8
+5.1328848185459874e-9 3.798026906426731e8
+5.137171425595858e-9 3.817205775607117e8
+5.141458032645728e-9 3.836131096063978e8
+5.145744639695599e-9 3.854801488471978e8
+5.15003124674547e-9 3.873215608653719e8
+5.15431785379534e-9 3.891372147746749e8
+5.158604460845211e-9 3.909269832363241e8
+5.162891067895081e-9 3.9269074247423714e8
+5.167177674944952e-9 3.944283722895347e8
+5.171464281994823e-9 3.961397560743033e8
+5.175750889044693e-9 3.978247808246153e8
+5.180037496094564e-9 3.9948333715281594e8
+5.184324103144434e-9 4.0111531929905635e8
+5.188610710194305e-9 4.0272062514208823e8
+5.192897317244176e-9 4.0429915620931256e8
+5.197183924294046e-9 4.0585081768607396e8
+5.2014705313439165e-9 4.073755184242133e8
+5.205757138393787e-9 4.0887317094986963e8
+5.2100437454436575e-9 4.1034369147053003e8
+5.214330352493528e-9 4.117869998813355e8
+5.218616959543398e-9 4.132030197706268e8
+5.222903566593269e-9 4.145916784247515e8
+5.22719017364314e-9 4.159529068321147e8
+5.23147678069301e-9 4.172866396864833e8
+5.235763387742881e-9 4.1859281538954365e8
+5.240049994792751e-9 4.1987137605270433e8
+5.244336601842622e-9 4.211222674981649e8
+5.248623208892493e-9 4.223454392592298e8
+5.252909815942363e-9 4.235408445798834e8
+5.257196422992234e-9 4.2470844041362476e8
+5.261483030042105e-9 4.258481874215579e8
+5.265769637091975e-9 4.269600499697511e8
+5.270056244141846e-9 4.280439961258549e8
+5.274342851191716e-9 4.29099997654993e8
+5.2786294582415866e-9 4.3012803001492083e8
+5.2829160652914574e-9 4.311280723504565e8
+5.2872026723413275e-9 4.321001074871884e8
+5.291489279391198e-9 4.330441219244642e8
+5.2957758864410684e-9 4.3396010582766116e8
+5.300062493490939e-9 4.348480530197436e8
+5.30434910054081e-9 4.3570796097211e8
+5.30863570759068e-9 4.3653983079473567e8
+5.312922314640551e-9 4.37343667225615e8
+5.317208921690422e-9 4.381194786195032e8
+5.321495528740292e-9 4.3886727693597233e8
+5.325782135790163e-9 4.3958707772677267e8
+5.330068742840033e-9 4.402789001225152e8
+5.334355349889904e-9 4.4094276681867874e8
+5.338641956939775e-9 4.4157870406093806e8
+5.342928563989645e-9 4.4218674162983346e8
+5.347215171039516e-9 4.4276691282477385e8
+5.351501778089386e-9 4.4331925444738334e8
+5.355788385139257e-9 4.438438067842053e8
+5.3600749921891275e-9 4.4434061358875394e8
+5.3643615992389975e-9 4.4480972206293565e8
+5.368648206288868e-9 4.452511828378373e8
+5.372934813338739e-9 4.456650499538902e8
+5.377221420388609e-9 4.460513808404137e8
+5.38150802743848e-9 4.4641023629455394e8
+5.38579463448835e-9 4.4674168045961624e8
+5.390081241538221e-9 4.4704578080279773e8
+5.394367848588092e-9 4.473226080923345e8
+5.398654455637962e-9 4.4757223637406695e8
+5.402941062687833e-9 4.4779474294742864e8
+5.407227669737703e-9 4.4799020834086937e8
+5.411514276787574e-9 4.481587162867198e8
+5.415800883837445e-9 4.483003536955034e8
+5.420087490887315e-9 4.484152106297089e8
+5.424374097937186e-9 4.4850338027702284e8
+5.4286607049870566e-9 4.485649589230412e8
+5.432947312036927e-9 4.486000459234596e8
+5.4372339190867975e-9 4.486087436757513e8
+5.4415205261366676e-9 4.4859115759035367e8
+5.4458071331865384e-9 4.485473960613492e8
+5.450093740236409e-9 4.4847757043667555e8
+5.454380347286279e-9 4.483817949878507e8
+5.45866695433615e-9 4.4826018687924063e8
+5.46295356138602e-9 4.481128661368659e8
+5.467240168435891e-9 4.479399556167601e8
+5.471526775485762e-9 4.477415809728973e8
+5.475813382535632e-9 4.475178706246803e8
+5.480099989585503e-9 4.4726895572401917e8
+5.484386596635374e-9 4.4699497012199354e8
+5.488673203685244e-9 4.466960503351183e8
+5.492959810735115e-9 4.4637233551122016e8
+5.497246417784985e-9 4.4602396739492744e8
+5.501533024834856e-9 4.456510902927939e8
+5.505819631884727e-9 4.4525385103806216e8
+5.510106238934597e-9 4.448323989550708e8
+5.5143928459844675e-9 4.44386885823326e8
+5.518679453034338e-9 4.439174658412363e8
+5.5229660600842085e-9 4.4342429558953243e8
+5.527252667134079e-9 4.429075339943701e8
+5.531539274183949e-9 4.4236734229013413e8
+5.53582588123382e-9 4.418038839819549e8
+5.540112488283691e-9 4.41217324807936e8
+5.544399095333561e-9 4.406078327011204e8
+5.548685702383432e-9 4.3997557775119305e8
+5.552972309433302e-9 4.3932073216592765e8
+5.557258916483173e-9 4.386434702324086e8
+5.561545523533044e-9 4.3794396827800477e8
+5.565832130582914e-9 4.372224046311405e8
+5.570118737632785e-9 4.3647895958184785e8
+5.574405344682655e-9 4.357138153421265e8
+5.578691951732526e-9 4.349271560061121e8
+5.582978558782397e-9 4.3411916751006866e8
+5.587265165832267e-9 4.332900375922141e8
+5.5915517728821376e-9 4.324399557523868e8
+5.5958383799320084e-9 4.315691132115688e8
+5.6001249869818785e-9 4.306777028712715e8
+5.604411594031749e-9 4.2976591927279204e8
+5.60869820108162e-9 4.2883395855636054e8
+5.61298480813149e-9 4.2788201842017645e8
+5.617271415181361e-9 4.2691029807935333e8
+5.621558022231231e-9 4.259189982247769e8
+5.625844629281102e-9 4.2490832098188674e8
+5.630131236330972e-9 4.238784698693994e8
+5.634417843380843e-9 4.228296497579713e8
+5.638704450430714e-9 4.217620668288166e8
+5.642991057480584e-9 4.2067592853229845e8
+5.647277664530455e-9 4.1957144354648566e8
+5.651564271580326e-9 4.1844882173570526e8
+5.655850878630196e-9 4.1730827410908e8
+5.660137485680067e-9 4.161500127790793e8
+5.664424092729937e-9 4.1497425092008376e8
+5.668710699779808e-9 4.137812027269704e8
+5.6729973068296785e-9 4.125710833737374e8
+5.6772839138795485e-9 4.113441089721684e8
+5.681570520929419e-9 4.101004965305566e8
+5.6858571279792895e-9 4.0884046391248345e8
+5.69014373502916e-9 4.075642297956775e8
+5.694430342079031e-9 4.062720136309513e8
+5.698716949128901e-9 4.049640356012293e8
+5.703003556178772e-9 4.036405165806763e8
+5.707290163228642e-9 4.023016780939364e8
+5.711576770278513e-9 4.0094774227548933e8
+5.715863377328384e-9 3.995789318291295e8
+5.720149984378254e-9 3.981954699875924e8
+5.724436591428125e-9 3.9679758047231054e8
+5.728723198477995e-9 3.953854874533371e8
+5.733009805527866e-9 3.939594155094193e8
+5.737296412577737e-9 3.925195895882511e8
+5.741583019627607e-9 3.910662349668997e8
+5.745869626677478e-9 3.8959957721241957e8
+5.7501562337273485e-9 3.88119842142663e8
+5.7544428407772186e-9 3.8662725578729093e8
+5.7587294478270894e-9 3.851220443489977e8
+5.76301605487696e-9 3.8360443416495353e8
+5.76730266192683e-9 3.8207465166847086e8
+5.771589268976701e-9 3.8053292335090923e8
+5.775875876026571e-9 3.7897947572381836e8
+5.780162483076442e-9 3.7741453528133184e8
+5.784449090126313e-9 3.7583832846281564e8
+5.788735697176183e-9 3.74251081615779e8
+5.793022304226054e-9 3.7265302095906144e8
+5.797308911275924e-9 3.71044372546288e8
+5.801595518325795e-9 3.694253622296159e8
+5.805882125375666e-9 3.677962156237682e8
+5.810168732425536e-9 3.661571580703646e8
+5.814455339475407e-9 3.6450841460255784e8
+5.818741946525278e-9 3.628502099099763e8
+5.823028553575148e-9 3.6118276830398834e8
+5.8273151606250185e-9 3.5950631368328047e8
+5.831601767674889e-9 3.5782106949977106e8
+5.8358883747247595e-9 3.5612725872485465e8
+5.84017498177463e-9 3.5442510381598145e8
+5.8444615888245e-9 3.5271482668358976e8
+5.848748195874371e-9 3.5099664865838015e8
+5.853034802924241e-9 3.492707904589518e8
+5.857321409974112e-9 3.475374721597948e8
+5.861608017023983e-9 3.457969131596463e8
+5.865894624073853e-9 3.440493321502241e8
+5.870181231123724e-9 3.422949470853278e8
+5.874467838173595e-9 3.405339751503206e8
+5.878754445223465e-9 3.3876663273199886e8
+5.883041052273336e-9 3.3699313538884455e8
+5.887327659323207e-9 3.352136978216744e8
+5.891614266373077e-9 3.334285338446796e8
+5.895900873422948e-9 3.3163785635687196e8
+5.900187480472818e-9 3.2984187731392986e8
+5.9044740875226886e-9 3.2804080770044905e8
+5.9087606945725595e-9 3.2623485750261325e8
+5.9130473016224295e-9 3.24424235681266e8
+5.9173339086723e-9 3.2260915014541245e8
+5.9216205157221704e-9 3.2078980772613084e8
+5.925907122772041e-9 3.189664141509147e8
+5.930193729821912e-9 3.1713917401843655e8
+5.934480336871782e-9 3.153082907737397e8
+5.938766943921653e-9 3.134739666838654e8
+5.943053550971524e-9 3.1163640281390864e8
+5.947340158021394e-9 3.0979579900351083e8
+5.951626765071265e-9 3.0795235384379166e8
+5.955913372121135e-9 3.061062646547163e8
+5.960199979171006e-9 3.042577274629101e8
+5.964486586220876e-9 3.024069369799092e8
+5.968773193270747e-9 3.0055408658086085e8
+5.973059800320618e-9 2.986993682836668e8
+5.977346407370488e-9 2.968429727285742e8
+5.981633014420359e-9 2.9498508915821534e8
+5.9859196214702295e-9 2.9312590539809686e8
+5.9902062285200995e-9 2.9126560783753526e8
+5.9944928355699704e-9 2.8940438141104996e8
+5.9987794426198405e-9 2.875424095802007e8
+6.003066049669711e-9 2.856798743158815e8
+6.007352656719581e-9 2.8381695608106446e8
+6.011639263769452e-9 2.819538338139961e8
+6.015925870819323e-9 2.800906849118481e8
+6.020212477869193e-9 2.782276852148176e8
+6.024499084919064e-9 2.7636500899068135e8
+6.028785691968935e-9 2.7450282891980207e8
+6.033072299018805e-9 2.726413160805853e8
+6.037358906068676e-9 2.7078063993538886e8
+6.041645513118547e-9 2.6892096831688136e8
+6.045932120168417e-9 2.670624674148508e8
+6.050218727218288e-9 2.652053017634621e8
+6.054505334268158e-9 2.63349634228963e8
+6.058791941318029e-9 2.6149562599783492e8
+6.063078548367899e-9 2.5964343656539184e8
+6.0673651554177696e-9 2.5779322372482142e8
+6.0716517624676404e-9 2.5594514355666932e8
+6.0759383695175105e-9 2.5409935041876584e8
+6.080224976567381e-9 2.522559969365899e8
+6.084511583617252e-9 2.5041523399407327e8
+6.088798190667122e-9 2.4857721072483954e8
+6.093084797716993e-9 2.4674207450387695e8
+6.097371404766864e-9 2.4490997093964323e8
+6.101658011816734e-9 2.4308104386660132e8
+6.105944618866605e-9 2.412554353381819e8
+6.110231225916476e-9 2.3943328562016913e8
+6.114517832966346e-9 2.376147331845142e8
+6.118804440016217e-9 2.3579991470356312e8
+6.123091047066087e-9 2.339889650447067e8
+6.127377654115958e-9 2.3218201726544255e8
+6.131664261165828e-9 2.3037920260885108e8
+6.135950868215699e-9 2.285806504994803e8
+6.1402374752655695e-9 2.26786488539635e8
+6.14452408231544e-9 2.2499684250607136e8
+6.1488106893653105e-9 2.232118363470914e8
+6.153097296415181e-9 2.2143159218003273e8
+6.157383903465051e-9 2.1965623028915292e8
+6.161670510514922e-9 2.1788586912390387e8
+6.165957117564793e-9 2.161206252975922e8
+6.170243724614663e-9 2.1436061358642533e8
+6.174530331664534e-9 2.1260594692893383e8
+6.178816938714404e-9 2.1085673642577118e8
+6.183103545764275e-9 2.0911309133988693e8
+6.187390152814145e-9 2.0737511909706637e8
+6.191676759864016e-9 2.056429252868356e8
+6.195963366913887e-9 2.0391661366372898e8
+6.200249973963757e-9 2.021962861489102e8
+6.204536581013628e-9 2.0048204283214882e8
+6.208823188063499e-9 1.9877398197414288e8
+6.213109795113369e-9 1.970722000091901e8
+6.2173964021632396e-9 1.95376791548195e8
+6.2216830092131105e-9 1.936878493820145e8
+6.2259696162629805e-9 1.9200546448513454e8
+6.230256223312851e-9 1.9032972601967558e8
+6.234542830362722e-9 1.8866072133971992e8
+6.238829437412592e-9 1.8699853599595758e8
+6.243116044462462e-9 1.8534325374064782e8
+6.247402651512333e-9 1.8369495653288868e8
+6.251689258562204e-9 1.8205372454419363e8
+6.255975865612074e-9 1.8041963616436738e8
+6.260262472661945e-9 1.787927680076791e8
+6.264549079711816e-9 1.7717319491932553e8
+6.268835686761686e-9 1.755609899821828e8
+6.273122293811557e-9 1.7395622452383804e8
+6.277408900861428e-9 1.723589681239006e8
+6.281695507911298e-9 1.7076928862158495e8
+6.285982114961168e-9 1.69187252123562e8
+6.290268722011039e-9 1.676129230120707e8
+6.29455532906091e-9 1.660463639532933e8
+6.29884193611078e-9 1.644876359059789e8
+6.3031285431606505e-9 1.6293679813031894e8
+6.3074151502105214e-9 1.6139390819706488e8
+6.3117017572603915e-9 1.5985902199688423e8
+6.315988364310262e-9 1.5833219374995348e8
+6.320274971360133e-9 1.5681347601577652e8
+6.324561578410003e-9 1.5530291970322984e8
+6.328848185459874e-9 1.5380057408082625e8
+6.333134792509744e-9 1.5230648678719285e8
+6.337421399559615e-9 1.5082070384175813e8
+6.341708006609486e-9 1.4934326965564492e8
+6.345994613659357e-9 1.4787422704276228e8
+6.350281220709227e-9 1.4641361723109224e8
+6.354567827759098e-9 1.4496147987416512e8
+6.358854434808968e-9 1.43517853062723e8
+6.363141041858839e-9 1.4208277333655936e8
+6.367427648908709e-9 1.4065627569653782e8
+6.37171425595858e-9 1.392383936167773e8
+6.3760008630084505e-9 1.3782915905700526e8
+6.3802874700583206e-9 1.3642860247507042e8
+6.3845740771081915e-9 1.350367528396112e8
+6.3888606841580615e-9 1.3365363764287645e8
+6.393147291207932e-9 1.3227928291368946e8
+6.397433898257803e-9 1.3091371323055503e8
+6.401720505307674e-9 1.2955695173490313e8
+6.406007112357544e-9 1.2820902014446345e8
+6.410293719407414e-9 1.2686993876676737e8
+6.414580326457285e-9 1.2553972651277222e8
+6.418866933507156e-9 1.2421840091060191e8
+6.423153540557026e-9 1.229059781194025e8
+6.427440147606897e-9 1.2160247294330353e8
+6.431726754656768e-9 1.2030789884548558e8
+6.436013361706638e-9 1.1902226796234377e8
+6.440299968756509e-9 1.177455911177483e8
+6.44458657580638e-9 1.164778778373935e8
+6.44887318285625e-9 1.1521913636323236e8
+6.4531597899061206e-9 1.1396937366799235e8
+6.457446396955991e-9 1.1272859546976723e8
+6.4617330040058615e-9 1.1149680624668097e8
+6.4660196110557315e-9 1.1027400925161934e8
+6.4703062181056024e-9 1.0906020652702501e8
+6.474592825155473e-9 1.0785539891975212e8
+6.478879432205343e-9 1.0665958609597372e8
+6.483166039255214e-9 1.0547276655614163e8
+6.487452646305085e-9 1.0429493764999203e8
+6.491739253354955e-9 1.0312609559159368e8
+6.496025860404826e-9 1.0196623547443245e8
+6.500312467454696e-9 1.0081535128653225e8
+6.504599074504567e-9 9.967343592560452e7
+6.508885681554438e-9 9.854048121422325e7
+6.513172288604308e-9 9.741647791502401e7
+6.517458895654179e-9 9.630141574591951e7
+6.521745502704049e-9 9.519528339532994e7
+6.52603210975392e-9 9.409806853742357e7
+6.5303187168037906e-9 9.300975784736484e7
+6.534605323853661e-9 9.19303370165652e7
+6.5388919309035315e-9 9.085979076793256e7
+6.5431785379534016e-9 8.979810287111793e7
+6.5474651450032724e-9 8.874525615775324e7
+6.551751752053143e-9 8.770123253667825e7
+6.556038359103014e-9 8.666601300915222e7
+6.560324966152884e-9 8.563957768404886e7
+6.564611573202755e-9 8.462190579302734e7
+6.568898180252625e-9 8.361297570568089e7
+6.573184787302496e-9 8.261276494465528e7
+6.577471394352366e-9 8.162125020073745e7
+6.581758001402237e-9 8.063840734790875e7
+6.586044608452108e-9 7.966421145836085e7
+6.590331215501978e-9 7.869863681747052e7
+6.594617822551849e-9 7.774165693873169e7
+6.59890442960172e-9 7.679324457863978e7
+6.60319103665159e-9 7.585337175152738e7
+6.607477643701461e-9 7.492200974434686e7
+6.6117642507513315e-9 7.399912913139744e7
+6.6160508578012015e-9 7.308469978899588e7
+6.620337464851072e-9 7.217869091008522e7
+6.6246240719009425e-9 7.128107101878007e7
+6.628910678950813e-9 7.03918079848468e7
+6.633197286000684e-9 6.951086903811505e7
+6.637483893050554e-9 6.863822078281851e7
+6.641770500100425e-9 6.777382921186194e7
+6.646057107150295e-9 6.691765972101304e7
+6.650343714200166e-9 6.606967712301601e7
+6.654630321250037e-9 6.5229845661625154e7
+6.658916928299907e-9 6.439812902555563e7
+6.663203535349778e-9 6.357449036234984e7
+6.667490142399648e-9 6.275889229215749e7
+6.671776749449519e-9 6.19512969214258e7
+6.676063356499389e-9 6.1151665856500246e7
+6.68034996354926e-9 6.035996021713172e7
+6.684636570599131e-9 5.957614064988939e7
+6.688923177649001e-9 5.880016734147705e7
+6.6932097846988716e-9 5.8032000031951584e7
+6.6974963917487425e-9 5.727159802784088e7
+6.7017829987986125e-9 5.651892021516076e7
+6.706069605848483e-9 5.577392507232821e7
+6.7103562128983534e-9 5.503657068297018e7
+6.714642819948224e-9 5.430681474862513e7
+6.718929426998095e-9 5.35846146013383e7
+6.723216034047966e-9 5.2869927216146186e7
+6.727502641097836e-9 5.216270922345124e7
+6.731789248147706e-9 5.146291692128447e7
+6.736075855197577e-9 5.0770506287454955e7
+6.740362462247448e-9 5.008543299158416e7
+6.744649069297318e-9 4.94076524070258e7
+6.748935676347189e-9 4.873711962266813e7
+6.75322228339706e-9 4.807378945461906e7
+6.75750889044693e-9 4.7417616457771175e7
+6.761795497496801e-9 4.676855493724879e7
+6.7660821045466716e-9 4.612655895973253e7
+6.770368711596542e-9 4.549158236466373e7
+6.7746553186464125e-9 4.486357877532477e7
+6.778941925696283e-9 4.424250160979792e7
+6.7832285327461534e-9 4.362830409179844e7
+6.7875151397960235e-9 4.302093926138423e7
+6.791801746845894e-9 4.242035998553946e7
+6.796088353895765e-9 4.182651896863271e7
+6.800374960945636e-9 4.1239368762747705e7
+6.804661567995506e-9 4.065886177788782e7
+6.808948175045377e-9 4.0084950292052485e7
+6.813234782095247e-9 3.951758646118611e7
+6.817521389145118e-9 3.8956722328997724e7
+6.821807996194989e-9 3.840230983665274e7
+6.826094603244859e-9 3.7854300832335256e7
+6.83038121029473e-9 3.73126470806807e7
+6.834667817344601e-9 3.677730027207944e7
+6.838954424394471e-9 3.6248212031850204e7
+6.843241031444342e-9 3.572533392928363e7
+6.847527638494212e-9 3.520861748655565e7
+6.8518142455440825e-9 3.469801418751099e7
+6.8561008525939526e-9 3.419347548631621e7
+6.860387459643824e-9 3.369495281598238e7
+6.864674066693694e-9 3.320239759675795e7
+6.868960673743564e-9 3.271576124439116e7
+6.873247280793435e-9 3.223499517826237e7
+6.877533887843306e-9 3.1760050829386894e7
+6.881820494893176e-9 3.129087964828761e7
+6.886107101943047e-9 3.0827433112738043e7
+6.890393708992918e-9 3.036966273537641e7
+6.894680316042788e-9 2.991752007119037e7
+6.898966923092658e-9 2.9470956724873155e7
+6.90325353014253e-9 2.9029924358050775e7
+6.9075401371924e-9 2.8594374696381785e7
+6.91182674424227e-9 2.8164259536528785e7
+6.916113351292141e-9 2.773953075300285e7
+6.920399958342012e-9 2.7320140304880932e7
+6.924686565391882e-9 2.6906040242396913e7
+6.9289731724417526e-9 2.6497182713406883e7
+6.9332597794916234e-9 2.609351996972848e7
+6.9375463865414935e-9 2.5695004373356078e7
+6.9418329935913635e-9 2.5301588402551066e7
+6.946119600641235e-9 2.4913224657808766e7
+6.950406207691105e-9 2.4529865867702037e7
+6.954692814740975e-9 2.4151464894602746e7
+6.958979421790846e-9 2.3777974740280997e7
+6.963266028840717e-9 2.3409348551383827e7
+6.967552635890587e-9 2.3045539624792896e7
+6.971839242940458e-9 2.2686501412863035e7
+6.976125849990329e-9 2.2332187528541576e7
+6.980412457040199e-9 2.1982551750369765e7
+6.98469906409007e-9 2.16375480273665e7
+6.988985671139941e-9 2.1297130483796027e7
+6.993272278189811e-9 2.0961253423819356e7
+6.997558885239681e-9 2.0629871336031362e7
+7.0018454922895525e-9 2.0302938897883262e7
+7.006132099339423e-9 1.9980410979992777e7
+7.0104187063892935e-9 1.966224265034099e7
+7.0147053134391635e-9 1.9348389178359192e7
+7.018991920489034e-9 1.9038806038904026e7
+7.0232785275389044e-9 1.8733448916124146e7
+7.027565134588776e-9 1.843227370721766e7
+7.031851741638646e-9 1.8135236526082877e7
+7.036138348688516e-9 1.7842293706861522e7
+7.040424955738387e-9 1.755340180737703e7
+7.044711562788258e-9 1.726851761246817e7
+7.048998169838128e-9 1.6987598137219053e7
+7.053284776887999e-9 1.6710600630086504e7
+7.05757138393787e-9 1.6437482575926166e7
+7.06185799098774e-9 1.616820169891807e7
+7.06614459803761e-9 1.590271596539281e7
+7.070431205087482e-9 1.5640983586559402e7
+7.074717812137352e-9 1.5382963021135999e7
+7.079004419187222e-9 1.512861297788416e7
+7.083291026237093e-9 1.487789241804841e7
+7.0875776332869635e-9 1.4630760557701519e7
+7.0918642403368335e-9 1.4387176869997079e7
+7.0961508473867044e-9 1.4147101087330207e7
+7.100437454436575e-9 1.3910493203407671e7
+7.104724061486445e-9 1.3677313475228284e7
+7.109010668536315e-9 1.3447522424975118e7
+7.113297275586187e-9 1.3221080841820218e7
+7.117583882636057e-9 1.2997949783643404e7
+7.121870489685928e-9 1.2778090578665597e7
+7.126157096735798e-9 1.2561464826998778e7
+7.130443703785669e-9 1.2348034402112722e7
+7.134730310835539e-9 1.2137761452220503e7
+7.139016917885411e-9 1.1930608401583185e7
+7.143303524935281e-9 1.172653795173543e7
+7.147590131985151e-9 1.152551308263285e7
+7.151876739035022e-9 1.132749705372219e7
+7.156163346084893e-9 1.113245340493584e7
+7.160449953134763e-9 1.0940345957611497e7
+7.1647365601846335e-9 1.0751138815338137e7
+7.169023167234504e-9 1.056479636472963e7
+7.1733097742843745e-9 1.0381283276127119e7
+7.177596381334245e-9 1.0200564504231144e7
+7.181882988384116e-9 1.00226052886646e7
+7.186169595433986e-9 9.847371154468061e6
+7.190456202483856e-9 9.674827912528213e6
+7.194742809533728e-9 9.50494165994073e6
+7.199029416583598e-9 9.337678780308517e6
+7.203316023633468e-9 9.173005943976821e6
+7.207602630683339e-9 9.010890108205907e6
+7.21188923773321e-9 8.851298517282665e6
+7.21617584478308e-9 8.694198702572318e6
+7.220462451832951e-9 8.539558482511103e6
+7.224749058882822e-9 8.387345962541277e6
+7.229035665932692e-9 8.237529534989264e6
+7.233322272982562e-9 8.0900778788885e6
+7.2376088800324335e-9 7.944959959747452e6
+7.2418954870823036e-9 7.802145029264545e6
+7.246182094132174e-9 7.661602624990436e6
+7.2504687011820445e-9 7.523302569939378e6
+7.254755308231915e-9 7.387214972150031e6
+7.2590419152817854e-9 7.253310224197377e6
+7.263328522331656e-9 7.121559002656581e6
+7.267615129381527e-9 6.991932267519595e6
+7.271901736431397e-9 6.864401261566002e6
+7.276188343481267e-9 6.738937509688724e6
+7.280474950531139e-9 6.615512818175976e6
+7.284761557581009e-9 6.494099273950079e6
+7.28904816463088e-9 6.374669243764563e6
+7.29333477168075e-9 6.257195373360269e6
+7.297621378730621e-9 6.141650586581476e6
+7.301907985780491e-9 6.028008084453239e6
+7.306194592830363e-9 5.916241344220618e6
+7.310481199880233e-9 5.8063241183511065e6
+7.314767806930103e-9 5.6982304335007705e6
+7.319054413979974e-9 5.591934589445558e6
+7.3233410210298445e-9 5.487411157978308e6
+7.3276276280797145e-9 5.384634981772682e6
+7.331914235129585e-9 5.283581173214625e6
+7.336200842179456e-9 5.184225113202649e6
+7.340487449229326e-9 5.086542449917532e6
+7.344774056279196e-9 4.99050909756253e6
+7.349060663329068e-9 4.896101235074749e6
+7.353347270378938e-9 4.803295304808925e6
+7.357633877428808e-9 4.712068011194022e6
+7.361920484478679e-9 4.62239631936394e6
+7.36620709152855e-9 4.5342574537628135e6
+7.37049369857842e-9 4.447628896726059e6
+7.374780305628291e-9 4.362488387037671e6
+7.379066912678162e-9 4.2788139184649e6
+7.383353519728032e-9 4.196583738270823e6
+7.387640126777903e-9 4.1157763457059013e6
+7.3919267338277736e-9 4.0363704904789873e6
+7.396213340877644e-9 3.958345171208918e6
+7.400499947927514e-9 3.8816796338570532e6
+7.404786554977385e-9 3.806353370141864e6
+7.4090731620272554e-9 3.732346115936181e6
+7.4133597690771255e-9 3.659637849647731e6
+7.417646376126997e-9 3.58820879058388e6
+7.421932983176867e-9 3.5180393973011347e6
+7.426219590226737e-9 3.4491103659402262e6
+7.430506197276608e-9 3.3814026285474035e6
+7.434792804326479e-9 3.3148973513825294e6
+7.439079411376349e-9 3.249575933214941e6
+7.44336601842622e-9 3.185420003607338e6
+7.447652625476091e-9 3.122411421188679e6
+7.451939232525961e-9 3.060532271916582e6
+7.456225839575831e-9 2.9997648673298704e6
+7.460512446625703e-9 2.940091742791832e6
+7.464799053675573e-9 2.8814956557249506e6
+7.469085660725443e-9 2.823959583837584e6
+7.473372267775314e-9 2.7674667233431865e6
+7.477658874825185e-9 2.7120004871726907e6
+7.481945481875055e-9 2.6575445031806324e6
+7.486232088924925e-9 2.6040826123454943e6
+7.490518695974796e-9 2.551598866964927e6
+7.494805303024666e-9 2.5000775288462928e6
+7.499091910074538e-9 2.4495030674930722e6
+7.503378517124407e-9 2.39986015828778e6
+7.507665124174278e-9 2.3511336806716244e6
+7.511951731224148e-9 2.3033087163217487e6
+7.51623833827402e-9 2.2563705473262393e6
+7.52052494532389e-9 2.2103046543575637e6
+7.52481155237376e-9 2.165096714844879e6
+7.52909815942363e-9 2.1207326011455893e6
+7.533384766473502e-9 2.077198378716674e6
+7.537671373523372e-9 2.0344803042862287e6
+7.541957980573242e-9 1.9925648240255883e6
+7.546244587623114e-9 1.9514385717225522e6
+7.550531194672984e-9 1.9110883669559902e6
+7.554817801722854e-9 1.8715012132723806e6
+7.559104408772725e-9 1.8326642963645202e6
+7.563391015822595e-9 1.7945649822529608e6
+7.567677622872466e-9 1.7571908154703793e6
+7.571964229922337e-9 1.720529517249348e6
+7.576250836972207e-9 1.6845689837138236e6
+7.580537444022077e-9 1.649297284074824e6
+7.584824051071949e-9 1.6147026588303044e6
+7.589110658121819e-9 1.5807735179700358e6
+7.593397265171689e-9 1.5474984391853788e6
+7.597683872221561e-9 1.5148661660845485e6
+7.601970479271431e-9 1.4828656064134995e6
+7.606257086321301e-9 1.4514858302828951e6
+7.610543693371173e-9 1.4207160684012673e6
+7.614830300421043e-9 1.3905457103148215e6
+7.619116907470913e-9 1.3609643026539893e6
+7.623403514520783e-9 1.3319615473871888e6
+7.627690121570655e-9 1.3035273000818656e6
+7.631976728620525e-9 1.2756515681731983e6
+7.636263335670395e-9 1.2483245092405982e6
+7.640549942720265e-9 1.221536429292364e6
+7.644836549770136e-9 1.1952777810585885e6
+7.649123156820006e-9 1.1695391622926851e6
+7.653409763869878e-9 1.1443113140815455e6
+7.657696370919748e-9 1.119585119164802e6
+7.661982977969618e-9 1.0953516002630673e6
+7.666269585019488e-9 1.071601918415673e6
+7.67055619206936e-9 1.0483273713278637e6
+7.67484279911923e-9 1.025519391727706e6
+7.6791294061691e-9 1.0031695457328764e6
+7.683416013218972e-9 981269.5312275143
+7.687702620268842e-9 959811.176249243
+7.691989227318712e-9 938786.4373865835
+7.696275834368584e-9 918187.3981868342
+7.700562441418454e-9 898006.2675746067
+7.704849048468324e-9 878235.378281138
+7.709135655518195e-9 858867.1852844907
+7.713422262568066e-9 839894.2642607917
+7.717708869617936e-9 821309.3100465784
+7.721995476667807e-9 803105.1351124364
+7.726282083717677e-9 785274.6680479536
+7.730568690767547e-9 767810.952058138
+7.734855297817417e-9 750707.1434713823
+7.739141904867287e-9 733956.5102590603
+7.74342851191716e-9 717552.430566834
+7.74771511896703e-9 701488.3912577669
+7.752001726016901e-9 685757.9864672908
+7.756288333066771e-9 670354.9161701138
+7.760574940116641e-9 655272.984759127
+7.764861547166513e-9 640506.0996363647
+7.769148154216383e-9 626048.2698160809
+7.773434761266253e-9 611893.6045399746
+7.777721368316123e-9 598036.3119046267
+7.782007975365995e-9 584470.697501182
+7.786294582415865e-9 571191.1630673026
+7.790581189465735e-9 558192.2051514434
+7.794867796515606e-9 545468.4137894692
+7.799154403565476e-9 533014.4711936078
+7.803441010615347e-9 520825.15045383974
+7.807727617665218e-9 508895.31425162154
+7.812014224715088e-9 497219.91358607635
+7.816300831764958e-9 485793.9865125704
+7.82058743881483e-9 474612.6568937288
+7.8248740458647e-9 463671.1331628664
+7.82916065291457e-9 452964.7070998547
+7.833447259964442e-9 442488.75261939305
+7.837733867014312e-9 432238.7245717083
+7.842020474064182e-9 422210.15755562583
+7.846307081114052e-9 412398.66474404547
+7.850593688163924e-9 402799.93672176835
+7.854880295213794e-9 393409.7403356822
+7.859166902263664e-9 384223.9175572428
+7.863453509313534e-9 375238.38435727096
+7.867740116363406e-9 366449.1295929995
+7.872026723413276e-9 357852.2139073599
+7.876313330463146e-9 349443.7686404554
+7.880599937513017e-9 341219.9947532105
+7.884886544562887e-9 333177.1617631174
+7.889173151612757e-9 325311.60669209
+7.89345975866263e-9 317619.7330263256
+7.8977463657125e-9 310098.0096881642
+7.90203297276237e-9 302742.97001989774
+7.906319579812241e-9 295551.2107794554
+7.910606186862111e-9 288519.39114792296
+7.914892793911981e-9 281644.2317488577
+7.919179400961853e-9 274922.5136793162
+7.923466008011723e-9 268351.07755255664
+7.927752615061593e-9 261926.82255234217
+7.932039222111465e-9 255646.70549879424
+7.936325829161335e-9 249507.7399257266
+7.940612436211205e-9 243506.9951693946
+7.944899043261075e-9 237641.5954685995
+7.949185650310945e-9 231908.71907606823
+7.953472257360817e-9 226305.59738105582
+7.957758864410687e-9 220829.5140430842
+7.962045471460558e-9 215477.8041367517
+7.966332078510428e-9 210247.8533075466
+7.9706186855603e-9 205137.09693857568
+7.97490529261017e-9 200143.01932814944
+7.97919189966004e-9 195263.15287813116
+7.98347850670991e-9 190495.0772929843
+7.987765113759782e-9 185836.41878943413
+7.992051720809652e-9 181284.84931666724
+7.996338327859522e-9 176838.0857869816
+8.000624934909392e-9 172493.8893168157
+8.004911541959264e-9 168250.06447806998
+8.009198149009134e-9 164104.4585596356
+8.013484756059004e-9 160054.9608390486
+8.017771363108876e-9 156099.50186419164
+8.022057970158746e-9 152236.05274494813
+8.026344577208616e-9 148462.6244547313
+8.030631184258487e-9 144777.26714179973
+8.034917791308357e-9 141178.06945027094
+8.039204398358227e-9 137663.1578507523
+8.0434910054081e-9 134230.69598049574
+8.04777761245797e-9 130878.88399299239
+8.05206421950784e-9 127605.95791691892
+8.05635082655771e-9 124410.18902434611
+8.060637433607581e-9 121289.88320812155
+8.064924040657451e-9 118243.38036834176
+8.069210647707321e-9 115269.05380781731
+8.073497254757191e-9 112365.30963644739
+8.077783861807063e-9 109530.58618441601
+8.082070468856933e-9 106763.35342411607
+8.086357075906803e-9 104062.11240071317
+8.090643682956675e-9 101425.39467126197
+8.094930290006546e-9 98851.761752285
+8.099216897056415e-9 96339.80457572282
+8.103503504106287e-9 93888.14295316805
+8.107790111156157e-9 91495.42504829264
+8.112076718206027e-9 89160.3268573815
+8.116363325255898e-9 86881.55169788151
+8.120649932305768e-9 84657.82970487552
+8.124936539355638e-9 82487.91733539713
+8.12922314640551e-9 80370.59688049398
+8.13350975345538e-9 78304.67598495388
+8.13779636050525e-9 76288.98717460116
+8.142082967555122e-9 74322.38739108149
+8.146369574604992e-9 72403.75753404337
+8.150656181654862e-9 70532.00201063075
+8.154942788704734e-9 68706.04829219854
+8.159229395754602e-9 66924.84647816613
+8.163516002804474e-9 65187.3688669212
+8.167802609854344e-9 63492.60953368956
+8.172089216904216e-9 61839.58391528235
+8.176375823954086e-9 60227.328401639425
+8.180662431003957e-9 58654.89993408134
+8.184949038053827e-9 57121.37561018887
+8.189235645103698e-9 55625.85229521976
+8.193522252153568e-9 54167.44623998793
+8.19780885920344e-9 52745.29270511634
+8.20209546625331e-9 51358.54559158252
+8.20638207330318e-9 50006.377077475045
+8.21066868035305e-9 48687.9772608812
+8.214955287402921e-9 47402.553808820805
+8.219241894452791e-9 46149.331612151516
+8.223528501502661e-9 44927.55244636021
+8.227815108552533e-9 43736.47463816532
+8.232101715602403e-9 42575.372737849066
+8.236388322652273e-9 41443.537197243626
+8.240674929702145e-9 40340.27405329023
+8.244961536752015e-9 39264.904617099266
+8.249248143801885e-9 38216.76516842933
+8.253534750851757e-9 37195.206655515205
+8.257821357901627e-9 36199.59440016474
+8.262107964951497e-9 35229.30780805289
+8.266394572001368e-9 34283.74008413924
+8.270681179051238e-9 33362.29795313399
+8.274967786101108e-9 32464.40138494016
+8.279254393150979e-9 31589.483325002475
+8.28354100020085e-9 30736.989429487574
+8.28782760725072e-9 29906.377805228796
+8.29211421430059e-9 29097.118754362436
+8.29640082135046e-9 28308.69452358773
+8.300687428400332e-9 27540.5990579817
+8.304974035450204e-9 26792.33775930063
+8.309260642500074e-9 26063.427248700216
+8.313547249549944e-9 25353.39513380866
+8.317833856599814e-9 24661.77978008569
+8.322120463649684e-9 23988.13008640338
+8.326407070699556e-9 23332.005264782594
+8.330693677749426e-9 22692.974624221886
+8.334980284799296e-9 22070.617358555206
+8.339266891849168e-9 21464.522338276187
+8.343553498899038e-9 20874.28790626668
+8.347840105948908e-9 20299.52167736693
+8.35212671299878e-9 19739.840341730098
+8.35641332004865e-9 19194.869471896844
+8.36069992709852e-9 18664.24333353461
+8.364986534148391e-9 18147.604699779622
+8.369273141198261e-9 17644.604669126544
+8.373559748248131e-9 17154.90248680616
+8.377846355298003e-9 16678.165369596387
+8.382132962347873e-9 16214.06833400848
+8.386419569397743e-9 15762.29402779589
+8.390706176447615e-9 15322.532564728346
+8.394992783497485e-9 14894.481362579787
+8.399279390547355e-9 14477.844984274343
+8.403565997597225e-9 14072.334982139939
+8.407852604647097e-9 13677.669745216248
+8.412139211696967e-9 13293.574349566165
+8.416425818746837e-9 12919.780411539845
+8.420712425796707e-9 12556.025943941328
+8.424999032846578e-9 12202.05521504898
+8.42928563989645e-9 11857.618610440059
+8.433572246946319e-9 11522.472497571882
+8.43785885399619e-9 11196.37909307201
+8.44214546104606e-9 10879.106332690839
+8.44643206809593e-9 10570.427743869823
+8.450718675145802e-9 10270.122320880424
+8.455005282195672e-9 9977.974402488171
+8.459291889245542e-9 9693.773552098206
+8.463578496295414e-9 9417.314440337917
+8.467865103345284e-9 9148.396730033983
+8.472151710395154e-9 8886.824963540745
+8.476438317445026e-9 8632.408452378955
+8.480724924494896e-9 8384.96116914258
+8.485011531544766e-9 8144.301641633284
+8.489298138594638e-9 7910.25284918262
+8.493584745644508e-9 7682.642121122104
+8.497871352694378e-9 7461.3010373622665
+8.502157959744248e-9 7246.065331042261
+8.506444566794118e-9 7036.774793211875
+8.51073117384399e-9 6833.2731795092195
+8.515017780893861e-9 6635.40811879692
+8.519304387943731e-9 6443.031023720415
+8.523590994993601e-9 6255.997003153249
+8.527877602043473e-9 6074.164776493914
+8.532164209093343e-9 5897.396589779688
+8.536450816143213e-9 5725.558133583352
+8.540737423193083e-9 5558.518462659408
+8.545024030242953e-9 5396.149917306722
+8.549310637292825e-9 5238.32804641515
+8.553597244342695e-9 5084.931532163919
+8.557883851392565e-9 4935.842116340539
+8.562170458442437e-9 4790.944528249374
+8.566457065492307e-9 4650.126414178882
+8.570743672542177e-9 4513.27826839795
+8.575030279592048e-9 4380.293365651782
+8.579316886641919e-9 4251.06769512799
+8.583603493691789e-9 4125.499895864624
+8.58789010074166e-9 4003.491193572018
+8.59217670779153e-9 3884.9453388404136
+8.5964633148414e-9 3769.768546706758
+8.600749921891272e-9 3657.869437553434
+8.605036528941142e-9 3549.1589793130397
+8.609323135991012e-9 3443.550430952887
+8.613609743040882e-9 3340.959287214279
+8.617896350090754e-9 3241.3032245812606
+8.622182957140624e-9 3144.502048454382
+8.626469564190494e-9 3050.4776415053075
+8.630756171240364e-9 2959.1539131884642
+8.635042778290236e-9 2870.4567503866288
+8.639329385340108e-9 2784.313969167185
+8.643615992389976e-9 2700.655267626771
+8.647902599439848e-9 2619.4121798021088
+8.652189206489718e-9 2540.5180306252196
+8.656475813539588e-9 2463.907891901755
+8.66076242058946e-9 2389.5185392912995
+8.66504902763933e-9 2317.2884102691582
+8.6693356346892e-9 2247.157563049332
+8.673622241739071e-9 2179.0676364487827
+8.677908848788941e-9 2112.9618106733965
+8.682195455838811e-9 2048.784769006566
+8.686482062888683e-9 1986.4826603814606
+8.690768669938553e-9 1926.003062818603
+8.695055276988423e-9 1867.2949477103787
+8.699341884038295e-9 1810.3086449348987
+8.703628491088165e-9 1754.9958087815596
+8.707915098138035e-9 1701.309384671194
+8.712201705187905e-9 1649.2035766538406
+8.716488312237775e-9 1598.6338156677675
+8.720774919287647e-9 1549.556728543346
+8.725061526337519e-9 1501.93010773595
+8.729348133387389e-9 1455.7128817721314
+8.733634740437259e-9 1410.8650863938713
+8.73792134748713e-9 1367.3478363857107
+8.742207954536999e-9 1325.1232980701689
+8.74649456158687e-9 1284.1546624567277
+8.75078116863674e-9 1244.4061190304521
+8.75506777568661e-9 1205.8428301660354
+8.759354382736482e-9 1168.4309061539034
+8.763640989786354e-9 1132.1373808246312
+8.767927596836222e-9 1096.930187758866
+8.772214203886094e-9 1062.77813706962
+8.776500810935964e-9 1029.6508927444863
+8.780787417985834e-9 997.518950535194
+8.785074025035706e-9 966.3536163825638
+8.789360632085576e-9 936.1269853648055
+8.793647239135446e-9 906.811921157622
+8.797933846185318e-9 878.3820359945046
+8.802220453235188e-9 850.8116711162282
+8.806507060285058e-9 824.0758776983877
+8.81079366733493e-9 798.1503982463174
+8.8150802743848e-9 773.0116484467792
+8.81936688143467e-9 748.636699466142
+8.823653488484541e-9 725.0032606848768
+8.827940095534411e-9 702.0896628585232
+8.832226702584281e-9 679.8748416952936
+8.836513309634151e-9 658.3383218409227
+8.840799916684021e-9 637.4602012613558
+8.845086523733893e-9 617.2211360142029
+8.849373130783765e-9 597.6023253999437
+8.853659737833633e-9 578.5854974842155
+8.857946344883505e-9 560.1528949825356
+8.862232951933377e-9 542.2872614990981
+8.866519558983245e-9 524.9718281114413
+8.870806166033117e-9 508.19030029287075
+8.875092773082987e-9 491.9268451648375
+8.879379380132857e-9 476.1660790715052
+8.883665987182729e-9 460.89305546898544
+8.887952594232599e-9 446.09325312182705
+8.892239201282469e-9 431.75256459954795
+8.89652580833234e-9 417.85728506612213
+8.90081241538221e-9 404.3941013555027
+8.90509902243208e-9 391.35008132637273
+8.909385629481952e-9 378.7126634895462
+8.913672236531822e-9 366.46964690147246
+8.917958843581692e-9 354.6091813175469
+8.922245450631564e-9 343.1197575989586
+8.926532057681432e-9 331.9901983670645
+8.930818664731304e-9 321.2096488992986
+8.935105271781176e-9 310.76756826081925
+8.939391878831046e-9 300.6537206662097
+8.943678485880916e-9 290.8581670656783
+8.947965092930788e-9 281.3712569502969
+8.952251699980658e-9 272.1836203709962
+8.956538307030528e-9 263.2861601660797
+8.960824914080398e-9 254.67004439219923
+8.965111521130268e-9 246.32669895381545
+8.96939812818014e-9 238.24780042628467
+8.973684735230011e-9 230.4252690678006
+8.97797134227988e-9 222.8512620155926
+8.982257949329751e-9 215.5181666617923
+8.986544556379623e-9 208.4185942045719
+8.990831163429492e-9 201.5453733701862
+8.995117770479363e-9 194.8915443017079
+8.999404377529233e-9 188.4503526102969
+9.003690984579103e-9 182.21524358497226
+9.007977591628975e-9 176.17985655691393
+9.012264198678845e-9 170.33801941444747
+9.016550805728715e-9 164.68374326493716
+9.020837412778587e-9 159.21121723989648
+9.025124019828457e-9 153.9148034397012
+9.029410626878327e-9 148.78903201441545
+9.033697233928199e-9 143.82859637726992
+9.037983840978069e-9 139.02834854744916
+9.042270448027939e-9 134.3832946189
+9.04655705507781e-9 129.88859035196822
+9.05084366212768e-9 125.53953688473355
+9.05513026917755e-9 121.33157656099573
+9.059416876227422e-9 117.2602888719159
+9.06370348327729e-9 113.32138650841966
+9.067990090327162e-9 109.51071152151847
+9.072276697377034e-9 105.82423158776574
+9.076563304426902e-9 102.25803637714039
+9.080849911476774e-9 98.8083340207363
+9.085136518526646e-9 95.47144767564427
+9.089423125576514e-9 92.24381218453784
+9.093709732626386e-9 89.12197082748465
+9.097996339676258e-9 86.1025721635986
+9.102282946726128e-9 83.18236696018663
+9.106569553775998e-9 80.35820520710723
+9.110856160825868e-9 77.62703321410712
+9.115142767875738e-9 74.98589078897398
+9.11942937492561e-9 72.43190849437232
+9.12371598197548e-9 69.96230498129836
+9.12800258902535e-9 67.57438439713295
+9.132289196075221e-9 65.26553386632656
+9.13657580312509e-9 63.03322104179077
+9.140862410174962e-9 60.87499172512614
+9.145149017224833e-9 58.78846755385943
+9.149435624274703e-9 56.77134375390254
+9.153722231324573e-9 54.82138695550423
+9.158008838374445e-9 52.93643307099164
+9.162295445424315e-9 51.11438523265487
+9.166582052474185e-9 49.35321178915778
+9.170868659524055e-9 47.65094435891234
+9.175155266573925e-9 46.00567593887461
+9.179441873623797e-9 44.415559067279105
+9.183728480673669e-9 42.878804038847896
+9.188015087723537e-9 41.39367717106334
+9.192301694773409e-9 39.958499120113416
+9.19658830182328e-9 38.57164324517139
+9.200874908873149e-9 37.23153401968446
+9.20516151592302e-9 35.93664548840421
+9.209448122972892e-9 34.68549976890001
+9.21373473002276e-9 33.476665596348354
+9.218021337072632e-9 32.30875691040582
+9.222307944122502e-9 31.180431483019944
+9.226594551172372e-9 30.090389586046083
+9.230881158222244e-9 29.037372697579766
+9.235167765272114e-9 28.02016224593377
+9.239454372321984e-9 27.037578390224574
+9.243740979371856e-9 26.088478836551076
+9.248027586421726e-9 25.171757688783092
+9.252314193471596e-9 24.286344332995224
+9.256600800521468e-9 23.43120235461469
+9.260887407571338e-9 22.605328487368563
+9.265174014621208e-9 21.8077515931457
+9.26946062167108e-9 21.037531671906216
+9.27374722872095e-9 20.293758900801556
+9.27803383577082e-9 19.57555270168204
+9.282320442820691e-9 18.88206083619699
\ No newline at end of file
diff --git a/ecell4/egfrd/legacy/samples/reversible/p_rev.0.tsv b/ecell4/egfrd/legacy/samples/reversible/p_rev.0.tsv
new file mode 100644
index 0000000..e3140f7
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/reversible/p_rev.0.tsv
@@ -0,0 +1,1000 @@
+5.e-9 2.393672147976592e6
+5.0428660704987056e-9 2.4584407268715673e6
+5.085732140997411e-9 2.5238863338645278e6
+5.1285982114961165e-9 2.590001515315117e6
+5.171464281994823e-9 2.6567786472140537e6
+5.214330352493528e-9 2.7242099368519178e6
+5.257196422992234e-9 2.792287424543045e6
+5.300062493490939e-9 2.861002985422743e6
+5.342928563989645e-9 2.9303483312359233e6
+5.38579463448835e-9 3.0003150122229396e6
+5.4286607049870566e-9 3.070894419014729e6
+5.471526775485762e-9 3.142077784602613e6
+5.5143928459844675e-9 3.2138561863247906e6
+5.557258916483173e-9 3.2862205479073017e6
+5.6001249869818785e-9 3.3591616415657555e6
+5.642991057480584e-9 3.432670090117469e6
+5.6858571279792895e-9 3.5067363691450264e6
+5.728723198477996e-9 3.581350809214073e6
+5.771589268976701e-9 3.6565035981400013e6
+5.814455339475407e-9 3.732184783237919e6
+5.857321409974112e-9 3.8083842736871815e6
+5.900187480472818e-9 3.885091842867708e6
+5.943053550971523e-9 3.9622971307887887e6
+5.9859196214702295e-9 4.0399896465099226e6
+6.028785691968935e-9 4.1181587706237338e6
+6.0716517624676404e-9 4.19679375776445e6
+6.114517832966346e-9 4.275883739150327e6
+6.157383903465051e-9 4.355417725171042e6
+6.200249973963757e-9 4.435384607981972e6
+6.243116044462462e-9 4.515773164166923e6
+6.285982114961168e-9 4.596572057390441e6
+6.328848185459874e-9 4.677769841117237e6
+6.37171425595858e-9 4.759354961335792e6
+6.414580326457285e-9 4.841315759326359e6
+6.457446396955991e-9 4.923640474445729e6
+6.500312467454697e-9 5.006317246947557e6
+6.543178537953402e-9 5.089334120805242e6
+6.586044608452108e-9 5.172679046611643e6
+6.628910678950813e-9 5.256339884446318e6
+6.671776749449519e-9 5.340304406791342e6
+6.714642819948224e-9 5.424560301469182e6
+6.75750889044693e-9 5.509095174610741e6
+6.800374960945635e-9 5.593896553619478e6
+6.843241031444341e-9 5.67895189016782e6
+6.886107101943046e-9 5.764248563228238e6
+6.9289731724417526e-9 5.849773882099374e6
+6.971839242940458e-9 5.935515089438428e6
+7.0147053134391635e-9 6.021459364353501e6
+7.05757138393787e-9 6.107593825488593e6
+7.100437454436575e-9 6.193905534077617e6
+7.143303524935281e-9 6.280381497099832e6
+7.186169595433986e-9 6.367008670366934e6
+7.229035665932692e-9 6.453773961674829e6
+7.271901736431397e-9 6.540664233916887e6
+7.314767806930103e-9 6.627666308273993e6
+7.357633877428809e-9 6.714766967329149e6
+7.400499947927514e-9 6.801952958260886e6
+7.443366018426219e-9 6.889210996002098e6
+7.486232088924925e-9 6.976527766421876e6
+7.52909815942363e-9 7.063889929504655e6
+7.571964229922337e-9 7.151284122522838e6
+7.614830300421043e-9 7.238696963240129e6
+7.657696370919748e-9 7.326115053083163e6
+7.700562441418454e-9 7.413524980340889e6
+7.74342851191716e-9 7.500913323339571e6
+7.786294582415865e-9 7.588266653634426e6
+7.82916065291457e-9 7.675571539182064e6
+7.872026723413276e-9 7.762814547540447e6
+7.914892793911981e-9 7.849982249023752e6
+7.957758864410687e-9 7.937061219868356e6
+8.000624934909392e-9 8.024038045416659e6
+8.0434910054081e-9 8.110899323248548e6
+8.086357075906805e-9 8.197631666340124e6
+8.12922314640551e-9 8.284221706194576e6
+8.172089216904214e-9 8.370656095978255e6
+8.214955287402921e-9 8.456921513634346e6
+8.257821357901627e-9 8.543004664961232e6
+8.300687428400332e-9 8.628892286744598e6
+8.343553498899038e-9 8.71457114981385e6
+8.386419569397743e-9 8.800028062093249e6
+8.42928563989645e-9 8.885249871672953e6
+8.472151710395154e-9 8.970223469817033e6
+8.51501778089386e-9 9.054935793991292e6
+8.557883851392565e-9 9.139373830846453e6
+8.60074992189127e-9 9.223524619200246e6
+8.643615992389976e-9 9.307375252992464e6
+8.686482062888683e-9 9.390912884207621e6
+8.729348133387389e-9 9.47412472580876e6
+8.772214203886094e-9 9.556998054608613e6
+8.8150802743848e-9 9.639520214140948e6
+8.857946344883505e-9 9.721678617519546e6
+8.90081241538221e-9 9.803460750224095e6
+8.943678485880916e-9 9.884854172911698e6
+8.986544556379623e-9 9.965846524197016e6
+9.029410626878327e-9 1.0046425523356397e7
+9.072276697377034e-9 1.0126578973064639e7
+9.115142767875738e-9 1.0206294762051249e7
+9.158008838374445e-9 1.0285560867788423e7
+9.200874908873149e-9 1.0364365359083641e7
+9.243740979371856e-9 1.0442696398675961e7
+9.28660704987056e-9 1.0520542245808925e7
+9.329473120369267e-9 1.0597891258734917e7
+9.372339190867972e-9 1.067473189723196e7
+9.415205261366678e-9 1.0751052725044206e7
+9.458071331865383e-9 1.0826842412328215e7
+9.500937402364089e-9 1.0902089738034854e7
+9.543803472862794e-9 1.0976783592247466e7
+9.5866695433615e-9 1.1050912978532976e7
+9.629535613860207e-9 1.1124467016213255e7
+9.67240168435891e-9 1.119743494260574e7
+9.715267754857618e-9 1.1269806115234375e7
+9.758133825356323e-9 1.134157001400543e7
+9.800999895855029e-9 1.1412716243324568e7
+9.843865966353733e-9 1.148323453420993e7
+9.88673203685244e-9 1.155311474632583e7
+9.929598107351145e-9 1.1622346870003708e7
+9.972464177849851e-9 1.1690921028207032e7
+1.0015330248348556e-8 1.1758827478469213e7
+1.0058196318847262e-8 1.1826056614781335e7
+1.0101062389345967e-8 1.1892598969427247e7
+1.0143928459844673e-8 1.195844521480749e7
+1.018679453034338e-8 1.2023586165166644e7
+1.0229660600842084e-8 1.2088012778351257e7
+1.0272526671340791e-8 1.2151716157455241e7
+1.0315392741839495e-8 1.2214687552459948e7
+1.0358258812338202e-8 1.2276918361825055e7
+1.0401124882836906e-8 1.2338400134015018e7
+1.0443990953335613e-8 1.2399124569007732e7
+1.0486857023834318e-8 1.2459083519744249e7
+1.0529723094333024e-8 1.2518268993531931e7
+1.057258916483173e-8 1.2576673153411325e7
+1.0615455235330435e-8 1.2634288319460675e7
+1.0658321305829142e-8 1.2691106970065225e7
+1.0701187376327846e-8 1.2747121743156822e7
+1.0744053446826551e-8 1.2802325437359408e7
+1.0786919517325257e-8 1.285671101315547e7
+1.0829785587823964e-8 1.2910271593924005e7
+1.087265165832267e-8 1.2963000467021484e7
+1.0915517728821375e-8 1.3014891084739681e7
+1.095838379932008e-8 1.3065937065261547e7
+1.1001249869818786e-8 1.3116132193546616e7
+1.1044115940317493e-8 1.316547042219449e7
+1.1086982010816197e-8 1.321394587221966e7
+1.1129848081314902e-8 1.3261552833832188e7
+1.1172714151813608e-8 1.330828576711051e7
+1.1215580222312313e-8 1.3354139302709315e7
+1.1258446292811019e-8 1.3399108242406478e7
+1.1301312363309726e-8 1.3443187559719654e7
+1.134417843380843e-8 1.3486372400393737e7
+1.1387044504307137e-8 1.3528658082893845e7
+1.142991057480584e-8 1.3570040098799588e7
+1.1472776645304548e-8 1.3610514113200298e7
+1.1515642715803251e-8 1.3650075965017678e7
+1.1558508786301959e-8 1.3688721667285131e7
+1.1601374856800664e-8 1.3726447407393651e7
+1.164424092729937e-8 1.3763249547254387e7
+1.1687106997798073e-8 1.379912462348938e7
+1.172997306829678e-8 1.3834069347460134e7
+1.1772839138795488e-8 1.3868080605383128e7
+1.1815705209294191e-8 1.3901155458299533e7
+1.1858571279792899e-8 1.3933291142041173e7
+1.1901437350291602e-8 1.396448506714895e7
+1.1944303420790308e-8 1.3994734818728836e7
+1.1987169491289013e-8 1.4024038156306054e7
+1.203003556178772e-8 1.4052393013573498e7
+1.2072901632286424e-8 1.4079797498134587e7
+1.211576770278513e-8 1.4106249891218206e7
+1.2158633773283835e-8 1.4131748647285072e7
+1.2201499843782542e-8 1.415629239368664e7
+1.2244365914281248e-8 1.4179879930185491e7
+1.2287231984779953e-8 1.4202510228486175e7
+1.2330098055278659e-8 1.4224182431730865e7
+1.2372964125777364e-8 1.4244895853907365e7
+1.2415830196276072e-8 1.4264649979274113e7
+1.2458696266774777e-8 1.4283444461693337e7
+1.2501562337273481e-8 1.4301279123939825e7
+1.2544428407772186e-8 1.4318153957014611e7
+1.2587294478270893e-8 1.4334069119320769e7
+1.2630160548769599e-8 1.4349024935907524e7
+1.2673026619268303e-8 1.436302189760166e7
+1.271589268976701e-8 1.43760606601336e7
+1.2758758760265715e-8 1.4388142043213813e7
+1.2801624830764421e-8 1.4399267029580012e7
+1.2844490901263126e-8 1.4409436764001247e7
+1.2887356971761832e-8 1.4418652552244263e7
+1.2930223042260537e-8 1.4426915860019634e7
+1.2973089112759244e-8 1.443422831186223e7
+1.3015955183257948e-8 1.4440591690008745e7
+1.3058821253756654e-8 1.4446007933229018e7
+1.3101687324255361e-8 1.4450479135614872e7
+1.3144553394754066e-8 1.4454007545351438e7
+1.318741946525277e-8 1.4456595563438285e7
+1.3230285535751477e-8 1.4458245742393134e7
+1.3273151606250183e-8 1.4458960784930293e7
+1.3316017676748888e-8 1.445874354257515e7
+1.3358883747247595e-8 1.445759701429973e7
+1.34017498177463e-8 1.445552434505551e7
+1.3444615888245005e-8 1.4452528824381864e7
+1.3487481958743712e-8 1.4448613884875592e7
+1.3530348029242417e-8 1.4443783100704972e7
+1.3573214099741121e-8 1.4438040186075283e7
+1.3616080170239828e-8 1.4431388993661756e7
+1.3658946240738534e-8 1.4423833513020925e7
+1.370181231123724e-8 1.4415377868982712e7
+1.3744678381735945e-8 1.4406026320020236e7
+1.378754445223465e-8 1.4395783256564567e7
+1.3830410522733356e-8 1.4384653199343724e7
+1.3873276593232063e-8 1.4372640797674453e7
+1.3916142663730767e-8 1.4359750827716812e7
+1.3959008734229472e-8 1.4345988190740976e7
+1.400187480472818e-8 1.4331357911346855e7
+1.4044740875226885e-8 1.431586513566659e7
+1.4087606945725589e-8 1.429951512957715e7
+1.4130473016224296e-8 1.4282313276846511e7
+1.4173339086723001e-8 1.4264265077298606e7
+1.4216205157221707e-8 1.424537614495012e7
+1.4259071227720412e-8 1.4225652206111373e7
+1.4301937298219118e-8 1.4205099097516512e7
+1.4344803368717823e-8 1.4183722764391376e7
+1.438766943921653e-8 1.4161529258531017e7
+1.4430535509715236e-8 1.4138524736361513e7
+1.447340158021394e-8 1.4114715456976516e7
+1.4516267650712647e-8 1.4090107780173207e7
+1.4559133721211352e-8 1.406470816448338e7
+1.4601999791710056e-8 1.4038523165162947e7
+1.4644865862208762e-8 1.4011559432204785e7
+1.4687731932707467e-8 1.3983823708313126e7
+1.4730598003206174e-8 1.395532282689569e7
+1.4773464073704878e-8 1.3926063710035276e7
+1.4816330144203583e-8 1.3896053366432743e7
+1.485919621470229e-8 1.3865298889376733e7
+1.4902062285200996e-8 1.3833807454690795e7
+1.49449283556997e-8 1.380158631866652e7
+1.4987794426198407e-8 1.3768642816000931e7
+1.503066049669711e-8 1.3734984357737957e7
+1.5073526567195818e-8 1.3700618429180898e7
+1.5116392637694525e-8 1.3665552587834219e7
+1.515925870819323e-8 1.3629794461285137e7
+1.5202124778691933e-8 1.3593351745174387e7
+1.5244990849190643e-8 1.3556232201076616e7
+1.5287856919689347e-8 1.351844365441799e7
+1.533072299018805e-8 1.3479993992410561e7
+1.5373589060686758e-8 1.3440891161941e7
+1.5416455131185465e-8 1.340114316750578e7
+1.545932120168417e-8 1.3360758069121892e7
+1.5502187272182873e-8 1.3319743980241364e7
+1.554505334268158e-8 1.3278109065673785e7
+1.5587919413180287e-8 1.3235861539515205e7
+1.563078548367899e-8 1.3193009663079156e7
+1.5673651554177698e-8 1.3149561742811227e7
+1.5716517624676405e-8 1.3105526128252324e7
+1.575938369517511e-8 1.3060911209954161e7
+1.5802249765673813e-8 1.301572541744831e7
+1.5845115836172517e-8 1.2969977217190366e7
+1.5887981906671227e-8 1.2923675110525738e7
+1.593084797716993e-8 1.287682763165922e7
+1.5973714047668635e-8 1.2829443345620867e7
+1.6016580118167342e-8 1.2781530846276075e7
+1.605944618866605e-8 1.2733098754299728e7
+1.6102312259164753e-8 1.2684155715186322e7
+1.6145178329663457e-8 1.2634710397270137e7
+1.6188044400162164e-8 1.2584771489743872e7
+1.623091047066087e-8 1.2534347700697837e7
+1.6273776541159575e-8 1.2483447755168773e7
+1.6316642611658282e-8 1.243208039319886e7
+1.635950868215699e-8 1.2380254367902258e7
+1.6402374752655693e-8 1.232797844355834e7
+1.64452408231544e-8 1.2275261393713308e7
+1.64881068936531e-8 1.2222111999279475e7
+1.653097296415181e-8 1.2168539046670606e7
+1.6573839034650515e-8 1.2114551325940011e7
+1.661670510514922e-8 1.2060157628939047e7
+1.6659571175647926e-8 1.2005366747485666e7
+1.6702437246146633e-8 1.1950187471554302e7
+1.6745303316645337e-8 1.189462858747104e7
+1.6788169387144044e-8 1.183869887615202e7
+1.6831035457642748e-8 1.1782407111319054e7
+1.6873901528141455e-8 1.172576205775956e7
+1.691676759864016e-8 1.1668772469608452e7
+1.6959633669138866e-8 1.161144708862861e7
+1.7002499739637573e-8 1.1553794642518317e7
+1.7045365810136277e-8 1.1495823843239719e7
+1.7088231880634984e-8 1.1437543385364546e7
+1.713109795113369e-8 1.1378961944435285e7
+1.7173964021632395e-8 1.1320088175357638e7
+1.72168300921311e-8 1.1260930710781187e7
+1.7259696162629803e-8 1.1201498159558889e7
+1.7302562233128513e-8 1.1141799105159447e7
+1.7345428303627217e-8 1.108184210414613e7
+1.738829437412592e-8 1.102163568465662e7
+1.7431160444624624e-8 1.0961188344917307e7
+1.747402651512333e-8 1.090050855175813e7
+1.751689258562204e-8 1.0839604739170682e7
+1.7559758656120743e-8 1.0778485306874586e7
+1.760262472661945e-8 1.0717158618913844e7
+1.7645490797118157e-8 1.0655633002265915e7
+1.768835686761686e-8 1.059391674548255e7
+1.7731222938115564e-8 1.0532018097339243e7
+1.777408900861427e-8 1.0469945265532507e7
+1.781695507911298e-8 1.0407706415375212e7
+1.7859821149611683e-8 1.034530966851934e7
+1.7902687220110386e-8 1.0282763101714244e7
+1.7945553290609097e-8 1.0220074745575015e7
+1.79884193611078e-8 1.0157252583380267e7
+1.8031285431606504e-8 1.0094304549894264e7
+1.8074151502105208e-8 1.003123853020072e7
+1.8117017572603915e-8 9.968062358580908e6
+1.8159883643102623e-8 9.904783817402372e6
+1.8202749713601326e-8 9.841410636021743e6
+1.8245615784100034e-8 9.777950489740584e6
+1.828848185459874e-8 9.714410998746585e6
+1.8331347925097445e-8 9.650799727119127e6
+1.8374213995596148e-8 9.58712418181983e6
+1.8417080066094855e-8 9.523391811743498e6
+1.8459946136593563e-8 9.45961000676121e6
+1.8502812207092266e-8 9.39578609680998e6
+1.8545678277590977e-8 9.331927350991048e6
+1.858854434808968e-8 9.26804097670816e6
+1.8631410418588385e-8 9.204134118813273e6
+1.867427648908709e-8 9.140213858789358e6
+1.87171425595858e-8 9.076287213943882e6
+1.87600086300845e-8 9.012361136641352e6
+1.8802874700583206e-8 8.948442513549868e6
+1.884574077108191e-8 8.884538164911473e6
+1.8888606841580614e-8 8.820654843845801e6
+1.8931472912079325e-8 8.756799235657297e6
+1.897433898257803e-8 8.692977957191573e6
+1.9017205053076736e-8 8.629197556201488e6
+1.906007112357544e-8 8.565464510731958e6
+1.9102937194074146e-8 8.501785228539405e6
+1.914580326457285e-8 8.438166046526317e6
+1.9188669335071557e-8 8.3746132302063145e6
+1.9231535405570258e-8 8.311132973188295e6
+1.927440147606897e-8 8.247731396674348e6
+1.9317267546567672e-8 8.184414549007158e6
+1.9360133617066383e-8 8.121188405208751e6
+1.9402999687565083e-8 8.058058866555452e6
+1.944586575806379e-8 7.995031760189214e6
+1.9488731828562494e-8 7.9321128387268e6
+1.95315978990612e-8 7.869307779904018e6
+1.9574463969559905e-8 7.806622186246891e6
+1.9617330040058612e-8 7.744061584748496e6
+1.9660196110557316e-8 7.681631426587295e6
+1.9703062181056027e-8 7.619337086852641e6
+1.974592825155473e-8 7.557183864290697e6
+1.9788794322053437e-8 7.49517698108788e6
+1.983166039255214e-8 7.433321582660406e6
+1.987452646305085e-8 7.371622737466955e6
+1.9917392533549552e-8 7.3100854368430115e6
+1.9960258604048256e-8 7.248714594863537e6
+2.000312467454696e-8 7.187515048212103e6
+2.004599074504567e-8 7.126491556080604e6
+2.0088856815544374e-8 7.065648800084002e6
+2.0131722886043085e-8 7.004991384197109e6
+2.017458895654179e-8 6.944523834708597e6
+2.0217455027040492e-8 6.884250600199489e6
+2.0260321097539196e-8 6.824176051528407e6
+2.0303187168037907e-8 6.764304481851311e6
+2.0346053238536604e-8 6.704640106650825e6
+2.0388919309035314e-8 6.6451870637834715e6
+2.0431785379534018e-8 6.5859494135467755e6
+2.047465145003273e-8 6.5269311387658855e6
+2.0517517520531432e-8 6.46813614489805e6
+2.0560383591030136e-8 6.409568260147998e6
+2.060324966152884e-8 6.351231235603657e6
+2.064611573202755e-8 6.293128745403435e6
+2.0688981802526254e-8 6.235264386886553e6
+2.0731847873024958e-8 6.177641680797555e6
+2.0774713943523662e-8 6.120264071480648e6
+2.0817580014022372e-8 6.063134927100837e6
+2.0860446084521076e-8 6.00625753987721e6
+2.090331215501978e-8 5.94963512633481e6
+2.094617822551849e-8 5.893270827569208e6
+2.0989044296017194e-8 5.837167709523472e6
+2.1031910366515898e-8 5.781328763285387e6
+2.1074776437014602e-8 5.725756905397529e6
+2.1117642507513306e-8 5.670454978173634e6
+2.1160508578012016e-8 5.615425750040557e6
+2.120337464851072e-8 5.560671915887343e6
+2.1246240719009424e-8 5.506196097425932e6
+2.1289106789508134e-8 5.452000843568741e6
+2.1331972860006838e-8 5.398088630816007e6
+2.1374838930505542e-8 5.344461863659182e6
+2.1417705001004252e-8 5.291122874990046e6
+2.1460571071502956e-8 5.238073926530624e6
+2.150343714200166e-8 5.185317209264463e6
+2.1546303212500364e-8 5.132854843887586e6
+2.1589169282999068e-8 5.080688881267424e6
+2.1632035353497778e-8 5.028821302912033e6
+2.1674901423996482e-8 4.977254021448638e6
+2.1717767494495192e-8 4.925988881114094e6
+2.176063356499389e-8 4.875027658258671e6
+2.18034996354926e-8 4.824372061850375e6
+2.1846365705991304e-8 4.774023733998204e6
+2.1889231776490008e-8 4.723984250481007e6
+2.193209784698871e-8 4.674255121278874e6
+2.1974963917487422e-8 4.624837791126367e6
+2.2017829987986126e-8 4.575733640062385e6
+2.2060696058484836e-8 4.526943983994e6
+2.210356212898354e-8 4.478470075264089e6
+2.2146428199482244e-8 4.43031310323274e6
+2.2189294269980948e-8 4.3824741948585985e6
+2.2232160340479658e-8 4.334954415291486e6
+2.2275026410978362e-8 4.287754768472217e6
+2.2317892481477066e-8 4.240876197736958e6
+2.236075855197577e-8 4.194319586426052e6
+2.240362462247448e-8 4.1480857585047227e6
+2.2446490692973184e-8 4.102175479185319e6
+2.2489356763471888e-8 4.056589455553581e6
+2.253222283397059e-8 4.0113283372043525e6
+2.2575088904469302e-8 3.966392716878834e6
+2.2617954974968006e-8 3.921783131108587e6
+2.266082104546671e-8 3.877500060863207e6
+2.2703687115965414e-8 3.833543932200939e6
+2.2746553186464124e-8 3.789915116928095e6
+2.2789419256962828e-8 3.746613933254295e6
+2.283228532746153e-8 3.7036406464592405e6
+2.2875151397960242e-8 3.6609954695571684e6
+2.2918017468458946e-8 3.618678563967242e6
+2.296088353895765e-8 3.5766900401861607e6
+2.300374960945636e-8 3.5350299584624507e6
+2.3046615679955064e-8 3.4936983294752976e6
+2.3089481750453768e-8 3.452695115011608e6
+2.313234782095247e-8 3.4120202286494803e6
+2.3175213891451175e-8 3.371673536442003e6
+2.3218079961949886e-8 3.3316548575980193e6
+2.326094603244859e-8 3.291963965172491e6
+2.3303812102947294e-8 3.2526005867519453e6
+2.3346678173446004e-8 3.2135644051421317e6
+2.3389544243944708e-8 3.1748550590565167e6
+2.3432410314443412e-8 3.1364721438057385e6
+2.3475276384942116e-8 3.0984152119872645e6
+2.3518142455440826e-8 3.0606837741738367e6
+2.356100852593953e-8 3.0232772996041314e6
+2.3603874596438234e-8 2.986195216870374e6
+2.3646740666936937e-8 2.949436914608436e6
+2.3689606737435648e-8 2.913001742184546e6
+2.3732472807934352e-8 2.876889010381864e6
+2.3775338878433062e-8 2.8410979920890024e6
+2.381820494893176e-8 2.805627922982163e6
+2.386107101943047e-8 2.77047800220987e6
+2.3903937089929174e-8 2.7356473930748627e6
+2.3946803160427877e-8 2.7011352237141533e6
+2.3989669230926588e-8 2.6669405877775247e6
+2.4032535301425292e-8 2.6330625451025967e6
+2.4075401371923996e-8 2.599500122392338e6
+2.4118267442422706e-8 2.566252313882905e6
+2.416113351292141e-8 2.5333180820161924e6
+2.4203999583420114e-8 2.5006963581042606e6
+2.4246865653918817e-8 2.468386042995052e6
+2.428973172441752e-8 2.436386007732551e6
+2.4332597794916232e-8 2.4046950942146885e6
+2.4375463865414936e-8 2.3733121158491494e6
+2.441832993591364e-8 2.342235858204304e6
+2.446119600641235e-8 2.3114650796568636e6
+2.4504062076911054e-8 2.2809985120380553e6
+2.4546928147409757e-8 2.2508348612716165e6
+2.458979421790846e-8 2.2209728080138057e6
+2.4632660288407165e-8 2.191411008285997e6
+2.4675526358905876e-8 2.1621480941015813e6
+2.471839242940458e-8 2.1331826740945396e6
+2.4761258499903283e-8 2.104513334136689e6
+2.4804124570401994e-8 2.076138637956639e6
+2.4846990640900698e-8 2.0480571277506168e6
+2.48898567113994e-8 2.0202673247896356e6
+2.4932722781898112e-8 1.9927677300229426e6
+2.4975588852396816e-8 1.9655568246761325e6
+2.501845492289552e-8 1.9386330708440046e6
+2.5061320993394223e-8 1.911994912078999e6
+2.5104187063892934e-8 1.8856407739742345e6
+2.5147053134391638e-8 1.8595690647423586e6
+2.518991920489034e-8 1.8337781757885197e6
+2.5232785275389045e-8 1.808266482277932e6
+2.5275651345887756e-8 1.7830323436987803e6
+2.531851741638646e-8 1.758074104419702e6
+2.5361383486885163e-8 1.7333900942416498e6
+2.5404249557383867e-8 1.7089786289433755e6
+2.5447115627882578e-8 1.6848380108235679e6
+2.548998169838128e-8 1.6609665292350966e6
+2.5532847768879985e-8 1.6373624611154366e6
+2.557571383937869e-8 1.6140240715101617e6
+2.56185799098774e-8 1.5909496140905556e6
+2.5661445980376103e-8 1.5681373316664388e6
+2.5704312050874814e-8 1.5455854566934549e6
+2.5747178121373518e-8 1.5232922117718013e6
+2.579004419187222e-8 1.5012558101425741e6
+2.5832910262370925e-8 1.4794744561757701e6
+2.587577633286963e-8 1.4579463458529608e6
+2.591864240336834e-8 1.4366696672443096e6
+2.5961508473867043e-8 1.415642600979073e6
+2.6004374544365747e-8 1.3948633207099522e6
+2.6047240614864458e-8 1.374329993571993e6
+2.609010668536316e-8 1.3540407806343315e6
+2.6132972755861865e-8 1.333993837346913e6
+2.617583882636057e-8 1.3141873139801288e6
+2.621870489685928e-8 1.2946193560591482e6
+2.6261570967357983e-8 1.2752881047908221e6
+2.6304437037856694e-8 1.2561916974857505e6
+2.6347303108355398e-8 1.2373282679733243e6
+2.63901691788541e-8 1.2186959470108938e6
+2.6433035249352805e-8 1.2002928626860066e6
+2.647590131985151e-8 1.1821171408137474e6
+2.6518767390350213e-8 1.1641669053265038e6
+2.6561633460848923e-8 1.1464402786584948e6
+2.6604499531347627e-8 1.1289353821231145e6
+2.664736560184633e-8 1.1116503362853457e6
+2.6690231672345035e-8 1.094583261326736e6
+2.6733097742843745e-8 1.0777322774048182e6
+2.677596381334245e-8 1.0610955050062623e6
+2.681882988384116e-8 1.0446710652935139e6
+2.6861695954339863e-8 1.0284570804460732e6
+2.6904562024838567e-8 1.0124516739946669e6
+2.694742809533727e-8 996652.9711499313
+2.6990294165835975e-8 981059.0991244614
+2.7033160236334685e-8 965668.1874496287
+2.707602630683339e-8 950478.3682855401
+2.71188923773321e-8 935487.7767248283
+2.7161758447830803e-8 920694.5510914391
+2.7204624518329507e-8 906096.8332325034
+2.724749058882821e-8 891692.7688047376
+2.7290356659326915e-8 877480.5075540869
+2.733322272982562e-8 863458.2035909557
+2.737608880032433e-8 849624.0156580887
+2.7418954870823033e-8 835976.1073933862
+2.7461820941321737e-8 822512.6475868878
+2.750468701182044e-8 809231.8104314646
+2.754755308231915e-8 796131.7757686852
+2.7590419152817855e-8 783210.7293282793
+2.7633285223316565e-8 770466.8629617975
+2.767615129381527e-8 757898.3748715974
+2.7719017364313973e-8 745503.4698329036
+2.7761883434812677e-8 733280.3594117658
+2.7804749505311387e-8 721227.2621765129
+2.784761557581009e-8 709342.4039040502
+2.78904816463088e-8 697624.0177808468
+2.7933347716807505e-8 686070.3445986032
+2.7976213787306203e-8 674679.6329444353
+2.8019079857804913e-8 663450.1393856173
+2.8061945928303617e-8 652380.1286497852
+2.810481199880232e-8 641467.8737994354
+2.814767806930103e-8 630711.6564010932
+2.8190544139799735e-8 620109.7666902341
+2.823341021029844e-8 609660.5037304363
+2.8276276280797143e-8 599362.1755674976
+2.8319142351295853e-8 589213.0993795261
+2.8362008421794557e-8 579211.6016213608
+2.8404874492293267e-8 569356.0181643091
+2.844774056279197e-8 559644.6944312115
+2.8490606633290675e-8 550075.9855271529
+2.853347270378938e-8 540648.2563649215
+2.857633877428809e-8 531359.8817861296
+2.8619204844786793e-8 522209.2466779164
+2.8662070915285497e-8 513194.7460849492
+2.87049369857842e-8 504314.78531727346
+2.8747803056282905e-8 495567.7800534619
+2.879066912678161e-8 486952.1564397187
+2.883353519728032e-8 478466.3511843682
+2.8876401267779023e-8 470108.8116487639
+2.8919267338277733e-8 461877.9959332304
+2.8962133408776437e-8 453772.37295969256
+2.900499947927514e-8 445790.42254970997
+2.9047865549773845e-8 437930.63549870584
+2.9090731620272555e-8 430191.51364669454
+2.913359769077126e-8 422571.569944047
+2.917646376126997e-8 415069.328514886
+2.9219329831768673e-8 407683.3247156691
+2.9262195902267377e-8 400412.1051904152
+2.930506197276608e-8 393254.227922387
+2.9347928043264785e-8 386208.26228205155
+2.9390794113763495e-8 379272.78907173837
+2.94336601842622e-8 372446.4005663894
+2.9476526254760903e-8 365727.70055162895
+2.9519392325259607e-8 359115.3043575902
+2.956225839575831e-8 352607.83889034175
+2.960512446625702e-8 346203.9426594272
+2.9647990536755725e-8 339902.26580242196
+2.9690856607254435e-8 333701.47010663844
+2.973372267775314e-8 327600.22902738047
+2.9776588748251843e-8 321597.2277034719
+2.9819454818750547e-8 315691.1629695535
+2.986232088924925e-8 309880.7433658422
+2.990518695974796e-8 304164.6891446938
+2.9948053030246665e-8 298541.7322747441
+2.9990919100745375e-8 293010.61644204333
+3.003378517124407e-8 287570.0970484174
+3.007665124174278e-8 282218.9412077517
+3.0119517312241487e-8 276955.9277390966
+3.01623833827402e-8 271779.8471578149
+3.02052494532389e-8 266689.50166346465
+3.0248115523737605e-8 261683.70512640558
+3.029098159423631e-8 256761.2830710209
+3.033384766473501e-8 251921.0726572023
+3.0376713735233716e-8 247161.9226595534
+3.0419579805732427e-8 242482.69344407952
+3.046244587623113e-8 237882.25694323203
+3.050531194672984e-8 233359.49662835192
+3.0548178017228545e-8 228913.30748027738
+3.059104408772725e-8 224542.5959583029
+3.063391015822595e-8 220246.27996653292
+3.067677622872466e-8 216023.2888188482
+3.0719642299223367e-8 211872.56320188032
+3.076250836972207e-8 207793.05513609247
+3.0805374440220774e-8 203783.7279352649
+3.0848240510719485e-8 199843.55616426334
+3.089110658121819e-8 195971.52559492874
+3.093397265171689e-8 192166.6331606809
+3.09768387222156e-8 188427.886909517
+3.1019704792714307e-8 184754.30595504137
+3.106257086321301e-8 181144.9204267892
+3.1105436933711714e-8 177598.77141831757
+3.114830300421042e-8 174114.91093464338
+3.119116907470913e-8 170692.40183790665
+3.123403514520783e-8 167330.31779165973
+3.127690121570654e-8 164027.74320419616
+3.131976728620525e-8 160783.77317069127
+3.136263335670395e-8 157597.5134138431
+3.1405499427202654e-8 154468.08022356473
+3.1448365497701365e-8 151394.60039573905
+3.149123156820007e-8 148376.21116963174
+3.153409763869877e-8 145412.0601645421
+3.1576963709197476e-8 142501.30531527635
+3.161982977969618e-8 139643.11480685545
+3.166269585019489e-8 136836.6670082605
+3.1705561920693594e-8 134081.15040525515
+3.17484279911923e-8 131375.76353247283
+3.179129406169101e-8 128719.71490470378
+3.183416013218971e-8 126112.22294739907
+3.1877026202688416e-8 123552.51592647261
+3.191989227318712e-8 121039.83187736393
+3.196275834368583e-8 118573.41853365031
+3.2005624414184534e-8 116152.53325467638
+3.204849048468324e-8 113776.44295306053
+3.209135655518195e-8 111444.42402119319
+3.213422262568065e-8 109155.76225759357
+3.2177088696179356e-8 106909.75279252409
+3.221995476667806e-8 104705.70001326172
+3.226282083717677e-8 102542.91748895436
+3.2305686907675474e-8 100420.72789489495
+3.234855297817418e-8 98338.46293682163
+3.239141904867288e-8 96295.46327434508
+3.243428511917159e-8 94291.07844455026
+3.2477151189670296e-8 92324.66678500055
+3.2520017260169e-8 90395.59535658875
+3.256288333066771e-8 88503.23986615567
+3.2605749401166414e-8 86646.98458889069
+3.264861547166512e-8 84826.22229057213
+3.269148154216382e-8 83040.35414958038
+3.2734347612662526e-8 81288.7896788639
+3.277721368316123e-8 79570.94664773109
+3.282007975365994e-8 77886.25100354048
+3.2862945824158644e-8 76234.1367934481
+3.290581189465735e-8 74614.04608594914
+3.294867796515605e-8 73025.42889250089
+3.299154403565477e-8 71467.74308912562
+3.303441010615347e-8 69940.45433801577
+3.3077276176652176e-8 68443.03600918791
+3.312014224715088e-8 66974.96910221409
+3.3163008317649584e-8 65535.74216802848
+3.320587438814829e-8 64124.85123076024
+3.3248740458647e-8 62741.79970983242
+3.32916065291457e-8 61386.09834207052
+3.333447259964441e-8 60057.26510399532
+3.3377338670143116e-8 58754.82513429742
+3.3420204740641814e-8 57478.31065652244
+3.346307081114052e-8 56227.26090184835
+3.3505936881639235e-8 55001.222032270656
+3.354880295213794e-8 53799.74706380242
+3.359166902263664e-8 52622.395790101866
+3.3634535093135346e-8 51468.73470627958
+3.3677401163634056e-8 50338.336932916674
+3.372026723413276e-8 49230.782140565825
+3.3763133304631464e-8 48145.65647432621
+3.380599937513017e-8 47082.55247891346
+3.384886544562888e-8 46041.0690239439
+3.389173151612758e-8 45020.81122960082
+3.3934597586626286e-8 44021.390392702306
+3.397746365712499e-8 43042.42391299888
+3.40203297276237e-8 42083.53521998478
+3.4063195798122404e-8 41144.353700015046
+3.410606186862111e-8 40224.51462382043
+3.414892793911981e-8 39323.65907445916
+3.419179400961852e-8 38441.43387564295
+3.4234660080117226e-8 37577.49152050864
+3.427752615061593e-8 36731.49010080676
+3.4320392221114634e-8 35903.09323655548
+3.4363258291613344e-8 35091.97000609079
+3.440612436211205e-8 34297.794876626256
+3.444899043261075e-8 33520.24763522094
+3.4491856503109456e-8 32759.01332028009
+3.4534722573608166e-8 32013.782153449825
+3.4577588644106877e-8 31284.249472088202
+3.462045471460558e-8 30570.115662121814
+3.4663320785104284e-8 29871.08609148302
+3.470618685560299e-8 29186.87104400315
+3.474905292610169e-8 28517.18565380009
+3.4791918996600396e-8 27861.74984023413
+3.4834785067099106e-8 27220.288243278297
+3.487765113759781e-8 26592.530159520655
+3.4920517208096514e-8 25978.20947859829
+3.496338327859522e-8 25377.064620210658
+3.500624934909392e-8 24788.838471632105
+3.504911541959264e-8 24213.27832578074
+3.5091981490091336e-8 23650.135819809548
+3.513484756059004e-8 23099.166874248636
+3.5177713631088743e-8 22560.13163267472
+3.522057970158745e-8 22032.794401932362
+3.5263445772086164e-8 21516.92359290689
+3.530631184258487e-8 21012.29166184464
+3.534917791308357e-8 20518.675052209885
+3.5392043983582276e-8 20035.854137117978
+3.543491005408098e-8 19563.613162296042
+3.5477776124579683e-8 19101.74018962011
+3.5520642195078394e-8 18650.02704119818
+3.55635082655771e-8 18208.26924400417
+3.560637433607581e-8 17776.26597508765
+3.564924040657451e-8 17353.820007300634
+3.569210647707321e-8 16940.737655650944
+3.573497254757191e-8 16536.828724129766
+3.577783861807063e-8 16141.90645316836
+3.5820704688569334e-8 15755.78746761388
+3.586357075906804e-8 15378.291725257626
+3.590643682956674e-8 15009.242465953144
+3.594930290006545e-8 14648.466161253398
+3.5992168970564156e-8 14295.792464622431
+3.603503504106286e-8 13951.054162201066
+3.6077901111561563e-8 13614.087124113188
+3.6120767182060274e-8 13284.730256330979
+3.616363325255898e-8 12962.82545309403
+3.620649932305768e-8 12648.217549861727
+3.6249365393556385e-8 12340.754276827209
+3.6292231464055096e-8 12040.286212966917
+3.63350975345538e-8 11746.666740638899
+3.6377963605052503e-8 11459.752000711725
+3.642082967555121e-8 11179.40084824141
+3.646369574604992e-8 10905.474808681418
+3.650656181654862e-8 10637.838034624514
+3.6549427887047325e-8 10376.35726307145
+3.659229395754603e-8 10120.901773245614
+3.663516002804474e-8 9871.343344910985
+3.6678026098543443e-8 9627.556217227593
+3.672089216904215e-8 9389.41704812012
+3.676375823954085e-8 9156.804874173855
+3.680662431003956e-8 8929.601071035431
+3.684949038053827e-8 8707.689314319972
+3.6892356451036976e-8 8490.95554105051
+3.693522252153568e-8 8279.287911571706
+3.6978088592034383e-8 8072.57677198646
+3.702095466253309e-8 7870.714617083977
+3.706382073303179e-8 7673.596053759983
+3.71066868035305e-8 7481.117764937059
+3.7149552874029205e-8 7293.178473959824
+3.719241894452791e-8 7109.6789094875785
+3.723528501502661e-8 6930.521770861214
+3.727815108552532e-8 6755.611693944996
+3.7321017156024034e-8 6584.855217447843
+3.736388322652274e-8 6418.16074970926
+3.740674929702144e-8 6255.438535954692
+3.7449615367520145e-8 6096.600626008131
+3.749248143801885e-8 5941.560842467331
+3.753534750851756e-8 5790.23474933205
+3.7578213579016264e-8 5642.539621080271
+3.762107964951497e-8 5498.394412193182
+3.766394572001368e-8 5357.7197271198065
+3.770681179051238e-8 5220.437790683068
+3.774967786101108e-8 5086.4724189182925
+3.779254393150979e-8 4955.748990339703
+3.78354100020085e-8 4828.194417636774
+3.7878276072507204e-8 4703.737119791716
+3.792114214300591e-8 4582.30699461023
+3.796400821350461e-8 4463.835391670703
+3.8006874284003315e-8 4348.255085683825
+3.8049740354502025e-8 4235.500250250041
+3.809260642500073e-8 4125.506432029431
+3.813547249549943e-8 4018.210525295737
+3.817833856599814e-8 3913.550746895105
+3.822120463649685e-8 3811.4666115853024
+3.826407070699555e-8 3711.8989077616407
+3.8306936777494255e-8 3614.7896735660534
+3.834980284799296e-8 3520.0821733671996
+3.839266891849167e-8 3427.7208746173
+3.843553498899038e-8 3337.6514250722826
+3.847840105948908e-8 3249.82063037915
+3.852126712998778e-8 3164.1764320192965
+3.856413320048649e-8 3080.6678856116514
+3.8606999270985195e-8 2999.245139561244
+3.86498653414839e-8 2919.85941405809
+3.869273141198261e-8 2842.4629804202987
+3.873559748248131e-8 2767.009140770278
+3.877846355298002e-8 2693.4522080529446
+3.882132962347872e-8 2621.747486377048
+3.8864195693977425e-8 2551.8512516881297
+3.890706176447614e-8 2483.7207327611304
+3.8949927834974846e-8 2417.314092512995
+3.899279390547355e-8 2352.5904096278955
+3.903565997597225e-8 2289.50966049416
+3.907852604647096e-8 2228.032701445605
+3.912139211696967e-8 2168.1212513079104
+3.916425818746837e-8 2109.7378742411315
+3.9207124257967075e-8 2052.845962876934
+3.924999032846578e-8 1997.4097217474116
+3.929285639896448e-8 1943.3941509997624
+3.9335722469463187e-8 1890.7650303936753
+3.93785885399619e-8 1839.4889035785002
+3.942145461046061e-8 1789.5330626446325
+3.946432068095931e-8 1740.8655329466258
+3.9507186751458015e-8 1693.4550581945523
+3.955005282195672e-8 1647.2710858085459
+3.959291889245543e-8 1602.283752533608
+3.963578496295413e-8 1558.4638703120088
+3.967865103345284e-8 1515.7829124063703
+3.972151710395154e-8 1474.2129997750285
+3.976438317445025e-8 1433.7268876900375
+3.9807249244948955e-8 1394.2979526004062
+3.985011531544766e-8 1355.9001792309275
+3.989298138594636e-8 1318.5081479187393
+3.993584745644507e-8 1282.0970221800062
+3.997871352694378e-8 1246.6425365048062
+4.002157959744248e-8 1212.1209843786198
+4.0064445667941185e-8 1178.5092065228528
+4.0107311738439895e-8 1145.7845793552524
+4.01501778089386e-8 1113.9250036642281
+4.01930438794373e-8 1082.9088934949673
+4.0235909949936007e-8 1052.7151652447144
+4.027877602043472e-8 1023.3232269609359
+4.032164209093342e-8 994.7129678441913
+4.0364508161432125e-8 966.864747947371
+4.040737423193083e-8 939.759388071942
+4.0450240302429546e-8 913.3781598563016
+4.049310637292825e-8 887.7027760537569
+4.0535972443426953e-8 862.7153809967551
+4.057883851392565e-8 838.3985412448067
+4.062170458442436e-8 814.7352364131979
+4.0664570654923065e-8 791.7088501787674
+4.0707436725421775e-8 769.3031614608725
+4.075030279592048e-8 747.5023357741096
+4.079316886641918e-8 726.2909167500568
+4.083603493691789e-8 705.6538178252417
+4.087890100741659e-8 685.5763140933168
+4.0921767077915294e-8 666.044034316488
+4.0964633148414005e-8 647.0429530972085
+4.1007499218912715e-8 628.5593832030617
+4.105036528941142e-8 610.5799680467312
+4.109323135991012e-8 593.0916743138494
+4.113609743040883e-8 576.0817847410242
+4.117896350090754e-8 559.5378910370164
+4.122182957140624e-8 543.4478869473387
+4.1264695641904945e-8 527.7999614596077
+4.130756171240365e-8 512.5825921456834
+4.135042778290235e-8 497.7845386399307
+4.139329385340106e-8 483.39483625002975
+4.143615992389977e-8 469.4027896988105
+4.147902599439847e-8 455.7979669942809
+4.152189206489718e-8 442.5701934255271
+4.1564758135395885e-8 429.7095456831667
+4.160762420589459e-8 417.2063461006967
+4.165049027639329e-8 405.0511570157625
+4.1693356346892e-8 393.23477524855485
+4.173622241739071e-8 381.7482266954437
+4.177908848788941e-8 370.5827610358926
+4.1821954558388114e-8 359.7298465500461
+4.1864820628886825e-8 349.18116504573436
+4.190768669938553e-8 338.92860689208914
+4.195055276988423e-8 328.96426615900856
+4.1993418840382936e-8 319.28043585831614
+4.203628491088165e-8 309.86960328762405
+4.207915098138035e-8 300.7244454725995
+4.2122017051879054e-8 291.8378247068472
+4.216488312237776e-8 283.20278418754594
+4.220774919287647e-8 274.81254374477334
+4.225061526337517e-8 266.6604956630131
+4.2293481333873876e-8 258.74020059274926
+4.233634740437259e-8 251.0453835508428
+4.237921347487129e-8 243.56993000755367
+4.2422079545369995e-8 236.30788205911995
+4.24649456158687e-8 229.25343468347998
+4.25078116863674e-8 222.40093207843867
+4.255067775686612e-8 215.74486407963587
+4.259354382736482e-8 209.27986265789053
+4.263640989786352e-8 203.00069849340284
+4.2679275968362224e-8 196.9022776258542
+4.272214203886094e-8 190.9796381788584
+4.2765008109359645e-8 185.22794715701343
+4.280787417985835e-8 179.6424973144712
+4.285074025035705e-8 174.21870409337564
+4.2893606320855756e-8 168.95210263091087
+4.293647239135446e-8 163.83834483340354
+4.297933846185317e-8 158.8731965164055
+4.3022204532351875e-8 154.05253460916816
+4.3065070602850585e-8 149.3723444224167
+4.310793667334929e-8 144.82871697790407
+4.315080274384799e-8 140.41784639887078
+4.3193668814346696e-8 136.1360273595752
+4.323653488484541e-8 131.97965259351506
+4.327940095534411e-8 127.94521045812671
+4.3322267025842815e-8 124.02928255590007
+4.336513309634152e-8 120.2285414096461
+4.340799916684022e-8 116.5397481917565
+4.345086523733893e-8 112.95975050570567
+4.3493731307837636e-8 109.48548021891501
+4.353659737833634e-8 106.11395134600555
+4.3579463448835044e-8 102.84225798116248
+4.3622329519333755e-8 99.66757227882992
+4.366519558983246e-8 96.58714248144047
+4.370806166033116e-8 93.59829099351639
+4.3750927730829866e-8 90.69841250078686
+4.3793793801328577e-8 87.88497213366155
+4.383665987182728e-8 85.15550367404711
+4.3879525942325984e-8 82.50760780438735
+4.3922392012824695e-8 79.9389503983562
+4.39652580833234e-8 77.4472608519537
+4.40081241538221e-8 75.03033045447611
+4.4050990224320806e-8 72.68601079818572
+4.409385629481951e-8 70.41221222602732
+4.413672236531822e-8 68.20690231657774
+4.4179588435816924e-8 66.06810440528206
+4.422245450631563e-8 63.99389614128082
+4.426532057681433e-8 61.9824080790433
+4.430818664731304e-8 60.031822304018405
+4.435105271781175e-8 58.14037109153583
+4.4393918788310457e-8 56.306335598263594
+4.443678485880916e-8 54.52804458549374
+4.4479650929307864e-8 52.803873173512706
+4.452251699980657e-8 51.13224162638229
+4.456538307030527e-8 49.51161416649479
+4.460824914080398e-8 47.94049781815558
+4.465111521130269e-8 46.417441279616206
+4.469398128180139e-8 44.94103382283751
+4.4736847352300094e-8 43.50990422046607
+4.47797134227988e-8 42.12271969926691
+4.4822579493297515e-8 40.778184919577534
+4.486544556379622e-8 39.47504098002179
+4.490831163429492e-8 38.21206444702525
+4.4951177704793626e-8 36.98806640853293
+4.4994043775292337e-8 35.80189155135669
+4.503690984579104e-8 34.65241726161913
+4.5079775916289744e-8 33.53855274776716
+4.512264198678845e-8 32.459238185623065
+4.516550805728716e-8 31.4134438849997
+4.520837412778586e-8 30.40016947729017
+4.5251240198284566e-8 29.41844312366336
+4.529410626878327e-8 28.467320743293588
+4.533697233928198e-8 27.54588526117244
+4.5379838409780684e-8 26.653245875087958
+4.542270448027939e-8 25.78853734127388
+4.546557055077809e-8 24.950919278290034
+4.55084366212768e-8 24.13957548874872
+4.5551302691775506e-8 23.353713298404237
+4.559416876227421e-8 22.59256291223675
+4.5637034832772914e-8 21.855376787111037
+4.5679900903271624e-8 21.141429020608612
+4.572276697377033e-8 20.450014755670022
+4.576563304426903e-8 19.78044960062377
+4.5808499114767736e-8 19.132069064291564
+4.5851365185266446e-8 18.50422800575731
+4.589423125576515e-8 17.89630009847208
+4.593709732626386e-8 17.307677308331122
+4.5979963396762564e-8 16.737769385411845
+4.602282946726127e-8 16.1860033690062
+4.606569553775997e-8 15.651823105652237
+4.6108561608258676e-8 15.134688779833624
+4.615142767875738e-8 14.634076457033833
+4.619429374925609e-8 14.149477638854355
+4.6237159819754794e-8 13.680398829896836
+4.62800258902535e-8 13.22636111610818
+4.63228919607522e-8 12.786899754324512
+4.6365758031250905e-8 12.361563772713634
+4.640862410174962e-8 11.949915581880006
+4.6451490172248326e-8 11.5515305963262
+4.649435624274703e-8 11.16599686604311
+4.6537222313245734e-8 10.792914717963933
+4.6580088383744444e-8 10.431896407044853
+4.662295445424315e-8 10.082565776713103
+4.666582052474185e-8 9.744557928461859
+4.6708686595240556e-8 9.417518900368647
+4.675155266573926e-8 9.10110535427922
+4.6794418736237964e-8 8.794984271489923
+4.6837284806736674e-8 8.498832656654248
+4.688015087723538e-8 8.212337249755397
+4.692301694773409e-8 7.935194245911096
+4.696588301823279e-8 7.66710902281517
+4.7008749088731496e-8 7.407795875629948
+4.70516151592302e-8 7.156977759130585
+4.709448122972891e-8 6.914386036919115
+4.7137347300227614e-8 6.67976023752018
+4.718021337072632e-8 6.452847817195008
+4.722307944122503e-8 6.233403929284033
+4.726594551172373e-8 6.021191199917474
+4.7308811582222436e-8 5.8159795099347305
+4.735167765272114e-8 5.617545782833859
+4.739454372321984e-8 5.4256737786170035
+4.743740979371856e-8 5.240153893355527
+4.748027586421726e-8 5.060782964344167
+4.752314193471596e-8 4.887364080684886
+4.7566008005214665e-8 4.719706399166066
+4.760887407571338e-8 4.5576249652917395
+4.765174014621208e-8 4.400940539330706
+4.769460621671079e-8 4.249479427250869
+4.773747228720949e-8 4.103073316406894
+4.77803383577082e-8 3.9615591158606493
+4.78232044282069e-8 3.824778801207519
\ No newline at end of file
diff --git a/ecell4/egfrd/legacy/samples/reversible/p_rev.1.tsv b/ecell4/egfrd/legacy/samples/reversible/p_rev.1.tsv
new file mode 100644
index 0000000..9873b1c
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/reversible/p_rev.1.tsv
@@ -0,0 +1,1000 @@
+5.e-9 1.678933489734064e6
+5.135554417117259e-9 1.7224683057130761e6
+5.2711088342345195e-9 1.7658823228272109e6
+5.406663251351779e-9 1.8091740957008929e6
+5.542217668469039e-9 1.8523421593796872e6
+5.677772085586298e-9 1.8953850295232965e6
+5.8133265027035575e-9 1.9383012024994646e6
+5.948880919820817e-9 1.981089155576215e6
+6.084435336938077e-9 2.0237473470999845e6
+6.219989754055336e-9 2.0662742166645373e6
+6.355544171172596e-9 2.1086681853194563e6
+6.4910985882898556e-9 2.150927655733117e6
+6.626653005407115e-9 2.193051012462808e6
+6.762207422524375e-9 2.2350366221546372e6
+6.897761839641633e-9 2.276882833761567e6
+7.0333162567588935e-9 2.318587978832175e6
+7.168870673876154e-9 2.36015037170463e6
+7.304425090993413e-9 2.4015683098272397e6
+7.439979508110672e-9 2.4428400740053114e6
+7.575533925227933e-9 2.4839639286789773e6
+7.711088342345192e-9 2.5249381222472233e6
+7.846642759462452e-9 2.5657608873479203e6
+7.982197176579711e-9 2.606430441163764e6
+8.11775159369697e-9 2.6469449857633533e6
+8.25330601081423e-9 2.687302708452821e6
+8.388860427931489e-9 2.727501782051542e6
+8.52441484504875e-9 2.767540365299786e6
+8.659969262166009e-9 2.807416603191016e6
+8.795523679283268e-9 2.8471286273523336e6
+8.931078096400528e-9 2.8866745564205847e6
+9.066632513517787e-9 2.926052496405256e6
+9.202186930635048e-9 2.9652605410647867e6
+9.337741347752307e-9 3.0042967723866994e6
+9.473295764869566e-9 3.0431592609391026e6
+9.608850181986826e-9 3.0818460662635155e6
+9.744404599104085e-9 3.1203552373581403e6
+9.879959016221346e-9 3.1586848130565677e6
+1.0015513433338604e-8 3.196832822496348e6
+1.0151067850455865e-8 3.2347972855730704e6
+1.0286622267573124e-8 3.272576213345653e6
+1.0422176684690383e-8 3.3101676085592965e6
+1.0557731101807642e-8 3.3475694660555287e6
+1.0693285518924902e-8 3.3847797732686526e6
+1.0828839936042163e-8 3.421796510729833e6
+1.0964394353159422e-8 3.458617652493908e6
+1.1099948770276681e-8 3.4952411666973243e6
+1.123550318739394e-8 3.531665015995731e6
+1.13710576045112e-8 3.567887158100002e6
+1.150661202162846e-8 3.6039055462753423e6
+1.164216643874572e-8 3.6397181298541883e6
+1.177772085586298e-8 3.6753228547628424e6
+1.1913275272980239e-8 3.7107176639986215e6
+1.20488296900975e-8 3.74590049822919e6
+1.2184384107214759e-8 3.780869296279102e6
+1.2319938524332016e-8 3.8156219956743177e6
+1.2455492941449277e-8 3.8501565331629044e6
+1.2591047358566535e-8 3.884470845314931e6
+1.2726601775683796e-8 3.918562869003435e6
+1.2862156192801055e-8 3.952430541982672e6
+1.2997710609918316e-8 3.9860718034416432e6
+1.3133265027035574e-8 4.0194845945799886e6
+1.3268819444152835e-8 4.0526668591281204e6
+1.3404373861270094e-8 4.085616543948225e6
+1.3539928278387353e-8 4.118331599537961e6
+1.3675482695504614e-8 4.1508099806766505e6
+1.3811037112621873e-8 4.183049646922634e6
+1.3946591529739133e-8 4.215048563233363e6
+1.4082145946856392e-8 4.246804700526609e6
+1.4217700363973651e-8 4.278316036200462e6
+1.4353254781090912e-8 4.30958055477909e6
+1.4488809198208172e-8 4.340596248487602e6
+1.4624363615325431e-8 4.371361117688409e6
+1.475991803244269e-8 4.401873171668322e6
+1.489547244955995e-8 4.432130429054029e6
+1.503102686667721e-8 4.4621309184728805e6
+1.5166581283794466e-8 4.491872679040443e6
+1.530213570091173e-8 4.521353761043569e6
+1.5437690118028988e-8 4.550572226437705e6
+1.5573244535146246e-8 4.579526149452019e6
+1.570879895226351e-8 4.608213617127532e6
+1.5844353369380768e-8 4.636632729920099e6
+1.5979907786498025e-8 4.664781602269254e6
+1.6115462203615283e-8 4.6926583631193815e6
+1.6251016620732544e-8 4.720261156552031e6
+1.6386571037849805e-8 4.747588142314919e6
+1.6522125454967063e-8 4.774637496369981e6
+1.6657679872084323e-8 4.801407411427026e6
+1.6793234289201584e-8 4.827896097602922e6
+1.6928788706318842e-8 4.854101782833518e6
+1.70643431234361e-8 4.880022713549865e6
+1.7199897540553364e-8 4.905657155153537e6
+1.733545195767062e-8 4.931003392509248e6
+1.747100637478788e-8 4.956059730612806e6
+1.7606560791905143e-8 4.98082449501751e6
+1.77421152090224e-8 5.005296032410655e6
+1.787766962613966e-8 5.029472711126165e6
+1.801322404325692e-8 5.053352921664364e6
+1.814877846037418e-8 5.076935077182736e6
+1.8284332877491438e-8 5.100217614042096e6
+1.8419887294608702e-8 5.123198992336721e6
+1.855544171172596e-8 5.145877696295223e6
+1.8690996128843218e-8 5.168252234910087e6
+1.8826550545960475e-8 5.190321142265113e6
+1.8962104963077736e-8 5.212082978166567e6
+1.9097659380194997e-8 5.233536328544781e6
+1.9233213797312255e-8 5.254679805898964e6
+1.9368768214429516e-8 5.275512049848597e6
+1.9504322631546777e-8 5.296031727527647e6
+1.9639877048664034e-8 5.316237534034984e6
+1.97754314657813e-8 5.336128192877024e6
+1.9910985882898556e-8 5.355702456468111e6
+2.0046540300015814e-8 5.374959106419353e6
+2.018209471713307e-8 5.393896954138409e6
+2.0317649134250336e-8 5.412514841103896e6
+2.0453203551367593e-8 5.430811639348231e6
+2.058875796848485e-8 5.448786251805078e6
+2.072431238560211e-8 5.4664376127775e6
+2.0859866802719366e-8 5.483764688178641e6
+2.099542121983663e-8 5.50076647610002e6
+2.1130975636953888e-8 5.517442006983708e6
+2.1266530054071146e-8 5.533790344122538e6
+2.140208447118841e-8 5.549810583944174e6
+2.1537638888305668e-8 5.565501856364924e6
+2.1673193305422932e-8 5.580863325121287e6
+2.180874772254019e-8 5.595894188079224e6
+2.1944302139657447e-8 5.610593677587583e6
+2.2079856556774705e-8 5.624961060730064e6
+2.221541097389197e-8 5.638995639673078e6
+2.2350965391009227e-8 5.652696751886035e6
+2.2486519808126484e-8 5.666063770509957e6
+2.262207422524375e-8 5.67909610454576e6
+2.2757628642361006e-8 5.691793199098381e6
+2.2893183059478264e-8 5.704154535703798e6
+2.3028737476595528e-8 5.716179632540812e6
+2.3164291893712786e-8 5.727868044606245e6
+2.3299846310830043e-8 5.739219364012905e6
+2.34354007279473e-8 5.750233220158345e6
+2.3570955145064565e-8 5.760909279856578e6
+2.3706509562181823e-8 5.771247247659395e6
+2.384206397929908e-8 5.7812468659814205e6
+2.3977618396416345e-8 5.790907915161805e6
+2.4113172813533602e-8 5.800230213834482e6
+2.424872723065086e-8 5.809213618863451e6
+2.4384281647768124e-8 5.817858025598905e6
+2.4519836064885382e-8 5.826163367978262e6
+2.465539048200264e-8 5.834129618682277e6
+2.4790944899119897e-8 5.841756789134351e6
+2.492649931623716e-8 5.849044929703321e6
+2.506205373335442e-8 5.85599412972164e6
+2.5197608150471677e-8 5.862604517640183e6
+2.5333162567588934e-8 5.86887626098615e6
+2.54687169847062e-8 5.874809566470051e6
+2.5604271401823456e-8 5.880404680069024e6
+2.5739825818940714e-8 5.885661886979954e6
+2.5875380236057978e-8 5.890581511694988e6
+2.6010934653175236e-8 5.895163917987057e6
+2.6146489070292493e-8 5.899409508977656e6
+2.6282043487409758e-8 5.903318726995335e6
+2.6417597904527015e-8 5.906892053701936e6
+2.6553152321644273e-8 5.910130009970522e6
+2.6688706738761537e-8 5.913033155858306e6
+2.6824261155878788e-8 5.915602090595892e6
+2.6959815572996052e-8 5.917837452473555e6
+2.709536999011331e-8 5.919739918810359e6
+2.7230924407230568e-8 5.9213102058723215e6
+2.7366478824347832e-8 5.9225490687287515e6
+2.750203324146509e-8 5.923457301229661e6
+2.7637587658582347e-8 5.924035735828153e6
+2.7773142075699605e-8 5.9242852434988115e6
+2.790869649281687e-8 5.924206733605389e6
+2.8044250909934127e-8 5.923801153720658e6
+2.817980532705139e-8 5.923069489500998e6
+2.831535974416865e-8 5.922012764525602e6
+2.8450914161285906e-8 5.920632040151757e6
+2.8586468578403164e-8 5.918928415295082e6
+2.8722022995520428e-8 5.916903026227133e6
+2.8857577412637686e-8 5.914557046453763e6
+2.8993131829754943e-8 5.911891686389756e6
+2.91286862468722e-8 5.90890819324462e6
+2.9264240663989465e-8 5.905607850756411e6
+2.9399795081106723e-8 5.901991978942788e6
+2.9535349498223987e-8 5.898061933881287e6
+2.9670903915341245e-8 5.893819107442534e6
+2.98064583324585e-8 5.889264927014407e6
+2.994201274957576e-8 5.884400855230596e6
+3.0077567166693024e-8 5.879228389728742e6
+3.021312158381028e-8 5.873749062848529e6
+3.034867600092754e-8 5.867964441284313e6
+3.0484230418044804e-8 5.861876125818119e6
+3.061978483516206e-8 5.855485751056077e6
+3.075533925227932e-8 5.848794985006825e6
+3.089089366939658e-8 5.841805528789835e6
+3.102644808651384e-8 5.834519116361344e6
+3.11620025036311e-8 5.826937514106232e6
+3.1297556920748356e-8 5.819062520474516e6
+3.143311133786562e-8 5.8108959656587625e6
+3.156866575498288e-8 5.802439711214816e6
+3.1704220172100136e-8 5.793695649700544e6
+3.18397745892174e-8 5.784665704270235e6
+3.197532900633466e-8 5.775351828299239e6
+3.2110883423451915e-8 5.765756004965809e6
+3.224643784056917e-8 5.755880246922917e6
+3.238199225768644e-8 5.7457265958059e6
+3.25175466748037e-8 5.735297121856016e6
+3.265310109192095e-8 5.724593923536195e6
+3.2788655509038216e-8 5.713619127034033e6
+3.2924209926155474e-8 5.70237488587807e6
+3.305976434327273e-8 5.690863380477297e6
+3.3195318760389996e-8 5.679086817702611e6
+3.3330873177507254e-8 5.667047430438451e6
+3.346642759462451e-8 5.654747477106651e6
+3.360198201174177e-8 5.642189241173254e6
+3.373753642885903e-8 5.629375030814745e6
+3.38730908459763e-8 5.616307178309854e6
+3.400864526309355e-8 5.602988039649076e6
+3.414419968021081e-8 5.589419994035172e6
+3.427975409732807e-8 5.575605443401975e6
+3.441530851444533e-8 5.56154681191851e6
+3.455086293156259e-8 5.547246545511551e6
+3.468641734867985e-8 5.53270711139599e6
+3.482197176579711e-8 5.517930997510589e6
+3.4957526182914365e-8 5.502920712131573e6
+3.509308060003163e-8 5.4876787832344975e6
+3.522863501714889e-8 5.472207758067707e6
+3.536418943426614e-8 5.456510202687451e6
+3.54997438513834e-8 5.440588701312903e6
+3.5635298268500666e-8 5.424445855945335e6
+3.577085268561792e-8 5.408084285785002e6
+3.590640710273518e-8 5.391506626701115e6
+3.604196151985244e-8 5.374715530755236e6
+3.61775159369697e-8 5.357713665666429e6
+3.631307035408696e-8 5.340503714201222e6
+3.644862477120422e-8 5.3230883738295315e6
+3.658417918832148e-8 5.305470356003958e6
+3.6719733605438734e-8 5.287652385769485e6
+3.6855288022556e-8 5.269637201158707e6
+3.699084243967326e-8 5.251427552681747e6
+3.7126396856790514e-8 5.233026202783985e6
+3.726195127390778e-8 5.214435925344615e6
+3.739750569102504e-8 5.19565950512205e6
+3.753306010814229e-8 5.176699737179717e6
+3.766861452525956e-8 5.157559426455131e6
+3.7804168942376815e-8 5.1382413871229645e6
+3.793972335949408e-8 5.118748442103297e6
+3.807527777661134e-8 5.099083422547658e6
+3.8210832193728594e-8 5.079249167276143e6
+3.834638661084586e-8 5.059248522245146e6
+3.848194102796311e-8 5.039084340025834e6
+3.8617495445080374e-8 5.018759479302975e6
+3.875304986219764e-8 4.998276804295581e6
+3.8888604279314896e-8 4.977639184209807e6
+3.9024158696432153e-8 4.9568494928185325e6
+3.915971311354941e-8 4.935910607828654e6
+3.9295267530666675e-8 4.914825410396204e6
+3.943082194778393e-8 4.893596784613363e6
+3.956637636490119e-8 4.872227616987972e6
+3.9701930782018455e-8 4.85072079588733e6
+3.983748519913571e-8 4.829079211069478e6
+3.997303961625297e-8 4.807305753131816e6
+4.0108594033370234e-8 4.785403313055115e6
+4.024414845048749e-8 4.763374781630058e6
+4.037970286760475e-8 4.741223048969741e6
+4.051525728472201e-8 4.718951004051978e6
+4.065081170183927e-8 4.696561534146116e6
+4.078636611895653e-8 4.674057524352626e6
+4.092192053607379e-8 4.651441857135385e6
+4.105747495319105e-8 4.628717411786502e6
+4.119302937030831e-8 4.605887063974285e6
+4.1328583787425566e-8 4.582953685207352e6
+4.146413820454283e-8 4.5599201424158085e6
+4.159969262166009e-8 4.536789297457004e6
+4.1735247038777346e-8 4.51356400658423e6
+4.1870801455894603e-8 4.49024712009717e6
+4.200635587301187e-8 4.466841481759194e6
+4.2141910290129125e-8 4.443349928421815e6
+4.227746470724638e-8 4.419775289518678e6
+4.241301912436365e-8 4.396120386623158e6
+4.2548573541480905e-8 4.372388033018365e6
+4.268412795859816e-8 4.348581033254735e6
+4.281968237571543e-8 4.3247021826885585e6
+4.2955236792832684e-8 4.3007542670898745e6
+4.309079120994994e-8 4.276740062151003e6
+4.32263456270672e-8 4.252662333143555e6
+4.3361900044184464e-8 4.228523834453158e6
+4.349745446130172e-8 4.204327309151663e6
+4.363300887841898e-8 4.180075488637075e6
+4.3768563295536243e-8 4.1557710921928543e6
+4.39041177126535e-8 4.1314168266222393e6
+4.403967212977076e-8 4.1070153858193494e6
+4.4175226546888016e-8 4.0825694504438643e6
+4.4310780964005274e-8 4.058081687466385e6
+4.444633538112254e-8 4.033554749824745e6
+4.4581889798239796e-8 4.0089912761138156e6
+4.4717444215357053e-8 3.984393890120414e6
+4.485299863247432e-8 3.9597652005538433e6
+4.498855304959157e-8 3.9351078006229047e6
+4.512410746670883e-8 3.910424267755566e6
+4.52596618838261e-8 3.885717163231036e6
+4.539521630094335e-8 3.8609890318191415e6
+4.553077071806061e-8 3.836242401516387e6
+4.566632513517787e-8 3.811479783162877e6
+4.5801879552295134e-8 3.78670367017581e6
+4.593743396941239e-8 3.761916538200668e6
+4.607298838652965e-8 3.73712084484303e6
+4.6208542803646914e-8 3.7123190293526e6
+4.6344097220764165e-8 3.6875135123472437e6
+4.647965163788143e-8 3.6627066955232415e6
+4.6615206054998693e-8 3.637900961365888e6
+4.675076047211595e-8 3.6130986729115304e6
+4.688631488923321e-8 3.588302173445324e6
+4.7021869306350466e-8 3.563513786275885e6
+4.715742372346773e-8 3.5387358144778213e6
+4.729297814058499e-8 3.513970540616269e6
+4.7428532557702246e-8 3.4892202265408235e6
+4.756408697481951e-8 3.4644871131718284e6
+4.769964139193676e-8 3.4397734202208733e6
+4.783519580905403e-8 3.415081346026996e6
+4.797075022617129e-8 3.3904130673031644e6
+4.810630464328855e-8 3.365770738966336e6
+4.8241859060405805e-8 3.341156493898212e6
+4.837741347752307e-8 3.3165724427936445e6
+4.8512967894640327e-8 3.292020673952185e6
+4.864852231175758e-8 3.267503253110186e6
+4.878407672887484e-8 3.2430222232458526e6
+4.89196311459921e-8 3.218579604452861e6
+4.9055185563109364e-8 3.1941773937359536e6
+4.9190739980226615e-8 3.169817564902317e6
+4.9326294397343886e-8 3.145502068376509e6
+4.9461848814461137e-8 3.1212328310771934e6
+4.95974032315784e-8 3.097011756299291e6
+4.973295764869566e-8 3.07284072354432e6
+4.986851206581292e-8 3.0487215884626703e6
+5.0004066482930174e-8 3.024656182661163e6
+5.013962090004744e-8 3.0006463136621793e6
+5.0275175317164696e-8 2.9766937647762117e6
+5.041072973428196e-8 2.952800294990873e6
+5.054628415139921e-8 2.928967638907545e6
+5.068183856851648e-8 2.905197506647636e6
+5.081739298563373e-8 2.8814915837763157e6
+5.0952947402751e-8 2.8578515312312087e6
+5.1088501819868255e-8 2.83427898525361e6
+5.122405623698552e-8 2.810775557334616e6
+5.1359610654102777e-8 2.7873428341719913e6
+5.1495165071220034e-8 2.763982377604878e6
+5.163071948833729e-8 2.7406957245918354e6
+5.1766273905454556e-8 2.717484387139792e6
+5.190182832257181e-8 2.69434985235214e6
+5.203738273968908e-8 2.671293582302019e6
+5.217293715680633e-8 2.648317014100689e6
+5.230849157392359e-8 2.625421559853773e6
+5.244404599104085e-8 2.602608606642975e6
+5.2579600408158115e-8 2.579879516551498e6
+5.271515482527537e-8 2.5572356266393093e6
+5.285070924239263e-8 2.534678248983635e6
+5.298626365950989e-8 2.5122086706822906e6
+5.312181807662715e-8 2.489828153874757e6
+5.32573724937444e-8 2.4675379357613134e6
+5.3392926910861674e-8 2.445339228643037e6
+5.3528481327978925e-8 2.4232332199827456e6
+5.366403574509619e-8 2.401221072383655e6
+5.379959016221345e-8 2.379303923708229e6
+5.393514457933071e-8 2.357482887082941e6
+5.407069899644797e-8 2.3357590509753316e6
+5.4206253413565227e-8 2.314133479255679e6
+5.4341807830682484e-8 2.292607211260302e6
+5.447736224779975e-8 2.2711812618518933e6
+5.4612916664917e-8 2.2498566215182785e6
+5.474847108203427e-8 2.2286342564381007e6
+5.488402549915152e-8 2.207515108573705e6
+5.5019579916268786e-8 2.186500095753458e6
+5.515513433338604e-8 2.1655901117595346e6
+5.529068875050331e-8 2.144786026453807e6
+5.5426243167620565e-8 2.1240886858563456e6
+5.556179758473782e-8 2.1034989122589696e6
+5.569735200185508e-8 2.0830175043331562e6
+5.5832906418972345e-8 2.0626452372513986e6
+5.59684608360896e-8 2.0423828628059472e6
+5.6104015253206866e-8 2.0222311095217888e6
+5.623956967032412e-8 2.0021906827960731e6
+5.637512408744139e-8 1.9822622650092528e6
+5.651067850455864e-8 1.962446515690289e6
+5.6646232921675904e-8 1.9427440716165216e6
+5.678178733879316e-8 1.923155546988665e6
+5.691734175591042e-8 1.903681533547309e6
+5.7052896173027676e-8 1.8843226007389135e6
+5.7188450590144934e-8 1.8650792958574598e6
+5.73240050072622e-8 1.8459521442072194e6
+5.745955942437945e-8 1.826941649248227e6
+5.7595113841496714e-8 1.808048292764924e6
+5.773066825861397e-8 1.7892725350264602e6
+5.7866222675731236e-8 1.770614814949654e6
+5.8001777092848487e-8 1.7520755502679788e6
+5.813733150996576e-8 1.7336551377109224e6
+5.8272885927083015e-8 1.715353953175161e6
+5.840844034420027e-8 1.6971723518878808e6
+5.8543994761317524e-8 1.679110668609627e6
+5.86795491784348e-8 1.6611692177919974e6
+5.8815103595552046e-8 1.6433482937772246e6
+5.895065801266931e-8 1.6256481709762614e6
+5.9086212429786574e-8 1.608069104059721e6
+5.922176684690383e-8 1.5906113281503634e6
+5.935732126402108e-8 1.573275059010685e6
+5.949287568113835e-8 1.556060493239486e6
+5.962843009825562e-8 1.5389678084703332e6
+5.976398451537287e-8 1.5219971635624885e6
+5.989953893249012e-8 1.5051486988099057e6
+6.00350933496074e-8 1.4884225361352612e6
+6.017064776672465e-8 1.4718187792955015e6
+6.030620218384191e-8 1.4553375140924181e6
+6.044175660095918e-8 1.4389788085524912e6
+6.057731101807643e-8 1.4227427131773462e6
+6.071286543519368e-8 1.406629261113341e6
+6.084841985231094e-8 1.3906384683825264e6
+6.098397426942821e-8 1.3747703340810256e6
+6.111952868654547e-8 1.3590248406090883e6
+6.125508310366272e-8 1.3434019538538028e6
+6.139063752078e-8 1.3279016234388659e6
+6.152619193789725e-8 1.3125237829113798e6
+6.16617463550145e-8 1.2972683499653894e6
+6.179730077213177e-8 1.282135226667731e6
+6.193285518924903e-8 1.2671242996594459e6
+6.206840960636628e-8 1.2522354403884758e6
+6.220396402348355e-8 1.2374685053144782e6
+6.233951844060081e-8 1.222823336133104e6
+6.247507285771806e-8 1.2082997599965027e6
+6.261062727483531e-8 1.1938975897343548e6
+6.274618169195259e-8 1.1796166240610336e6
+6.288173610906984e-8 1.165456647807834e6
+6.30172905261871e-8 1.1514174321459322e6
+6.315284494330437e-8 1.1374987347895894e6
+6.328839936042163e-8 1.1237003002345946e6
+6.342395377753887e-8 1.110021859963521e6
+6.355950819465614e-8 1.096463132672293e6
+6.36950626117734e-8 1.0830238244979086e6
+6.383061702889066e-8 1.0697036292191017e6
+6.396617144600791e-8 1.0565022284992111e6
+6.410172586312519e-8 1.0434192920791608e6
+6.423728028024244e-8 1.0304544780206154e6
+6.43728346973597e-8 1.0176074329106509e6
+6.450838911447696e-8 1.0048777920784923e6
+6.464394353159422e-8 992265.1798229674
+6.477949794871147e-8 979769.2096208775
+6.491505236582874e-8 967389.4843473225
+6.5050606782946e-8 955125.596490105
+6.518616120006327e-8 942977.1283605014
+6.532171561718052e-8 930943.6523183514
+6.545727003429778e-8 919024.7309719594
+6.559282445141503e-8 907219.9174026808
+6.572837886853228e-8 895528.7553685916
+6.586393328564956e-8 883950.7795180124
+6.599948770276681e-8 872485.5155993272
+6.613504211988408e-8 861132.4806684304
+6.627059653700134e-8 849891.1833003258
+6.640615095411859e-8 838761.1237931211
+6.654170537123584e-8 827741.7943736789
+6.667725978835311e-8 816832.6793974317
+6.681281420547037e-8 806033.2555630801
+6.694836862258764e-8 795342.9921019701
+6.708392303970489e-8 784761.3509878549
+6.721947745682216e-8 774287.7871328609
+6.73550318739394e-8 763921.7485823798
+6.749058629105667e-8 753662.6767181945
+6.762614070817393e-8 743510.0064495096
+6.77616951252912e-8 733463.1664088289
+6.789724954240845e-8 723521.579140411
+6.803280395952571e-8 713684.6612972146
+6.816835837664297e-8 703951.8238253203
+6.830391279376023e-8 694322.4721546978
+6.843946721087748e-8 684796.0063865136
+6.857502162799475e-8 675371.8214710755
+6.8710576045112e-8 666049.3074014208
+6.884613046222927e-8 656827.8493835005
+6.898168487934653e-8 647706.8280235201
+6.911723929646378e-8 638685.6195066283
+6.925279371358104e-8 629763.5957673021
+6.938834813069831e-8 620940.1246692033
+6.952390254781556e-8 612214.5701771919
+6.965945696493283e-8 603586.29252674
+6.979501138205009e-8 595054.6483919352
+6.993056579916736e-8 586618.9910585083
+7.00661202162846e-8 578278.6705857066
+7.020167463340186e-8 570033.0339709297
+7.033722905051912e-8 561881.4253111054
+7.047278346763639e-8 553823.1859629565
+7.060833788475364e-8 545857.6547051218
+7.074389230187092e-8 537984.1678878837
+7.087944671898817e-8 530202.0595944928
+7.101500113610542e-8 522510.6617899465
+7.115055555322268e-8 514909.30447211134
+7.128610997033995e-8 507397.3158210461
+7.14216643874572e-8 499974.02234536136
+7.155721880457446e-8 492638.74902919
+7.169277322169173e-8 485390.8194744449
+7.182832763880899e-8 478229.5560399266
+7.196388205592623e-8 471154.27998187626
+7.20994364730435e-8 464164.31158977683
+7.223499089016076e-8 457258.97032657557
+7.237054530727802e-8 450437.57495379256
+7.250609972439528e-8 443699.4436707292
+7.264165414151255e-8 437043.89423654514
+7.27772085586298e-8 430470.24410460715
+7.291276297574705e-8 423977.81054142513
+7.304831739286432e-8 417565.91075554333
+7.318387180998158e-8 411233.8620124352
+7.331942622709883e-8 404980.9817623944
+7.345498064421611e-8 398806.58774885494
+7.359053506133336e-8 392709.99812924326
+7.372608947845061e-8 386690.5315887018
+7.386164389556787e-8 380747.50744864665
+7.399719831268514e-8 374880.24578013225
+7.413275272980239e-8 369088.0675036836
+7.426830714691965e-8 363370.2945055163
+7.440386156403692e-8 357726.24973389617
+7.453941598115417e-8 352155.2573014151
+7.467497039827143e-8 346656.6425892624
+7.481052481538868e-8 341229.7323391375
+7.494607923250595e-8 335873.85475272447
+7.50816336496232e-8 330588.33958402154
+7.521718806674048e-8 325372.5182342038
+7.535274248385773e-8 320225.7238368141
+7.548829690097499e-8 315147.2913522103
+7.562385131809224e-8 310136.5576478008
+7.575940573520951e-8 305192.8615866491
+7.589496015232676e-8 300315.5441087927
+7.603051456944402e-8 295503.9483113124
+7.616606898656129e-8 290757.41953067714
+7.630162340367855e-8 286075.3054130298
+7.64371778207958e-8 281456.95599629177
+7.657273223791307e-8 276901.72378159955
+7.670828665503032e-8 272408.9638015196
+7.684384107214758e-8 267978.0336945551
+7.697939548926485e-8 263608.2937721093
+7.711494990638211e-8 259299.10708252352
+7.725050432349936e-8 255049.83947902237
+7.738605874061663e-8 250859.85967930182
+7.752161315773388e-8 246728.53932993827
+7.765716757485114e-8 242655.25306300496
+7.779272199196839e-8 238639.3785553671
+7.792827640908567e-8 234680.29658494075
+7.806383082620292e-8 230777.39108453775
+7.819938524332018e-8 226930.04919437467
+7.833493966043744e-8 223137.66131425436
+7.84704940775547e-8 219399.62115265743
+7.860604849467195e-8 215715.3257736556
+7.874160291178922e-8 212084.17564562408
+7.887715732890648e-8 208505.57468399196
+7.901271174602374e-8 204978.93029590126
+7.9148266163141e-8 201503.65341973412
+7.928382058025826e-8 198079.15856902205
+7.941937499737551e-8 194704.8638680861
+7.955492941449277e-8 191380.19108950775
+7.969048383161004e-8 188104.56569257705
+7.98260382487273e-8 184877.41685429064
+7.996159266584455e-8 181698.17750387467
+8.009714708296182e-8 178566.28435532653
+8.023270150007907e-8 175481.17793576376
+8.036825591719633e-8 172442.30261450718
+8.050381033431358e-8 169449.1066318088
+8.063936475143086e-8 166501.04212288436
+8.077491916854811e-8 163597.56514425296
+8.091047358566538e-8 160738.13569628343
+8.104602800278264e-8 157922.2177465128
+8.118158241989989e-8 155149.2792487085
+8.131713683701714e-8 152418.7921637603
+8.145269125413441e-8 149730.23247814327
+8.158824567125167e-8 147083.08022062955
+8.172380008836894e-8 144476.81947826676
+8.185935450548619e-8 141910.93841159722
+8.199490892260345e-8 139384.92926844943
+8.21304633397207e-8 136898.2883951525
+8.226601775683797e-8 134450.51624994932
+8.240157217395523e-8 132041.1174117563
+8.25371265910725e-8 129669.60059012064
+8.267268100818975e-8 127335.47863308618
+8.280823542530701e-8 125038.26853463466
+8.294378984242426e-8 122777.49144014859
+8.307934425954153e-8 120552.67265234176
+8.321489867665878e-8 118363.34163461498
+8.335045309377604e-8 116209.03201413863
+8.34860075108933e-8 114089.28158486277
+8.362156192801056e-8 112003.6323078158
+8.375711634512783e-8 109951.63031165377
+8.389267076224508e-8 107932.82589227763
+8.402822517936234e-8 105946.77351109311
+8.41637795964796e-8 103993.03179249635
+8.429933401359686e-8 102071.1635210967
+8.443488843071411e-8 100180.73563748728
+8.457044284783138e-8 98321.31923282724
+8.470599726494864e-8 96492.48954405736
+8.48415516820659e-8 94693.82594690741
+8.497710609918315e-8 92924.9119488721
+8.511266051630042e-8 91185.33518093653
+8.524821493341767e-8 89474.68738915499
+8.538376935053494e-8 87792.56442514106
+8.55193237676522e-8 86138.5662362031
+8.565487818476947e-8 84512.29685416186
+8.57904326018867e-8 82913.36438405362
+8.592598701900397e-8 81341.38099210503
+8.606154143612123e-8 79795.96289277008
+8.61970958532385e-8 78276.7303356524
+8.633265027035575e-8 76783.30759135207
+8.646820468747303e-8 75315.32293687566
+8.660375910459028e-8 73872.40864075198
+8.673931352170753e-8 72454.20094706514
+8.687486793882479e-8 71060.34005961686
+8.701042235594206e-8 69690.47012462694
+8.714597677305931e-8 68344.23921390886
+8.728153119017657e-8 67021.29930759346
+8.741708560729384e-8 65721.3062742624
+8.755264002441109e-8 64443.91985426913
+8.768819444152834e-8 63188.803639147955
+8.782374885864562e-8 61955.62505295246
+8.795930327576287e-8 60744.055331487936
+8.809485769288013e-8 59553.76950254327
+8.82304121099974e-8 58384.44636454241
+8.836596652711466e-8 57235.7684658985
+8.850152094423191e-8 56107.42208309597
+8.863707536134916e-8 54999.09719846954
+8.877262977846643e-8 53910.48747893715
+8.890818419558369e-8 52841.29025223881
+8.904373861270094e-8 51791.20648487879
+8.917929302981822e-8 50759.94075859942
+8.931484744693547e-8 49747.20124671259
+8.945040186405272e-8 48752.699690589674
+8.958595628116998e-8 47776.15137554301
+8.972151069828725e-8 46817.275106347566
+8.98570651154045e-8 45875.793182745445
+8.999261953252176e-8 44951.431374841704
+9.012817394963903e-8 44043.91889788736
+9.026372836675629e-8 43152.98838718605
+9.039928278387353e-8 42278.37587215686
+9.05348372009908e-8 41419.820751733205
+9.067039161810807e-8 40577.065767407476
+9.080594603522532e-8 39749.85697817467
+9.094150045234259e-8 38937.943733982735
+9.107705486945984e-8 38141.07864942011
+9.12126092865771e-8 37359.01757730788
+9.134816370369435e-8 36591.519582433386
+9.148371812081162e-8 35838.34691455243
+9.161927253792887e-8 35099.26498170203
+9.175482695504615e-8 34374.04232343218
+9.189038137216341e-8 33662.450583758626
+9.202593578928066e-8 32964.264484032814
+9.216149020639791e-8 32279.261796027953
+9.229704462351516e-8 31607.22331439174
+9.243259904063244e-8 30947.93282977605
+9.256815345774969e-8 30301.177101292804
+9.270370787486696e-8 29666.745829266194
+9.283926229198421e-8 29044.431627791397
+9.297481670910148e-8 28434.02999733278
+9.311037112621874e-8 27835.339297393508
+9.324592554333599e-8 27248.16071898513
+9.338147996045324e-8 26672.298257224407
+9.351703437757052e-8 26107.558683866675
+9.365258879468778e-8 25553.751519997324
+9.378814321180503e-8 25010.689008475216
+9.392369762892228e-8 24478.186086586637
+9.405925204603955e-8 23956.06035874
+9.419480646315681e-8 23444.132069146737
+9.433036088027406e-8 22942.224074489783
+9.446591529739133e-8 22450.16181672638
+9.46014697145086e-8 21967.77329586452
+9.473702413162585e-8 21494.88904301546
+9.48725785487431e-8 21031.342093085743
+9.500813296586036e-8 20576.96795807388
+9.514368738297763e-8 20131.604599901446
+9.527924180009488e-8 19695.09240379415
+9.541479621721215e-8 19267.274151513855
+9.55503506343294e-8 18847.994994616627
+9.568590505144668e-8 18437.102428005135
+9.582145946856393e-8 18034.44626336728
+9.595701388568118e-8 17639.878602981727
+9.609256830279843e-8 17253.253813391984
+9.622812271991571e-8 16874.428499281217
+9.636367713703297e-8 16503.261477527925
+9.649923155415022e-8 16139.613751247045
+9.663478597126747e-8 15783.348484069704
+9.677034038838474e-8 15434.33097454667
+9.6905894805502e-8 15092.42863058508
+9.704144922261925e-8 14757.510944117941
+9.717700363973652e-8 14429.449465927935
+9.73125580568538e-8 14108.117780444512
+9.744811247397105e-8 13793.391480916296
+9.75836668910883e-8 13485.148144644429
+9.771922130820556e-8 13183.267308194314
+9.785477572532283e-8 12887.630443091071
+9.799033014244008e-8 12598.120931395264
+9.812588455955734e-8 12314.624041424137
+9.826143897667459e-8 12037.026904120363
+9.839699339379187e-8 11765.218488708835
+9.853254781090912e-8 11499.089579415826
+9.866810222802637e-8 11238.532751759716
+9.880365664514362e-8 10983.442349251043
+9.89392110622609e-8 10733.714460266332
+9.907476547937816e-8 10489.246894987918
+9.921031989649542e-8 10249.939162646366
+9.934587431361267e-8 10015.692448825952
+9.948142873072994e-8 9786.409593019973
+9.96169831478472e-8 9561.995066338659
+9.975253756496445e-8 9342.354949431547
+9.988809198208171e-8 9127.396910547828
+1.0002364639919899e-7 8917.030183780338
+1.0015920081631624e-7 8711.165547559069
+1.0029475523343349e-7 8509.715303220304
+1.0043030965055075e-7 8312.593253897936
+1.00565864067668e-7 8119.714683462351
+1.0070141848478527e-7 7930.996335806305
+1.0083697290190253e-7 7746.356394078612
+1.0097252731901978e-7 7565.714460448144
+1.0110808173613704e-7 7388.991535728399
+1.0124363615325431e-7 7216.109999395209
+1.0137919057037158e-7 7046.993589691688
+1.0151474498748881e-7 6881.567384030825
+1.0165029940460608e-7 6719.757779477206
+1.0178585382172336e-7 6561.492473477774
+1.0192140823884061e-7 6406.700444798993
+1.0205696265595786e-7 6255.311934613744
+1.0219251707307512e-7 6107.258427810227
+1.0232807149019239e-7 5962.472634479904
+1.0246362590730964e-7 5820.888471616309
+1.025991803244269e-7 5682.441044992102
+1.0273473474154415e-7 5547.066631220025
+1.0287028915866143e-7 5414.702660005375
+1.0300584357577868e-7 5285.287696650411
+1.0314139799289595e-7 5158.761424640671
+1.032769524100132e-7 5035.064628521337
+1.0341250682713046e-7 4914.139176928076
+1.0354806124424773e-7 4795.92800575034
+1.0368361566136498e-7 4680.3751016199685
+1.0381917007848223e-7 4567.42548547462
+1.039547244955995e-7 4457.025196300975
+1.0409027891271677e-7 4349.12127518966
+1.0422583332983401e-7 4243.661749442639
+1.0436138774695127e-7 4140.5956169281935
+1.0449694216406855e-7 4039.8728306355815
+1.046324965811858e-7 3941.4442833709163
+1.0476805099830305e-7 3845.2617926879516
+1.0490360541542032e-7 3751.2780859420736
+1.0503915983253758e-7 3659.4467855938565
+1.0517471424965483e-7 3569.722394642774
+1.053102686667721e-7 3482.0602822535843
+1.0544582308388935e-7 3396.4166695955737
+1.0558137750100662e-7 3312.748615807341
+1.0571693191812387e-7 3231.014004173745
+1.0585248633524114e-7 3151.1715284893594
+1.0598804075235839e-7 3073.180679541158
+1.0612359516947565e-7 2997.001731847491
+1.0625914958659292e-7 2922.595730506503
+1.0639470400371017e-7 2849.9244782383284
+1.0653025842082742e-7 2778.9505226047595
+1.066658128379447e-7 2709.637143386617
+1.0680136725506196e-7 2641.9483401371094
+1.0693692167217921e-7 2575.8488199110393
+1.0707247608929646e-7 2511.30398513635
+1.0720803050641374e-7 2448.2799216754306
+1.0734358492353099e-7 2386.7433870403247
+1.0747913934064824e-7 2326.6617987675368
+1.0761469375776551e-7 2268.003222953518
+1.0775024817488278e-7 2210.7363629597817
+1.0788580259200002e-7 2154.830548272912
+1.0802135700911729e-7 2100.2557235050126
+1.0815691142623454e-7 2046.9824375867536
+1.0829246584335182e-7 1994.981833073258
+1.0842802026046907e-7 1944.2256356310183
+1.0856357467758633e-7 1894.6861436769916
+1.0869912909470358e-7 1846.3362181352777
+1.0883468351182085e-7 1799.1492723972442
+1.0897023792893811e-7 1753.099262381854
+1.0910579234605536e-7 1708.1606767556757
+1.0924134676317261e-7 1664.308527319805
+1.0937690118028988e-7 1621.5183395124993
+1.0951245559740715e-7 1579.7661430554685
+1.096480100145244e-7 1539.0284627672079
+1.0978356443164166e-7 1499.2823094883079
+1.0991911884875891e-7 1460.505171147347
+1.1005467326587618e-7 1422.6750039797828
+1.1019022768299344e-7 1385.77022387523
+1.103257821001107e-7 1349.769697839182
+1.1046133651722795e-7 1314.652735614355
+1.1059689093434523e-7 1280.3990814205595
+1.1073244535146248e-7 1246.9889058204117
+1.1086799976857973e-7 1214.4027977175306
+1.1100355418569698e-7 1182.621756479231
+1.1113910860281426e-7 1151.6271841871037
+1.1127466301993152e-7 1121.4008780070335
+1.1141021743704877e-7 1091.9250226871839
+1.1154577185416604e-7 1063.1821831648867
+1.116813262712833e-7 1035.1552973097748
+1.1181688068840055e-7 1007.8276687725346
+1.119524351055178e-7 981.1829599443131
+1.1208798952263506e-7 955.2051850609678
+1.1222354393975233e-7 929.8787033753209
+1.1235909835686961e-7 905.1882124883904
+1.1249465277398685e-7 881.118741754149
+1.126302071911041e-7 857.655645819322
+1.1276576160822138e-7 834.7845982548117
+1.1290131602533863e-7 812.4915853013935
+1.1303687044245588e-7 790.76289972553
+1.1317242485957316e-7 769.5851347646219
+1.1330797927669042e-7 748.9451781904279
+1.1344353369380767e-7 728.8302064656025
+1.1357908811092492e-7 709.2276789978829
+1.1371464252804217e-7 690.1253325041046
+1.1385019694515945e-7 671.5111754585814
+1.139857513622767e-7 653.3734826453403
+1.1412130577939398e-7 635.7007898031062
+1.1425686019651123e-7 618.481888364923
+1.143924146136285e-7 601.7058202871339
+1.1452796903074575e-7 585.3618729690138
+1.14663523447863e-7 569.4395742693871
+1.1479907786498025e-7 553.9286876049141
+1.1493463228209753e-7 538.8192071325362
+1.150701866992148e-7 524.1013530254286
+1.1520574111633205e-7 509.7655668338507
+1.1534129553344929e-7 495.80250691702133
+1.1547684995056657e-7 482.2030439762291
+1.1561240436768382e-7 468.95825665243154
+1.1574795878480107e-7 456.0594272134405
+1.1588351320191835e-7 443.4980373147264
+1.1601906761903563e-7 431.2657638422909
+1.1615462203615286e-7 419.354474827895
+1.1629017645327011e-7 407.7562254425175
+1.1642573087038737e-7 396.46325405901325
+1.1656128528750464e-7 385.4679783956416
+1.166968397046219e-7 374.76299172532737
+1.1683239412173917e-7 364.3410591568232
+1.1696794853885642e-7 354.1951139876226
+1.1710350295597369e-7 344.31825412317875
+1.1723905737309094e-7 334.7037385644148
+1.1737461179020819e-7 325.3449839642314
+1.1751016620732544e-7 316.23556124263405
+1.1764572062444272e-7 307.36919227677225
+1.1778127504156e-7 298.7397466436749
+1.1791682945867725e-7 290.34123843106704
+1.180523838757945e-7 282.16782311143544
+1.1818793829291173e-7 274.2137944700897
+1.1832349271002901e-7 266.4735815982909
+1.1845904712714626e-7 258.94174594227303
+1.1859460154426354e-7 251.6129784102113
+1.1873015596138079e-7 244.48209653561128
+1.1886571037849806e-7 237.54404169708235
+1.1900126479561531e-7 230.79387639142493
+1.1913681921273256e-7 224.22678156162945
+1.192723736298498e-7 217.8380539778204
+1.1940792804696709e-7 211.62310366897162
+1.1954348246408435e-7 205.57745140712643
+1.1967903688120162e-7 199.69672624054215
+1.1981459129831885e-7 193.97666307864537
+1.1995014571543612e-7 188.4131003217679
+1.2008570013255338e-7 183.0019775409471
+1.2022125454967062e-7 177.73933320627626
+1.203568089667879e-7 172.62130245689698
+1.2049236338390517e-7 167.64411492037618
+1.2062791780102244e-7 162.80409257405188
+1.2076347221813968e-7 158.09764765103924
+1.2089902663525691e-7 153.5212805902537
+1.210345810523742e-7 149.07157802435992
+1.2117013546949144e-7 144.74521081560076
+1.2130568988660873e-7 140.53893212746206
+1.2144124430372597e-7 136.4495755366599
+1.2157679872084326e-7 132.47405318704506
+1.217123531379605e-7 128.60935397964076
+1.2184790755507774e-7 124.85254180076437
+1.21983461972195e-7 121.20075378851212
+1.2211901638931227e-7 117.6511986346671
+1.2225457080642956e-7 114.20115492206186
+1.223901252235468e-7 110.84796949878294
+1.2252567964066406e-7 107.5890558841081
+1.2266123405778132e-7 104.42189271205709
+1.2279678847489856e-7 101.34402220378983
+1.2293234289201582e-7 98.35304867567274
+1.230678973091331e-7 95.44663707871314
+1.2320345172625038e-7 92.62251156838698
+1.2333900614336762e-7 89.87845410654778
+1.2347456056048488e-7 87.21230309238399
+1.2361011497760212e-7 84.62195202366543
+1.2374566939471938e-7 82.1053481869761
+1.2388122381183665e-7 79.66049137594635
+1.240167782289539e-7 77.28543263813378
+1.2415233264607118e-7 74.97827304898752
+1.2428788706318844e-7 72.73716251261257
+1.244234414803057e-7 70.56029858925751
+1.2455899589742294e-7 68.44592534744098
+1.246945503145402e-7 66.39233224321828
+1.2483010473165747e-7 64.39785302310987
+1.2496565914877474e-7 62.460864651599586
+1.25101213565892e-7 60.57978626240955
+1.2523676798300924e-7 58.75307813360719
+1.2537232240012653e-7 56.97924068464031
+1.2550787681724377e-7 55.25681349761857
+1.2564343123436103e-7 53.58437435846085
+1.257789856514783e-7 51.96053832136102
+1.2591454006859556e-7 50.38395679312539
+1.2605009448571282e-7 48.853316639285026
+1.2618564890283006e-7 47.367339309885345
+1.2632120331994733e-7 45.924779985133696
+1.2645675773706456e-7 44.52442674066366
+1.2659231215418185e-7 43.165099732030185
+1.2672786657129912e-7 41.845650397639446
+1.2686342098841636e-7 40.56496068010081
+1.2699897540553362e-7 39.32194226532605
+1.2713452982265088e-7 38.11553583947238
+1.2727008423976815e-7 36.94471036293272
+1.2740563865688539e-7 35.808462360724356
+1.2754119307400268e-7 34.70581523040178
+1.2767674749111994e-7 33.63581856482264
+1.2781230190823718e-7 32.597547491822084
+1.2794785632535444e-7 31.590102028318405
+1.2808341074247168e-7 30.612606450463076
+1.2821896515958897e-7 29.664208678057125
+1.283545195767062e-7 28.744079673618046
+1.284900739938235e-7 27.851412855503085
+1.2862562841094074e-7 26.985423525131004
+1.28761182828058e-7 26.145348307586264
+1.2889673724517527e-7 25.330444605630575
+1.290322916622925e-7 24.539990066597014
+1.2916784607940977e-7 23.773282062228958
+1.2930340049652703e-7 23.029637180569416
+1.2943895491364432e-7 22.308390730302065
+1.2957450933076156e-7 21.608896257162876
+1.297100637478788e-7 20.93052507162724
+1.298456181649961e-7 20.272665788044797
+1.2998117258211333e-7 19.634723875206475
+1.301167269992306e-7 19.016121217467376
+1.3025228141634786e-7 18.416295686632107
+1.3038783583346512e-7 17.83470072439957
+1.3052339025058238e-7 17.270804934833762
+1.3065894466769962e-7 16.724091686763405
+1.3079449908481689e-7 16.194058725935964
+1.3093005350193415e-7 15.680217796853439
+1.3106560791905141e-7 15.182094273847131
+1.3120116233616868e-7 14.69922680087988
+1.3133671675328594e-7 14.231166940778367
+1.314722711704032e-7 13.77747883282358
+1.3160782558752045e-7 13.337738858846018
+1.317433800046377e-7 12.911535317856327
+1.3187893442175495e-7 12.498468108365797
+1.3201448883887224e-7 12.098148418981513
+1.321500432559895e-7 11.71019842662813
+1.3228559767310677e-7 11.334251002212635
+1.32421152090224e-7 10.969949423866339
+1.3255670650734127e-7 10.616947097264385
+1.3269226092445853e-7 10.274907283033572
+1.3282781534157577e-7 9.94350283100675
+1.3296336975869306e-7 9.622415921296275
+1.3309892417581033e-7 9.311337811848668
+1.3323447859292756e-7 9.009968592361238
+1.3337003301004483e-7 8.718016944652597
+1.3350558742716207e-7 8.435199908870908
+1.3364114184427936e-7 8.16124265599704
+1.3377669626139662e-7 7.89587826584265
+1.3391225067851388e-7 7.638847510996486
+1.3404780509563112e-7 7.389898646145191
+1.341833595127484e-7 7.148787202967343
+1.3431891392986565e-7 6.915275790279147
+1.344544683469829e-7 6.689133899117083
+1.3459002276410018e-7 6.470137713438814
+1.3472557718121744e-7 6.258069924912528
+1.348611315983347e-7 6.052719553359782
+1.3499668601545195e-7 5.853881771247668
+1.3513224043256918e-7 5.661357733160055
+1.3526779484968645e-7 5.474954409396966
+1.354033492668037e-7 5.294484424341907
+1.35538903683921e-7 5.119765898580575
+1.3567445810103824e-7 4.950622295620269
+1.358100125181555e-7 4.786882272350461
+1.3594556693527277e-7 4.628379533598227
+1.3608112135239e-7 4.47495269046948
+1.3621667576950727e-7 4.326445122443093
+1.3635223018662454e-7 4.182704843173528
+1.3648778460374183e-7 4.043584369775956
+1.3662333902085906e-7 3.9089405957251633
+1.3675889343797633e-7 3.778634666968371
+1.3689444785509357e-7 3.65253186152631
+1.3703000227221083e-7 3.5305014721830057
+1.371655566893281e-7 3.4124166924411856
+1.3730111110644536e-7 3.2981545054291823
+1.3743666552356262e-7 3.187595575899466
+1.375722199406799e-7 3.080624145027204
+1.3770777435779715e-7 2.977127928201816
+1.378433287749144e-7 2.8769980154463233
+1.3797888319203163e-7 2.780128774623773
+1.3811443760914892e-7 2.6864177572356844
+1.3824999202626618e-7 2.595765606780111
+1.3838554644338345e-7 2.5080759696645627
+1.3852110086050068e-7 2.4232554084623956
+1.3865665527761797e-7 2.341213317621628
+1.387922096947352e-7 2.2618618414539897
+1.3892776411185245e-7 2.18511579435605
+1.3906331852896974e-7 2.1108925832698016
+1.39198872946087e-7 2.0391121322453074
+1.3933442736320427e-7 1.9696968090913793
+1.394699817803215e-7 1.9025713540682936
+1.3960553619743877e-7 1.8376628105447532
+1.3974109061455604e-7 1.774900457586618
+1.3987664503167327e-7 1.7142157444042425
+1.4001219944879056e-7 1.6555422266284292
+1.401477538659078e-7 1.5988155044123784
+1.402833082830251e-7 1.5439731621590602
+1.4041886270014233e-7 1.4909547100631413
\ No newline at end of file
diff --git a/ecell4/egfrd/legacy/samples/reversible/p_rev.2.tsv b/ecell4/egfrd/legacy/samples/reversible/p_rev.2.tsv
new file mode 100644
index 0000000..f5edc5c
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/reversible/p_rev.2.tsv
@@ -0,0 +1,1000 @@
+5.e-9 613469.1616218231
+5.4286607049870566e-9 667721.9886305366
+5.857321409974112e-9 722180.0129706293
+6.285982114961169e-9 776830.9908949477
+6.714642819948224e-9 831662.7437935505
+7.143303524935281e-9 886663.1602396519
+7.571964229922337e-9 941820.1973096022
+8.000624934909392e-9 997121.8824599155
+8.42928563989645e-9 1.052556314822744e6
+8.857946344883505e-9 1.1081116670870925e6
+9.286607049870561e-9 1.163776186717694e6
+9.715267754857618e-9 1.2195381977876578e6
+1.0143928459844673e-8 1.2753861021114807e6
+1.0572589164831731e-8 1.3313083810776826e6
+1.1001249869818786e-8 1.3872935967899077e6
+1.142991057480584e-8 1.4433303937368658e6
+1.1858571279792899e-8 1.499407499796292e6
+1.2287231984779953e-8 1.555513728231221e6
+1.271589268976701e-8 1.611637978293705e6
+1.3144553394754066e-8 1.6677692371196751e6
+1.3573214099741123e-8 1.7238965806695377e6
+1.4001874804728178e-8 1.7800091753136972e6
+1.4430535509715234e-8 1.8360962785132874e6
+1.485919621470229e-8 1.8921472408852887e6
+1.5287856919689347e-8 1.9481515064673778e6
+1.5716517624676405e-8 2.0040986146461142e6
+1.614517832966346e-8 2.059978200716628e6
+1.6573839034650515e-8 2.115779997361953e6
+1.700249973963757e-8 2.1714938355814083e6
+1.7431160444624624e-8 2.2271096458499553e6
+1.7859821149611683e-8 2.282617458905439e6
+1.828848185459874e-8 2.338007407176231e6
+1.87171425595858e-8 2.3932697252234006e6
+1.9145803264572854e-8 2.448394751315992e6
+1.957446396955991e-8 2.503372927686134e6
+2.0003124674546967e-8 2.558194802115754e6
+2.0431785379534018e-8 2.612851027986672e6
+2.0860446084521076e-8 2.6673323662496274e6
+2.1289106789508134e-8 2.721629684947705e6
+2.1717767494495192e-8 2.7757339611181007e6
+2.2146428199482244e-8 2.8296362809426174e6
+2.2575088904469295e-8 2.883327840518953e6
+2.3003749609456354e-8 2.9367999471138488e6
+2.3432410314443412e-8 2.9900440189116383e6
+2.386107101943047e-8 3.043051586718493e6
+2.4289731724417528e-8 3.095814293729625e6
+2.471839242940458e-8 3.1483238968905997e6
+2.5147053134391638e-8 3.2005722665218757e6
+2.5575713839378696e-8 3.252551388140438e6
+2.6004374544365747e-8 3.3042533617691905e6
+2.6433035249352805e-8 3.355670403335362e6
+2.6861695954339863e-8 3.406794844494612e6
+2.729035665932692e-8 3.457619133757006e6
+2.7719017364313973e-8 3.5081358361323187e6
+2.814767806930103e-8 3.5583376344900476e6
+2.857633877428809e-8 3.608217328698721e6
+2.900499947927514e-8 3.6577678374488107e6
+2.94336601842622e-8 3.706982197265195e6
+2.986232088924925e-8 3.755853563580372e6
+3.029098159423631e-8 3.8043752105595176e6
+3.0719642299223367e-8 3.8525405321644926e6
+3.1148303004210425e-8 3.90034304092413e6
+3.1576963709197476e-8 3.9477763700163537e6
+3.2005624414184534e-8 3.994834271490196e6
+3.243428511917159e-8 4.041510618092452e6
+3.2862945824158644e-8 4.087799402127362e6
+3.329160652914571e-8 4.1336947366657057e6
+3.372026723413276e-8 4.179190854445294e6
+3.414892793911981e-8 4.22428210924567e6
+3.4577588644106877e-8 4.268962974527432e6
+3.500624934909393e-8 4.313228044718032e6
+3.5434910054080986e-8 4.357072034100306e6
+3.586357075906804e-8 4.400489777953157e6
+3.6292231464055096e-8 4.443476231105094e6
+3.672089216904215e-8 4.486026469314368e6
+3.7149552874029205e-8 4.528135687410611e6
+3.7578213579016264e-8 4.569799201544958e6
+3.8006874284003315e-8 4.611012446443963e6
+3.843553498899038e-8 4.651770977154859e6
+3.886419569397744e-8 4.692070467814355e6
+3.929285639896449e-8 4.731906712347141e6
+3.972151710395154e-8 4.771275622734689e6
+4.015017780893859e-8 4.810173230390515e6
+4.057883851392565e-8 4.848595685100649e6
+4.100749921891271e-8 4.886539254423268e6
+4.143615992389977e-8 4.924000324318066e6
+4.1864820628886825e-8 4.960975397401549e6
+4.2293481333873876e-8 4.997461094287856e6
+4.2722142038860935e-8 5.033454151565931e6
+4.315080274384799e-8 5.068951422668827e6
+4.357946344883505e-8 5.103949876545011e6
+4.40081241538221e-8 5.138446598054174e6
+4.443678485880916e-8 5.172438786273702e6
+4.486544556379622e-8 5.205923755952827e6
+4.529410626878327e-8 5.238898934525514e6
+4.572276697377033e-8 5.27136186385262e6
+4.6151427678757386e-8 5.303310198277647e6
+4.658008838374444e-8 5.334741705182083e6
+4.7008749088731496e-8 5.365654262656875e6
+4.743740979371856e-8 5.396045861315569e6
+4.786607049870561e-8 5.425914601195086e6
+4.8294731203692664e-8 5.455258693477703e6
+4.872339190867972e-8 5.484076457738709e6
+4.915205261366677e-8 5.512366323004113e6
+4.958071331865384e-8 5.540126825765891e6
+5.0009374023640896e-8 5.567356610450048e6
+5.043803472862795e-8 5.594054427383647e6
+5.0866695433615006e-8 5.620219133745576e6
+5.129535613860206e-8 5.645849691074568e6
+5.172401684358912e-8 5.670945165948644e6
+5.2152677548576174e-8 5.695504728124376e6
+5.258133825356323e-8 5.719527651035925e6
+5.3009998958550277e-8 5.7430133090391345e6
+5.343865966353734e-8 5.765961179263104e6
+5.386732036852439e-8 5.788370837870468e6
+5.4295981073511444e-8 5.810241962073125e6
+5.47246417784985e-8 5.831574326691663e6
+5.5153302483485554e-8 5.852367805383057e6
+5.558196318847262e-8 5.872622368203132e6
+5.601062389345968e-8 5.892338082481137e6
+5.643928459844673e-8 5.911515109553125e6
+5.6867945303433786e-8 5.93015370597067e6
+5.7296606008420845e-8 5.94825422188641e6
+5.77252667134079e-8 5.965817099325794e6
+5.8153927418394954e-8 5.982842872945024e6
+5.858258812338201e-8 5.999332167121789e6
+5.9011248828369064e-8 6.015285696879351e6
+5.943990953335613e-8 6.030704265216725e6
+5.986857023834319e-8 6.045588763845355e6
+6.029723094333024e-8 6.059940170037738e6
+6.07258916483173e-8 6.073759548441997e6
+6.115455235330435e-8 6.087048047089332e6
+6.158321305829141e-8 6.09980689892882e6
+6.201187376327846e-8 6.112037418990889e6
+6.244053446826553e-8 6.123741004732669e6
+6.286919517325258e-8 6.134919133450201e6
+6.329785587823963e-8 6.145573363534202e6
+6.37265165832267e-8 6.155705330393315e6
+6.415517728821375e-8 6.165316748715013e6
+6.45838379932008e-8 6.174409408182968e6
+6.501249869818786e-8 6.182985175367084e6
+6.544115940317492e-8 6.191045990252434e6
+6.586982010816198e-8 6.198593866830304e6
+6.629848081314903e-8 6.205630890628122e6
+6.672714151813608e-8 6.212159219670093e6
+6.715580222312313e-8 6.218181080506274e6
+6.75844629281102e-8 6.223698770004336e6
+6.801312363309725e-8 6.228714652018601e6
+6.84417843380843e-8 6.233231157967923e6
+6.887044504307137e-8 6.237250784145831e6
+6.929910574805842e-8 6.24077609257627e6
+6.972776645304548e-8 6.243809707473349e6
+7.015642715803254e-8 6.246354316843438e6
+7.058508786301959e-8 6.248412668655766e6
+7.101374856800664e-8 6.2499875719747525e6
+7.14424092729937e-8 6.251081894248978e6
+7.187106997798077e-8 6.25169856141137e6
+7.229973068296782e-8 6.251840555632884e6
+7.272839138795488e-8 6.251510915702628e6
+7.315705209294194e-8 6.250712733466174e6
+7.358571279792899e-8 6.249449155799693e6
+7.401437350291604e-8 6.247723380953778e6
+7.444303420790309e-8 6.245538658181487e6
+7.487169491289014e-8 6.242898287648307e6
+7.530035561787719e-8 6.239805617809379e6
+7.572901632286426e-8 6.23626404550775e6
+7.615767702785131e-8 6.232277013260844e6
+7.658633773283837e-8 6.227848010578833e6
+7.701499843782543e-8 6.222980570130391e6
+7.744365914281248e-8 6.217678269061956e6
+7.787231984779954e-8 6.21194472563886e6
+7.830098055278659e-8 6.205783600378499e6
+7.872964125777366e-8 6.199198592885333e6
+7.915830196276071e-8 6.192193442426214e6
+7.958696266774776e-8 6.18477192533439e6
+8.001562337273483e-8 6.176937855400771e6
+8.044428407772188e-8 6.168695081473481e6
+8.087294478270893e-8 6.160047487294965e6
+8.1301605487696e-8 6.150998989576959e6
+8.173026619268304e-8 6.141553538120437e6
+8.215892689767011e-8 6.131715112974199e6
+8.258758760265716e-8 6.121487725671131e6
+8.301624830764421e-8 6.1108754153835345e6
+8.344490901263126e-8 6.099882250808916e6
+8.387356971761833e-8 6.088512326341813e6
+8.43022304226054e-8 6.076769763318037e6
+8.473089112759245e-8 6.0646587070325855e6
+8.51595518325795e-8 6.052183327710034e6
+8.558821253756655e-8 6.039347817084039e6
+8.60168732425536e-8 6.026156389829881e6
+8.644553394754066e-8 6.012613280527153e6
+8.687419465252773e-8 5.998722743913138e6
+8.730285535751478e-8 5.984489053048363e6
+8.773151606250183e-8 5.9699164992122175e6
+8.816017676748888e-8 5.955009389544261e6
+8.858883747247595e-8 5.939772047852582e6
+8.9017498177463e-8 5.924208811553114e6
+8.944615888245006e-8 5.908324032934072e6
+8.987481958743713e-8 5.892122075849868e6
+9.030348029242417e-8 5.875607316990598e6
+9.073214099741123e-8 5.85878414304727e6
+9.116080170239827e-8 5.841656950742684e6
+9.158946240738534e-8 5.824230145973587e6
+9.20181231123724e-8 5.806508142431624e6
+9.244678381735945e-8 5.788495361028491e6
+9.287544452234652e-8 5.770196228100362e6
+9.330410522733355e-8 5.7516151765982965e6
+9.373276593232062e-8 5.73275664221145e6
+9.416142663730768e-8 5.713625065095213e6
+9.459008734229474e-8 5.694224887416124e6
+9.50187480472818e-8 5.674560553602859e6
+9.544740875226884e-8 5.654636507839621e6
+9.58760694572559e-8 5.634457195447903e6
+9.630473016224297e-8 5.614027059802466e6
+9.673339086723002e-8 5.593350543377231e6
+9.716205157221707e-8 5.572432085293014e6
+9.759071227720412e-8 5.551276121943596e6
+9.801937298219119e-8 5.529887084828557e6
+9.844803368717825e-8 5.508269401187096e6
+9.887669439216529e-8 5.486427491608211e6
+9.930535509715236e-8 5.4643657710091155e6
+9.973401580213941e-8 5.442088646025275e6
+1.0016267650712647e-7 5.419600515832516e6
+1.0059133721211354e-7 5.396905770479006e6
+1.0101999791710056e-7 5.374008790475559e6
+1.0144865862208763e-7 5.350913945573649e6
+1.0187731932707469e-7 5.327625595350191e6
+1.0230598003206173e-7 5.304148086620586e6
+1.027346407370488e-7 5.280485754285965e6
+1.0316330144203585e-7 5.25664291991052e6
+1.035919621470229e-7 5.232623891284184e6
+1.0402062285200996e-7 5.208432961433825e6
+1.0444928355699701e-7 5.18407440868104e6
+1.0487794426198408e-7 5.159552494802961e6
+1.0530660496697112e-7 5.134871466055274e6
+1.0573526567195818e-7 5.11003555049661e6
+1.0616392637694525e-7 5.085048959492436e6
+1.065925870819323e-7 5.059915885463758e6
+1.0702124778691936e-7 5.034640502152237e6
+1.0744990849190643e-7 5.009226963647549e6
+1.0787856919689346e-7 4.983679403893806e6
+1.0830722990188053e-7 4.95800193673454e6
+1.0873589060686758e-7 4.932198654216509e6
+1.0916455131185465e-7 4.906273627188706e6
+1.095932120168417e-7 4.880230903489789e6
+1.1002187272182875e-7 4.85407450930317e6
+1.1045053342681581e-7 4.827808446108312e6
+1.1087919413180285e-7 4.801436692937272e6
+1.1130785483678992e-7 4.774963203806296e6
+1.1173651554177698e-7 4.748391907985058e6
+1.1216517624676403e-7 4.721726709675492e6
+1.125938369517511e-7 4.694971488127979e6
+1.1302249765673814e-7 4.668130094602266e6
+1.134511583617252e-7 4.641206355825579e6
+1.1387981906671227e-7 4.614204070260879e6
+1.1430847977169932e-7 4.587127010261509e6
+1.1473714047668638e-7 4.559978918137238e6
+1.1516580118167342e-7 4.532763510832998e6
+1.1559446188666048e-7 4.505484474490758e6
+1.1602312259164755e-7 4.478145467579922e6
+1.1645178329663459e-7 4.450750118725188e6
+1.1688044400162165e-7 4.42330202718808e6
+1.173091047066087e-7 4.395804761845518e6
+1.1773776541159577e-7 4.368261861812727e6
+1.1816642611658283e-7 4.340676835175139e6
+1.1859508682156987e-7 4.313053159488559e6
+1.1902374752655694e-7 4.285394280546894e6
+1.1945240823154397e-7 4.257703613289677e6
+1.1988106893653105e-7 4.229984539812967e6
+1.203097296415181e-7 4.202240411462297e6
+1.2073839034650516e-7 4.174474546350577e6
+1.211670510514922e-7 4.146690230416255e6
+1.2159571175647926e-7 4.118890716286098e6
+1.220243724614663e-7 4.0910792248281306e6
+1.224530331664534e-7 4.063258941763906e6
+1.2288169387144044e-7 4.035433021252561e6
+1.233103545764275e-7 4.007604582296093e6
+1.2373901528141454e-7 3.979776711053886e6
+1.241676759864016e-7 3.9519524590466255e6
+1.2459633669138867e-7 3.924134844217377e6
+1.2502499739637572e-7 3.8963268495490532e6
+1.2545365810136277e-7 3.8685314237693176e6
+1.2588231880634983e-7 3.840751481319321e6
+1.263109795113369e-7 3.812989900914112e6
+1.2673964021632396e-7 3.785249527438517e6
+1.27168300921311e-7 3.7575331700551957e6
+1.2759696162629806e-7 3.7298436035060855e6
+1.280256223312851e-7 3.702183566160667e6
+1.2845428303627216e-7 3.674555762467348e6
+1.2888294374125921e-7 3.6469628603443564e6
+1.2931160444624626e-7 3.61940749305242e6
+1.2974026515123332e-7 3.591892257770467e6
+1.301689258562204e-7 3.5644197165542627e6
+1.3059758656120745e-7 3.5369923951802617e6
+1.310262472661945e-7 3.5096127848696066e6
+1.3145490797118155e-7 3.482283340062398e6
+1.318835686761686e-7 3.4550064802552266e6
+1.3231222938115568e-7 3.4277845883670426e6
+1.3274089008614273e-7 3.400620012871937e6
+1.3316955079112978e-7 3.373515065244444e6
+1.3359821149611683e-7 3.3464720220915517e6
+1.3402687220110388e-7 3.3194931237995494e6
+1.3445553290609096e-7 3.292580575497656e6
+1.34884193611078e-7 3.2657365461622314e6
+1.3531285431606507e-7 3.2389631699814512e6
+1.3574151502105212e-7 3.212262544675752e6
+1.3617017572603917e-7 3.185636732970393e6
+1.3659883643102625e-7 3.159087762243504e6
+1.3702749713601327e-7 3.1326176241027634e6
+1.3745615784100035e-7 3.1062282750534457e6
+1.378848185459874e-7 3.0799216366661945e6
+1.3831347925097445e-7 3.053699594798315e6
+1.3874213995596153e-7 3.027564000745136e6
+1.3917080066094856e-7 3.001516670480121e6
+1.3959946136593563e-7 2.9755593855159213e6
+1.4002812207092268e-7 2.9496938923588004e6
+1.4045678277590976e-7 2.9239219031827897e6
+1.408854434808968e-7 2.8982450952211786e6
+1.4131410418588387e-7 2.8726651119865533e6
+1.4174276489087092e-7 2.8471835620509177e6
+1.4217142559585797e-7 2.8218020206206487e6
+1.4260008630084502e-7 2.7965220284343716e6
+1.4302874700583207e-7 2.7713450925401975e6
+1.4345740771081912e-7 2.7462726867904137e6
+1.4388606841580617e-7 2.7213062507137237e6
+1.4431472912079323e-7 2.696447191566165e6
+1.4474338982578028e-7 2.671696882793681e6
+1.4517205053076736e-7 2.6470566650629076e6
+1.4560071123575438e-7 2.6225278460263372e6
+1.4602937194074146e-7 2.5981117015712042e6
+1.464580326457285e-7 2.57380947412802e6
+1.468866933507156e-7 2.5496223747404204e6
+1.4731535405570261e-7 2.525551581968135e6
+1.477440147606897e-7 2.5015982427352183e6
+1.4817267546567674e-7 2.477763472452894e6
+1.486013361706638e-7 2.45404835522663e6
+1.4902999687565085e-7 2.43045394346114e6
+1.4945865758063792e-7 2.406981259305425e6
+1.4988731828562495e-7 2.3836312938017077e6
+1.5031597899061203e-7 2.3604050077180006e6
+1.5074463969559908e-7 2.337303331037755e6
+1.5117330040058616e-7 2.3143271645891536e6
+1.5160196110557318e-7 2.291477378522438e6
+1.5203062181056026e-7 2.268754813936302e6
+1.524592825155473e-7 2.246160282464618e6
+1.5288794322053436e-7 2.223694566736406e6
+1.5331660392552141e-7 2.20135842027661e6
+1.537452646305085e-7 2.1791525685190554e6
+1.5417392533549552e-7 2.15707770815969e6
+1.546025860404826e-7 2.1351345079663456e6
+1.5503124674546965e-7 2.113323608898256e6
+1.554599074504567e-7 2.0916456245626123e6
+1.5588856815544375e-7 2.0701011408202534e6
+1.5631722886043083e-7 2.0486907169706288e6
+1.5674588956541785e-7 2.027414885235073e6
+1.5717455027040493e-7 2.00627415160665e6
+1.5760321097539198e-7 1.9852689956116877e6
+1.5803187168037906e-7 1.964399871148087e6
+1.5846053238536608e-7 1.9436672060749927e6
+1.5888919309035316e-7 1.923071403229936e6
+1.5931785379534021e-7 1.902612840151526e6
+1.5974651450032727e-7 1.8822918693090363e6
+1.6017517520531432e-7 1.862108819094622e6
+1.6060383591030137e-7 1.8420639933302759e6
+1.6103249661528842e-7 1.8221576719656333e6
+1.614611573202755e-7 1.8023901110730746e6
+1.6188981802526252e-7 1.7827615436448166e6
+1.6231847873024963e-7 1.7632721789762247e6
+1.6274713943523665e-7 1.7439222041848863e6
+1.6317580014022373e-7 1.7247117833270994e6
+1.6360446084521078e-7 1.705641058407489e6
+1.6403312155019783e-7 1.6867101493386836e6
+1.6446178225518489e-7 1.6679191546024608e6
+1.6489044296017194e-7 1.6492681507491388e6
+1.65319103665159e-7 1.6307571937902228e6
+1.6574776437014604e-7 1.6123863185470575e6
+1.661764250751331e-7 1.5941555394611293e6
+1.6660508578012017e-7 1.5760648505797586e6
+1.670337464851072e-7 1.5581142262950588e6
+1.674624071900943e-7 1.5403036209897583e6
+1.6789106789508132e-7 1.5226329699204166e6
+1.683197286000684e-7 1.5051021890220498e6
+1.6874838930505545e-7 1.4877111758656255e6
+1.691770500100425e-7 1.4704598088622494e6
+1.6960571071502956e-7 1.4533479489134268e6
+1.700343714200166e-7 1.4363754385780995e6
+1.7046303212500366e-7 1.4195421028311334e6
+1.708916928299907e-7 1.4028477493488349e6
+1.7132035353497776e-7 1.3862921688374742e6
+1.7174901423996481e-7 1.3698751351003465e6
+1.721776749449519e-7 1.3535964054590308e6
+1.7260633564993892e-7 1.3374557212071202e6
+1.73034996354926e-7 1.3214528075112419e6
+1.7346365705991305e-7 1.3055873739535948e6
+1.7389231776490012e-7 1.289859114974162e6
+1.7432097846988715e-7 1.2742677096202096e6
+1.7474963917487425e-7 1.2588128224396594e6
+1.7517829987986128e-7 1.2434941032751827e6
+1.7560696058484833e-7 1.2283111879020375e6
+1.760356212898354e-7 1.2132636979911209e6
+1.7646428199482246e-7 1.1983512417332588e6
+1.7689294269980948e-7 1.1835734137306663e6
+1.7732160340479654e-7 1.168929795502234e6
+1.7775026410978361e-7 1.154419955898527e6
+1.7817892481477067e-7 1.1400434508952624e6
+1.786075855197577e-7 1.125799824376135e6
+1.790362462247448e-7 1.111688608142053e6
+1.7946490692973182e-7 1.0977093221454353e6
+1.798935676347189e-7 1.0838614747928528e6
+1.8032222833970595e-7 1.0701445635130836e6
+1.8075088904469303e-7 1.056558074336455e6
+1.8117954974968005e-7 1.0431014828689665e6
+1.816082104546671e-7 1.0297742541421097e6
+1.8203687115965418e-7 1.0165758429712432e6
+1.8246553186464123e-7 1.0035056941779691e6
+1.8289419256962826e-7 990563.2429379408
+1.8332285327461536e-7 977747.914996519
+1.837515139796024e-7 965059.1267328829
+1.8418017468458947e-7 952496.2856563146
+1.8460883538957652e-7 940058.7907039183
+1.850374960945636e-7 927746.0320064208
+1.8546615679955062e-7 915557.3917547304
+1.8589481750453767e-7 903492.2439360683
+1.8632347820952475e-7 891549.9549480792
+1.867521389145118e-7 879729.8835452098
+1.8718079961949883e-7 868031.3812693079
+1.8760946032448593e-7 856453.7924045941
+1.8803812102947296e-7 844996.4546967892
+1.8846678173446003e-7 833658.6990080104
+1.8889544243944709e-7 822439.8499977924
+1.8932410314443414e-7 811339.2260001185
+1.8975276384942116e-7 800356.1395549799
+1.9018142455440824e-7 789489.8973661342
+1.906100852593953e-7 778739.8006202946
+1.9103874596438237e-7 768105.1452959841
+1.914674066693694e-7 757585.2221517009
+1.918960673743565e-7 747179.3170830938
+1.9232472807934352e-7 736886.7113955307
+1.9275338878433058e-7 726706.6818177357
+1.9318204948931765e-7 716638.5007534587
+1.936107101943047e-7 706681.4367270408
+1.9403937089929173e-7 696834.7541269719
+1.944680316042788e-7 687097.7138479153
+1.9489669230926586e-7 677469.5730843788
+1.9532535301425294e-7 667949.5859740517
+1.9575401371923996e-7 658537.0032271481
+1.9618267442422707e-7 649231.072882191
+1.966113351292141e-7 640031.0400453121
+1.9703999583420112e-7 630936.1472593154
+1.9746865653918822e-7 621945.6346589186
+1.9789731724417525e-7 613058.7402604329
+1.983259779491623e-7 604274.6998206937
+1.9875463865414938e-7 595592.7473572306
+1.9918329935913643e-7 587012.1151006306
+1.9961196006412345e-7 578532.0337178792
+2.0004062076911053e-7 570151.7324017425
+2.0046928147409758e-7 561870.4393186263
+2.0089794217908466e-7 553687.3812793768
+2.0132660288407169e-7 545601.7843767848
+2.0175526358905876e-7 537612.8737667797
+2.021839242940458e-7 529719.87411313
+2.0261258499903287e-7 521922.0094618803
+2.0304124570401992e-7 514218.50368717976
+2.03469906409007e-7 506608.5802551366
+2.0389856711399402e-7 499091.4627719452
+2.0432722781898107e-7 491666.3748289172
+2.0475588852396815e-7 484332.54025167867
+2.051845492289552e-7 477089.1831865103
+2.0561320993394223e-7 469935.5283667509
+2.0604187063892933e-7 462870.8009706295
+2.0647053134391636e-7 455894.2270895552
+2.0689919204890343e-7 449005.0335274706
+2.0732785275389049e-7 442202.44815593155
+2.0775651345887756e-7 435485.6999027533
+2.081851741638646e-7 428854.01893979165
+2.086138348688517e-7 422306.6367548985
+2.0904249557383872e-7 415842.786278578
+2.0947115627882577e-7 409461.70200623735
+2.0989981698381285e-7 403162.6200543471
+2.103284776887999e-7 396944.7783558074
+2.1075713839378692e-7 390807.4166612634
+2.11185799098774e-7 384749.77676436875
+2.1161445980376105e-7 378771.10241640115
+2.1204312050874813e-7 372870.6396422774
+2.1247178121373516e-7 367047.6366649904
+2.1290044191872223e-7 361301.34407026385
+2.1332910262370929e-7 355631.01487399143
+2.1375776332869634e-7 350035.9046655148
+2.141864240336834e-7 344515.2715711439
+2.1461508473867047e-7 339068.37650380284
+2.150437454436575e-7 333694.4831016165
+2.1547240614864454e-7 328392.85786337405
+2.1590106685363162e-7 323162.7702262595
+2.1632972755861867e-7 318003.49271114444
+2.167583882636057e-7 312914.30078453553
+2.171870489685928e-7 307894.4732215761
+2.1761570967357983e-7 302943.29190699314
+2.180443703785669e-7 298060.04210906656
+2.1847303108355396e-7 293244.0123910009
+2.1890169178854104e-7 288494.49479792843
+2.1933035249352806e-7 283810.78480759804
+2.197590131985151e-7 279192.1815002187
+2.201876739035022e-7 274637.98751736584
+2.2061633460848924e-7 270147.5091989004
+2.2104499531347627e-7 265720.0565675085
+2.2147365601846337e-7 261354.9434505176
+2.219023167234504e-7 257051.4874797979
+2.2233097742843747e-7 252809.01015034918
+2.2275963813342453e-7 248626.8368765365
+2.231882988384116e-7 244504.29707655616
+2.2361695954339863e-7 240440.72412273817
+2.2404562024838568e-7 236435.45546301224
+2.2447428095337276e-7 232487.8326528358
+2.2490294165835978e-7 228597.20135713255
+2.2533160236334683e-7 224762.911411348
+2.257602630683339e-7 220984.31689227387
+2.2618892377332096e-7 217260.77605420168
+2.26617584478308e-7 213591.6514811547
+2.270462451832951e-7 209976.31004824338
+2.2747490588828212e-7 206414.1229461692
+2.2790356659326917e-7 202904.4657560339
+2.2833222729825625e-7 199446.71841826726
+2.287608880032433e-7 196040.26533476534
+2.2918954870823032e-7 192684.49530432298
+2.296182094132174e-7 189378.80162131353
+2.3004687011820445e-7 186122.58204173477
+2.3047553082319153e-7 182915.23886242352
+2.3090419152817856e-7 179756.17885876077
+2.3133285223316566e-7 176644.8133887594
+2.3176151293815269e-7 173580.55833506366
+2.3219017364313974e-7 170562.8341981166
+2.3261883434812682e-7 167591.0660060381
+2.3304749505311387e-7 164664.68344575836
+2.334761557581009e-7 161783.120778337
+2.3390481646308797e-7 158945.8169016206
+2.3433347716807502e-7 156152.2153289864
+2.347621378730621e-7 153401.76424134758
+2.3519079857804912e-7 150693.91642538828
+2.3561945928303623e-7 148028.12935677695
+2.3604811998802325e-7 145403.8651237655
+2.364767806930103e-7 142820.59052379866
+2.3690544139799738e-7 140277.77696946866
+2.3733410210298444e-7 137774.9005583204
+2.3776276280797146e-7 135311.44205018124
+2.381914235129585e-7 132886.8868624762
+2.386200842179456e-7 130500.72506877182
+2.390487449229326e-7 128152.4514090587
+2.3947740562791964e-7 125841.56527341345
+2.3990606633290677e-7 123567.57070225196
+2.403347270378938e-7 121329.97638438975
+2.407633877428809e-7 119128.2956397932
+2.411920484478679e-7 116962.04642065993
+2.41620709152855e-7 114830.7513212784
+2.42049369857842e-7 112733.93751861721
+2.424780305628291e-7 110671.13682801042
+2.4290669126781616e-7 108641.88563956658
+2.433353519728032e-7 106645.72494513885
+2.4376401267779026e-7 104682.20028317634
+2.4419267338277734e-7 102750.8617925955
+2.4462133408776436e-7 100851.26411750611
+2.4504999479275144e-7 98982.9664590501
+2.454786554977385e-7 97145.5325527012
+2.4590731620272554e-7 95338.53059248763
+2.4633597690771257e-7 93561.53330685434
+2.4676463761269965e-7 91814.11787224663
+2.471932983176867e-7 90095.86593765371
+2.476219590226738e-7 88406.36356425453
+2.4805061972766083e-7 86745.20125549007
+2.484792804326479e-7 85111.97390181081
+2.4890794113763493e-7 83506.28078879834
+2.49336601842622e-7 81927.72554551595
+2.4976526254760903e-7 80375.91616852421
+2.501939232525961e-7 78850.4649471605
+2.5062258395758314e-7 77350.98848828967
+2.510512446625702e-7 75877.10767168751
+2.514799053675573e-7 74428.44763071225
+2.519085660725443e-7 73004.6377367479
+2.5233722677753134e-7 71605.31157578659
+2.527658874825184e-7 70230.10690276735
+2.531945481875055e-7 68878.66565591456
+2.536232088924925e-7 67550.63389917868
+2.540518695974796e-7 66245.66181543535
+2.5448053030246663e-7 64963.40368121002
+2.549091910074537e-7 63703.51783116322
+2.553378517124408e-7 62465.66663900984
+2.5576651241742786e-7 61249.51649735439
+2.561951731224149e-7 60054.73777981761
+2.566238338274019e-7 58881.004822491865
+2.57052494532389e-7 57727.99589527519
+2.5748115523737607e-7 56595.393180184474
+2.579098159423631e-7 55482.88272644091
+2.5833847664735017e-7 54390.154447857305
+2.587671373523372e-7 53316.90207415648
+2.591957980573243e-7 52262.823136899126
+2.5962445876231135e-7 51227.61893457681
+2.6005311946729843e-7 50210.994507623946
+2.6048178017228545e-7 49212.658605258184
+2.609104408772725e-7 48232.32366315734
+2.6133910158225956e-7 47269.705770006316
+2.6176776228724664e-7 46324.52463873464
+2.6219642299223366e-7 45396.503581837824
+2.6262508369722074e-7 44485.36947501976
+2.6305374440220776e-7 43590.852743177005
+2.6348240510719484e-7 42712.6873021313
+2.639110658121819e-7 41850.61056328425
+2.6433972651716894e-7 41004.36337831316
+2.6476838722215597e-7 40173.69002162343
+2.6519704792714305e-7 39358.3381579082
+2.656257086321301e-7 38558.058815932345
+2.660543693371172e-7 37772.60634663856
+2.6648303004210423e-7 37001.73841011465
+2.669116907470913e-7 36245.215931376464
+2.6734035145207833e-7 35502.80308087464
+2.677690121570654e-7 34774.267235452244
+2.681976728620525e-7 34059.37895932577
+2.686263335670395e-7 33357.91195900146
+2.6905499427202654e-7 32669.643067263984
+2.694836549770136e-7 31994.352208686214
+2.699123156820007e-7 31331.822364738717
+2.7034097638698777e-7 30681.83954992249
+2.707696370919748e-7 30044.192783498052
+2.711982977969619e-7 29418.674046522046
+2.716269585019489e-7 28805.078271615424
+2.72055619206936e-7 28203.20329648221
+2.7248427991192306e-7 27612.849844195945
+2.729129406169101e-7 27033.82148483078
+2.733416013218971e-7 26465.924617805977
+2.737702620268842e-7 25908.968431273694
+2.7419892273187126e-7 25362.76487779601
+2.746275834368583e-7 24827.128643354936
+2.7505624414184536e-7 24301.87712189638
+2.754849048468324e-7 23786.830377774062
+2.759135655518195e-7 23281.811128673908
+2.7634222625680655e-7 22786.644702627
+2.7677088696179357e-7 22301.15902360348
+2.771995476667806e-7 21825.184569937675
+2.7762820837176773e-7 21358.554353496147
+2.7805686907675475e-7 20901.103889654358
+2.7848552978174183e-7 20452.67116757662
+2.7891419048672885e-7 20013.096623256624
+2.7934285119171593e-7 19582.223109520084
+2.79771511896703e-7 19159.895870521614
+2.8020017260169004e-7 18745.96251088978
+2.8062883330667706e-7 18340.27297271433
+2.8105749401166414e-7 17942.67950163223
+2.814861547166512e-7 17553.036626785324
+2.8191481542163824e-7 17171.201125793537
+2.823434761266253e-7 16797.032003734646
+2.8277213683161234e-7 16430.39046296758
+2.832007975365994e-7 16071.139879434275
+2.8362945824158645e-7 15719.145771034253
+2.840581189465735e-7 15374.275777635548
+2.8448677965156055e-7 15036.399626633589
+2.849154403565477e-7 14705.389117276569
+2.853441010615347e-7 14381.118085363009
+2.8577276176652173e-7 14063.462381779476
+2.8620142247150876e-7 13752.299847330323
+2.866300831764959e-7 13447.510286865545
+2.870587438814829e-7 13148.975440848684
+2.8748740458647e-7 12856.578967746169
+2.87916065291457e-7 12570.20641105954
+2.8834472599644415e-7 12289.745179608757
+2.8877338670143117e-7 12015.084521883598
+2.892020474064182e-7 11746.115502523475
+2.896307081114052e-7 11482.73097645445
+2.9005936881639235e-7 11224.82556653814
+2.904880295213794e-7 10972.295639222775
+2.9091669022636646e-7 10725.03928276248
+2.913453509313535e-7 10482.95628063082
+2.9177401163634056e-7 10245.948092436796
+2.922026723413276e-7 10013.91782720472
+2.9263133304631466e-7 9786.770224509339
+2.930599937513017e-7 9564.411628336155
+2.9348865445628876e-7 9346.749968732965
+2.9391731516127584e-7 9133.694735378986
+2.9434597586626287e-7 8925.15696034503
+2.947746365712499e-7 8721.049192497327
+2.95203297276237e-7 8521.285478331818
+2.9563195798122405e-7 8325.781339928935
+2.960606186862111e-7 8134.453755691527
+2.9648927939119815e-7 7947.2211352604645
+2.969179400961853e-7 7764.003303695479
+2.973466008011723e-7 7584.721479466668
+2.9777526150615933e-7 7409.298251506617
+2.9820392221114636e-7 7237.657564094423
+2.986325829161335e-7 7069.7246929203475
+2.990612436211205e-7 6905.426227568056
+2.9948990432610754e-7 6744.69005147144
+2.999185650310946e-7 6587.445324158999
+3.003472257360817e-7 6433.622458637101
+3.007758864410687e-7 6283.153107658092
+3.012045471460558e-7 6135.970140955665
+3.016332078510428e-7 5992.007628699022
+3.020618685560299e-7 5851.200823308568
+3.02490529261017e-7 5713.486141995303
+3.02919189966004e-7 5578.80114672844
+3.0334785067099103e-7 5447.084529826726
+3.037765113759781e-7 5318.2760941701
+3.042051720809652e-7 5192.3167367701135
+3.046338327859522e-7 5069.148432590064
+3.050624934909393e-7 4948.71421681293
+3.0549115419592637e-7 4830.958168748838
+3.059198149009134e-7 4715.825395021512
+3.063484756059004e-7 4603.262013563682
+3.067771363108875e-7 4493.215138736
+3.072057970158745e-7 4385.632863174688
+3.0763445772086165e-7 4280.4642449361345
+3.080631184258487e-7 4177.6592895400345
+3.084917791308357e-7 4077.168936856629
+3.089204398358227e-7 3978.9450444152812
+3.0934910054080986e-7 3882.940374287835
+3.0977776124579693e-7 3789.108576153956
+3.1020642195078396e-7 3697.4041754334644
+3.10635082655771e-7 3607.7825567883283
+3.110637433607581e-7 3520.1999516100273
+3.1149240406574514e-7 3434.6134227836637
+3.1192106477073216e-7 3350.980852332235
+3.1234972547571924e-7 3269.2609261989755
+3.127783861807063e-7 3189.4131226028444
+3.1320704688569335e-7 3111.3976979895747
+3.136357075906804e-7 3035.1756731828154
+3.1406436829566745e-7 2960.708822141407
+3.1449302900065453e-7 2887.9596588373274
+3.1492168970564155e-7 2816.8914232689945
+3.1535035041062863e-7 2747.4680709852437
+3.1577901111561565e-7 2679.65426034682
+3.1620767182060273e-7 2613.4153400308032
+3.166363325255898e-7 2548.717337613901
+3.1706499323057684e-7 2485.5269476628678
+3.1749365393556386e-7 2423.8115208216036
+3.17922314640551e-7 2363.539051486347
+3.18350975345538e-7 2304.678167506767
+3.1877963605052504e-7 2247.198118571751
+3.192082967555121e-7 2191.0687657549624
+3.1963695746049925e-7 2136.2605701976636
+3.200656181654863e-7 2082.744583526678
+3.204942788704733e-7 2030.4924362809022
+3.209229395754603e-7 1979.4763286681095
+3.2135160028044746e-7 1929.669019711614
+3.217802609854345e-7 1881.0438178886386
+3.2220892169042156e-7 1833.5745706796197
+3.226375823954086e-7 1787.2356555289066
+3.2306624310039566e-7 1742.0019698199355
+3.234949038053827e-7 1697.8489219770208
+3.2392356451036977e-7 1654.7524216999282
+3.243522252153568e-7 1612.6888713286837
+3.2478088592034387e-7 1571.6351564367667
+3.2520954662533095e-7 1531.5686375832495
+3.2563820733031797e-7 1492.4671409160812
+3.26066868035305e-7 1454.3089503552935
+3.264955287402921e-7 1417.0727984502498
+3.2692418944527915e-7 1380.7378588705128
+3.273528501502662e-7 1345.2837372700628
+3.2778151085525326e-7 1310.6904644103124
+3.2821017156024033e-7 1276.9384870379617
+3.2863883226522736e-7 1244.0086610629266
+3.290674929702144e-7 1211.8822434938645
+3.2949615367520146e-7 1180.540884976125
+3.299248143801886e-7 1149.9666221654877
+3.303534750851756e-7 1120.141870752171
+3.3078213579016264e-7 1091.0494181653612
+3.3121079649514967e-7 1062.6724163170322
+3.316394572001368e-7 1034.9943750111433
+3.320681179051238e-7 1007.9991547558523
+3.324967786101109e-7 981.6709602924566
+3.3292543931509793e-7 955.9943338020859
+3.33354100020085e-7 930.9541486886632
+3.337827607250721e-7 906.5356027032002
+3.342114214300591e-7 882.7242121864804
+3.3464008213504613e-7 859.5058054732292
+3.350687428400332e-7 836.866517055655
+3.354974035450203e-7 814.79278142808
+3.359260642500073e-7 793.2713275277239
+3.363547249549944e-7 772.2891724520791
+3.367833856599814e-7 751.833616349943
+3.372120463649685e-7 731.8922363088021
+3.376407070699555e-7 712.4528813010347
+3.380693677749426e-7 693.5036664845654
+3.384980284799296e-7 675.0329682203879
+3.389266891849167e-7 657.0294184180734
+3.393553498899038e-7 639.4818999445812
+3.397840105948908e-7 622.379541162734
+3.4021267129987783e-7 605.711711248726
+3.4064133200486496e-7 589.4680152280757
+3.41069992709852e-7 573.6382893171883
+3.41498653414839e-7 558.2125960374385
+3.419273141198261e-7 543.1812199393532
+3.423559748248132e-7 528.5346627381605
+3.4278463552980024e-7 514.2636391429218
+3.4321329623478727e-7 500.3590723575136
+3.436419569397743e-7 486.8120898967912
+3.4407061764476137e-7 473.6140192853021
+3.444992783497485e-7 460.75638403735667
+3.4492793905473553e-7 448.23089953851223
+3.4535659975972255e-7 436.02946915271065
+3.4578526046470963e-7 424.1441801785091
+3.4621392116969666e-7 412.5673002134714
+3.466425818746837e-7 401.291273230181
+3.470712425796708e-7 390.3087159417623
+3.474999032846579e-7 379.6124142388751
+3.479285639896449e-7 369.1953195662658
+3.4835722469463194e-7 359.05054546053907
+3.4878588539961896e-7 349.1713641192348
+3.4921454610460604e-7 339.5512030951497
+3.4964320680959307e-7 330.18364189173224
+3.500718675145802e-7 321.0624088725586
+3.505005282195672e-7 312.181377991418
+3.509291889245543e-7 303.53456571351273
+3.5135784962954133e-7 295.11612793973643
+3.5178651033452835e-7 286.92035711878265
+3.522151710395154e-7 278.94167913200243
+3.526438317445025e-7 271.1746506189665
+3.530724924494896e-7 263.6139559657199
+3.535011531544766e-7 256.2544046834786
+3.5392981385946364e-7 249.0909286224
+3.5435847456445077e-7 242.11857934816243
+3.547871352694378e-7 235.33252544845857
+3.552157959744248e-7 228.72805012350636
+3.556444566794119e-7 222.3005485318851
+3.56073117384399e-7 216.04552542264327
+3.5650177808938605e-7 209.95859268589857
+3.569304387943731e-7 204.03546702851648
+3.573590994993601e-7 198.2719675930989
+3.577877602043472e-7 192.66401377351997
+3.582164209093342e-7 187.20762292125212
+3.5864508161432133e-7 181.89890823393506
+3.5907374231930836e-7 176.73407651842984
+3.5950240302429544e-7 171.7094262272315
+3.5993106372928246e-7 166.82134530884625
+3.603597244342695e-7 162.06630926115628
+3.607883851392565e-7 157.44087910654784
+3.6121704584424364e-7 152.9416995315099
+3.616457065492307e-7 148.5654969474466
+3.6207436725421775e-7 144.30907766521668
+3.6250302795920477e-7 140.16932608373608
+3.629316886641918e-7 136.14320290409407
+3.6336034936917893e-7 132.22774340529062
+3.6378901007416595e-7 128.42005575385568
+3.6421767077915303e-7 124.71731928228137
+3.6464633148414006e-7 121.11678294757589
+3.650749921891272e-7 117.61576365997178
+3.655036528941142e-7 114.21164473958584
+3.6593231359910124e-7 110.90187441209555
+3.6636097430408826e-7 107.68396427657224
+3.6678963500907534e-7 104.55548785850303
+3.6721829571406247e-7 101.51407915852721
+3.676469564190495e-7 98.5574312765707
+3.680756171240365e-7 95.68329498401822
+3.685042778290236e-7 92.88947743792325
+3.689329385340106e-7 90.17384082075854
+3.6936159923899765e-7 87.53430107062927
+3.697902599439848e-7 84.96882660437116
+3.7021892064897186e-7 82.47543711282059
+3.706475813539589e-7 80.05220230898098
+3.710762420589459e-7 77.69724079192896
+3.7150490276393293e-7 75.4087188532229
+3.7193356346892006e-7 73.18484937954948
+3.723622241739071e-7 71.0238907053406
+3.7279088487889417e-7 68.92414557525771
+3.732195455838812e-7 66.88396005402346
+3.7364820628886827e-7 64.90172250556795
+3.740768669938553e-7 62.975862570980006
+3.745055276988423e-7 61.10485019299485
+3.749341884038294e-7 59.28719462608605
+3.753628491088165e-7 57.52144351757891
+3.7579150981380355e-7 55.80618195251658
+3.762201705187906e-7 54.14003156882494
+3.766488312237776e-7 52.521649662304675
+3.7707749192876473e-7 50.94972833047171
+3.7750615263375176e-7 49.42299361172139
+3.779348133387388e-7 47.94020467467753
+3.7836347404372586e-7 46.500152996934546
+3.78792134748713e-7 45.101661586039654
+3.792207954537e-7 43.74358419780557
+3.7964945615868704e-7 42.42480459178156
+3.8007811686367407e-7 41.14423577411931
+3.8050677756866115e-7 39.900819304757235
+3.8093543827364817e-7 38.693524573433564
+3.813640989786353e-7 37.521348110022466
+3.8179275968362233e-7 36.38331292953031
+3.822214203886094e-7 35.27846785549185
+3.8265008109359643e-7 34.205886893859024
+3.8307874179858346e-7 33.164668588893434
+3.835074025035705e-7 32.15393543385823
+3.839360632085576e-7 31.172833244198774
+3.843647239135447e-7 30.220530600881077
+3.847933846185317e-7 29.29621825772011
+3.8522204532351874e-7 28.3991086011486
+3.8565070602850587e-7 27.528435085762847
+3.860793667334929e-7 26.683451725303527
+3.865080274384799e-7 25.863432555609275
+3.86936688143467e-7 25.067671136934006
+3.8736534884845413e-7 24.29548005218295
+3.8779400955344115e-7 23.54619043130153
+3.882226702584282e-7 22.81915147090668
+3.886513309634152e-7 22.113729981562336
+3.8907999166840223e-7 21.429309931891254
+3.895086523733893e-7 20.765292010323765
+3.8993731307837644e-7 20.121093199431417
+3.9036597378336346e-7 19.49614635615406
+3.907946344883505e-7 18.889899799628378
+3.9122329519333757e-7 18.30181692030754
+3.916519558983246e-7 17.731375783869368
+3.920806166033116e-7 17.178068754904128
+3.9250927730829875e-7 16.641402125488025
+3.929379380132858e-7 16.120895755605705
+3.9336659871827285e-7 15.616082716759722
+3.937952594232599e-7 15.126508953713287
+3.942239201282469e-7 14.651732941258501
+3.9465258083323403e-7 14.191325363243694
+3.9508124153822106e-7 13.74486878883032
+3.9550990224320813e-7 13.31195736439812
+3.9593856294819516e-7 12.892196505623957
+3.9636722365318224e-7 12.485202604363167
+3.967958843581693e-7 12.09060273615735
+3.9722454506315634e-7 11.708034382657075
+3.9765320576814337e-7 11.337145150407613
+3.9808186647313044e-7 10.97759250859343
+3.985105271781175e-7 10.629043524052697
+3.9893918788310455e-7 10.291174605138828
+3.9936784858809157e-7 9.963671258249402
+3.997965092930787e-7 9.646227838323256
+4.0022516999806573e-7 9.338547317865684
+4.0065383070305275e-7 9.040341053617905
+4.0108249140803983e-7 8.751328563668016
+4.0151115211302696e-7 8.471237305417759
+4.01939812818014e-7 8.199802466689837
+4.02368473523001e-7 7.936766752776934
+4.0279713422798804e-7 7.681880186696171
+4.032257949329751e-7 7.434899909685509
+4.0365445563796214e-7 7.195589991256802
+4.0408311634294927e-7 6.96372123707629
+4.045117770479363e-7 6.7390710104824425
+4.0494043775292337e-7 6.521423051346365
+4.053690984579104e-7 6.310567302821376
+4.057977591628974e-7 6.1062997429704176
+4.0622641986788445e-7 5.908422219275369
+4.066550805728716e-7 5.716742287497938
+4.0708374127785866e-7 5.531073056463167
+4.075124019828457e-7 5.351233033977548
+4.079410626878327e-7 5.17704597957751
+4.0836972339281984e-7 5.008340759096708
+4.0879838409780686e-7 4.844951204743443
+4.092270448027939e-7 4.686715975686206
+4.0965570550778097e-7 4.53347842763482
+4.100843662127681e-7 4.3850864798686935
+4.105130269177551e-7 4.241392489939067
+4.1094168762274215e-7 4.102253129502858
+4.1137034832772917e-7 3.967529265071695
+4.1179900903271625e-7 3.8370858398501295
+4.122276697377034e-7 3.7107917608130765
+4.126563304426904e-7 3.5885197868279746
+4.1308499114767743e-7 3.4701464219015192
+4.135136518526645e-7 3.3555518085640985
+4.1394231255765153e-7 3.244619627005335
+4.1437097326263856e-7 3.1372369945022056
+4.147996339676257e-7 3.033294368766318
+4.1522829467261277e-7 2.9326854534260414
+4.156569553775998e-7 2.8353071066839934
+4.160856160825868e-7 2.7410592514391654
+4.1651427678757384e-7 2.6498447884861016
+4.1694293749256087e-7 2.561569511880211
+4.17371598197548e-7 2.4761420265150633
+4.178002589025351e-7 2.3934736682630033
+4.182289196075221e-7 2.3134784256596532
+4.1865758031250913e-7 2.2360728641329626
+4.1908624101749626e-7 2.1611760522750063
+4.195149017224833e-7 2.088709490334801
+4.199435624274703e-7 2.018597039560206
+4.203722231324574e-7 1.9507648553610641
+4.2080088383744446e-7 1.8851413201618288
+4.212295445424315e-7 1.8216569800553801
+4.2165820524741857e-7 1.7602444814565135
+4.220868659524056e-7 1.7008385111630862
+4.2251552665739267e-7 1.6433757362663273
+4.229441873623797e-7 1.5877947477360042
+4.2337284806736677e-7 1.5340360034624798
+4.238015087723538e-7 1.4820417748604904
+4.2423016947734093e-7 1.431756093038695
+4.2465883018232795e-7 1.3831246983532917
+4.25087490887315e-7 1.3360949896794074
+4.25516151592302e-7 1.290615976307994
+4.259448122972891e-7 1.24663823052886
+4.263734730022762e-7 1.2041138417657027
+4.2680213370726324e-7 1.1629963719537673
+4.2723079441225026e-7 1.1232408122298325
+4.2765945511723734e-7 1.0848035405896528
+4.2808811582222437e-7 1.0476422811361943
+4.285167765272114e-7 1.0117160640811382
+4.289454372321985e-7 0.9769851873272601
+4.293740979371856e-7 0.9434111783731518
+4.298027586421726e-7 0.910956758363399
+4.3023141934715965e-7 0.8795858060823841
+4.306600800521467e-7 0.8492633238105084
+4.310887407571338e-7 0.8199554034930803
+4.3151740146212083e-7 0.7916291945441217
+4.319460621671079e-7 0.7642528718244621
+4.3237472287209493e-7 0.7377956051564376
+4.3280338357708207e-7 0.7122275294186856
+4.332320442820691e-7 0.687519715505508
\ No newline at end of file
diff --git a/ecell4/egfrd/legacy/samples/reversible/p_rev.3.tsv b/ecell4/egfrd/legacy/samples/reversible/p_rev.3.tsv
new file mode 100644
index 0000000..bb33147
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/reversible/p_rev.3.tsv
@@ -0,0 +1,1000 @@
+5.e-9 2483.7324583178734
+6.355544171172596e-9 3868.110034108541
+7.71108834234519e-9 5555.103784033725
+9.066632513517787e-9 7544.229128252356
+1.0422176684690383e-8 9834.926271345286
+1.177772085586298e-8 12426.56083033284
+1.3133265027035574e-8 15318.425162388538
+1.448880919820817e-8 18509.735720508128
+1.5844353369380768e-8 21999.637715100584
+1.7199897540553364e-8 25787.201141403657
+1.855544171172596e-8 29871.422891987706
+1.991098588289855e-8 34251.22883039139
+2.1266530054071146e-8 38925.47059856868
+2.262207422524375e-8 43892.928596989914
+2.3977618396416338e-8 49152.312182758906
+2.5333162567588934e-8 54702.258408754315
+2.668870673876153e-8 60541.33572860699
+2.8044250909934127e-8 66668.0400982428
+2.9399795081106723e-8 73080.79911148337
+3.075533925227932e-8 79777.97096206606
+3.2110883423451915e-8 86757.84525012504
+3.346642759462451e-8 94018.64285604809
+3.48219717657971e-8 101558.51962029046
+3.61775159369697e-8 109375.56109046629
+3.753306010814229e-8 117467.7894181627
+3.8888604279314896e-8 125833.15974910327
+4.024414845048749e-8 134469.561855543
+4.159969262166009e-8 143374.8245952489
+4.295523679283268e-8 152546.70878329742
+4.4310780964005274e-8 161982.91398024713
+4.566632513517787e-8 171681.07996748175
+4.7021869306350466e-8 181638.7806279252
+4.837741347752306e-8 191853.53590744227
+4.973295764869566e-8 202322.8003498023
+5.1088501819868255e-8 213043.9703942427
+5.244404599104085e-8 224014.38693355973
+5.379959016221345e-8 235231.33211112022
+5.5155134333386037e-8 246692.02942141224
+5.651067850455863e-8 258393.65233758182
+5.786622267573123e-8 270333.31355440547
+5.922176684690383e-8 282508.07714475226
+6.057731101807643e-8 294914.95089058945
+6.193285518924902e-8 307550.88994889223
+6.328839936042162e-8 320412.8040978592
+6.464394353159421e-8 333497.5475839456
+6.599948770276681e-8 346801.9261406336
+6.73550318739394e-8 360322.7014061106
+6.8710576045112e-8 374056.5840584982
+7.00661202162846e-8 388000.2386436032
+7.14216643874572e-8 402150.2881505187
+7.27772085586298e-8 416503.30884240294
+7.413275272980239e-8 431055.83546478354
+7.548829690097499e-8 445804.3594309913
+7.684384107214758e-8 460745.32976479986
+7.819938524332018e-8 475875.1633042788
+7.955492941449277e-8 491190.22915773623
+8.091047358566536e-8 506686.8617948956
+8.226601775683795e-8 522361.36318747664
+8.362156192801056e-8 538209.9943957624
+8.497710609918315e-8 554228.9853960903
+8.633265027035575e-8 570414.5339110381
+8.768819444152834e-8 586762.7997804008
+8.904373861270094e-8 603269.9212310162
+9.039928278387353e-8 619931.9982811318
+9.175482695504613e-8 636745.1039478404
+9.311037112621874e-8 653705.2917813655
+9.446591529739133e-8 670808.5766563632
+9.582145946856393e-8 688050.9599425916
+9.717700363973652e-8 705428.4109494364
+9.853254781090912e-8 722936.8760591694
+9.988809198208171e-8 740572.2874920156
+1.0124363615325431e-7 758330.5514629161
+1.025991803244269e-7 776207.5529217822
+1.0395472449559949e-7 794199.1654477087
+1.0531026866677208e-7 812301.236941299
+1.0666581283794468e-7 830509.609349896
+1.0802135700911727e-7 848820.1031766568
+1.0937690118028988e-7 867228.5264691078
+1.1073244535146247e-7 885730.6801653246
+1.1208798952263508e-7 904322.344966268
+1.1344353369380767e-7 922999.2978080858
+1.1479907786498025e-7 941757.3080340258
+1.1615462203615285e-7 960592.1364786014
+1.1751016620732544e-7 979499.5312084145
+1.1886571037849804e-7 998475.2468676312
+1.2022125454967062e-7 1.0175150211719332e6
+1.2157679872084324e-7 1.0366145986978487e6
+1.2293234289201582e-7 1.0557697224330637e6
+1.2428788706318841e-7 1.074976124841237e6
+1.2564343123436103e-7 1.0942295512043345e6
+1.2699897540553362e-7 1.1135257418981965e6
+1.283545195767062e-7 1.1328604378592474e6
+1.297100637478788e-7 1.1522293897127344e6
+1.3106560791905141e-7 1.1716283498084575e6
+1.32421152090224e-7 1.1910530825780989e6
+1.337766962613966e-7 1.2104993517111307e6
+1.3513224043256918e-7 1.2299629292839773e6
+1.364877846037418e-7 1.2494396076007981e6
+1.378433287749144e-7 1.2689251778102678e6
+1.3919887294608698e-7 1.2884154463172762e6
+1.405544171172596e-7 1.3079062408316548e6
+1.4190996128843218e-7 1.327393386009566e6
+1.4326550545960477e-7 1.3468727396694678e6
+1.4462104963077736e-7 1.3663401622147877e6
+1.4597659380194998e-7 1.3857915371824112e6
+1.4733213797312257e-7 1.4052227649395629e6
+1.4868768214429516e-7 1.4246297661793036e6
+1.5004322631546775e-7 1.4440084779044504e6
+1.5139877048664036e-7 1.4633548632126898e6
+1.5275431465781295e-7 1.4826648996470885e6
+1.5410985882898554e-7 1.5019346017765694e6
+1.5546540300015813e-7 1.5211599941526782e6
+1.5682094717133072e-7 1.5403371261581306e6
+1.581764913425033e-7 1.5594620885438744e6
+1.595320355136759e-7 1.57853098075482e6
+1.6088757968484852e-7 1.5975399402833101e6
+1.622431238560211e-7 1.6164851332588762e6
+1.635986680271937e-7 1.635362747398638e6
+1.6495421219836629e-7 1.6541690099690298e6
+1.663097563695389e-7 1.6729001768363218e6
+1.676653005407115e-7 1.6915525252341663e6
+1.6902084471188408e-7 1.7101223865991235e6
+1.7037638888305667e-7 1.728606108722414e6
+1.7173193305422929e-7 1.7470000765054969e6
+1.7308747722540188e-7 1.765300718216178e6
+1.7444302139657447e-7 1.783504490072485e6
+1.7579856556774706e-7 1.8016078836859558e6
+1.7715410973891967e-7 1.819607441833368e6
+1.7850965391009226e-7 1.837499726450011e6
+1.7986519808126485e-7 1.8552813562135762e6
+1.8122074225243747e-7 1.8729489757520847e6
+1.8257628642361006e-7 1.8904992741171233e6
+1.8393183059478265e-7 1.9079289882767044e6
+1.8528737476595523e-7 1.9252348899412006e6
+1.8664291893712785e-7 1.9424137902862267e6
+1.8799846310830044e-7 1.959462551709983e6
+1.8935400727947303e-7 1.976378071723749e6
+1.9070955145064562e-7 1.993157301678247e6
+1.9206509562181824e-7 2.0097972319644906e6
+1.9342063979299083e-7 2.0262948910923495e6
+1.9477618396416341e-7 2.0426473673217369e6
+1.96131728135336e-7 2.0588517852731433e6
+1.9748727230650862e-7 2.074905314830389e6
+1.988428164776812e-7 2.0908051872106432e6
+2.001983606488538e-7 2.106548661446971e6
+2.015539048200264e-7 2.1221330616656095e6
+2.0290944899119898e-7 2.137555750573635e6
+2.0426499316237157e-7 2.152814139783346e6
+2.0562053733354416e-7 2.167905700201964e6
+2.0697608150471677e-7 2.1828279410243705e6
+2.0833162567588936e-7 2.197578421473992e6
+2.0968716984706195e-7 2.2121547640372966e6
+2.1104271401823454e-7 2.226554626178981e6
+2.1239825818940716e-7 2.2407757278363756e6
+2.1375380236057975e-7 2.254815835964527e6
+2.1510934653175234e-7 2.268672764792393e6
+2.1646489070292493e-7 2.2823443904385595e6
+2.1782043487409754e-7 2.2958286339223715e6
+2.1917597904527016e-7 2.3091234628053033e6
+2.2053152321644275e-7 2.3222269144104724e6
+2.2188706738761534e-7 2.3351370658116904e6
+2.232426115587879e-7 2.3478520440625725e6
+2.245981557299605e-7 2.36037004362749e6
+2.2595369990113308e-7 2.3726892962904572e6
+2.273092440723057e-7 2.3848080971875046e6
+2.2866478824347829e-7 2.39672479483313e6
+2.3002033241465088e-7 2.408437782570355e6
+2.3137587658582346e-7 2.419945520234434e6
+2.3273142075699608e-7 2.431246508298739e6
+2.3408696492816867e-7 2.44233930231273e6
+2.3544250909934126e-7 2.453222528734121e6
+2.3679805327051385e-7 2.4638948432362694e6
+2.3815359744168647e-7 2.474354975265589e6
+2.3950914161285905e-7 2.484601693527298e6
+2.4086468578403164e-7 2.4946338246272765e6
+2.4222022995520423e-7 2.504450255867133e6
+2.435757741263768e-7 2.5140499208318386e6
+2.4493131829754947e-7 2.523431802192331e6
+2.4628686246872206e-7 2.5325949516220866e6
+2.4764240663989465e-7 2.5415384525051164e6
+2.4899795081106723e-7 2.550261461247548e6
+2.503534949822398e-7 2.5587631771283452e6
+2.517090391534124e-7 2.5670428507261206e6
+2.53064583324585e-7 2.5750997908529993e6
+2.544201274957576e-7 2.582933355821901e6
+2.5577567166693024e-7 2.5905429504328878e6
+2.571312158381028e-7 2.5979280427590394e6
+2.584867600092754e-7 2.605088145486749e6
+2.59842304180448e-7 2.6120228269969947e6
+2.611978483516206e-7 2.618731699823437e6
+2.625533925227932e-7 2.625214433077796e6
+2.6390893669396577e-7 2.631470746513414e6
+2.6526448086513836e-7 2.6375004060351267e6
+2.66620025036311e-7 2.6433032304102145e6
+2.679755692074836e-7 2.6488790923154354e6
+2.693311133786562e-7 2.6542279054534175e6
+2.7068665754982877e-7 2.659349639551997e6
+2.7204220172100136e-7 2.6642443088655933e6
+2.7339774589217395e-7 2.6689119759966317e6
+2.7475329006334654e-7 2.673352757027873e6
+2.761088342345192e-7 2.6775668073304626e6
+2.774643784056918e-7 2.6815543322285432e6
+2.7881992257686436e-7 2.6853155920251342e6
+2.8017546674803695e-7 2.68885088238998e6
+2.8153101091920954e-7 2.692160546309196e6
+2.8288655509038213e-7 2.695244980409987e6
+2.842420992615547e-7 2.698104615468682e6
+2.855976434327273e-7 2.7007399390268126e6
+2.8695318760389995e-7 2.7031514705496305e6
+2.8830873177507254e-7 2.70533977855278e6
+2.8966427594624513e-7 2.707305478702878e6
+2.910198201174177e-7 2.709049221271914e6
+2.923753642885903e-7 2.7105717040413297e6
+2.937309084597629e-7 2.711873665090453e6
+2.950864526309355e-7 2.71295588230079e6
+2.9644199680210813e-7 2.713819179430096e6
+2.977975409732807e-7 2.714464415006626e6
+2.991530851444533e-7 2.7148924831850785e6
+3.005086293156259e-7 2.7151043301941226e6
+3.018641734867985e-7 2.7151009263158715e6
+3.032197176579711e-7 2.7148832888468374e6
+3.0457526182914367e-7 2.714452472357312e6
+3.0593080600031626e-7 2.713809560422865e6
+3.072863501714889e-7 2.7129556830878863e6
+3.0864189434266144e-7 2.7118919982661153e6
+3.0999743851383403e-7 2.710619697642889e6
+3.113529826850066e-7 2.709140020009016e6
+3.127085268561792e-7 2.7074542227317127e6
+3.140640710273518e-7 2.705563602763158e6
+3.154196151985244e-7 2.703469493415334e6
+3.1677515936969703e-7 2.7011732487601875e6
+3.181307035408696e-7 2.6986762729584347e6
+3.194862477120422e-7 2.6959799810469016e6
+3.208417918832148e-7 2.69308582942147e6
+3.221973360543874e-7 2.6899953027613964e6
+3.2355288022556e-7 2.6867099122162987e6
+3.2490842439673257e-7 2.6832311960464236e6
+3.262639685679052e-7 2.6795607286664797e6
+3.276195127390778e-7 2.6757000982257035e6
+3.289750569102504e-7 2.6716509337505577e6
+3.30330601081423e-7 2.6674148804036076e6
+3.3168614525259557e-7 2.6629936038055653e6
+3.3304168942376816e-7 2.6583888118849685e6
+3.3439723359494075e-7 2.653602221008768e6
+3.3575277776611334e-7 2.648635574371099e6
+3.37108321937286e-7 2.643490642430955e6
+3.3846386610845857e-7 2.6381692106154645e6
+3.3981941027963116e-7 2.6326730868963585e6
+3.4117495445080375e-7 2.627004111407845e6
+3.4253049862197634e-7 2.621164124823567e6
+3.438860427931489e-7 2.6151550066689546e6
+3.452415869643215e-7 2.6089786404368533e6
+3.465971311354941e-7 2.6026369323599814e6
+3.4795267530666675e-7 2.5961318117712117e6
+3.4930821947783934e-7 2.589465218146335e6
+3.5066376364901193e-7 2.5826391083591646e6
+3.520193078201845e-7 2.575655459306449e6
+3.533748519913571e-7 2.568516255185614e6
+3.547303961625297e-7 2.5612235011542323e6
+3.560859403337023e-7 2.553779217142953e6
+3.5744148450487493e-7 2.5461854265031624e6
+3.587970286760475e-7 2.538444178008556e6
+3.601525728472201e-7 2.5305575216007456e6
+3.615081170183927e-7 2.522527522807332e6
+3.628636611895653e-7 2.51435625991885e6
+3.642192053607379e-7 2.506045816048022e6
+3.6557474953191046e-7 2.497598293141567e6
+3.6693029370308305e-7 2.489015790571954e6
+3.682858378742557e-7 2.480300420189286e6
+3.696413820454283e-7 2.4714543066188283e6
+3.709969262166009e-7 2.462479575434428e6
+3.7235247038777347e-7 2.4533783587723114e6
+3.7370801455894606e-7 2.444152801716126e6
+3.7506355873011864e-7 2.434805044698453e6
+3.7641910290129123e-7 2.4253372428898653e6
+3.777746470724638e-7 2.41575154580337e6
+3.7913019124363647e-7 2.4060501125616473e6
+3.8048573541480906e-7 2.3962351082628397e6
+3.8184127958598165e-7 2.386308691857035e6
+3.8319682375715423e-7 2.3762730320414314e6
+3.845523679283268e-7 2.36613029419754e6
+3.859079120994994e-7 2.3558826493907925e6
+3.87263456270672e-7 2.3455322634426197e6
+3.8861900044184465e-7 2.3350813067699373e6
+3.8997454461301724e-7 2.3245319445275497e6
+3.913300887841898e-7 2.3138863471980556e6
+3.926856329553624e-7 2.30314667809435e6
+3.94041177126535e-7 2.29231509844652e6
+3.953967212977076e-7 2.2813937740492607e6
+3.9675226546888013e-7 2.2703848576840605e6
+3.9810780964005277e-7 2.259290502186573e6
+3.9946335381122536e-7 2.248112859845327e6
+4.0081889798239795e-7 2.236854074871387e6
+4.0217444215357054e-7 2.2255162882290664e6
+4.0352998632474313e-7 2.2141016345556695e6
+4.048855304959157e-7 2.202612240050519e6
+4.062410746670883e-7 2.1910502305444526e6
+4.075966188382609e-7 2.1794177191524548e6
+4.0895216300943354e-7 2.1677168143563615e6
+4.1030770718060613e-7 2.1559496194899357e6
+4.116632513517787e-7 2.144118224886321e6
+4.130187955229513e-7 2.13222471737882e6
+4.143743396941239e-7 2.120271169267921e6
+4.157298838652965e-7 2.108259649310115e6
+4.170854280364691e-7 2.0961922142043866e6
+4.184409722076417e-7 2.0840709098780868e6
+4.197965163788143e-7 2.0718977711481864e6
+4.211520605499869e-7 2.0596748275658546e6
+4.225076047211595e-7 2.047404089056886e6
+4.238631488923321e-7 2.0350875626279796e6
+4.2521869306350467e-7 2.022727239628364e6
+4.2657423723467726e-7 2.010325095571349e6
+4.2792978140584985e-7 1.9978831003372076e6
+4.292853255770225e-7 1.9854032080219758e6
+4.306408697481951e-7 1.9728873574778968e6
+4.3199641391936767e-7 1.960337480050013e6
+4.333519580905403e-7 1.9477554861359817e6
+4.3470750226171285e-7 1.9351432787009126e6
+4.360630464328855e-7 1.9225027421542956e6
+4.3741859060405803e-7 1.9098357457493169e6
+4.3877413477523067e-7 1.8971441509605113e6
+4.4012967894640326e-7 1.884429796509221e6
+4.414852231175758e-7 1.871694507285787e6
+4.4284076728874844e-7 1.8589400960665995e6
+4.44196311459921e-7 1.8461683571105998e6
+4.455518556310936e-7 1.8333810693596334e6
+4.4690739980226616e-7 1.8205799961850466e6
+4.482629439734388e-7 1.8077668825383196e6
+4.496184881446114e-7 1.7949434593442855e6
+4.5097403231578403e-7 1.7821114393471293e6
+4.5232957648695657e-7 1.7692725157071173e6
+4.536851206581292e-7 1.756428370713527e6
+4.5504066482930175e-7 1.7435806635015463e6
+4.563962090004744e-7 1.7307310369137914e6
+4.577517531716469e-7 1.7178811184969202e6
+4.5910729734281957e-7 1.7050325129713144e6
+4.6046284151399216e-7 1.692186813087767e6
+4.618183856851648e-7 1.679345590297523e6
+4.6317392985633734e-7 1.6665103941672458e6
+4.6452947402751e-7 1.6536827640571955e6
+4.658850181986825e-7 1.6408642130364422e6
+4.6724056236985516e-7 1.6280562378339088e6
+4.685961065410277e-7 1.6152603197461697e6
+4.699516507122004e-7 1.6024779154045542e6
+4.713071948833729e-7 1.5897104674893648e6
+4.7266273905454557e-7 1.576959396701466e6
+4.740182832257181e-7 1.564226102899835e6
+4.7537382739689075e-7 1.5515119710257482e6
+4.767293715680633e-7 1.5388183654824498e6
+4.780849157392359e-7 1.5261466264262334e6
+4.794404599104085e-7 1.5134980819644283e6
+4.807960040815812e-7 1.5008740347953823e6
+4.821515482527536e-7 1.4882757711558524e6
+4.835070924239262e-7 1.4757045560577128e6
+4.848626365950989e-7 1.4631616348343575e6
+4.862181807662715e-7 1.4506482350958923e6
+4.875737249374441e-7 1.4381655621762027e6
+4.889292691086167e-7 1.4257148016734603e6
+4.902848132797892e-7 1.4132971223247782e6
+4.916403574509619e-7 1.4009136701273387e6
+4.929959016221344e-7 1.388565571786956e6
+4.943514457933071e-7 1.3762539365613353e6
+4.957069899644796e-7 1.363979849217567e6
+4.970625341356522e-7 1.3517443794280086e6
+4.984180783068248e-7 1.3395485756670276e6
+4.997736224779974e-7 1.3273934639649887e6
+5.0112916664917e-7 1.3152800556026618e6
+5.024847108203426e-7 1.3032093381256526e6
+5.038402549915151e-7 1.2911822799266821e6
+5.051957991626878e-7 1.2791998324051462e6
+5.065513433338604e-7 1.2672629239420076e6
+5.079068875050331e-7 1.2553724672618348e6
+5.092624316762056e-7 1.2435293518201103e6
+5.106179758473782e-7 1.2317344498094644e6
+5.119735200185508e-7 1.2199886136777333e6
+5.133290641897234e-7 1.2082926774224676e6
+5.14684608360896e-7 1.196647453051217e6
+5.160401525320686e-7 1.1850537378716392e6
+5.173956967032411e-7 1.1735123054130767e6
+5.187512408744138e-7 1.16202391535826e6
+5.201067850455863e-7 1.1505893034955272e6
+5.21462329216759e-7 1.13920918996161e6
+5.228178733879315e-7 1.1278842762024805e6
+5.241734175591041e-7 1.1166152432429197e6
+5.255289617302767e-7 1.105402754791911e6
+5.268845059014493e-7 1.094247456928387e6
+5.28240050072622e-7 1.0831499764017423e6
+5.295955942437945e-7 1.0721109229054502e6
+5.309511384149671e-7 1.0611308863679408e6
+5.323066825861397e-7 1.0502104399063892e6
+5.336622267573123e-7 1.0393501398884316e6
+5.350177709284848e-7 1.0285505233303168e6
+5.363733150996575e-7 1.0178121097728552e6
+5.3772885927083e-7 1.0071354036922982e6
+5.390844034420027e-7 996520.888705062
+5.404399476131752e-7 985969.035549413
+5.417954917843478e-7 975480.2938060733
+5.431510359555204e-7 965055.0984959978
+5.44506580126693e-7 954693.8685579496
+5.458621242978657e-7 944397.0051403407
+5.472176684690383e-7 934164.8927218718
+5.485732126402108e-7 923997.9004628166
+5.499287568113835e-7 913896.3814264531
+5.51284300982556e-7 903860.6715803397
+5.526398451537287e-7 893891.0934426188
+5.539953893249012e-7 883987.9510340355
+5.553509334960738e-7 874151.5354933478
+5.567064776672464e-7 864382.1209657363
+5.58062021838419e-7 854679.9664957223
+5.594175660095916e-7 845045.3180646346
+5.607731101807642e-7 835478.4046745418
+5.621286543519367e-7 825979.4409989709
+5.634841985231094e-7 816548.6288219074
+5.648397426942819e-7 807186.1532942828
+5.661952868654546e-7 797892.1882736656
+5.675508310366272e-7 788666.8918566403
+5.689063752077998e-7 779510.4071541983
+5.702619193789724e-7 770422.8671340976
+5.71617463550145e-7 761404.388375904
+5.729730077213176e-7 752455.0742588282
+5.743285518924902e-7 743575.0179245293
+5.756840960636627e-7 734764.2960808912
+5.770396402348354e-7 726022.9759690481
+5.783951844060079e-7 717351.1095256482
+5.797507285771806e-7 708748.7372658357
+5.811062727483531e-7 700215.8888378482
+5.824618169195257e-7 691752.5801112888
+5.838173610906983e-7 683358.815378147
+5.851729052618709e-7 675034.5885623676
+5.865284494330436e-7 666779.8806359551
+5.878839936042162e-7 658594.6623374672
+5.892395377753887e-7 650478.8928787613
+5.905950819465614e-7 642432.5199548437
+5.919506261177339e-7 634455.4819170127
+5.933061702889066e-7 626547.7055480328
+5.946617144600791e-7 618709.1066887919
+5.960172586312517e-7 610939.5928928645
+5.973728028024243e-7 603239.0595951596
+5.987283469735969e-7 595607.3942605779
+6.000838911447695e-7 588044.4730200362
+6.014394353159421e-7 580550.1632669348
+6.027949794871146e-7 573124.3236101335
+6.041505236582873e-7 565766.8026356017
+6.055060678294598e-7 558477.4399943608
+6.068616120006325e-7 551256.0677516626
+6.082171561718051e-7 544102.5080007536
+6.095727003429777e-7 537016.5744357535
+6.109282445141503e-7 529998.0739712904
+6.122837886853228e-7 523046.80364509916
+6.136393328564955e-7 516162.5541949922
+6.14994877027668e-7 509345.1075017901
+6.163504211988406e-7 502594.23744531535
+6.177059653700132e-7 495909.71235010406
+6.190615095411858e-7 489291.291781409
+6.204170537123584e-7 482738.72856485174
+6.21772597883531e-7 476251.7692181947
+6.231281420547035e-7 469830.1525236126
+6.244836862258762e-7 463473.61185119656
+6.258392303970487e-7 457181.8734594657
+6.271947745682214e-7 450954.6569792289
+6.28550318739394e-7 444791.67746770894
+6.299058629105666e-7 438692.6424449335
+6.312614070817392e-7 432657.2542374887
+6.326169512529118e-7 426685.21009719576
+6.339724954240844e-7 420776.20131682383
+6.35328039595257e-7 414929.9144117294
+6.366835837664295e-7 409146.02989833365
+6.380391279376022e-7 403424.22370988724
+6.393946721087747e-7 397764.167556457
+6.407502162799474e-7 392165.52798335813
+6.421057604511199e-7 386627.9664413174
+6.434613046222925e-7 381151.1412821569
+6.448168487934651e-7 375734.70525367936
+6.461723929646377e-7 370378.3083729852
+6.475279371358104e-7 365081.5955970734
+6.48883481306983e-7 359844.20853344764
+6.502390254781555e-7 354665.7855467164
+6.515945696493282e-7 349545.9607327442
+6.529501138205007e-7 344484.36492225603
+6.543056579916734e-7 339480.62620673154
+6.556612021628459e-7 334534.36934549914
+6.570167463340185e-7 329645.2155267181
+6.583722905051911e-7 324812.7841617426
+6.597278346763637e-7 320036.69086941367
+6.610833788475363e-7 315316.54962266504
+6.624389230187089e-7 310651.9710752652
+6.637944671898814e-7 306042.5639132445
+6.651500113610541e-7 301487.9347723541
+6.665055555322266e-7 296987.6880852338
+6.678610997033993e-7 292541.42586679343
+6.692166438745719e-7 288148.74887232657
+6.705721880457445e-7 283809.2555927511
+6.719277322169171e-7 279522.5435462022
+6.732832763880897e-7 275288.2081389634
+6.746388205592623e-7 271105.843215424
+6.759943647304349e-7 266975.0421082445
+6.773499089016074e-7 262895.3962361808
+6.787054530727801e-7 258866.49601542455
+6.800609972439526e-7 254887.9313259147
+6.814165414151253e-7 250959.29070747082
+6.827720855862978e-7 247080.1620674678
+6.841276297574704e-7 243250.13276812815
+6.85483173928643e-7 239468.78902235237
+6.868387180998156e-7 235735.7175289867
+6.881942622709882e-7 232050.50375173843
+6.895498064421608e-7 228412.73306427244
+6.909053506133334e-7 224821.99082436317
+6.922608947845061e-7 221277.8619387794
+6.936164389556786e-7 217779.93178990635
+6.949719831268513e-7 214327.78529673058
+6.963275272980238e-7 210921.00758479524
+6.976830714691964e-7 207559.18442001706
+6.99038615640369e-7 204241.90137858063
+7.003941598115415e-7 200968.74442594685
+7.017497039827142e-7 197739.3005027711
+7.031052481538867e-7 194553.15650315097
+7.044607923250593e-7 191409.90032515902
+7.058163364962319e-7 188309.1202673116
+7.071718806674045e-7 185250.40533448034
+7.085274248385772e-7 182233.34588265987
+7.098829690097498e-7 179257.53257263405
+7.112385131809223e-7 176322.5571371967
+7.12594057352095e-7 173428.01268381075
+7.139496015232675e-7 170573.49295452092
+7.153051456944402e-7 167758.5929973242
+7.166606898656127e-7 164982.90935472643
+7.180162340367853e-7 162246.0393639443
+7.193717782079579e-7 159547.58215825414
+7.207273223791305e-7 156887.13788544695
+7.22082866550303e-7 154264.30814319194
+7.234384107214757e-7 151678.69641786226
+7.247939548926482e-7 149129.90738763235
+7.261494990638209e-7 146617.54729295804
+7.275050432349934e-7 144141.22431444106
+7.28860587406166e-7 141700.54799722947
+7.302161315773387e-7 139295.12991432042
+7.315716757485113e-7 136924.58337933844
+7.329272199196839e-7 134588.52322972473
+7.342827640908565e-7 132286.5665651831
+7.35638308262029e-7 130018.33228125323
+7.369938524332017e-7 127783.44101215791
+7.383493966043742e-7 125581.51582253941
+7.397049407755469e-7 123412.1812735753
+7.410604849467194e-7 121275.06455884485
+7.42416029117892e-7 119169.7945898841
+7.437715732890646e-7 117096.00239130102
+7.451271174602372e-7 115053.32142538049
+7.464826616314098e-7 113041.3872528984
+7.478382058025824e-7 111059.83747946992
+7.491937499737549e-7 109108.31231890654
+7.505492941449276e-7 107186.45393328693
+7.519048383161002e-7 105293.90707682271
+7.532603824872729e-7 103430.31869410857
+7.546159266584454e-7 101595.33804317174
+7.559714708296181e-7 99788.61700151807
+7.573270150007906e-7 98009.80960523714
+7.586825591719632e-7 96258.57246760116
+7.600381033431358e-7 94534.56460328477
+7.613936475143084e-7 92837.44760716069
+7.62749191685481e-7 91166.88543578495
+7.641047358566536e-7 89522.54463511807
+7.654602800278261e-7 87904.09417965157
+7.668158241989988e-7 86311.20575965839
+7.681713683701713e-7 84743.55347536983
+7.69526912541344e-7 83200.81402499774
+7.708824567125166e-7 81682.66680536147
+7.722380008836892e-7 80188.79362535872
+7.735935450548618e-7 78718.87899443763
+7.749490892260344e-7 77272.61008155752
+7.76304633397207e-7 75849.67661592919
+7.776601775683796e-7 74449.77100397152
+7.790157217395521e-7 73072.58829270765
+7.803712659107248e-7 71717.82605825685
+7.817268100818973e-7 70385.18473272532
+7.8308235425307e-7 69074.36726796313
+7.844378984242425e-7 67785.07928337627
+7.857934425954151e-7 66517.02921547316
+7.871489867665877e-7 65269.927930781814
+7.885045309377602e-7 64043.48920730205
+7.898600751089328e-7 62837.42931765645
+7.912156192801055e-7 61651.467283313264
+7.925711634512781e-7 60485.32486797722
+7.939267076224507e-7 59338.72639217399
+7.952822517936233e-7 58211.398870737015
+7.966377959647958e-7 57103.072102966005
+7.979933401359685e-7 56013.47838415237
+7.99348884307141e-7 54942.352864290086
+8.007044284783137e-7 53889.43321783715
+8.020599726494862e-7 52854.459797058225
+8.034155168206588e-7 51837.175710513875
+8.047710609918314e-7 50837.326600302695
+8.06126605163004e-7 49854.66075610245
+8.074821493341766e-7 48888.929255068164
+8.088376935053492e-7 47939.88557534715
+8.101932376765217e-7 47007.286045685
+8.115487818476944e-7 46090.889427417846
+8.12904326018867e-7 45190.457194124974
+8.142598701900397e-7 44305.75340462581
+8.156154143612122e-7 43436.54470696679
+8.169709585323848e-7 42582.600259660125
+8.183265027035574e-7 41743.69192106463
+8.1968204687473e-7 40919.59400457614
+8.210375910459026e-7 40110.08338683635
+8.223931352170752e-7 39314.939559180195
+8.237486793882477e-7 38533.944420923326
+8.251042235594204e-7 37766.88252438612
+8.264597677305929e-7 37013.540798906375
+8.278153119017656e-7 36273.70870757479
+8.291708560729381e-7 35547.17825895644
+8.305264002441107e-7 34833.74381781857
+8.318819444152834e-7 34133.202240582235
+8.33237488586456e-7 33445.35288461855
+8.345930327576286e-7 32769.997393420235
+8.359485769288012e-7 32106.939990157887
+8.373041210999737e-7 31455.987157891384
+8.386596652711464e-7 30816.947787499914
+8.400152094423189e-7 30189.6331923429
+8.413707536134916e-7 29573.85696771094
+8.427262977846641e-7 28969.4350366026
+8.440818419558367e-7 28376.18574139415
+8.454373861270093e-7 27793.929593562112
+8.467929302981819e-7 27222.489497586404
+8.481484744693545e-7 26661.69056631931
+8.495040186405271e-7 26111.36014569841
+8.508595628116996e-7 25571.32790989442
+8.522151069828723e-7 25041.4256672352
+8.535706511540449e-7 24521.487443919978
+8.549261953252176e-7 24011.349497529565
+8.562817394963901e-7 23510.850188037002
+8.576372836675627e-7 23019.83007806937
+8.589928278387353e-7 22538.131849802314
+8.603483720099078e-7 22065.600265147954
+8.617039161810806e-7 21602.082249952135
+8.630594603522531e-7 21147.426756364468
+8.644150045234256e-7 20701.484811332062
+8.657705486945982e-7 20264.109508190224
+8.671260928657709e-7 19835.15593868186
+8.684816370369435e-7 19414.481203655505
+8.69837181208116e-7 19001.944435359033
+8.711927253792885e-7 18597.406665837563
+8.725482695504613e-7 18200.730956841315
+8.739038137216339e-7 17811.782259698237
+8.752593578928065e-7 17430.42743886497
+8.76614902063979e-7 17056.535290307816
+8.779704462351515e-7 16689.976466354532
+8.793259904063243e-7 16330.623472815436
+8.806815345774968e-7 15978.350685451613
+8.820370787486694e-7 15633.03428718977
+8.833926229198419e-7 15294.55227594128
+8.847481670910146e-7 14962.784437330689
+8.861037112621872e-7 14637.61230690055
+8.874592554333597e-7 14318.919199424941
+8.888147996045323e-7 14006.590146697183
+8.90170343775705e-7 13700.511895392086
+8.915258879468775e-7 13400.572910020832
+8.928814321180502e-7 13106.663286333656
+8.942369762892227e-7 12818.67483654294
+8.955925204603955e-7 12536.500968761007
+8.96948064631568e-7 12260.036728893227
+8.983036088027405e-7 11989.178790491222
+8.996591529739131e-7 11723.825381533796
+9.010146971450858e-7 11463.876303298113
+9.023702413162584e-7 11209.232935692793
+9.037257854874309e-7 10959.798158475805
+9.050813296586034e-7 10715.476396493515
+9.064368738297762e-7 10476.173548936811
+9.077924180009487e-7 10241.79699855562
+9.091479621721213e-7 10012.255609548394
+9.105035063432938e-7 9787.459666673527
+9.118590505144665e-7 9567.320893289276
+9.132145946856391e-7 9351.752432815429
+9.145701388568117e-7 9140.66879908115
+9.159256830279843e-7 8933.985904008347
+9.17281227199157e-7 8731.621003609707
+9.186367713703295e-7 8533.492698364382
+9.199923155415021e-7 8339.520924828648
+9.213478597126746e-7 8149.626909761609
+9.227034038838474e-7 7963.733180586105
+9.240589480550199e-7 7781.763545774182
+9.254144922261924e-7 7603.643057727963
+9.26770036397365e-7 7429.29802928267
+9.281255805685377e-7 7258.655983027003
+9.294811247397103e-7 7091.645653748193
+9.308366689108828e-7 6928.196983076657
+9.321922130820553e-7 6768.241073718459
+9.335477572532281e-7 6611.7101981181395
+9.349033014244007e-7 6458.537781959782
+9.362588455955733e-7 6308.658371326655
+9.376143897667458e-7 6162.007624945398
+9.389699339379185e-7 6018.522316585097
+9.403254781090911e-7 5878.140292054212
+9.416810222802636e-7 5740.80047667296
+9.430365664514362e-7 5606.442844620453
+9.443921106226089e-7 5475.008407731548
+9.457476547937814e-7 5346.439213745302
+9.47103198964954e-7 5220.678312866692
+9.484587431361265e-7 5097.669752362702
+9.498142873072993e-7 4977.3585726715755
+9.511698314784718e-7 4859.690766654054
+9.525253756496443e-7 4744.613293439761
+9.53880919820817e-7 4632.0740498931345
+9.552364639919897e-7 4522.021851289021
+9.565920081631624e-7 4414.4064428656575
+9.579475523343348e-7 4309.178456300969
+9.593030965055072e-7 4206.289409967249
+9.606586406766799e-7 4105.6917021187655
+9.620141848478525e-7 4007.338586592401
+9.633697290190252e-7 3911.1841664995463
+9.647252731901978e-7 3817.1833771952215
+9.660808173613702e-7 3725.291976762165
+9.67436361532543e-7 3635.466533349787
+9.687919057037155e-7 3547.6644108125165
+9.701474498748882e-7 3461.843754759889
+9.715029940460606e-7 3377.9634904061313
+9.728585382172334e-7 3295.983293427674
+9.742140823884059e-7 3215.8635984847883
+9.755696265595785e-7 3137.5655699347108
+9.76925170730751e-7 3061.051095830513
+9.782807149019238e-7 2986.2827859367953
+9.796362590730962e-7 2913.2239458184877
+9.809918032442689e-7 2841.838571570272
+9.823473474154413e-7 2772.091344578196
+9.837028915866142e-7 2703.9476115318957
+9.850584357577866e-7 2637.3733754366776
+9.864139799289592e-7 2572.3352938461862
+9.877695241001319e-7 2508.8006544743407
+9.891250682713045e-7 2446.7373757456153
+9.904806124424772e-7 2386.1139916913244
+9.918361566136496e-7 2326.899639462429
+9.931917007848222e-7 2269.064056720908
+9.945472449559949e-7 2212.5775654780728
+9.959027891271675e-7 2157.4110630980804
+9.9725833329834e-7 2103.53601658781
+9.986138774695126e-7 2050.9244463554323
+9.999694216406852e-7 1999.5489250317764
+1.0013249658118579e-6 1949.3825611040045
+1.0026805099830303e-6 1900.3989915582029
+1.004036054154203e-6 1852.5723777448254
+1.0053915983253756e-6 1805.8773885058224
+1.0067471424965482e-6 1760.289195954828
+1.0081026866677209e-6 1715.7834689446963
+1.0094582308388933e-6 1672.3363585539425
+1.0108137750100662e-6 1629.9244955058377
+1.0121693191812386e-6 1588.524977825326
+1.0135248633524112e-6 1548.1153615964404
+1.0148804075235837e-6 1508.673660950576
+1.0162359516947565e-6 1470.1783291428183
+1.017591495865929e-6 1432.608258349341
+1.0189470400371016e-6 1395.9427694561812
+1.020302584208274e-6 1360.161603366946
+1.0216581283794469e-6 1325.2449163349222
+1.0230136725506193e-6 1291.1732689902617
+1.024369216721792e-6 1257.927621186744
+1.0257247608929646e-6 1225.4893256919834
+1.0270803050641372e-6 1193.8401184616994
+1.0284358492353099e-6 1162.9621121077553
+1.0297913934064823e-6 1132.8377929052206
+1.031146937577655e-6 1103.4500076589902
+1.0325024817488276e-6 1074.7819635115316
+1.0338580259200002e-6 1046.8172153022222
+1.0352135700911727e-6 1019.5396623257884
+1.0365691142623453e-6 992.9335439443158
+1.037924658433518e-6 966.9834287715884
+1.0392802026046906e-6 941.6742099631149
+1.040635746775863e-6 916.9911032145164
+1.0419912909470357e-6 892.9196339040019
+1.0433468351182083e-6 869.4456351949541
+1.044702379289381e-6 846.5552438944363
+1.0460579234605534e-6 824.2348891569852
+1.047413467631726e-6 802.4712936658875
+1.0487690118028987e-6 781.2514622384158
+1.0501245559740713e-6 760.5626788258675
+1.051480100145244e-6 740.3925024762948
+1.0528356443164164e-6 720.7287592941258
+1.054191188487589e-6 701.5595394071748
+1.0555467326587617e-6 682.8731914138566
+1.0569022768299343e-6 664.6583154469545
+1.0582578210011067e-6 646.9037619244438
+1.0596133651722794e-6 629.5986230373164
+1.060968909343452e-6 612.7322297470363
+1.0623244535146247e-6 596.2941479833313
+1.063679997685797e-6 580.2741716571336
+1.0650355418569697e-6 564.6623195904847
+1.0663910860281424e-6 549.448832017994
+1.067746630199315e-6 534.6241630426532
+1.0691021743704877e-6 520.1789805821421
+1.07045771854166e-6 506.10415821632625
+1.071813262712833e-6 492.39077313245997
+1.0731688068840054e-6 479.03010210342893
+1.074524351055178e-6 466.0136163308222
+1.0758798952263505e-6 453.33297816030245
+1.0772354393975233e-6 440.98003798951873
+1.0785909835686957e-6 428.94682848681487
+1.0799465277398684e-6 417.2255631324409
+1.0813020719110408e-6 405.80863052776283
+1.0826576160822137e-6 394.68859180861523
+1.084013160253386e-6 383.85817757220383
+1.0853687044245587e-6 373.310283359587
+1.0867242485957314e-6 363.03796629113486
+1.088079792766904e-6 353.03444283971794
+1.0894353369380767e-6 343.2930842056547
+1.090790881109249e-6 333.8074135803302
+1.0921464252804217e-6 324.57110397118566
+1.0935019694515944e-6 315.57797278245636
+1.094857513622767e-6 306.8219812819774
+1.0962130577939395e-6 298.2972297662281
+1.097568601965112e-6 289.99795506816093
+1.0989241461362847e-6 281.91852884034705
+1.1002796903074574e-6 274.0534529059327
+1.1016352344786298e-6 266.39735726097126
+1.1029907786498025e-6 258.94499807176413
+1.104346322820975e-6 251.69125361542118
+1.1057018669921477e-6 244.6311227360315
+1.1070574111633204e-6 237.75972172305362
+1.1084129553344928e-6 231.0722817957374
+1.1097684995056657e-6 224.5641470341559
+1.111124043676838e-6 218.2307713454665
+1.1124795878480107e-6 212.06771638348394
+1.1138351320191832e-6 206.07064956991465
+1.115190676190356e-6 200.2353408773392
+1.1165462203615285e-6 194.55766163814675
+1.117901764532701e-6 189.03358144516102
+1.1192573087038735e-6 183.6591663144407
+1.1206128528750464e-6 178.43057688381714
+1.1219683970462188e-6 173.34406589400282
+1.1233239412173915e-6 168.39597620970596
+1.1246794853885639e-6 163.58273912148988
+1.1260350295597367e-6 158.90087191024756
+1.1273905737309092e-6 154.346976391679
+1.1287461179020818e-6 149.9177367750093
+1.1301016620732545e-6 145.6099176384049
+1.131457206244427e-6 141.42036276235314
+1.1328127504155997e-6 137.34599263682688
+1.1341682945867722e-6 133.38380300370505
+1.1355238387579448e-6 129.5308633898696
+1.1368793829291173e-6 125.78431509225013
+1.13823492710029e-6 122.14136978144757
+1.1395904712714625e-6 118.59930770853215
+1.1409460154426352e-6 115.1554761816284
+1.1423015596138076e-6 111.80728826692867
+1.1436571037849805e-6 108.55222104083404
+1.1450126479561529e-6 105.38781404759455
+1.1463681921273255e-6 102.31166824129123
+1.1477237362984982e-6 99.32144408751242
+1.1490792804696708e-6 96.41486055847261
+1.1504348246408435e-6 93.58969361998274
+1.151790368812016e-6 90.843774934491
+1.1531459129831885e-6 88.1749906323054
+1.1545014571543612e-6 85.58127981676846
+1.1558570013255338e-6 83.06063359802857
+1.1572125454967063e-6 80.61109378002533
+1.158568089667879e-6 78.23075154976873
+1.1599236338390515e-6 75.91774648220293
+1.1612791780102242e-6 73.67026541099598
+1.1626347221813966e-6 71.48654106801472
+1.1639902663525693e-6 69.36485135115863
+1.165345810523742e-6 67.30351789026012
+1.1667013546949145e-6 65.3009053267517
+1.1680568988660872e-6 63.35542011197761
+1.1694124430372596e-6 61.465509498106464
+1.1707679872084325e-6 59.6296606285396
+1.172123531379605e-6 57.84639960902659
+1.1734790755507775e-6 56.11429046703099
+1.17483461972195e-6 54.43193438398016
+1.1761901638931228e-6 52.79796862863538
+1.1775457080642953e-6 51.21106574724614
+1.178901252235468e-6 49.66993286295474
+1.1802567964066403e-6 48.17331057733902
+1.1816123405778132e-6 46.71997234928512
+1.1829678847489856e-6 45.308723652422294
+1.1843234289201583e-6 43.938401068740546
+1.1856789730913307e-6 42.6078717664304
+1.1870345172625035e-6 41.316032514407304
+1.188390061433676e-6 40.061809078951946
+1.1897456056048486e-6 38.84415552696488
+1.1911011497760213e-6 37.66205344711276
+1.192456693947194e-6 36.51451129335241
+1.1938122381183665e-6 35.40056380260863
+1.195167782289539e-6 34.31927123080814
+1.1965233264607116e-6 33.269718749669074
+1.1978788706318843e-6 32.25101590159933
+1.199234414803057e-6 31.2622958738747
+1.2005899589742293e-6 30.30271502184022
+1.201945503145402e-6 29.371452177984747
+1.2033010473165746e-6 28.467708152189545
+1.2046565914877473e-6 27.590705219857956
+1.2060121356589197e-6 26.739686473715516
+1.2073676798300923e-6 25.91391536440892
+1.208723224001265e-6 25.112675222714845
+1.2100787681724376e-6 24.335268639724557
+1.2114343123436103e-6 23.581017129485407
+1.2127898565147827e-6 22.849260505154785
+1.2141454006859555e-6 22.1393564707074
+1.215500944857128e-6 21.450680229711015
+1.2168564890283006e-6 20.78262391475915
+1.218212033199473e-6 20.134596217265084
+1.2195675773706457e-6 19.506022026107352
+1.2209231215418183e-6 18.896341859912045
+1.222278665712991e-6 18.305011622669323
+1.2236342098841634e-6 17.73150207681679
+1.224989754055336e-6 17.175298535404036
+1.2263452982265087e-6 16.635900495273468
+1.2277008423976813e-6 16.11282119614218
+1.229056386568854e-6 15.605587315872068
+1.2304119307400264e-6 15.113738638299168
+1.2317674749111993e-6 14.636827645069106
+1.2331230190823717e-6 14.174419252839591
+1.2344785632535443e-6 13.72609044918858
+1.2358341074247168e-6 13.291429970207364
+1.2371896515958896e-6 12.87003802261896
+1.238545195767062e-6 12.461525960733372
+1.2399007399382347e-6 12.06551597767895
+1.2412562841094071e-6 11.68164087135219
+1.24261182828058e-6 11.30954369674609
+1.2439673724517524e-6 10.948877558771665
+1.245322916622925e-6 10.599305282537053
+1.2466784607940975e-6 10.260499199949015
+1.2480340049652703e-6 9.932140886976232
+1.2493895491364428e-6 9.613920908862967
+1.2507450933076154e-6 9.305538570655534
+1.252100637478788e-6 9.006701713982007
+1.2534561816499607e-6 8.717126459119767
+1.2548117258211333e-6 8.436536979370464
+1.2561672699923058e-6 8.164665326846032
+1.2575228141634784e-6 7.901251158371478
+1.258878358334651e-6 7.646041589727608
+1.2602339025058237e-6 7.398790945380531
+1.2615894466769961e-6 7.159260581731632
+1.2629449908481688e-6 6.92721871540456
+1.2643005350193414e-6 6.702440202167063
+1.265656079190514e-6 6.484706374342239
+1.2670116233616865e-6 6.273804874711307
+1.2683671675328591e-6 6.069529451705337
+1.2697227117040318e-6 5.87167982707672
+1.2710782558752044e-6 5.680061507089557
+1.272433800046377e-6 5.494485632967679
+1.2737893442175495e-6 5.314768835039579
+1.2751448883887223e-6 5.14073306327273
+1.2765004325598948e-6 4.972205443899385
+1.2778559767310674e-6 4.809018153721129
+1.2792115209022398e-6 4.6510082574167
+1.2805670650734127e-6 4.498017588938269
+1.2819226092445851e-6 4.3498926070113475
+1.2832781534157578e-6 4.206484270086779
+1.2846336975869302e-6 4.0676479180636544
+1.285989241758103e-6 3.9332431341870255
+1.2873447859292755e-6 3.803133642770031
+1.2887003301004481e-6 3.6771871856714418
+1.2900558742716208e-6 3.555275405023849
+1.2914114184427934e-6 3.4372737427657585
+1.292766962613966e-6 3.3230613279693886
+1.2941225067851385e-6 3.2125208688882445
+1.2954780509563111e-6 3.1055385664765156
+1.2968335951274838e-6 3.0020039968805317
+1.2981891392986564e-6 2.9018100263731013
+1.2995446834698288e-6 2.8048527219026274
+1.3009002276410015e-6 2.711031243631842
+1.3022557718121741e-6 2.6202477812338225
+1.3036113159833468e-6 2.532407441460517
+1.3049668601545192e-6 2.447418181126756
+1.3063224043256918e-6 2.365190724979127
+1.3076779484968643e-6 2.2856384772488094
+1.3090334926680371e-6 2.208677453746888
+1.3103890368392096e-6 2.134226201996599
+1.3117445810103822e-6 2.062205729496611
+1.3131001251815548e-6 1.992539431253434
+1.3144556693527275e-6 1.9251530263065855
+1.3158112135239001e-6 1.8599744810717989
+1.3171667576950726e-6 1.7969339557361503
+1.3185223018662452e-6 1.735963729736706
+1.3198778460374178e-6 1.676998144559731
+1.3212333902085905e-6 1.6199735478028379
+1.322588934379763e-6 1.564828228267148
+1.3239444785509356e-6 1.5115023615007033
+1.3253000227221082e-6 1.459937957214932
+1.3266555668932808e-6 1.4100787995895616
+1.3280111110644533e-6 1.3618704032169018
+1.329366655235626e-6 1.3152599550760518
+1.3307221994067986e-6 1.270196267611547
+1.3320777435779712e-6 1.2266297349015733
+1.3334332877491438e-6 1.184512278960449
+1.3347888319203163e-6 1.143797309057644
+1.3361443760914891e-6 1.104439677830118
+1.3374999202626616e-6 1.0663956351257053
+1.3388554644338342e-6 1.029622792231997
+1.3402110086050066e-6 0.9940800741879839
+1.3415665527761795e-6 0.9597276857310226
+1.342922096947352e-6 0.926527073407961
+1.3442776411185246e-6 0.8944408842200574
+1.345633185289697e-6 0.8634329333149281
+1.3469887294608698e-6 0.8334681694824176
+1.3483442736320423e-6 0.8045126373104587
+1.349699817803215e-6 0.7765334480825048
+1.3510553619743876e-6 0.7494987459778506
+1.3524109061455602e-6 0.723377675710021
+1.3537664503167328e-6 0.6981403569064962
+1.3551219944879053e-6 0.6737578489845168
+1.356477538659078e-6 0.6502021255010468
+1.3578330828302506e-6 0.6274460473576229
+1.3591886270014232e-6 0.6054633338879993
\ No newline at end of file
diff --git a/ecell4/egfrd/legacy/samples/reversible/p_rev.math b/ecell4/egfrd/legacy/samples/reversible/p_rev.math
new file mode 100644
index 0000000..1b67e25
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/reversible/p_rev.math
@@ -0,0 +1,48 @@
+NA = 6.0221367 10^23;
+Dtot = 2 10^-12;
+kd = 0.1 / tau;
+sigma = 5 10^-9;
+kf = 100 * sigma * Dtot;
+kD = 4*Pi*sigma*Dtot;
+h = (1 + kf/kD)*Sqrt[Dtot]/sigma;
+a = kd*Sqrt[Dtot]/sigma;
+r0 = sigma;
+tau = sigma^2 / Dtot;
+maxr = 3.5 Sqrt[ 6 Dtot t] + sigma;
+
+sol =
+ N[Solve[{x + y + z == h, x*y + y*z + x*z == kd, x*y*z == a}, {x, y,
+ z}]];
+alpha = sol[[1, 1, 2]];
+beta = sol[[1, 2, 2]];
+gamma = sol[[1, 3, 2]];
+
+W[x_, y_] := Exp[2*x*y + y^2]*Erfc[x + y];
+frac[x_, y_, z_] := (x*(z + x)*(x + y))/((z - x)*(x - y));
+coeff[r_] := 1/(4*Pi*r*r0*Sqrt[Dtot]);
+term1[r_] :=
+ 1/Sqrt[4*Pi*t]*(Exp[-(r - r0)^2/(4*Dtot*t)] +
+ Exp[-(r + r0 - 2*sigma)^2/(4*Dtot*t)]);
+term2[r_] :=
+ frac[alpha, beta, gamma]*
+ W[(r + r0 - 2*sigma)/(Sqrt[4*Dtot*t]), alpha*Sqrt[t]];
+term3[r_] :=
+ frac[beta, gamma, alpha]*
+ W[(r + r0 - 2*sigma)/(Sqrt[4*Dtot*t]), beta*Sqrt[t]];
+term4[r_] :=
+ frac[gamma, alpha, beta]*
+ W[(r + r0 - 2*sigma)/(Sqrt[4*Dtot*t]), gamma*Sqrt[t]];
+
+f[r_] :=
+ 4*Pi*r^2*Re[coeff[r]*(term1[r] + term2[r] + term3[r] + term4[r])];
+
+out = Table[{r, f[r]}, {r, sigma, maxr, (maxr - sigma) / 1000}]
+
+Export["p_rev.-3.tsv", out /. t -> tau 10^-3 // N]
+Export["p_rev.-2.tsv", out /. t -> tau 10^-2 // N]
+Export["p_rev.-1.tsv", out /. t -> tau 10^-1 // N]
+Export["p_rev.0.tsv", out /. t -> tau 10^0 // N]
+Export["p_rev.1.tsv", out /. t -> tau 10^1 // N]
+Export["p_rev.2.tsv", out /. t -> tau 10^2 // N]
+Export["p_rev.3.tsv", out /. t -> tau 10^3 // N]
+
diff --git a/ecell4/egfrd/legacy/samples/reversible/p_rev.py b/ecell4/egfrd/legacy/samples/reversible/p_rev.py
new file mode 100644
index 0000000..454a8c4
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/reversible/p_rev.py
@@ -0,0 +1,44 @@
+#!/usr/bin/env python
+
+import math
+import numpy
+
+import _gfrd
+
+
+
+def p_rev(r, t, r0, kf, D, sigma):
+
+ jacobian = 4.0 * numpy.pi * r * r
+
+
+
+
+
+
+
+
+
+
+'''
+x + y + z - h == 0
+x * y + y * z + x * z - kd == 0
+x * y * z - a == 0
+'''
+
+class Func:
+
+ def __init__(self, h, kd, a):
+ self.h = h
+ self.kd = kd
+ self.a = a
+
+ def __call__(self, x):
+ h = self.h
+ kd = self.kd
+ a = self.a
+
+ result = numpy.array([x[0] + x[1] + x[2] - h,
+ x[0] * x[1] + x[1] * x[2] + x[0] * x[2] - kd,
+ x[0] * x[1] * x[2] - a])
+ return result
diff --git a/ecell4/egfrd/legacy/samples/reversible/p_rev.tsv b/ecell4/egfrd/legacy/samples/reversible/p_rev.tsv
new file mode 100644
index 0000000..a356232
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/reversible/p_rev.tsv
@@ -0,0 +1,101 @@
+1.e-7 81664.26441006205
+1.24e-7 124462.8669826985
+1.48e-7 175026.05469060154
+1.72e-7 232527.78785916264
+1.96e-7 296036.5631623227
+2.2e-7 364534.2289759628
+2.44e-7 436936.2481779634
+2.68e-7 512112.9092828991
+2.92e-7 588910.9740114853
+3.16e-7 666175.2512953413
+3.4e-7 742769.603857046
+3.64e-7 817596.9229768722
+3.88e-7 889617.6485445942
+4.12e-7 957866.463328596
+4.36e-7 1.0214668506253557e6
+4.6e-7 1.07964327093221e6
+4.84e-7 1.1317307837430683e6
+5.08e-7 1.177182012700443e6
+5.32e-7 1.2155714238941495e6
+5.56e-7 1.2465969559486695e6
+5.8e-7 1.2700791047544663e6
+6.04e-7 1.2859576235945728e6
+6.28e-7 1.2942860496074546e6
+6.52e-7 1.2952243089634373e6
+6.76e-7 1.2890296851007883e6
+7.e-7 1.2760464565175585e6
+7.24e-7 1.2566945229269825e6
+7.48e-7 1.2314573413637318e6
+7.72e-7 1.2008694876645182e6
+7.96e-7 1.165504144476028e6
+8.2e-7 1.1259607955999463e6
+8.44e-7 1.0828533792565204e6
+8.68e-7 1.0367991210052299e6
+8.92e-7 988408.2319361388
+9.16e-7 938274.6206446167
+9.4e-7 886967.7296986296
+9.64e-7 835025.5699712578
+9.88e-7 782948.9903977952
+1.012e-6 731197.1873298392
+1.036e-6 680184.4274394098
+1.06e-6 630277.9316415342
+1.084e-6 581796.8451434226
+1.108e-6 535012.2007129876
+1.132e-6 490147.7686459617
+1.156e-6 447381.67761379416
+1.18e-6 406848.68537831475
+1.204e-6 368642.97694651765
+1.228e-6 332821.36970765336
+1.252e-6 299406.80998573196
+1.276e-6 268392.05275716266
+1.3e-6 239743.4255144006
+1.324e-6 213404.58789555862
+1.348e-6 189300.2102604619
+1.372e-6 167339.5064245126
+1.396e-6 147419.56785637353
+1.42e-6 129428.45845119492
+1.444e-6 113248.04021104555
+1.468e-6 98756.51056364021
+1.492e-6 85830.64145045851
+1.516e-6 74347.71859680182
+1.54e-6 64187.18646953547
+1.564e-6 55232.010312434155
+1.588e-6 47369.771342604705
+1.612e-6 40493.514747049005
+1.636e-6 34502.372615297485
+1.66e-6 29301.9854810445
+1.684e-6 24804.746835447215
+1.708e-6 20929.894936884575
+1.732e-6 17603.475598861132
+1.756e-6 14758.198509236681
+1.78e-6 12333.208134520715
+1.804e-6 10273.788498280419
+1.828e-6 8531.019188172768
+1.852e-6 7061.39792517701
+1.876e-6 5826.442992496548
+1.9e-6 4792.286828894938
+1.924e-6 3929.270188537376
+1.948e-6 3211.544491860245
+1.972e-6 2616.6883643936944
+1.996e-6 2125.3428983805015
+2.02e-6 1720.8688831058164
+2.044e-6 1389.0281350550902
+2.068e-6 1117.6901139728748
+2.092e-6 896.5642270624867
+2.116e-6 716.9575893606276
+2.14e-6 571.5575101097127
+2.164e-6 454.23759790265206
+2.188e-6 359.88610620139684
+2.212e-6 284.25496035084416
+2.236e-6 223.82780283165462
+2.26e-6 175.70535154076077
+2.284e-6 137.50637383596273
+2.308e-6 107.2826257102199
+2.332e-6 83.44618091778996
+2.356e-6 64.70767067914709
+2.38e-6 50.02406359566567
+2.404e-6 38.55473171410223
+2.428e-6 29.624667549881643
+2.452e-6 22.693834595381553
+2.476e-6 17.331747598760643
+2.5e-6 13.196486674991993
\ No newline at end of file
diff --git a/ecell4/egfrd/legacy/samples/reversible/plot.py b/ecell4/egfrd/legacy/samples/reversible/plot.py
new file mode 100644
index 0000000..c96bbd8
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/reversible/plot.py
@@ -0,0 +1,108 @@
+#!/usr/bin/env/python
+
+# PYTHONPATH=../.. python plot.py rev.-2.out p_rev.-2.tsv 0.000000125 rev.-1.out p_rev.-1.tsv 0.00000125 rev.0.out p_rev.0.tsv 0.0000125 rev.1.out p_rev.1.tsv 0.000125 rev.2.out p_rev.2.tsv 0.00125 rev.3.out p_rev.3.tsv 0.0125
+
+# rev.-3.out p_rev.-3.tsv 0.0000000125
+
+import sys
+
+import numpy
+import scipy.io
+from matplotlib.pylab import *
+
+#import _gfrd
+
+infilename = sys.argv[1]
+
+
+N_A = 6.0221367e23
+
+sigma = 5e-9
+
+#r0 = sigma
+D_tot = 2e-12
+#kf = 10 * sigma * D
+
+tau = sigma*sigma / D_tot
+rmin = sigma
+
+
+def load_data(filename):
+ infile = open(filename)
+ data = array([float(x) for x in infile.read().split()], numpy.float)
+ infile.close()
+
+ return data
+
+def plot_sol(filename, t):
+
+ rmax = 3.1 * math.sqrt(6 * D_tot * t) + rmin
+
+ data = scipy.io.read_array(filename)
+ rarray, parray = numpy.transpose(data)
+ mask = numpy.less_equal(rarray, rmax)
+ rarray = numpy.compress(mask, rarray)
+ parray = numpy.compress(mask, parray)
+
+ return loglog(rarray / sigma, parray * sigma, 'k-')[0]
+
+
+
+def plot_hist(data, T, i):
+
+ bins = 30
+
+ nonreactions = numpy.compress(data >= sigma, data)
+ print 'max', max(nonreactions)
+ hist, r = numpy.histogram(numpy.log(nonreactions),
+ bins=bins)
+ r = r[:-1] # new numpy.histogram returns len(r)=len(hist)+1
+ histsum = hist.sum()
+ S_sim = float(len(nonreactions)) / len(data)
+ print 'S_sim', S_sim
+ hist = hist.astype(numpy.float)
+
+ r = numpy.concatenate([r, [r[-1] - r[-2]]])
+ r = numpy.exp(r)
+
+ xticks = r[1:]-r[:-1]
+ hist /= len(data) * xticks
+
+ r = r[:-1] + (xticks * .5)
+ #print 'x', x
+ #pStyles = ['o', '^', 'v', '<', '>', 's', '+']
+ colors = ['b', 'g', 'r', 'c', 'm', 'y', 'k']
+
+ loglog(r / sigma, hist * sigma, colors[i] + 'o',
+ label=r'$T = \tau^{%d}$' % round(math.log10(T/tau)))
+
+
+
+if __name__ == '__main__':
+
+ axes([.14,.15,.84,.82])
+
+ for i in range(len(sys.argv[1:])/3):
+ simfilename = sys.argv[i*3+1]
+ solfilename = sys.argv[i*3+2]
+ T = float(sys.argv[i*3+3])
+ print simfilename,solfilename,T
+ data = load_data(simfilename)
+ plot_hist(data, T, i)
+ solline = plot_sol(solfilename, T)
+
+
+ xlabel(r'$r / \sigma$', size=28)
+ ylabel(r'$p_{rev}$', size=28)
+
+ xlim(0.9, 2.2e2)
+ ylim(2e-6, 2e1)
+ xticks([1, 10, 100], ['1', '10', '100'], size=22)
+ yticks(size=18)
+ solline.set_label(r'theory')
+ #legend(handlelen=0.02, pad=0.02,handletextsep=0.01, labelsep=0.001)
+ #grid()
+ savefig('rev.eps')
+ show()
+
+
diff --git a/ecell4/egfrd/legacy/samples/reversible/run.py b/ecell4/egfrd/legacy/samples/reversible/run.py
new file mode 100644
index 0000000..9bfd67a
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/reversible/run.py
@@ -0,0 +1,90 @@
+#!/usr/bin/env python
+
+'''
+LOGLEVEL=ERROR PYTHONPATH=../.. python -O run.py rev.3.out 1.25e-2 5000000 &
+LOGLEVEL=ERROR PYTHONPATH=../.. python -O run.py rev.2.out 1.25e-3 4000000 &
+LOGLEVEL=ERROR PYTHONPATH=../.. python -O run.py rev.1.out 1.25e-4 2000000 &
+LOGLEVEL=ERROR PYTHONPATH=../.. python -O run.py rev.0.out 1.25e-5 2000000 &
+LOGLEVEL=ERROR PYTHONPATH=../.. python -O run.py rev.-1.out 1.25e-6 2000000 &
+LOGLEVEL=ERROR PYTHONPATH=../.. python -O run.py rev.-2.out 1.25e-7 2000000 &
+LOGLEVEL=ERROR PYTHONPATH=../.. python -O run.py rev.-3.out 1.25e-8 1000000 &
+'''
+
+import sys
+from egfrd import *
+from bd import *
+import model
+import gfrdbase
+import _gfrd
+
+def run(outfilename, T, N):
+ print outfilename
+
+ outfile = open(outfilename, 'w')
+
+ for i in xrange(N):
+ d, t = singlerun(T)
+ outfile.write('%.18g\n' % d)
+ outfile.flush()
+ #print d, t
+ assert d == 0 or t == T
+
+ outfile.close()
+
+
+
+def singlerun(T):
+
+ sigma = 5e-9
+ r0 = sigma
+ D = 1e-12
+ D_tot = D * 2
+
+ tau = sigma * sigma / D_tot
+
+ kf = 100 * sigma * D_tot
+ koff = 0.1 / tau
+
+ m = model.ParticleModel(1e-3)
+
+ A = model.Species('A', D, sigma/2)
+ B = model.Species('B', D, sigma/2)
+ C = model.Species('C', D, sigma/2)
+
+ m.add_species_type(A)
+ m.add_species_type(B)
+ m.add_species_type(C)
+
+ r1 = model.create_binding_reaction_rule(A, B, C, kf)
+ m.network_rules.add_reaction_rule(r1)
+
+ r2 = model.create_unbinding_reaction_rule(C, A, B, koff)
+ m.network_rules.add_reaction_rule(r2)
+
+ w = gfrdbase.create_world(m, 3)
+ nrw = _gfrd.NetworkRulesWrapper(m.network_rules)
+ s = _gfrd._EGFRDSimulator(w, nrw, myrandom.rng)
+
+ place_particle(w, A, [0,0,0])
+ place_particle(w, B,
+ [(float(A['radius']) + float(B['radius']))+1e-23,
+ 0,0])
+
+ end_time = T
+
+ while s.step(end_time):
+ pass
+
+ if len(s.world.get_particle_ids(C.id)) != 0:
+ return 0, s.t
+
+ pid1 = list(s.world.get_particle_ids(A.id))[0]
+ pid2 = list(s.world.get_particle_ids(B.id))[0]
+ p1 = s.world.get_particle(pid1)[1]
+ p2 = s.world.get_particle(pid2)[1]
+ distance = w.distance(p1.position, p2.position)
+
+ return distance, s.t
+
+if __name__ == '__main__':
+ run(sys.argv[1], float(sys.argv[2]), int(sys.argv[3]))
diff --git a/ecell4/egfrd/legacy/samples/simple/simple.py b/ecell4/egfrd/legacy/samples/simple/simple.py
new file mode 100644
index 0000000..78e74cd
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/simple/simple.py
@@ -0,0 +1,30 @@
+#!/usr/bin/env python
+
+from egfrd import *
+
+from logger import *
+import sys
+
+size = 1e-6
+w = World(size, 3)
+s = EGFRDSimulator(w)
+
+
+box1 = CuboidalRegion([0,0,0],[size,size,size])
+# not supported yet
+#s.add_surface(box1)
+
+#P = Species('P', 1e-12, 5e-8)
+P = Species('P', 1e-12, 3e-9) #hemo
+s.add_species(P)
+
+s.set_all_repulsive()
+
+s.throw_in_particles(P, 60, box1)
+
+l = Logger('simple')
+interrupter = FixedIntervalInterrupter(s, 3.33e-4, l)
+
+l.start(s)
+while s.t < .1:
+ interrupter.step()
diff --git a/ecell4/egfrd/legacy/samples/single/plot.py b/ecell4/egfrd/legacy/samples/single/plot.py
new file mode 100644
index 0000000..abd8468
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/single/plot.py
@@ -0,0 +1,71 @@
+#!/usr/bin/env/python
+
+'''
+
+'''
+
+import sys
+
+import numpy
+import scipy.io
+from matplotlib.pylab import *
+
+
+import gfrdbase
+
+N_A = gfrdbase.N_A
+
+D = 1e-12
+
+
+def plot_sol(t, rmax):
+ rmin = 0
+
+ N = 100
+ rtick = (rmax - rmin) / N
+ rarray = numpy.mgrid[rmin:rmax:rtick]
+
+ parray = array([gfrdbase.p_free(r, t, D) for r in rarray])
+
+ print rarray, parray
+
+ plot(rarray, parray, 'b-')
+
+
+
+def plot_file(infilename, t, maxr):
+
+ bins = 20
+
+ infile = open(infilename)
+ data = array([float(x) for x in infile.read().split()], numpy.float)
+ infile.close()
+
+ hist, lower_edges = numpy.histogram(data, bins=bins,
+ range=[0, maxr])
+ print 'hist', hist
+
+ hist = hist.astype(numpy.float)
+
+ xtick = lower_edges[2]-lower_edges[1]
+ hist /= len(data) * xtick
+ x = lower_edges + (xtick * .5)
+
+ plot(x[: -1], hist, '.', label=infilename)
+
+
+if __name__ == '__main__':
+
+
+ for i in range(len(sys.argv[1:])/2):
+ filename = sys.argv[i*2+1]
+ t = float(sys.argv[i*2+2])
+
+ rmax = 3 * math.sqrt(6 * D * t)
+ plot_sol(t, rmax)
+ plot_file(filename, t, rmax)
+
+ legend()
+ show()
+
+
diff --git a/ecell4/egfrd/legacy/samples/single/run.py b/ecell4/egfrd/legacy/samples/single/run.py
new file mode 100644
index 0000000..b8d4e52
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/single/run.py
@@ -0,0 +1,74 @@
+#!/usr/bin/env python
+
+'''
+ PYTHONPATH=../.. python -O run.py single.0.out 5e-4 3e-8 100000
+'''
+
+
+
+from egfrd import *
+import sys
+import _gfrd
+import model
+import gfrdbase
+
+import myrandom
+
+
+def run(outfilename, T, S, N):
+ print outfilename
+
+ outfile = open(outfilename, 'w')
+
+ for i in range(N):
+ d, t = singlerun(T, S)
+ outfile.write('%g\n' % d)
+
+ #print i
+ assert t == T
+
+ outfile.close()
+
+
+
+def singlerun(T, S):
+
+ m = model.ParticleModel(1e-3)
+
+ A = model.Species('A', 1e-12, 5e-9)
+ m.add_species_type(A)
+
+ w = gfrdbase.create_world(m, 3)
+ nrw = gfrdbase.create_network_rules_wrapper(m)
+ # s = EGFRDSimulator(w, myrandom.rng, nrw)
+ # s.set_user_max_shell_size(S)
+ s = _gfrd._EGFRDSimulator(w, nrw, myrandom.rng, 1, 1e-5, S)
+
+ particleA = gfrdbase.place_particle(w, A, [0, 0, 0])
+
+ end_time = T
+ s.step()
+
+ while 1:
+ next_time = s.t + s.dt
+ if next_time > end_time:
+ # s.stop(end_time)
+ s.step(end_time)
+ break
+ s.step()
+
+ pos = w.get_particle(iter(w.get_particle_ids(A.id)).next())[1].position
+ distance = w.distance([0,0,0], pos)
+ return distance, s.t
+
+def first(x):
+ x = iter(x)
+ try:
+ return x.next()
+ except StopIteration, e:
+ return None
+
+if __name__ == '__main__':
+ run(sys.argv[1], float(sys.argv[2]), float(sys.argv[3]),
+ int(sys.argv[4]))
+
diff --git a/ecell4/egfrd/legacy/samples/tf/tf.py b/ecell4/egfrd/legacy/samples/tf/tf.py
new file mode 100644
index 0000000..9b12958
--- /dev/null
+++ b/ecell4/egfrd/legacy/samples/tf/tf.py
@@ -0,0 +1,83 @@
+#!/usr/bin/env python
+
+from egfrd import *
+
+from logger import *
+import sys
+import dumper
+
+w = World(1e-6, 3)
+s = EGFRDSimulator(w)
+
+box1 = CuboidalRegion([0,0,0],[1e-6,1e-6,1e-6])
+
+m = ParticleModel()
+O = m.new_species_type('O', 0, 1e-8)
+R = m.new_species_type('R', 1e-12, 1e-8)
+P = m.new_species_type('R', 1e-12, 1e-8)
+OR = m.new_species_type('OR', 0, 1e-8)
+ORp = m.new_species_type('ORp', 0, 1e-8)
+ORpa = m.new_species_type('ORpa', 0, 1e-8)
+T = m.new_species_type('T', 1e-12, 1e-8)
+M = m.new_species_type('M', 1e-12, 1e-8)
+Mribo = m.new_species_type('Mribo', 1e-12, 1e-8)
+#EMPTY = m.new_species_type('EMPTY', 2e-12, 5e-8)
+
+# 1 2 O + R <-> OR
+# 3 4 O <-> ORp
+# 5 ORp -> ORpa
+# 6 ORpa -> T + O
+# 7 M -> EMPTY
+# 8 M -> M + Mribo
+# 9 Mribo -> P
+# 10 P -> EMPTY
+
+
+k_fR = 6e9 * 1000 / N_A
+k_bR = 0.1 # 1 - 0.01
+k_f_rp = 38
+k_b_rp = 0.5
+k_OC = 1 # 0.3 - 3
+t_clear = 1 # should not be poisson
+t_elon = 50 # 50-100
+k_dm = 0.019
+k_ribo = 5 * k_dm
+k_dp = 2.4e-4
+t_trans = 30
+
+
+r1 = create_binding_reaction_rule(O, R, OR, k_fR)
+m.network_rules.add_reaction_rule(r1)
+r2 = create_unbinding_reaction_rule(OR, O, R, k_bR)
+m.network_rules.add_reaction_rule(r2)
+r3 = create_unimolecular_reaction_rule(O, ORp, k_f_rp)
+m.network_rules.add_reaction_rule(r3)
+r4 = create_unimolecular_reaction_rule(ORp, O, k_b_rp)
+m.network_rules.add_reaction_rule(r4)
+r5 = create_unimolecular_reaction_rule(ORp, ORpa, k_OC)
+m.network_rules.add_reaction_rule(r5)
+r6 = create_unbinding_reaction_rule(ORpa, T, O, 1/t_clear)
+m.network_rules.add_reaction_rule(r6)
+r7 = create_decay_reaction_rule(M, k_dm)
+m.network_rules.add_reaction_rule(r7)
+r8 = create_unbinding_reaction_rule(M, M, Mribo, k_ribo)
+m.network_rules.add_reaction_rule(r8)
+r9 = create_unimolecular_reaction_rule(Mribo, P, 1/t_trans)
+m.network_rules.add_reaction_rule(r9)
+r10 = create_decay_reaction_rule(P, k_dp)
+m.network_rules.add_reaction_rule(r10)
+
+s.set_model(m)
+
+s.place_particle(O, [0,0,0])
+
+#s.throw_in_particles(R, 50, box1)
+
+
+l = Logger('pushpull')
+interrupter = FixedIntervalInterrupter(s, 1e-3, l)
+
+l.start(s)
+while s.t < 1000:
+ interrupter.step()
+ dumper.dump_particles(s)
diff --git a/ecell4/egfrd/legacy/test/AllTests.cpp b/ecell4/egfrd/legacy/test/AllTests.cpp
new file mode 100644
index 0000000..21d8c97
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/AllTests.cpp
@@ -0,0 +1,3 @@
+
+
+// empty file
diff --git a/ecell4/egfrd/legacy/test/BDPropagator_test.cpp b/ecell4/egfrd/legacy/test/BDPropagator_test.cpp
new file mode 100644
index 0000000..8c675ad
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/BDPropagator_test.cpp
@@ -0,0 +1,162 @@
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif /* HAVE_CONFIG_H */
+
+#define BOOST_TEST_MODULE "BDPropagator"
+
+#include <boost/test/included/unit_test.hpp>
+
+#include "utils/range.hpp"
+#include "utils/pair.hpp"
+#include "MatrixSpace.hpp"
+#include "utils.hpp"
+#include "Sphere.hpp"
+#include "Cylinder.hpp"
+#include "Box.hpp"
+#include "Surface.hpp"
+#include "Region.hpp"
+#include "Plane.hpp"
+#include "BDPropagator.hpp"
+#include "NetworkRules.hpp"
+#include "Transaction.hpp"
+#include "World.hpp"
+#include "GSLRandomNumberGenerator.hpp"
+#include "BasicNetworkRulesImpl.hpp"
+#include "NetworkRulesWrapper.hpp"
+#include "ReactionRuleInfo.hpp"
+#include "ParticleSimulator.hpp"
+#include "ReactionRecorder.hpp"
+#include "VolumeClearer.hpp"
+
+struct Traits: ParticleSimulatorTraitsBase<World<CyclicWorldTraits<Real, Real> > >
+{};
+
+typedef ParticleSimulator<Traits> _ParticleSimulator;
+
+template<typename Tworld_, typename Trng_, typename Tpid_list_>
+void inject_particles(Tworld_& world, Trng_& rng, Tpid_list_& pid_list, typename Tworld_::species_id_type const& sid, int n)
+{
+ typedef typename Tworld_::particle_id_pair_and_distance_list particle_id_pair_list;
+ typedef typename Tworld_::particle_id_pair particle_id_pair;
+ typedef typename Tworld_::length_type length_type;
+ typedef typename Tworld_::particle_shape_type particle_shape_type;
+ typedef typename Tworld_::position_type position_type;
+ typedef typename Tworld_::species_type species_type;
+
+ species_type const& s(world.get_species(sid));
+
+ for (int i = 0; i < n; ++i)
+ {
+ particle_shape_type p(position_type(), s.radius());
+
+ for (;;)
+ {
+ p.position() = position_type(
+ rng.uniform(0, world.world_size()),
+ rng.uniform(0, world.world_size()),
+ rng.uniform(0, world.world_size()));
+ if (boost::scoped_ptr<particle_id_pair_list>(
+ world.check_overlap(p)) == 0)
+ {
+ break;
+ }
+ std::cerr << i << "th particle rejected" << std::endl;
+ }
+
+ particle_id_pair i(world.new_particle(sid, p.position()));
+ pid_list.push_back(i.first);
+ }
+}
+
+template<typename reaction_record_type>
+struct reaction_recorder: ReactionRecorder<reaction_record_type>
+{
+ reaction_recorder() {}
+ virtual ~reaction_recorder() {}
+ virtual void operator()(reaction_record_type const& rec) {}
+};
+
+template<typename particle_shape_type, typename particle_id_type>
+struct volume_clearer: VolumeClearer<particle_shape_type, particle_id_type>
+{
+ volume_clearer() {}
+ virtual ~volume_clearer() {}
+
+ virtual bool operator()(particle_shape_type const& shape, particle_id_type const& ignore)
+ {
+ return true;
+ }
+
+ virtual bool operator()(particle_shape_type const& shape, particle_id_type const& ignore0, particle_id_type const& ignore1)
+ {
+ return true;
+ }
+};
+
+BOOST_AUTO_TEST_CASE(instantiation)
+{
+ Traits::world_type::traits_type::rng_type rng;
+ BasicNetworkRulesImpl nr;
+ Traits::network_rules_type nrw(nr);
+ Traits::world_type w;
+ boost::scoped_ptr<Traits::world_type::transaction_type> tx(
+ w.create_transaction());
+ reaction_recorder<Traits::reaction_record_type> rr;
+ volume_clearer<Traits::world_type::particle_shape_type, Traits::world_type::particle_id_type> vc;
+ BDPropagator<Traits> bdp(
+ *tx, nrw, rng, 0.01, 100, &rr, &vc,
+ make_select_first_range(w.get_particles_range()));
+}
+
+BOOST_AUTO_TEST_CASE(basic)
+{
+ typedef Traits::world_type::species_id_type species_id;
+ typedef Traits::world_type::particle_id_type particle_id;
+ typedef Traits::world_type::species_type species;
+ typedef Traits::world_type::particle_id_pair_generator particle_id_pair_generator;
+ typedef Traits::network_rules_type::reaction_rule_type reaction_rule_type;
+ typedef Traits::world_type::position_type position_type;
+ SerialIDGenerator<species_id> sidgen;
+ Traits::world_type::traits_type::rng_type rng;
+ BasicNetworkRulesImpl nr;
+ Traits::network_rules_type nrw(nr);
+ Traits::world_type w(1e-5, 10);
+
+ species S0(sidgen(), 2e-11, 5e-8, "default");
+ species S1(sidgen(), 0, 1e-8, "default");
+ species S2(sidgen(), 2e-11, 5e-8, "default");
+ w.add_species(S0);
+ w.add_species(S1);
+ w.add_species(S2);
+
+ boost::shared_ptr<Traits::world_type::structure_type> default_surface(
+ new _ParticleSimulator::cuboidal_region_type("default",
+ _ParticleSimulator::box_type(position_type(1e-5 / 2, 1e-5 / 2, 1e-5 / 2),
+ array_gen(1e-5, 1e-5, 1e-5))));
+ w.add_structure(default_surface);
+
+ nr.add_reaction_rule(new_reaction_rule(S0.id(), S1.id(), array_gen(S2.id()), 1e-9));
+
+ std::vector<particle_id> S0_particles, S1_particles;
+ inject_particles(w, rng, S0_particles, S0.id(), 500);
+ inject_particles(w, rng, S1_particles, S1.id(), 500);
+ int num_of_moving_particles = 500;
+ int num_of_immobile_particles = 500;
+
+ reaction_recorder<Traits::reaction_record_type> rr;
+ volume_clearer<Traits::world_type::particle_shape_type, Traits::world_type::particle_id_type> vc;
+
+ for (int i = 1000; --i >= 0; ) {
+ boost::scoped_ptr<Traits::world_type::transaction_type> tx(w.create_transaction());
+ BDPropagator<Traits> prpg(*tx, nrw, rng, 5e-11, 100, &rr, &vc, make_select_first_range(w.get_particles_range()));
+ while (prpg());
+ boost::scoped_ptr<particle_id_pair_generator> added_particles(tx->get_added_particles());
+ boost::scoped_ptr<particle_id_pair_generator> removed_particles(tx->get_removed_particles());
+ boost::scoped_ptr<particle_id_pair_generator> modified_particles(tx->get_modified_particles());
+ BOOST_CHECK(count(*removed_particles) == 0 || count(*removed_particles) == 2);
+ BOOST_CHECK_EQUAL(num_of_moving_particles, count(*removed_particles) / 2 + count(*modified_particles) + prpg.get_rejected_move_count());
+ num_of_immobile_particles -= count(*removed_particles) / 2;
+ BOOST_CHECK_EQUAL(w.num_particles(), num_of_moving_particles + num_of_immobile_particles);
+ }
+}
+
diff --git a/ecell4/egfrd/legacy/test/BDSimulator_test.cpp b/ecell4/egfrd/legacy/test/BDSimulator_test.cpp
new file mode 100644
index 0000000..2e76a30
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/BDSimulator_test.cpp
@@ -0,0 +1,95 @@
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif /* HAVE_CONFIG_H */
+
+#define BOOST_TEST_MODULE "BDSimulator"
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif /* HAVE_CONFIG_H */
+
+#include <boost/test/included/unit_test.hpp>
+
+#include "BDSimulator.hpp"
+
+template<typename Tworld_, typename Trng_, typename Tpid_list_>
+void inject_particles(Tworld_& world, Trng_& rng, Tpid_list_& pid_list, typename Tworld_::species_id_type const& sid, int n)
+{
+ typedef typename Tworld_::particle_id_pair_list particle_id_pair_list;
+ typedef typename Tworld_::particle_id_pair particle_id_pair;
+ typedef typename Tworld_::length_type length_type;
+ typedef typename Tworld_::sphere_type sphere_type;
+ typedef typename Tworld_::position_type position_type;
+ typedef typename Tworld_::species_type species_type;
+ boost::uniform_real<Real> ur(0., world.world_size());
+
+ species_type const& s(world.get_species(sid));
+
+ for (int i = 0; i < n; ++i)
+ {
+ sphere_type p(position_type(), s.radius());
+
+ for (;;)
+ {
+ p.position() = position_type(ur(rng), ur(rng), ur(rng));
+ if (boost::scoped_ptr<particle_id_pair_list>(
+ world.check_overlap(p)) == 0)
+ {
+ break;
+ }
+ std::cerr << i << "th particle rejected" << std::endl;
+ }
+
+ particle_id_pair i(world.new_particle(sid, p.position()));
+ pid_list.push_back(i.first);
+ }
+}
+
+BOOST_AUTO_TEST_CASE(instantiation1)
+{
+ Model m;
+ BDSimulator<BDSimulatorTraits> bds(m);
+ bds.initialize();
+}
+
+BOOST_AUTO_TEST_CASE(initialization2)
+{
+ Model m;
+ m["world_size"] = "2.0";
+ m["matrix_size"] = "13";
+ Model::species_type_type& S0(m.new_species_type());
+ S0["name"] = "S0";
+ S0["D"] = "1e-11";
+ S0["radius"] = "5e-8";
+ Model::species_type_type& S1(m.new_species_type());
+ S1["name"] = "S1";
+ S1["D"] = "0";
+ S1["radius"] = "1e-8";
+ Model::species_type_type& S2(m.new_species_type());
+ S2["name"] = "S2";
+ S2["D"] = "2e-11";
+ S2["radius"] = "5e-8";
+ BDSimulator<BDSimulatorTraits> bds(m);
+ bds.initialize();
+ BOOST_CHECK_EQUAL(2.0, bds.get_world().world_size());
+ BOOST_CHECK_EQUAL(13, bds.get_world().matrix_size());
+ BOOST_CHECK_EQUAL(3, bds.get_world().get_species().size());
+ {
+ BDSimulatorTraits::world_type::species_type const& s(
+ bds.get_world().get_species(S0.id()));
+ BOOST_CHECK_EQUAL(1e-11, s.D());
+ BOOST_CHECK_EQUAL(5e-8, s.radius());
+ }
+ {
+ BDSimulatorTraits::world_type::species_type const& s(
+ bds.get_world().get_species(S1.id()));
+ BOOST_CHECK_EQUAL(0, s.D());
+ BOOST_CHECK_EQUAL(1e-8, s.radius());
+ }
+ {
+ BDSimulatorTraits::world_type::species_type const& s(
+ bds.get_world().get_species(S2.id()));
+ BOOST_CHECK_EQUAL(2e-11, s.D());
+ BOOST_CHECK_EQUAL(5e-8, s.radius());
+ }
+}
diff --git a/ecell4/egfrd/legacy/test/BDSimulator_test.py b/ecell4/egfrd/legacy/test/BDSimulator_test.py
new file mode 100755
index 0000000..7e80a02
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/BDSimulator_test.py
@@ -0,0 +1,85 @@
+#!/usr/bin/env python
+
+import unittest
+
+import numpy
+
+import model
+import _gfrd
+import gfrdbase
+import bd
+import logging
+import myrandom
+
+bd.log.setLevel(logging.WARNING)
+
+
+class BDSimulatorTestCase(unittest.TestCase):
+
+ def setUp(self):
+ self.m = model.ParticleModel(1e-5)
+ self.S = model.Species('S', 2e-11, 5e-8)
+ self.A = model.Species('A', 0, 1e-8)
+ self.B = model.Species('B', 2e-11, 5e-9)
+ self.m.add_species_type(self.S)
+ self.m.add_species_type(self.A)
+ self.m.add_species_type(self.B)
+ self.m.set_all_repulsive()
+ self.w = gfrdbase.create_world(self.m, 10)
+ self.nrw = _gfrd.NetworkRulesWrapper(self.m.network_rules)
+ self.s = bd.BDSimulator(self.w, myrandom.rng, self.nrw)
+
+ def tearDown(self):
+ pass
+
+ def test_instantiation(self):
+ self.failIf(self.s == None)
+
+
+ def test_one_particle(self):
+ gfrdbase.place_particle(self.w, self.S, [0.0,0.0,0.0])
+
+ t = self.s.t
+ for i in range(5):
+ self.s.step()
+ self.failIf(t == self.s.t)
+
+ def test_two_particles(self):
+ gfrdbase.place_particle(self.w, self.S, [0.0,0.0,0.0])
+ gfrdbase.place_particle(self.w, self.S, [5e-6,5e-6,5e-6])
+
+ t = self.s.t
+ for i in range(5):
+ self.s.step()
+ self.failIf(t == self.s.t)
+
+ def test_three_particles(self):
+ gfrdbase.place_particle(self.w, self.S, [0.0,0.0,0.0])
+ gfrdbase.place_particle(self.w, self.S, [5e-6,5e-6,5e-6])
+ gfrdbase.place_particle(self.w, self.S, [1e-7,1e-7,1e-7])
+
+ t = self.s.t
+ for i in range(5):
+ self.s.step()
+ self.failIf(t == self.s.t)
+
+ def test_immobile_is_immobile(self):
+ particleA = gfrdbase.place_particle(self.w, self.A, [0.0,0.0,0.0])
+ gfrdbase.place_particle(self.w, self.B, [1.5000001e-8,0.0,0.0])
+
+ initial_position = particleA[1].position
+
+ for i in range(10):
+ self.s.step()
+ #print particleA[1].position
+
+ new_position = particleA[1].position
+ dist = self.w.distance(initial_position, new_position)
+
+ self.failIf(dist != 0, 'initial pos: %s,\tnew pos: %s' %
+ (initial_position, new_position))
+
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/ecell4/egfrd/legacy/test/CylindricalBesselGenerator_test.cpp b/ecell4/egfrd/legacy/test/CylindricalBesselGenerator_test.cpp
new file mode 100644
index 0000000..0046ae0
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/CylindricalBesselGenerator_test.cpp
@@ -0,0 +1,84 @@
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif /* HAVE_CONFIG_H */
+
+#define BOOST_TEST_MODULE "CylindricalBesselGenerator"
+
+#include <boost/mpl/list.hpp>
+#include <boost/test/included/unit_test.hpp>
+#include <boost/test/test_case_template.hpp>
+#include <boost/test/floating_point_comparison.hpp>
+
+#include "CylindricalBesselGenerator.hpp"
+
+
+const unsigned int maxn(51);
+
+const CylindricalBesselGenerator&
+generator(CylindricalBesselGenerator::instance());
+
+
+const Real rel_tol(1e-5);
+const Real abs_tol(1e-11);
+
+
+
+#define CHECK_ERROR(n, z, a, b, abs_tol, rel_tol) \
+{\
+ const Real abs_error(fabs(a - b)); \
+ const Real rel_error(abs_error / fabs(a));\
+ BOOST_CHECK_MESSAGE(abs_error < abs_tol || \
+ rel_error < rel_tol, \
+ "n " << n \
+ << " z " << z \
+ << " abs error " << abs_error \
+ << " rel error " << rel_error);\
+}
+
+
+BOOST_AUTO_TEST_CASE(testJ)
+{
+ const UnsignedInteger resolution(300);
+ const Real maxz(std::max(1000., static_cast<Real>(maxn * maxn)) * 2);
+
+ for(UnsignedInteger i(0); i <= resolution; ++i)
+ {
+ const Real z(maxz * i / resolution);
+
+ for(UnsignedInteger n(0); n <= maxn; ++n)
+ {
+ const Real tJ(generator.J(n, z));
+ const Real J(gsl_sf_bessel_Jn(n, z));
+
+ //BOOST_CHECK_CLOSE( j, tj, TOLERANCE );
+ CHECK_ERROR(n, z, J, tJ, abs_tol, rel_tol);
+
+ //printf("%d %g\n",n,z);
+ }
+ }
+
+}
+
+
+BOOST_AUTO_TEST_CASE(testY)
+{
+ const UnsignedInteger resolution(300);
+ const Real maxz(std::max(1000., static_cast<Real>(maxn * maxn)) * 2);
+
+ // it is unstable around z==0, so we test for i in [1...resolution]
+ for(UnsignedInteger i(1); i <= resolution; ++i)
+ {
+ const Real z(maxz * i / resolution);
+
+ for(UnsignedInteger n(0); n <= maxn; ++n)
+ {
+ const Real tY(generator.Y(n, z));
+ const Real Y(gsl_sf_bessel_Yn(n, z));
+
+ CHECK_ERROR(n, z, Y, tY, abs_tol, rel_tol);
+
+ //printf("y %d %g\n",n,z);
+ }
+ }
+
+}
diff --git a/ecell4/egfrd/legacy/test/CylindricalShellContainer_test.py b/ecell4/egfrd/legacy/test/CylindricalShellContainer_test.py
new file mode 100755
index 0000000..bbb099a
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/CylindricalShellContainer_test.py
@@ -0,0 +1,81 @@
+#!/usr/bin/env python
+
+import unittest
+
+import numpy
+
+from _gfrd import *
+import math
+
+class CylindricalShellContainerTestCase(unittest.TestCase):
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testC1(self):
+ c = CylindricalShellContainer(1000, 3)
+ shell_id0 = ShellID(0,0)
+ c.update((shell_id0, CylindricalShell(DomainID(0,0), Cylinder([500, 500, 500], 50, [0,0,1], 50, ))))
+
+ # Distance to cylinder in z direction.
+ d = c.get_neighbors_within_radius([500, 500, 600], 75)
+ self.assertAlmostEqual(50, d[0][1])
+
+ # Cylinder update with same value.
+ c.update((shell_id0, CylindricalShell(DomainID(0,0), Cylinder([500, 500, 500], 50, [0,0,1], 50))))
+ d = c.get_neighbors_within_radius([500, 500, 600], 75)
+ self.assertAlmostEqual(50, d[0][1])
+
+ # Real update: longer cylinder.
+ c.update((shell_id0, CylindricalShell(DomainID(0,0), Cylinder([500, 500, 500], 50, [0,0,1], 75))))
+ d = c.get_neighbors_within_radius([500, 500, 600], 75)
+ self.assertAlmostEqual(25, d[0][1])
+
+
+ def testC2(self):
+ shell_id0 = ShellID(0,0)
+ c = CylindricalShellContainer(1000, 3)
+ c.update((shell_id0, CylindricalShell(DomainID(0,0), Cylinder([500, 500, 500], 50, [0,0,1], 50))))
+
+ # Distance to cylinder in radial direction.
+ d = c.get_neighbors([550, 550, 500])
+ self.assertAlmostEqual(math.sqrt(50**2 + 50**2) - 50, d[0][1])
+
+ # Distance to cylinder edge.
+ d = c.get_neighbors([500, 553, 554])
+ self.assertAlmostEqual(math.sqrt(3**2 + 4**2), d[0][1])
+
+
+ def testC3(self):
+ shell_id0 = ShellID(0,0)
+ c = CylindricalShellContainer(1000, 3)
+ c.update((shell_id0, CylindricalShell(DomainID(0,0), Cylinder([0, 0, 0], 50, [0,0,1], 50))))
+
+ # Using periodic boundary conditions.
+ # Distance to cylinder in radial direction.
+ d = c.get_neighbors([950, 950, 0])
+ self.assertAlmostEqual(math.sqrt(50**2 + 50**2) - 50, d[0][1])
+
+ # Distance to cylinder edge.
+ d = c.get_neighbors([0, 947, 946])
+ self.assertAlmostEqual(math.sqrt(3**2 + 4**2), d[0][1])
+
+
+ def testC4(self):
+ shell_id0 = ShellID(0,0)
+ c = CylindricalShellContainer(1000, 3)
+ c.update((shell_id0, CylindricalShell(DomainID(0,0), Cylinder([0, 0, 0], 100, [0,0,1], 100))))
+
+ d = c.get_neighbors([700, 0, 0])
+ self.assertAlmostEqual(200, d[0][1])
+
+ # Todo.
+ d = c.get_neighbors([600, 0, 0])
+ self.assertAlmostEqual(300, d[0][1])
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/ecell4/egfrd/legacy/test/CylindricalSurface_test.py b/ecell4/egfrd/legacy/test/CylindricalSurface_test.py
new file mode 100755
index 0000000..2faeb5f
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/CylindricalSurface_test.py
@@ -0,0 +1,59 @@
+#!/usr/bin/env python
+
+import unittest
+from egfrd import *
+import _gfrd
+import model
+import myrandom
+
+class CylindricalSurfaceTestCase(unittest.TestCase):
+ def setUp(self):
+ self.radius = 1
+ self.L = 10
+ self.world = _gfrd.World(self.L, 3)
+
+ # Random values.
+ self.r1 = 1.6
+ self.r2 = 2.1
+ self.r3 = 2.7
+ self.r4 = 4.2
+
+ def cylinder_at_position(self, z):
+ return model.create_cylindrical_surface('d',
+ [5, 5, z],
+ self.radius,
+ [0, 0, 1],
+ self.L)
+
+ def test_random_positions(self):
+ # For a cylinder along z-axis, position z should not matter.
+ for z in range(0, self.L):
+ d = self.cylinder_at_position(z)
+
+ positions = []
+ for i in range(100):
+ position = d.random_position(myrandom.rng)
+ position = apply_boundary(position, self.world.world_size)
+ positions.append(position)
+
+ average_position = numpy.average(positions, 0)
+ assert average_position[0] == 5
+ assert average_position[1] == 5
+ assert 4 < average_position[2] < 6
+
+ def test_projected_point(self):
+ d = self.cylinder_at_position(self.r1)
+ assert (d.projected_point([5, 2, 2])[0] == [5, 5, 2]).all()
+ assert d.projected_point([5, 2, 2])[1] == 3
+
+ def test_distance_to_cylinder(self):
+ d = self.cylinder_at_position(self.r1)
+
+ assert self.world.distance(d.shape, [7, 5, self.r2]) == 1
+
+ # Inside.
+ assert self.world.distance(d.shape, [5, 5, self.r3]) == -1
+
+if __name__ == "__main__":
+ unittest.main()
+
diff --git a/ecell4/egfrd/legacy/test/DynamicPriorityQueue_test.cpp b/ecell4/egfrd/legacy/test/DynamicPriorityQueue_test.cpp
new file mode 100644
index 0000000..bdd7a9f
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/DynamicPriorityQueue_test.cpp
@@ -0,0 +1,628 @@
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif /* HAVE_CONFIG_H */
+
+#define BOOST_TEST_MODULE "DynamicPriorityQueue"
+
+#include <boost/mpl/list.hpp>
+#include <boost/test/included/unit_test.hpp>
+#include <boost/test/test_case_template.hpp>
+
+#include "DynamicPriorityQueue.hpp"
+
+typedef DynamicPriorityQueue<int>::identifier_type identifier_type;
+typedef std::vector<identifier_type> identifier_vector;
+
+
+typedef DynamicPriorityQueue<int > IntegerDPQ;
+typedef DynamicPriorityQueue<int, std::less_equal<int>, volatile_id_policy<> > VolatileIntegerDPQ;
+typedef boost::mpl::list<IntegerDPQ, VolatileIntegerDPQ> both;
+typedef boost::mpl::list<IntegerDPQ> novolatile;
+
+BOOST_AUTO_TEST_CASE_TEMPLATE(testConstruction, DPQ, both)
+{
+ DPQ dpq;
+
+ BOOST_CHECK(dpq.empty());
+ BOOST_CHECK(dpq.check());
+}
+
+
+BOOST_AUTO_TEST_CASE_TEMPLATE(testClear, DPQ, both)
+{
+ DPQ dpq;
+ typedef typename DPQ::index_type Index;
+
+ dpq.push(1);
+ dpq.push(20);
+ dpq.push(50);
+
+ BOOST_CHECK_EQUAL(Index(3), dpq.size());
+
+ dpq.clear();
+
+ BOOST_CHECK(dpq.empty());
+ BOOST_CHECK(dpq.check());
+
+ dpq.push(2);
+ dpq.push(20);
+ dpq.push(30);
+
+ BOOST_CHECK_EQUAL(Index(3), dpq.size());
+
+ dpq.clear();
+
+ BOOST_CHECK(dpq.empty());
+ BOOST_CHECK(dpq.check());
+}
+
+
+BOOST_AUTO_TEST_CASE_TEMPLATE(testClear_manyItems, DPQ, both)
+{
+ DPQ dpq;
+ typedef typename DPQ::index_type Index;
+
+ for (int i(0); i < 70000; ++i)
+ {
+ dpq.push(i);
+ }
+
+ BOOST_CHECK(dpq.check());
+
+ dpq.clear();
+
+ BOOST_CHECK(dpq.empty());
+ BOOST_CHECK(dpq.check());
+
+ dpq.push(2);
+ dpq.push(20);
+ dpq.push(30);
+
+ BOOST_CHECK_EQUAL(Index(3), dpq.size());
+
+ dpq.clear();
+
+ BOOST_CHECK(dpq.empty());
+ BOOST_CHECK(dpq.check());
+}
+
+
+
+BOOST_AUTO_TEST_CASE_TEMPLATE(testPush, DPQ, both)
+{
+ DPQ dpq;
+
+ dpq.push(1);
+
+ BOOST_CHECK(dpq.check());
+ BOOST_CHECK(dpq.top().second == 1.0);
+}
+
+BOOST_AUTO_TEST_CASE_TEMPLATE(testPushPop, DPQ, both)
+{
+ DynamicPriorityQueue<double> dpq;
+
+ const identifier_type id(dpq.push(1));
+
+ BOOST_CHECK(dpq.check());
+ BOOST_CHECK(dpq.top().second == 1);
+
+ dpq.pop(id);
+
+ BOOST_CHECK(dpq.check());
+ BOOST_CHECK(dpq.empty());
+}
+
+
+BOOST_AUTO_TEST_CASE_TEMPLATE(testSecond01, DPQ, both)
+{
+ DPQ dpq;
+
+ BOOST_CHECK_THROW(dpq.second(), std::out_of_range);
+
+ dpq.push(4);
+
+ BOOST_CHECK_EQUAL(4, dpq.top().second);
+ BOOST_CHECK_THROW(dpq.second(), std::out_of_range);
+}
+
+BOOST_AUTO_TEST_CASE_TEMPLATE(testSecond2, DPQ, both)
+{
+ {
+ DPQ dpq;
+
+ dpq.push(1);
+ dpq.push(4);
+
+ BOOST_CHECK_EQUAL(1, dpq.top().second);
+ BOOST_CHECK_EQUAL(4, dpq.second().second);
+ }
+
+
+ {
+ DPQ dpq;
+
+ dpq.push(4);
+ dpq.push(1);
+
+ BOOST_CHECK_EQUAL(1, dpq.top().second);
+ BOOST_CHECK_EQUAL(4, dpq.second().second);
+ }
+}
+
+
+
+BOOST_AUTO_TEST_CASE_TEMPLATE(testSecondN, DPQ, both)
+{
+ DPQ dpq;
+
+ dpq.push(2);
+ dpq.push(4);
+ dpq.push(1);
+ dpq.push(5);
+
+
+ BOOST_CHECK_EQUAL(1, dpq.top().second);
+ BOOST_CHECK_EQUAL(2, dpq.second().second);
+
+ dpq.replace(std::make_pair(dpq.top().first, 3));
+
+ BOOST_CHECK(dpq.check());
+ BOOST_CHECK_EQUAL(2, dpq.top().second);
+ BOOST_CHECK_EQUAL(3, dpq.second().second);
+
+ dpq.pop();
+ BOOST_CHECK_EQUAL(3, dpq.top().second);
+ BOOST_CHECK_EQUAL(4, dpq.second().second);
+ dpq.pop();
+ BOOST_CHECK_EQUAL(4, dpq.top().second);
+ BOOST_CHECK_EQUAL(5, dpq.second().second);
+ dpq.pop();
+
+ BOOST_CHECK_EQUAL(5, dpq.top().second);
+ dpq.pop();
+
+ BOOST_CHECK(dpq.empty());
+ BOOST_CHECK(dpq.check());
+}
+
+BOOST_AUTO_TEST_CASE_TEMPLATE(testReplace1, DPQ, both)
+{
+ DPQ dpq;
+
+ dpq.push(5);
+ const identifier_type id(dpq.push(4));
+ dpq.push(3);
+ dpq.push(1);
+ BOOST_CHECK(dpq.check());
+
+ BOOST_CHECK_EQUAL(4, dpq.size());
+ BOOST_CHECK_EQUAL(1, dpq.top().second);
+
+ dpq.replace(std::make_pair(id, 2)); // 4->2 up
+
+ BOOST_CHECK(dpq.check());
+ BOOST_CHECK_EQUAL(4, dpq.size());
+
+ BOOST_CHECK_EQUAL(1, dpq.top().second);
+ dpq.pop();
+ BOOST_CHECK_EQUAL(2, dpq.top().second);
+ dpq.pop();
+ BOOST_CHECK_EQUAL(3, dpq.top().second);
+ dpq.pop();
+ BOOST_CHECK_EQUAL(5, dpq.top().second);
+ dpq.pop();
+
+ BOOST_CHECK(dpq.empty());
+ BOOST_CHECK(dpq.check());
+}
+
+BOOST_AUTO_TEST_CASE_TEMPLATE(testReplace2, DPQ, both)
+{
+ DPQ dpq;
+
+ dpq.push(5);
+ dpq.push(4);
+ const identifier_type id(dpq.push(3));
+ dpq.push(1);
+ BOOST_CHECK(dpq.check());
+
+ BOOST_CHECK_EQUAL(4, dpq.size());
+ BOOST_CHECK_EQUAL(1, dpq.top().second);
+
+ dpq.replace(std::make_pair(id, 6)); // 3->6 down
+
+ BOOST_CHECK(dpq.check());
+ BOOST_CHECK_EQUAL(4, dpq.size());
+
+ BOOST_CHECK_EQUAL(1, dpq.top().second);
+ dpq.pop();
+ BOOST_CHECK_EQUAL(4, dpq.top().second);
+ dpq.pop();
+ BOOST_CHECK_EQUAL(5, dpq.top().second);
+ dpq.pop();
+ BOOST_CHECK_EQUAL(6, dpq.top().second);
+ dpq.pop();
+
+ BOOST_CHECK(dpq.empty());
+ BOOST_CHECK(dpq.check());
+}
+
+BOOST_AUTO_TEST_CASE_TEMPLATE(testReplace3, DPQ, both)
+{
+ DPQ dpq;
+
+ dpq.push(5);
+ dpq.push(4);
+ const identifier_type id(dpq.push(3));
+ dpq.push(1);
+ BOOST_CHECK(dpq.check());
+
+ BOOST_CHECK_EQUAL(4, dpq.size());
+ BOOST_CHECK_EQUAL(1, dpq.top().second);
+
+ dpq.replace(std::make_pair(id, 3)); // 3->3 no change
+
+ BOOST_CHECK(dpq.check());
+ BOOST_CHECK_EQUAL(4, dpq.size());
+
+ BOOST_CHECK_EQUAL(1, dpq.top().second);
+ dpq.pop();
+ BOOST_CHECK_EQUAL(3, dpq.top().second);
+ dpq.pop();
+ BOOST_CHECK_EQUAL(4, dpq.top().second);
+ dpq.pop();
+ BOOST_CHECK_EQUAL(5, dpq.top().second);
+ dpq.pop();
+
+ BOOST_CHECK(dpq.empty());
+ BOOST_CHECK(dpq.check());
+}
+
+
+BOOST_AUTO_TEST_CASE_TEMPLATE(testReplace4, DPQ, both)
+{
+ DPQ dpq;
+
+ dpq.push(5);
+ dpq.push(4);
+ dpq.push(3);
+ const identifier_type id(dpq.push(1));
+ BOOST_CHECK(dpq.check());
+
+ BOOST_CHECK_EQUAL(4, dpq.size());
+ BOOST_CHECK_EQUAL(1, dpq.top().second);
+
+ dpq.replace(std::make_pair(id, 1)); // 1->1 top no change
+
+ BOOST_CHECK(dpq.check());
+ BOOST_CHECK_EQUAL(4, dpq.size());
+
+ BOOST_CHECK_EQUAL(1, dpq.top().second);
+ dpq.pop();
+ BOOST_CHECK_EQUAL(3, dpq.top().second);
+ dpq.pop();
+ BOOST_CHECK_EQUAL(4, dpq.top().second);
+ dpq.pop();
+ BOOST_CHECK_EQUAL(5, dpq.top().second);
+ dpq.pop();
+
+ BOOST_CHECK(dpq.empty());
+ BOOST_CHECK(dpq.check());
+}
+
+
+BOOST_AUTO_TEST_CASE_TEMPLATE(testReplace5, DPQ, both)
+{
+ DPQ dpq;
+
+ dpq.push(5);
+ dpq.push(4);
+ dpq.push(3);
+ const identifier_type id(dpq.push(1));
+ BOOST_CHECK(dpq.check());
+
+ BOOST_CHECK_EQUAL(4, dpq.size());
+ BOOST_CHECK_EQUAL(1, dpq.top().second);
+
+ dpq.replace(std::make_pair(id, 0)); // 1->0 top up, no change
+
+ BOOST_CHECK(dpq.check());
+ BOOST_CHECK_EQUAL(4, dpq.size());
+
+ BOOST_CHECK_EQUAL(0, dpq.top().second);
+ dpq.pop();
+ BOOST_CHECK_EQUAL(3, dpq.top().second);
+ dpq.pop();
+ BOOST_CHECK_EQUAL(4, dpq.top().second);
+ dpq.pop();
+ BOOST_CHECK_EQUAL(5, dpq.top().second);
+ dpq.pop();
+
+ BOOST_CHECK(dpq.empty());
+ BOOST_CHECK(dpq.check());
+}
+
+BOOST_AUTO_TEST_CASE_TEMPLATE(testReplace6, DPQ, both)
+{
+ DPQ dpq;
+
+ dpq.push(5);
+ dpq.push(4);
+ dpq.push(3);
+ const identifier_type id(dpq.push(1));
+ BOOST_CHECK(dpq.check());
+
+ BOOST_CHECK_EQUAL(4, dpq.size());
+ BOOST_CHECK_EQUAL(1, dpq.top().second);
+
+ dpq.replace(std::make_pair(id, 3)); // 1->3 top down
+
+ BOOST_CHECK(dpq.check());
+ BOOST_CHECK_EQUAL(4, dpq.size());
+
+ BOOST_CHECK_EQUAL(3, dpq.top().second);
+ dpq.pop();
+ BOOST_CHECK_EQUAL(3, dpq.top().second);
+ dpq.pop();
+ BOOST_CHECK_EQUAL(4, dpq.top().second);
+ dpq.pop();
+ BOOST_CHECK_EQUAL(5, dpq.top().second);
+ dpq.pop();
+
+ BOOST_CHECK(dpq.empty());
+ BOOST_CHECK(dpq.check());
+}
+
+
+BOOST_AUTO_TEST_CASE_TEMPLATE(testDuplicatedItems, DPQ, both)
+{
+ DPQ dpq;
+
+ dpq.push(1);
+ dpq.push(2);
+ dpq.push(1);
+ dpq.push(2);
+
+ BOOST_CHECK(dpq.check());
+
+ BOOST_CHECK(dpq.top().second == 1);
+ dpq.pop();
+ BOOST_CHECK(dpq.top().second == 1);
+ dpq.pop();
+ BOOST_CHECK(dpq.top().second == 2);
+ dpq.pop();
+ BOOST_CHECK(dpq.top().second == 2);
+ dpq.pop();
+
+ BOOST_CHECK(dpq.empty());
+
+ BOOST_CHECK(dpq.check());
+}
+
+
+BOOST_AUTO_TEST_CASE_TEMPLATE(testPushAfterPop, DPQ, both)
+{
+ DPQ dpq;
+
+ dpq.push(1);
+ const identifier_type id1(dpq.push(2));
+ dpq.push(3);
+ dpq.push(4);
+ BOOST_CHECK(dpq.size() == 4);
+
+ BOOST_CHECK(dpq.check());
+
+ BOOST_CHECK(dpq.top().second == 1);
+ dpq.pop(id1);
+ BOOST_CHECK(dpq.size() == 3);
+ BOOST_CHECK(dpq.check());
+
+ dpq.push(1);
+ BOOST_CHECK(dpq.size() == 4);
+ BOOST_CHECK(dpq.check());
+
+ BOOST_CHECK(dpq.top().second == 1);
+ dpq.pop();
+ BOOST_CHECK(dpq.top().second == 1);
+ dpq.pop();
+ BOOST_CHECK(dpq.top().second == 3);
+ dpq.pop();
+ BOOST_CHECK(dpq.top().second == 4);
+ dpq.pop();
+ BOOST_CHECK(dpq.empty());
+
+ BOOST_CHECK(dpq.check());
+}
+
+
+BOOST_AUTO_TEST_CASE_TEMPLATE(testPushAfterPopTwoItems, DPQ, both)
+{
+ DPQ dpq;
+
+ const identifier_type id1(dpq.push(2));
+ dpq.push(1);
+ BOOST_CHECK(dpq.size() == 2);
+
+ BOOST_CHECK(dpq.check());
+
+ BOOST_CHECK(dpq.top().second == 1);
+ dpq.pop(id1);
+ BOOST_CHECK(dpq.size() == 1);
+ BOOST_CHECK(dpq.check());
+}
+
+
+
+BOOST_AUTO_TEST_CASE_TEMPLATE(testSimpleSorting, DPQ, both)
+{
+ DPQ dpq;
+
+ const int MAXI(100);
+ for (int i(MAXI); i != 0 ; --i)
+ {
+ dpq.push(i);
+ }
+
+ BOOST_CHECK(dpq.check());
+
+ int n(0);
+ while (! dpq.empty())
+ {
+ ++n;
+ BOOST_CHECK_EQUAL(n, dpq.top().second);
+ dpq.pop();
+ }
+
+ BOOST_CHECK_EQUAL(MAXI, n);
+
+ BOOST_CHECK(dpq.empty());
+ BOOST_CHECK(dpq.check());
+}
+
+
+BOOST_AUTO_TEST_CASE_TEMPLATE(testSimpleSortingWithPops, DPQ, novolatile)
+{
+ DPQ dpq;
+ typedef typename DPQ::index_type Index;
+
+ identifier_vector idVector;
+
+ const Index MAXI(100);
+ for (int n(MAXI); n != 0 ; --n)
+ {
+ identifier_type id(dpq.push(n));
+ if (n == 11 || n == 45)
+ {
+ idVector.push_back(id);
+ }
+ }
+
+ BOOST_CHECK(dpq.check());
+
+ BOOST_CHECK_EQUAL(MAXI, dpq.size());
+
+ for (identifier_vector::const_iterator i(idVector.begin());
+ i != idVector.end(); ++i)
+ {
+ dpq.pop(*i);
+ }
+
+ BOOST_CHECK_EQUAL(MAXI - 2, dpq.size());
+
+ int n(0);
+ while (! dpq.empty())
+ {
+ ++n;
+ if (n == 11 || n == 45)
+ {
+ continue; // skip
+ }
+ BOOST_CHECK_EQUAL(int(n), dpq.top().second);
+ dpq.pop();
+ }
+
+ BOOST_CHECK_EQUAL(MAXI, Index(n));
+
+ BOOST_CHECK(dpq.empty());
+ BOOST_CHECK(dpq.check());
+}
+
+
+BOOST_AUTO_TEST_CASE_TEMPLATE(testInterleavedSorting, DPQ, both)
+{
+ DPQ dpq;
+ typedef typename DPQ::index_type Index;
+
+ const Index MAXI(101);
+ for (int i(MAXI-1); i != 0 ; i-=2)
+ {
+ dpq.push(i);
+ }
+
+ for (int i(MAXI); i != -1 ; i-=2)
+ {
+ dpq.push(i);
+ }
+
+ BOOST_CHECK_EQUAL(MAXI, dpq.size());
+
+ BOOST_CHECK(dpq.check());
+
+ int n(0);
+ while (! dpq.empty())
+ {
+ ++n;
+ BOOST_CHECK_EQUAL(n, dpq.top().second);
+ dpq.pop();
+ }
+
+ BOOST_CHECK_EQUAL(MAXI, Index(n));
+
+ BOOST_CHECK(dpq.empty());
+ BOOST_CHECK(dpq.check());
+}
+
+
+BOOST_AUTO_TEST_CASE_TEMPLATE(testInterleavedSortingWithPops, DPQ,
+ novolatile)
+{
+ DPQ dpq;
+ typedef typename DPQ::index_type Index;
+
+ identifier_vector idVector;
+
+ const Index MAXI(101);
+ for (int n(MAXI-1); n != 0 ; n-=2)
+ {
+ const identifier_type id(dpq.push(n));
+
+ if (n == 12 || n == 46)
+ {
+ idVector.push_back(id);
+ }
+ }
+
+ dpq.pop(idVector.back());
+ idVector.pop_back();
+
+ BOOST_CHECK_EQUAL(MAXI/2 -1, dpq.size());
+
+ BOOST_CHECK(dpq.check());
+
+ for (int n(MAXI); n != -1 ; n-=2)
+ {
+ const identifier_type id(dpq.push(n));
+
+ if (n == 17 || n == 81)
+ {
+ idVector.push_back(id);
+ }
+ }
+
+ for (identifier_vector::const_iterator i(idVector.begin());
+ i != idVector.end(); ++i)
+ {
+ dpq.pop(*i);
+ }
+
+ BOOST_CHECK(dpq.check());
+ BOOST_CHECK_EQUAL(MAXI-4, dpq.size());
+
+ int n(0);
+ while (! dpq.empty())
+ {
+ ++n;
+ if (n == 12 || n == 46 || n == 17 || n == 81)
+ {
+ continue;
+ }
+ BOOST_CHECK_EQUAL(n, dpq.top().second);
+ dpq.pop();
+ }
+
+ BOOST_CHECK_EQUAL(MAXI, Index(n));
+
+ BOOST_CHECK(dpq.empty());
+ BOOST_CHECK(dpq.check());
+}
diff --git a/ecell4/egfrd/legacy/test/EGFRDSimulator_test.cpp b/ecell4/egfrd/legacy/test/EGFRDSimulator_test.cpp
new file mode 100644
index 0000000..e00a18b
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/EGFRDSimulator_test.cpp
@@ -0,0 +1,118 @@
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif /* HAVE_CONFIG_H */
+
+#define BOOST_TEST_MODULE "EGFRDSimulator"
+
+#include <boost/test/included/unit_test.hpp>
+#include <cmath>
+#include "ParticleModel.hpp"
+#include "EGFRDSimulator.hpp"
+#include "Logger.hpp"
+#include "EGFRDSimulatorFactory.hpp"
+#include "NetworkRulesWrapper.hpp"
+#include "ReactionRuleInfo.hpp"
+
+typedef World<CyclicWorldTraits<Real, Real> > world_type;
+typedef EGFRDSimulatorTraitsBase<world_type> simulator_traits_type;
+typedef EGFRDSimulator<simulator_traits_type> simulator_type;
+typedef simulator_traits_type::network_rules_type network_rules_type;
+
+static Real const N_A(6.0221367e23);
+
+template<typename Tworld_, typename Trng_, typename Tpid_list_>
+void inject_particles(Tworld_& world, Trng_& rng, Tpid_list_& pid_list, typename Tworld_::species_id_type const& sid, int n)
+{
+ typedef typename Tworld_::particle_id_pair_and_distance_list particle_id_pair_list;
+ typedef typename Tworld_::particle_id_pair particle_id_pair;
+ typedef typename Tworld_::length_type length_type;
+ typedef typename Tworld_::particle_shape_type particle_shape_type;
+ typedef typename Tworld_::position_type position_type;
+ typedef typename Tworld_::species_type species_type;
+
+ species_type const& s(world.get_species(sid));
+
+ for (int i = 0; i < n; ++i)
+ {
+ particle_shape_type p(position_type(), s.radius());
+
+ for (;;)
+ {
+ p.position() = position_type(
+ rng.uniform(0, world.world_size()),
+ rng.uniform(0, world.world_size()),
+ rng.uniform(0, world.world_size()));
+ if (boost::scoped_ptr<particle_id_pair_list>(
+ world.check_overlap(p)) == 0)
+ {
+ break;
+ }
+ std::cerr << i << "th particle rejected" << std::endl;
+ }
+
+ particle_id_pair i(world.new_particle(sid, p.position()));
+ pid_list.push_back(i.first);
+ }
+}
+
+BOOST_AUTO_TEST_CASE(test)
+{
+ typedef world_type::traits_type::particle_id_type particle_id_type;
+ typedef world_type::traits_type::length_type length_type;
+
+ int const n(300);
+
+ LoggerManager::register_logger_manager(
+ "ecell.EGFRDSimulator",
+ boost::shared_ptr<LoggerManager>(
+ new LoggerManager("dummy", Logger::L_INFO)));
+
+ ParticleModel m;
+
+ m["size"] = "1.";
+ m["matrix_size"] = boost::lexical_cast<std::string>(
+ (int)std::pow(n * 6, 1. / 3.));
+ std::cout << "matrix_size=" << m["matrix_size"] << std::endl;
+
+ boost::shared_ptr<SpeciesType> s1(new SpeciesType());
+ (*s1)["name"] = "S";
+ (*s1)["D"] = "1.5e-12";
+ (*s1)["radius"] = "5e-9";
+
+ boost::shared_ptr<SpeciesType> s2(new SpeciesType());
+ (*s2)["name"] = "P";
+ (*s2)["D"] = "1e-12";
+ (*s2)["radius"] = "7e-9";
+
+ m.add_species_type(s1);
+ m.add_species_type(s2);
+
+ m.network_rules().add_reaction_rule(
+ new_reaction_rule(s1->id(), s1->id(),
+ array_gen<SpeciesTypeID>(s2->id()), 1e7 / N_A));
+
+ m.network_rules().add_reaction_rule(
+ new_reaction_rule(s2->id(),
+ array_gen<SpeciesTypeID>(s1->id(), s1->id()), 1e3));
+
+ boost::shared_ptr<network_rules_type> nrw(
+ new network_rules_type(m.network_rules()));
+
+ world_type::traits_type::rng_type rng;
+
+ std::vector<particle_id_type> S_particles, P_particles;
+ EGFRDSimulatorFactory<simulator_traits_type> factory(rng);
+ boost::scoped_ptr<simulator_type> s(factory(m));
+
+ inject_particles(*s->world(), rng, S_particles, s1->id(), n / 2);
+ inject_particles(*s->world(), rng, P_particles, s2->id(), n / 2);
+
+ for (int i = 10000; --i >= 0;)
+ s->step();
+
+ BOOST_TEST_MESSAGE("spherical single: " << s->num_domains_per_type(simulator_type::SPHERICAL_SINGLE));
+ BOOST_TEST_MESSAGE("cylindrical single: " << s->num_domains_per_type(simulator_type::CYLINDRICAL_SINGLE));
+ BOOST_TEST_MESSAGE("spherical pair: " << s->num_domains_per_type(simulator_type::SPHERICAL_PAIR));
+ BOOST_TEST_MESSAGE("cylindrical pair: " << s->num_domains_per_type(simulator_type::CYLINDRICAL_PAIR));
+ BOOST_TEST_MESSAGE("multi: " << s->num_domains_per_type(simulator_type::MULTI));
+}
diff --git a/ecell4/egfrd/legacy/test/EGFRDSimulator_test.py b/ecell4/egfrd/legacy/test/EGFRDSimulator_test.py
new file mode 100755
index 0000000..59331a9
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/EGFRDSimulator_test.py
@@ -0,0 +1,297 @@
+#!/usr/bin/env python
+
+import logging
+
+import unittest
+
+import numpy
+
+import _gfrd
+
+from egfrd import *
+from visualization import vtklogger
+
+import model
+import gfrdbase
+import myrandom
+
+log.setLevel(logging.WARNING)
+
+
+class EGFRDSimulatorTestCase(unittest.TestCase):
+
+ def setUp(self):
+ self.m = model.ParticleModel(1e-5)
+ self.S = model.Species('S', 2e-11, 5e-8)
+ self.SS = model.Species('SS', 1e-12, 5e-9)
+ self.A = model.Species('A', 0, 1e-8)
+ self.B = model.Species('B', 2e-11, 5e-9)
+ self.m.add_species_type(self.S)
+ self.m.add_species_type(self.SS)
+ self.m.add_species_type(self.A)
+ self.m.add_species_type(self.B)
+ self.m.set_all_repulsive()
+ self.w = gfrdbase.create_world(self.m)
+ self.nrw = _gfrd.NetworkRulesWrapper(self.m.network_rules)
+ self.s = EGFRDSimulator(self.w, myrandom.rng, self.nrw)
+
+ def tearDown(self):
+ pass
+
+ def test_instantiation(self):
+ self.failIf(self.s == None)
+
+
+ def test_one_particle(self):
+ place_particle(self.s.world, self.S, [0.0,0.0,0.0])
+
+ t = self.s.t
+ for i in range(5):
+ self.s.step()
+ self.failIf(t == self.s.t)
+
+ def test_two_particles(self):
+ place_particle(self.s.world, self.S, [0.0,0.0,0.0])
+ place_particle(self.s.world, self.S, [5e-6,5e-6,5e-6])
+
+ t = self.s.t
+ for i in range(5):
+ self.s.step()
+ self.failIf(t == self.s.t)
+
+ def test_three_particles(self):
+ place_particle(self.s.world, self.S, [0.0,0.0,0.0])
+ place_particle(self.s.world, self.S, [5e-6,5e-6,5e-6])
+ place_particle(self.s.world, self.S, [1e-7,1e-7,1e-7])
+
+ t = self.s.t
+ for i in range(5):
+ self.s.step()
+ self.failIf(t == self.s.t)
+
+
+ def test_three_particles_in_contact(self):
+ place_particle(self.s.world, self.S, [0.0,0.0,0.0])
+ place_particle(self.s.world, self.S, [1e-7,0.0,0.0])
+
+ # dummy
+ place_particle(self.s.world, self.S, [2e-7,0.0,0.0])
+
+ r = model.create_unimolecular_reaction_rule(self.S, self.A, 1e10)
+ self.m.network_rules.add_reaction_rule(r)
+
+ t = self.s.t
+ for i in range(5):
+ self.s.step()
+
+ # Check if species ids are consistent after unimolecular
+ # multi reaction.
+ for species in self.s.world.species:
+ for pid in self.s.world.get_particle_ids(species.id):
+ particle = self.s.world.get_particle(pid)[1]
+ self.failIf(particle.sid != species.id)
+ self.failIf(t == self.s.t)
+
+ def test_four_particles_close(self):
+ place_particle(self.s.world, self.SS, [2e-8,0.0,0.0])
+ place_particle(self.s.world, self.SS, [3.003e-8,0.0,0.0])
+
+ place_particle(self.s.world, self.SS, [0.994e-8-5e-10, 0.0, 0.0])
+
+ t = self.s.t
+ for i in range(10):
+ self.s.step()
+ self.failIf(t == self.s.t)
+
+ def test_immobile_is_immobile(self):
+ particleA = place_particle(self.s.world, self.A, [0.0,0.0,0.0])
+ place_particle(self.s.world, self.B, [1.5000001e-8,0.0,0.0])
+
+ initial_position = particleA[1].position
+
+ for i in range(10):
+ self.s.step()
+
+ new_position = particleA[1].position
+ dist = self.w.distance(initial_position, new_position)
+
+ self.failIf(dist != 0, 'initial pos: %s,\tnew pos: %s' %
+ (initial_position, new_position))
+
+ def test_pair_with_immobile(self):
+ place_particle(self.s.world, self.A, [0.0, 0.0, 0.0])
+ place_particle(self.s.world, self.B, [1.51e-8, 0.0, 0.0])
+
+ for i in range(2):
+ self.s.step()
+
+ def test_pair_with_immobile_switched_order(self):
+ place_particle(self.s.world, self.B, [1.51e-8, 0.0, 0.0])
+ place_particle(self.s.world, self.A, [0.0, 0.0, 0.0])
+
+ for i in range(2):
+ self.s.step()
+
+
+class EGFRDSimulatorTestCaseBase(unittest.TestCase):
+ """Base class for TestCases below.
+
+ """
+ def create_model(self):
+ self.L = 1.e-6
+
+ self.D = 1.e-12
+ self.radius = 5.e-9
+
+ self.m = model.ParticleModel(self.L)
+
+ self.A = model.Species('A', self.D, self.radius)
+ self.B = model.Species('B', self.D, self.radius)
+ self.C = model.Species('C', self.D, self.radius)
+
+ self.kf_1 = 4000
+ self.kf_2 = 5e-19
+ self.kb_1 = 4000
+ self.kb_2 = 4000
+
+ def add_planar_surface(self):
+ m1 = model.create_planar_surface('m1',
+ [0, 0, 0],
+ [1, 0, 0],
+ [0, 1, 0],
+ self.L,
+ self.L)
+
+ self.m.add_structure(m1)
+
+ def add_cylindrical_surface(self):
+ radius = self.radius
+ L = self.L
+ d = model.create_cylindrical_surface('d',
+ [L / 2, 0, L / 2],
+ radius,
+ [0, 1, 0],
+ L)
+
+ self.m.add_structure(d)
+
+ def add_species(self):
+ self.m.add_species_type(self.A)
+ self.m.add_species_type(self.B)
+ self.m.add_species_type(self.C)
+
+ def create_simulator(self):
+ self.w = create_world(self.m)
+ self.s = EGFRDSimulator(self.w)
+
+ def add_reactions(self):
+ A = self.A
+ B = self.B
+ C = self.C
+
+ r = model.create_unimolecular_reaction_rule(A, B, self.kf_1)
+ self.m.network_rules.add_reaction_rule(r)
+ r = model.create_unimolecular_reaction_rule(B, A, self.kb_1)
+ self.m.network_rules.add_reaction_rule(r)
+ r = model.create_binding_reaction_rule(A, B, C, self.kf_2)
+ self.m.network_rules.add_reaction_rule(r)
+ r = model.create_unbinding_reaction_rule(C, A, B, self.kb_2)
+ self.m.network_rules.add_reaction_rule(r)
+ r = model.create_decay_reaction_rule(C, self.kb_1)
+ self.m.network_rules.add_reaction_rule(r)
+
+ def add_particles(self, n):
+ throw_in_particles(self.w, self.A, n)
+ throw_in_particles(self.w, self.B, n)
+
+ def tearDown(self):
+ pass
+
+
+class CytosoleTestCase(EGFRDSimulatorTestCaseBase):
+ """Events happening in the "world".
+
+ """
+ def setUp(self):
+ self.create_model()
+ self.add_species()
+ self.create_simulator()
+ self.add_reactions()
+ self.add_particles(2)
+
+ def test_run(self):
+ for i in range(10):
+ self.s.step()
+
+ def test_vtklogger(self):
+ vtk_logger = vtklogger.VTKLogger(self.s, 'vtk_temp_data')
+ for i in range(10):
+ vtk_logger.log()
+ self.s.step()
+ vtk_logger.stop()
+ vtk_logger.cleanup()
+
+class PlanarSurfaceTestCase(EGFRDSimulatorTestCaseBase):
+ """Events happening *on* a planar surface.
+
+ """
+ def setUp(self):
+ self.create_model()
+ self.add_planar_surface()
+
+ # All species on planar surface.
+ self.A["structure"] = "m1"
+ self.B["structure"] = "m1"
+ self.C["structure"] = "m1"
+
+ self.add_species()
+ self.create_simulator()
+ self.add_reactions()
+ self.add_particles(2)
+
+ def test_run(self):
+ for i in range(10):
+ self.s.step()
+
+ def test_vtklogger(self):
+ vtk_logger = vtklogger.VTKLogger(self.s, 'vtk_temp_data')
+ for i in range(10):
+ vtk_logger.log()
+ self.s.step()
+ vtk_logger.stop()
+ vtk_logger.cleanup()
+
+
+class CylindricalSurfaceTestCase(EGFRDSimulatorTestCaseBase):
+ """Events happening *on* a cylindrical surface.
+
+ """
+ def setUp(self):
+ self.create_model()
+ self.add_cylindrical_surface()
+
+ # All species on cylindrical surface.
+ self.A["structure"] = "d"
+ self.B["structure"] = "d"
+ self.C["structure"] = "d"
+
+ self.add_species()
+ self.create_simulator()
+ self.add_reactions()
+ self.add_particles(2)
+
+ def test_run(self):
+ for i in range(10):
+ self.s.step()
+
+ def test_vtklogger(self):
+ vtk_logger = vtklogger.VTKLogger(self.s, 'vtk_temp_data')
+ for i in range(10):
+ vtk_logger.log()
+ self.s.step()
+ vtk_logger.stop()
+ vtk_logger.cleanup()
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/ecell4/egfrd/legacy/test/EventScheduler_test.py b/ecell4/egfrd/legacy/test/EventScheduler_test.py
new file mode 100755
index 0000000..975b281
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/EventScheduler_test.py
@@ -0,0 +1,75 @@
+#!/usr/bin/env python
+
+import unittest
+
+import weakref
+
+import _gfrd as mod
+
+
+class Delegate(object):
+
+ def __init__(self, obj, method):
+ self.obj = weakref.proxy(obj)
+ self.method = method
+
+ def __call__(self, arg):
+ return self.method(self.obj, arg)
+
+
+
+class EventSchedulerTestCase(unittest.TestCase):
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def test_instantiation(self):
+ scheduler = mod.EventScheduler()
+ self.failIf(scheduler == None)
+
+ def test_empty_state(self):
+ scheduler = mod.EventScheduler()
+ self.failIf(scheduler.size != 0)
+ self.failIf(scheduler.time != 0.0)
+ # what if getTopEvent() are called here?
+
+ def test_one_event(self):
+ scheduler = mod.EventScheduler()
+
+ event = mod.PythonEvent(1.0, 1)
+ id = scheduler.add(event)
+ self.failIf(scheduler.time != 0.0)
+ self.failIf(scheduler.top[1].time != 1.0)
+ self.failIf(scheduler.top[0] != id)
+
+ self.assertEqual((id, event), scheduler.pop())
+ self.failIf(scheduler.size != 0)
+ self.failIf(scheduler.time != 1.0)
+
+
+ def test_peek_second_event(self):
+
+ scheduler = mod.EventScheduler()
+
+ event1 = mod.PythonEvent(1.0, 1)
+ event2 = mod.PythonEvent(0.5, 2)
+
+ event1_id = scheduler.add(event1)
+
+ id2 = scheduler.add(event2)
+
+ self.assertEqual(2, scheduler.size)
+
+ second = scheduler.second
+
+ self.assertEqual(1.0, second[1].time)
+ self.assertEqual(event1_id, second[0])
+
+
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/ecell4/egfrd/legacy/test/GreensFunction1DAbsAbs_test.py b/ecell4/egfrd/legacy/test/GreensFunction1DAbsAbs_test.py
new file mode 100755
index 0000000..1eb8998
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/GreensFunction1DAbsAbs_test.py
@@ -0,0 +1,250 @@
+#!/usr/bin/env python
+
+__author__ = 'Laurens Bossen, Thomas Sokolowski'
+__copyright__ = ''
+
+
+import unittest
+
+import _greens_functions as mod
+
+import numpy
+
+
+class GreensFunction1DAbsAbsTestCase( unittest.TestCase ):
+
+ def setUp( self ):
+ pass
+
+
+ def tearDown( self ):
+ pass
+
+
+ def test_Instantiation( self ):
+ D = 1e-12
+ v = 0
+ L = 2e-7
+ r0 = L/2
+
+ gf = mod.GreensFunction1DAbsAbs( D, v, r0, L )
+ self.failIf( gf == None )
+
+
+ def test_DrawTime( self ):
+ D = 1e-12
+ v = 0
+ L = 2e-7
+ r0 = 5e-8
+
+ gf = mod.GreensFunction1DAbsAbs( D, v, r0, L )
+
+ t = gf.drawTime( 0.5 )
+ self.failIf( t <= 0.0 or t >= numpy.inf )
+ print " "
+ print "GreensFunction1DAbsAbs_test.py : test_DrawTime : t =",t
+
+ t = gf.drawTime( 0.0 )
+ self.failIf( t < 0.0 or t >= numpy.inf )
+ print "GreensFunction1DAbsAbs_test.py : test_DrawTime : t =",t
+
+ t = gf.drawTime( 1e-16 )
+ self.failIf( t <= 0.0 or t >= numpy.inf )
+ print "GreensFunction1DAbsAbs_test.py : test_DrawTime : t =",t
+
+ t = gf.drawTime( 1 - 1e-16 )
+ self.failIf( t <= 0.0 or t >= numpy.inf )
+ print "GreensFunction1DAbsAbs_test.py : test_DrawTime : t =",t
+
+
+ def test_DrawTime_a_equal_sigma( self ):
+ D = 1e-12
+ v = 0
+ L = 0.0
+ r0 = L
+
+ gf = mod.GreensFunction1DAbsAbs( D, v, r0, L )
+
+
+
+ t = gf.drawTime( 0.5 )
+ self.assertEqual( 0.0, t )
+ print " "
+ print "GreensFunction1DAbsAbs_test.py : test_DrawTime_a_equal_sigma : t =",t
+
+
+ def test_DrawTime_a_near_sigma( self ):
+ D = 1e-12
+ v = 0
+ L = 2e-14
+ r0 = L/2
+
+ gf = mod.GreensFunction1DAbsAbs( D, v, r0, L )
+
+ t = gf.drawTime( 0.5 )
+ self.failIf( t <= 0.0 or t >= numpy.inf )
+ print " "
+ print "GreensFunction1DAbsAbs_test.py : test_DrawTime_a_near_sigma : t =",t
+
+
+ def test_DrawTime_r0_equal_a( self ):
+ D = 1e-12
+ v = 0
+ L = 2e-7
+ r0 = L
+
+ gf = mod.GreensFunction1DAbsAbs( D, v, r0, L )
+
+ t = gf.drawTime( 0.5 )
+ self.assertEqual( 0.0, t )
+ print " "
+ print "GreensFunction1DAbsAbs_test.py : test_DrawTime_r0_equal_a : t =",t
+
+
+ def test_DrawTime_r0_equal_sigma( self ):
+ D = 1e-12
+ v = 0
+ L = 1e-7
+ r0 = 0
+
+ gf = mod.GreensFunction1DAbsAbs( D, v, r0, L )
+
+ t = gf.drawTime( 0.5 )
+ self.failIf( t < 0.0 or t >= numpy.inf )
+ print " "
+ print "GreensFunction1DAbsAbs_test.py : test_DrawTime_r0_equal_sigma : t =",t
+
+
+ def test_DrawEventType( self ):
+ D = 1e-12
+ v = 0
+ L = 2e-7
+ r0 = L/2
+
+ gf = mod.GreensFunction1DAbsAbs( D, v, r0, L )
+
+ t = gf.drawTime( 0.5 )
+ eventType = gf.drawEventType( 0.5, t )
+ self.failIf( eventType != 12 and eventType != 13 and eventType != 14 )
+ print " "
+ print "GreensFunction1DAbsAbs_test.py : test_DrawEventType : eventType =",eventType
+
+ eventType = gf.drawEventType( 0.999999, t )
+ self.assertEqual( eventType, 13 ) # ESCAPE
+
+ eventType = gf.drawEventType( 0.0, t )
+ self.assertEqual( eventType, 14 ) # REACTION
+
+
+ def no_test_DrawEventType_smallt( self ):
+ D = 1e-12
+ v = 0
+ L = 2e-6
+ r0 = L/2
+
+ gf = mod.GreensFunction1DAbsAbs( D, v, r0, L )
+
+ t = gf.drawTime( 0.001 )
+
+ eventType = gf.drawEventType( 0.5, t )
+ self.failIf( eventType != 12 and eventType != 13 and eventType != 14 )
+ print " "
+ print "GreensFunction1DAbsAbs_test.py : test_DrawEventType_smallt : eventType =",eventType
+
+ eventType = gf.drawEventType( 0.9999, t )
+ self.assertEqual( eventType, 13 ) # ESCAPE
+
+ eventType = gf.drawEventType( 0.0, t )
+ self.assertEqual( eventType, 14 ) # REACTION
+
+
+ def test_DrawR( self ):
+ D = 1e-12
+ v = 0
+ L = 2e-7
+ r0 = L/2
+
+ gf = mod.GreensFunction1DAbsAbs( D, v, r0, L )
+
+ t = 1e-3
+
+ r = gf.drawR( 0.5, t )
+ self.failIf( r < 0 or r > L )
+
+ r1 = gf.drawR( 0.0, t )
+ r2 = gf.drawR( 0.999999999999, t )
+
+ self.failIf( r1 != 0 )
+ self.failIf( r2 < 0 or r2 > L )
+
+ self.assertAlmostEqual( r1, 0 )
+ self.assertAlmostEqual( r2, L )
+ print " "
+ print "GreensFunction1DAbsAbs_test.py : test_DrawR : r1 =",r1
+ print "GreensFunction1DAbsAbs_test.py : test_DrawR : r2 =",r2
+
+
+ def test_DrawR_zerot( self ):
+ D = 1e-12
+ v = 0
+ L = 1e-7
+ r0 = L/2
+
+ gf = mod.GreensFunction1DAbsAbs( D, v, r0, L )
+
+ t = 0.0
+
+ r = gf.drawR( 0.5, t )
+ self.assertEqual( r0, r )
+ print " "
+ print "GreensFunction1DAbsAbs_test.py : test_DrawR_zerot : r =",r
+
+
+ def test_DrawR_r0_equal_sigma( self ):
+ D = 1e-12
+ v = 0
+ L = 2e-7
+ r0 = 0
+
+ t = 0.0#1e-3
+
+ gf = mod.GreensFunction1DAbsAbs( D, v, r0, L )
+
+ # This raises an exception, which at this point we cannot catch
+ # r = gf.drawR( 0.5, t )
+ # self.failIf( r < 0 or r > L )
+
+ def test_DrawR_squeezed( self ):
+
+ D = 1e-12
+ v = 0
+ L = 0.02e-8
+ r0 = L/2
+
+ gf = mod.GreensFunction1DAbsAbs( D, v, r0, L )
+
+ t = 1e-6
+
+ r0 = 0
+ gf.setr0 ( r0 )
+ #r = gf.drawR( 0.501, t )
+ #self.failIf( r < 0 or r > L )
+
+ # near s
+ r0 = 0.0001e-8
+ gf.setr0 ( r0 )
+ r = gf.drawR( 0.502, t )
+ self.failIf( r < 0 or r > L )
+ print " "
+ print "GreensFunction1DAbsAbs_test.py : test_DrawR_squeezed : 1st drawn r =",r
+
+ # near a
+ r0 = L - 0.0001e-8
+ gf.setr0 ( r0 )
+ r = gf.drawR( 0.503, t )
+ self.failIf( r < 0 or r > L )
+ print "GreensFunction1DAbsAbs_test.py : test_DrawR_squeezed : 2nd drawn r =",r
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/ecell4/egfrd/legacy/test/GreensFunction1DRadAbs_test.py b/ecell4/egfrd/legacy/test/GreensFunction1DRadAbs_test.py
new file mode 100755
index 0000000..d39115a
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/GreensFunction1DRadAbs_test.py
@@ -0,0 +1,269 @@
+#!/usr/bin/env python
+
+__author__ = 'Laurens Bossen, Thomas Sokolowski'
+__copyright__ = ''
+
+
+import unittest
+
+import _greens_functions as mod
+
+import numpy
+
+
+class GreensFunction1DRadAbsTestCase( unittest.TestCase ):
+
+ def setUp( self ):
+ pass
+
+ def tearDown( self ):
+ pass
+
+ def test_Instantiation( self ):
+ D = 1e-12
+ v = -3e-8
+ kf = 1e-8
+ L = 2e-7
+ r0 = L/2
+
+ gf = mod.GreensFunction1DRadAbs( D, kf, v, r0, L )
+ self.failIf( gf == None )
+
+
+ def test_DrawTime( self ):
+ D = 1e-12
+ v = -3e-8
+ kf = 1e-8
+ L = 2e-7
+ r0 = 5e-8
+
+ gf = mod.GreensFunction1DRadAbs( D, kf, v, r0, L )
+
+ t = gf.drawTime( 0.5 )
+ self.failIf( t <= 0.0 or t >= numpy.inf )
+ print " "
+ print "GreensFunction1DRadAbs_test.py : test_DrawTime : t =",t
+
+ t = gf.drawTime( 0.0 )
+ self.failIf( t < 0.0 or t >= numpy.inf )
+ print "GreensFunction1DRadAbs_test.py : test_DrawTime : t =",t
+
+ t = gf.drawTime( 1 - 1e-16 )
+ self.failIf( t <= 0.0 or t >= numpy.inf )
+ print "GreensFunction1DRadAbs_test.py : test_DrawTime : t =",t
+
+
+ def test_DrawTime_a_equal_sigma( self ):
+ D = 1e-12
+ v = -3e-8
+ kf = 1e-8
+ L = 0
+ r0 = L
+
+ gf = mod.GreensFunction1DRadAbs( D, kf, v, r0, L )
+ t = gf.drawTime( 0.5 )
+ self.assertEqual( 0.0, t )
+ print " "
+ print "GreensFunction1DRadAbs_test.py : test_DrawTime_a_equal_sigma : t =",t
+
+
+ def test_DrawTime_a_near_sigma( self ):
+ D = 1e-12
+ v = -3e-8
+ kf = 1e-8
+ L = 2e-14
+ r0 = L/2
+
+ gf = mod.GreensFunction1DRadAbs( D, kf, v, r0, L )
+
+ print "drawTime...a near sigma"
+ t = gf.drawTime( 0.5 )
+ print "done"
+ self.failIf( t <= 0.0 or t >= numpy.inf )
+ print " "
+ print "GreensFunction1DRadAbs_test.py : test_DrawTime_a_near_sigma : t =",t
+
+
+ def test_DrawTime_r0_equal_a( self ):
+ D = 1e-12
+ v = -3e-8
+ kf = 1e-8
+ L = 2e-7
+ r0 = L
+
+ gf = mod.GreensFunction1DRadAbs( D, kf, v, r0, L )
+
+ t = gf.drawTime( 0.5 )
+ self.assertEqual( 0.0, t )
+ print " "
+ print "GreensFunction1DRadAbs_test.py : test_DrawTime_r0_equal_a : t =",t
+
+
+ def test_DrawTime_r0_equal_sigma_kf_zero( self ):
+ D = 1e-12
+ v = -3e-8
+ kf = 0.0 # note this
+ L = 1e-7
+ r0 = 0
+
+ gf = mod.GreensFunction1DRadAbs( D, kf, v, r0, L )
+
+ t = gf.drawTime( 0.5 ) # This does not converge for negative v ~< -1e-16
+ self.failIf( t < 0.0 or t >= numpy.inf )
+ print " "
+ print "GreensFunction1DRadAbs_test.py : test_DrawTime_r0_equal_sigma_kf_zero : t =",t
+
+
+ def no_test_DrawTime_r0_equal_sigma_kf_large( self ):
+ D = 1e-12
+ v = -3e-8
+ kf = 1e-8
+ L = 20e-7
+ r0 = 1e-12
+
+ gf = mod.GreensFunction1DRadAbs( D, kf, v, r0, L )
+
+ t = gf.drawTime( 0.5 )
+ self.failIf( t < 0.0 or t >= numpy.inf )
+ print " "
+ print "GreensFunction1DRadAbs_test.py : test_DrawTime_r0_equal_sigma_kf_large : t =",t
+
+
+ def test_DrawEventType( self ):
+ D = 1e-12
+ v = -3e-8
+ kf = 1e-8
+ L = 2e-7
+ r0 = L/2
+
+ gf = mod.GreensFunction1DRadAbs( D, kf, v, r0, L )
+
+ t = gf.drawTime( 0.5 )
+ eventType = gf.drawEventType( 0.5, t )
+ self.failIf( eventType != 12 and eventType != 13 and eventType != 14 )
+ print " "
+ print "GreensFunction1DRadAbs_test.py : test_DrawEventType : eventType =",eventType
+
+ eventType = gf.drawEventType( 0.999999, t )
+ self.assertEqual( eventType, 13 ) # ESCAPE
+
+ eventType = gf.drawEventType( 0.0, t )
+ self.assertEqual( eventType, 14 ) # REACTION
+
+
+ def no_test_DrawEventType_smallt( self ):
+ D = 1e-12
+ v = -3e-8
+ kf = 1e-8
+ L = 2e-6
+ r0 = L/2
+
+ gf = mod.GreensFunction1DRadAbs( D, kf, v, r0, L )
+
+ t = gf.drawTime( 0.001 )
+
+ eventType = gf.drawEventType( 0.5, t )
+ self.failIf( eventType != 12 and eventType != 13 and eventType != 14 )
+ print " "
+ print "GreensFunction1DRadAbs_test.py : test_DrawEventType_smallt : eventType =",eventType
+
+ eventType = gf.drawEventType( 0.9999, t )
+ self.assertEqual( eventType, 13 ) # ESCAPE
+
+ eventType = gf.drawEventType( 0.0, t )
+ self.assertEqual( eventType, 14 ) # REACTION
+
+
+ def test_DrawR( self ):
+ D = 1e-12
+ v = -3e-8
+ kf = 1e-8
+ L = 2e-7
+ r0 = L/2
+
+ gf = mod.GreensFunction1DRadAbs( D, kf, v, r0, L )
+
+ t = 1e-3
+
+ r = gf.drawR( 0.5, t )
+ self.failIf( r < 0 or r > L )
+
+ r1 = gf.drawR( 0.0, t )
+ r2 = gf.drawR( 0.999999999999, t )
+
+ self.failIf( r1 < 0 or r1 > L )
+ self.failIf( r2 < 0 or r2 > L )
+
+ self.assertAlmostEqual( r1, 0 )
+ self.assertAlmostEqual( r2, L )
+ print " "
+ print "GreensFunction1DRadAbs_test.py : test_DrawR : r1 =",r1
+ print "GreensFunction1DRadAbs_test.py : test_DrawR : r2 =",r2
+
+
+ def test_DrawR_zerot( self ):
+ D = 1e-12
+ v = -3e-8
+ kf = 1e-8
+ L = 1e-7
+ r0 = L/2
+
+ gf = mod.GreensFunction1DRadAbs( D, kf, v, r0, L )
+
+ t = 0.0
+
+ r = gf.drawR( 0.5, t )
+ self.assertEqual( r0, r )
+ print " "
+ print "GreensFunction1DRadAbs_test.py : test_DrawR_zerot : r =",r
+
+
+ def test_DrawR_r0_equal_sigma( self ):
+ D = 1e-12
+ v = -3e-8
+ kf = 1e-8
+ L = 2e-7
+ r0 = 0
+
+ t = 1e-3
+
+ gf = mod.GreensFunction1DRadAbs( D, kf, v, r0, L )
+
+ r = gf.drawR( 0.5, t )
+ self.failIf( r < 0 or r > L )
+
+
+ def test_DrawR_squeezed( self ):
+
+ D = 1e-12
+ v = -3e-8
+ kf = 1e-8
+ L = 0.02e-8
+ r0 = L/2
+
+ gf = mod.GreensFunction1DRadAbs( D, kf, v, r0, L )
+
+ t = 1e-6
+ r0 = 0
+ gf.setr0 ( r0 )
+ r = gf.drawR( 0.5, t )
+ self.failIf( r < 0 or r > L )
+
+ # near s
+ r0 = 0.0001e-8
+ gf.setr0 ( r0 )
+ r = gf.drawR( 0.5, t )
+ self.failIf( r < 0 or r > L )
+ print " "
+ print "GreensFunction1DRadAbs_test.py : test_DrawR_squeezed : 1st drawn r =",r
+
+ # near a
+ r0 = L - 0.0001e-8
+ gf.setr0 ( r0 )
+ r = gf.drawR( 0.5, t )
+ self.failIf( r < 0 or r > L )
+ self.failIf( r < 0 or r > L )
+ print "GreensFunction1DRadAbs_test.py : test_DrawR_squeezed : 2nd drawn r =",r
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/ecell4/egfrd/legacy/test/GreensFunction3DAbsSym_test.py b/ecell4/egfrd/legacy/test/GreensFunction3DAbsSym_test.py
new file mode 100755
index 0000000..eee9c98
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/GreensFunction3DAbsSym_test.py
@@ -0,0 +1,167 @@
+#!/usr/bin/env python
+
+import unittest
+
+import numpy
+
+import _greens_functions as mod
+
+class GreensFunction3DAbsSymTestCase(unittest.TestCase):
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def test_instantiation(self):
+ D = 1e-12
+ a = 1.0
+ gf = mod.GreensFunction3DAbsSym(D, a)
+ self.failIf(gf == None)
+
+ def test_no_shell(self):
+ D = 1e-12
+ a = numpy.inf
+ gf = mod.GreensFunction3DAbsSym(D, a)
+ t = gf.drawTime(0.5)
+ self.assertEqual(numpy.inf, t)
+
+ # not supported now
+ #r = gf.drawR(0.5, 1e-6)
+ #self.assertAlmostEqual(p_free, r)
+
+
+ def test_zero_shell(self):
+ D = 1e-12
+ a = 0.0
+ gf = mod.GreensFunction3DAbsSym(D, a)
+
+ t = gf.drawTime(0.5)
+ self.assertEqual(0.0, t)
+ r = gf.drawR(0.5, t)
+ self.assertEqual(0.0, r)
+
+
+ def test_draw_time(self):
+ D = 1e-12
+ a = 1e-7
+ gf = mod.GreensFunction3DAbsSym(D, a)
+
+ t = gf.drawTime(0.0)
+ t = gf.drawTime(0.5)
+ t = gf.drawTime(1.0 - 1e-16)
+
+ def test_drawR(self):
+ D = 1e-12
+ a = 1e-7
+ gf = mod.GreensFunction3DAbsSym(D, a)
+
+ t = gf.drawTime(0.5)
+
+ r = gf.drawR(0.0, t)
+ r = gf.drawR(0.5, t)
+ r = gf.drawR(1.0 - 1e-16, t)
+
+ def test_drawR_zerot(self):
+ D = 1e-12
+ a = 1e-8
+ t = 0.0
+
+ gf = mod.GreensFunction3DAbsSym(D, a)
+
+ r = gf.drawR(0.5, t)
+ self.assertEqual(0.0, r)
+
+ def test_drawR_smallt(self):
+ D = 1e-12
+ a = 1e-8
+ gf = mod.GreensFunction3DAbsSym(D, a)
+ t = gf.drawTime(0.5)
+
+ while t > 1e-30:
+ t *= 1e-4
+ r = gf.drawR(0.0, t)
+ self.failIf(r < 0.0)
+ self.failIf(r > a)
+
+
+ def test_drawR_large_shell(self):
+ D = 1e-12
+ a = 1e-3
+ gf = mod.GreensFunction3DAbsSym(D, a)
+ t = 1e-10
+ r = gf.drawR(0.5, t)
+ self.failIf(r <= 0.0)
+ self.failIf(r > a)
+
+ def test_drawR_large_t(self):
+ D = 1e-12
+ a = 1e-6
+ gf = mod.GreensFunction3DAbsSym(D, a)
+ t = gf.drawTime(0.0)
+ r = gf.drawR(0.5, t)
+
+ self.failIf(r <= 0.0)
+ self.failIf(r > a)
+
+
+ def test_drawR_regression1(self):
+
+ # this parameter set causes very small p_survival.
+
+ D = 1e-12
+ a=3.30588e-08
+ rnd=0.944502
+ dt=0.00411832
+
+ gf = mod.GreensFunction3DAbsSym(D, a)
+ r = gf.drawR(rnd, dt)
+
+ self.failIf(r <= 0.0)
+ self.failIf(r > a)
+
+
+ def test_p_int_r_is_p_int_r_free_with_large_shell(self):
+ D = 1e-12
+ a = 1e-6
+ gf = mod.GreensFunction3DAbsSym(D, a)
+
+ r = 1e-9
+ t = 1e-6
+
+ p = gf.p_int_r(r, t)
+ p_free = gf.p_int_r_free(r, t)
+
+ self.assertAlmostEqual(p, p_free)
+
+
+ def test_p_int_r_at_a_is_p_survival(self):
+ D = 1e-12
+ a = 1e-8
+ gf = mod.GreensFunction3DAbsSym(D, a)
+
+ t = 1e-5
+
+ p = gf.p_int_r(a, t)
+ psurv = gf.p_survival(t)
+ print 'ps', p, psurv
+ self.assertAlmostEqual(p, psurv)
+
+ def test_p_int_r_at_a_is_p_survival_2(self):
+ D = 1e-12
+ a = 1e-9
+ gf = mod.GreensFunction3DAbsSym(D, a)
+
+ t = 1e-3
+
+ p = gf.p_int_r(a, t)
+ psurv = gf.p_survival(t)
+ print 'ps', p, psurv
+ self.assertAlmostEqual(p, psurv)
+
+
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/ecell4/egfrd/legacy/test/GreensFunction3DAbs_test.py b/ecell4/egfrd/legacy/test/GreensFunction3DAbs_test.py
new file mode 100755
index 0000000..f1730f1
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/GreensFunction3DAbs_test.py
@@ -0,0 +1,395 @@
+#!/usr/bin/env python
+
+__author__ = 'Koichi Takahashi <shafi at e-cell.org>'
+__license__ = 'GPL'
+__copyright__ = 'Copyright The Molecular Sciences Institute 2006-2007'
+
+
+import unittest
+
+import _greens_functions as mod
+
+import numpy
+
+
+class GreensFunction3DAbsTestCase(unittest.TestCase):
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def test_instantiation(self):
+ D = 1e-12
+ kf = 1e8
+ sigma = 1e-8
+ a = 1e-7
+ r0 = 5e-8
+
+ gf = mod.GreensFunction3DAbs(D, r0, a)
+ self.failIf(gf == None)
+
+
+ def test_draw_time(self):
+ D = 1e-12
+ a = 1e-7
+ r0 = 5e-8
+
+ gf = mod.GreensFunction3DAbs(D, r0, a)
+
+ t = gf.drawTime(0.5)
+ self.failIf(t <= 0.0 or t >= numpy.inf)
+
+ t = gf.drawTime(0.0)
+ self.failIf(t < 0.0 or t >= numpy.inf)
+
+ t = gf.drawTime(1.0)
+ self.failIf(t <= 0.0 or t >= numpy.inf)
+
+ def test_draw_time_r0_equal_a(self):
+ D = 1e-12
+
+ a = 1e-7
+ r0 = a
+
+ gf = mod.GreensFunction3DAbs(D, r0, a)
+
+ t = gf.drawTime(0.5)
+ self.assertEqual(0.0, t)
+
+ def test_drawR(self):
+ D = 1e-12
+
+ a = 1e-7
+ r0 = 2e-8
+
+ gf = mod.GreensFunction3DAbs(D, r0, a)
+
+ t = 1e-3
+
+ r = gf.drawR(0.5, t)
+ self.failIf(r < 0.0 or r > a)
+
+ r1 = gf.drawR(0.0, t)
+ r2 = gf.drawR(1.0, t)
+
+ self.failIf(r1 < 0.0 or r1 > a)
+ self.failIf(r2 < 0.0 or r2 > a)
+
+ self.failIf(abs(r1) > 1e-15)
+ self.assertAlmostEqual(abs(r2 - a), 0)
+
+ def test_drawR_zerot(self):
+ D = 1e-12
+ a = 1e-7
+ r0 = 2e-8
+
+ gf = mod.GreensFunction3DAbs(D, r0, a)
+
+ t = 0.0
+
+ r = gf.drawR(0.5, t)
+ self.assertEqual(r0, r)
+
+
+ def test_drawR_squeezed(self):
+
+ D = 1e-12
+ a = 1.01e-8
+
+ t = 1e-6
+ r0 = 1.005e-8
+ gf = mod.GreensFunction3DAbs(D, r0, a)
+ r = gf.drawR(0.5, t)
+ self.failIf(r < 0.0 or r > a)
+
+ # near 0
+ r = 0.0001e-8
+ r0 = 0.0001e-8
+ gf = mod.GreensFunction3DAbs(D, r0, a)
+ r = gf.drawR(0.5, t)
+ self.failIf(r < 0.0 or r > a)
+
+ # near a
+ r = 1.0099e-8
+ r0 = 1.0099e-8
+ gf = mod.GreensFunction3DAbs(D, r0, a)
+ r = gf.drawR(0.5, t)
+ self.failIf(r < 0.0 or r > a)
+
+
+ def test_draw_theta(self):
+ D = 1e-12
+ a = 1e-7
+ r0 = 5e-8
+
+ gf = mod.GreensFunction3DAbs(D, r0, a)
+
+ t = gf.drawTime(0.5)
+ r = gf.drawR(0.5, t)
+
+ theta = gf.drawTheta(0.5, r, t)
+ self.failIf(theta < 0.0 or theta > numpy.pi)
+
+ theta = gf.drawTheta(0.0, r, t)
+ self.failIf(theta < 0.0 or theta > numpy.pi)
+
+ theta = gf.drawTheta(1.0, r, t)
+ self.failIf(theta < 0.0 or theta > numpy.pi)
+
+
+ def test_draw_theta_zerot(self):
+ D = 1e-12
+
+ a = 1e-7
+ r = 5e-8
+ r0 = 5e-8
+
+ gf = mod.GreensFunction3DAbs(D, r0, a)
+
+ t = 0.0
+ theta = gf.drawTheta(0.5, r0, t)
+ self.assertEqual(0.0, theta)
+
+ def test_draw_theta_smallt(self):
+
+ D = 1e-12
+
+ a = 1e-7
+ r = 5e-8
+ r0 = 5e-8
+
+ gf = mod.GreensFunction3DAbs(D, r0, a)
+
+ t = 1e-4 # not very small though..
+ theta = gf.drawTheta(0.5, r, t)
+ self.failIf(theta < 0.0 or theta > numpy.pi)
+
+ def test_draw_theta_large_t(self):
+
+ D = 1e-12
+
+ a = 1e-7
+ r = 5e-8
+ r0 = 5e-8
+
+ gf = mod.GreensFunction3DAbs(D, r0, a)
+
+ t = 1e5
+ theta = gf.drawTheta(0.5, r, t)
+ self.failIf(theta < 0.0 or theta > numpy.pi)
+
+
+
+ def test_draw_theta_near_a(self):
+
+ D = 1e-12
+ #a = 1.01e-8 # this is a better test but currently fails
+ a = 1.1e-8
+
+ t = 1e-5
+
+ # near a
+ r = 1.009999e-8
+ r0 = 1.009999e-8
+ gf = mod.GreensFunction3DAbs(D, r0, a)
+ theta = gf.drawTheta(0.5, r, t)
+ self.failIf(theta < 0.0 or theta > numpy.pi)
+
+ def test_draw_theta_r_equal_a(self):
+ D = 1e-12
+ a = 1e-7
+ r0 = 9e-8
+
+ t = 1e-4
+ r = a
+
+ gf = mod.GreensFunction3DAbs(D, r0, a)
+
+ theta = gf.drawTheta(0.5, r, t)
+
+ self.failIf(theta < 0.0 or theta > numpy.pi)
+
+ def test_draw_theta_r0_near_a_r_equal_a(self):
+ D = 1e-12
+ a = 1e-7
+ r0 = a - 1e-9
+
+ t = 1e-2
+ r = a
+
+ gf = mod.GreensFunction3DAbs(D, r0, a)
+
+ theta = gf.drawTheta(0.5, r, t)
+ self.failIf(theta < 0.0 or theta > numpy.pi)
+
+
+ def test_p_int_r(self):
+
+ D = 1e-12
+
+ t = 1e-3
+ r0 = 5e-8
+
+ a = 1e-7
+
+ gf = mod.GreensFunction3DAbs(D, r0, a)
+
+ r = r0
+ pintr = gf.p_int_r(r, t)
+ self.failIf(pintr < 0.0 or pintr > 1.0)
+
+
+ def test_p_int_r_at_a_is_p_survival(self):
+
+ D = 1e-12
+
+ t = 1e-3
+ r0 = 5e-8
+
+ a = 1e-7
+
+ gf = mod.GreensFunction3DAbs(D, r0, a)
+ r = r0
+
+ pintr = gf.p_int_r(a, t)
+ psurv = gf.p_survival(t)
+ self.assertAlmostEqual(pintr, psurv)
+
+ def test_p_int_r_at_zero_is_zero(self):
+
+ D = 1e-12
+
+ t = 1e-3
+ r0 = 5e-8
+
+ a = 1e-7
+
+ gf = mod.GreensFunction3DAbs(D, r0, a)
+ r = r0
+
+ pintr = gf.p_int_r(0.0, t)
+ self.assertEqual(0.0, pintr)
+
+ def test_ip_theta_is_int_p_theta(self):
+
+ import scipy.integrate
+
+ D = 1e-11
+
+ t = 1e-3
+ r0 = 5e-8
+
+ a = 1e-7
+
+ gf = mod.GreensFunction3DAbs(D, r0, a)
+ r = r0
+
+ ip = gf.ip_theta(0.0, r, t)
+ self.assertEqual(0.0, ip)
+
+ resolution = 10
+ for i in range(1, resolution):
+ theta = i * numpy.pi / resolution
+ ip = gf.ip_theta(theta, r, t)
+ result = scipy.integrate.quad(gf.p_theta, 0.0, theta,
+ args=(r, t))
+ np = result[0]
+ #print theta, np, ip
+ self.assertAlmostEqual(0.0, (np-ip)/ip)
+
+ '''
+
+ def test_ip_theta_pi_is_p_0(self):
+
+ D = 1e-12
+ sigma = 1e-8
+ kf = 1e-8
+
+ t = 1e-5
+ r0 = 5e-8
+ r = r0
+
+ a = 1e-7
+
+ gf = mod.GreensFunction3DAbs(D, kf, sigma, a)
+
+ ip = gf.ip_theta(numpy.pi, r, r0, t)
+ p0 = gf.p_0(t, r, r0) * 2
+
+ self.assertNotEqual(0.0, ip)
+ self.assertAlmostEqual(1.0, ip/p0)
+'''
+
+
+ def test_p_theta_never_negative(self):
+
+ D = 1e-12
+
+ # smaller t causes problem
+ t = 1e-3
+ r0 = 5e-8
+ r = r0
+ a = 1e-7
+
+ gf = mod.GreensFunction3DAbs(D, r0, a)
+
+ pint = gf.ip_theta(numpy.pi, r, t)
+
+ pmin = 0.0
+ resolution = 50
+ for i in range(resolution):
+ theta = i * numpy.pi / resolution
+ p = gf.p_theta(theta, r, t) / pint / resolution
+ pmin = min(pmin, p)
+ #print 'theta: ', theta, '\tp: ', p
+
+ self.failIf(pmin < 0.0, 'Negative p_theta; t= %.16g, %s'
+ % (t, gf.dump()))
+
+
+ def test_ip_theta_never_decrease(self):
+
+ D = 1e-12
+
+ # smaller t causes problem
+ t = 1e-3
+ r0 = 5e-8
+ r = r0
+ a = 1e-7
+
+ gf = mod.GreensFunction3DAbs(D, r0, a)
+
+ pint_prev = 0.0
+
+ resolution = 50
+ for i in range(resolution):
+ theta = i * numpy.pi / resolution
+ pint = gf.ip_theta(theta, r, t)
+ self.failIf(pint < pint_prev)
+ pint_prev = pint
+
+ def test_idp_theta_at_a_is_dp_survival(self):
+
+ D = 1e-12
+
+ # smaller t causes problem
+ t = 1e-3
+ r0 = 9e-8
+ a = 1e-7
+
+ gf = mod.GreensFunction3DAbs(D, r0, a)
+
+ dp = gf.dp_survival(t)
+ iptheta = gf.idp_theta(numpy.pi, a, t) * numpy.pi * a * a * 2
+
+ self.assertAlmostEqual(dp, iptheta)
+
+
+
+
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/ecell4/egfrd/legacy/test/GreensFunction3DRadAbs_test.py b/ecell4/egfrd/legacy/test/GreensFunction3DRadAbs_test.py
new file mode 100755
index 0000000..bea2acc
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/GreensFunction3DRadAbs_test.py
@@ -0,0 +1,860 @@
+#!/usr/bin/env python
+
+__author__ = 'Koichi Takahashi <shafi at e-cell.org>'
+__license__ = 'GPL'
+__copyright__ = 'Copyright The Molecular Sciences Institute 2006-2007'
+
+
+import unittest
+
+import _greens_functions as mod
+
+import numpy
+
+
+class GreensFunction3DRadAbsTestCase(unittest.TestCase):
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def test_instantiation(self):
+ D = 1e-12
+ kf = 1e8
+ sigma = 1e-8
+ a = 1e-7
+ r0 = 5e-8
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+ self.failIf(gf == None)
+
+
+ def test_draw_time(self):
+ D = 1e-12
+ kf = 1e-8
+ sigma = 1e-8
+ a = 1e-7
+ r0 = 5e-8
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ t = gf.drawTime(0.5)
+ self.failIf(t <= 0.0 or t >= numpy.inf)
+
+ t = gf.drawTime(0.0)
+ self.failIf(t < 0.0 or t >= numpy.inf)
+
+ t = gf.drawTime(1 - 1e-16)
+ self.failIf(t <= 0.0 or t >= numpy.inf)
+
+
+ def test_draw_time_a_equal_sigma(self):
+ D = 1e-12
+ kf = 1e-8
+ sigma = 1e-8
+ a = sigma
+ r0 = a
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ t = gf.drawTime(0.5)
+ self.assertEqual(0.0, t)
+
+ def test_draw_time_a_near_sigma(self):
+ D = 1e-12
+ kf = 1e-8
+ sigma = 1e-8
+ a = sigma + sigma * 1e-6
+ r0 = (a + sigma) * .5
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ t = gf.drawTime(0.5)
+ self.failIf(t <= 0.0 or t >= numpy.inf)
+
+ def test_draw_time_r0_equal_a(self):
+ D = 1e-12
+ kf = 1e-8
+ sigma = 1e-8
+ a = 1e-7
+ r0 = a
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ t = gf.drawTime(0.5)
+ self.assertEqual(0.0, t)
+
+ def test_draw_time_r0_equal_sigma_kf_zero(self):
+ D = 1e-12
+ kf = 0.0 # note this
+ sigma = 1e-8
+ a = 1e-7
+ r0 = sigma
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ t = gf.drawTime(0.5)
+ self.failIf(t < 0.0 or t >= numpy.inf)
+
+
+ def no_test_draw_time_r0_equal_sigma_kf_large(self):
+ D = 1e-12
+ kf = 1e-8
+ sigma = 1e-8
+ a = 10e-7
+ r0 = sigma + 1e-12
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ t = gf.drawTime(0.5)
+ self.failIf(t < 0.0 or t >= numpy.inf)
+
+
+ def test_draw_event_type(self):
+ D = 1e-12
+ kf = 1e-8
+ sigma = 1e-8
+ a = 1e-7
+ r0 = 5e-8
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ t = gf.drawTime(0.5)
+ event_type = gf.drawEventType(0.5, t)
+ self.failIf(event_type != mod.PairEventKind.IV_REACTION and
+ event_type != mod.PairEventKind.IV_ESCAPE)
+
+ event_type = gf.drawEventType(0.0, t)
+ self.assertEqual(event_type, mod.PairEventKind.IV_REACTION)
+
+ event_type = gf.drawEventType(0.999999, t)
+ self.assertEqual(event_type, mod.PairEventKind.IV_ESCAPE)
+
+
+ def no_test_draw_event_type_smallt(self):
+ D = 1e-12
+ kf = 1e-8
+ sigma = 1e-8
+ a = 1e-6 #sigma + sigma * 0.001
+ r0 = 1.1e-8 #sigma+(a-sigma)/2
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ t = gf.drawTime(0.999)
+
+ event_type = gf.drawEventType(0.5, t)
+ self.failIf(event_type != mod.PairEventKind.IV_REACTION and
+ event_type != mod.PairEventKind.IV_ESCAPE)
+
+ event_type = gf.drawEventType(0.0, t)
+ self.assertEqual(event_type, mod.PairEventKind.IV_REACTION)
+
+ event_type = gf.drawEventType(0.9999, t)
+ #self.assertEqual(event_type, mod.PairEventKind.IV_ESCAPE)
+
+
+ '''
+ def test_draw_time2(self):
+ D = 1e-12
+ kf = 1e-18
+ #kf = 0
+ sigma = 1e-8
+ a = 1e-7
+ r0 = 9e-8
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ print '==============================================='
+
+ t, et = gf.drawTime2(0.5, 0.5)
+ t2 = gf.drawTime(0.5)
+ print t, et, t2
+ self.failIf(t <= 0.0 or t >= numpy.inf)
+
+ print '==============================================='
+
+ t, et = gf.drawTime2(0.0, 0.0)
+ self.failIf(t < 0.0 or t >= numpy.inf)
+ print t, et
+ print '==============================================='
+
+ t, et = gf.drawTime2(1 - 1e-8, 1 - 1e-8)
+ self.failIf(t <= 0.0 or t >= numpy.inf)
+ print t, et
+ print '==============================================='
+
+ def test_draw_time2_a_equal_sigma(self):
+ D = 1e-12
+ kf = 1e-8
+ sigma = 1e-8
+ a = sigma
+ r0 = a
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ t, et = gf.drawTime2(0.5, 0.5)
+ self.assertEqual(0.0, t)
+ self.assertEqual(et, mod.PairEventKind.IV_ESCAPE)
+
+ def test_draw_time2_squeezed(self):
+ D = 1e-12
+ kf = 1e-10
+ sigma = 1e-8
+ a = sigma + sigma * 1e-6
+ r0 = (a + sigma) * .5
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ t, et = gf.drawTime2(0.5, 0.5)
+ self.failIf(t <= 0.0 or t >= numpy.inf)
+
+ def test_draw_time2_r0_equal_a(self):
+ D = 1e-12
+ kf = 1e-8
+ sigma = 1e-8
+ a = 1e-7
+ r0 = a
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ t, et = gf.drawTime2(0.5, 0.5)
+ self.assertEqual(0.0, t)
+ self.assertEqual(et, mod.PairEventKind.IV_ESCAPE)
+
+
+ def test_draw_time2_r0_equal_sigma_kf_zero(self):
+ D = 1e-12
+ kf = 0.0 # note this
+ sigma = 1e-8
+ a = 1e-7
+ r0 = sigma
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ t, et = gf.drawTime2(0.5, 0.5)
+ self.failIf(t < 0.0 or t >= numpy.inf)
+ self.assertEqual(et, mod.PairEventKind.IV_ESCAPE)
+
+ # when kf == 0, pleavea == psurvival
+ t2 = gf.drawTime(0.5)
+ self.assertAlmostEqual(t, t2)
+
+
+ def test_draw_time2_r0_near_sigma(self):
+ D = 1e-12
+ kf = 1e-8
+ sigma = 1e-8
+ a = 1e-7
+ r0 = sigma*1.1
+ print '**************'
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ t, et = gf.drawTime2(0.3, 0.3, r0)
+ t2 = gf.drawTime(0.3, r0)
+ et2 = gf.drawEventType(0.3, t2)
+ print '**************'
+ print 't',t, 't2', t2, 'et', et, 'et2', et2
+
+ self.failIf(t < 0.0 or t >= numpy.inf)
+ self.assertEqual(et, mod.PairEventKind.IV_REACTION)
+
+ self.assertAlmostEqual(t, t2)
+
+
+ def no_test_draw_time2_r0_equal_sigma_kf_large(self):
+ D = 1e-12
+ kf = 1e-5
+ sigma = 1e-8
+ a = 10e-7
+ r0 = sigma + 1e-12
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ t, et = gf.drawTime2(0.5, 0.5, r0)
+ self.failIf(t < 0.0 or t >= numpy.inf)
+ '''
+
+
+ def test_drawR(self):
+ D = 1e-12
+ kf = 1e-8
+ sigma = 1e-8
+ a = 1e-7
+ r0 = 2e-8
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ t = 1e-3
+
+ r = gf.drawR(0.5, t)
+ self.failIf(r < sigma or r > a)
+
+ r1 = gf.drawR(0.0, t)
+ r2 = gf.drawR(0.999999999999, t)
+
+ self.failIf(r1 < sigma or r1 > a)
+ self.failIf(r2 < sigma or r2 > a)
+
+ self.assertAlmostEqual(r1, sigma)
+ self.assertAlmostEqual(r2, a)
+
+
+ def test_drawR_zerot(self):
+ D = 1e-12
+ kf = 1e-8
+ sigma = 1e-8
+ a = 1e-7
+ r0 = 2e-8
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ t = 0.0
+
+ r = gf.drawR(0.5, t)
+ self.assertEqual(r0, r)
+
+
+ def test_drawR_r0_equal_sigma(self):
+ D = 1e-12
+ kf = 1e-8
+ sigma = 1e-8
+ a = 1e-7
+ r0 = sigma
+
+ t = 1e-3
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ r = gf.drawR(0.5, t)
+ self.failIf(r < sigma or r > a)
+
+ def test_drawR_squeezed(self):
+
+ D = 1e-12
+ kf = 1e-8
+ sigma = 1e-8
+ a = 1.01e-8
+
+ t = 1e-6
+ r0 = 1.005e-8
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+ r = gf.drawR(0.5, t)
+ self.failIf(r < sigma or r > a)
+
+ # near s
+ r = 1.0001e-8
+ r0 = 1.0001e-8
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+ r = gf.drawR(0.5, t)
+ self.failIf(r < sigma or r > a)
+
+ # near a
+ r = 1.0099e-8
+ r0 = 1.0099e-8
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+ r = gf.drawR(0.5, t)
+ self.failIf(r < sigma or r > a)
+
+
+ def test_draw_theta(self):
+ D = 1e-12
+ kf = 1e-8
+ sigma = 1e-8
+ a = 1e-7
+ r0 = 5e-8
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ t = gf.drawTime(0.5)
+ event_type = gf.drawEventType(0.5, t)
+ r = gf.drawR(0.5, t)
+
+ theta = gf.drawTheta(0.5, r, t)
+ self.failIf(theta < 0.0 or theta > numpy.pi)
+
+ theta = gf.drawTheta(0.0, r, t)
+ self.failIf(theta < 0.0 or theta > numpy.pi)
+
+ theta = gf.drawTheta(0.999999, r, t)
+ self.failIf(theta < 0.0 or theta > numpy.pi)
+
+
+ def test_draw_theta_zerot(self):
+ D = 1e-12
+ kf = 1e-8
+ sigma = 1e-8
+ a = 1e-7
+ r = 5e-8
+ r0 = 5e-8
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ t = 0.0
+ theta = gf.drawTheta(0.5, r0, t)
+ self.assertEqual(0.0, theta)
+
+ def test_draw_theta_smallt(self):
+
+ D = 1e-12
+ kf = 1e-8
+ sigma = 1e-8
+ a = 1e-7
+ r = 2e-8
+ r0 = 2e-8
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ t = 1e-7 # well this is not *very* small..
+ theta = gf.drawTheta(0.5, r, t)
+
+ self.failIf(theta < 0.0 or theta > numpy.pi)
+
+
+ def test_draw_theta_squeezed(self):
+
+ D = 1e-12
+ kf = 1e-8
+ sigma = 1e-8
+ a = 1.001e-8
+
+ t = 1e-8
+ r = 1.0001e-8
+ r0 = 1.0001e-8
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+ theta = gf.drawTheta(0.5, r, t)
+ self.failIf(theta < 0.0 or theta > numpy.pi)
+
+ # near s
+ r = 1.00001e-8
+ r0 = 1.00001e-8
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+ theta = gf.drawTheta(0.5, r, t)
+ self.failIf(theta < 0.0 or theta > numpy.pi)
+
+ # near a
+ r = 1.00099e-8
+ r0 = 1.00099e-8
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+ theta = gf.drawTheta(0.5, r, t)
+ self.failIf(theta < 0.0 or theta > numpy.pi)
+
+
+ def test_ip_theta_squeezed(self):
+
+ D = 1e-12
+ kf = 1e-8
+ sigma = 1e-8
+ a = 1.001e-8
+
+ t = 1e-10
+ r = 1.00099e-8
+ r0 = 1.00099e-8
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+ ip = gf.ip_theta(1, r, t)
+
+ r = 1.0000001e-8
+ r0 = 1.0000001e-8
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+ ip = gf.ip_theta(1, r, t)
+
+
+ def test_draw_theta_r0_equal_sigma(self):
+ D = 1e-12
+ kf = 1e-8
+ sigma = 1e-8
+ a = 1e-7
+ r0 = sigma
+
+ t = 1e-3
+ r = r0
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ theta = gf.drawTheta(0.5, r, t)
+ self.failIf(theta < 0.0 or theta > numpy.pi)
+
+ def test_draw_theta_r_equal_a(self):
+ D = 1e-12
+ kf = 1e-8
+ sigma = 1e-8
+ a = 1e-7
+ r0 = 9e-8
+
+ t = 1e-3
+ r = a
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ theta = gf.drawTheta(0.5, r, t)
+ self.failIf(theta < 0.0 or theta > numpy.pi)
+
+ def test_draw_theta_regression1(self):
+ r0 = 1.0206416181e-07
+ t = 4.41358538629e-08
+ D = 4e-11
+ sigma = 1e-07
+ a = 1.05134e-07
+ kf = 0 # h = 0
+
+ r = 1.03421535312e-07
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ theta = gf.drawTheta(0.5, r, t)
+ self.failIf(theta < 0.0 or theta > numpy.pi)
+
+
+ def test_draw_theta_regression2(self):
+
+ r0 = 5.50265e-09
+
+ rnd=0.749325
+ dt=1.43732e-06
+ r=6.9928e-09
+ D = 2e-12
+ sigma = 5e-09
+ a = 1.16464e-08
+ kf = 0
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ theta = gf.drawTheta(rnd, r, dt)
+ self.failIf(theta < 0.0 or theta > numpy.pi)
+
+
+ def test_alpha0(self):
+
+ D = 1e-12
+ sigma = 1e-8
+ kf = 1e-8
+
+ a = 1e-7
+ r0 = 5e-8
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+ maxerror = 0.0
+
+ for i in range(100):
+ alpha = gf.alpha0_i(i)
+ error = abs(gf.f_alpha0(alpha) / alpha)
+ #print error/alpha, gf.f_alpha0(alpha*1.1)/alpha
+ maxerror = max(error, maxerror)
+
+ self.failIf(abs(maxerror) > 1e-10)
+
+ def test_psurvival_is_pleaves_plus_pleavea(self):
+
+ D = 1e-12
+ sigma = 1e-8
+ kf = 1e-8
+
+ t = 1e-5
+ r0 = 5e-8
+
+ a = 1e-7
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ surv = gf.p_survival(t)
+ pleaves = gf.p_leaves(t)
+ pleavea = gf.p_leavea(t)
+ #print 'pll', surv, pleaves, pleavea
+ self.failIf(surv <= 0.0)
+ self.failIf(pleavea <= 0.0 or pleaves <= 0.0)
+ self.assertAlmostEqual(surv, pleaves + pleavea)
+
+
+ def test_dpsurvival_is_leaves_plus_leavea(self):
+
+ D = 1e-12
+ sigma = 1e-8
+ kf = 1e-13
+
+ t = 1e-3
+ r0 = 2e-8
+
+ a = 1e-7
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ dsurv = gf.dp_survival(t)
+ leaves = gf.leaves(t) * 4.0 * numpy.pi * sigma * sigma
+ leavea = gf.leavea(t) * 4.0 * numpy.pi * a * a
+ #print 'll', leavea, leaves, dsurv
+ self.assertNotEqual(0.0, dsurv)
+ self.assertAlmostEqual(dsurv, leaves + leavea)
+
+
+ def test_psurvival_smallt(self):
+
+ D = 1e-12
+ sigma = 1e-8
+ kf = 1e-8
+
+ t = 1e-4
+ r0 = 2e-8
+
+ a = 1e-7
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ for i in range(5):
+ psurv = gf.p_survival(t)
+ pleaves = gf.p_leaves(t)
+ pleavea = gf.p_leavea(t)
+ self.assertNotEqual(0.0, psurv)
+ self.assertAlmostEqual(pleaves + pleavea, psurv)
+ t *= .1
+
+
+ def test_p_int_r(self):
+
+ D = 1e-12
+ sigma = 1e-8
+ kf = 1e-8
+
+ t = 1e-3
+ r0 = 5e-8
+
+ a = 1e-7
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ r = r0
+ pintr = gf.p_int_r(r, t)
+
+ self.failIf(pintr < 0.0 or pintr > 1.0, 'pintr %f' % pintr)
+
+
+ def test_p_int_r_at_a_is_p_survival(self):
+
+ D = 1e-12
+ sigma = 1e-8
+ kf = 1e-8
+
+ t = 1e-3
+ r0 = 5e-8
+
+ a = 1e-7
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+ r = r0
+
+ pintr = gf.p_int_r(a, t)
+ psurv = gf.p_survival(t)
+ self.assertAlmostEqual(pintr, psurv)
+
+ def test_p_int_r_at_s_is_zero(self):
+
+ D = 1e-12
+ sigma = 1e-8
+ kf = 1e-8
+
+ t = 1e-3
+ r0 = 5e-8
+
+ a = 1e-7
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ pintr = gf.p_int_r(gf.getSigma(), t)
+ self.assertEqual(0.0, pintr)
+
+ def test_p_int_r_never_decrease(self):
+
+ D = 1e-12
+ sigma = 1e-8
+ kf = 1e-8
+
+ # smaller t causes problem
+ t = 1e-3
+ r0 = sigma
+
+ a = 3e-7
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ psurv = gf.p_survival(t)
+
+ pintr_prev = 0.0
+ resolution = 500
+ for i in range(resolution):
+ r = i * (a-sigma) / resolution + sigma
+ pintr = gf.p_int_r(r, t)
+ #print r, pintr, psurv
+ self.failIf(pintr > psurv)
+ self.failIf(pintr < pintr_prev)
+ pintr_prev = pintr
+
+
+ def test_ip_theta_is_int_p_theta(self):
+
+ import scipy.integrate
+
+ D = 1e-12
+ sigma = 1e-8
+ kf = 1e-10
+
+ t = 1e-2 #FIXME: smaller t should be fine
+ r0 = 5e-8
+
+ a = 1e-7
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+ r = r0
+
+ ip = gf.ip_theta(0.0, r, t)
+ self.assertEqual(0.0, ip)
+
+ resolution = 10
+ for i in range(1, resolution):
+ theta = i * numpy.pi / resolution
+ ip = gf.ip_theta(theta, r, t)
+ result = scipy.integrate.quad(gf.p_theta, 0.0, theta,
+ args=(r, t))
+ np = result[0]
+ self.assertAlmostEqual(0.0, (np-ip)/ip, 5)
+
+
+ def test_ip_theta_pi_is_p_0(self):
+
+ D = 1e-12
+ sigma = 1e-8
+ kf = 1e-8
+
+ t = 1e-5
+ r0 = 5e-8
+ r = r0
+
+ a = 1e-7
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ ip = gf.ip_theta(numpy.pi, r, t)
+ p0 = gf.p_0(t, r) * 2
+
+ self.assertNotEqual(0.0, ip)
+ self.assertAlmostEqual(1.0, ip/p0, 5)
+
+ def test_p_theta_never_negative(self):
+
+ D = 1e-12
+ sigma = 1e-8
+ kf = 1e-8
+
+ # smaller t causes problem
+ t = 1e-3
+ r0 = 5e-8
+ r = r0
+ a = 1e-7
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ pint = gf.ip_theta(numpy.pi, r, t)
+
+ pmin = 0.0
+ resolution = 50
+ for i in range(resolution):
+ theta = i * numpy.pi / resolution
+ p = gf.p_theta(theta, r, t) / pint / resolution
+ pmin = min(pmin, p)
+ #print 'theta: ', theta, '\tp: ', p
+
+ self.failIf(pmin < 0.0, 'Negative p_theta; t= %.16g, %s'
+ % (t, gf.dump()))
+
+
+ def test_ip_theta_never_decrease(self):
+
+ D = 1e-12
+ sigma = 1e-8
+ kf = 1e-8
+
+ # smaller t causes problem
+ t = 1e-3
+ r0 = 5e-8
+ r = r0
+ a = 1e-7
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ pint_prev = 0.0
+
+ resolution = 50
+ for i in range(resolution):
+ theta = i * numpy.pi / resolution
+ pint = gf.ip_theta(theta, r, t)
+ self.failIf(pint < pint_prev)
+ pint_prev = pint
+
+ def test_int_dp_theta_at_a_is_leavea(self):
+
+ D = 1e-12
+ sigma = 1e-8
+ kf = 1e-8
+
+ # smaller t causes problem
+ t = 1e-4
+ r0 = 9e-8
+ a = 1e-7
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ leavea = gf.leavea(t) * numpy.pi * a * a * 2
+ iptheta = gf.idp_theta(numpy.pi, a, t) * numpy.pi * a * a
+
+ self.assertAlmostEqual(leavea / iptheta, 1.0, 5) # SBG's accuracy
+
+'''
+ def test_p_theta_free_is_p_theta_smallt(self):
+
+ D = 1e-12
+ sigma = 1e-8
+ kf = 1e-8
+
+ t = 1e-7
+ r0 = 5e-7
+ r = 5e-7
+ a = 1e-6
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+
+ resolution = 20
+ for i in range(1, resolution):
+ theta = i * numpy.pi / resolution
+
+ pfree = mod.p_theta_free(theta, r, r0, t, D)
+ p = gf.p_theta(theta, r, t)* 4 * numpy.pi * r * r
+ print pfree, p
+
+ self.assertAlmostEqual(0.0, (pfree - p)/pfree)
+'''
+
+'''
+ def test_alphan(self):
+
+ D = 1e-12
+ sigma = 1e-8
+ kf = 1e-18
+
+ a = 2e-7
+
+ gf = mod.GreensFunction3DRadAbs(D, kf, r0, sigma, a)
+ maxerror = 0
+
+ for n in range(100):
+ for i in range(1000):
+ alpha = gf.alpha_i(n, i)
+ error = abs(gf.f_alpha0(alpha))
+ maxerror = max(error, maxerror)
+
+ self.failIf(abs(maxerror) > 1e-8)
+'''
+
+
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/ecell4/egfrd/legacy/test/GreensFunction3DRadInf_test.py b/ecell4/egfrd/legacy/test/GreensFunction3DRadInf_test.py
new file mode 100755
index 0000000..8f10361
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/GreensFunction3DRadInf_test.py
@@ -0,0 +1,424 @@
+#!/usr/bin/env python
+
+__author__ = 'Koichi Takahashi <shafi at e-cell.org>'
+__license__ = 'GPL'
+__copyright__ = 'Copyright The Molecular Sciences Institute 2006-2008'
+
+
+import unittest
+
+import _greens_functions as mod
+
+import math
+import numpy
+
+
+class GreensFunction3DRadInfTestCase(unittest.TestCase):
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def test_instantiation(self):
+ D = 1e-12
+ kf = 1e8
+ sigma = 1e-8
+ a = 1e-7
+ r0 = 5e-8
+
+ gf = mod.GreensFunction3DRadInf(D, kf, r0, sigma)
+ self.failIf(gf == None)
+
+
+ def test_draw_time(self):
+ D = 1e-12
+ kf = 1e-8
+ sigma = 1e-8
+ r0 = 5e-8
+
+ gf = mod.GreensFunction3DRadInf(D, kf, r0, sigma)
+
+ t = gf.drawTime(0.5)
+ self.failIf(t <= 0.0)
+
+ t = gf.drawTime(0.0)
+ self.failIf(t < 0.0)
+
+ t = gf.drawTime(0.9999999)
+ self.failIf(t <= 0.0)
+
+
+ def test_draw_time_r0_equal_sigma_kf_zero(self):
+ D = 1e-12
+ kf = 0.0 # note this
+ sigma = 1e-8
+ r0 = sigma
+
+ gf = mod.GreensFunction3DRadInf(D, kf, r0, sigma)
+
+ t = gf.drawTime(0.5)
+ self.failIf(t < 0.0)
+
+ def test_drawR(self):
+ D = 1e-12
+ kf = 1e-8
+ sigma = 1e-8
+ r0 = 2e-8
+
+ gf = mod.GreensFunction3DRadInf(D, kf, r0, sigma)
+
+ t = 1e-3
+
+ r = gf.drawR(0.5, t)
+ self.failIf(r < sigma)
+
+ r1 = gf.drawR(0.0, t)
+ r2 = gf.drawR(0.9999999, t)
+
+ self.failIf(r1 < sigma)
+ self.failIf(r2 < sigma)
+
+ self.failIf(abs(r1 - sigma) > 1e-15)
+
+
+ def test_drawR_zerot(self):
+ D = 1e-12
+ kf = 1e-8
+ sigma = 1e-8
+ r0 = 2e-8
+
+ gf = mod.GreensFunction3DRadInf(D, kf, r0, sigma)
+
+ t = 0.0
+
+ r = gf.drawR(0.5, t)
+ self.assertEqual(r0, r)
+
+ def test_drawR_smallt(self):
+ D = 1e-12
+ kf = 1e-8
+ sigma = 1e-8
+ r0 = 1.000001e-8
+
+ gf = mod.GreensFunction3DRadInf(D, kf, r0, sigma)
+
+ t = 1e-12
+
+ r = gf.drawR(0.5, t)
+
+ self.failIf(r < sigma)
+
+
+
+ def test_drawR_r0_equal_sigma(self):
+ D = 1e-12
+ kf = 1e-8
+ sigma = 1e-8
+ r0 = sigma
+
+ t = 1e-5
+
+ gf = mod.GreensFunction3DRadInf(D, kf, r0, sigma)
+
+ r = gf.drawR(0.5, t)
+ self.failIf(r < sigma)
+
+
+ def test_draw_theta(self):
+ D = 1e-12
+ kf = 1e-8
+ sigma = 1e-8
+ r0 = 2e-8
+ t = 1e-3
+ r = 2.1e-8
+
+ gf = mod.GreensFunction3DRadInf(D, kf, r0, sigma)
+
+ theta = gf.drawTheta(0.5, r, t)
+ self.failIf(theta < 0.0 or theta > numpy.pi)
+
+ theta = gf.drawTheta(0.0, r, t)
+ self.failIf(theta < 0.0 or theta > numpy.pi)
+
+ theta = gf.drawTheta(0.9999999, r, t)
+ self.failIf(theta < 0.0 or theta > numpy.pi)
+
+ '''
+ def test_draw_theta2(self):
+ D = 2e-12
+ kf = 0
+ sigma = 5e-9
+ r0 = 5.064e-9
+ r = 5.05e-9
+ t = 1e-9
+
+ gf = mod.GreensFunction3DRadInf(D, kf, sigma)
+
+ theta = gf.drawTheta(0.5, r, r0, t)
+ self.failIf(theta < 0.0 or theta > numpy.pi)
+
+ #theta = gf.drawTheta(0.0, r, r0, t)
+ #self.failIf(theta < 0.0 or theta > numpy.pi)
+ #theta = gf.drawTheta(0.9999999, r, r0, t)
+ #self.failIf(theta < 0.0 or theta > numpy.pi)
+'''
+
+
+ def test_draw_theta_zerot(self):
+ D = 1e-12
+ kf = 1e-8
+ sigma = 1e-8
+ r = 5e-8
+ r0 = 5e-8
+
+ gf = mod.GreensFunction3DRadInf(D, kf, r0, sigma)
+
+ t = 0.0
+ theta = gf.drawTheta(0.5, r0, t)
+ self.assertEqual(0.0, theta)
+
+ def test_draw_theta_smallt(self):
+
+ D = 1e-12
+ kf = 1e-8
+ sigma = 1e-8
+
+ t = 1e-11
+
+ disp = 3 * math.sqrt(6 * D * t)
+
+ r = sigma + disp + disp
+ r0 = sigma + disp
+
+ gf = mod.GreensFunction3DRadInf(D, kf, r0, sigma)
+ theta = gf.drawTheta(0.5, r, t)
+
+ self.failIf(theta < 0.0 or theta > numpy.pi)
+
+
+ def test_draw_theta_r0_equal_sigma(self):
+ D = 1e-12
+ kf = 1e-8
+ sigma = 1e-8
+ r0 = sigma
+
+ t = 1e-3
+ r = r0
+
+ gf = mod.GreensFunction3DRadInf(D, kf, r0, sigma)
+
+ theta = gf.drawTheta(0.5, r, t)
+ self.failIf(theta < 0.0 or theta > numpy.pi)
+
+ def test_p_int_r_at_s_is_zero(self):
+
+ D = 1e-12
+ sigma = 1e-8
+ kf = 1e-8
+
+ t = 1e-3
+ r0 = 2e-8
+
+ gf = mod.GreensFunction3DRadInf(D, kf, r0, sigma)
+
+ pintr = gf.p_int_r(sigma, t)
+ self.assertEqual(0.0, pintr)
+
+ def test_p_int_r0_at_s_zerot_is_zero(self):
+
+ D = 1e-12
+ sigma = 1e-8
+ kf = 1e-8
+
+ t = 0
+ r0 = 2e-8
+
+ gf = mod.GreensFunction3DRadInf(D, kf, r0, sigma)
+
+ pintr = gf.p_int_r(sigma, t)
+
+ self.assertEqual(0.0, pintr)
+
+
+ def test_p_int_r_large_is_p_survival(self):
+
+ D = 1e-12
+ sigma = 1e-8
+ kf = 1e-8
+
+ t = 1e-3
+ r0 = 2e-8
+
+ gf = mod.GreensFunction3DRadInf(D, kf, r0, sigma)
+
+ pintr = gf.p_int_r(sigma * 1e8, t)
+ psurv = gf.p_survival(t)
+
+ self.assertAlmostEqual(psurv, pintr)
+
+
+ def test_ip_theta_is_int_p_theta(self):
+
+ import scipy.integrate
+
+ D = 1e-12
+ sigma = 1e-8
+ kf = 1e-9
+
+ t = 1e-4
+ r0 = sigma*1.1
+
+ gf = mod.GreensFunction3DRadInf(D, kf, r0, sigma)
+ r = r0
+
+ ip = gf.ip_theta(0.0, r, t)
+ self.assertEqual(0.0, ip)
+
+ resolution = 10
+ for i in range(1, resolution):
+ theta = i * numpy.pi / resolution
+ ip = gf.ip_theta(theta, r, t)
+ result = scipy.integrate.quad(gf.p_theta, 0.0, theta,
+ args=(r, t))
+ np = result[0]
+ #print 'theta, np, ip', theta, np, ip
+ self.assertAlmostEqual(0.0, (np-ip)/ip)
+
+
+ def test_ip_theta_r0_is_sigma(self):
+
+ import scipy.integrate
+
+ D = 1e-12
+ sigma = 1e-8
+ kf = 1e-8
+
+ t = 1e-3
+ r0 = sigma
+
+ gf = mod.GreensFunction3DRadInf(D, kf, r0, sigma)
+ r = 1.1 * r0
+
+ ip = gf.ip_theta(0.0, r, t)
+ self.assertEqual(0.0, ip)
+
+ ip = gf.ip_theta(numpy.pi, r, t)
+ #print 'ip', ip
+ #self.assertEqual(0.0, ip)
+
+
+ def test_ip_theta_pi_is_p_irr(self):
+
+ D = 1e-12
+ sigma = 1e-8
+
+ kf = 0
+
+ t = 1e-3
+ r0 = 1.1e-8
+ r = r0
+
+ gf = mod.GreensFunction3DRadInf(D, kf, r0, sigma)
+
+ ip = gf.ip_theta(numpy.pi, r, t) * (2 * numpy.pi * r * r)
+ pirr = mod.p_irr(r, t, r0, kf, D, sigma)
+ pcorr = gf.ip_corr(numpy.pi, r, t) * (2 * numpy.pi * r * r)
+ pfree = gf.ip_free(numpy.pi, r, t) * (2 * numpy.pi * r * r)
+
+ self.assertNotAlmostEqual(pirr, pfree, 6,
+ 'pcorr estimated to be too small.' + \
+ ' test may not be valid.')
+
+ #print 'PP', pirr, ip, pcorr, pfree
+
+ self.assertNotEqual(0.0, ip)
+ self.assertAlmostEqual(ip/pirr, 1)
+
+ def test_ip_theta_pi_at_sigma_is_p_irr(self):
+
+ import math
+
+ D = 1e-12
+ sigma = 1e-8
+
+ kf = 0
+
+ t = 1e-5
+ r0 = sigma
+ r = r0 + math.sqrt(6 * D * t)
+
+ gf = mod.GreensFunction3DRadInf(D, kf, r0, sigma)
+
+ ip = gf.ip_theta(numpy.pi, r, t) * (2 * numpy.pi * r * r)
+ pirr = mod.p_irr(r, t, r0, kf, D, sigma)
+ pcorr = gf.ip_corr(numpy.pi, r, t) * (2 * numpy.pi * r * r)
+ pfree = gf.ip_free(numpy.pi, r, t) * (2 * numpy.pi * r * r)
+
+ self.assertNotAlmostEqual(pirr, pfree, 7,
+ 'pcorr estimated to be too small.' + \
+ ' test may not be valid.')
+
+ #print 'PP', pirr, ip, pcorr, pfree
+
+ self.assertNotEqual(0.0, ip)
+ self.assertAlmostEqual(ip/pirr, 1)
+
+
+
+ def test_p_theta_never_negative(self):
+
+ D = 1e-12
+ sigma = 1e-8
+ kf = 1e-8
+
+ # smaller t causes problem
+ t = 1e-3
+ r0 = 5e-8
+ r = r0
+
+ gf = mod.GreensFunction3DRadInf(D, kf, r0, sigma)
+
+ pint = gf.ip_theta(numpy.pi, r, t)
+
+ pmin = 0.0
+ resolution = 50
+ for i in range(resolution):
+ theta = i * numpy.pi / resolution
+ p = gf.p_theta(theta, r, t) / pint / resolution
+ pmin = min(pmin, p)
+ #print 'theta: ', theta, '\tp: ', p
+
+ self.failIf(pmin < 0.0, 'Negative p_theta; t= %.16g, %s'
+ % (t, gf.dump()))
+
+
+ def test_ip_theta_never_decrease(self):
+
+ D = 1e-12
+ sigma = 1e-8
+ kf = 1e-8
+
+ # smaller t causes problem
+ t = 1e-3
+ r0 = 5e-8
+ r = r0
+
+ gf = mod.GreensFunction3DRadInf(D, kf, r0, sigma)
+
+ pint_prev = 0.0
+
+ resolution = 50
+ for i in range(resolution):
+ theta = i * numpy.pi / resolution
+ pint = gf.ip_theta(theta, r, t)
+ #print pint
+ self.failIf(pint < pint_prev)
+ pint_prev = pint
+
+
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/ecell4/egfrd/legacy/test/GreensFunction3DSym_test.py b/ecell4/egfrd/legacy/test/GreensFunction3DSym_test.py
new file mode 100755
index 0000000..e4a94fb
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/GreensFunction3DSym_test.py
@@ -0,0 +1,99 @@
+#!/usr/bin/env python
+
+__author__ = 'Koichi Takahashi <shafi at e-cell.org>'
+__license__ = 'GPL'
+__copyright__ = 'Copyright The Molecular Sciences Institute 2006-2007'
+
+
+import unittest
+
+import _greens_functions as mod
+
+import numpy
+
+
+class GreensFunction3DSymTestCase(unittest.TestCase):
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def test_instantiation(self):
+ D = 1e-12
+
+ gf = mod.GreensFunction3DSym(D)
+ self.failIf(gf == None)
+
+ def test_drawR(self):
+ D = 1e-12
+
+ gf = mod.GreensFunction3DSym(D)
+
+ t = 1e-3
+
+ r = gf.drawR(0.5, t)
+ self.failIf(r < 0.0)
+
+ r = gf.drawR(0.0, t)
+ self.failIf(r < 0.0)
+
+ r = gf.drawR(1.0, t)
+ self.failIf(r < 0.0)
+
+ def test_drawR_zerot_is_zero(self):
+
+ D = 1e-12
+
+ gf = mod.GreensFunction3DSym(D)
+
+ t = 0.0
+
+ r = gf.drawR(0.5, t)
+ self.assertEqual(0.0, r)
+
+ r = gf.drawR(0.0, t)
+ self.assertEqual(0.0, r)
+
+ r = gf.drawR(1.0, t)
+ self.assertEqual(0.0, r)
+
+
+ def no_test_ip_r_infinity_is_one(self):
+
+ D = 1e-12
+
+ t = 1e-5
+ r = 2.5e-8
+
+ gf = mod.GreensFunction3DSym(D)
+ ip = gf.ip_r(numpy.inf, t)
+ self.assertEqual(1.0, ip)
+
+ def test_int_p_r_is_ip_r(self):
+
+ import scipy.integrate
+
+ D = 1e-12
+ t = 1e-5
+
+ gf = mod.GreensFunction3DSym(D)
+
+ ip = gf.ip_r(0.0, t)
+ self.assertEqual(0.0, ip)
+
+ maxr = 5e-8
+
+ resolution = 20
+ for i in range(1, resolution):
+ r = i * maxr / resolution
+ ip = gf.ip_r(r, t)
+ result = scipy.integrate.quad(gf.p_r, 0.0, r,
+ args=(t, ))
+ np = result[0]
+ self.assertAlmostEqual(0.0, (np-ip)/ip)
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/ecell4/egfrd/legacy/test/GreensFunction3D_test.py b/ecell4/egfrd/legacy/test/GreensFunction3D_test.py
new file mode 100755
index 0000000..39846bd
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/GreensFunction3D_test.py
@@ -0,0 +1,203 @@
+#!/usr/bin/env python
+
+__author__ = 'Koichi Takahashi <shafi at e-cell.org>'
+__license__ = 'GPL'
+__copyright__ = 'Copyright The Molecular Sciences Institute 2006-2007'
+
+
+import unittest
+
+import _greens_functions as mod
+
+import numpy
+
+
+class GreensFunction3DTestCase(unittest.TestCase):
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def test_instantiation(self):
+ D = 1e-12
+ r0 = 5e-8
+
+ gf = mod.GreensFunction3D(D, r0)
+ self.failIf(gf == None)
+
+ def test_drawR(self):
+ D = 1e-12
+ r0 = 2e-8
+
+ gf = mod.GreensFunction3D(D, r0)
+
+ t = 1e-3
+
+ r = gf.drawR(0.5, t)
+ self.failIf(r < 0.0)
+
+ r = gf.drawR(0.0, t)
+ self.failIf(r < 0.0)
+
+ r = gf.drawR(1.0, t)
+ self.failIf(r < 0.0)
+
+ def test_drawR_zerot_is_r0(self):
+ D = 1e-12
+ r0 = 2e-8
+
+ gf = mod.GreensFunction3D(D, r0)
+
+ t = 0.0
+
+ r = gf.drawR(0.5, t)
+ self.assertEqual(r, r0)
+
+ r = gf.drawR(0.0, t)
+ self.assertEqual(r, r0)
+
+ r = gf.drawR(1.0, t)
+ self.assertEqual(r, r0)
+
+ def test_drawR_smallt(self):
+ D = 1e-12
+ r0 = 2e-8
+
+ gf = mod.GreensFunction3D(D, r0)
+
+ t = 1e-4
+
+ while t > 1e-60:
+ r = gf.drawR(0.5, t)
+ self.failIf(r < 0.0)
+ r = gf.drawR(0.0, t)
+ self.failIf(r < 0.0)
+ r = gf.drawR(1.0, t)
+ self.failIf(r < 0.0)
+ r = gf.drawR(1e-2, t)
+ self.failIf(r < 0.0)
+
+ t *= 1e-3
+
+
+
+ def test_draw_theta(self):
+ D = 1e-12
+ r0 = 5e-8
+ t = 1e-4
+
+ gf = mod.GreensFunction3D(D, r0)
+
+ #r = gf.drawR(0.5, r0, t)
+ r = r0
+
+ theta = gf.drawTheta(0.5, r, t)
+ self.failIf(theta < 0.0 or theta > numpy.pi)
+
+ theta = gf.drawTheta(0.0, r, t)
+ self.failIf(theta < 0.0 or theta > numpy.pi)
+
+ # rnd=1.0 fails on x87. it's not a big problem, but
+ # need to look at it later.
+ theta = gf.drawTheta(0.999999, r, t)
+ self.failIf(theta < 0.0 or theta > numpy.pi)
+
+
+ def test_ip_r_infinity_is_one(self):
+
+ D = 1e-12
+
+ t = 1e-5
+ r0 = 5e-8
+ r = 2.5e-8
+
+ gf = mod.GreensFunction3D(D, r0)
+
+ ip = gf.ip_r(numpy.inf, t)
+ self.assertEqual(1.0, ip)
+
+
+ def test_int_p_r_is_ip_r(self):
+
+ import scipy.integrate
+
+ D = 1e-12
+
+ t = 1e-5
+ r0 = 5e-8
+ r = 2.5e-8
+
+ gf = mod.GreensFunction3D(D, r0)
+
+ ip = gf.ip_r(0.0, t)
+ self.assertEqual(0.0, ip)
+
+ maxr = 1e-6
+
+ resolution = 20
+ for i in range(1, resolution):
+ r = i * maxr / resolution
+ ip = gf.ip_r(r, t)
+ result = scipy.integrate.quad(gf.p_r, 0.0, r,
+ args=(t, ))
+ np = result[0]
+ self.assertAlmostEqual(0.0, (np-ip)/ip)
+
+
+ def test_int_p_theta_is_p_r(self):
+
+ import scipy.integrate
+
+ D = 1e-12
+
+ t = 1e-5
+ r0 = 5e-8
+ r = 2.5e-8
+
+ gf = mod.GreensFunction3D(D, r0)
+
+ ip = gf.ip_theta(numpy.pi, r, t)
+ result = scipy.integrate.quad(gf.p_theta, 0.0, numpy.pi,
+ args=(r, t))
+ np = result[0]
+
+ pr = gf.p_r(r, t) / (2 * numpy.pi * r * r)
+
+ self.assertAlmostEqual(0.0, (pr-ip)/pr)
+ self.assertAlmostEqual(0.0, (pr-np)/pr)
+
+
+
+
+
+ def test_int_p_theta_is_ip_theta(self):
+
+ import scipy.integrate
+
+ D = 1e-12
+
+ t = 1e-3
+ r0 = 5e-8
+ r = 2.5e-8
+
+ gf = mod.GreensFunction3D(D, r0)
+
+ ip = gf.ip_theta(0.0, r, t)
+ self.assertEqual(0.0, ip)
+
+ resolution = 20
+ for i in range(1, resolution):
+ theta = i * numpy.pi / resolution
+ ip = gf.ip_theta(theta, r, t)
+ result = scipy.integrate.quad(gf.p_theta, 0.0, theta,
+ args=(r, t))
+ np = result[0]
+ self.assertAlmostEqual(0.0, (np-ip)/ip)
+
+
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/ecell4/egfrd/legacy/test/Makefile.am b/ecell4/egfrd/legacy/test/Makefile.am
new file mode 100644
index 0000000..fa534d9
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/Makefile.am
@@ -0,0 +1,134 @@
+PYTHON = @PYTHON@
+#PYTHONPATH = $(PYTHONPATH):$(top_srcdir)
+
+CPP_TESTS =\
+DynamicPriorityQueue_test\
+SphericalBesselGenerator_test\
+array_helper_test\
+filters_test\
+MatrixSpace_test\
+MatrixSpaceWithCylinders_test\
+World_test\
+model_test\
+Vector3_test\
+BDPropagator_test\
+range_support_test\
+py_range_converters_test \
+linear_algebra_test\
+geometry_test\
+StructureUtils_test\
+sorted_list_test\
+pointer_as_ref_test\
+EGFRDSimulator_test
+
+PYTHON_TESTS = \
+ BDSimulator_test.py \
+ CylindricalShellContainer_test.py \
+ EGFRDSimulator_test.py \
+ EventScheduler_test.py \
+ GreensFunction3DRadAbs_test.py \
+ GreensFunction3DRadInf_test.py \
+ GreensFunction3DAbs_test.py \
+ GreensFunction3DAbsSym_test.py \
+ GreensFunction3DSym_test.py \
+ GreensFunction3D_test.py \
+ Model_test.py \
+ NetworkRules_test.py \
+ NetworkRulesWrapper_test.py \
+ ReactionRule_test.py \
+ SphericalShellContainer_test.py \
+ freeFunctions_test.py \
+ CylindricalSurface_test.py \
+ PlanarSurface_test.py \
+ utils_test.py \
+ ReactionRecord_test.py
+
+#GreensFunction1DAbsAbs_test.py \
+#GreensFunction1DRadAbs_test.py
+
+TESTS = $(CPP_TESTS) $(PYTHON_TESTS)
+
+TESTS_ENVIRONMENT = PYTHONPATH=$(top_srcdir)
+
+
+EXTRA_DIST=\
+AllTests.cpp\
+DynamicPriorityQueue_test.cpp\
+array_helper_test.cpp\
+filters_test.cpp\
+MatrixSpace_test.cpp\
+alltests.py\
+utils_test.py\
+freeFunctions_test.py\
+EventScheduler_test.py\
+GreensFunction1DAbsAbs_test.py\
+GreensFunction1DRadAbs_test.py\
+GreensFunction3DSym_test.py\
+GreensFunction3D_test.py\
+GreensFunction3DRadInf_test.py\
+GreensFunction3DAbsSym_test.py\
+GreensFunction3DRadAbs_test.py\
+EGFRDSimulator_test.py\
+SphericalShellContainer_test.py\
+CylindricalShellContainer_test.py\
+CylindricalSurface_test.py \
+PlanarSurface_test.py \
+Model_test.py\
+NetworkRules_test.py\
+ReactionRule_test.py\
+ReactionRecord_test.py
+
+#%.py:
+# $(TESTS_ENVIRONMENT) $(PYTHON) $<
+
+INCLUDES = -I$(top_srcdir) $(PYTHON_INCLUDES)
+AM_CXXFLAGS = @CXXFLAGS@ @GSL_CFLAGS@ -Wall -g
+
+check_PROGRAMS = $(CPP_TESTS)
+
+DynamicPriorityQueue_test_SOURCES = \
+DynamicPriorityQueue_test.cpp
+
+SphericalBesselGenerator_test_LDADD = $(GSL_LIBS)
+SphericalBesselGenerator_test_SOURCES = \
+SphericalBesselGenerator_test.cpp ../SphericalBesselGenerator.cpp
+
+array_helper_test_SOURCES = array_helper_test.cpp
+
+filters_test_SOURCES = filters_test.cpp
+
+MatrixSpace_test_SOURCES = MatrixSpace_test.cpp
+MatrixSpace_test_LDADD = $(GSL_LIBS)
+
+MatrixSpaceWithCylinders_test_SOURCES = MatrixSpaceWithCylinders_test.cpp
+
+World_test_SOURCES = World_test.cpp
+
+model_test_SOURCES = model_test.cpp ../Model.cpp ../NetworkRules.cpp ../BasicNetworkRulesImpl.cpp ../SpeciesType.cpp
+
+Vector3_test_SOURCES = Vector3_test.cpp ../Vector3.hpp
+
+BDPropagator_test_SOURCES = BDPropagator_test.cpp ../BasicNetworkRulesImpl.cpp ../NetworkRules.cpp ../Logger.cpp ../ConsoleAppender.cpp ../freeFunctions.cpp ../BDPropagator.hpp
+BDPropagator_test_LDADD = $(GSL_LIBS)
+
+range_support_test_SOURCES = range_support_test.cpp ../utils/range.hpp ../utils/range_support.hpp
+
+linear_algebra_test_SOURCES = linear_algebra_test.cpp ../linear_algebra.hpp
+
+geometry_test_SOURCES = geometry_test.cpp ../geometry.hpp
+
+StructureUtils_test_SOURCES = StructureUtils_test.cpp ../StructureUtils.hpp
+StructureUtils_test_LDADD = $(GSL_LIBS)
+py_range_converters_test_SOURCES = py_range_converters_test.cpp ../peer/range_converters.hpp
+
+pointer_as_ref_test_SOURCES = pointer_as_ref_test.cpp ../utils/pointer_as_ref.hpp
+
+EGFRDSimulator_test_SOURCES = EGFRDSimulator_test.cpp ../EGFRDSimulator.hpp ../Model.cpp ../NetworkRules.cpp ../BasicNetworkRulesImpl.cpp ../SpeciesType.cpp ../freeFunctions.cpp ../Logger.cpp ../ConsoleAppender.cpp ../GreensFunction3D.cpp ../GreensFunction3DAbs.cpp ../GreensFunction3DAbsSym.cpp ../GreensFunction3DRadAbs.cpp ../GreensFunction3DRadAbsBase.cpp ../GreensFunction3DRadInf.cpp ../GreensFunction3DSym.cpp ../SphericalBesselGenerator.cpp ../CylindricalBesselGenerator.cpp ../funcSu [...]
+EGFRDSimulator_test_LIBS = -l at BOOST_REGEX_LIBNAME@ -l at BOOST_DATE_TIME_LIBNAME@
+EGFRDSimulator_test_CPPFLAGS = -DDEBUG
+
+EGFRDSimulator_test_LDADD = $(GSL_LIBS)
+
+sorted_list_test_SOURCES = sorted_list_test.cpp ../sorted_list.hpp
+sorted_list_test_LDADD = $(GSL_LIBS)
+
diff --git a/ecell4/egfrd/legacy/test/MatrixSpaceWithCylinders_test.cpp b/ecell4/egfrd/legacy/test/MatrixSpaceWithCylinders_test.cpp
new file mode 100644
index 0000000..e32c25f
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/MatrixSpaceWithCylinders_test.cpp
@@ -0,0 +1,141 @@
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif /* HAVE_CONFIG_H */
+
+#define BOOST_TEST_MODULE "MatrixSpaceWithCylinders_test"
+
+#include <functional>
+#include <iostream>
+#include <boost/test/included/unit_test.hpp>
+#include <boost/test/floating_point_comparison.hpp>
+#include "Cylinder.hpp"
+#include "MatrixSpace.hpp"
+
+BOOST_AUTO_TEST_CASE(insert)
+{
+ typedef double length_type;
+ typedef int key_type;
+ typedef Cylinder<length_type> mapped_type;
+ typedef MatrixSpace<mapped_type, key_type> oc_type;
+ typedef oc_type::position_type pos;
+ oc_type oc(1000.0, 10);
+ BOOST_CHECK_CLOSE(100., oc.cell_size(), 0.001);
+ {
+ std::pair<oc_type::iterator, bool> ir(
+ oc.update(std::make_pair(
+ 0, oc_type::mapped_type(pos(500, 500, 500), 25, pos(0, 0, 1), 1000))));
+ BOOST_CHECK_EQUAL(true, ir.second); // Normal insert.
+ BOOST_CHECK(oc.end() != oc.find(0)); // Key 0 exists.
+ BOOST_CHECK(oc.end() == oc.find(1)); // Key 1 doesn't exist.
+ }
+ {
+ // Update.
+ std::pair<oc_type::iterator, bool> ir(
+ oc.update(std::make_pair(
+ 0, oc_type::mapped_type(pos(500, 500, 500), 25, pos(0, 0, 1), 1000))));
+ BOOST_CHECK_EQUAL(false, ir.second); // False: this was an update.
+ // ir.first is an iterator to the value you inserted. So accessing
+ // it's second element should return you the object.
+ BOOST_CHECK_EQUAL(oc_type::mapped_type(pos(500, 500, 500), 25, pos(0, 0, 1), 1000),
+ (*ir.first).second);
+ BOOST_CHECK(oc.end() != oc.find(0));
+ BOOST_CHECK(oc.end() == oc.find(1));
+ }
+ {
+ // Another update.
+ std::pair<oc_type::iterator, bool> ir(
+ oc.update(std::make_pair(
+ 0, oc_type::mapped_type(pos(500, 500, 500), 25, pos(0, 0, 1), 1000))));
+ BOOST_CHECK_EQUAL(false, ir.second);
+ BOOST_CHECK_EQUAL(oc_type::mapped_type(pos(500, 500, 500), 25, pos(0, 0, 1), 1000),
+ (*ir.first).second);
+ BOOST_CHECK(oc.end() != oc.find(0));
+ BOOST_CHECK(oc.end() == oc.find(1));
+ }
+}
+
+template<typename Toc_>
+struct collector
+{
+ void operator()(typename Toc_::iterator i,
+ const typename Toc_::position_type& pos_off)
+ {
+ result.insert((*i).first);
+ }
+
+ std::set<typename Toc_::key_type> result;
+};
+
+template<typename Toc_>
+struct collector2
+{
+ void operator()(typename Toc_::iterator i,
+ const typename Toc_::position_type& pos_off)
+ {
+ result.insert((*i).first);
+ }
+ std::set<typename Toc_::key_type> result;
+};
+
+BOOST_AUTO_TEST_CASE(each_neighbor)
+{
+ typedef double length_type;
+ typedef int key_type;
+ typedef Cylinder<length_type> mapped_type;
+ typedef MatrixSpace<mapped_type, key_type> oc_type;
+ typedef oc_type::position_type pos;
+ oc_type oc(1000., 10);
+ BOOST_CHECK_CLOSE(100., oc.cell_size(), 0.001);
+
+ // Insert value 0.
+ oc.update(std::make_pair(0, oc_type::mapped_type(pos(500, 500, 0), 25, pos(0,0,1), 50)));
+ BOOST_CHECK(oc.end() != oc.find(0));
+ BOOST_CHECK(oc.end() == oc.find(1));
+
+ {
+ collector<oc_type> col;
+ // Should return value 0.
+ oc.each_neighbor(oc.index(pos(500, 500, 100)), col);
+ BOOST_CHECK_EQUAL(col.result.size(), 1);
+ BOOST_CHECK(col.result.find(0) != col.result.end());
+ }
+
+ {
+ collector<oc_type> col;
+ // No periodic boundary condition. Should return no values.
+ // Behaviour is unspecified for values at the boundary or out of the
+ // MatrixSpace (x,y,z >= 1000).
+ oc.each_neighbor(oc.index(pos(500, 500, 900)), col);
+ BOOST_CHECK_EQUAL(col.result.size(), 0);
+ }
+
+ {
+ collector2<oc_type> col2;
+ // Periodic boundary condition. Should return element 0 after applying
+ // periodic boundary condition in z (add 1000 to z coordinate of the
+ // origin of the cylinder to be in the same neighbourhood as reference
+ // point), so: (0,0,1000).
+ oc.each_neighbor_cyclic(oc.index(pos(500, 500, 900)), col2);
+ BOOST_CHECK_EQUAL(col2.result.size(), 1);
+ BOOST_CHECK(col2.result.find(0) != col2.result.end());
+ }
+
+ // Insert value 1.
+ oc.update(std::make_pair(1, oc_type::mapped_type(pos(500, 500, 900), 25, pos(0,0,1), 50)));
+ {
+ BOOST_CHECK(oc.end() != oc.find(0));
+ BOOST_CHECK(oc.end() != oc.find(1));
+ BOOST_CHECK(oc.end() == oc.find(2));
+ }
+
+ {
+ collector2<oc_type> col2;
+ // Periodic boundary condition. Should return element 0 (0, 0, 0) and
+ // element 1 (0,0,-1000).
+ oc.each_neighbor_cyclic(oc.index(pos(500, 500, 0)), col2);
+ BOOST_CHECK_EQUAL(col2.result.size(), 2);
+ BOOST_CHECK(col2.result.find(0) != col2.result.end());
+ BOOST_CHECK(col2.result.find(1) != col2.result.end());
+ }
+}
+
diff --git a/ecell4/egfrd/legacy/test/MatrixSpace_test.cpp b/ecell4/egfrd/legacy/test/MatrixSpace_test.cpp
new file mode 100644
index 0000000..0e48300
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/MatrixSpace_test.cpp
@@ -0,0 +1,400 @@
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif /* HAVE_CONFIG_H */
+
+#define BOOST_TEST_MODULE "MatrixSpace_test"
+
+#include <functional>
+#include <iostream>
+#include <cmath>
+#include <set>
+#include <boost/test/included/unit_test.hpp>
+#include <boost/test/floating_point_comparison.hpp>
+#include "Sphere.hpp"
+#include "MatrixSpace.hpp"
+#include "utils/random.hpp"
+#include "GSLRandomNumberGenerator.hpp"
+
+BOOST_AUTO_TEST_CASE(sized)
+{
+ typedef MatrixSpace<Sphere<double>, int> oc_type;
+ typedef oc_type::position_type pos;
+ BOOST_CHECK((is_sized<oc_type>::value));
+ oc_type oc(1.0, 10);
+ BOOST_CHECK_EQUAL(size(oc), 0);
+ oc.update(std::make_pair(0, Sphere<double>(pos(0.2, 0.6, 0.4), 0.05)));
+ BOOST_CHECK_EQUAL(size(oc), 1);
+ oc.update(std::make_pair(1, Sphere<double>(pos(0.2, 0.6, 0.4), 0.05)));
+ BOOST_CHECK_EQUAL(size(oc), 2);
+ oc.update(std::make_pair(1, Sphere<double>(pos(0.1, 0.2, 0.3), 0.05)));
+ BOOST_CHECK_EQUAL(size(oc), 2);
+}
+
+BOOST_AUTO_TEST_CASE(update)
+{
+ typedef MatrixSpace<Sphere<double>, int> oc_type;
+ typedef oc_type::position_type pos;
+ oc_type oc(1.0, 10);
+ BOOST_CHECK_CLOSE(0.1, oc.cell_size(), 0.001);
+
+ {
+ std::pair<oc_type::iterator, bool> ir(
+ oc.update(std::make_pair(
+ 0, oc_type::mapped_type(pos(0.2, 0.6, 0.4), 0.05))));
+ BOOST_CHECK_EQUAL(true, ir.second);
+ BOOST_CHECK(oc.end() != oc.find(0));
+ BOOST_CHECK(oc.end() == oc.find(1));
+ }
+ {
+ std::pair<oc_type::iterator, bool> ir(
+ oc.update(std::make_pair(
+ 0, oc_type::mapped_type(pos(0.2, 0.65, 0.4), 0.05))));
+ BOOST_CHECK_EQUAL(false, ir.second);
+ BOOST_CHECK_EQUAL(oc_type::mapped_type(pos(0.2, 0.65, 0.4), 0.05),
+ (*ir.first).second);
+ BOOST_CHECK(oc.end() != oc.find(0));
+ BOOST_CHECK(oc.end() == oc.find(1));
+ }
+ {
+ std::pair<oc_type::iterator, bool> ir(
+ oc.update(std::make_pair(
+ 0, oc_type::mapped_type(pos(0.2, 0.2, 0.4), 0.05))));
+ BOOST_CHECK_EQUAL(false, ir.second);
+ BOOST_CHECK_EQUAL(oc_type::mapped_type(pos(0.2, 0.2, 0.4), 0.05),
+ (*ir.first).second);
+ BOOST_CHECK(oc.end() != oc.find(0));
+ BOOST_CHECK(oc.end() == oc.find(1));
+ }
+}
+
+BOOST_AUTO_TEST_CASE(erase)
+{
+ typedef MatrixSpace<Sphere<double>, int> oc_type;
+ typedef oc_type::position_type pos;
+
+ for (int i = 0; i < 500; ++i)
+ {
+ oc_type oc(1.0, 10);
+
+ if (i % 50 == 0)
+ {
+ std::cout << "*";
+ std::cout.flush();
+ }
+
+ for (int j = 0; j < i; ++j)
+ {
+ BOOST_CHECK(oc.size() == static_cast<oc_type::size_type>(j));
+ std::pair<oc_type::iterator, bool> ir(
+ oc.update(std::make_pair(
+ j, oc_type::mapped_type(pos(0.2 + 0.0001 * i, 0.6 + 0.0002 * i, 0.4), 0.001))));
+ BOOST_CHECK_EQUAL(true, ir.second);
+ for (int k = 0; k <= j; ++k)
+ BOOST_CHECK(oc.end() != oc.find(k));
+ BOOST_CHECK(oc.end() == oc.find(j + 1));
+ BOOST_CHECK(oc.size() == static_cast<oc_type::size_type>(j + 1));
+ }
+ for (int j = i; --j >= 0;)
+ {
+ for (int k = 0; k <= j; ++k)
+ BOOST_CHECK(oc.end() != oc.find(k));
+ BOOST_CHECK(oc.size() == static_cast<oc_type::size_type>(j + 1));
+ BOOST_CHECK(oc.erase(j));
+ BOOST_CHECK(oc.end() == oc.find(j));
+ BOOST_CHECK(oc.size() == static_cast<oc_type::size_type>(j));
+ }
+ }
+
+ std::cout << std::endl;
+
+ for (int i = 0; i < 500; ++i)
+ {
+ oc_type oc(1.0, 10);
+
+ if (i % 50 == 0)
+ {
+ std::cout << "*";
+ std::cout.flush();
+ }
+
+ for (int j = 0; j < i; ++j)
+ {
+ BOOST_CHECK(oc.size() == static_cast<oc_type::size_type>(j));
+ std::pair<oc_type::iterator, bool> ir(
+ oc.update(std::make_pair(
+ j, oc_type::mapped_type(pos(0.2 + 0.0001 * i, 0.6 + 0.0002 * i, 0.4), 0.001))));
+ BOOST_CHECK_EQUAL(true, ir.second);
+ for (int k = 0; k <= j; ++k)
+ BOOST_CHECK(oc.end() != oc.find(k));
+ BOOST_CHECK(oc.end() == oc.find(j + 1));
+ BOOST_CHECK(oc.size() == static_cast<oc_type::size_type>(j + 1));
+ }
+ for (int j = 0; j < i; ++j)
+ {
+ for (int k = j; k < i; ++k)
+ BOOST_CHECK(oc.end() != oc.find(k));
+ BOOST_CHECK(oc.size() == static_cast<oc_type::size_type>(i - j));
+ BOOST_CHECK(oc.erase(j));
+ BOOST_CHECK(oc.end() == oc.find(j));
+ BOOST_CHECK(oc.size() == static_cast<oc_type::size_type>(i - j - 1));
+ }
+ }
+
+ std::cout << std::endl;
+
+ for (int i = 0; i < 500; ++i)
+ {
+ oc_type oc(1.0, 10);
+ std::vector<int> id_list;
+
+ if (i % 50 == 0)
+ {
+ std::cout << "*";
+ std::cout.flush();
+ }
+
+ for (int j = 0; j < i; ++j)
+ {
+ BOOST_CHECK(oc.size() == static_cast<oc_type::size_type>(j));
+ std::pair<oc_type::iterator, bool> ir(
+ oc.update(std::make_pair(
+ j, oc_type::mapped_type(pos(0.2 + 0.0001 * i, 0.6 + 0.0002 * i, 0.4), 0.001))));
+ BOOST_CHECK_EQUAL(true, ir.second);
+ for (int k = 0; k <= j; ++k)
+ BOOST_CHECK(oc.end() != oc.find(k));
+ BOOST_CHECK(oc.end() == oc.find(j + 1));
+ BOOST_CHECK(oc.size() == static_cast<oc_type::size_type>(j + 1));
+ id_list.push_back(j);
+ }
+
+ GSLRandomNumberGenerator rng;
+ shuffle(rng, id_list);
+
+ for (int j = 0; j < i; ++j)
+ {
+ BOOST_CHECK(oc.size() == static_cast<oc_type::size_type>(i - j));
+ for (int k = 0; k < j; ++k)
+ BOOST_CHECK(oc.end() == oc.find(id_list[k]));
+ for (int k = j; k < i; ++k)
+ BOOST_CHECK(oc.end() != oc.find(id_list[k]));
+ BOOST_CHECK(oc.erase(id_list[j]));
+ BOOST_CHECK(oc.size() == static_cast<oc_type::size_type>(i - j - 1));
+ }
+ }
+
+ std::cout << std::endl;
+}
+
+template<typename Toc_>
+struct collector
+{
+ collector(): result() {}
+
+ void operator()(typename Toc_::iterator i,
+ const typename Toc_::position_type&)
+ {
+ result.insert((*i).first);
+ }
+
+ std::set<typename Toc_::key_type> result;
+};
+
+template<typename Toc_>
+struct collector2
+{
+ void operator()(typename Toc_::iterator i,
+ const typename Toc_::position_type&)
+ {
+ result.insert((*i).first);
+ }
+
+ std::set<typename Toc_::key_type> result;
+};
+
+BOOST_AUTO_TEST_CASE(each_neighbor)
+{
+ typedef MatrixSpace<Sphere<double>, int> oc_type;
+ typedef oc_type::position_type pos;
+ oc_type oc(1.0, 10);
+ BOOST_CHECK_CLOSE(0.1, oc.cell_size(), 0.001);
+
+ oc.update(std::make_pair(0, oc_type::mapped_type(pos(0.2, 0.6, 0.4), 0.05)));
+ BOOST_CHECK(oc.end() != oc.find(0));
+ BOOST_CHECK(oc.end() == oc.find(1));
+ oc.update(std::make_pair(1, oc_type::mapped_type(pos(0.2, 0.7, 0.5), 0.05)));
+ BOOST_CHECK(oc.end() != oc.find(0));
+ BOOST_CHECK(oc.end() != oc.find(1));
+ BOOST_CHECK(oc.end() == oc.find(2));
+ oc.update(std::make_pair(2, oc_type::mapped_type(pos(0.9, 0.1, 0.4), 0.05)));
+ BOOST_CHECK(oc.end() != oc.find(0));
+ BOOST_CHECK(oc.end() != oc.find(1));
+ BOOST_CHECK(oc.end() != oc.find(2));
+ BOOST_CHECK(oc.end() == oc.find(3));
+ oc.update(std::make_pair(3, oc_type::mapped_type(pos(0.9, 0.95, 0.4), 0.05)));
+ BOOST_CHECK(oc.end() != oc.find(0));
+ BOOST_CHECK(oc.end() != oc.find(1));
+ BOOST_CHECK(oc.end() != oc.find(2));
+ BOOST_CHECK(oc.end() != oc.find(3));
+ BOOST_CHECK(oc.end() == oc.find(4));
+
+ {
+ collector<oc_type> col;
+ oc.each_neighbor(oc.index(pos(0.2, 0.6, 0.4)), col);
+ BOOST_CHECK_EQUAL(col.result.size(), 2);
+ BOOST_CHECK(col.result.find(0) != col.result.end());
+ BOOST_CHECK(col.result.find(1) != col.result.end());
+ }
+
+ {
+ collector<oc_type> col;
+ oc.each_neighbor(oc.index(pos(0.0, 0.1, 0.4)), col);
+ BOOST_CHECK_EQUAL(col.result.size(), 0);
+ }
+
+ {
+ collector2<oc_type> col2;
+ oc.each_neighbor_cyclic(oc.index(pos(0.0, 0.1, 0.4)), col2);
+ BOOST_CHECK_EQUAL(col2.result.size(), 1);
+ BOOST_CHECK(col2.result.find(2) != col2.result.end());
+ }
+ {
+ collector2<oc_type> col2;
+ oc.each_neighbor_cyclic(oc.index(pos(0.9, 0.0, 0.4)), col2);
+ BOOST_CHECK_EQUAL(col2.result.size(), 2);
+ BOOST_CHECK(col2.result.find(2) != col2.result.end());
+ BOOST_CHECK(col2.result.find(3) != col2.result.end());
+ }
+}
+
+BOOST_AUTO_TEST_CASE(reupdate)
+{
+ typedef MatrixSpace<Sphere<double>, int> oc_type;
+ typedef oc_type::position_type pos;
+ oc_type oc(1.0, 10);
+ BOOST_CHECK_CLOSE(0.1, oc.cell_size(), 0.001);
+
+ BOOST_CHECK(oc.update(std::make_pair(0, oc_type::mapped_type(pos(0.2, 0.6, 0.4), 0.05))).second);
+ BOOST_CHECK(oc.end() != oc.find(0));
+ BOOST_CHECK(oc.end() == oc.find(1));
+
+ {
+ collector<oc_type> col;
+ oc.each_neighbor(oc.index(pos(0.2, 0.6, 0.4)), col);
+ BOOST_CHECK_EQUAL(col.result.size(), 1);
+ BOOST_CHECK(col.result.find(0) != col.result.end());
+ BOOST_CHECK(col.result.find(1) == col.result.end());
+ }
+
+ BOOST_CHECK(!oc.update(std::make_pair(0, oc_type::mapped_type(pos(0.13, 0.83, 0.43), 0.05))).second);
+ BOOST_CHECK(oc.end() != oc.find(0));
+ BOOST_CHECK(oc.end() == oc.find(1));
+
+ {
+ collector<oc_type> col;
+ oc.each_neighbor(oc.index(pos(0.25, 0.62, 0.43)), col);
+ BOOST_CHECK_EQUAL(col.result.size(), 0);
+ BOOST_CHECK(col.result.find(0) == col.result.end());
+ BOOST_CHECK(col.result.find(1) == col.result.end());
+ }
+
+ {
+ collector<oc_type> col;
+ oc.each_neighbor(oc.index(pos(0.23, 0.84, 0.45)), col);
+ BOOST_CHECK_EQUAL(col.result.size(), 1);
+ BOOST_CHECK(col.result.find(0) != col.result.end());
+ BOOST_CHECK(col.result.find(1) == col.result.end());
+ }
+}
+
+template<typename Toc_>
+struct collector3
+{
+ collector3(): count(0) {}
+
+ void operator()(typename Toc_::iterator i,
+ typename Toc_::position_type const&)
+ {
+ ++count;
+ }
+
+ int count;
+};
+
+template<typename Toc_>
+struct collector4
+{
+ collector4(): count(0) {}
+
+ void operator()(typename Toc_::iterator i,
+ typename Toc_::position_type const&)
+ {
+ ++count;
+ }
+
+ int count;
+};
+
+BOOST_AUTO_TEST_CASE(each_neighbor2)
+{
+ typedef MatrixSpace<Sphere<double>, int> oc_type;
+ typedef oc_type::position_type pos;
+
+ for (double r = 0.01; r < 0.1; r += 0.01)
+ {
+ std::cout << "*";
+ std::cout.flush();
+ for (double o = 0.0; o < 0.9; o += .001)
+ {
+ oc_type oc(1.0, 10);
+ BOOST_CHECK_CLOSE(0.1, oc.cell_size(), 0.001);
+
+ pos centre(o, o, o);
+
+ for (int i = 0; i < 100; ++i)
+ {
+ double t1(M_PI * 2 * (i % 10) / 10.), t2(M_PI * 2 * (i / 10) / 10.);
+ const double _x = cos(t1) * r;
+ const pos p(centre[0] + _x * cos(t2),
+ centre[1] + sin(t1) * r,
+ centre[2] + _x * sin(t2));
+ oc.update(std::make_pair(i, oc_type::mapped_type(p, r)));
+
+
+ collector3<oc_type> col;
+ oc.each_neighbor(oc.index(centre), col);
+ BOOST_CHECK_EQUAL(col.count, i + 1);
+ }
+ }
+ }
+ std::cout << std::endl;
+
+ for (double r = 0.01; r < 0.1; r += 0.01)
+ {
+ std::cout << "*";
+ std::cout.flush();
+ for (double o = 0.0; o < 0.9; o += .01)
+ {
+ oc_type oc(1.0, 10);
+ BOOST_CHECK_CLOSE(0.1, oc.cell_size(), 0.001);
+
+ pos centre(o, o, o);
+
+ for (int i = 0; i < 100; ++i)
+ {
+ double t1(M_PI * 2 * (i % 10) / 10.), t2(M_PI * 2 * (i / 10) / 10.);
+ const double _x = cos(t1) * r;
+ const pos p(centre[0] + _x * cos(t2),
+ centre[1] + sin(t1) * r,
+ centre[2] + _x * sin(t2));
+ oc.update(std::make_pair(i, oc_type::mapped_type(p, r)));
+
+
+ collector4<oc_type> col;
+ oc.each_neighbor_cyclic(oc.index(centre), col);
+ BOOST_CHECK_EQUAL(col.count, i + 1);
+ }
+ }
+ }
+ std::cout << std::endl;
+}
+
diff --git a/ecell4/egfrd/legacy/test/Model_test.py b/ecell4/egfrd/legacy/test/Model_test.py
new file mode 100755
index 0000000..6f48fec
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/Model_test.py
@@ -0,0 +1,38 @@
+#!/usr/bin/env python
+import _gfrd
+import unittest
+
+class ModelTestCase(unittest.TestCase):
+ def setUp(self):
+ self.m = _gfrd.Model()
+
+ def tearDown(self):
+ pass
+
+ def test_network_rules(self):
+ self.assertTrue(isinstance(self.m.network_rules, _gfrd.NetworkRules))
+
+ def test_add_species_type(self):
+ s1 = _gfrd.SpeciesType()
+ try:
+ s1.id
+ except _gfrd.IllegalState:
+ self.assertTrue(True)
+ except:
+ self.fail()
+
+ def test_get_species_type_by_id(self):
+ s1 = _gfrd.SpeciesType()
+ s2 = _gfrd.SpeciesType()
+ self.m.add_species_type(s1)
+ self.m.add_species_type(s2)
+ self.assertNotEqual(s1, s2)
+ self.assertNotEqual(s1.id, s2.id)
+ self.assertTrue(self.m.get_species_type_by_id(s1.id), s1)
+ self.assertTrue(self.m.get_species_type_by_id(s2.id), s2)
+ self.assertTrue(self.m.get_species_type_by_id(s1.id).id, s1.id)
+ self.assertTrue(self.m.get_species_type_by_id(s2.id).id, s2.id)
+
+if __name__ == "__main__":
+ unittest.main()
+
diff --git a/ecell4/egfrd/legacy/test/NetworkRulesWrapper_test.py b/ecell4/egfrd/legacy/test/NetworkRulesWrapper_test.py
new file mode 100755
index 0000000..2b0af08
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/NetworkRulesWrapper_test.py
@@ -0,0 +1,37 @@
+#!/usr/bin/env python
+import _gfrd
+import unittest
+
+class NetworkRulesWrapperTestCase(unittest.TestCase):
+ def setUp(self):
+ self.m = _gfrd.Model()
+ self.s1 = _gfrd.SpeciesType()
+ self.s1['radius'] = '0.1'
+ self.s1['D'] = '0.2'
+ self.m.add_species_type(self.s1)
+ self.s2 = _gfrd.SpeciesType()
+ self.s2['radius'] = '0.3'
+ self.s2['D'] = '0.4'
+ self.m.add_species_type(self.s2)
+ self.nr = _gfrd.NetworkRulesWrapper(self.m.network_rules)
+
+ def tearDown(self):
+ pass
+
+ def test(self):
+ rr = _gfrd.ReactionRule([self.s1], [self.s1, self.s2])
+ rr['k'] = '0.1'
+ self.m.network_rules.add_reaction_rule(rr)
+
+ rr = _gfrd.ReactionRule([self.s1, self.s2], [self.s1])
+ rr['k'] = '0.2'
+ self.m.network_rules.add_reaction_rule(rr)
+
+ rules = set(self.nr.query_reaction_rule(self.s1))
+ self.assertEqual(1, len(rules))
+ rules = set(self.nr.query_reaction_rule(self.s1, self.s2))
+ self.assertEqual(1, len(rules))
+
+if __name__ == "__main__":
+ unittest.main()
+
diff --git a/ecell4/egfrd/legacy/test/NetworkRules_test.py b/ecell4/egfrd/legacy/test/NetworkRules_test.py
new file mode 100755
index 0000000..c67e0fc
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/NetworkRules_test.py
@@ -0,0 +1,70 @@
+#!/usr/bin/env python
+import _gfrd
+import unittest
+
+class NetworkRulesTestCase(unittest.TestCase):
+ def setUp(self):
+ self.m = _gfrd.Model()
+ self.s1 = _gfrd.SpeciesType()
+ self.m.add_species_type(self.s1)
+ self.s2 = _gfrd.SpeciesType()
+ self.m.add_species_type(self.s2)
+
+ def tearDown(self):
+ pass
+
+ def test_add_reaction_rule(self):
+ self.m.network_rules.add_reaction_rule(
+ _gfrd.ReactionRule([self.s1], [self.s1, self.s2]))
+ self.assertTrue(True)
+
+ self.m.network_rules.add_reaction_rule(
+ _gfrd.ReactionRule([self.s2], [self.s1, self.s2]))
+ self.assertTrue(True)
+
+ self.assertRaises(_gfrd.AlreadyExists,
+ lambda: self.m.network_rules.add_reaction_rule(
+ _gfrd.ReactionRule([self.s1], [self.s1, self.s2])))
+
+ self.assertRaises(_gfrd.AlreadyExists,
+ lambda: self.m.network_rules.add_reaction_rule(
+ _gfrd.ReactionRule([self.s2], [self.s1, self.s2])))
+
+ def test_remove_reaction_rule_1(self):
+ # Start with None.
+ assert self.m.network_rules.query_reaction_rule(self.s1) == None
+
+ # Add 1.
+ rr = _gfrd.ReactionRule([self.s1], [self.s1, self.s2])
+ rr['k'] = '0.1'
+ self.m.network_rules.add_reaction_rule(rr)
+
+ rules = set(self.m.network_rules.query_reaction_rule(self.s1))
+ self.assertEqual(1, len(rules))
+
+ # Remove 1 to get 0.
+ self.m.network_rules.remove_reaction_rule(rr)
+ gen = self.m.network_rules.query_reaction_rule(self.s1)
+ assert len(set(gen)) == 0
+
+ def test_query_reaction_rule(self):
+ r1 = _gfrd.ReactionRule([self.s1], [self.s1, self.s2])
+ self.m.network_rules.add_reaction_rule(r1)
+ a = self.m.network_rules.query_reaction_rule(self.s1)
+ self.assertTrue(iter(a) != None)
+ a = list(a)
+ self.assertEqual(1, len(a))
+ self.assertTrue(r1 in a)
+
+ r2 = _gfrd.ReactionRule([self.s1], [self.s1])
+ self.m.network_rules.add_reaction_rule(r2)
+ a = self.m.network_rules.query_reaction_rule(self.s1)
+ self.assertTrue(iter(a) != None)
+ a = list(a)
+ self.assertEqual(2, len(a))
+ self.assertTrue(r1 in a)
+ self.assertTrue(r2 in a)
+
+if __name__ == "__main__":
+ unittest.main()
+
diff --git a/ecell4/egfrd/legacy/test/PlanarSurface_test.py b/ecell4/egfrd/legacy/test/PlanarSurface_test.py
new file mode 100755
index 0000000..b7a67ba
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/PlanarSurface_test.py
@@ -0,0 +1,58 @@
+#!/usr/bin/env python
+
+import unittest
+from egfrd import *
+import _gfrd
+import myrandom
+import model
+
+class PlanarSurfaceTestCase(unittest.TestCase):
+ def setUp(self):
+ self.radius = 1
+ self.L = 10
+ self.world = _gfrd.World(self.L, 3)
+
+ # Random values.
+ self.r1 = 1.6
+ self.r2 = 2.1
+ self.r3 = 2.7
+ self.r4 = 4.2
+
+ def membrane_at_position(self, x, y):
+ return model.create_planar_surface('m1',
+ [x, y, 5],
+ [1, 0, 0],
+ [0, 1, 0],
+ self.L,
+ self.L)
+
+ def test_random_positions(self):
+ # For a plane in x-y, positions x and y should not matter.
+ for x in range(0, self.L):
+ for y in range(0, self.L):
+ m1 = self.membrane_at_position(x, y)
+
+ positions = []
+ for i in range(100):
+ position = m1.random_position(myrandom.rng)
+ position = apply_boundary(position, self.world.world_size)
+ positions.append(position)
+
+ average_position = numpy.average(positions, 0)
+ assert 4 < average_position[0] < 6
+ assert 4 < average_position[1] < 6
+ assert average_position[2] == 5
+
+ def test_projected_point(self):
+ m = self.membrane_at_position(self.r1, self.r2)
+ assert (m.projected_point([2, 2, 2])[0] == [2, 2, 5]).all()
+ assert m.projected_point([2, 2, 2])[1] == -3
+
+ def test_distance_to_plane(self):
+ m1 = self.membrane_at_position(self.r1, self.r2)
+
+ assert self.world.distance(m1.shape, [self.r3, self.r4, 2]) == -3
+ assert self.world.distance(m1.shape, [self.r3, self.r4, 8]) == 3
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/ecell4/egfrd/legacy/test/ReactionRecord_test.py b/ecell4/egfrd/legacy/test/ReactionRecord_test.py
new file mode 100755
index 0000000..e01c896
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/ReactionRecord_test.py
@@ -0,0 +1,54 @@
+#!/usr/bin/python
+
+import _gfrd
+import unittest
+
+class ReactionRecordTestCase(unittest.TestCase):
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def test_instantiation(self):
+ _gfrd.ReactionRecord()
+ try:
+ _gfrd.ReactionRecord(1, 1, 1)
+ self.fail()
+ except:
+ pass
+ try:
+ _gfrd.ReactionRecord(1, 1, 1, 1)
+ self.fail()
+ except:
+ pass
+ try:
+ _gfrd.ReactionRecord(1, (1,), 1)
+ self.fail()
+ except:
+ pass
+ try:
+ _gfrd.ReactionRecord(1, (1,), 1, 1)
+ self.fail()
+ except:
+ pass
+ r = _gfrd.ReactionRecord(1, (_gfrd.ParticleID(0, 0),), _gfrd.ParticleID(0, 1))
+ self.assertEqual(r.reaction_rule_id, 1)
+ self.assertEqual(r.products, (_gfrd.ParticleID(0, 0),))
+ self.assertEqual(r.reactants, (_gfrd.ParticleID(0, 1),))
+
+ r = _gfrd.ReactionRecord(1, (_gfrd.ParticleID(0, 0),), _gfrd.ParticleID(0, 1), _gfrd.ParticleID(0, 2))
+ self.assertEqual(r.reaction_rule_id, 1)
+ self.assertEqual(r.products, (_gfrd.ParticleID(0, 0),))
+ self.assertEqual(r.reactants, (_gfrd.ParticleID(0, 1),
+ _gfrd.ParticleID(0, 2)))
+
+ r = _gfrd.ReactionRecord(1, (_gfrd.ParticleID(0, 0), _gfrd.ParticleID(0, 1)), _gfrd.ParticleID(0, 1), _gfrd.ParticleID(0, 2))
+ self.assertEqual(r.reaction_rule_id, 1)
+ self.assertEqual(r.products, (_gfrd.ParticleID(0, 0),
+ _gfrd.ParticleID(0, 1)))
+ self.assertEqual(r.reactants, (_gfrd.ParticleID(0, 1),
+ _gfrd.ParticleID(0, 2)))
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/ecell4/egfrd/legacy/test/ReactionRule_test.py b/ecell4/egfrd/legacy/test/ReactionRule_test.py
new file mode 100755
index 0000000..cbf397b
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/ReactionRule_test.py
@@ -0,0 +1,108 @@
+#!/usr/bin/env python
+import _gfrd
+import unittest
+
+class ReactionRuleTestCase(unittest.TestCase):
+ def setUp(self):
+ self.m = _gfrd.Model()
+ self.s1 = _gfrd.SpeciesType()
+ self.m.add_species_type(self.s1)
+ self.s2 = _gfrd.SpeciesType()
+ self.m.add_species_type(self.s2)
+
+ def tearDown(self):
+ pass
+
+ def test_instantiation(self):
+ s1, s2 = self.s1, self.s2
+ self.assertTrue(isinstance(
+ _gfrd.ReactionRule([s1], []), _gfrd.ReactionRule))
+ self.assertTrue(isinstance(
+ _gfrd.ReactionRule([s1, s2], []), _gfrd.ReactionRule))
+ self.assertTrue(isinstance(
+ _gfrd.ReactionRule([s1], [s1]), _gfrd.ReactionRule))
+ self.assertTrue(isinstance(
+ _gfrd.ReactionRule([s1, s1], [s1]), _gfrd.ReactionRule))
+ self.assertTrue(isinstance(
+ _gfrd.ReactionRule([s1], [s2]), _gfrd.ReactionRule))
+ self.assertTrue(isinstance(
+ _gfrd.ReactionRule([s1, s1], [s2]), _gfrd.ReactionRule))
+ self.assertTrue(isinstance(
+ _gfrd.ReactionRule([s1, s1], [s1, s1]), _gfrd.ReactionRule))
+ self.assertTrue(isinstance(
+ _gfrd.ReactionRule([s1, s1], [s2, s2]), _gfrd.ReactionRule))
+ self.assertRaises(TypeError, lambda:
+ self.assertTrue(isinstance(
+ _gfrd.ReactionRule([], []), _gfrd.ReactionRule)))
+ self.assertRaises(TypeError, lambda:
+ self.assertTrue(isinstance(
+ _gfrd.ReactionRule([], [s1]), _gfrd.ReactionRule)))
+ self.assertRaises(TypeError, lambda:
+ self.assertTrue(isinstance(
+ _gfrd.ReactionRule([], [s1, s2]), _gfrd.ReactionRule)))
+
+ def test_comparison(self):
+ s1, s2 = self.s1, self.s2
+ self.assertEqual(
+ _gfrd.ReactionRule([s1], []),
+ _gfrd.ReactionRule([s1], []))
+ self.assertEqual(
+ _gfrd.ReactionRule([s1], [s1]),
+ _gfrd.ReactionRule([s1], [s1]))
+ self.assertEqual(
+ _gfrd.ReactionRule([s1], [s2]),
+ _gfrd.ReactionRule([s1], [s2]))
+ self.assertEqual(
+ _gfrd.ReactionRule([s1], [s1, s2]),
+ _gfrd.ReactionRule([s1], [s1, s2]))
+ self.assertEqual(
+ _gfrd.ReactionRule([s1], [s2, s1]),
+ _gfrd.ReactionRule([s1], [s2, s1]))
+ self.assertEqual(
+ _gfrd.ReactionRule([s1], [s1, s2]),
+ _gfrd.ReactionRule([s1], [s2, s1]))
+ self.assertEqual(
+ _gfrd.ReactionRule([s1], [s2, s1]),
+ _gfrd.ReactionRule([s1], [s1, s2]))
+ self.assertNotEqual(
+ _gfrd.ReactionRule([s1], []),
+ _gfrd.ReactionRule([s2], []))
+ self.assertNotEqual(
+ _gfrd.ReactionRule([s1], [s1]),
+ _gfrd.ReactionRule([s2], [s1]))
+ self.assertNotEqual(
+ _gfrd.ReactionRule([s1], [s2]),
+ _gfrd.ReactionRule([s2], [s2]))
+ self.assertNotEqual(
+ _gfrd.ReactionRule([s1], [s1, s2]),
+ _gfrd.ReactionRule([s2], [s1, s2]))
+ self.assertNotEqual(
+ _gfrd.ReactionRule([s1], [s2, s1]),
+ _gfrd.ReactionRule([s2], [s2, s1]))
+ self.assertNotEqual(
+ _gfrd.ReactionRule([s1], [s1, s2]),
+ _gfrd.ReactionRule([s2], [s2, s1]))
+ self.assertNotEqual(
+ _gfrd.ReactionRule([s1], [s2, s1]),
+ _gfrd.ReactionRule([s2], [s1, s2]))
+
+ def test_get_attribute(self):
+ rr = _gfrd.ReactionRule([self.s1], [])
+ rr['k'] = '0.0'
+ self.assertEqual('0.0', rr['k'])
+ rr['k'] = '0.5'
+ self.assertEqual('0.5', rr['k'])
+ rr['name'] = 'R1'
+ self.assertEqual('R1', rr['name'])
+
+ def test_get_reactants_and_get_products(self):
+ s1, s2 = self.s1, self.s2
+ for reactants in [(s1, ), (s2, ), (s1, s2), ]:
+ for products in [(), (s1, ), (s2, ), (s1, s2), ]:
+ r = _gfrd.ReactionRule(reactants, products)
+ self.assertEqual(reactants, tuple(reactants))
+ self.assertEqual(products, tuple(products))
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/ecell4/egfrd/legacy/test/SphericalBesselGenerator_test.cpp b/ecell4/egfrd/legacy/test/SphericalBesselGenerator_test.cpp
new file mode 100644
index 0000000..283fbad
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/SphericalBesselGenerator_test.cpp
@@ -0,0 +1,84 @@
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif /* HAVE_CONFIG_H */
+
+#define BOOST_TEST_MODULE "SphericalBesselGenerator"
+
+#include <boost/mpl/list.hpp>
+#include <boost/test/included/unit_test.hpp>
+#include <boost/test/test_case_template.hpp>
+#include <boost/test/floating_point_comparison.hpp>
+
+#include "SphericalBesselGenerator.hpp"
+
+
+const unsigned int maxn( 51 );
+
+const SphericalBesselGenerator&
+generator( SphericalBesselGenerator::instance() );
+
+
+const Real rel_tol( 1e-5 );
+const Real abs_tol( 1e-11 );
+
+
+
+#define CHECK_ERROR( n, z, a, b, abs_tol, rel_tol ) \
+{\
+ const Real abs_error( fabs( a - b ) ); \
+ const Real rel_error( abs_error / fabs( a ) );\
+ BOOST_CHECK_MESSAGE( abs_error < abs_tol || \
+ rel_error < rel_tol, \
+ "n " << n \
+ << " z " << z \
+ << " abs error " << abs_error \
+ << " rel error " << rel_error );\
+}
+
+
+BOOST_AUTO_TEST_CASE( testJ )
+{
+ const UnsignedInteger resolution( 300 );
+ const Real maxz( std::max( 1000., static_cast<Real>( maxn * maxn ) ) * 2 );
+
+ for( UnsignedInteger i( 0 ); i <= resolution; ++i )
+ {
+ const Real z( maxz * i / resolution );
+
+ for( UnsignedInteger n( 0 ); n <= maxn; ++n )
+ {
+ const Real tj( generator.j( n, z ) );
+ const Real j( gsl_sf_bessel_jl( n, z ) );
+
+ //BOOST_CHECK_CLOSE( j, tj, TOLERANCE );
+ CHECK_ERROR( n, z, j, tj, abs_tol, rel_tol );
+
+ //printf("%d %g\n",n,z);
+ }
+ }
+
+}
+
+
+BOOST_AUTO_TEST_CASE( testY )
+{
+ const UnsignedInteger resolution( 300 );
+ const Real maxz( std::max( 1000., static_cast<Real>( maxn * maxn ) ) * 2 );
+
+ // it is unstable around z==0, so we test for i in [1...resolution]
+ for( UnsignedInteger i( 1 ); i <= resolution; ++i )
+ {
+ const Real z( maxz * i / resolution );
+
+ for( UnsignedInteger n( 0 ); n <= maxn; ++n )
+ {
+ const Real ty( generator.y( n, z ) );
+ const Real y( gsl_sf_bessel_yl( n, z ) );
+
+ CHECK_ERROR( n, z, y, ty, abs_tol, rel_tol );
+
+ //printf("y %d %g\n",n,z);
+ }
+ }
+
+}
diff --git a/ecell4/egfrd/legacy/test/SphericalBesselTable_test.cpp b/ecell4/egfrd/legacy/test/SphericalBesselTable_test.cpp
new file mode 100644
index 0000000..7e9d777
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/SphericalBesselTable_test.cpp
@@ -0,0 +1,44 @@
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif /* HAVE_CONFIG_H */
+
+#define BOOST_TEST_MODULE SphericalBesselTable
+
+#define BOOST_AUTO_TEST_MAIN
+
+#include <boost/mpl/list.hpp>
+#include <boost/test/test_case_template.hpp>
+#include <boost/test/auto_unit_test.hpp>
+#include <boost/test/floating_point_comparison.hpp>
+
+#include "SphericalBesselTable.hpp"
+
+
+const unsigned int maxn( 50 );
+const unsigned int tableResolution( 200 );
+
+static SphericalBesselTable table( maxn, tableResolution );
+
+const Real TOLERANCE( 1e-6 );
+
+
+BOOST_AUTO_TEST_CASE( testJ )
+{
+ const UnsignedInteger resolution( 100 );
+ const Real maxz( table.maxz( maxn ) * 1.1 );
+
+ for( UnsignedInteger i( 0 ); i <= resolution; ++i )
+ {
+ const Real z( i * maxz / resolution );
+
+
+ for( UnsignedInteger n( 0 ); n <= maxn; ++n )
+ {
+ const Real tj( table.j( n, z ) );
+ const Real j( gsl_sf_bessel_jl( n, z ) );
+
+ BOOST_CHECK_CLOSE( j, tj, TOLERANCE );
+ }
+ }
+
+}
diff --git a/ecell4/egfrd/legacy/test/SphericalShellContainer_test.py b/ecell4/egfrd/legacy/test/SphericalShellContainer_test.py
new file mode 100755
index 0000000..81893b8
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/SphericalShellContainer_test.py
@@ -0,0 +1,82 @@
+#!/usr/bin/env python
+
+import unittest
+
+import numpy
+
+from _gfrd import *
+import math
+
+class SphericalShellContainerTestCase(unittest.TestCase):
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testS1(self):
+ c = SphericalShellContainer(1.0, 10)
+ shell_id0 = ShellID(0, 0)
+ shell_id1 = ShellID(0, 1)
+
+ self.assertEqual(10, c.matrix_size)
+ self.assertAlmostEqual(0.1, c.cell_size)
+ self.assertEqual(0, len(c))
+
+ c.update((shell_id0, SphericalShell(DomainID(0, 0), Sphere([0.5, 0.3, 0.2], 0.1))))
+ self.assertEqual(1, len(c))
+
+ c.update((shell_id1, SphericalShell(DomainID(0, 1), Sphere([0.0, 0.3, 0.9], 0.1))))
+ self.assertEqual(2, len(c))
+
+ self.assertAlmostEqual(c[shell_id1].shape.position[0], 0.0)
+ self.assertAlmostEqual(c[shell_id1].shape.position[1], 0.3)
+ self.assertAlmostEqual(c[shell_id1].shape.position[2], 0.9)
+
+ a = c.get_neighbors_within_radius([0.45, 0.23, 0.13], 0.02)
+ # Distance to shell 0 is about 0.01 (should be found).
+ # Distance to shell 1 is about 0.41 (should not be found).
+ self.assertEqual(1, len(a))
+
+
+ def testS2(self):
+ c = SphericalShellContainer(1000, 3)
+ shell_id0 = ShellID(0,0)
+ c.update((shell_id0, SphericalShell(DomainID(0, 0), Sphere([500, 500, 500], 50))))
+
+ # Find neighbors.
+ d = c.get_neighbors_within_radius([500, 500, 600], 75)
+ self.assertAlmostEqual(50, d[0][1])
+
+ # Update with same value.
+ # Returns false, but works fine.
+ c.update((shell_id0, SphericalShell(DomainID(0, 0), Sphere([500, 500, 500], 50))))
+ d = c.get_neighbors_within_radius([500, 500, 600], 75)
+ self.assertAlmostEqual(50, d[0][1])
+
+ # Now a real update.
+ # Returns false, but works fine.
+ c.update((shell_id0, SphericalShell(DomainID(0, 0), Sphere([500, 500, 500], 75))))
+ d = c.get_neighbors_within_radius([500, 500, 600], 100)
+ self.assertAlmostEqual(25, d[0][1])
+
+
+ def testS3(self):
+ c = SphericalShellContainer(1000, 3)
+
+ # A sphere at x=0 with radius=300.
+ shell_id0 = ShellID(0,0)
+ c.update((shell_id0, SphericalShell(DomainID(0, 0), Sphere([0, 500, 500], 300))))
+
+ # Distance to sphere from x=670 should be 30.
+ d = c.get_neighbors([670, 500, 500])
+ self.assertAlmostEqual(30, d[0][1]) # Ok.
+
+ # Distance to sphere from x=660 should be 40.
+ d = c.get_neighbors([660, 500, 500])
+ self.assertAlmostEqual(40, d[0][1])
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/ecell4/egfrd/legacy/test/StructureUtils_test.cpp b/ecell4/egfrd/legacy/test/StructureUtils_test.cpp
new file mode 100644
index 0000000..678bc80
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/StructureUtils_test.cpp
@@ -0,0 +1,61 @@
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif /* HAVE_CONFIG_H */
+
+#define BOOST_TEST_MODULE "StructureUtils"
+
+#include <boost/test/included/unit_test.hpp>
+#include "Box.hpp"
+#include "Cylinder.hpp"
+#include "World.hpp"
+#include "EGFRDSimulator.hpp"
+#include "StructureUtils.hpp"
+
+BOOST_AUTO_TEST_CASE(test_random_position)
+{
+ typedef World<CyclicWorldTraits<Real, Real> > world_type;
+ typedef EGFRDSimulatorTraitsBase<world_type> simulator_traits_type;
+ typedef EGFRDSimulator<simulator_traits_type> simulator_type;
+ typedef world_type::position_type position_type;
+ typedef StructureUtils<simulator_type> structure_utils_type;
+
+ world_type::traits_type::rng_type rng;
+
+ {
+ boost::scoped_ptr<simulator_type::cylindrical_surface_type>
+ cyl_surface(
+ structure_utils_type::create_cylindrical_surface(
+ "test",
+ create_vector<position_type>(1., 1., 1.),
+ .5,
+ create_vector<position_type>(0., 0., -1.),
+ 1.));
+
+ for (int i = 10000; --i >= 0;) {
+ position_type p(structure_utils_type::random_position(*cyl_surface, rng));
+ BOOST_CHECK(p[0] == 1.);
+ BOOST_CHECK(p[1] == 1.);
+ BOOST_CHECK(p[2] < 2.);
+ BOOST_CHECK(p[2] >= -2.);
+ }
+ }
+
+ {
+ boost::scoped_ptr<simulator_type::cuboidal_region_type>
+ cube_surface(
+ structure_utils_type::create_cuboidal_region(
+ "test",
+ create_vector<position_type>(0., 0., 0.),
+ array_gen(1., 1., 1.)));
+
+ for (int i = 10000; --i >= 0;) {
+ position_type p(structure_utils_type::random_position(*cube_surface, rng));
+ BOOST_CHECK(p[0] >= 0.);
+ BOOST_CHECK(p[1] >= 0.);
+ BOOST_CHECK(p[2] >= 0.);
+ BOOST_CHECK(p[0] < 1.);
+ BOOST_CHECK(p[1] < 1.);
+ BOOST_CHECK(p[2] < 1.);
+ }
+ }
+}
diff --git a/ecell4/egfrd/legacy/test/Vector3_test.cpp b/ecell4/egfrd/legacy/test/Vector3_test.cpp
new file mode 100644
index 0000000..1f421fa
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/Vector3_test.cpp
@@ -0,0 +1,18 @@
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif /* HAVE_CONFIG_H */
+
+#define BOOST_TEST_MODULE "Vector3_test"
+
+#include <boost/test/included/unit_test.hpp>
+#include "Vector3.hpp"
+#include "geometry.hpp"
+
+BOOST_AUTO_TEST_CASE(test_cyclic_transpose)
+{
+ typedef Vector3<double> vec;
+
+ BOOST_CHECK_EQUAL(
+ cyclic_transpose(vec(8., 8., 8.), vec(1., 1., 1.), 10.),
+ vec(-2., -2., -2.));
+}
diff --git a/ecell4/egfrd/legacy/test/World_test.cpp b/ecell4/egfrd/legacy/test/World_test.cpp
new file mode 100644
index 0000000..25d5766
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/World_test.cpp
@@ -0,0 +1,346 @@
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif /* HAVE_CONFIG_H */
+
+#define BOOST_TEST_MODULE "World_test"
+
+#include <boost/test/included/unit_test.hpp>
+#include <boost/test/floating_point_comparison.hpp>
+#include <boost/scoped_ptr.hpp>
+#include "utils/range.hpp"
+#include "Defs.hpp"
+#include "World.hpp"
+#include "SerialIDGenerator.hpp"
+#include "abstract_set.hpp"
+
+BOOST_AUTO_TEST_CASE(add_species)
+{
+ typedef World<CyclicWorldTraits<Real, Real> > world_type;
+ typedef world_type::species_id_type species_id;
+ typedef world_type::species_type species;
+ typedef SerialIDGenerator<species_id> id_generator;
+ typedef world_type::particle_id_pair_and_distance_list particle_id_pair_and_distance_list;
+
+ world_type i;
+ id_generator gen;
+ species s1(species(gen(), .3, .05));
+ species s2(species(gen(), .2, .03));
+ species s3(species(gen(), .1, .02));
+
+ BOOST_CHECK_EQUAL(::size(i.get_species()), 0);
+ i.add_species(s1);
+ BOOST_CHECK_EQUAL(::size(i.get_species()), 1);
+ BOOST_CHECK(contains(i.get_species(), s1));
+ BOOST_CHECK(!contains(i.get_species(), s2));
+ BOOST_CHECK(!contains(i.get_species(), s3));
+ i.add_species(s2);
+ BOOST_CHECK_EQUAL(::size(i.get_species()), 2);
+ BOOST_CHECK(contains(i.get_species(), s1));
+ BOOST_CHECK(contains(i.get_species(), s2));
+ BOOST_CHECK(!contains(i.get_species(), s3));
+}
+
+BOOST_AUTO_TEST_CASE(new_particles)
+{
+ typedef World<CyclicWorldTraits<Real, Real> > world_type;
+ typedef world_type::species_id_type species_id;
+ typedef world_type::species_id_type species_id_type;
+ typedef world_type::species_type species;
+ typedef world_type::position_type position_type;
+ typedef world_type::particle_id_pair particle_id_pair;
+ typedef SerialIDGenerator<species_id> id_generator;
+ typedef world_type::particle_id_pair_and_distance_list particle_id_pair_and_distance_list;
+
+ world_type i;
+ id_generator gen;
+ species s1(species(gen(), .3, .05));
+ species s2(species(gen(), .3, .08));
+ i.add_species(s1);
+ i.add_species(s2);
+
+ BOOST_CHECK(contains(i.get_species(), s1));
+ BOOST_CHECK(contains(i.get_species(), s2));
+
+ particle_id_pair p1(i.new_particle(s1.id(), position_type(.2, .2, .2)));
+ particle_id_pair p2(i.new_particle(s2.id(), position_type(.29, .27, .28)));
+ BOOST_CHECK(p2.first != p1.first);
+
+ BOOST_CHECK(!boost::scoped_ptr<particle_id_pair_and_distance_list>(i.check_overlap(p1.second.shape(), array_gen(p1.first))));
+ BOOST_CHECK(!boost::scoped_ptr<particle_id_pair_and_distance_list>(i.check_overlap(p2.second.shape(), array_gen(p2.first))));
+
+ BOOST_CHECK(!i.check_overlap(p1.second.shape(), p1.first));
+ BOOST_CHECK(!i.check_overlap(p2.second.shape(), p2.first));
+
+ particle_id_pair p3(i.new_particle(s1.id(), position_type(.35, .32, .34)));
+ BOOST_CHECK(p3.first != p1.first);
+ BOOST_CHECK(p3.first != p2.first);
+
+ BOOST_CHECK(!boost::scoped_ptr<particle_id_pair_and_distance_list>(i.check_overlap(p1.second.shape(), array_gen(p1.first))));
+ BOOST_CHECK(boost::scoped_ptr<particle_id_pair_and_distance_list>(i.check_overlap(p2.second.shape(), array_gen(p2.first))));
+ BOOST_CHECK(boost::scoped_ptr<particle_id_pair_and_distance_list>(i.check_overlap(p2.second.shape(), array_gen(p1.first, p2.first))));
+ BOOST_CHECK(!boost::scoped_ptr<particle_id_pair_and_distance_list>(i.check_overlap(p2.second.shape(), array_gen(p2.first, p3.first))));
+ BOOST_CHECK(boost::scoped_ptr<particle_id_pair_and_distance_list>(i.check_overlap(p3.second.shape(), array_gen(p3.first))));
+ BOOST_CHECK(!boost::scoped_ptr<particle_id_pair_and_distance_list>(i.check_overlap(p3.second.shape(), array_gen(p2.first, p3.first))));
+ BOOST_CHECK(boost::scoped_ptr<particle_id_pair_and_distance_list>(i.check_overlap(p3.second.shape(), array_gen(p1.first, p3.first))));
+
+ BOOST_CHECK(!i.check_overlap(p1.second.shape(), p1.first));
+ BOOST_CHECK(i.check_overlap(p2.second.shape(), p2.first));
+ BOOST_CHECK(boost::scoped_ptr<particle_id_pair_and_distance_list>(i.check_overlap(p2.second.shape(), array_gen(p1.first, p2.first))));
+ BOOST_CHECK(!boost::scoped_ptr<particle_id_pair_and_distance_list>(i.check_overlap(p2.second.shape(), array_gen(p3.first, p2.first))));
+ BOOST_CHECK(i.check_overlap(p3.second.shape(), p3.first));
+ BOOST_CHECK(!boost::scoped_ptr<particle_id_pair_and_distance_list>(i.check_overlap(p3.second.shape(), array_gen(p2.first, p3.first))));
+ BOOST_CHECK(boost::scoped_ptr<particle_id_pair_and_distance_list>(i.check_overlap(p3.second.shape(), array_gen(p1.first, p3.first))));
+}
+
+BOOST_AUTO_TEST_CASE(get_particle)
+{
+ typedef World<CyclicWorldTraits<Real, Real> > world_type;
+ typedef world_type::species_id_type species_id;
+ typedef world_type::species_id_type species_id_type;
+ typedef world_type::species_type species;
+ typedef world_type::position_type position_type;
+ typedef world_type::particle_id_pair particle_id_pair;
+ typedef SerialIDGenerator<species_id> id_generator;
+ typedef world_type::particle_id_pair_and_distance_list particle_id_pair_and_distance_list;
+
+ world_type i;
+ id_generator gen;
+ species s1(species(gen(), .3, .05));
+ species s2(species(gen(), .3, .08));
+ i.add_species(s1);
+ i.add_species(s2);
+
+ particle_id_pair p1(i.new_particle(s1.id(), position_type(.2, .2, .2)));
+ particle_id_pair p2(i.new_particle(s2.id(), position_type(.29, .27, .28)));
+
+ BOOST_CHECK(i.get_particle(p1.first).second == p1.second);
+ BOOST_CHECK(i.get_particle(p2.first).second == p2.second);
+}
+
+BOOST_AUTO_TEST_CASE(transaction_1)
+{
+ typedef World<CyclicWorldTraits<Real, Real> > world_type;
+ typedef world_type::species_id_type species_id;
+ typedef world_type::species_id_type species_id_type;
+ typedef world_type::species_type species;
+ typedef world_type::position_type position_type;
+ typedef world_type::particle_id_pair particle_id_pair;
+ typedef SerialIDGenerator<species_id> id_generator;
+ typedef world_type::particle_id_pair_and_distance_list particle_id_pair_and_distance_list;
+
+ world_type i;
+ id_generator gen;
+ species s1(species(gen(), .3, .05));
+ species s2(species(gen(), .3, .08));
+ i.add_species(s1);
+ i.add_species(s2);
+
+ particle_id_pair p1, p2;
+ {
+ boost::scoped_ptr<world_type::transaction_type> tx(i.create_transaction());
+
+ new (&p1) particle_id_pair(tx->new_particle(s1.id(), position_type(.2, .2, .2)));
+ new (&p2) particle_id_pair(tx->new_particle(s2.id(), position_type(.29, .27, .28)));
+
+ BOOST_CHECK(tx->get_particle(p1.first).second == p1.second);
+ BOOST_CHECK(tx->get_particle(p2.first).second == p2.second);
+ BOOST_CHECK(i.get_particle(p1.first).second == p1.second);
+ BOOST_CHECK(i.get_particle(p2.first).second == p2.second);
+
+ BOOST_CHECK(cue(*boost::scoped_ptr<world_type::particle_id_pair_generator>(tx->get_added_particles()), p1));
+ BOOST_CHECK(cue(*boost::scoped_ptr<world_type::particle_id_pair_generator>(tx->get_added_particles()), p2));
+ tx->rollback();
+ }
+
+ BOOST_CHECK_THROW(i.get_particle(p1.first), not_found);
+ BOOST_CHECK_THROW(i.get_particle(p2.first), not_found);
+}
+
+BOOST_AUTO_TEST_CASE(transaction_2)
+{
+ typedef World<CyclicWorldTraits<Real, Real> > world_type;
+ typedef world_type::species_id_type species_id;
+ typedef world_type::species_id_type species_id_type;
+ typedef world_type::species_type species;
+ typedef world_type::position_type position_type;
+ typedef world_type::particle_id_pair particle_id_pair;
+ typedef SerialIDGenerator<species_id> id_generator;
+ typedef world_type::particle_id_pair_and_distance_list particle_id_pair_and_distance_list;
+
+ world_type i;
+ id_generator gen;
+ species s1(species(gen(), .3, .05));
+ species s2(species(gen(), .3, .08));
+ i.add_species(s1);
+ i.add_species(s2);
+
+ particle_id_pair p1, p2;
+ {
+ boost::scoped_ptr<world_type::transaction_type> tx(i.create_transaction());
+
+ new (&p1) particle_id_pair(tx->new_particle(s1.id(), position_type(.2, .2, .2)));
+ new (&p2) particle_id_pair(tx->new_particle(s2.id(), position_type(.29, .27, .28)));
+
+ BOOST_CHECK(tx->get_particle(p1.first).second == p1.second);
+ BOOST_CHECK(tx->get_particle(p2.first).second == p2.second);
+ BOOST_CHECK(i.get_particle(p1.first).second == p1.second);
+ BOOST_CHECK(i.get_particle(p2.first).second == p2.second);
+ BOOST_CHECK(cue(*boost::scoped_ptr<world_type::particle_id_pair_generator>(tx->get_added_particles()), p1));
+ BOOST_CHECK(cue(*boost::scoped_ptr<world_type::particle_id_pair_generator>(tx->get_added_particles()), p2));
+ }
+
+ BOOST_CHECK(i.get_particle(p1.first).second == p1.second);
+ BOOST_CHECK(i.get_particle(p2.first).second == p2.second);
+}
+
+BOOST_AUTO_TEST_CASE(transaction_3)
+{
+ typedef World<CyclicWorldTraits<Real, Real> > world_type;
+ typedef world_type::species_id_type species_id;
+ typedef world_type::species_id_type species_id_type;
+ typedef world_type::species_type species;
+ typedef world_type::position_type position_type;
+ typedef world_type::particle_id_pair particle_id_pair;
+ typedef SerialIDGenerator<species_id> id_generator;
+ typedef world_type::particle_id_pair_and_distance_list particle_id_pair_and_distance_list;
+
+ world_type i;
+ id_generator gen;
+ species s1(species(gen(), .3, .05));
+ species s2(species(gen(), .3, .08));
+ i.add_species(s1);
+ i.add_species(s2);
+
+ particle_id_pair p1(i.new_particle(s1.id(), position_type(.2, .2, .2)));
+ particle_id_pair p2(i.new_particle(s2.id(), position_type(.29, .27, .28)));
+ particle_id_pair p3;
+
+ {
+ boost::scoped_ptr<world_type::transaction_type> tx(i.create_transaction());
+
+ new (&p3) particle_id_pair(tx->new_particle(s1.id(), position_type(.4, .2, .1)));
+
+ BOOST_CHECK(tx->get_particle(p1.first).second == p1.second);
+ BOOST_CHECK(tx->get_particle(p2.first).second == p2.second);
+ BOOST_CHECK(tx->get_particle(p3.first).second == p3.second);
+ BOOST_CHECK(i.get_particle(p1.first).second == p1.second);
+ BOOST_CHECK(i.get_particle(p2.first).second == p2.second);
+ BOOST_CHECK(i.get_particle(p3.first).second == p3.second);
+
+ tx->remove_particle(p1.first);
+ BOOST_CHECK_THROW(tx->get_particle(p1.first), not_found);
+ BOOST_CHECK(tx->get_particle(p2.first).second == p2.second);
+ BOOST_CHECK_THROW(i.get_particle(p1.first), not_found);
+
+ BOOST_CHECK(!cue(*boost::scoped_ptr<world_type::particle_id_pair_generator>(tx->get_added_particles()), p1));
+ BOOST_CHECK(!cue(*boost::scoped_ptr<world_type::particle_id_pair_generator>(tx->get_added_particles()), p2));
+ BOOST_CHECK(cue(*boost::scoped_ptr<world_type::particle_id_pair_generator>(tx->get_added_particles()), p3));
+ BOOST_CHECK(cue(*boost::scoped_ptr<world_type::particle_id_pair_generator>(tx->get_removed_particles()), p1));
+ BOOST_CHECK(!cue(*boost::scoped_ptr<world_type::particle_id_pair_generator>(tx->get_removed_particles()), p2));
+ BOOST_CHECK(!cue(*boost::scoped_ptr<world_type::particle_id_pair_generator>(tx->get_removed_particles()), p3));
+ BOOST_CHECK(!cue(*boost::scoped_ptr<world_type::particle_id_pair_generator>(tx->get_modified_particles()), p1));
+ BOOST_CHECK(!cue(*boost::scoped_ptr<world_type::particle_id_pair_generator>(tx->get_modified_particles()), p2));
+ BOOST_CHECK(!cue(*boost::scoped_ptr<world_type::particle_id_pair_generator>(tx->get_modified_particles()), p3));
+
+ tx->rollback();
+ }
+
+ BOOST_CHECK(i.get_particle(p1.first).second == p1.second);
+ BOOST_CHECK(i.get_particle(p2.first).second == p2.second);
+ BOOST_CHECK_THROW(i.get_particle(p3.first), not_found);
+}
+
+BOOST_AUTO_TEST_CASE(transaction_4)
+{
+ typedef World<CyclicWorldTraits<Real, Real> > world_type;
+ typedef world_type::species_id_type species_id;
+ typedef world_type::species_id_type species_id_type;
+ typedef world_type::species_type species;
+ typedef world_type::position_type position_type;
+ typedef world_type::particle_id_pair particle_id_pair;
+ typedef SerialIDGenerator<species_id> id_generator;
+ typedef world_type::particle_id_pair_and_distance_list particle_id_pair_and_distance_list;
+
+ world_type i;
+ id_generator gen;
+ species s1(species(gen(), .3, .05));
+ species s2(species(gen(), .3, .08));
+ i.add_species(s1);
+ i.add_species(s2);
+
+ particle_id_pair p1(i.new_particle(s1.id(), position_type(.2, .2, .2)));
+ particle_id_pair p2(i.new_particle(s2.id(), position_type(.29, .27, .28)));
+
+ {
+ boost::scoped_ptr<world_type::transaction_type> tx(i.create_transaction());
+
+ BOOST_CHECK(tx->get_particle(p1.first).second == p1.second);
+ BOOST_CHECK(tx->get_particle(p2.first).second == p2.second);
+ BOOST_CHECK(i.get_particle(p1.first).second == p1.second);
+ BOOST_CHECK(i.get_particle(p2.first).second == p2.second);
+
+ {
+ particle_id_pair::second_type new_p(p2.second);
+ new_p.position() = position_type(.35, .30, .38);
+ tx->update_particle(particle_id_pair(p1.first, new_p));
+ }
+ tx->remove_particle(p1.first);
+ BOOST_CHECK_THROW(tx->get_particle(p1.first), not_found);
+ BOOST_CHECK(tx->get_particle(p2.first).second == p2.second);
+ BOOST_CHECK_THROW(i.get_particle(p1.first), not_found);
+
+ BOOST_CHECK(!cue(*boost::scoped_ptr<world_type::particle_id_pair_generator>(tx->get_added_particles()), p1));
+ BOOST_CHECK(!cue(*boost::scoped_ptr<world_type::particle_id_pair_generator>(tx->get_added_particles()), p2));
+ BOOST_CHECK(cue(*boost::scoped_ptr<world_type::particle_id_pair_generator>(tx->get_removed_particles()), p1));
+ BOOST_CHECK(!cue(*boost::scoped_ptr<world_type::particle_id_pair_generator>(tx->get_removed_particles()), p2));
+ BOOST_CHECK(!cue(*boost::scoped_ptr<world_type::particle_id_pair_generator>(tx->get_modified_particles()), p1));
+ BOOST_CHECK(!cue(*boost::scoped_ptr<world_type::particle_id_pair_generator>(tx->get_modified_particles()), p2));
+
+ tx->rollback();
+ }
+
+ BOOST_CHECK(i.get_particle(p1.first).second == p1.second);
+ BOOST_CHECK(i.get_particle(p2.first).second == p2.second);
+}
+
+BOOST_AUTO_TEST_CASE(particle_pool)
+{
+ typedef World<CyclicWorldTraits<Real, Real> > world_type;
+ typedef world_type::species_id_type species_id;
+ typedef world_type::species_id_type species_id_type;
+ typedef world_type::species_type species;
+ typedef world_type::position_type position_type;
+ typedef world_type::particle_id_pair particle_id_pair;
+ typedef world_type::particle_type particle_type;
+ typedef SerialIDGenerator<species_id> id_generator;
+ typedef world_type::particle_id_pair_and_distance_list particle_id_pair_and_distance_list;
+
+ world_type i;
+ id_generator gen;
+ species s1(species(gen(), .3, .05));
+ species s2(species(gen(), .3, .08));
+ i.add_species(s1);
+ i.add_species(s2);
+
+ BOOST_CHECK(contains(i.get_species(), s1));
+ BOOST_CHECK(contains(i.get_species(), s2));
+
+ particle_id_pair p1(i.new_particle(s1.id(), position_type(.2, .2, .2)));
+ particle_id_pair p2(i.new_particle(s1.id(), position_type(.2, .2, .2)));
+ particle_id_pair p3(i.new_particle(s2.id(), position_type(.29, .27, .28)));
+ BOOST_CHECK_EQUAL(i.num_particles(), 3);
+ BOOST_CHECK(contains(i.get_particle_ids(s1.id()), p1.first));
+ BOOST_CHECK(contains(i.get_particle_ids(s1.id()), p2.first));
+ BOOST_CHECK(!contains(i.get_particle_ids(s1.id()), p3.first));
+ BOOST_CHECK(!contains(i.get_particle_ids(s2.id()), p1.first));
+ BOOST_CHECK(!contains(i.get_particle_ids(s2.id()), p2.first));
+ BOOST_CHECK(contains(i.get_particle_ids(s2.id()), p3.first));
+
+ i.update_particle(particle_id_pair(p1.first, particle_type(s2.id(), p1.second.shape(), p1.second.D())));
+ BOOST_CHECK(!contains(i.get_particle_ids(s1.id()), p1.first));
+ BOOST_CHECK(contains(i.get_particle_ids(s1.id()), p2.first));
+ BOOST_CHECK(!contains(i.get_particle_ids(s1.id()), p3.first));
+ BOOST_CHECK(contains(i.get_particle_ids(s2.id()), p1.first));
+ BOOST_CHECK(!contains(i.get_particle_ids(s2.id()), p2.first));
+ BOOST_CHECK(contains(i.get_particle_ids(s2.id()), p3.first));
+}
diff --git a/ecell4/egfrd/legacy/test/alltests.py b/ecell4/egfrd/legacy/test/alltests.py
new file mode 100755
index 0000000..b073f6e
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/alltests.py
@@ -0,0 +1,20 @@
+#!/usr/bin/env python
+
+import unittest
+import os.path
+import glob
+
+def suite():
+
+ test_files = glob.glob('*_test.py')
+ modules_to_test = [os.path.splitext(file)[0] for file in test_files]
+
+ alltests = unittest.TestSuite()
+
+ for module in map(__import__, modules_to_test):
+ alltests.addTest(unittest.findTestCases(module))
+
+ return alltests
+
+if __name__ == '__main__':
+ unittest.main(defaultTest='suite')
diff --git a/ecell4/egfrd/legacy/test/array_helper_test.cpp b/ecell4/egfrd/legacy/test/array_helper_test.cpp
new file mode 100644
index 0000000..1e57bd8
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/array_helper_test.cpp
@@ -0,0 +1,16 @@
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif /* HAVE_CONFIG_H */
+
+#define BOOST_TEST_MODULE "array_helper_test"
+
+#include <boost/test/included/unit_test.hpp>
+#include "utils/array_helper.hpp"
+
+BOOST_AUTO_TEST_CASE(basic)
+{
+ boost::array<int, 3> a(array_gen<int>(1, 2, 3));
+ BOOST_CHECK_EQUAL(1, a[0]);
+ BOOST_CHECK_EQUAL(2, a[1]);
+ BOOST_CHECK_EQUAL(3, a[2]);
+}
diff --git a/ecell4/egfrd/legacy/test/filters_test.cpp b/ecell4/egfrd/legacy/test/filters_test.cpp
new file mode 100644
index 0000000..81d3926
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/filters_test.cpp
@@ -0,0 +1,84 @@
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif /* HAVE_CONFIG_H */
+
+#define BOOST_TEST_MODULE "filters_test"
+
+#include <boost/test/included/unit_test.hpp>
+#include "MatrixSpace.hpp"
+#include "Sphere.hpp"
+#include "Cylinder.hpp"
+#include "filters.hpp"
+
+template<typename Toc_>
+struct collector
+{
+ typedef typename Toc_::position_type::value_type distance_type;
+ collector(): result() {}
+
+ void operator()(typename Toc_::iterator i, distance_type dist)
+ {
+ result.insert(std::make_pair((*i).first, dist));
+ }
+ std::map<typename Toc_::key_type, distance_type> result;
+};
+
+
+BOOST_AUTO_TEST_CASE(spheres)
+{
+ typedef MatrixSpace<Sphere<double>, int> oc_type;
+ typedef oc_type::position_type pos;
+ oc_type oc(1.0, 10);
+
+ oc.update(std::make_pair(0, oc_type::mapped_type(pos(0.2, 0.6, 0.4), 0.15)));
+ oc.update(std::make_pair(1, oc_type::mapped_type(pos(0.2, 0.7, 0.5), 0.05)));
+ oc.update(std::make_pair(2, oc_type::mapped_type(pos(0.9, 0.1, 0.4), 0.07)));
+ oc.update(std::make_pair(3, oc_type::mapped_type(pos(0.9, 0.95, 0.4), 0.1)));
+
+ // Collect all spheres from oc who (partly) lie within the radius of
+ // sphere 1.
+ collector<oc_type> col;
+ oc_type::const_iterator f(oc.find(1));
+ take_neighbor(oc, col, (*f).second);
+
+ BOOST_CHECK_EQUAL(col.result.size(), 2);
+ // Sphere 0 overlaps with sphere 1.
+ BOOST_CHECK(std::fabs(std::sqrt(0.1 * 0.1 * 2) - 0.15 - col.result[0]) <
+ 1e-8);
+ // Distance to shell of sphere 1.
+ BOOST_CHECK(std::fabs(-0.05 - col.result[1]) < 1e-8);
+
+ BOOST_CHECK(col.result.end() == col.result.find(2));
+ BOOST_CHECK(col.result.end() == col.result.find(3));
+}
+
+BOOST_AUTO_TEST_CASE(cylinders)
+{
+ typedef double length_type;
+ typedef int key_type;
+ typedef Cylinder<length_type> mapped_type;
+ typedef Sphere<length_type> sphere_type;
+ typedef MatrixSpace<mapped_type, key_type> oc_type;
+ typedef oc_type::position_type pos;
+ oc_type oc(1.0, 10);
+
+ oc.update(std::make_pair(0, mapped_type(pos(0.2, 0.7, 0.7), 0.15, pos(0,0,1), 0.15)));
+ oc.update(std::make_pair(1, mapped_type(pos(0.2, 0.7, 0.5), 0.50, pos(0,0,1), 0.05)));
+ oc.update(std::make_pair(2, mapped_type(pos(0.9, 0.1, 0.4), 0.07, pos(0,0,1), 0.07)));
+ oc.update(std::make_pair(3, mapped_type(pos(0.9, 0.95, 0.4), 0.1, pos(0,0,1), 0.1)));
+
+ std::cout << std::endl << std::endl;
+ typedef collector<oc_type> col_type;
+ col_type col;
+
+ // Collect all cylinders from oc who (partly) lie within the radius of
+ // sphere s.
+ sphere_type s = sphere_type(pos(0.2, 0.7, 0.5), 0.05);
+ take_neighbor(oc, col, s);
+ BOOST_CHECK(std::fabs(0.05 - col.result[0]) < 1e-8);
+ // pos lies within cylinder 1.
+ BOOST_CHECK(std::fabs(-0.05 - col.result[1]) < 1e-8);
+
+ BOOST_CHECK(col.result.end() == col.result.find(2));
+ BOOST_CHECK(col.result.end() == col.result.find(3));
+}
diff --git a/ecell4/egfrd/legacy/test/fpp1test.py b/ecell4/egfrd/legacy/test/fpp1test.py
new file mode 100755
index 0000000..e1f1694
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/fpp1test.py
@@ -0,0 +1,40 @@
+#!/usr/bin/env python
+
+import math
+import numpy
+
+
+
+Pi = numpy.pi
+
+'''
+g(r,t) = [1 / (2 a2 r)] Sum_j j sin(Pi j r)
+ exp(- D ((Pi j)2 t) / a2)
+'''
+
+def fpp1(r,t,D,a):
+ a1 = (1.0 / (2.0 * a*a * r))
+
+ a2 = 0.0
+ j = 1
+ while True:
+ term = j * math.sin(Pi * j * r) *\
+ math.exp(- (D * t * (Pi * j)**2) / (a * a))
+ a2 += term
+ #print term
+ if abs(a2 * 1e-18) > abs(term) or term == 0:
+ break
+
+ j += 1
+
+ print a1,a2
+
+
+ return a1 * a2 * 4.0 * Pi * r * r
+
+
+from scipy import integrate
+
+print 'fpp', fpp1(1,1e-2,1,1.0)
+
+print integrate.quad(fpp1, 0.0, 1.2, args=(1e-1,1.0,1.2))
diff --git a/ecell4/egfrd/legacy/test/freeFunctions_test.py b/ecell4/egfrd/legacy/test/freeFunctions_test.py
new file mode 100755
index 0000000..3696b7c
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/freeFunctions_test.py
@@ -0,0 +1,190 @@
+#!/usr/bin/env python
+
+__author__ = 'Koichi Takahashi <shafi at e-cell.org>'
+__license__ = 'GPL'
+__copyright__ = 'Copyright The Molecular Sciences Institute 2006-2007'
+
+
+import unittest
+
+import _greens_functions as mod
+
+import math
+import numpy
+
+
+class FreeFunctionsTestCase(unittest.TestCase):
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def test_int_p_theta_free_is_ip_theta_free(self):
+
+ import scipy.integrate
+
+ D = 1e-12
+ t = 1e-5
+ sigma = 1e-9
+ r0 = 1e-9
+ r = r0
+ kf = 1e-18
+
+ ip = mod.ip_theta_free(0.0, r, r0, t, D)
+ self.assertEqual(0.0, ip)
+
+ resolution = 10
+ for i in range(1, resolution):
+ theta = i * numpy.pi / resolution
+ ip = mod.ip_theta_free(theta, r, r0, t, D)
+ result = scipy.integrate.quad(mod.p_theta_free, 0.0, theta,
+ args=(r, r0, t, D))
+ np = result[0]
+ self.assertAlmostEqual(0.0, (np-ip)/ip)
+
+
+ def test_int_p_irr_is_p_survival_irr(self):
+
+ import scipy.integrate
+
+ D = 1e-12
+ t = 1e-5
+ sigma = 1e-9
+ r0 = 1e-9
+ kf = 1e-18
+
+
+ for i in range(1, 20):
+ S = mod.p_survival_irr(t, r0 * i, kf, D, sigma)
+ result = scipy.integrate.quad(mod.p_irr, sigma, sigma * 1e3,
+ args=(t, r0 * i, kf, D, sigma))
+ ip = result[0]
+ self.failIf(ip == 0)
+ self.assertAlmostEqual(0.0, (S-ip)/ip)
+
+ def test_int_g_bd_is_I_bd(self):
+
+ import scipy.integrate
+ import math
+
+ D = 1e-12
+ t = 1e-6
+ sigma = 1e-8
+ r0 = 1e-9
+
+ ibd = mod.I_bd(sigma, t, D)
+ #print ibd
+ result = scipy.integrate.quad(mod.g_bd, sigma,
+ sigma + 6 * math.sqrt(6 * D * t),
+ args=(sigma, t, D))
+ igbd = result[0]
+ #print igbd
+ self.failIf(ibd == 0)
+ self.assertAlmostEqual(0.0, (ibd-igbd)/ibd)
+
+
+ def test_int_g_bd_is_I_bd_smallt(self):
+
+ import scipy.integrate
+
+ D = 1e-12
+ t = 1e-20
+ sigma = 1e-8
+ r0 = 1e-9
+
+ ibd = mod.I_bd(sigma, t, D)
+ #print ibd
+ result = scipy.integrate.quad(mod.g_bd, sigma, sigma +
+ 6 * math.sqrt(6 * D * t),
+ args=(sigma, t, D))
+ igbd = result[0]
+ #print igbd
+ self.failIf(ibd == 0)
+ self.assertAlmostEqual(0.0, (ibd-igbd)/ibd)
+
+
+ def test_I_bd_r_large_is_I_bd(self):
+
+ D = 1e-12
+ t = 1e-10
+ sigma = 1e-8
+ r0 = 1e-9
+
+ ibd = mod.I_bd(sigma, t, D)
+ ibdr = mod.I_bd_r(sigma + 6 * math.sqrt(6 * D * t), sigma, t, D)
+ #print ibd, ibdr
+
+ self.assertAlmostEqual(0.0, (ibd-ibdr)/ibd)
+
+
+ def test_int_g_bd_is_I_bd_r(self):
+
+ import scipy.integrate
+ import math
+
+ D = 1e-12
+ t = 1e-7
+ sigma = 1e-8
+
+ r_max = 6 * math.sqrt(6 * D * t)
+
+ ibd = mod.I_bd_r(sigma, sigma, t, D)
+ self.failIf(ibd != 0.0)
+
+ N = 20
+ for i in range(1, N):
+ r = sigma + r_max / N * i
+ ibd = mod.I_bd_r(r, sigma, t, D)
+ result = scipy.integrate.quad(mod.g_bd, sigma, r,
+ args=(sigma, t, D))
+ igbd = result[0]
+
+ self.failIf(ibd == 0)
+ self.assertAlmostEqual(0.0, (ibd-igbd)/ibd)
+
+
+ def test_drawR_gbd(self):
+
+ import scipy.integrate
+ import math
+
+ D = 1e-12
+ t = 1e-8
+ sigma = 1e-8
+
+ r = mod.drawR_gbd(0.0, sigma, t, D)
+ self.assertEqual(r, sigma)
+
+ r = mod.drawR_gbd(0.5, sigma, t, D)
+ self.failIf(r <= sigma)
+ #print 'rr', r
+
+ r = mod.drawR_gbd(1.0, sigma, t, D)
+ self.failIf(r <= sigma)
+ #print 'rr', r
+
+ def test_p_reaction_irr_t_inf(self):
+
+ D = 1e-12
+ t = numpy.inf
+ sigma = 1e-8
+ r0 = 1.1e-8
+ kf = 1e-16
+ kr = 10
+ kD = 4 * numpy.pi * sigma * D
+
+ alpha = (1 + (kr / kD)) * math.sqrt(D) / sigma
+
+ pr = mod.p_reaction_irr(t, r0, kf, D, sigma, alpha, kD)
+ prinf = mod.p_reaction_irr_t_inf(r0, kf, sigma, kD)
+
+ #print pr, prinf
+
+ self.assertAlmostEqual(pr, prinf)
+
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/ecell4/egfrd/legacy/test/geometry_test.cpp b/ecell4/egfrd/legacy/test/geometry_test.cpp
new file mode 100644
index 0000000..90aaf7f
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/geometry_test.cpp
@@ -0,0 +1,30 @@
+#define BOOST_TEST_MODULE "linear_algebra_test"
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif /* HAVE_CONFIG_H */
+
+#include <boost/test/included/unit_test.hpp>
+#include <boost/test/floating_point_comparison.hpp>
+#include "utils/array_helper.hpp"
+#include "geometry.hpp"
+
+BOOST_AUTO_TEST_CASE(test_rotate_vector)
+{
+ {
+ boost::array<double, 3> const r(rotate_vector(array_gen(1., 0., 0.),
+ array_gen(1., 0., 0.), .1));
+ BOOST_CHECK_EQUAL(r[0], 1.);
+ BOOST_CHECK_EQUAL(r[1], 0.);
+ BOOST_CHECK_EQUAL(r[2], 0.);
+ }
+
+ {
+ boost::array<double, 3> const r(rotate_vector(array_gen(1., 0., 0.),
+ array_gen(0., 0., 1.), M_PI));
+ BOOST_CHECK_CLOSE(r[0], -1., 0.000000001);
+ // r[1]{1.2246063538223773e-16}
+ BOOST_CHECK_SMALL(r[1], 0.000000001);
+ BOOST_CHECK_CLOSE(r[2], 0., 0.0000000001);
+ }
+}
diff --git a/ecell4/egfrd/legacy/test/linear_algebra_test.cpp b/ecell4/egfrd/legacy/test/linear_algebra_test.cpp
new file mode 100644
index 0000000..398338c
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/linear_algebra_test.cpp
@@ -0,0 +1,23 @@
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif /* HAVE_CONFIG_H */
+
+#define BOOST_TEST_MODULE "linear_algebra_test"
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif /* HAVE_CONFIG_H */
+
+#include <boost/test/included/unit_test.hpp>
+#include "linear_algebra.hpp"
+
+BOOST_AUTO_TEST_CASE(test_is_matrix)
+{
+ BOOST_CHECK((!is_matrix<boost::multi_array<int, 1>, 0>::value));
+ BOOST_CHECK((is_matrix<boost::multi_array<int, 1>, 1>::value));
+ BOOST_CHECK((!is_matrix<boost::multi_array<int, 1>, 2>::value));
+ BOOST_CHECK((!is_matrix<boost::multi_array<int, 2>, 0>::value));
+ BOOST_CHECK((!is_matrix<boost::multi_array<int, 2>, 1>::value));
+ BOOST_CHECK((is_matrix<boost::multi_array<int, 2>, 2>::value));
+ BOOST_CHECK((!is_matrix<boost::multi_array<int, 2>, 3>::value));
+}
diff --git a/ecell4/egfrd/legacy/test/model_test.cpp b/ecell4/egfrd/legacy/test/model_test.cpp
new file mode 100644
index 0000000..ad72bbf
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/model_test.cpp
@@ -0,0 +1,123 @@
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif /* HAVE_CONFIG_H */
+
+#define BOOST_TEST_MODULE "model"
+
+#include <boost/test/included/unit_test.hpp>
+#include <memory>
+#include "Model.hpp"
+#include "NetworkRules.hpp"
+#include "utils/array_helper.hpp"
+#include "SpeciesType.hpp"
+
+BOOST_AUTO_TEST_CASE(basic)
+{
+ Model m;
+
+ boost::shared_ptr<SpeciesType> s1(new SpeciesType());
+ (*s1)["name"] = "S";
+ (*s1)["D"] = "1.5e-12";
+ (*s1)["radius"] = "5e-9";
+
+ boost::shared_ptr<SpeciesType> s2(new SpeciesType());
+ (*s2)["name"] = "P";
+ (*s2)["D"] = "1e-12";
+ (*s2)["radius"] = "7e-9";
+
+ m.add_species_type(s1);
+ m.add_species_type(s2);
+
+ m.network_rules().add_reaction_rule(
+ new_reaction_rule(s1->id(), array_gen<SpeciesTypeID>(), .2));
+
+ BOOST_CHECK_THROW(
+ m.network_rules().add_reaction_rule(
+ new_reaction_rule(s1->id(), array_gen<SpeciesTypeID>(), .2)),
+ already_exists);
+
+ m.network_rules().add_reaction_rule(
+ new_reaction_rule(s1->id(), array_gen(s2->id()), .2));
+
+ BOOST_CHECK_THROW(
+ m.network_rules().add_reaction_rule(
+ new_reaction_rule(s1->id(), array_gen(s2->id()), .2)),
+ already_exists);
+
+ m.network_rules().add_reaction_rule(
+ new_reaction_rule(s1->id(), array_gen(s1->id(), s2->id()), .2));
+
+ BOOST_CHECK_THROW(
+ m.network_rules().add_reaction_rule(
+ new_reaction_rule(s1->id(), array_gen(s1->id(), s2->id()), .2)),
+ already_exists);
+
+ BOOST_CHECK_THROW(
+ m.network_rules().add_reaction_rule(
+ new_reaction_rule(s1->id(), array_gen(s2->id(), s1->id()), .2)),
+ already_exists);
+
+ m.network_rules().add_reaction_rule(
+ new_reaction_rule(s2->id(), array_gen(s2->id(), s1->id()), .2));
+
+ BOOST_CHECK_THROW(
+ m.network_rules().add_reaction_rule(
+ new_reaction_rule(s2->id(), array_gen(s1->id(), s2->id()), .2)),
+ already_exists);
+
+ m.network_rules().add_reaction_rule(
+ new_reaction_rule(s1->id(), s2->id(), array_gen(s2->id(), s1->id()), .2));
+
+ BOOST_CHECK_THROW(
+ m.network_rules().add_reaction_rule(
+ new_reaction_rule(s1->id(), s2->id(), array_gen(s2->id(), s1->id()), .2)),
+ already_exists);
+
+}
+
+BOOST_AUTO_TEST_CASE(query_reaction_rule)
+{
+ Model m;
+
+ boost::shared_ptr<SpeciesType> s1(new SpeciesType());
+ (*s1)["name"] = "S";
+ (*s1)["D"] = "1.5e-12";
+ (*s1)["radius"] = "5e-9";
+
+ m.add_species_type(s1);
+
+ boost::shared_ptr<SpeciesType> s2(new SpeciesType());
+ (*s2)["name"] = "P";
+ (*s2)["D"] = "1e-12";
+ (*s2)["radius"] = "7e-9";
+
+ m.add_species_type(s2);
+
+ m.network_rules().add_reaction_rule(
+ new_reaction_rule(s1->id(), array_gen<SpeciesTypeID>(), .2));
+
+ m.network_rules().add_reaction_rule(
+ new_reaction_rule(s1->id(), array_gen(s2->id()), .2));
+
+ m.network_rules().add_reaction_rule(
+ new_reaction_rule(s2->id(), array_gen<SpeciesTypeID>(), .2));
+
+ {
+ std::auto_ptr<NetworkRules::reaction_rule_generator> gen(
+ m.network_rules().query_reaction_rule(s1->id()));
+ BOOST_CHECK(cue(*gen, new_reaction_rule(s1->id(), array_gen<SpeciesTypeID>(), .2)));
+ }
+
+ {
+ std::auto_ptr<NetworkRules::reaction_rule_generator> gen(
+ m.network_rules().query_reaction_rule(s1->id()));
+ BOOST_CHECK(cue(*gen, new_reaction_rule(s1->id(), array_gen(s2->id()), .2)));
+ }
+
+ {
+ std::auto_ptr<NetworkRules::reaction_rule_generator> gen(
+ m.network_rules().query_reaction_rule(s1->id()));
+ BOOST_CHECK(!cue(*gen, new_reaction_rule(s1->id(), array_gen(s1->id()), .2)));
+ }
+}
+
diff --git a/ecell4/egfrd/legacy/test/p.py b/ecell4/egfrd/legacy/test/p.py
new file mode 100755
index 0000000..c9fcc6f
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/p.py
@@ -0,0 +1,205 @@
+#!/usr/bin/env python
+
+
+import sys
+
+import numpy
+from matplotlib.pylab import *
+
+
+import _gfrd
+
+N_A = 6.0221367e23
+
+
+sigma = 1e-8
+#r0 = sigma
+D = 1e-12
+#kf = 1000 * sigma * D
+#kf=1e-8
+#kf=1e-10
+kf=1e-10
+#a = 1e-7
+a = sigma*5
+#r0 = a * (1.0-1e-7)
+r0 = sigma * 3
+#r0 = a * 0.999
+#r0 = (a-sigma) * 0.5 + sigma
+
+tau = sigma*sigma / D
+#T = tau * .1
+#T = 1e-300
+T = 1e-2
+
+rmin = sigma
+
+
+def plot_p_survival(gf, T):
+
+ N = 1000
+
+ x = numpy.mgrid[0:T:T/N]
+ parray1 = numpy.array([gf.p_survival(t) for t in x])
+ plot(x, parray1, '-', label='psurvival')
+
+
+
+
+def plot_p_survival_i(gf):
+
+ N = 1000
+
+ x = range(N)
+ parray1 = numpy.array([gf.p_survival_i_exp(i, T, r0) for i in x])
+ print len(parray1[:-1]), len(parray1[1:])
+ parray2 = parray1[:-1:2] + parray1[1::2]
+ parray2 = parray2[:-1:2] + parray2[1::2]
+ plot(range(len(parray2)), parray2, '-', label='psurvival_i')
+ plot(range(len(parray2)), parray2.cumsum(), '-', label='psurvival_i_sum')
+ #plot(range(N), parray1, '.', label='psurvival_i')
+
+def plot_p_survival_alpha(gf):
+
+ N = 1000
+
+ alpha = numpy.array(range(N)) * 1e-3
+ parray1 = numpy.array([gf.p_survival_i_alpha(al, T, r0) for al in alpha])
+ print len(parray1[:-1]), len(parray1[1:])
+ parray2 = parray1[:-1:2] + parray1[1::2]
+ parray2 = parray2[:-1:2] + parray2[1::2]
+ #plot(range(len(parray2)), parray2, '-', label='psurvival_i')
+ #plot(range(len(parray2)), parray2.cumsum(), '-', label='psurvival_i_sum')
+ plot(alpha, parray1, '.', label='psurvival_i')
+
+
+
+def plot_p_leaveas(gf, t):
+
+ N = 100000
+
+ tmax = 1e-3
+ tmin = 1e-10
+
+
+ ttick = (tmax - tmin) / N
+ tarray = numpy.mgrid[tmin:tmax:ttick]
+
+ parray1 = array([1 - gf.p_survival(t, r0) for t in tarray])
+ semilogx(tarray , parray1, '-', label='psurvival')
+
+ gf2 = _gfrd.GreensFunction3DRadInf(D, kf, sigma)
+ parray2 = array([1 - gf2.p_survival(t, r0) for t in tarray])
+ semilogx(tarray , parray2, '-', label='psurvival basic')
+
+# parray2 = array([gf.p_leavea(t, r0) for t in tarray])
+# parray2 = 1 - parray2# / gf.p_leavea(0, r0)
+# semilogx(tarray , parray2, '-', label='pleavea')
+
+# parray3 = array([gf.p_leaves(t, r0) for t in tarray])
+# parray3 = 1 - parray3# / gf.p_leaves(0, r0)
+# semilogx(tarray , parray3, '-', label='pleaves')
+
+# semilogx(tarray , parray2 + parray3 - 1, '-', label='s+a')
+
+ #semilogx(tarray , parray2 + parray3, '-', label='a+s')
+
+
+def plot_leaveas(gf, t):
+
+ N = 3000
+
+ #tmax = 2.4e-5
+ #tmin = 1.1e-5
+ tmax = 2.5e-2
+ tmin = 2.2e-8
+
+ ttick = (tmax - tmin) / N
+ tarray = numpy.mgrid[tmin:tmax:ttick]
+
+ #parray1 = array([1 - gf.p_survival(t, r0) for t in tarray])
+ #semilogx(tarray , parray1, '-', label='psurvival')
+
+ parray2 = array([gf.leavea(t, r0) * 4 * numpy.pi * a * a
+ for t in tarray])
+ parray3 = array([gf.leaves(t, r0) * 4 * numpy.pi * sigma * sigma
+ for t in tarray])
+ parray4 = array([gf.dp_survival(t, r0) for t in tarray])
+
+ #semilogx(tarray, parray2 / (parray2+parray3), '-', label='leavea')
+ semilogx(tarray, parray2, '-', label='leavea')
+ semilogx(tarray, parray3, '-', label='leaves')
+ #semilogx(tarray, parray3 / (parray2+parray3), '-', label='leaves')
+ #semilogx(tarray, parray4 / gf.dp_survival(0,r0) , '-', label='dp_survival')
+ #semilogx(tarray, (parray2 + parray3)/(parray2[0]+parray3[0]) , '-', label='a+s')
+
+ #semilogx(tarray , parray2, '-', label='a')
+ #semilogx(tarray , parray3, '-', label='s')
+
+
+
+
+def plot_p_int_r(gf, t):
+
+ N = 10000
+
+ rmax = min(a, r0 + 4 * math.sqrt(6 * D * t))
+ #rmax = a
+ #rmin = max(sigma, r0 - 4 * math.sqrt(6 * D * t))
+ #rmin = max(0, r0 - 4 * math.sqrt(6 * D * t))
+ rmin = 0
+
+ rtick = (rmax - rmin) / N
+ rarray = numpy.mgrid[rmin:rmax:rtick]
+
+ #surv = gf.p_survival(t, r0)
+ surv = gf.p_survival(t)
+ print surv
+ #parray = array([gf.p_int_r(r, t, r0) for r in rarray]) / surv
+ parray = array([gf.p_int_r(r, t) for r in rarray]) / surv
+
+ plot(rarray / sigma , parray, '-', label='f')
+
+
+def plot_ip_theta(gf, r, t):
+
+ N = 300
+
+ thetamax = 0
+ thetamin = numpy.pi
+
+ thetatick = (thetamax - thetamin) / N
+ thetaarray = numpy.mgrid[thetamin:thetamax:thetatick]
+
+ p0 = gf.p_0(t, r, r0) * 2
+ parray = array([gf.ip_theta(theta, r, r0, t)
+ for theta in thetaarray])
+ parray /= p0
+
+ plot(thetaarray, parray, '-', label='f')
+
+def p(r, t):
+ surv = gf.p_survival(t, r0)
+ return gf.p_int_r(r, t, r0) / surv
+
+if __name__ == '__main__':
+
+ #gf = _gfrd.GreensFunction3DRadAbs(D, kf, sigma)
+ #gf = _gfrd.GreensFunction3DAbs(D)
+ gf = _gfrd.GreensFunction3DAbsSym(D)
+ gf.seta(a)
+
+ #plot_p_int_r(gf, T)
+ plot_p_int_r(gf, 1e-6)
+ #plot_p_survival(gf, T)
+
+ #plot_ip_theta(gf, r0, T)
+ #plot_p_leaveas(gf, r0)
+ #plot_leaveas(gf, r0)
+ #plot_p_survival_i(gf)
+ #plot_p_survival_alpha(gf)
+
+ #xlabel('r / sigma')
+ #ylabel('p_irr')
+ legend()
+ show()
+
diff --git a/ecell4/egfrd/legacy/test/pointer_as_ref_test.cpp b/ecell4/egfrd/legacy/test/pointer_as_ref_test.cpp
new file mode 100644
index 0000000..2030f3f
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/pointer_as_ref_test.cpp
@@ -0,0 +1,28 @@
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif /* HAVE_CONFIG_H */
+
+#define BOOST_TEST_MODULE "pointer_as_ref"
+
+#include <boost/test/included/unit_test.hpp>
+#include <boost/test/test_case_template.hpp>
+
+#include "utils/pointer_as_ref.hpp"
+
+BOOST_AUTO_TEST_CASE(basic)
+{
+ int a = 0;
+ pointer_as_ref<int, int*> b(&a);
+ static_cast<int&>(b) = 1;
+ BOOST_CHECK_EQUAL(a, 1);
+}
+
+BOOST_AUTO_TEST_CASE(reference_holder)
+{
+ int a = 0;
+ int *b = 0;
+ pointer_as_ref<int, int*&> c(b);
+ b = &a;
+ static_cast<int&>(c) = 1;
+ BOOST_CHECK_EQUAL(a, 1);
+}
diff --git a/ecell4/egfrd/legacy/test/position_test.cpp b/ecell4/egfrd/legacy/test/position_test.cpp
new file mode 100644
index 0000000..563be2d
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/position_test.cpp
@@ -0,0 +1,66 @@
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif /* HAVE_CONFIG_H */
+
+#define BOOST_TEST_MODULE "position"
+
+#include <boost/config.hpp>
+#include <boost/test/included/unit_test.hpp>
+#include <boost/test/test_case_template.hpp>
+#include <boost/test/floating_point_comparison.hpp>
+#include <boost/mpl/list.hpp>
+
+#include "position.hpp"
+
+typedef boost::mpl::list3<long double, double, float> scalar_types;
+
+template<typename T_>
+struct get_tolerance
+{
+};
+
+template<>
+struct get_tolerance<float>
+{
+ BOOST_STATIC_CONSTANT(float, value = 1e-8);
+};
+
+template<>
+struct get_tolerance<double>
+{
+ BOOST_STATIC_CONSTANT(double, value = 1e-17);
+};
+
+template<>
+struct get_tolerance<long double>
+{
+ BOOST_STATIC_CONSTANT(long double, value = 1e-26);
+};
+
+BOOST_AUTO_TEST_CASE_TEMPLATE(distance_sq, T_, scalar_types)
+{
+ typedef ::position<T_> position;
+
+ BOOST_CHECK_CLOSE((T_)3.0f,
+ position(1, 1, 1).distance_sq(position(0, 0, 0)),
+ get_tolerance<T_>::value);
+ BOOST_CHECK_CLOSE((T_)3.0f,
+ position(1, 2, 1).distance_sq(position(0, 1, 0)),
+ get_tolerance<T_>::value);
+ BOOST_CHECK_CLOSE((T_)0.75f,
+ position(0.5, 0.5, 1).distance_sq(position(0, 1, 0.5)),
+ get_tolerance<T_>::value);
+}
+
+BOOST_AUTO_TEST_CASE_TEMPLATE(add_op, T_, scalar_types)
+{
+ typedef ::position<T_> position;
+
+ BOOST_CHECK_EQUAL(position(1, 1, 1),
+ position(1, 1, 1) + position(0, 0, 0));
+ BOOST_CHECK_EQUAL(position(1, 3, 1),
+ position(1, 2, 1) + position(0, 1, 0));
+ BOOST_CHECK_EQUAL(position(0.5, 1.5, 1.5),
+ position(0.5, 0.5, 1) + position(0, 1, 0.5));
+}
+
diff --git a/ecell4/egfrd/legacy/test/py_range_converters_test.cpp b/ecell4/egfrd/legacy/test/py_range_converters_test.cpp
new file mode 100644
index 0000000..3ba166d
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/py_range_converters_test.cpp
@@ -0,0 +1,24 @@
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif /* HAVE_CONFIG_H */
+
+#define BOOST_TEST_MODULE "py_range_converters_test"
+
+#include <boost/test/included/unit_test.hpp>
+#include "peer/wrappers/range/pyiterable_range.hpp"
+
+BOOST_AUTO_TEST_CASE(pyiterable_range_test)
+{
+ Py_InitializeEx(0);
+ {
+ boost::python::list pylist;
+ pylist.append(1);
+ pylist.append(2);
+ pylist.append(3);
+ peer::wrappers::pyiterable_range<int> wrapper(pylist);
+
+ BOOST_CHECK_EQUAL(size(wrapper), boost::python::len(pylist));
+ }
+ Py_Finalize();
+}
+
diff --git a/ecell4/egfrd/legacy/test/range_support_test.cpp b/ecell4/egfrd/legacy/test/range_support_test.cpp
new file mode 100644
index 0000000..33bfa51
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/range_support_test.cpp
@@ -0,0 +1,46 @@
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif /* HAVE_CONFIG_H */
+
+#define BOOST_TEST_MODULE "range_support_test"
+
+#include <boost/test/included/unit_test.hpp>
+#include <list>
+#include <vector>
+#include "utils/range.hpp"
+#include "utils/range_support.hpp"
+
+struct fn_t {
+ void operator()(int v)
+ {
+ value = v;
+ }
+
+ fn_t(): value(-1) {}
+
+ int value;
+};
+
+BOOST_AUTO_TEST_CASE(test_check_range_iterator_category_mf)
+{
+ BOOST_CHECK((check_range_iterator_category<int[4], boost::random_access_traversal_tag>::value));
+ BOOST_CHECK((check_range_iterator_category<std::vector<int>, boost::random_access_traversal_tag>::value));
+ BOOST_CHECK((!check_range_iterator_category<std::list<int>, boost::random_access_traversal_tag>::value));
+}
+
+BOOST_AUTO_TEST_CASE(test_call_with_size_if_randomly_accessible)
+{
+ {
+ int test[4];
+ fn_t fn;
+ call_with_size_if_randomly_accessible(fn, test);
+ BOOST_CHECK_EQUAL(fn.value, 4);
+ }
+
+ {
+ fn_t fn;
+ call_with_size_if_randomly_accessible(fn, std::list<int>());
+ BOOST_CHECK_EQUAL(fn.value, -1);
+ }
+}
+
diff --git a/ecell4/egfrd/legacy/test/sorted_list_test.cpp b/ecell4/egfrd/legacy/test/sorted_list_test.cpp
new file mode 100644
index 0000000..99ce5ac
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/sorted_list_test.cpp
@@ -0,0 +1,21 @@
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif /* HAVE_CONFIG_H */
+
+#define BOOST_TEST_MODULE "sorted_list"
+
+#include <boost/test/included/unit_test.hpp>
+#include <vector>
+#include "sorted_list.hpp"
+
+BOOST_AUTO_TEST_CASE(regression)
+{
+ sorted_list<std::vector<int> > a;
+ a.push(299);
+ a.push(300);
+ a.push(301);
+ BOOST_CHECK(a.erase(299));
+ BOOST_CHECK(a.end() == a.find(299));
+ BOOST_CHECK(a.end() != a.find(300));
+ BOOST_CHECK(a.end() != a.find(301));
+}
diff --git a/ecell4/egfrd/legacy/test/test.py b/ecell4/egfrd/legacy/test/test.py
new file mode 100755
index 0000000..94fd574
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/test.py
@@ -0,0 +1,239 @@
+#!/usr/bin/env python
+import _gfrd
+import math
+import random
+
+import numpy
+
+#print gfrd.distance_sq(numpy.array((1.,2.,3.)), numpy.array((4.,5.,6., )))
+
+def test_draw_time_single():
+
+ D = 1e-12
+
+ a = 1e-7
+
+ gf = _gfrd.GreensFunction3DAbsSym(D)
+ #gf.seta(a)
+
+ for i in range(150000):
+ rnd = random.random()
+ t = gf.drawTime(rnd, a)
+
+ t = gf.drawTime(.5, a)
+ print t
+
+
+def test_drawR_single():
+
+ D = 1e-12
+ t = 1.38e-3
+
+ a = 1e-7
+
+ gf = _gfrd.GreensFunction3DAbsSym(D)
+
+ for i in range(50000):
+ rnd = random.random()
+ r = gf.drawR(rnd, t, a)
+
+ r = gf.drawR(.5, t, a)
+ print r
+
+
+
+
+def test_alpha0():
+
+ D = 1e-12
+ Sigma = 1e-8
+ kf = 1e-18
+
+ a = 2e-7
+
+ gf = _gfrd.GreensFunction3DRadAbs(D, kf, Sigma)
+ gf.seta(a)
+ maxerror = 0
+
+ for i in range(100):
+ alpha = gf.alpha0_i(i)
+ error = abs(gf.f_alpha0(alpha))
+ maxerror = max(error, maxerror)
+
+ if abs(maxerror) > 1e-8:
+ print 'failed: alpha_survival_n: maxerror = ', maxerror
+
+
+def test_alpha():
+
+ D = 1e-12
+ Sigma = 1e-8
+ kf = 1e-18
+
+ a = 2e-7
+
+ gf = _gfrd.GreensFunction3DRadAbs(D, kf, Sigma)
+ gf.seta(a)
+ maxerror = 0
+
+ n = 30
+ for i in range(1,200):
+ alpha = gf.alpha_i(i, n)
+ error = abs(gf.f_alpha(alpha, n))
+ #error = abs(gf.f_alpha0(alpha))
+ print error
+ maxerror = max(error, maxerror)
+
+ if abs(maxerror) > 1e-8:
+ print 'alpha_i: maxerror = ', maxerror
+
+
+def test_p_survival():
+
+ t = 1e-7
+ D = 1e-12
+ Sigma = 1e-8
+ kf = 1e-18
+
+ r0 = 5e-8
+ a = 6e-8
+
+ gf = _gfrd.GreensFunction3DRadAbs(D, kf, Sigma)
+ gf.seta(a)
+
+ for i in range(1000):
+ gf.p_survival(t, r0)
+
+ print gf.p_survival(t, r0)
+
+
+
+def test_draw_time():
+
+ D = 1e-12
+ Sigma = 1e-8
+ kf = 1e-8
+
+ r0 = 5e-8
+ a = 1e-5
+
+ gf = _gfrd.GreensFunction3DRadAbs(D, kf, Sigma)
+ gf.seta(a)
+
+ #for i in range(20000):
+ # rnd = random.random()
+ # t = gf.drawTime(rnd, r0)
+ # gf.drawEventType(rnd, r0, t)
+
+ t = gf.drawTime(.5, r0)
+ type = gf.drawEventType(.5, r0, t)
+ print t, type
+
+
+def test_drawR():
+
+ t = 1e-8
+ D = 1e-12
+ Sigma = 1e-8
+ kf = 1e-8
+
+ r0 = 5e-8
+ a = 1e-7
+
+ gf = _gfrd.GreensFunction3DRadAbs(D, kf, Sigma)
+ gf.seta(a)
+
+ for i in range(1000):
+ rnd = random.random()
+ t = gf.drawR(rnd, r0, t)
+
+ t = gf.drawR(rnd, r0, t)
+ print t
+
+
+def test_f_alpha():
+
+ t = 1e-8
+ D = 1e-12
+ Sigma = 1e-8
+ kf = 1e-18
+
+ r0 = 5e-8
+ a = 1e-7
+
+ gf = _gfrd.GreensFunction3DRadAbs(D, kf, Sigma)
+ gf.seta(a)
+
+ n = 0
+ for i in range(1,1000):
+ f = gf.f_alpha(1e6 * i, n)
+ print f
+
+
+def test_draw_theta():
+
+ t = 1e-7
+ D = 1e-12
+ Sigma = 5e-9
+ kf = 1e-13
+
+ r = 1.05e-8
+ r0 = 1.05e-8
+ a = 1.1e-8
+
+ gf = _gfrd.GreensFunction3DRadAbs(D, kf, Sigma)
+ gf.seta(a)
+
+ for i in range(20000):
+ rnd = random.random()
+ theta = gf.drawTheta(rnd, r, r0, t)
+
+ theta = gf.drawTheta(0.5, r, r0, t)
+ print theta
+
+
+def test_draw_theta_at_a():
+
+ t = 1e-3
+ D = 1e-12
+ Sigma = 1e-8
+ kf = 1e-8
+
+ r0 = 0.999e-7
+ a = 1e-7
+
+ gf = _gfrd.GreensFunction3DRadAbs(D, kf, Sigma)
+ gf.seta(a)
+
+# for i in range(200):
+# rnd = random.random()
+# theta = gf.drawTheta(rnd, r, r0, t)
+
+ theta = gf.drawTheta(0.5, a, r0, t)
+ print theta
+
+
+
+#for i in range(1000):
+# print gf.drawR(0.9, r0, t)
+
+
+#test_alpha0()
+
+
+#test_p_survival()
+#test_draw_time()
+#test_drawR()
+
+#test_draw_time_single()
+#test_drawR_single()
+
+#test_f_alpha()
+
+
+
+#test_draw_theta()
+#test_draw_theta_at_a()
+
+#test_alpha()
+
diff --git a/ecell4/egfrd/legacy/test/utils_test.py b/ecell4/egfrd/legacy/test/utils_test.py
new file mode 100755
index 0000000..bc28711
--- /dev/null
+++ b/ecell4/egfrd/legacy/test/utils_test.py
@@ -0,0 +1,94 @@
+#!/usr/bin/env python
+
+import unittest
+
+import numpy
+
+from utils import *
+
+class UtilsTestCase(unittest.TestCase):
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def test_cyclic_transpose(self):
+
+ pos = cyclic_transpose(numpy.array([1,1,1]), numpy.array([1,1,1]), 10)
+ self.failIf(not pos[0] == pos[1] == pos[2] == 1)
+
+ pos = cyclic_transpose(numpy.array([8,8,8]), numpy.array([1,1,1]), 10)
+ self.failIf(not pos[0] == pos[1] == pos[2] == -2)
+
+ pos = cyclic_transpose(numpy.array([1,1,1]), numpy.array([8,8,8]), 10)
+ self.failIf(not pos[0] == pos[1] == pos[2] == 11)
+
+ pos = cyclic_transpose(numpy.array([1,8,1]), numpy.array([8,1,8]), 10)
+ self.failIf(not (pos[0] == pos[2] == 11 and pos[1] == -2))
+
+
+ def test_random_unit_vector(self):
+
+ for i in range(1000):
+ v = random_unit_vector()
+ self.assertAlmostEqual(length(v), 1.0, 15)
+
+
+ def test_random_vector(self):
+
+ for i in range(1000):
+ r = numpy.random.uniform() * 1e3
+ v = random_vector(r)
+ self.assertAlmostEqual(length(v), r, 12)
+
+ def test_normalize(self):
+
+ for i in range(1000):
+ r = numpy.random.uniform(size=3) * 1e3
+ l = numpy.random.uniform()
+ v = normalize(r,l)
+ self.assertAlmostEqual(length(v), l, 12)
+
+
+ def test_spherical_cartesian(self):
+
+ for i in range(1000):
+ r = numpy.random.uniform() * 1e3
+ v = random_vector(r)
+ v2 = spherical_to_cartesian(cartesian_to_spherical(v))
+ diff = abs(v - v2).sum()
+ self.assertAlmostEqual(diff, 0, 10)
+
+ def test_cartesian_spherical(self):
+
+ for i in range(1000):
+ v = random_unit_vector_s()
+ v[0] *= 1e3
+ v2 = cartesian_to_spherical(spherical_to_cartesian(v))
+ diff = abs(v - v2).sum()
+ self.assertAlmostEqual(diff, 0, 10)
+
+ def test_calculate_pair_CoM(self):
+
+ #FIXME: more serious test is needed.
+
+ def _calculate_pair_com(pos1, pos2, D1, D2, world_size):
+ pos2t = cyclic_transpose(pos2, pos1, world_size)
+ return ((D2 * pos1 + D1 * pos2t) / (D1 + D2)) % world_size
+
+ for i in range(1000):
+ pos1 = numpy.random.uniform(size=3)
+ pos2 = numpy.random.uniform(size=3)
+ D1 = numpy.random.uniform()
+ D2 = numpy.random.uniform()
+ wsize = 10
+ com1 = calculate_pair_CoM(pos1, pos2, D1, D2, wsize)
+ com2 = _calculate_pair_com(pos1, pos2, D1, D2, wsize)
+ diff = abs(com1 - com2).sum()
+ self.assertAlmostEqual(diff, 0, 10)
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/ecell4/egfrd/legacy/wscript b/ecell4/egfrd/legacy/wscript
new file mode 100644
index 0000000..1a7ee11
--- /dev/null
+++ b/ecell4/egfrd/legacy/wscript
@@ -0,0 +1,161 @@
+#!/usr/bin/env python
+# encoding: utf-8
+
+from waflib.Tools import waf_unit_test, python
+from waflib.Task import Task
+from waflib import Logs
+from waflib import Utils
+import os
+import glob
+
+top = '.'
+out = 'build'
+
+'''
+cppfiles = [
+ #'EGFRDSimulatorWrapper.cpp',
+ 'epdp/Logger.cpp',
+ 'epdp/ConsoleAppender.cpp',
+ 'epdp/utils.cpp',
+ 'epdp/findRoot.cpp',
+ 'epdp/funcSum.cpp',
+ 'epdp/GreensFunction1DAbsAbs.cpp',
+ 'epdp/GreensFunction1DRadAbs.cpp',
+ 'epdp/PairGreensFunction.cpp',
+ 'epdp/GreensFunction3D.cpp',
+ 'epdp/GreensFunction3DAbs.cpp',
+ 'epdp/GreensFunction3DAbsSym.cpp',
+ 'epdp/GreensFunction3DRadAbsBase.cpp',
+ 'epdp/GreensFunction3DRadAbs.cpp',
+ 'epdp/GreensFunction3DRadInf.cpp',
+ 'epdp/GreensFunction3DSym.cpp',
+ 'epdp/SphericalBesselGenerator.cpp',
+ 'epdp/BasicNetworkRulesImpl.cpp',
+ 'epdp/Model.cpp',
+ 'epdp/NetworkRules.cpp',
+ 'epdp/ParticleModel.cpp',
+ 'epdp/SpeciesType.cpp',
+ 'epdp/StructureType.cpp',
+ ]
+'''
+
+cppfiles = [
+ #'EGFRDSimulatorWrapper.cpp',
+ 'Logger.cpp',
+ 'ConsoleAppender.cpp',
+ 'utils.cpp',
+ 'findRoot.cpp',
+ 'funcSum.cpp',
+ 'GreensFunction1DAbsAbs.cpp',
+ 'GreensFunction1DRadAbs.cpp',
+ 'PairGreensFunction.cpp',
+ 'GreensFunction3D.cpp',
+ 'GreensFunction3DAbs.cpp',
+ 'GreensFunction3DAbsSym.cpp',
+ 'GreensFunction3DRadAbsBase.cpp',
+ 'GreensFunction3DRadAbs.cpp',
+ 'GreensFunction3DRadInf.cpp',
+ 'GreensFunction3DSym.cpp',
+ 'SphericalBesselGenerator.cpp',
+ 'BasicNetworkRulesImpl.cpp',
+ #'Model.cpp',
+ 'NetworkRules.cpp',
+ #'ParticleModel.cpp',
+ 'SpeciesType.cpp',
+ 'StructureType.cpp',
+ ]
+
+def options(opt):
+ opt.load('compiler_cxx waf_unit_test boost')
+
+def configure(conf):
+ conf.load('compiler_cxx waf_unit_test python boost')
+ conf.check_cxx(lib = 'gsl')
+ conf.check_cxx(lib = 'gslcblas')
+ conf.check_cxx(lib = 'm')
+ conf.check_python_module('scipy')
+
+ conf.check_cxx(fragment='''
+#include <math.h>
+int main() { double a = INFINITY; return (int)a * 0; }
+''',
+ define_name='HAVE_DECL_INFINITY',
+ mandatory=False)
+ conf.check_cxx(fragment='''
+#include <math.h>
+int main() { isfinite(0.); return 0; }
+''',
+ define_name='HAVE_ISFINITE',
+ mandatory=False)
+ conf.check_cxx(fragment='''
+#include <math.h>
+int main() { double a, b; sincos(0., &a, &b); return 0; }
+''',
+ define_name='HAVE_SINCOS',
+ mandatory=False)
+
+ # conf.check_cxx(lib = 'hdf5')
+ # conf.check_cxx(lib = 'hdf5_cpp')
+
+ # conf.check_boost(lib = 'regex')
+ #conf.check_cxx(lib = 'ecell4-core')
+
+ conf.write_config_header('epdp/config.h', guard='__ECELL4_EGFRD_CONFIG_H_WAF')
+ #conf.recurse(subdirs)
+
+
+def pre(bld):
+ sjy_table = bld.path.find_or_declare('epdp/SphericalBesselTable.hpp')
+ if not os.path.exists(sjy_table.abspath()):
+ bld.exec_command(' '.join([
+ bld.env['PYTHON'][0],
+ #bld.path.find_resource('epdp/make_sjy_table.py').abspath(),
+ bld.path.find_resource('make_sjy_table.py').abspath(),
+ sjy_table.abspath(),
+ ]))
+ Utils.check_dir(bld.env['PREFIX'] + '/include/ecell4/egfrd_impl/epdp')
+ bld.exec_command(' '.join([
+ #'cp', sjy_table.abspath(), '${PREFIX}/include/ecell4/egfrd_impl/epdp/.']))
+ 'cp', sjy_table.abspath(), bld.env['PREFIX'] + '/include/ecell4/egfrd_impl/epdp/.']))
+ #cjy_table = bld.path.find_or_declare('epdp/CylindricalBesselTable.hpp')
+ cjy_table = bld.path.find_or_declare('epdp/CylindricalBesselTable.hpp')
+ if not os.path.exists(cjy_table.abspath()):
+ bld.exec_command(' '.join([
+ bld.env['PYTHON'][0],
+ #bld.path.find_resource('epdp/make_cjy_table.py').abspath(),
+ bld.path.find_resource('make_cjy_table.py').abspath(),
+ cjy_table.abspath(),
+ ]))
+ Utils.check_dir(bld.env['PREFIX'] + '/include/ecell4/egfrd_impl/epdp')
+ bld.exec_command(' '.join([
+ #'cp', cjy_table.abspath(), '${PREFIX}/include/ecell4/egfrd_impl/epdp/.']))
+ 'cp', cjy_table.abspath(), bld.env['PREFIX'] + '/include/ecell4/egfrd_impl/epdp/.']))
+
+def build(bld):
+ bld.add_pre_fun(pre)
+
+ #bld.install_files(
+ # '${PREFIX}/include/ecell4/egfrd', hppfiles)
+ bld.install_files(
+ '${PREFIX}/include/ecell4/egfrd_impl', ['epdp/config.h'])
+
+ bld.install_files(
+ '${PREFIX}/include/ecell4/egfrd_impl', glob.glob('*.hpp'))
+ bld.install_files(
+ '${PREFIX}/include/ecell4/egfrd_impl', ['compat.h'])
+ bld.install_files(
+ '${PREFIX}/include/ecell4/egfrd_impl/utils', glob.glob('utils/*.hpp'))
+
+ bld.shlib(
+ source = cppfiles,
+ includes = ['.', 'epdp'],
+ defines = ['HAVE_CONFIG_H', 'HAVE_INLINE'],
+ #lib = ['ecell4-core', 'gsl', 'gslcblas', 'm', 'hdf5', 'hdf5_cpp'],
+ lib = ['ecell4-core', 'gsl', 'gslcblas', 'm', 'hdf5', 'hdf5_cpp'],
+ use = ['BOOST'],
+ target = 'ecell4_egfrd_intgl')
+
+ #bld.recurse(subdirs)
+
+ #bld.add_post_fun(summary)
+ #bld.options.all_tests = True
diff --git a/ecell4/egfrd/linear_algebra.hpp b/ecell4/egfrd/linear_algebra.hpp
new file mode 100644
index 0000000..ad5f55d
--- /dev/null
+++ b/ecell4/egfrd/linear_algebra.hpp
@@ -0,0 +1,438 @@
+#ifndef LINEAR_ALGEBRA_HPP
+#define LINEAR_ALGEBRA_HPP
+
+#include <algorithm>
+#include <cmath>
+#include <gsl/gsl_pow_int.h>
+#include <boost/preprocessor/tuple/elem.hpp>
+#include <boost/preprocessor/repetition/repeat.hpp>
+#include <boost/preprocessor/repetition/enum_params.hpp>
+#include <boost/preprocessor/repetition/enum_trailing_params.hpp>
+#include <boost/mpl/bool.hpp>
+#include <boost/mpl/and.hpp>
+#include <boost/type_traits/is_arithmetic.hpp>
+#include <boost/utility/enable_if.hpp>
+#include <boost/array.hpp>
+#include <boost/multi_array.hpp>
+#include <boost/preprocessor/repetition/repeat_from_to.hpp>
+
+#include "utils/array_traits.hpp"
+#include "freeFunctions.hpp"
+
+#define CREATE_VECTOR_LIMIT_REPEAT 16
+#define POPULATE_MATRIX_BY_VECTORS_LIMIT_REPEAT 16
+
+template<typename T_, std::size_t N_>
+struct is_vector: public boost::mpl::false_ {};
+
+template<typename T_, std::size_t N_>
+struct is_vector<boost::array<T_, N_>, N_>: public boost::mpl::true_ {};
+
+template<typename T_, std::size_t N_>
+struct is_matrix: public boost::mpl::false_ {};
+
+template<typename T_, std::size_t N_, typename Talloc_>
+struct is_matrix<boost::multi_array<T_, N_, Talloc_>, N_>: public boost::mpl::true_ {};
+
+template<typename T_, std::size_t N_>
+struct is_matrix<boost::detail::multi_array::sub_array<T_, N_>, N_>: public boost::mpl::true_ {};
+
+template<typename T_, std::size_t N_>
+struct is_matrix<boost::detail::multi_array::const_sub_array<T_, N_>, N_>: public boost::mpl::true_ {};
+
+template<typename T_, std::size_t N_>
+struct is_matrix<boost::detail::multi_array::multi_array_view<T_, N_>, N_>: public boost::mpl::true_ {};
+
+template<typename T_, std::size_t N_>
+struct is_matrix<boost::detail::multi_array::const_multi_array_view<T_, N_>, N_>: public boost::mpl::true_ {};
+
+template<typename T_, std::size_t N_>
+struct is_matrix<boost::multi_array_ref<T_, N_>, N_>: public boost::mpl::true_ {};
+
+template<typename T_, std::size_t N_, typename Tptr_>
+struct is_matrix<boost::const_multi_array_ref<T_, N_, Tptr_>, N_>: public boost::mpl::true_ {};
+
+template<typename T_, std::size_t N1_, std::size_t N2_>
+struct is_matrix<boost::array<boost::array<T_, N1_>, N2_>, 2>: public boost::mpl::true_ {};
+
+template<typename T_, std::size_t N1_, std::size_t N2_>
+struct is_matrix<T_[N1_][N2_], 2>: public boost::mpl::true_ {};
+
+template<typename T_>
+struct is_scalar: public boost::is_arithmetic<T_> {};
+
+template<typename T_>
+struct is_vector2: public is_vector<T_, 2> {};
+
+template<typename T_>
+struct is_vector3: public is_vector<T_, 3> {};
+
+template<typename T_>
+struct matrix_adapter
+{
+};
+
+template<typename T_, std::size_t N_, typename Talloc_>
+struct matrix_adapter<boost::multi_array<T_, N_, Talloc_> >
+{
+ typedef boost::multi_array<T_, N_, Talloc_> matrix_type;
+ typedef typename matrix_type::size_type matrix_size_type;
+
+ static matrix_size_type get_extent(matrix_type const& first,
+ std::size_t idx)
+ {
+ return first.shape()[idx];
+ }
+};
+
+template<typename T_, std::size_t N_>
+struct matrix_adapter<boost::detail::multi_array::sub_array<T_, N_> >
+{
+ typedef boost::detail::multi_array::sub_array<T_, N_> matrix_type;
+ typedef typename matrix_type::size_type matrix_size_type;
+
+ static matrix_size_type get_extent(matrix_type const& first,
+ std::size_t idx)
+ {
+ return first.shape()[idx];
+ }
+};
+
+template<typename T_, std::size_t N_>
+struct matrix_adapter<boost::detail::multi_array::const_sub_array<T_, N_> >
+{
+ typedef boost::detail::multi_array::const_sub_array<T_, N_> matrix_type;
+ typedef typename matrix_type::size_type matrix_size_type;
+
+ static matrix_size_type get_extent(matrix_type const& first,
+ std::size_t idx)
+ {
+ return first.shape()[idx];
+ }
+};
+
+template<typename T_, std::size_t N_>
+struct matrix_adapter<boost::detail::multi_array::multi_array_view<T_, N_> >
+{
+ typedef boost::detail::multi_array::multi_array_view<T_, N_> matrix_type;
+ typedef typename matrix_type::size_type matrix_size_type;
+
+ static matrix_size_type get_extent(matrix_type const& first,
+ std::size_t idx)
+ {
+ return first.shape()[idx];
+ }
+};
+
+template<typename T_, std::size_t N_>
+struct matrix_adapter<boost::detail::multi_array::const_multi_array_view<T_, N_> >
+{
+ typedef boost::detail::multi_array::const_multi_array_view<T_, N_> matrix_type;
+ typedef typename matrix_type::size_type matrix_size_type;
+
+ matrix_size_type get_extent(matrix_type const& first,
+ std::size_t idx)
+ {
+ return first.shape()[idx];
+ }
+};
+
+template<typename T_, std::size_t N_>
+struct matrix_adapter<boost::multi_array_ref<T_, N_> >
+{
+ typedef boost::multi_array_ref<T_, N_> matrix_type;
+ typedef typename matrix_type::size_type matrix_size_type;
+
+ static matrix_size_type get_extent(matrix_type const& first,
+ std::size_t idx)
+ {
+ return first.shape()[idx];
+ }
+};
+
+template<typename T_, std::size_t N_, typename Tptr_>
+struct matrix_adapter<boost::const_multi_array_ref<T_, N_, Tptr_> >
+{
+ typedef boost::const_multi_array_ref<T_, N_, Tptr_> matrix_type;
+ typedef typename matrix_type::size_type matrix_size_type;
+
+ static matrix_size_type get_extent(matrix_type const& first,
+ std::size_t idx)
+ {
+ return first.shape()[idx];
+ }
+};
+
+template<typename T_, std::size_t N1_, std::size_t N2_>
+struct matrix_adapter<T_[N1_][N2_]>
+{
+ typedef T_ matrix_type[N1_][N2_];
+ typedef std::size_t matrix_size_type;
+
+ static matrix_size_type get_extent(matrix_type const& first,
+ std::size_t idx)
+ {
+ switch (idx)
+ {
+ case 0:
+ return N1_;
+ case 1:
+ return N2_;
+ default:
+ throw std::out_of_range("index out of range");
+ }
+ }
+};
+
+template<typename Tmat>
+inline std::size_t matrix_extent(Tmat const& mat, std::size_t dim)
+{
+ return matrix_adapter<Tmat>::get_extent(mat, dim);
+}
+
+template<typename T_>
+inline T_ add( T_ const& p1, T_ const& p2, typename boost::enable_if<is_scalar<T_> >::type* = 0)
+{
+ return p1 + p2;
+}
+
+template<typename T_>
+inline T_ subtract( T_ const& p1, T_ const& p2, typename boost::enable_if<is_scalar<T_> >::type* = 0)
+{
+ return p1 - p2;
+}
+
+template<typename T_>
+inline T_ multiply( T_ const& p1, T_ const& p2, typename boost::enable_if<is_scalar<T_> >::type* = 0)
+{
+ return p1 * p2;
+}
+
+template<typename T_>
+inline T_ divide( T_ const& p1, T_ const& p2, typename boost::enable_if<is_scalar<T_> >::type* = 0)
+{
+ return p1 / p2;
+}
+
+template<typename T_>
+inline T_ modulo( T_ const& p1, T_ const& p2 )
+{
+ T_ r = p1 % p2;
+ if (r != 0 && (r > 0) == (p2 < 0))
+ r += p2;
+ return r;
+}
+
+template<>
+inline float modulo( float const& p1, float const& p2 )
+{
+ float r = std::fmod(p1, p2);
+ if (r != 0 && (r > 0) == (p2 < 0))
+ r += p2;
+ return r;
+}
+
+template<>
+inline double modulo( double const& p1, double const& p2 )
+{
+ double r = std::fmod(p1, p2);
+ if (r != 0 && (r > 0) == (p2 < 0))
+ r += p2;
+ return r;
+}
+
+template<typename T_>
+inline T_ negate(T_ const& v, typename boost::enable_if<is_scalar<T_> >::type* = 0)
+{
+ return -v;
+}
+
+template<typename T_>
+inline T_ abs(T_ const& v, typename boost::enable_if<is_scalar<T_> >::type* = 0)
+{
+ return std::fabs(v);
+}
+
+template<typename T1_, typename T2_>
+inline T1_ add(T1_ const& p1, T2_ const& p2, typename boost::enable_if<boost::mpl::and_<is_vector3<T1_>, is_vector3<T2_> > >::type* = 0)
+{
+ T1_ retval;
+ retval[0] = add(p1[0], p2[0]);
+ retval[1] = add(p1[1], p2[1]);
+ retval[2] = add(p1[2], p2[2]);
+ return retval;
+}
+
+template<typename T1_, typename T2_>
+inline T1_ subtract(T1_ const& p1, T2_ const& p2, typename boost::enable_if<boost::mpl::and_<is_vector3<T1_>, is_vector3<T2_> > >::type* = 0)
+{
+ T1_ retval;
+ retval[0] = subtract(p1[0], p2[0]);
+ retval[1] = subtract(p1[1], p2[1]);
+ retval[2] = subtract(p1[2], p2[2]);
+ return retval;
+}
+
+template<typename T_>
+inline T_ divide(T_ const& p1, typename element_type_of<T_>::type const& p2, typename boost::enable_if<is_vector3<T_> >::type* = 0)
+{
+ T_ retval;
+ retval[0] = divide(p1[0], p2);
+ retval[1] = divide(p1[1], p2);
+ retval[2] = divide(p1[2], p2);
+ return retval;
+}
+
+template<typename T_>
+inline T_ multiply(T_ const& p1, typename element_type_of<T_>::type const& p2, typename boost::enable_if<is_vector3<T_> >::type* = 0)
+{
+ T_ retval;
+ retval[0] = multiply(p1[0], p2);
+ retval[1] = multiply(p1[1], p2);
+ retval[2] = multiply(p1[2], p2);
+ return retval;
+}
+
+template<typename T_, typename M_>
+inline T_ multiply(T_ const& p1, M_ const& p2, typename boost::enable_if<
+ boost::mpl::and_<is_vector3<T_>, is_matrix<M_, 2> > >::type* = 0)
+{
+ BOOST_ASSERT(matrix_extent(p2, 0) == 3 && matrix_extent(p2, 1) == 3);
+ T_ retval;
+ retval[0] = multiply(p1[0], p2[0][0])
+ + multiply(p1[1], p2[1][0])
+ + multiply(p1[2], p2[2][0]);
+ retval[1] = multiply(p1[0], p2[0][1])
+ + multiply(p1[1], p2[1][1])
+ + multiply(p1[2], p2[2][1]);
+ retval[2] = multiply(p1[0], p2[0][2])
+ + multiply(p1[1], p2[1][2])
+ + multiply(p1[2], p2[2][2]);
+ return retval;
+}
+
+template<typename M_, typename T_>
+inline T_ multiply(M_ const& p1, T_ const& p2, typename boost::enable_if<
+ boost::mpl::and_<is_matrix<M_, 2>, is_vector3<T_> > >::type* = 0)
+{
+ BOOST_ASSERT(matrix_extent(p1, 0) == 3 && matrix_extent(p1, 1) == 3);
+ T_ retval;
+ retval[0] = multiply(p1[0][0], p2[0])
+ + multiply(p1[0][1], p2[1])
+ + multiply(p1[0][2], p2[2]);
+ retval[1] = multiply(p1[1][0], p2[0])
+ + multiply(p1[1][1], p2[1])
+ + multiply(p1[1][2], p2[2]);
+ retval[2] = multiply(p1[2][0], p2[0])
+ + multiply(p1[2][1], p2[1])
+ + multiply(p1[2][2], p2[2]);
+ return retval;
+}
+
+template<typename T_>
+inline T_ modulo(T_ const& p1, typename element_type_of<T_>::type const& p2, typename boost::enable_if<is_vector3<T_> >::type* = 0)
+{
+ T_ retval;
+ retval[0] = modulo(p1[0], p2);
+ retval[1] = modulo(p1[1], p2);
+ retval[2] = modulo(p1[2], p2);
+ return retval;
+}
+
+template<typename T_>
+inline T_ modulo(T_ const& p1, T_ const& p2, typename boost::enable_if<is_vector3<T_> >::type* = 0)
+{
+ T_ retval;
+ retval[0] = modulo(p1[0], p2[0]);
+ retval[1] = modulo(p1[1], p2[1]);
+ retval[2] = modulo(p1[2], p2[2]);
+ return retval;
+}
+
+template<typename T_>
+inline T_ negate(T_ const& v, typename boost::enable_if<is_vector3<T_> >::type* = 0)
+{
+ T_ retval;
+ retval[0] = -v[0];
+ retval[1] = -v[1];
+ retval[2] = -v[2];
+ return retval;
+}
+
+template<typename T_>
+inline T_ abs(T_ const& v, typename boost::enable_if<is_vector3<T_> >::type* = 0)
+{
+ T_ retval;
+ retval[0] = abs(v[0]);
+ retval[1] = abs(v[1]);
+ retval[2] = abs(v[2]);
+ return retval;
+}
+
+template<typename T_>
+inline typename element_type_of<T_>::type dot_product(T_ const& p1, T_ const& p2, typename boost::enable_if<is_vector3<T_> >::type* = 0)
+{
+ return multiply(p1[0], p2[0])
+ + multiply(p1[1], p2[1])
+ + multiply(p1[2], p2[2]);
+}
+
+template<typename T_>
+inline T_ cross_product(T_ const& p1, T_ const& p2, typename boost::enable_if<is_vector3<T_> >::type* = 0)
+{
+ T_ retval;
+ retval[0] = subtract(multiply(p1[1], p2[2]), multiply(p1[2], p2[1]));
+ retval[1] = subtract(multiply(p1[2], p2[0]), multiply(p1[0], p2[2]));
+ retval[2] = subtract(multiply(p1[0], p2[1]), multiply(p1[1], p2[0]));
+ return retval;
+}
+
+template<typename T_>
+inline typename element_type_of<T_>::type length_sq(T_ const& r, typename boost::enable_if<is_vector2<T_> >::type* = 0)
+{
+ return pow_2(r[0]) + pow_2(r[1]);
+}
+
+template< typename T_ >
+inline typename element_type_of< T_ >::type length_sq(T_ const& r, typename boost::enable_if<is_vector3<T_> >::type* = 0)
+{
+ return pow_2(r[0]) + pow_2(r[1]) + pow_2(r[2]);
+}
+
+template< typename T_ >
+inline typename element_type_of< T_ >::type length(T_ const& r)
+{
+ return std::sqrt(length_sq(r));
+}
+
+#define CREATE_VECTOR_INNER_TPL(__z__, __n__, __d__) \
+ __d__[__n__] = BOOST_PP_CAT(p, __n__);
+
+#define CREATE_VECTOR_TPL(__z__, __n__, __d__) \
+template<typename T_> \
+inline T_ create_vector(\
+ BOOST_PP_ENUM_PARAMS(__n__, typename element_type_of<T_>::type const& p), \
+ typename boost::enable_if<is_vector<T_, __n__> >::type* = 0) \
+{ \
+ T_ retval; \
+ BOOST_PP_REPEAT_ ## __z__(__n__, CREATE_VECTOR_INNER_TPL, retval) \
+ return retval; \
+}
+
+BOOST_PP_REPEAT_FROM_TO(2, CREATE_VECTOR_LIMIT_REPEAT, CREATE_VECTOR_TPL, )
+
+#undef CREATE_VECTOR_TPL
+#undef CREATE_VECTOR_INNER_TPL
+
+template<typename T_>
+inline bool is_cartesian_versor(T_ const& vector, typename boost::enable_if<is_vector3<T_> >::type* = 0)
+{
+ return (vector == create_vector<T_>(1, 0, 0) ||
+ vector == create_vector<T_>(0, 1, 0) ||
+ vector == create_vector<T_>(0, 0, 1) ||
+ vector == create_vector<T_>(-1, 0, 0) ||
+ vector == create_vector<T_>(0, -1, 0) ||
+ vector == create_vector<T_>(0, 0, -1));
+}
+
+#endif /* LINEAR_ALGEBRA_HPP */
diff --git a/ecell4/egfrd/pyport.patch b/ecell4/egfrd/pyport.patch
new file mode 100644
index 0000000..d46baa9
--- /dev/null
+++ b/ecell4/egfrd/pyport.patch
@@ -0,0 +1,38 @@
+--- _pyport.h 2013-02-09 00:44:58.000000000 +0900
++++ pyport.h 2013-03-01 23:22:57.000000000 +0900
+@@ -678,21 +678,35 @@
+ #ifdef _PY_PORT_CTYPE_UTF8_ISSUE
+ #include <ctype.h>
+ #include <wctype.h>
++#ifdef isalnum
+ #undef isalnum
+ #define isalnum(c) iswalnum(btowc(c))
++#endif
++#ifdef isalpha
+ #undef isalpha
+ #define isalpha(c) iswalpha(btowc(c))
++#endif
++#ifdef islower
+ #undef islower
+ #define islower(c) iswlower(btowc(c))
++#endif
++#ifdef isspace
+ #undef isspace
+ #define isspace(c) iswspace(btowc(c))
++#endif
++#ifdef isupper
+ #undef isupper
+ #define isupper(c) iswupper(btowc(c))
++#endif
++#ifdef tolower
+ #undef tolower
+ #define tolower(c) towlower(btowc(c))
++#endif
++#ifdef toupper
+ #undef toupper
+ #define toupper(c) towupper(btowc(c))
+ #endif
++#endif
+
+
+ /* Declarations for symbol visibility.
diff --git a/ecell4/egfrd/samples/CMakeLists.txt b/ecell4/egfrd/samples/CMakeLists.txt
new file mode 100644
index 0000000..6e367c5
--- /dev/null
+++ b/ecell4/egfrd/samples/CMakeLists.txt
@@ -0,0 +1,5 @@
+add_executable(mymapk mymapk.cpp)
+target_link_libraries(mymapk ecell4-egfrd)
+
+add_executable(polygon polygon.cpp)
+target_link_libraries(polygon ecell4-egfrd)
diff --git a/ecell4/egfrd/samples/mymapk.cpp b/ecell4/egfrd/samples/mymapk.cpp
new file mode 100644
index 0000000..d34f3c7
--- /dev/null
+++ b/ecell4/egfrd/samples/mymapk.cpp
@@ -0,0 +1,246 @@
+// vim: foldmethod=marker
+// Sakamoto EPDP Sample
+
+#include <stdexcept>
+#include <vector>
+#include <string>
+#include <numeric>
+#include <boost/shared_ptr.hpp>
+#include <boost/scoped_ptr.hpp>
+#include <boost/foreach.hpp>
+#include <cstdlib>
+#include <gsl/gsl_roots.h>
+
+#include <boost/format.hpp>
+
+// // epdp headers
+// #include <ecell4/epdp/config.h>
+// #include <ecell4/epdp/utils/range.hpp>
+// #include <ecell4/epdp/World.hpp>
+// //#include <ecell4/epdp/ParticleModel.hpp>
+// //#include <ecell4/epdp/SpeciesType.hpp>
+// //#include <ecell4/epdp/SpeciesTypeID.hpp>
+// //#include <ecell4/epdp/CuboidalRegion.hpp>
+// //#include <ecell4/epdp/NetworkRules.hpp>
+// //#include <ecell4/epdp/ReactionRule.hpp>
+// #include <ecell4/epdp/EGFRDSimulator.hpp>
+// //#include <ecell4/epdp/NetworkRulesAdapter.hpp>
+// //#include <ecell4/epdp/GSLRandomNumberGenerator.hpp>
+
+#include <ecell4/core/Model.hpp>
+#include <ecell4/core/RandomNumberGenerator.hpp>
+#include <ecell4/core/NetworkModel.hpp>
+#include <ecell4/core/Species.hpp>
+#include <ecell4/core/ReactionRule.hpp>
+
+#include <ecell4/egfrd/egfrd.hpp>
+
+
+// typedef double Real;
+
+int main(int argc, char **argv)
+{
+ // Traits typedefs
+ // {{{
+ // typedef ::World< ::CyclicWorldTraits<Real> > world_type;
+ // typedef EGFRDSimulator< ::EGFRDSimulatorTraitsBase<world_type> >
+ // simulator_type;
+ typedef ecell4::egfrd::EGFRDWorld world_type;
+ typedef ecell4::egfrd::EGFRDSimulator simulator_type;
+ typedef simulator_type::multi_type multi_type;
+ // }}}
+
+ // Constants
+ // {{{
+ const ecell4::Real L(1e-6);
+ const ecell4::Real3 edge_lengths(L, L, L);
+ const ecell4::Integer3 matrix_sizes(3, 3, 3);
+ const ecell4::Real volume(L * L * L);
+ const ecell4::Integer N(60);
+ const ecell4::Real kd(0.1), U(0.5);
+ const ecell4::Real ka(kd * volume * (1 - U) / (U * U * N));
+ const ecell4::Real k2(ka), k1(kd);
+ const ecell4::Integer dissociation_retry_moves(3);
+ // }}}
+
+ boost::shared_ptr<ecell4::NetworkModel>
+ model(new ecell4::NetworkModel());
+
+ // add ::SpeciesType to ::ParticleModel
+ // {{{
+ ecell4::Species sp1(
+ std::string("A"), std::string("2.5e-09"), std::string("1e-12"));
+ model->add_species_attribute(sp1);
+
+ ecell4::Species sp2(
+ std::string("B"), std::string("2.5e-09"), std::string("1e-12"));
+ model->add_species_attribute(sp2);
+
+ ecell4::Species sp3(
+ std::string("C"), std::string("2.5e-09"), std::string("1e-12"));
+ model->add_species_attribute(sp3);
+ // }}}
+
+ // ReactionRules
+ // {{{
+ // A -> B + C k1
+ // {{{
+ ecell4::ReactionRule rr1(
+ ecell4::create_unbinding_reaction_rule(sp1, sp2, sp3, k1));
+ model->add_reaction_rule(rr1);
+ // }}}
+
+ // B + C -> A k2
+ // {{{
+ ecell4::ReactionRule rr2(
+ ecell4::create_binding_reaction_rule(sp2, sp3, sp1, k2));
+ model->add_reaction_rule(rr2);
+ // }}}
+ // }}}
+
+ // Random Number Generator (Instanciate and Initialize)
+ // {{{
+ // boost::shared_ptr<ecell4::GSLRandomNumberGenerator>
+ boost::shared_ptr<ecell4::RandomNumberGenerator>
+ rng(new ecell4::GSLRandomNumberGenerator());
+ rng->seed((unsigned long int)0);
+ // rng->seed(time(NULL));
+ // }}}
+
+ // World Definition
+ // {{{
+ boost::shared_ptr<world_type>
+ world(new world_type(edge_lengths, matrix_sizes, rng));
+ world->bind_to(model);
+ // }}}
+
+ // add ecell4::Species( ::SpeciesInfo) to ::World
+ // {{{
+ // world->add_species(ecell4::Species("A"));
+ // world->add_species(ecell4::Species("B"));
+ // world->add_species(ecell4::Species("C"));
+ // }}}
+
+ // Thorow particles into world at random
+ // {{{
+ world->add_molecules(ecell4::Species("A"), N);
+
+ typedef std::vector<std::pair<ecell4::ParticleID, ecell4::Particle> >
+ particle_id_pair_list;
+ const particle_id_pair_list particles(world->list_particles());
+ for (particle_id_pair_list::const_iterator i(particles.begin());
+ i != particles.end(); ++i)
+ {
+ const ecell4::Real3 pos((*i).second.position());
+ std::cout << "(" << pos[0] << pos[1] << pos[2] << ")" << std::endl;
+ }
+ // }}}
+
+ // Logger Settings
+ // {{{
+ boost::shared_ptr< ::LoggerManager> logger_mng(
+ new ::LoggerManager("dummy", ::Logger::L_WARNING));
+ ::LoggerManager::register_logger_manager(
+ "ecell.EGFRDSimulator", logger_mng);
+ // }}}
+
+ // EGFRDSimulator instance generated
+ // {{{
+ boost::shared_ptr<simulator_type> sim(
+ new simulator_type(world, model, dissociation_retry_moves));
+ // sim->paranoiac() = true;
+ sim->initialize();
+ // }}}
+
+ // Simulation Executed
+ // {{{
+ ecell4::Real next_time(0.0), dt(0.02);
+ std::cout << sim->t() << "\t"
+ << world->num_molecules_exact(sp1) << "\t"
+ << world->num_molecules_exact(sp2) << "\t"
+ << world->num_molecules_exact(sp3) << "\t" << std::endl;
+ // for (int i(0); i < 10; i++)
+ // for (int i(0); i < 100; i++)
+ for (int i(0); i < 100; i++)
+ {
+ next_time += dt;
+ while (sim->step(next_time))
+ {
+ // if (sim->last_reactions().size() > 0)
+ // {
+ // std::cout << sim->t() << "\t"
+ // << world->num_molecules_exact(sp1) << "\t"
+ // << world->num_molecules_exact(sp2) << "\t"
+ // << world->num_molecules_exact(sp3) << "\t" << std::endl;
+ // }
+ }
+
+ std::cout << sim->t() << "\t"
+ << world->num_molecules_exact(sp1) << "\t"
+ << world->num_molecules_exact(sp2) << "\t"
+ << world->num_molecules_exact(sp3) << "\t" << std::endl;
+ }
+ // }}}
+
+ // world->save("test.h5");
+
+ // Statistics
+ // {{{
+ int num_single_steps_per_type[simulator_type::NUM_SINGLE_EVENT_KINDS];
+ num_single_steps_per_type[simulator_type::SINGLE_EVENT_REACTION]
+ = sim->num_single_steps_per_type(simulator_type::SINGLE_EVENT_REACTION);
+ num_single_steps_per_type[simulator_type::SINGLE_EVENT_ESCAPE]
+ = sim->num_single_steps_per_type(simulator_type::SINGLE_EVENT_ESCAPE);
+
+ std::cout << (boost::format("%1%: %2% \n")
+ % "SINGLE_EVENT_REACTION"
+ % num_single_steps_per_type[simulator_type::SINGLE_EVENT_REACTION]);
+ std::cout << (boost::format("%1%: %2% \n")
+ % "SINGLE_EVENT_ESCAPE"
+ % num_single_steps_per_type[simulator_type::SINGLE_EVENT_ESCAPE]);
+
+ std::cout << (boost::format("%1%: %2% \n")
+ % "PAIR_EVENT_SINGLE_REACTION_0"
+ % sim->num_pair_steps_per_type(
+ simulator_type::PAIR_EVENT_SINGLE_REACTION_0));
+ std::cout << (boost::format("%1%: %2% \n")
+ % "PAIR_EVENT_SINGLE_REACTION_1"
+ % sim->num_pair_steps_per_type(
+ simulator_type::PAIR_EVENT_SINGLE_REACTION_1));
+ std::cout << (boost::format("%1%: %2% \n")
+ % "PAIR_EVENT_COM_ESCAPE"
+ % sim->num_pair_steps_per_type(simulator_type::PAIR_EVENT_COM_ESCAPE));
+ std::cout << (boost::format("%1%: %2% \n")
+ % "PAIR_EVENT_IV_UNDETERMINED"
+ % sim->num_pair_steps_per_type(
+ simulator_type::PAIR_EVENT_IV_UNDETERMINED));
+ std::cout << (boost::format("%1%: %2% \n")
+ % "PAIR_EVENT_IV_ESCAPE"
+ % sim->num_pair_steps_per_type(simulator_type::PAIR_EVENT_IV_ESCAPE));
+ std::cout << (boost::format("%1%: %2% \n")
+ % "PAIR_EVENT_IV_REACTION"
+ % sim->num_pair_steps_per_type(simulator_type::PAIR_EVENT_IV_REACTION));
+
+ std::cout << (boost::format("%1%: %2% \n")
+ % "NONE" % sim->num_multi_steps_per_type(multi_type::NONE));
+ std::cout << (boost::format("%1%: %2% \n")
+ % "ESCAPE" % sim->num_multi_steps_per_type(multi_type::ESCAPE));
+ std::cout << (boost::format("%1%: %2% \n")
+ % "REACTION" % sim->num_multi_steps_per_type(multi_type::REACTION));
+ // }}}
+
+ // {
+ // boost::scoped_ptr<world_type>
+ // world2(new world_type(ecell4::Real3(1, 2, 3), ecell4::Integer3(3, 6, 9)));
+ // std::cout << "edge_lengths:" << world2->edge_lengths()[0] << " " << world2->edge_lengths()[1] << " " << world2->edge_lengths()[2] << std::endl;
+ // std::cout << "matrix_sizes:" << world2->matrix_sizes()[0] << " " << world2->matrix_sizes()[1] << " " << world2->matrix_sizes()[2] << std::endl;
+ // std::cout << "num_particles: " << world2->num_particles() << std::endl;
+
+ // world2->load("test.h5");
+ // std::cout << "edge_lengths:" << world2->edge_lengths()[0] << " " << world2->edge_lengths()[1] << " " << world2->edge_lengths()[2] << std::endl;
+ // std::cout << "matrix_sizes:" << world2->matrix_sizes()[0] << " " << world2->matrix_sizes()[1] << " " << world2->matrix_sizes()[2] << std::endl;
+ // std::cout << "num_particles: " << world2->num_particles() << std::endl;
+ // }
+
+ return 0;
+}
diff --git a/ecell4/egfrd/samples/polygon.cpp b/ecell4/egfrd/samples/polygon.cpp
new file mode 100644
index 0000000..ec59bf7
--- /dev/null
+++ b/ecell4/egfrd/samples/polygon.cpp
@@ -0,0 +1,208 @@
+// vim: foldmethod=marker
+// copied from Sakamoto EPDP Sample, mymapk
+// remove reaction, change output format to xyz, and add polygon structure.
+
+#include <stdexcept>
+#include <vector>
+#include <string>
+#include <numeric>
+#include <boost/shared_ptr.hpp>
+#include <boost/scoped_ptr.hpp>
+#include <boost/foreach.hpp>
+#include <cstdlib>
+#include <gsl/gsl_roots.h>
+
+#include <boost/format.hpp>
+
+// // epdp headers
+// #include <ecell4/epdp/config.h>
+// #include <ecell4/epdp/utils/range.hpp>
+// #include <ecell4/epdp/World.hpp>
+// //#include <ecell4/epdp/ParticleModel.hpp>
+// //#include <ecell4/epdp/SpeciesType.hpp>
+// //#include <ecell4/epdp/SpeciesTypeID.hpp>
+// //#include <ecell4/epdp/CuboidalRegion.hpp>
+// //#include <ecell4/epdp/NetworkRules.hpp>
+// //#include <ecell4/epdp/ReactionRule.hpp>
+// #include <ecell4/epdp/EGFRDSimulator.hpp>
+// //#include <ecell4/epdp/NetworkRulesAdapter.hpp>
+// //#include <ecell4/epdp/GSLRandomNumberGenerator.hpp>
+
+#include <ecell4/core/Model.hpp>
+#include <ecell4/core/RandomNumberGenerator.hpp>
+#include <ecell4/core/NetworkModel.hpp>
+#include <ecell4/core/Species.hpp>
+#include <ecell4/core/ReactionRule.hpp>
+
+#include <ecell4/egfrd/egfrd.hpp>
+#include <ecell4/egfrd/StlFileReader.hpp>
+
+
+// typedef double Real;
+
+int main(int argc, char **argv)
+{
+ // Traits typedefs
+ // {{{
+ // typedef ::World< ::CyclicWorldTraits<Real> > world_type;
+ // typedef EGFRDSimulator< ::EGFRDSimulatorTraitsBase<world_type> >
+ // simulator_type;
+ typedef ecell4::egfrd::EGFRDWorld world_type;
+ typedef ecell4::egfrd::BDSimulator simulator_type;
+// typedef simulator_type::multi_type multi_type;
+ // }}}
+
+ // Constants
+ // {{{
+ const ecell4::Real L(1e2);
+ const ecell4::Real3 edge_lengths(L, L, L);
+ const ecell4::Integer3 matrix_sizes(3, 3, 3);
+ const ecell4::Real volume(L * L * L);
+ const ecell4::Integer N(60);
+ const ecell4::Real kd(0.1), U(0.5);
+ const ecell4::Real ka(kd * volume * (1 - U) / (U * U * N));
+ const ecell4::Real k2(ka), k1(kd);
+ // }}}
+
+ boost::shared_ptr<ecell4::NetworkModel>
+ model(new ecell4::NetworkModel());
+
+ // add ::SpeciesType to ::ParticleModel
+ // {{{
+ ecell4::Species sp1(
+ std::string("C"), std::string("2.5"), std::string("1e3"));
+ model->add_species_attribute(sp1);
+ ecell4::Species sp2(
+ std::string("N"), std::string("2.5"), std::string("1e3"));
+ model->add_species_attribute(sp2);
+
+ // }}}
+
+ // ReactionRules
+ // {{{
+ // Nothing!
+ // }}}
+
+ // Random Number Generator (Instanciate and Initialize)
+ // {{{
+ // boost::shared_ptr<ecell4::GSLRandomNumberGenerator>
+ boost::shared_ptr<ecell4::RandomNumberGenerator>
+ rng(new ecell4::GSLRandomNumberGenerator());
+ rng->seed((unsigned long int)0);
+ // rng->seed(time(NULL));
+ // }}}
+
+ // World Definition
+ // {{{
+ boost::shared_ptr<world_type>
+ world(new world_type(edge_lengths, matrix_sizes, rng));
+ world->bind_to(model);
+ // }}}
+
+ std::cerr << "particle generate start" << std::endl;
+ // Throw particles into world at random
+ // {{{
+ for(std::size_t i=0; i<N; ++i)
+ {
+ while(true)
+ {
+// const ecell4::Real radius = rng->uniform(0, 15.0);
+// const ecell4::Real theta = rng->uniform(0, 2.0 * 3.14159265358979);
+// const ecell4::Real phi = rng->uniform(0, 2.0 * 3.14159265358979);
+ const ecell4::Real3 sphere_center(50.0, 50.0, 50.0);
+// const ecell4::Real3 dist(
+// radius * sin(theta) * cos(phi),
+// radius * sin(theta) * sin(phi),
+// radius * cos(theta));
+// assert(length(dist) < 24.);
+ const ecell4::Real3 position(rng->uniform(0.0, 1e2), rng->uniform(0.0, 1e2), rng->uniform(0.0, 1e2));
+ ecell4::Particle newpart;
+ if(length(position - sphere_center) < 20.0)
+ newpart = ecell4::Particle(ecell4::Species("C"), position, 2.5, 1e3);
+ else if(length(position - sphere_center) > 30)
+ newpart = ecell4::Particle(ecell4::Species("N"), position, 2.5, 1e3);
+ else
+ continue;
+ if(world->new_particle(newpart).second) break;
+ }
+ }
+ std::cerr << "particle generate end" << std::endl;
+
+ std::cerr << "polygon setup begin" << std::endl;
+ StlFileReader<ecell4::Real3> stlreader;
+ std::vector<StlTriangle<ecell4::Real3> > triangles =
+ stlreader.read("sphere_radius_24_center_50.stl", StlFileReader<ecell4::Real3>::Ascii);
+ for(std::vector<StlTriangle<ecell4::Real3> >::const_iterator
+ iter = triangles.begin(); iter != triangles.end(); ++iter)
+ {
+ world->add_surface(iter->vertices);
+ }
+ std::cerr << "polygon setup end" << std::endl;
+ // }}}
+
+ // Logger Settings
+ // {{{
+ boost::shared_ptr< ::LoggerManager> logger_mng(
+ new ::LoggerManager("dummy", ::Logger::L_WARNING));
+ ::LoggerManager::register_logger_manager(
+ "ecell.EGFRDSimulator", logger_mng);
+ // }}}
+
+ // EGFRDSimulator instance generated
+ // {{{
+ boost::shared_ptr<simulator_type> sim(
+ new simulator_type(world, model, 1.0));
+ // sim->paranoiac() = true;
+ sim->initialize();
+ // }}}
+
+ std::cerr << "simulation start" << std::endl;
+ // Simulation Executed
+ // {{{
+ ecell4::Real next_time(0.0), dt(0.2);
+ for (int i(0); i < 100; i++)
+ {
+ ecell4::Integer num_sp1 = world->num_molecules_exact(sp1);
+ ecell4::Integer num_sp2 = world->num_molecules_exact(sp2);
+ std::cout << num_sp1 + num_sp2 << std::endl;
+ std::cout << "now t = " << sim->t() << std::endl;
+ const std::vector<
+ std::pair<world_type::particle_id_type, world_type::particle_type>
+ > particles = world->list_particles();
+ for(std::size_t i=0; i< particles.size(); ++i)
+ {
+ const ecell4::Real3 center(50.0, 50.0, 50.0);
+ if(particles.at(i).second.sid() == "C")
+ {
+ if(length(particles.at(i).second.position() - center) > 24.)
+ {
+ std::cerr << "radius = " << length(particles.at(i).second.position() - center) << std::endl;
+ std::cerr << "it should be inside" << std::endl;
+// assert(false);
+ }
+ }
+ else if(particles.at(i).second.sid() == "N")
+ {
+ if(length(particles.at(i).second.position() - center) < 24.)
+ {
+ std::cerr << "radius = " << length(particles.at(i).second.position() - center) << std::endl;
+ std::cerr << "it should be outside" << std::endl;
+// assert(false);
+ }
+ }
+// if(length(particles.at(i).second.position() - center) > 24.)
+// {
+// std::cerr << "particle goes out!" << std::endl;
+// }
+ std::cout << particles.at(i).second.sid() << " "
+ << particles.at(i).second.position()[0] << " "
+ << particles.at(i).second.position()[1] << " "
+ << particles.at(i).second.position()[2] << std::endl;
+ }
+ next_time += dt;
+ while (sim->step(next_time)){}
+ }
+ // }}}
+
+ return 0;
+}
diff --git a/ecell4/egfrd/samples/wscript b/ecell4/egfrd/samples/wscript
new file mode 100644
index 0000000..113476a
--- /dev/null
+++ b/ecell4/egfrd/samples/wscript
@@ -0,0 +1,34 @@
+#! /usr/bin/env python
+# encoding: utf-8
+
+from waflib.Tools import waf_unit_test, python
+from waflib.Task import Task
+from waflib import Logs
+from waflib import Utils
+import os
+import glob
+
+
+top = '.'
+out = 'build'
+
+cppfiles = ["mymapk.cpp"]
+
+def options(opt):
+ opt.load('compiler_cxx boost')
+
+def configure(conf):
+ conf.load('compiler_cxx python boost')
+ conf.check_cxx(lib='gsl')
+
+def build(bld):
+ bld.program(
+ features = 'cxx cprogram',
+ source = cppfiles,
+ includes = ['.', '${HOME}/local/include/ecell4/egfrd_impl'],
+ defines = ['HAVE_CONFIG_H', 'HAVE_INLINE'],
+ lib = ['ecell4-core', 'ecell4_egfrd_intgl', 'gsl', 'gslcblas', 'm', 'hdf5', 'hdf5_cpp'],
+ use = ['BOOST'],
+ target = 'sample_epdp_intgl')
+
+
diff --git a/ecell4/egfrd/sorted_list.hpp b/ecell4/egfrd/sorted_list.hpp
new file mode 100644
index 0000000..8bc2cc1
--- /dev/null
+++ b/ecell4/egfrd/sorted_list.hpp
@@ -0,0 +1,201 @@
+#ifndef _SORTED_LIST
+#define _SORTED_LIST
+
+#include <algorithm>
+#include <functional>
+#include <boost/call_traits.hpp>
+#include <boost/range/size.hpp>
+#include <boost/range/begin.hpp>
+#include <boost/range/end.hpp>
+#include <boost/range/rbegin.hpp>
+#include <boost/range/rend.hpp>
+#include <boost/range/value_type.hpp>
+#include <boost/range/size_type.hpp>
+#include <boost/range/difference_type.hpp>
+#include <boost/range/iterator.hpp>
+#include <boost/range/const_iterator.hpp>
+#include <boost/range/reverse_iterator.hpp>
+#include <boost/range/const_reverse_iterator.hpp>
+#include "utils/fun_composition.hpp"
+
+template<typename Tcntnr_, typename TweakOrdering_ = std::less<typename boost::range_value<Tcntnr_>::type>, typename Tholder_ = Tcntnr_>
+class sorted_list
+{
+public:
+ typedef Tcntnr_ container_type;
+ typedef Tholder_ holder_type;
+ typedef typename boost::range_value<container_type>::type value_type;
+ typedef typename boost::range_size<container_type>::type size_type;
+ typedef typename boost::range_difference<container_type>::type difference_type;
+ typedef typename boost::range_iterator<container_type>::type iterator;
+ typedef typename boost::range_const_iterator<container_type>::type const_iterator;
+ typedef typename boost::range_reverse_iterator<container_type>::type reverse_iterator;
+ typedef typename boost::range_const_reverse_iterator<container_type>::type const_reverse_iterator;
+
+ typedef value_type* pointer;
+ typedef value_type const* const_pointer;
+ typedef value_type& reference;
+ typedef value_type const& const_reference;
+
+ size_type size() const
+ {
+ return boost::size(static_cast<container_type const&>(cntnr_));
+ }
+
+ iterator begin()
+ {
+ return boost::begin(static_cast<container_type&>(cntnr_));
+ }
+
+ const_iterator begin() const
+ {
+ return boost::begin(static_cast<container_type const&>(cntnr_));
+ }
+
+ iterator end()
+ {
+ return boost::end(static_cast<container_type&>(cntnr_));
+ }
+
+ const_iterator end() const
+ {
+ return boost::end(static_cast<container_type const&>(cntnr_));
+ }
+
+ reverse_iterator rbegin()
+ {
+ return boost::rbegin(static_cast<container_type&>(cntnr_));
+ }
+
+ const_reverse_iterator rbegin() const
+ {
+ return boost::rbegin(static_cast<container_type const&>(cntnr_));
+ }
+
+ reverse_iterator rend()
+ {
+ return boost::rend(static_cast<container_type&>(cntnr_));
+ }
+
+ const_reverse_iterator rend() const
+ {
+ return boost::end(static_cast<container_type const&>(cntnr_));
+ }
+
+ void push(value_type const& v)
+ {
+ iterator i(std::upper_bound(begin(), end(), v,
+ static_cast<TweakOrdering_ const&>(ord_)));
+ static_cast<container_type&>(cntnr_).insert(i, v);
+ }
+
+ bool push_no_duplicate(value_type const& v)
+ {
+ iterator i(std::upper_bound(begin(), end(), v,
+ static_cast<TweakOrdering_ const&>(ord_)));
+ if (i != begin())
+ {
+ if (*--i == v)
+ return false;
+ ++i;
+ }
+ static_cast<container_type&>(cntnr_).insert(i, v);
+ return true;
+ }
+
+ bool update(value_type const& v)
+ {
+ iterator i(std::upper_bound(begin(), end(), v,
+ static_cast<TweakOrdering_ const&>(ord_)));
+ if (i != begin())
+ {
+ if (*--i == v)
+ {
+ value_type _v(v);
+ std::swap(*i, _v);
+ return false;
+ }
+ ++i;
+ }
+ static_cast<container_type&>(cntnr_).insert(i, v);
+ return true;
+ }
+
+
+ void erase(iterator const& i)
+ {
+ static_cast<container_type&>(cntnr_).erase(i);
+ }
+
+ iterator find(value_type const& v)
+ {
+ iterator i(std::lower_bound(begin(), end(), v,
+ static_cast<TweakOrdering_ const&>(ord_)));
+ return i != end() && *i == v ? i: end();
+ }
+
+ const_iterator find(value_type const& v) const
+ {
+ const_iterator i(std::lower_bound(begin(), end(), v,
+ static_cast<TweakOrdering_ const&>(ord_)));
+ return i != end() && *i == v ? i: end();
+ }
+
+ reverse_iterator rfind(value_type const& v)
+ {
+ reverse_iterator i(std::upper_bound(rbegin(), rend(), v,
+ compose_binary(std::logical_not<bool>(),
+ static_cast<TweakOrdering_ const&>(ord_))));
+ return i != rend() && *i == v ? i: rend();
+ }
+
+ const_reverse_iterator rfind(value_type const& v) const
+ {
+ const_reverse_iterator i(std::upper_bound(rbegin(), rend(), v,
+ compose_binary(std::logical_not<bool>(),
+ static_cast<TweakOrdering_ const&>(ord_))));
+ return i != rend() && *i == v ? i: rend();
+ }
+
+ size_type erase(value_type const& v)
+ {
+ iterator e(end());
+ std::pair<iterator, iterator> i(std::equal_range(begin(), e, v,
+ static_cast<TweakOrdering_ const&>(ord_)));
+ const size_type retval(i.second - i.first);
+ static_cast<container_type&>(cntnr_).erase(i.first, i.second);
+ return retval;
+ }
+
+ void clear()
+ {
+ static_cast<container_type&>(cntnr_).clear();
+ }
+
+ holder_type& container()
+ {
+ return cntnr_;
+ }
+
+ holder_type const& container() const
+ {
+ return cntnr_;
+ }
+
+ sorted_list(typename boost::call_traits<TweakOrdering_>::param_type ord,
+ typename boost::call_traits<holder_type>::param_type holder)
+ : ord_(ord), cntnr_(holder) {}
+
+ explicit sorted_list(typename boost::call_traits<holder_type>::param_type holder)
+ : ord_(), cntnr_(holder) {}
+
+ explicit sorted_list(typename boost::call_traits<TweakOrdering_>::param_type ord): ord_(ord) {}
+
+ sorted_list(): ord_() {}
+
+private:
+ TweakOrdering_ ord_;
+ holder_type cntnr_;
+};
+
+#endif /* SORTED_LIST */
diff --git a/ecell4/egfrd/structures.hpp b/ecell4/egfrd/structures.hpp
new file mode 100644
index 0000000..9abfb88
--- /dev/null
+++ b/ecell4/egfrd/structures.hpp
@@ -0,0 +1,151 @@
+#ifndef __ECELL4_STRUCTURES_HPP
+#define __ECELL4_STRUCTURES_HPP
+
+#include <ecell4/core/RandomNumberGenerator.hpp>
+#include <ecell4/core/AABB.hpp>
+
+
+template<typename Ttraits_>
+struct ImmutativeStructureVisitor;
+
+template<typename Ttraits_>
+struct MutativeStructureVisitor;
+
+namespace ecell4
+{
+
+template<typename Ttraits_>
+class Structure
+{
+public:
+
+ typedef Ttraits_ traits_type;
+ typedef typename traits_type::structure_id_type identifier_type;
+ typedef typename traits_type::length_type length_type;
+ typedef typename traits_type::position_type position_type;
+ typedef RandomNumberGenerator rng_type;
+
+public:
+
+ Structure(const identifier_type& id)
+ : id_(id)
+ {
+ ;
+ }
+
+ virtual ~Structure()
+ {
+ ; // do nothing
+ }
+
+ const identifier_type& id() const
+ {
+ return id_;
+ }
+
+ virtual position_type random_vector(length_type const& r, rng_type& rng) const = 0;
+ virtual position_type bd_displacement(length_type const& r, rng_type& rng) const = 0;
+
+ virtual void accept(ImmutativeStructureVisitor<traits_type> const& visitor) const = 0;
+ // virtual void accept(MutativeStructureVisitor<traits_type> const& visitor) = 0;
+
+protected:
+
+ identifier_type id_;
+};
+
+template<typename Ttraits_, typename Tshape_>
+class ShapedStructure
+ : public Structure<Ttraits_>
+{
+public:
+
+ typedef Structure<Ttraits_> base_type;
+ typedef Tshape_ shape_type;
+
+ typedef typename base_type::traits_type traits_type;
+ typedef typename base_type::identifier_type identifier_type;
+ typedef typename base_type::length_type length_type;
+ typedef typename base_type::position_type position_type;
+ typedef typename base_type::rng_type rng_type;
+
+public:
+
+ ShapedStructure(const identifier_type& id, const shape_type& shape)
+ : base_type(id), shape_(shape)
+ {
+ ;
+ }
+
+ shape_type& shape()
+ {
+ return shape_;
+ }
+
+ const shape_type& shape() const
+ {
+ return shape_;
+ }
+
+protected:
+
+ shape_type shape_;
+};
+
+template<typename Ttraits_>
+class AABBRegion
+ : public ShapedStructure<Ttraits_, AABB> //XXX
+{
+public:
+
+ typedef ShapedStructure<Ttraits_, AABB> base_type;
+
+ typedef typename base_type::traits_type traits_type;
+ typedef typename base_type::shape_type shape_type;
+ typedef typename base_type::identifier_type identifier_type;
+ typedef typename base_type::length_type length_type;
+ typedef typename base_type::position_type position_type;
+ typedef typename base_type::rng_type rng_type;
+
+public:
+
+ AABBRegion(const identifier_type& id, const shape_type& shape)
+ : base_type(id, shape)
+ {
+ ;
+ }
+
+ virtual ~AABBRegion()
+ {
+ ;
+ }
+
+ virtual position_type random_vector(length_type const& r, rng_type& rng) const
+ {
+ // return rng.direction3d(r);
+ return normalize(
+ create_vector<position_type>(
+ rng.uniform(-1., 1.), rng.uniform(-1., 1.), rng.uniform(-1., 1.)),
+ r);
+ }
+
+ virtual position_type bd_displacement(length_type const& r, rng_type& rng) const
+ {
+ return create_vector<position_type>(
+ rng.gaussian(r), rng.gaussian(r), rng.gaussian(r));
+ }
+
+ virtual void accept(ImmutativeStructureVisitor<traits_type> const& visitor) const
+ {
+ visitor(*this);
+ }
+
+ // virtual void accept(MutativeStructureVisitor<traits_type> const& visitor)
+ // {
+ // visitor(*this);
+ // }
+};
+
+} // ecell4
+
+#endif /* __ECELL4_STRUCTURES_HPP */
diff --git a/ecell4/egfrd/tablegen/CMakeLists.txt b/ecell4/egfrd/tablegen/CMakeLists.txt
new file mode 100644
index 0000000..020babb
--- /dev/null
+++ b/ecell4/egfrd/tablegen/CMakeLists.txt
@@ -0,0 +1,25 @@
+# cmake_minimum_required(VERSION 2.8)
+# INCLUDE(CheckCXXSourceCompiles)
+
+add_executable(make_sjy_table make_sjy_table.cpp)
+add_executable(make_cjy_table make_cjy_table.cpp)
+target_link_libraries(make_sjy_table gslcblas)
+target_link_libraries(make_cjy_table gsl gslcblas)
+# add_custom_command(
+# OUTPUT SphericalBesselTable.hpp
+# COMMAND make_sjy_table ${PROJECT_BINARY_DIR}/SphericalBesselTable.hpp
+# DEPENDS make_sjy_table)
+# add_custom_command(
+# OUTPUT CylindricalBesselTable.hpp
+# COMMAND make_cjy_table ${PROJECT_BINARY_DIR}/CylindricalBesselTable.hpp
+# DEPENDS make_cjy_table)
+# add_custom_target(BesselTables ALL DEPENDS ${PROJECT_BINARY_DIR}/SphericalBesselTable.hpp ${PROJECT_BINARY_DIR}/CylindricalBesselTable.hpp)
+add_custom_command(
+ OUTPUT ${PROJECT_BINARY_DIR}/ecell4/egfrd/SphericalBesselTable.hpp
+ COMMAND make_sjy_table ${PROJECT_BINARY_DIR}/ecell4/egfrd/SphericalBesselTable.hpp
+ DEPENDS make_sjy_table)
+add_custom_command(
+ OUTPUT ${PROJECT_BINARY_DIR}/ecell4/egfrd/CylindricalBesselTable.hpp
+ COMMAND make_cjy_table ${PROJECT_BINARY_DIR}/ecell4/egfrd/CylindricalBesselTable.hpp
+ DEPENDS make_cjy_table)
+add_custom_target(BesselTables ALL DEPENDS ${PROJECT_BINARY_DIR}/ecell4/egfrd/SphericalBesselTable.hpp ${PROJECT_BINARY_DIR}/ecell4/egfrd/CylindricalBesselTable.hpp)
diff --git a/ecell4/egfrd/tablegen/cjy_table.hpp b/ecell4/egfrd/tablegen/cjy_table.hpp
new file mode 100644
index 0000000..3c19710
--- /dev/null
+++ b/ecell4/egfrd/tablegen/cjy_table.hpp
@@ -0,0 +1,228 @@
+#ifndef __CJY_TABLE_HPP
+#define __CJY_TABLE_HPP
+
+#include <string>
+#include <iostream>
+#include <fstream>
+#include <sstream>
+#include <iomanip>
+#include <algorithm>
+#if (_MSC_VER >= 1500)
+#define _USE_MATH_DEFINES
+#endif
+#include <math.h>
+#include <vector>
+#include <boost/numeric/ublas/matrix.hpp>
+#include <gsl/gsl_sf_bessel.h>
+#include <gsl/gsl_nan.h>
+
+// #include "make_table_util.hpp"
+typedef std::vector<double> table_type;
+typedef std::vector<std::pair<double, double> > valdot_type;
+
+using namespace boost::numeric;
+
+typedef ublas::matrix<double> matrix;
+
+struct cjy_table
+{
+ cjy_table(table_type z, double delta,
+ matrix j, matrix jdot,
+ matrix y, matrix ydot) :
+ z(z), delta(delta), j(j), jdot(jdot), y(y), ydot(ydot)
+ {
+ }
+
+ table_type z;
+ double delta;
+ matrix j;
+ matrix jdot;
+ matrix y;
+ matrix ydot;
+};
+
+inline double minz_j(const int n)
+{
+ // We can start table interpolation from zero because there is
+ // no singularity in bessel_j for z>=0.
+ return 0;
+}
+
+inline double minz_y(const int n)
+{
+ // return max(3., n)
+ return 5.;
+}
+
+inline double maxz_j(const int n)
+{
+ double z = (n * n + 1) / 1.221e-4;
+ if (z >= 1000)
+ z = std::max(1000, n * n);
+ return z;
+}
+
+inline double maxz_y(const int n)
+{
+ // from gsl/special/bessel_y.c:
+ // else if(GSL_ROOT3_DBL_EPSILON * x > (l*l + l + 1.0)) {
+ // int status = gsl_sf_bessel_Ynu_asympx_e(l + 0.5, x, result);
+ // ...
+ double z = (n * n + n + 1) / 6.06e-6;
+ // ... but this is usually too big.
+ if (z >= 2000)
+ z = std::max(2000, n * n);
+ return z;
+}
+
+inline const table_type get_z_table(const double from, const double to, const double delta)
+{
+ table_type table;
+ table.reserve(int((to - from) / delta));
+ for (double z(from); z < to; z += delta)
+ table.push_back(z);
+ return table;
+}
+
+inline matrix zeros(const int length0, const int length1)
+{
+ matrix retval(length0, length1);
+ for (int i(0); i < length0; i++)
+ for (int j(0); j < length1; j++)
+ retval(i, j) = 0;
+ return retval;
+}
+
+inline void calculate_Jns(const int n, const double z,
+ double j[], double jdot[])
+{
+ double *jp = new double[n+2];
+ gsl_sf_bessel_Jn_array(0, n+1, z, jp);
+ j[0] = jp[0];
+ jdot[0] = -jp[1];
+ for (int l(1); l < n+1; ++l)
+ {
+ j[l] = jp[l];
+ jdot[l] = (jp[l-1] - jp[l+1])/2;
+ //jdot[l] = (l*jp[l-1] - (l+1)*jp[l+1])/(2*l+1);
+ }
+ delete[] jp;
+}
+
+inline void calculate_Yns(const int n, const double z,
+ double y[], double ydot[])
+{
+ double *yp = new double[n+2];
+ gsl_sf_bessel_Yn_array(0, n+1, z, yp);
+ y[0] = yp[0];
+ ydot[0] = -yp[1];
+ for (int l(1); l < n+1; ++l)
+ {
+ y[l] = yp[l];
+ ydot[l] = (yp[l-1] - yp[l+1])/2;
+ //ydot[l] = (n*yp[l-1] - (n+1)*yp[l])/(2*n+1);
+ }
+ delete[] yp;
+}
+
+inline void set_matrix(matrix& mat, const int i, const double array[], const int n)
+{
+ for (int index(0); index < n; ++index)
+ {
+ mat(i, index) = array[index];
+ }
+}
+
+inline cjy_table JnYn(const int n, const int resolution)
+{
+ const double delta(M_PI / resolution);
+ //const double delta(0.089759);
+ const table_type z_table(get_z_table(
+ std::min(minz_j(n), minz_y(n)),
+ std::max(maxz_j(n), maxz_y(n)),
+ delta));
+
+ const int table_size(z_table.size());
+ matrix j_table(zeros(table_size, n+1));
+ matrix jdot_table(zeros(table_size, n+1));
+ matrix y_table(zeros(table_size, n+1));
+ matrix ydot_table(zeros(table_size, n+1));
+
+ for (int i(0); i < z_table.size(); ++i)
+ {
+ const double z(z_table.at(i));
+
+ // j
+ double *j = new double[n+1];
+ double *jdot = new double[n+1];
+ calculate_Jns(n, z, j, jdot);
+ set_matrix(j_table, i, j, n+1);
+ set_matrix(jdot_table, i, jdot, n+1);
+ delete[] j;
+ delete[] jdot;
+
+ // y
+ double *y = new double[n+1];
+ double *ydot = new double[n+1];
+ if (z <= 0)
+ for (int i(0); i < n+1; ++i)
+ y[i] = ydot[i] = GSL_NEGINF;
+ else
+ calculate_Yns(n, z, y, ydot);
+ set_matrix(y_table, i, y, n+1);
+ set_matrix(ydot_table, i, ydot, n+1);
+ delete[] y;
+ delete[] ydot;
+ }
+
+ j_table = trans(j_table);
+ jdot_table = trans(jdot_table);
+ y_table = trans(y_table);
+ ydot_table = trans(ydot_table);
+
+ return cjy_table(z_table, delta, j_table, jdot_table,
+ y_table, ydot_table);
+}
+
+inline int searchsorted(const table_type& z_table, const double value)
+{
+ int i(0);
+ for (table_type::const_iterator itr(z_table.begin());
+ itr != z_table.end(); ++itr)
+ {
+ if (value <= *itr)
+ return i;
+ ++i;
+ }
+ return i;
+}
+
+inline valdot_type get_sub_sequence_from_matrix(const matrix mat0,
+ const matrix mat1, const int index0, const int start, const int end)
+{
+ if (start > end)
+ throw "start should be no more than end.";
+ valdot_type retval;
+ retval.reserve(end-start);
+ for (int i(start); i < end; ++i)
+ retval.push_back(std::pair<double, double>(mat0(index0, i), mat1(index0, i)));
+ return retval;
+}
+
+inline std::vector<double> get_sub_sequence_from_matrix2(const matrix mat0,
+ const matrix mat1, const int index0, const int start, const int end)
+{
+ if (start > end)
+ throw "start should be no more than end.";
+ std::vector<double> retval;
+ retval.reserve(end-start * 2);
+ for (int i(start); i < end; ++i)
+ {
+ // retval.push_back(std::pair<double, double>(mat0(index0, i), mat1(index0, i)));
+ retval.push_back(mat0(index0, i));
+ retval.push_back(mat1(index0, i));
+ }
+ return retval;
+}
+
+#endif /* __CJY_TABLE_HPP */
diff --git a/ecell4/egfrd/tablegen/cmlwinpy27.txt b/ecell4/egfrd/tablegen/cmlwinpy27.txt
new file mode 100644
index 0000000..668f72a
--- /dev/null
+++ b/ecell4/egfrd/tablegen/cmlwinpy27.txt
@@ -0,0 +1,46 @@
+# cmake_minimum_required(VERSION 2.8)
+# INCLUDE(CheckCXXSourceCompiles)
+
+set(CMAKE_CXX_FLAGS_RELEASE "/MD")
+set(CMAKE_CXX_FLAGS_DEBUG "/MDd")
+
+SET(CMAKE_EXE_LINKER_FLAGS /NODEFAULTLIB:LIBC;LIBCMT;MSVCRT)
+
+FIND_PACKAGE(Boost)
+find_path( GSL_INCLUDE_DIR
+ NAMES gsl/gsl_sf_bessel.h
+ )
+find_library( GSL_LIBRARIES
+ NAMES gsl
+ )
+find_library( GSL_CBLAS_LIBRARIES
+ NAMES cblas
+ )
+
+INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} ${Boost_INCLUDE_DIRS} ${GSL_INCLUDE_DIR})
+LINK_DIRECTORIES(${LINK_DIRECTORIES} ${GSL_LIBRARIES})
+
+add_executable(make_sjy_table make_sjy_table.cpp)
+add_executable(make_cjy_table make_cjy_table.cpp)
+target_link_libraries(make_sjy_table gsl cblas)
+target_link_libraries(make_cjy_table gsl cblas)
+# target_link_libraries(make_sjy_table ${GSL_LIBRARIES} ${GSL_CBLAS_LIBRARIES})
+# target_link_libraries(make_cjy_table ${GSL_LIBRARIES} ${GSL_CBLAS_LIBRARIES})
+# add_custom_command(
+# OUTPUT SphericalBesselTable.hpp
+# COMMAND make_sjy_table ${PROJECT_BINARY_DIR}/SphericalBesselTable.hpp
+# DEPENDS make_sjy_table)
+# add_custom_command(
+# OUTPUT CylindricalBesselTable.hpp
+# COMMAND make_cjy_table ${PROJECT_BINARY_DIR}/CylindricalBesselTable.hpp
+# DEPENDS make_cjy_table)
+# add_custom_target(BesselTables ALL DEPENDS ${PROJECT_BINARY_DIR}/SphericalBesselTable.hpp ${PROJECT_BINARY_DIR}/CylindricalBesselTable.hpp)
+add_custom_command(
+ OUTPUT ${PROJECT_BINARY_DIR}/ecell4/egfrd/SphericalBesselTable.hpp
+ COMMAND make_sjy_table ${PROJECT_BINARY_DIR}/ecell4/egfrd/SphericalBesselTable.hpp
+ DEPENDS make_sjy_table)
+add_custom_command(
+ OUTPUT ${PROJECT_BINARY_DIR}/ecell4/egfrd/CylindricalBesselTable.hpp
+ COMMAND make_cjy_table ${PROJECT_BINARY_DIR}/ecell4/egfrd/CylindricalBesselTable.hpp
+ DEPENDS make_cjy_table)
+add_custom_target(BesselTables ALL DEPENDS ${PROJECT_BINARY_DIR}/ecell4/egfrd/SphericalBesselTable.hpp ${PROJECT_BINARY_DIR}/ecell4/egfrd/CylindricalBesselTable.hpp)
diff --git a/ecell4/egfrd/tablegen/cmlwinpy35.txt b/ecell4/egfrd/tablegen/cmlwinpy35.txt
new file mode 100644
index 0000000..156db5a
--- /dev/null
+++ b/ecell4/egfrd/tablegen/cmlwinpy35.txt
@@ -0,0 +1,46 @@
+# cmake_minimum_required(VERSION 2.8)
+# INCLUDE(CheckCXXSourceCompiles)
+
+set(CMAKE_CXX_FLAGS_RELEASE "/MD")
+set(CMAKE_CXX_FLAGS_DEBUG "/MDd")
+
+SET(CMAKE_EXE_LINKER_FLAGS /NODEFAULTLIB:LIBC;LIBCMT;MSVCRT)
+
+FIND_PACKAGE(Boost)
+find_path( GSL_INCLUDE_DIR
+ NAMES gsl/gsl_sf_bessel.h
+ )
+find_library( GSL_LIBRARIES
+ NAMES gsl
+ )
+find_library( GSL_CBLAS_LIBRARIES
+ NAMES gslcblas
+ )
+
+INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} ${Boost_INCLUDE_DIRS} ${GSL_INCLUDE_DIR})
+LINK_DIRECTORIES(${LINK_DIRECTORIES} ${GSL_LIBRARIES})
+
+add_executable(make_sjy_table make_sjy_table.cpp)
+add_executable(make_cjy_table make_cjy_table.cpp)
+target_link_libraries(make_sjy_table gsl gslcblas)
+target_link_libraries(make_cjy_table gsl gslcblas)
+# target_link_libraries(make_sjy_table ${GSL_LIBRARIES} ${GSL_CBLAS_LIBRARIES})
+# target_link_libraries(make_cjy_table ${GSL_LIBRARIES} ${GSL_CBLAS_LIBRARIES})
+# add_custom_command(
+# OUTPUT SphericalBesselTable.hpp
+# COMMAND make_sjy_table ${PROJECT_BINARY_DIR}/SphericalBesselTable.hpp
+# DEPENDS make_sjy_table)
+# add_custom_command(
+# OUTPUT CylindricalBesselTable.hpp
+# COMMAND make_cjy_table ${PROJECT_BINARY_DIR}/CylindricalBesselTable.hpp
+# DEPENDS make_cjy_table)
+# add_custom_target(BesselTables ALL DEPENDS ${PROJECT_BINARY_DIR}/SphericalBesselTable.hpp ${PROJECT_BINARY_DIR}/CylindricalBesselTable.hpp)
+add_custom_command(
+ OUTPUT ${PROJECT_BINARY_DIR}/ecell4/egfrd/SphericalBesselTable.hpp
+ COMMAND make_sjy_table ${PROJECT_BINARY_DIR}/ecell4/egfrd/SphericalBesselTable.hpp
+ DEPENDS make_sjy_table)
+add_custom_command(
+ OUTPUT ${PROJECT_BINARY_DIR}/ecell4/egfrd/CylindricalBesselTable.hpp
+ COMMAND make_cjy_table ${PROJECT_BINARY_DIR}/ecell4/egfrd/CylindricalBesselTable.hpp
+ DEPENDS make_cjy_table)
+add_custom_target(BesselTables ALL DEPENDS ${PROJECT_BINARY_DIR}/ecell4/egfrd/SphericalBesselTable.hpp ${PROJECT_BINARY_DIR}/ecell4/egfrd/CylindricalBesselTable.hpp)
diff --git a/ecell4/egfrd/tablegen/make_cjy_table.cpp b/ecell4/egfrd/tablegen/make_cjy_table.cpp
new file mode 100644
index 0000000..ce6611b
--- /dev/null
+++ b/ecell4/egfrd/tablegen/make_cjy_table.cpp
@@ -0,0 +1,85 @@
+#include <string>
+#include <iostream>
+#include <fstream>
+#include <sstream>
+#include <iomanip>
+#include <algorithm>
+#if (_MSC_VER >= 1500)
+#define _USE_MATH_DEFINES
+#endif
+#include <math.h>
+#include <vector>
+#include <boost/numeric/ublas/matrix.hpp>
+#include <gsl/gsl_sf_bessel.h>
+#include <gsl/gsl_nan.h>
+#include "make_table_util.hpp"
+
+#include "cjy_table.hpp"
+#include "make_table_util.hpp"
+
+int main(int argc, char** argv)
+{
+ if (argc != 2) {
+ std::cerr << "Require output file name." << std::endl;
+ return 1;
+ }
+
+ std::string filename(argv[1]);
+ std::cout << "Generating as " << filename << std::endl;
+
+ const int minn_j(0);
+ const int maxn_j(50);
+ const int minn_y(0);
+ const int maxn_y(50);
+ const int resolution(35);
+
+ const std::string header_name("CYLINDRICAL_BESSEL_TABLE_HPP");
+ const std::string ns_name("cb_table");
+ std::ofstream ofs(filename.c_str());
+ write_header(ofs, header_name, ns_name);
+
+ const cjy_table table(JnYn(std::max(maxn_j, maxn_y), resolution));
+
+ // j
+ for (int n(minn_j); n<= maxn_j; ++n)
+ {
+ const int start(searchsorted(table.z, minz_j(n)));
+ const double z_start(table.z.at(start));
+ const int end(searchsorted(table.z, maxz_j(n)));
+ const valdot_type js(get_sub_sequence_from_matrix(table.j, table.jdot, n, start, end));
+ std::ostringstream oss0;
+ oss0 << "cj_table" << n << "_f";
+ write_arrays(ofs, oss0.str(), js);
+ std::ostringstream oss1;
+ oss1 << "cj_table" << n;
+ write_table(ofs, oss1.str(), end-start, z_start, table.delta);
+ if (n == maxn_j)
+ std::cout << 'j' << js.size() << std::endl;
+ }
+
+ // y
+ for (int n(minn_y); n<= maxn_y; ++n)
+ {
+ const int start(searchsorted(table.z, minz_y(n)));
+ const double z_start(table.z.at(start));
+ const int end(searchsorted(table.z, maxz_y(n)));
+ const valdot_type ys(get_sub_sequence_from_matrix(table.y, table.ydot, n, start, end));
+ std::ostringstream oss0;
+ oss0 << "cy_table" << n << "_f";
+ write_arrays(ofs, oss0.str(), ys);
+ std::ostringstream oss1;
+ oss1 << "cy_table" << n;
+ write_table(ofs, oss1.str(), end-start, z_start, table.delta);
+ if (n == maxn_y)
+ std::cout << 'y' << ys.size() << std::endl;
+ }
+
+ write_table_array(ofs, "cj_table", minn_j, maxn_j);
+ write_table_array(ofs, "cy_table", minn_y, maxn_y);
+
+ write_footer(ofs, header_name, ns_name);
+
+ ofs.close();
+
+ return 0;
+}
diff --git a/ecell4/egfrd/tablegen/make_sjy_table.cpp b/ecell4/egfrd/tablegen/make_sjy_table.cpp
new file mode 100644
index 0000000..ced888d
--- /dev/null
+++ b/ecell4/egfrd/tablegen/make_sjy_table.cpp
@@ -0,0 +1,85 @@
+// #include <string>
+// #include <iostream>
+// #include <fstream>
+// #include <sstream>
+// #include <iomanip>
+// #include <algorithm>
+// #if (_MSC_VER >= 1500)
+// #define _USE_MATH_DEFINES
+// #endif
+// #include <math.h>
+// #include <vector>
+// #include <boost/numeric/ublas/matrix.hpp>
+// #include <gsl/gsl_sf_bessel.h>
+// #include <gsl/gsl_nan.h>
+// #include "make_table_util.hpp"
+
+#include "sjy_table.hpp"
+#include "make_table_util.hpp"
+
+int main(int argc, char** argv)
+{
+ if (argc != 2) {
+ std::cerr << "Require output file name." << std::endl;
+ return 1;
+ }
+
+ std::string filename(argv[1]);
+ std::cout << "Generating as " << filename << std::endl;
+
+ const int minn_j(4);
+ const int maxn_j(51);
+ const int minn_y(3);
+ const int maxn_y(40);
+ const int resolution(35);
+
+ const std::string header_name("SPHERICAL_BESSEL_TABLE_HPP");
+ const std::string ns_name("sb_table");
+ std::ofstream ofs(filename.c_str());
+ write_header(ofs, header_name, ns_name);
+
+ const sjy_table table(jnyn(std::max(maxn_j, maxn_y), resolution));
+
+ // j
+ for (int n(minn_j); n<= maxn_j; ++n)
+ {
+ const int start(searchsorted(table.z, minz_j(n)));
+ const double z_start(table.z.at(start));
+ const int end(searchsorted(table.z, maxz_j(n)));
+ const valdot_type js(get_sub_sequence_from_matrix(table.j, table.jdot, n, start, end));
+ std::ostringstream oss0;
+ oss0 << "sj_table" << n << "_f";
+ write_arrays(ofs, oss0.str(), js);
+ std::ostringstream oss1;
+ oss1 << "sj_table" << n;
+ write_table(ofs, oss1.str(), end-start, z_start, table.delta);
+ if (n == maxn_j)
+ std::cout << 'j' << js.size() << std::endl;
+ }
+
+ // y
+ for (int n(minn_y); n<= maxn_y; ++n)
+ {
+ const int start(searchsorted(table.z, minz_y(n)));
+ const double z_start(table.z.at(start));
+ const int end(searchsorted(table.z, maxz_y(n)));
+ const valdot_type ys(get_sub_sequence_from_matrix(table.y, table.ydot, n, start, end));
+ std::ostringstream oss0;
+ oss0 << "sy_table" << n << "_f";
+ write_arrays(ofs, oss0.str(), ys);
+ std::ostringstream oss1;
+ oss1 << "sy_table" << n;
+ write_table(ofs, oss1.str(), end-start, z_start, table.delta);
+ if (n == maxn_y)
+ std::cout << 'y' << ys.size() << std::endl;
+ }
+
+ write_table_array(ofs, "sj_table", minn_j, maxn_j);
+ write_table_array(ofs, "sy_table", minn_y, maxn_y);
+
+ write_footer(ofs, header_name, ns_name);
+
+ ofs.close();
+
+ return 0;
+}
diff --git a/ecell4/egfrd/tablegen/make_table_util.hpp b/ecell4/egfrd/tablegen/make_table_util.hpp
new file mode 100644
index 0000000..c5f530c
--- /dev/null
+++ b/ecell4/egfrd/tablegen/make_table_util.hpp
@@ -0,0 +1,87 @@
+#ifndef __MAKE_TABLE_UTIL_HPP
+#define __MAKE_TABLE_UTIL_HPP
+
+#include <string>
+#include <fstream>
+
+typedef std::vector<double> table_type;
+typedef std::vector<std::pair<double, double> > valdot_type;
+
+void write_header(std::ofstream& ofs,
+ const std::string& header_name, const std::string& ns_name)
+{
+ const std::string header = "\
+#ifndef " + header_name + "\n\
+#define " + header_name + "\n\
+\n\
+/* Auto-generated by a program. Do not edit. */\n\
+\n\
+namespace " + ns_name + "\n\
+{\n\
+\n\
+struct Table\n\
+{\n\
+ const unsigned int N;\n\
+ const double x_start;\n\
+ const double delta_x;\n\
+ const double* const y;\n\
+};";
+ ofs << header << std::endl;
+}
+
+void write_footer(std::ofstream& ofs,
+ const std::string& header_name, const std::string& ns_name)
+{
+ const std::string footer = "\
+} //namespace " + ns_name + "\n\
+\n\
+#endif /* " + header_name + " */\n\
+";
+ ofs << footer << std::endl;
+}
+
+void write_table_array(std::ofstream& ofs, const std::string name,
+ const int minn, const int maxn)
+{
+ ofs << "static unsigned int " << name << "_min(" << minn << ");\n"
+ << "static unsigned int " << name << "_max(" << maxn << ");\n"
+ << "static const Table* " << name << "[" << maxn+1 << "] =\n{\n";
+ for (int n(0); n < minn; ++n)
+ ofs << " 0,\n";
+ for (int n(minn); n <= maxn; ++n)
+ ofs << " &" << name << n << ",\n";
+ ofs << "};\n" << std::endl;
+}
+
+void write_arrays(std::ofstream& ofs, const std::string name,
+ const valdot_type table)
+{
+ const int N(table.size());
+
+ ofs << "\nstatic const double " << name << "[" << 2*N << " + 1] =\n{\n";
+ if (N >=1)
+ {
+ valdot_type::const_iterator itr(table.begin());
+ ofs << " "
+ << std::scientific << std::setprecision(18) << (*itr).first << ", "
+ << std::scientific << std::setprecision(18) << (*itr).second;
+
+ while((++itr) != table.end())
+ ofs << ",\n "
+ << std::scientific << std::setprecision(18) << (*itr).first << ", "
+ << std::scientific << std::setprecision(18) << (*itr).second;
+ }
+ ofs << "};" << std::endl;
+}
+
+void write_table(std::ofstream& ofs, const std::string& name,
+ const int N, const double x_start, const double delta_x)
+{
+ ofs << "\nstatic const Table " << name << " = { "
+ << N << ", "
+ << std::fixed << std::setprecision(18) << x_start << ", "
+ << std::fixed << std::setprecision(18) << delta_x << ", "
+ << name << "_f };\n" << std::endl;
+}
+
+#endif
diff --git a/ecell4/egfrd/tablegen/sjy_table.hpp b/ecell4/egfrd/tablegen/sjy_table.hpp
new file mode 100644
index 0000000..1bbff57
--- /dev/null
+++ b/ecell4/egfrd/tablegen/sjy_table.hpp
@@ -0,0 +1,221 @@
+#ifndef __SJY_TABLE_HPP
+#define __SJY_TABLE_HPP
+
+#include <string>
+#include <iostream>
+#include <fstream>
+#include <sstream>
+#include <iomanip>
+#include <algorithm>
+#if (_MSC_VER >= 1500)
+#define _USE_MATH_DEFINES
+#endif
+#include <math.h>
+#include <vector>
+#include <boost/numeric/ublas/matrix.hpp>
+#include <gsl/gsl_sf_bessel.h>
+#include <gsl/gsl_nan.h>
+#include "sph_bessel.hpp"
+
+// #include "make_table_util.hpp"
+typedef std::vector<double> table_type;
+typedef std::vector<std::pair<double, double> > valdot_type;
+
+using namespace boost::numeric;
+
+typedef ublas::matrix<double> matrix;
+
+struct sjy_table
+{
+ sjy_table() {}
+
+ sjy_table(table_type z, double delta,
+ matrix j, matrix jdot,
+ matrix y, matrix ydot) :
+ z(z), delta(delta), j(j), jdot(jdot), y(y), ydot(ydot)
+ {
+ }
+
+ table_type z;
+ double delta;
+ matrix j;
+ matrix jdot;
+ matrix y;
+ matrix ydot;
+};
+
+inline double minz_j(const int n)
+{
+ // We can start table interpolation from zero because there is
+ // no singularity in bessel_j for z>=0.
+ return 0;
+}
+
+inline double minz_y(const int n)
+{
+ // return max(3., n)
+ return .5;
+}
+
+inline double maxz_j(const int n)
+{
+ double z = (n * n + n + 1) / 1.221e-4;
+ if (z >= 1000)
+ z = std::max(1000, n * n);
+ return z;
+}
+
+inline double maxz_y(const int n)
+{
+ // from gsl/special/bessel_y.c:
+ // else if(GSL_ROOT3_DBL_EPSILON * x > (l*l + l + 1.0)) {
+ // int status = gsl_sf_bessel_Ynu_asympx_e(l + 0.5, x, result);
+ // ...
+ double z = (n * n + n + 1) / 6.06e-6;
+ // ... but this is usually too big.
+ if (z >= 2000)
+ z = std::max(2000, n * n);
+ return z;
+}
+
+inline const table_type get_z_table(const double from, const double to, const double delta)
+{
+ table_type table;
+ table.reserve(int((to - from) / delta));
+ for (double z(from); z < to; z += delta)
+ table.push_back(z);
+ return table;
+}
+
+inline matrix zeros(const int length0, const int length1)
+{
+ matrix retval(length0, length1);
+ for (int i(0); i < length0; i++)
+ for (int j(0); j < length1; j++)
+ retval(i, j) = 0;
+ return retval;
+}
+
+inline void calculate_jns(const int n, const double z,
+ double j[], double jdot[])
+{
+ values jp(sphj_array(n, z));
+ for (int k(0); k <= n; ++k)
+ {
+ j[k] = jp.first[k];
+ jdot[k] = jp.second[k];
+ }
+}
+
+inline void calculate_yns(const int n, const double z,
+ double y[], double ydot[])
+{
+ values yp(sphy_array(n, z));
+ for (int k(0); k <= n; ++k)
+ {
+ y[k] = yp.first[k];
+ ydot[k] = yp.second[k];
+ }
+}
+
+inline void set_matrix(matrix& mat, const int i, const double array[], const int n)
+{
+ for (int index(0); index < n; ++index)
+ {
+ mat(i, index) = array[index];
+ }
+}
+
+inline sjy_table jnyn(const int n, const int resolution)
+{
+ const double delta(M_PI / resolution);
+ //const double delta(0.089759);
+ const table_type z_table(get_z_table(
+ std::min(minz_j(n), minz_y(n)),
+ std::max(maxz_j(n), maxz_y(n)),
+ delta));
+
+ const int table_size(z_table.size());
+ matrix j_table(zeros(table_size, n+1));
+ matrix jdot_table(zeros(table_size, n+1));
+ matrix y_table(zeros(table_size, n+1));
+ matrix ydot_table(zeros(table_size, n+1));
+
+ for (int i(0); i < z_table.size(); ++i)
+ {
+ const double z(z_table.at(i));
+
+ // j
+ double *j = new double[n+1];
+ double *jdot = new double[n+1];
+ calculate_jns(n, z, j, jdot);
+ set_matrix(j_table, i, j, n+1);
+ set_matrix(jdot_table, i, jdot, n+1);
+ delete[] j;
+ delete[] jdot;
+
+ // y
+ double *y = new double[n+1];
+ double *ydot = new double[n+1];
+ if (z <= 0)
+ for (int i(0); i < n+1; ++i)
+ y[i] = ydot[i] = GSL_NEGINF;
+ else
+ calculate_yns(n, z, y, ydot);
+ set_matrix(y_table, i, y, n+1);
+ set_matrix(ydot_table, i, ydot, n+1);
+ delete[] y;
+ delete[] ydot;
+ }
+
+ j_table = trans(j_table);
+ jdot_table = trans(jdot_table);
+ y_table = trans(y_table);
+ ydot_table = trans(ydot_table);
+
+ return sjy_table(z_table, delta, j_table, jdot_table,
+ y_table, ydot_table);
+}
+
+inline int searchsorted(const table_type& z_table, const double value)
+{
+ int i(0);
+ for (table_type::const_iterator itr(z_table.begin());
+ itr != z_table.end(); ++itr)
+ {
+ if (value <= *itr)
+ return i;
+ ++i;
+ }
+ return i;
+}
+
+inline valdot_type get_sub_sequence_from_matrix(const matrix mat0,
+ const matrix mat1, const int index0, const int start, const int end)
+{
+ if (start > end)
+ throw "start should be no more than end.";
+ valdot_type retval;
+ retval.reserve(end-start);
+ for (int i(start); i < end; ++i)
+ retval.push_back(std::pair<double, double>(mat0(index0, i), mat1(index0, i)));
+ return retval;
+}
+
+inline std::vector<double> get_sub_sequence_from_matrix2(const matrix mat0,
+ const matrix mat1, const int index0, const int start, const int end)
+{
+ if (start > end)
+ throw "start should be no more than end.";
+ std::vector<double> retval;
+ retval.reserve(end-start * 2);
+ for (int i(start); i < end; ++i)
+ {
+ // retval.push_back(std::pair<double, double>(mat0(index0, i), mat1(index0, i)));
+ retval.push_back(mat0(index0, i));
+ retval.push_back(mat1(index0, i));
+ }
+ return retval;
+}
+
+#endif /* __SJY_TABLE_HPP */
diff --git a/ecell4/egfrd/tablegen/sph_bessel.hpp b/ecell4/egfrd/tablegen/sph_bessel.hpp
new file mode 100644
index 0000000..35ccb69
--- /dev/null
+++ b/ecell4/egfrd/tablegen/sph_bessel.hpp
@@ -0,0 +1,156 @@
+#ifndef __ECELL4_SPH_BESSEL_HPP
+#define __ECELL4_SPH_BESSEL_HPP
+
+#include <utility>
+#include <vector>
+#include <limits>
+#include <cmath>
+#include <cstdlib>
+
+typedef std::pair<std::vector<double>, std::vector<double> > values;
+
+const double inf = std::numeric_limits<double>::infinity();
+
+inline double envj(const int n, const double x)
+{
+ return (0.5*log10(6.28*n)-n*log10(1.36*x/n));
+}
+
+inline int nn(int n0, int n1, double f0, double f1, int obj, double x)
+{
+ int nn;
+ double f;
+ for (int k(0); k < 20; ++k)
+ {
+ nn = int(n1 - (n1-n0)/(1-f0/f1));
+ f = envj(nn,x)-obj;
+ if (abs(nn-n1) < 1)
+ break;
+ n0 = n1;
+ f0 = f1;
+ n1 = nn;
+ f1 = f;
+ }
+ return nn;
+}
+
+inline int msta1(const double x, const int mp)
+{
+ const double abs(fabs(x));
+ int n0(int(1.1*abs)+1),
+ n1(n0+5);
+ double f0(envj(n0,abs)-mp),
+ f1(envj(n1,abs)-mp);
+
+ return nn(n0, n1, f0, f1, mp, abs);
+}
+
+inline int msta2(const double x, const int n, const int mp)
+{
+ const double abs(fabs(x));
+ const double hmp(0.5*mp);
+ const double ejn(envj(n,abs));
+
+ double obj;
+ int n0;
+ if (ejn <= hmp)
+ {
+ obj = mp;
+ n0 = int(1.1*abs)+1;
+ }
+ else
+ {
+ obj = hmp + ejn;
+ n0 = n;
+ }
+
+ double f0(envj(n0,abs)-obj);
+ int n1(n0+5);
+ double f1(envj(n1,abs)-obj);
+
+ return nn(n0, n1, f0, f1, obj, abs)+10;
+}
+
+inline values sphj_array(const int n, const double x)
+{
+ std::vector<double> js(n+1, 0.0), dots(n+1, 0.0);
+
+ if (x == 0)
+ {
+ js[0] = 1.0;
+ if (n > 0)
+ dots[1] = 1.0/3.0;
+ return std::make_pair(js, dots);
+ }
+
+ js[0] = sin(x)/x;
+ dots[0] = (cos(x)-js[0])/x;
+
+ if (n == 0)
+ return std::make_pair(js, dots);
+
+ js[1] = (js[0]-cos(x))/x;
+
+ int maxn(n);
+ if (n >= 2)
+ {
+ const double j0(js[0]), j1(js[1]);
+ int m(msta1(x, 200));
+ if (m < maxn)
+ maxn = m;
+ else
+ m = msta2(x, maxn, 15);
+
+ if (maxn != n)
+ throw "sphj_array precision error";
+
+ double f(0.0), f0(0.0), f1(1.0e0-100);
+ for (int k(m); k >= 0; --k)
+ {
+ f = (2*k+3)*f1/x - f0;
+ if (k <= maxn)
+ js[k] = f;
+ f0 = f1;
+ f1 = f;
+ }
+
+ double c;
+ if (fabs(j0) > fabs(j1))
+ c = j0/f;
+ else
+ c = j1/f0;
+
+ for (int k(0); k <= maxn; ++k)
+ js[k] = c * js[k];
+ }
+
+ for (int k(1); k <= maxn; ++k)
+ dots[k] = js[k-1] - (k+1)*js[k]/x;
+
+ return std::make_pair(js, dots);
+}
+
+inline values sphy_array(const int n, const double x)
+{
+ std::vector<double> ys(n+1, -inf), dots(n+1, inf);
+
+ if (x == 0)
+ return std::make_pair(ys, dots);
+
+ ys[0] = -cos(x)/x;
+ dots[0] = (sin(x)-ys[0])/x;
+
+ if (n == 0)
+ return std::make_pair(ys, dots);
+
+ ys[1] = (ys[0]-sin(x))/x;
+
+ for (int k(2); k <= n; ++k)
+ ys[k] = (2*k-1)*ys[k-1]/x - ys[k-2];
+ for (int k(1); k <= n; ++k)
+ dots[k] = ys[k-1] - (k+1)*ys[k]/x;
+
+ return std::make_pair(ys, dots);
+}
+
+#endif /* __ECELL4_SPH_BESSEL_HPP */
diff --git a/ecell4/egfrd/tests/GreensFunction3DRadInf_test.cpp b/ecell4/egfrd/tests/GreensFunction3DRadInf_test.cpp
new file mode 100644
index 0000000..ccd0d33
--- /dev/null
+++ b/ecell4/egfrd/tests/GreensFunction3DRadInf_test.cpp
@@ -0,0 +1,38 @@
+#define BOOST_TEST_MODULE "GreensFunction3DRadInf_test"
+
+#ifdef UNITTEST_FRAMEWORK_LIBRARY_EXIST
+# include <boost/test/unit_test.hpp>
+#else
+# define BOOST_TEST_NO_LIB
+# include <boost/test/included/unit_test.hpp>
+#endif
+
+#include "../GreensFunction3DRadInf.hpp"
+
+
+BOOST_AUTO_TEST_CASE(GreensFunction3DRadInf_test_constructor)
+{
+ const Real D = 2e-12;
+ const Real kf = 0;
+ const Real r0 = 1.0084e-08;
+ const Real sigma = 1e-08;
+
+ GreensFunction3DRadInf gf(D, kf, r0, sigma);
+}
+
+// BOOST_AUTO_TEST_CASE(GreensFunction3DRadInf_test_drawTheta)
+// {
+// const Real D = 2e-12;
+// const Real kf = 0;
+// const Real r0 = 1.0084e-08;
+// const Real sigma = 1e-08;
+//
+// GreensFunction3DRadInf gf(D, kf, r0, sigma);
+//
+// const Real r = 1.11944e-08;
+// const Real t = 5.08006e-08;
+// const Real rnd = 0.5; //XXX
+//
+// const Real theta = gf.drawTheta(rnd, r, t);
+// BOOST_CHECK(theta >= 0);
+// }
diff --git a/ecell4/egfrd/twofold_container.hpp b/ecell4/egfrd/twofold_container.hpp
new file mode 100644
index 0000000..aa994a6
--- /dev/null
+++ b/ecell4/egfrd/twofold_container.hpp
@@ -0,0 +1,278 @@
+#ifndef TWOFOLD_CONTAINER_HPP
+#define TWOFOLD_CONTAINER_HPP
+
+#include <algorithm>
+#include <boost/array.hpp>
+#include <boost/iterator/iterator_facade.hpp>
+#include <boost/iterator/iterator_categories.hpp>
+#include "utils/memberwise_compare.hpp"
+
+template <typename T>
+bool is_initialized(T const &obj)
+{
+ return obj.is_initialized();
+}
+
+template<typename T_>
+class twofold_container
+{
+public:
+ typedef T_ value_type;
+private:
+ typedef boost::array<value_type, 2> containing_type;
+public:
+ typedef typename containing_type::reference reference;
+ typedef typename containing_type::const_reference const_reference;
+ typedef typename containing_type::size_type size_type;
+ typedef typename containing_type::difference_type difference_type;
+
+ class const_iterator;
+ class iterator
+ : public boost::iterator_facade<
+ iterator, value_type, boost::forward_traversal_tag>
+ {
+ friend class const_iterator;
+ friend class twofold_container;
+ friend class boost::iterator_core_access;
+
+ std::ptrdiff_t distance_to(iterator const& that) const
+ {
+ return that.idx_ - idx_;
+ }
+
+ bool equal(iterator const& that) const
+ {
+ return &cntnr_ == &that.cntnr_ && idx_ == that.idx_;
+ }
+
+ void increment()
+ {
+ ++idx_;
+ }
+
+ value_type& dereference() const
+ {
+ return cntnr_[idx_];
+ }
+
+ public:
+ iterator(twofold_container& cntnr, size_type idx)
+ : cntnr_(cntnr), idx_(idx) {}
+
+ iterator(const_iterator const&);
+
+ private:
+ twofold_container& cntnr_;
+ size_type idx_;
+ };
+
+ class const_iterator
+ : public boost::iterator_facade<
+ const_iterator, const value_type, boost::forward_traversal_tag>
+ {
+ friend class iterator;
+ friend class twofold_container;
+ friend class boost::iterator_core_access;
+
+ std::ptrdiff_t distance_to(const_iterator const& that) const
+ {
+ return that.idx_ - idx_;
+ }
+
+ bool equal(const_iterator const& that) const
+ {
+ return &cntnr_ == &that.cntnr_ && idx_ == that.idx_;
+ }
+
+ void increment()
+ {
+ ++idx_;
+ }
+
+ value_type const& dereference() const
+ {
+ return cntnr_[idx_];
+ }
+
+ public:
+ const_iterator(twofold_container const& cntnr, size_type idx)
+ : cntnr_(cntnr), idx_(idx) {}
+
+ const_iterator(iterator const& that)
+ : cntnr_(that.cntnr_), idx_(that.idx_) {}
+
+ private:
+ twofold_container const& cntnr_;
+ size_type idx_;
+ };
+
+public:
+ twofold_container()
+ {
+ items_[0] = value_type();
+ items_[1] = value_type();
+ }
+
+ twofold_container(value_type const& one)
+ {
+ BOOST_ASSERT(one);
+ items_[0] = one;
+ items_[1] = value_type();
+ }
+
+ twofold_container(value_type const& one, value_type const& two)
+ {
+ BOOST_ASSERT(one);
+ BOOST_ASSERT(two);
+ if (one <= two)
+ {
+ items_[0] = one;
+ items_[1] = two;
+ }
+ else
+ {
+ items_[0] = two;
+ items_[1] = one;
+ }
+ }
+
+ size_type size() const
+ {
+ return is_initialized(items_[0]) ? is_initialized(items_[1]) ? 2: 1: 0;
+ }
+
+ iterator begin()
+ {
+ return iterator(*this, 0);
+ }
+
+ iterator end()
+ {
+ return iterator(*this, size());
+ }
+
+ const_iterator begin() const
+ {
+ return const_iterator(*this, 0);
+ }
+
+ const_iterator end() const
+ {
+ return const_iterator(*this, size());
+ }
+
+ void push_back(value_type const& item)
+ {
+ if (!is_initialized(items_[0]))
+ {
+ items_[0] = item;
+ }
+ else if (!is_initialized(items_[1]))
+ {
+ items_[1] = item;
+ }
+ else
+ {
+ BOOST_ASSERT(false);
+ }
+ }
+
+ iterator insert(iterator pos, value_type const& item)
+ {
+ switch (pos.idx_)
+ {
+ case 0:
+ switch (size())
+ {
+ case 0:
+ items_[0] = item;
+ return pos;
+ case 1:
+ items_[1] = items_[0];
+ items_[0] = item;
+ return pos;
+ default:
+ break;
+ }
+ case 1:
+ switch (size())
+ {
+ case 1:
+ items_[1] = item;
+ return pos;
+ default:
+ break;
+ }
+ }
+ BOOST_ASSERT(0);
+ }
+
+ value_type& operator[](std::size_t idx)
+ {
+ return items_[idx];
+ }
+
+ value_type const& operator[](std::size_t idx) const
+ {
+ return items_[idx];
+ }
+
+ bool operator<(twofold_container const& rhs) const
+ {
+ return memberwise_compare(*this, rhs) < 0;
+ }
+
+ bool operator>=(twofold_container const& rhs) const
+ {
+ return !operator<(rhs);
+ }
+
+ bool operator>(twofold_container const& rhs) const
+ {
+ return memberwise_compare(*this, rhs) > 0;
+ }
+
+ bool operator<=(twofold_container const& rhs) const
+ {
+ return !operator>(rhs);
+ }
+
+ bool operator==(twofold_container const& rhs) const
+ {
+ if (rhs.size() != size())
+ return false;
+ switch (size())
+ {
+ case 0:
+ return true;
+ case 1:
+ return items_[0] == rhs[0];
+ case 2:
+ return items_[0] == rhs[0] && items_[1] == rhs[1];
+ }
+ /* never get here */
+ return false;
+ }
+
+ bool operator!=(twofold_container const& rhs) const
+ {
+ return !operator==(rhs);
+ }
+
+ void swap(twofold_container& rhs)
+ {
+ std::swap(items_, rhs.items_);
+ }
+
+protected:
+ containing_type items_;
+};
+
+template<typename T_>
+inline twofold_container<T_>::iterator::iterator(
+ typename twofold_container<T_>::const_iterator const& that)
+ : cntnr_(const_cast<twofold_container&>(that.cntnr_)), idx_(that.idx_)
+{
+}
+
+#endif /* TWOFOLD_CONTAINER_HPP */
diff --git a/ecell4/egfrd/utils.cpp b/ecell4/egfrd/utils.cpp
new file mode 100644
index 0000000..955fca7
--- /dev/null
+++ b/ecell4/egfrd/utils.cpp
@@ -0,0 +1,18 @@
+#ifdef HAVE_CONFIG_H
+#include <ecell4/egfrd/config.h>
+#endif /* HAVE_CONFIG_H */
+
+#include <stdexcept>
+#include <string>
+#include <boost/lexical_cast.hpp>
+#include "utils.hpp"
+
+// GSL error handler.
+void gsl_error_handler( char const* reason, char const* file, int line, int gsl_errno )
+{
+ throw std::runtime_error( std::string( "GSL error: " ) +
+ std::string( reason ) +
+ std::string( " at " ) +
+ std::string( file ) + std::string( ":" ) +
+ boost::lexical_cast< std::string >( line ) );
+}
diff --git a/ecell4/egfrd/utils.hpp b/ecell4/egfrd/utils.hpp
new file mode 100644
index 0000000..6fc6ad8
--- /dev/null
+++ b/ecell4/egfrd/utils.hpp
@@ -0,0 +1,6 @@
+#ifndef UTILS_HPP
+#define UTILS_HPP
+
+void gsl_error_handler( char const* reason, char const* file, int line, int gsl_errno );
+
+#endif /* UTILS_HPP */
diff --git a/ecell4/egfrd/utils/array_helper.hpp b/ecell4/egfrd/utils/array_helper.hpp
new file mode 100644
index 0000000..90b7cb3
--- /dev/null
+++ b/ecell4/egfrd/utils/array_helper.hpp
@@ -0,0 +1,49 @@
+#ifndef ARRAY_HELPER_HPP
+#define ARRAY_HELPER_HPP
+
+#include <boost/array.hpp>
+#include <boost/preprocessor/config/limits.hpp>
+#include <boost/preprocessor/repetition/repeat.hpp>
+#include <boost/preprocessor/repetition/enum_params.hpp>
+#include <boost/preprocessor/cat.hpp>
+#include <boost/call_traits.hpp>
+
+#define ARRAY_HELPER_INNER_TPL(__z__, __n__, __d__) \
+ __d__[__n__] = BOOST_PP_CAT(p, __n__);
+
+#define ARRAY_HELPER_TPL(__z__, __n__, __d__) \
+template<typename T_> \
+inline ::boost::array<T_, __n__> array_gen(\
+ BOOST_PP_ENUM_PARAMS(__n__, T_ const& p)) \
+{ \
+ ::boost::array<T_, __n__> retval; \
+ BOOST_PP_REPEAT_ ## __z__(__n__, ARRAY_HELPER_INNER_TPL, retval) \
+ return retval; \
+}
+
+#ifndef WIN32_MSC
+BOOST_PP_REPEAT_FROM_TO(0, BOOST_PP_LIMIT_REPEAT, ARRAY_HELPER_TPL, )
+#else
+BOOST_PP_REPEAT_FROM_TO(0, 128, ARRAY_HELPER_TPL, )
+#endif
+
+#undef ARRAY_HELPER_TPL
+#undef ARRAY_HELPER_INNER_TPL
+
+template<std::size_t Nfrom_, typename std::size_t Nto_, typename T_, std::size_t Ncap_>
+inline ::boost::array<T_, Nto_ - Nfrom_>&
+array_slice(::boost::array<T_, Ncap_>& arr)
+{
+ BOOST_STATIC_ASSERT((Nto_ <= Ncap_ && Nto_ >= Nfrom_));
+ return *reinterpret_cast< ::boost::array<T_, Nto_ - Nfrom_>*>(&arr[Nfrom_]);
+}
+
+template<std::size_t Nto_, typename T_, std::size_t Nfrom_>
+inline ::boost::array<T_, Nto_> const&
+array_slice(::boost::array<T_, Nfrom_> const& arr)
+{
+ BOOST_STATIC_ASSERT((Nto_ <= Nfrom_));
+ return *reinterpret_cast< ::boost::array<T_, Nto_> const*>(&arr);
+}
+
+#endif /* ARRAY_HELPER_HPP */
diff --git a/ecell4/egfrd/utils/array_traits.hpp b/ecell4/egfrd/utils/array_traits.hpp
new file mode 100644
index 0000000..78afb2a
--- /dev/null
+++ b/ecell4/egfrd/utils/array_traits.hpp
@@ -0,0 +1,63 @@
+#ifndef ARRAY_CAST_HPP
+#define ARRAY_CAST_HPP
+
+#include <boost/array.hpp>
+#include <boost/type_traits/is_const.hpp>
+#include <boost/type_traits/remove_const.hpp>
+#include <boost/mpl/if.hpp>
+#include <boost/multi_array.hpp>
+
+template< typename T_ >
+struct num_elements
+{
+ struct cannot_deduce_number_of_elements_from_the_specified_type;
+ enum { _ = sizeof(cannot_deduce_number_of_elements_from_the_specified_type) };
+};
+
+template< typename T_, std::size_t N_ >
+struct num_elements< T_[ N_ ] >
+{
+ BOOST_STATIC_CONSTANT( std::size_t, value = N_ );
+};
+
+template< typename T_ >
+struct element_type_of
+{
+// typedef typename T_::value_type type;
+};
+
+template< typename T_, std::size_t N_ >
+struct element_type_of< T_[N_] >
+{
+ typedef T_ type;
+};
+
+template< typename T_, std::size_t N_ >
+struct element_type_of< boost::array< T_, N_ > >
+{
+ typedef T_ type;
+};
+
+template< typename T_, typename Talloc_ >
+struct element_type_of< boost::multi_array< T_, 1, Talloc_ > >
+{
+ typedef T_ type;
+};
+
+template< typename T_ >
+T_& array_cast( typename element_type_of< T_ >::type* elts )
+{
+ return *elts;
+}
+
+template< typename T_, typename Tx_ >
+T_& array_cast( Tx_& elts )
+{
+ BOOST_STATIC_ASSERT(( boost::is_same<
+ typename boost::remove_const<
+ typename element_type_of< T_ >::type >::type,
+ typename Tx_::value_type >::value ));
+ return reinterpret_cast< T_& >( *elts.data() );
+}
+
+#endif /* ARRAY_CAST_HPP */
diff --git a/ecell4/egfrd/utils/assoc_container_traits.hpp b/ecell4/egfrd/utils/assoc_container_traits.hpp
new file mode 100644
index 0000000..b593706
--- /dev/null
+++ b/ecell4/egfrd/utils/assoc_container_traits.hpp
@@ -0,0 +1,24 @@
+#ifndef ASSOC_CONTAINER_TRAITS_HPP
+#define ASSOC_CONTAINER_TRAITS_HPP
+
+#include <boost/range/value_type.hpp>
+
+template<typename Tassoc_>
+struct assoc_key
+{
+ typedef typename Tassoc_::key_type type;
+};
+
+template<typename Tassoc_>
+struct assoc_value
+{
+ typedef typename boost::range_value<Tassoc_>::type type;
+};
+
+template<typename Tassoc_>
+struct assoc_mapped
+{
+ typedef typename Tassoc_::mapped_type type;
+};
+
+#endif /* ASSOC_CONTAINER_TRAITS_HPP */
diff --git a/ecell4/egfrd/utils/base_type_walker.hpp b/ecell4/egfrd/utils/base_type_walker.hpp
new file mode 100644
index 0000000..21105aa
--- /dev/null
+++ b/ecell4/egfrd/utils/base_type_walker.hpp
@@ -0,0 +1,40 @@
+#ifndef UTILS_BASE_TYPE_WALKER_HPP
+#define UTILS_BASE_TYPE_WALKER_HPP
+
+#include <boost/call_traits.hpp>
+
+template<typename Twalker_, typename T_, typename TwalkerHolder_ = Twalker_ const&>
+class base_type_walker
+{
+public:
+ typedef Twalker_ walker_type;
+ typedef TwalkerHolder_ walker_holder_type;
+
+ base_type_walker(typename boost::call_traits<walker_holder_type>::param_type walker): walker(walker) {}
+
+ static const bool has_base_class = sizeof(typename T_::base_type**) == sizeof(void*);
+
+ void operator()()
+ {
+ return this->operator()<T_>(0);
+ }
+
+private:
+ template<typename T>
+ void operator()(typename T::base_type*) const
+ {
+ walker.template operator()<T>();
+ base_type_walker<Twalker_, typename T::base_type>(walker).operator()();
+ }
+
+ template<typename T>
+ void operator()(...) const
+ {
+ walker.template operator()<T>();
+ }
+
+public:
+ walker_holder_type walker;
+};
+
+#endif /* UTILS_BASE_TYPE_WALKER_HPP */
diff --git a/ecell4/egfrd/utils/fun_composition.hpp b/ecell4/egfrd/utils/fun_composition.hpp
new file mode 100644
index 0000000..853401b
--- /dev/null
+++ b/ecell4/egfrd/utils/fun_composition.hpp
@@ -0,0 +1,189 @@
+#ifndef FUN_COMPOSITION_HPP
+#define FUN_COMPOSITION_HPP
+
+namespace detail
+{
+ template < typename Tderived_, typename Tfun1_, typename Tfun2_,
+ typename Tretval_ = typename Tfun1_::result_type >
+ struct unary_compose_impl
+ {
+ typedef typename Tfun2_::argument_type argument_type;
+ typedef typename Tfun1_::result_type result_type;
+
+ unary_compose_impl( Tfun1_ const& f1, Tfun2_ const& f2 )
+ : f1_( f1 ), f2_( f2 ) {}
+
+ result_type operator()( argument_type const& val ) const
+ {
+ return f1_( f2_( val ) );
+ }
+
+ result_type operator()( argument_type const& val )
+ {
+ return f1_( f2_( val ) );
+ }
+
+ result_type operator()( argument_type& val ) const
+ {
+ return f1_( f2_( val ) );
+ }
+
+ result_type operator()( argument_type& val )
+ {
+ return f1_( f2_( val ) );
+ }
+
+ private:
+ Tfun1_ f1_;
+ Tfun2_ f2_;
+ };
+
+ template < typename Tderived_, typename Tfun1_, typename Tfun2_ >
+ struct unary_compose_impl< Tderived_, Tfun1_, Tfun2_, void >
+ {
+ typedef typename Tfun2_::argument_type argument_type;
+ typedef void result_type;
+
+ unary_compose_impl( Tfun1_ const& f1, Tfun2_ const& f2 )
+ : f1_( f1 ), f2_( f2 ) {}
+
+ void operator()( argument_type const& val ) const
+ {
+ f1_( f2_( val ) );
+ }
+
+ void operator()( argument_type const& val )
+ {
+ f1_( f2_( val ) );
+ }
+
+ void operator()( argument_type& val ) const
+ {
+ f1_( f2_( val ) );
+ }
+
+ void operator()( argument_type& val )
+ {
+ f1_( f2_( val ) );
+ }
+
+ private:
+ Tfun1_ f1_;
+ Tfun2_ f2_;
+ };
+
+ template < typename Tderived_, typename Tfun1_, typename Tfun2_,
+ typename Tretval_ = typename Tfun1_::result_type >
+ struct binary_compose_impl
+ {
+ typedef typename Tfun2_::first_argument_type first_argument_type;
+ typedef typename Tfun2_::second_argument_type second_argument_type;
+ typedef typename Tfun1_::result_type result_type;
+
+ binary_compose_impl( Tfun1_ const& f1, Tfun2_ const& f2 )
+ : f1_( f1 ), f2_( f2 ) {}
+
+ result_type operator()( first_argument_type const& v1,
+ second_argument_type const& v2 ) const
+ {
+ return f1_( f2_( v1, v2 ) );
+ }
+
+ result_type operator()( first_argument_type const& v1,
+ second_argument_type const& v2 )
+ {
+ return f1_( f2_( v1, v2 ) );
+ }
+
+ result_type operator()( first_argument_type& v1,
+ second_argument_type& v2 ) const
+ {
+ return f1_( f2_( v1, v2 ) );
+ }
+
+ result_type operator()( first_argument_type& v1,
+ second_argument_type& v2 )
+ {
+ return f1_( f2_( v1, v2 ) );
+ }
+
+ private:
+ Tfun1_ f1_;
+ Tfun2_ f2_;
+ };
+
+ template < typename Tderived_, typename Tfun1_, typename Tfun2_ >
+ struct binary_compose_impl< Tderived_, Tfun1_, Tfun2_, void >
+ {
+ typedef typename Tfun2_::first_argument_type first_argument_type;
+ typedef typename Tfun2_::second_argument_type second_argument_type;
+ typedef void result_type;
+
+ binary_compose_impl( Tfun1_ const& f1, Tfun2_ const& f2 )
+ : f1_( f1 ), f2_( f2 ) {}
+
+ void operator()( first_argument_type const& v1,
+ second_argument_type const& v2 ) const
+ {
+ f1_( f2_( v1, v2 ) );
+ }
+
+ void operator()( first_argument_type const& v1,
+ second_argument_type const& v2 )
+ {
+ f1_( f2_( v1, v2 ) );
+ }
+
+ void operator()( first_argument_type& v1,
+ second_argument_type& v2 ) const
+ {
+ f1_( f2_( v1, v2 ) );
+ }
+
+ void operator()( first_argument_type& v1,
+ second_argument_type& v2 )
+ {
+ f1_( f2_( v1, v2 ) );
+ }
+
+ private:
+ Tfun1_ f1_;
+ Tfun2_ f2_;
+ };
+} // namespace detail
+
+template < typename Tfun1_, typename Tfun2_ >
+struct unary_compose
+ : public detail::unary_compose_impl<unary_compose< Tfun1_, Tfun2_ >,
+ Tfun1_, Tfun2_ >
+{
+public:
+ unary_compose( Tfun1_ const& f1, Tfun2_ const& f2 )
+ : detail::unary_compose_impl< unary_compose, Tfun1_, Tfun2_ >( f1, f2 ) {}
+};
+
+template < typename Tfun1_, typename Tfun2_ >
+inline unary_compose< Tfun1_, Tfun2_ >
+compose_unary( Tfun1_ const& f1, Tfun2_ const& f2 )
+{
+ return unary_compose< Tfun1_, Tfun2_ >( f1, f2 );
+}
+
+template < typename Tfun1_, typename Tfun2_ >
+struct binary_compose
+ : public detail::binary_compose_impl<binary_compose< Tfun1_, Tfun2_ >,
+ Tfun1_, Tfun2_ >
+{
+public:
+ binary_compose( Tfun1_ const& f1, Tfun2_ const& f2 )
+ : detail::binary_compose_impl< binary_compose, Tfun1_, Tfun2_ >( f1, f2 ) {}
+};
+
+template < typename Tfun1_, typename Tfun2_ >
+inline binary_compose< Tfun1_, Tfun2_ >
+compose_binary( Tfun1_ const& f1, Tfun2_ const& f2 )
+{
+ return binary_compose< Tfun1_, Tfun2_ >( f1, f2 );
+}
+
+#endif /* FUN_COMPOSITION_HPP */
diff --git a/ecell4/egfrd/utils/fun_wrappers.hpp b/ecell4/egfrd/utils/fun_wrappers.hpp
new file mode 100644
index 0000000..4734479
--- /dev/null
+++ b/ecell4/egfrd/utils/fun_wrappers.hpp
@@ -0,0 +1,135 @@
+#ifndef FUN_WRAPPERS_HPP
+#define FUN_WRAPPERS_HPP
+
+#include <functional>
+#include <boost/utility/enable_if.hpp>
+#include <boost/type_traits/is_reference.hpp>
+#include <boost/pointee.hpp>
+#include <boost/call_traits.hpp>
+//#include "utils/fun_composition.hpp"
+#include "./fun_composition.hpp"
+
+template < typename T_ >
+struct delete_ptr: public std::unary_function<T_*, void>
+{
+ typedef void result_type;
+ typedef T_* argument_type;
+
+ void operator()( T_* ptr ) const
+ {
+ delete ptr;
+ }
+};
+
+template<typename T_, typename Targ_>
+struct reinterpret_caster: public std::unary_function<Targ_, T_>
+{
+ T_ operator()(Targ_ const& v) const
+ {
+ return reinterpret_cast<T_>(v);
+ }
+};
+
+template<typename T_, typename Targ_>
+struct reinterpret_caster<T_&, Targ_&>: public std::unary_function<Targ_&, T_&>
+{
+ T_& operator()(Targ_& v) const
+ {
+ return reinterpret_cast<T_&>(v);
+ }
+};
+
+template<typename T_, typename Targ_>
+inline T_ reinterpret_cast_wrapper(Targ_ const& v, typename boost::disable_if<boost::is_reference<T_> >::type* = 0)
+{
+ return reinterpret_caster<T_, Targ_>()(v);
+}
+
+template<typename T_, typename Targ_>
+inline T_& reinterpret_cast_wrapper(Targ_& v)
+{
+ return reinterpret_caster<T_&, Targ_&>()(v);
+}
+
+template<typename T_, typename Targ_>
+struct dynamic_caster: std::unary_function<Targ_, T_>
+{
+ T_ operator()(Targ_ const& v)
+ {
+ return dynamic_cast<T_>(v);
+ }
+};
+
+template<typename T_, typename Targ_>
+struct dynamic_caster<T_&, Targ_&>: std::unary_function<Targ_&, T_&>
+{
+ T_& operator()(Targ_& v)
+ {
+ return dynamic_cast<T_&>(v);
+ }
+};
+
+template<typename T_, typename Targ_>
+inline T_ dynamic_cast_wrapper(Targ_ const& v, typename boost::disable_if<boost::is_reference<T_> >::type* = 0)
+{
+ return dynamic_caster<T_, Targ_>()(v);
+}
+
+template<typename T_, typename Targ_>
+inline T_& dynamic_cast_wrapper(Targ_& v)
+{
+ return dynamic_caster<T_&, Targ_&>()(v);
+}
+
+template<typename Talloc_>
+struct destruct_ptr
+ : std::unary_function<typename Talloc_::pointer, void>
+{
+public:
+ typedef typename Talloc_::pointer argument_type;
+ typedef void result_type;
+
+public:
+ destruct_ptr(Talloc_& alloc): alloc_(alloc) {}
+
+ void operator()(argument_type ptr) const
+ {
+ alloc_.destroy(ptr);
+ }
+
+private:
+ Talloc_& alloc_;
+};
+
+template<typename Talloc_>
+struct default_initializer
+ : std::unary_function<typename Talloc_::reference, void>
+{
+ typedef typename Talloc_::reference argument_type;
+ typedef void result_type;
+
+ default_initializer(Talloc_& alloc): alloc_(alloc) {}
+
+ void operator()(argument_type ptr) const
+ {
+ new(alloc_.address(ptr)) typename Talloc_::value_type();
+ }
+
+private:
+ Talloc_& alloc_;
+};
+
+template <typename T_>
+struct dereference: std::unary_function<T_, typename boost::pointee<T_>::type&>
+{
+ typedef typename boost::pointee<T_>::type& result_type;
+ typedef T_* argument_type;
+
+ result_type
+ operator()(typename boost::call_traits<T_>::param_type ptr) const
+ {
+ return *ptr;
+ }
+};
+
+#endif /* FUN_WRAPPERS_HPP */
diff --git a/ecell4/egfrd/utils/get_default_impl.hpp b/ecell4/egfrd/utils/get_default_impl.hpp
new file mode 100644
index 0000000..b61a2c4
--- /dev/null
+++ b/ecell4/egfrd/utils/get_default_impl.hpp
@@ -0,0 +1,46 @@
+#ifndef GET_DEFAULT_IMPL_HPP
+#define GET_DEFAULT_IMPL_HPP
+
+#include <map>
+#include <set>
+#include <vector>
+
+#if defined(HAVE_UNORDERED_MAP)
+#include <unordered_map>
+#elif defined(HAVE_TR1_UNORDERED_MAP)
+#include <tr1/unordered_map>
+#elif defined(HAVE_BOOST_UNORDERED_MAP_HPP)
+#include <boost/unordered_map.hpp>
+#endif /* HAVE_UNORDERED_MAP */
+
+namespace get_default_impl
+{
+ namespace std
+ {
+ template<typename Tkey_, typename Tval_>
+ struct map
+ {
+ typedef ::std::map<Tkey_, Tval_> type;
+ };
+
+ template<typename Tkey_, typename Tval_>
+ struct unordered_map
+ {
+#if defined(HAVE_UNORDERED_MAP)
+ typedef ::std::unordered_map<Tkey_, Tval_> type;
+#elif defined(HAVE_TR1_UNORDERED_MAP)
+ typedef ::std::tr1::unordered_map<Tkey_, Tval_> type;
+#elif defined(HAVE_BOOST_UNORDERED_MAP_HPP)
+ typedef ::boost::unordered_map<Tkey_, Tval_> type;
+#endif
+ };
+
+ template<typename Tval_>
+ struct vector
+ {
+ typedef ::std::vector<Tval_> type;
+ };
+ } // std
+} // namespace get_default_impl
+
+#endif /* GET_DEFAULT_IMPL_HPP */
diff --git a/ecell4/egfrd/utils/map_adapter.hpp b/ecell4/egfrd/utils/map_adapter.hpp
new file mode 100644
index 0000000..6b186da
--- /dev/null
+++ b/ecell4/egfrd/utils/map_adapter.hpp
@@ -0,0 +1,192 @@
+#ifndef MAP_ADAPTER_HPP
+#define MAP_ADAPTER_HPP
+
+#include <utility>
+#include "../utils.hpp"
+#include <boost/range/size.hpp>
+#include <boost/range/begin.hpp>
+#include <boost/range/end.hpp>
+#include <boost/range/rbegin.hpp>
+#include <boost/range/rend.hpp>
+#include <boost/range/value_type.hpp>
+#include <boost/range/size_type.hpp>
+#include <boost/range/difference_type.hpp>
+#include <boost/range/iterator.hpp>
+#include <boost/range/const_iterator.hpp>
+#include <boost/range/reverse_iterator.hpp>
+#include <boost/range/const_reverse_iterator.hpp>
+#include "assoc_container_traits.hpp"
+
+template<typename Tcntnr_, typename Thdlr_>
+struct map_adapter
+{
+public:
+ typedef Tcntnr_ container_type;
+ typedef typename boost::range_value<container_type>::type value_type;
+ typedef typename boost::range_size<container_type>::type size_type;
+ typedef typename boost::range_difference<container_type>::type difference_type;
+ typedef typename boost::range_iterator<container_type>::type iterator;
+ typedef typename boost::range_const_iterator<container_type>::type const_iterator;
+ typedef typename boost::range_reverse_iterator<container_type>::type reverse_iterator;
+ typedef typename boost::range_const_reverse_iterator<container_type>::type const_reverse_iterator;
+ typedef typename assoc_key<Tcntnr_>::type key_type;
+ typedef typename assoc_mapped<Tcntnr_>::type mapped_type;
+
+ typedef value_type* pointer;
+ typedef value_type const* const_pointer;
+ typedef value_type& reference;
+ typedef value_type const& const_reference;
+
+public:
+ ~map_adapter()
+ {
+ hdlr_.destroy(*this);
+ }
+
+ size_type size() const
+ {
+ return boost::size(cntnr_);
+ }
+
+ bool empty() const
+ {
+ return size() == 0;
+ }
+
+ iterator begin()
+ {
+ return boost::begin(cntnr_);
+ }
+
+ const_iterator begin() const
+ {
+ return boost::begin(cntnr_);
+ }
+
+ iterator end()
+ {
+ return boost::end(cntnr_);
+ }
+
+ const_iterator end() const
+ {
+ return boost::end(cntnr_);
+ }
+
+ reverse_iterator rbegin()
+ {
+ return boost::rbegin(cntnr_);
+ }
+
+ const_reverse_iterator rbegin() const
+ {
+ return boost::rbegin(cntnr_);
+ }
+
+ reverse_iterator rend()
+ {
+ return boost::rend(cntnr_);
+ }
+
+ const_reverse_iterator rend() const
+ {
+ return boost::end(cntnr_);
+ }
+
+ iterator find(key_type const& k)
+ {
+ return cntnr_.find(k);
+ }
+
+ const_iterator find(key_type const& k) const
+ {
+ return cntnr_.find(k);
+ }
+
+ iterator lower_bound(key_type const& k)
+ {
+ return cntnr_.lower_bound(k);
+ }
+
+ const_iterator lower_bound(key_type const& k) const
+ {
+ return cntnr_.lower_bound(k);
+ }
+
+ iterator upper_bound(key_type const& k)
+ {
+ return cntnr_.upper_bound(k);
+ }
+
+ const_iterator upper_bound(key_type const& k) const
+ {
+ return cntnr_.upper_bound(k);
+ }
+
+ size_type erase(key_type const& k)
+ {
+ return cntnr_.erase(k);
+ }
+
+ void erase(iterator const& pos)
+ {
+ return cntnr_.erase(pos);
+ }
+
+ void erase(iterator const& b, iterator const& e)
+ {
+ return cntnr_.erase(b, e);
+ }
+
+ std::pair<iterator, bool> insert(value_type const& v)
+ {
+ hdlr_.template insert<map_adapter>(v);
+ return cntnr_.insert(v);
+ }
+
+ iterator insert(iterator const& hint, value_type const& v)
+ {
+ hdlr_.template insert<map_adapter>(v);
+ return cntnr_.insert(hint, v);
+ }
+
+ template<typename Titer_>
+ void insert(Titer_ const& b, Titer_ const& e)
+ {
+ hdlr_.template insert<map_adapter>(b, e);
+ cntnr_.insert(b, e);
+ }
+
+ mapped_type const& at(key_type const& k) const
+ {
+ return cntnr_.at(k);
+ }
+
+ mapped_type& at(key_type const& k)
+ {
+ return cntnr_.at(k);
+ }
+
+ mapped_type const& operator[](key_type const& k) const
+ {
+ return at(k);
+ }
+
+ mapped_type& operator[](key_type& k) const
+ {
+ return at(k);
+ }
+
+ void clear()
+ {
+ cntnr_.clear();
+ }
+
+ map_adapter(Thdlr_ hdlr): hdlr_(hdlr) {}
+
+private:
+ container_type cntnr_;
+ Thdlr_ hdlr_;
+};
+
+#endif /* MAP_ADAPTER_HPP */
diff --git a/ecell4/egfrd/utils/math.hpp b/ecell4/egfrd/utils/math.hpp
new file mode 100644
index 0000000..25e6754
--- /dev/null
+++ b/ecell4/egfrd/utils/math.hpp
@@ -0,0 +1,26 @@
+#ifndef UTILS_MATH_HPP
+#define UTILS_MATH_HPP
+
+#include <algorithm>
+#include <cmath>
+
+/**
+ * Return True if a and b are equal, subject to given tolerances. Float
+ * comparison.
+ *
+ * See also numpy.allclose().
+ *
+ * The (relative) tolerance must be positive and << 1.0
+ *
+ * Instead of specifying an absolute tolerance, you can speciy a typical
+ * value for a or b. The absolute tolerance is then the relative tolerance
+ * multipied by this typical value, and will be used when comparing a value
+ * to zero. By default, the typical value is 1.
+ */
+template<typename T>
+inline bool feq(T const& a, T const& b, T const& typical = 1., double tolerance = 1e-7)
+{
+ return std::abs(a - b) <= tolerance * (typical + std::min(std::abs(a), std::abs(b)));
+}
+
+#endif /* UTILS_MATH_HPP */
diff --git a/ecell4/egfrd/utils/memberwise_compare.hpp b/ecell4/egfrd/utils/memberwise_compare.hpp
new file mode 100644
index 0000000..47aaedb
--- /dev/null
+++ b/ecell4/egfrd/utils/memberwise_compare.hpp
@@ -0,0 +1,36 @@
+#ifndef MEMBERWISE_COMPARE_HPP
+#define MEMBERWISE_COMPARE_HPP
+
+#include <algorithm>
+#include <utility>
+#include <boost/range/size.hpp>
+#include <boost/range/const_iterator.hpp>
+
+template<typename Tlhs_, typename Trhs_>
+inline int memberwise_compare(Tlhs_ const& lhs, Trhs_ const& rhs)
+{
+ typedef typename boost::range_const_iterator<Tlhs_>::type lhs_iterator;
+ typedef typename boost::range_const_iterator<Trhs_>::type rhs_iterator;
+
+ if (boost::size(lhs) <= boost::size(rhs))
+ {
+ std::pair<lhs_iterator, rhs_iterator> pair(
+ std::mismatch(lhs.begin(), lhs.end(), rhs.begin()));
+ if (pair.first == lhs.end())
+ return boost::size(lhs) - boost::size(rhs);
+ return *pair.first < *pair.second ? -1:
+ *pair.first > *pair.second ? 1: 0;
+ }
+ else if (boost::size(lhs) > boost::size(rhs))
+ {
+ std::pair<rhs_iterator, lhs_iterator> pair(
+ std::mismatch(rhs.begin(), rhs.end(), lhs.begin()));
+ if (pair.first == rhs.end())
+ return 1;
+ return *pair.first < *pair.second ? 1:
+ *pair.first > *pair.second ? -1: 0;
+ }
+ return 0;
+}
+
+#endif /* MEMBERWISE_COMPARE_HPP */
diff --git a/ecell4/egfrd/utils/pair.hpp b/ecell4/egfrd/utils/pair.hpp
new file mode 100644
index 0000000..bcb9db2
--- /dev/null
+++ b/ecell4/egfrd/utils/pair.hpp
@@ -0,0 +1,134 @@
+#ifndef UTILS_PAIR_HPP
+#define UTILS_PAIR_HPP
+
+#include <boost/range/size.hpp>
+#include <boost/range/begin.hpp>
+#include <boost/range/end.hpp>
+#include <boost/range/iterator.hpp>
+#include <boost/range/const_iterator.hpp>
+#include <boost/range/iterator_range.hpp>
+#include <boost/range/value_type.hpp>
+#include <boost/iterator/transform_iterator.hpp>
+#include <boost/type_traits/remove_const.hpp>
+//#include "utils/range.hpp"
+#include "./range.hpp"
+
+template < typename T_ >
+struct select_first
+{
+ typedef T_ argument_type;
+ typedef typename T_::first_type result_type;
+
+ typename T_::first_type& operator()( T_& pair ) const
+ {
+ return pair.first;
+ }
+
+ typename T_::first_type const& operator()( T_ const& pair ) const
+ {
+ return pair.first;
+ }
+};
+
+template < typename T_ >
+struct select_second
+{
+ typedef T_ argument_type;
+ typedef typename T_::second_type result_type;
+
+ typename T_::second_type& operator()( T_& pair ) const
+ {
+ return pair.second;
+ }
+
+ typename T_::second_type const& operator()( T_ const& pair ) const
+ {
+ return pair.second;
+ }
+};
+
+template<typename T_>
+struct get_select_first_iterator
+{
+ typedef boost::transform_iterator<
+ select_first<typename boost::iterator_value<T_>::type>, T_> type;
+};
+
+template<typename T_>
+struct get_select_second_iterator
+{
+ typedef boost::transform_iterator<
+ select_second<typename boost::iterator_value<T_>::type>, T_> type;
+};
+
+template<typename T_>
+inline typename get_select_first_iterator<T_>::type
+make_select_first_iterator(T_ const& iter)
+{
+ return typename get_select_first_iterator<T_>::type(iter,
+ select_first<typename boost::iterator_value<T_>::type>());
+
+}
+
+template<typename T_>
+inline typename get_select_second_iterator<T_>::type
+make_select_second_iterator(T_ const& iter)
+{
+ return typename get_select_second_iterator<T_>::type(iter,
+ select_second<typename boost::iterator_value<T_>::type>());
+}
+
+template<typename Trange_>
+struct get_select_first_range
+{
+ typedef select_first<typename boost::range_value<Trange_>::type> functor_type;
+ typedef typename get_transformed_range<Trange_, functor_type>::type type;
+};
+
+template<typename Trange_>
+struct get_select_second_range
+{
+ typedef select_second<typename boost::range_value<Trange_>::type> functor_type;
+ typedef typename get_transformed_range<Trange_, functor_type>::type type;
+};
+
+template<typename Trange_>
+inline typename get_select_first_range<Trange_>::type
+make_select_first_range(Trange_& range)
+{
+ typedef typename get_select_first_range<Trange_>::type type;
+ return type(range, typename type::functor_type());
+}
+
+template<typename Trange_>
+inline typename get_select_first_range<Trange_>::type
+make_select_first_range(Trange_ const& range)
+{
+ typedef typename get_select_first_range<const Trange_>::type type;
+ return type(range, typename type::functor_type());
+}
+
+template<typename Trange_>
+inline typename get_select_second_range<Trange_>::type
+make_select_second_range(Trange_& range)
+{
+ typedef typename get_select_second_range<Trange_>::type type;
+ return type(range, typename type::functor_type());
+}
+
+template<typename Trange_>
+inline typename get_select_second_range<Trange_>::type
+make_select_second_range(Trange_ const& range)
+{
+ typedef typename get_select_second_range<const Trange_>::type type;
+ return type(range, typename type::functor_type());
+}
+
+template<typename Tpair_>
+struct remove_const_first
+{
+ typedef std::pair<typename boost::remove_const<typename Tpair_::first_type>::type,
+ typename Tpair_::second_type> type;
+};
+
+#endif /* UTILS_PAIR_HPP */
diff --git a/ecell4/egfrd/utils/pointer_as_ref.hpp b/ecell4/egfrd/utils/pointer_as_ref.hpp
new file mode 100644
index 0000000..9effd76
--- /dev/null
+++ b/ecell4/egfrd/utils/pointer_as_ref.hpp
@@ -0,0 +1,55 @@
+#ifndef UTILS_POINTER_AS_REF_HPP
+#define UTILS_POINTER_AS_REF_HPP
+
+#include <boost/get_pointer.hpp>
+#include <boost/call_traits.hpp>
+
+template<typename T_, typename Tholder_ = T_*>
+struct pointer_as_ref
+{
+ typedef T_ element_type;
+ typedef Tholder_ holder_type;
+
+ operator T_&() const { return *ptr_; }
+
+ T_& operator=(element_type const& val) const
+ {
+ *ptr_ = val;
+ return *ptr_;
+ }
+
+ T_* get() const
+ {
+ return ptr_;
+ }
+
+ void set(T_* ptr)
+ {
+ ptr_ = ptr;
+ }
+
+ operator bool() const
+ {
+ return !!ptr_;
+ }
+
+ explicit pointer_as_ref(typename boost::call_traits<holder_type>::param_type ptr)
+ : ptr_(ptr) {}
+
+ explicit pointer_as_ref(): ptr_(0) {}
+
+private:
+ holder_type ptr_;
+};
+
+namespace boost {
+
+template<typename T, typename Tholder>
+inline T* get_pointer(::pointer_as_ref<T, Tholder> const& p)
+{
+ return p.get();
+}
+
+} // namespace boost
+
+#endif /* UTILS_POINTER_AS_REF_HPP */
diff --git a/ecell4/egfrd/utils/pointer_preds.hpp b/ecell4/egfrd/utils/pointer_preds.hpp
new file mode 100644
index 0000000..0f56eb8
--- /dev/null
+++ b/ecell4/egfrd/utils/pointer_preds.hpp
@@ -0,0 +1,17 @@
+#ifndef POINTER_FUN_HPP
+#define POINTER_FUN_HPP
+
+template < class T >
+struct pointee_greater
+{
+ bool operator()( T x, T y ) const { return *y < *x; }
+};
+
+
+template < class T >
+struct pointee_less
+{
+ bool operator()( T x, T y ) const { return *y > *x; }
+};
+
+#endif /* POINTER_PREDS */
diff --git a/ecell4/egfrd/utils/random.hpp b/ecell4/egfrd/utils/random.hpp
new file mode 100644
index 0000000..4205c71
--- /dev/null
+++ b/ecell4/egfrd/utils/random.hpp
@@ -0,0 +1,20 @@
+#ifndef UTILS_RANDOM_HPP
+#define UTILS_RANDOM_HPP
+
+#include <boost/range/size.hpp>
+#include <boost/range/size_type.hpp>
+#include <algorithm>
+
+template<typename Trng_, typename Tracntnr_>
+inline void shuffle(Trng_& rng, Tracntnr_& cntnr)
+{
+ typedef typename boost::range_size<Tracntnr_>::type size_type;
+ for (size_type i = boost::size(cntnr); i > 0;)
+ {
+ --i;
+ const size_type j(rng.uniform_int(0, i));
+ std::swap(cntnr[i], cntnr[j]);
+ }
+}
+
+#endif /* UTILS_RANDOM_HPP */
diff --git a/ecell4/egfrd/utils/range.hpp b/ecell4/egfrd/utils/range.hpp
new file mode 100644
index 0000000..c76444b
--- /dev/null
+++ b/ecell4/egfrd/utils/range.hpp
@@ -0,0 +1,333 @@
+#ifndef UTILS_RANGE_HPP
+#define UTILS_RANGE_HPP
+
+#include <boost/range/size.hpp>
+#include <boost/range/begin.hpp>
+#include <boost/range/end.hpp>
+#include <boost/range/iterator.hpp>
+#include <boost/range/const_iterator.hpp>
+#include <boost/range/iterator_range.hpp>
+#include <boost/type_traits/is_convertible.hpp>
+#include <boost/type_traits/is_same.hpp>
+#include <boost/mpl/bool.hpp>
+#include <boost/mpl/and.hpp>
+#include <boost/mpl/not.hpp>
+#include <boost/iterator/iterator_traits.hpp>
+#include <boost/iterator/iterator_categories.hpp>
+#include <boost/iterator/transform_iterator.hpp>
+#include <boost/iterator/filter_iterator.hpp>
+#include <boost/utility/enable_if.hpp>
+
+template<typename Trange_>
+struct range_iterator_category
+ : boost::BOOST_ITERATOR_CATEGORY<typename boost::range_iterator<Trange_>::type> {};
+
+template<typename Trange_, typename Ticat_>
+struct check_range_iterator_category
+ : boost::is_convertible<
+ typename boost::iterator_category_to_traversal<
+ typename range_iterator_category<Trange_>::type >::type,
+ typename boost::iterator_category_to_traversal<Ticat_>::type > {};
+
+template<typename Trange_>
+struct is_sized
+ : check_range_iterator_category<Trange_, boost::random_access_traversal_tag>
+{
+};
+
+template<typename Trange_>
+struct range_size: boost::range_difference<Trange_> {};
+
+template<typename Trange_>
+struct range_size_retriever
+{
+ typedef Trange_ argument_type;
+ typedef typename range_size<Trange_>::type result_type;
+
+ result_type operator()(argument_type const& range) const
+ {
+ return boost::size(range);
+ }
+};
+
+template<typename Trange_>
+inline typename range_size<Trange_>::type
+size(Trange_ const& r)
+{
+ return range_size_retriever<Trange_>()(r);
+}
+
+template<typename Titer_>
+class sized_iterator_range: public boost::iterator_range<Titer_>
+{
+ typedef boost::iterator_range<Titer_> base_type;
+
+public:
+ sized_iterator_range(): size_(0) {}
+
+ template<typename Taiter_>
+ sized_iterator_range(Taiter_ begin, Taiter_ end)
+ : base_type(begin, end), size_(end - begin) {}
+
+ template<typename Trange_>
+ sized_iterator_range(Trange_ const& r)
+ : base_type(r), size_(::size(r)) {}
+
+ template<typename Trange_>
+ sized_iterator_range(Trange_& r)
+ : base_type(r), size_(::size(r)) {}
+
+ template<typename Taiter_>
+ sized_iterator_range(Taiter_ begin, Taiter_ end,
+ typename base_type::size_type size)
+ : base_type(begin, end), size_(size) {}
+
+ template<typename Trange_>
+ sized_iterator_range(Trange_ const& r, typename base_type::size_type size)
+ : base_type(r), size_(size) {}
+
+ template<typename Trange_>
+ sized_iterator_range(Trange_& r, typename base_type::size_type size)
+ : base_type(r), size_(size) {}
+
+ typename base_type::size_type size() const
+ {
+ return size_;
+ }
+
+private:
+ typename base_type::size_type size_;
+};
+
+template<typename Trange_>
+struct is_referencing_range: boost::mpl::false_ {};
+
+template<typename Titer_>
+struct is_referencing_range<std::pair<Titer_, Titer_> >: boost::mpl::true_ {};
+
+template<typename Titer_>
+struct is_referencing_range<boost::iterator_range<Titer_> >: boost::mpl::true_ {};
+
+template<typename Titer_>
+struct is_sized<sized_iterator_range<Titer_> >: boost::mpl::true_
+{
+};
+
+template<typename Tfn, typename Trange>
+inline void call_with_size_if_randomly_accessible(
+ Tfn& fn, Trange const &range,
+ typename boost::enable_if<is_sized<Trange> >::type* = 0)
+{
+ fn(::size(range));
+}
+
+template<typename Tfn, typename Trange>
+inline void call_with_size_if_randomly_accessible(
+ Tfn& fn, Trange const &range,
+ typename boost::disable_if<is_sized<Trange> >::type* = 0)
+{
+}
+
+template<typename Tfn, typename Trange>
+inline void call_with_size_if_randomly_accessible(
+ Tfn const& fn, Trange const &range,
+ typename boost::enable_if<is_sized<Trange> >::type* = 0)
+{
+ fn(::size(range));
+}
+
+template<typename Tfn, typename Trange>
+inline void call_with_size_if_randomly_accessible(
+ Tfn const& fn, Trange const &range,
+ typename boost::disable_if<is_sized<Trange> >::type* = 0)
+{
+}
+
+template<typename Titer_>
+struct range_size<sized_iterator_range<Titer_> >
+{
+ typedef std::size_t type;
+};
+
+template<typename Titer_>
+struct range_size_retriever<sized_iterator_range<Titer_> >
+{
+ typedef sized_iterator_range<Titer_> argument_type;
+ typedef typename range_size<argument_type>::type result_type;
+
+ result_type operator()(argument_type const& range) const
+ {
+ return range.size();
+ }
+};
+
+namespace detail {
+
+template<typename Trange_ = void, bool N_ = boost::mpl::and_<
+ boost::mpl::not_<boost::is_same<Trange_, void> >,
+ is_sized<Trange_> >::value>
+struct get_default_range_holder
+{
+ template<typename Titer_>
+ struct apply
+ {
+ typedef boost::iterator_range<Titer_> type;
+ };
+};
+
+template<typename Trange_>
+struct get_default_range_holder<Trange_, true>
+{
+ template<typename Titer_>
+ struct apply
+ {
+ typedef sized_iterator_range<Titer_> type;
+ };
+};
+
+} // namespace detail
+
+template<typename Titer_, typename Tfun_, typename Tholder_getter_ = detail::get_default_range_holder<> >
+class transformed_range
+{
+public:
+ typedef Titer_ base_iterator;
+ typedef Tfun_ functor_type;
+ typedef boost::transform_iterator<Tfun_, base_iterator> iterator;
+ typedef typename Tholder_getter_::template apply<base_iterator>::type holder_type;
+ typedef iterator const_iterator;
+ typedef typename boost::iterator_value<base_iterator>::type value_type;
+ typedef typename boost::iterator_difference<base_iterator>::type difference_type;
+ typedef std::size_t size_type;
+ typedef typename boost::iterator_reference<base_iterator>::type reference;
+ typedef reference const_reference;
+
+public:
+ template<typename Trange>
+ transformed_range(Trange& range, Tfun_ const& fun)
+ : base_(range), fun_(fun) {}
+
+ template<typename Trange>
+ transformed_range(Trange const& range, Tfun_ const& fun)
+ : base_(range), fun_(fun) {}
+
+ holder_type base() const
+ {
+ return base_;
+ }
+
+ iterator begin() const
+ {
+ return iterator(boost::begin(base_), fun_);
+ }
+
+ iterator end() const
+ {
+ return iterator(boost::end(base_), fun_);
+ }
+
+ size_type size() const
+ {
+ return ::size(base_);
+ }
+
+ reference operator[](size_type idx) const
+ {
+ return fun_()(base_[idx]);
+ }
+
+private:
+ holder_type base_;
+ functor_type fun_;
+};
+
+template<typename Trange_, typename Tfun_>
+struct get_transformed_range
+{
+ typedef transformed_range<typename boost::range_iterator<Trange_>::type, Tfun_, detail::get_default_range_holder<Trange_> > type;
+};
+
+template<typename Trange_, typename Tfun_>
+struct get_transformed_range<const Trange_, Tfun_>
+{
+ typedef transformed_range<typename boost::range_const_iterator<Trange_>::type, Tfun_, detail::get_default_range_holder<Trange_> > type;
+};
+
+template<typename Trange_, typename Tfun_>
+inline typename get_transformed_range<const Trange_, Tfun_>::type
+make_transform_iterator_range(Trange_ const& range, Tfun_ const& fun)
+{
+ typedef typename get_transformed_range<const Trange_, Tfun_>::type transformed_range;
+ return transformed_range(range, fun);
+}
+
+template<typename Trange_, typename Tfun_>
+inline typename get_transformed_range<Trange_, Tfun_>::type
+make_transform_iterator_range(Trange_ const& range, Tfun_ const& fun, bool)
+{
+ typedef typename get_transformed_range<Trange_, Tfun_>::type transformed_range;
+ return transformed_range(range, fun);
+}
+
+template<typename Titer_, typename Tfun_, typename Tholder_getter_>
+struct range_size<transformed_range<Titer_, Tfun_, Tholder_getter_> >: public range_size<typename Tholder_getter_::template apply<Titer_>::type> {};
+
+
+template<typename Titer_, typename Tfun_, typename Tholder_getter_>
+struct is_sized<transformed_range<Titer_, Tfun_, Tholder_getter_> >: public is_sized<typename Tholder_getter_::template apply<Titer_>::type> {};
+
+template<typename Titer_, typename Tfun_, typename Tholder_getter_>
+struct range_size_retriever<transformed_range<Titer_, Tfun_, Tholder_getter_> >
+{
+ typedef transformed_range<Titer_, Tfun_, Tholder_getter_> argument_type;
+ typedef typename range_size<typename Tholder_getter_::template apply<Titer_>::type>::type result_type;
+
+ result_type operator()(argument_type const& range) const
+ {
+ return range.size();
+ }
+};
+
+namespace detail {
+
+template<typename Tpred_, typename Trange_>
+struct get_filter_iterator_range
+{
+ typedef boost::filter_iterator<Tpred_, typename boost::range_iterator<Trange_>::type> iterator_type;
+ typedef boost::iterator_range<iterator_type> type;
+};
+
+template<typename Tpred_, typename Trange_>
+struct get_filter_iterator_range<Tpred_, const Trange_>
+{
+ typedef boost::filter_iterator<Tpred_, typename boost::range_const_iterator<Trange_>::type> iterator_type;
+ typedef boost::iterator_range<iterator_type> type;
+};
+
+} // namespace detail
+
+template<typename Trange_, typename Tpred_>
+inline typename detail::get_filter_iterator_range<Tpred_, Trange_>::type
+make_filter_iterator_range(Trange_& range, Tpred_ pred)
+{
+ typedef typename detail::get_filter_iterator_range<Tpred_, Trange_> filter_range_gen;
+ typedef typename filter_range_gen::iterator_type iterator;
+ typedef typename filter_range_gen::type result_type;
+
+ return result_type(iterator(pred, boost::begin(range)),
+ iterator(pred, boost::end(range)));
+}
+
+template<typename Trange_, typename Tpred_>
+inline typename detail::get_filter_iterator_range<Tpred_, const Trange_>::type
+make_filter_iterator_range(Trange_ const& range, Tpred_ pred)
+{
+ typedef typename detail::get_filter_iterator_range<Tpred_, const Trange_> filter_range_gen;
+ typedef typename filter_range_gen::iterator_type iterator;
+ typedef typename filter_range_gen::type result_type;
+
+ return result_type(iterator(pred, boost::begin(range)),
+ iterator(pred, boost::end(range)));
+}
+
+#endif /* UTILS_RANGE_HPP */
diff --git a/ecell4/egfrd/utils/range_support.hpp b/ecell4/egfrd/utils/range_support.hpp
new file mode 100644
index 0000000..7f23b8b
--- /dev/null
+++ b/ecell4/egfrd/utils/range_support.hpp
@@ -0,0 +1,111 @@
+#ifndef RANGE_SUPPORT_HPP
+#define RANGE_SUPPORT_HPP
+
+#include <map>
+#include <set>
+#include <boost/range/size.hpp>
+#include <boost/range/difference_type.hpp>
+//#include "utils/range.hpp"
+#include "./range.hpp"
+
+#if defined(HAVE_UNORDERED_MAP)
+#include <unordered_map>
+#endif
+
+#if defined(HAVE_TR1_UNORDERED_MAP)
+#include <tr1/unordered_map>
+#endif
+
+#if defined(HAVE_BOOST_UNORDERED_MAP_HPP)
+#include <boost/unordered_map.hpp>
+#endif
+
+#define COMMA ,
+#define SPECIALIZE_BOOST_SIZE(T) \
+inline typename boost::range_difference<T>::type size(T const& r) \
+{ \
+ return r.size(); \
+} \
+
+#define SPECIALIZE_RANGE_SIZE(T) \
+struct range_size<T> \
+{ \
+ typedef typename T::size_type type; \
+};
+
+#define SPECIALIZE_RANGE_SIZE_RETRIEVER(T) \
+struct range_size_retriever<T> \
+{ \
+ typedef typename range_size<T>::type result_type; \
+ typedef T argument_type; \
+\
+ result_type operator()(argument_type const& range) const \
+ { \
+ return range.size(); \
+ } \
+};
+
+namespace boost {
+
+template<typename T1_, typename T2_, typename T3_, typename T4_>
+SPECIALIZE_BOOST_SIZE(std::map<T1_ COMMA T2_ COMMA T3_ COMMA T4_>)
+
+template<typename T1_, typename T2_, typename T3_>
+SPECIALIZE_BOOST_SIZE(std::set<T1_ COMMA T2_ COMMA T3_>)
+
+#if defined(HAVE_UNORDERED_MAP)
+template<typename T1_, typename T2_, typename T3_, typename T4_, typename T5_>
+SPECIALIZE_BOOST_SIZE(std::unordered_map<T1_ COMMA T2_ COMMA T3_ COMMA T4_ COMMA T5_>)
+#endif
+
+#if defined(HAVE_TR1_UNORDERED_MAP)
+template<typename T1_, typename T2_, typename T3_, typename T4_, typename T5_>
+SPECIALIZE_BOOST_SIZE(std::tr1::unordered_map<T1_ COMMA T2_ COMMA T3_ COMMA T4_ COMMA T5_>)
+#endif
+
+#if defined(HAVE_BOOST_UNORDERED_MAP_HPP)
+template<typename T1_, typename T2_, typename T3_, typename T4_, typename T5_>
+SPECIALIZE_BOOST_SIZE(boost::unordered_map<T1_ COMMA T2_ COMMA T3_ COMMA T4_ COMMA T5_>)
+#endif
+
+} // namespace boost
+
+template<typename T1_, typename T2_, typename T3_, typename T4_>
+SPECIALIZE_RANGE_SIZE(std::map<T1_ COMMA T2_ COMMA T3_ COMMA T4_>)
+
+template<typename T1_, typename T2_, typename T3_, typename T4_>
+SPECIALIZE_RANGE_SIZE_RETRIEVER(std::map<T1_ COMMA T2_ COMMA T3_ COMMA T4_>)
+
+template<typename T1_, typename T2_, typename T3_>
+SPECIALIZE_RANGE_SIZE(std::set<T1_ COMMA T2_ COMMA T3_>)
+
+template<typename T1_, typename T2_, typename T3_>
+SPECIALIZE_RANGE_SIZE_RETRIEVER(std::set<T1_ COMMA T2_ COMMA T3_>)
+
+#if defined(HAVE_UNORDERED_MAP)
+template<typename T1_, typename T2_, typename T3_, typename T4_, typename T5_>
+SPECIALIZE_RANGE_SIZE(std::unordered_map<T1_ COMMA T2_ COMMA T3_ COMMA T4_ COMMA T5_>)
+template<typename T1_, typename T2_, typename T3_, typename T4_, typename T5_>
+SPECIALIZE_RANGE_SIZE_RETRIEVER(std::unordered_map<T1_ COMMA T2_ COMMA T3_ COMMA T4_ COMMA T5_>)
+#endif
+
+#if defined(HAVE_TR1_UNORDERED_MAP)
+template<typename T1_, typename T2_, typename T3_, typename T4_, typename T5_>
+SPECIALIZE_RANGE_SIZE(std::tr1::unordered_map<T1_ COMMA T2_ COMMA T3_ COMMA T4_ COMMA T5_>)
+template<typename T1_, typename T2_, typename T3_, typename T4_, typename T5_>
+SPECIALIZE_RANGE_SIZE_RETRIEVER(std::tr1::unordered_map<T1_ COMMA T2_ COMMA T3_ COMMA T4_ COMMA T5_>)
+#endif
+
+#if defined(HAVE_BOOST_UNORDERED_MAP_HPP)
+template<typename T1_, typename T2_, typename T3_, typename T4_, typename T5_>
+SPECIALIZE_RANGE_SIZE(boost::unordered_map<T1_ COMMA T2_ COMMA T3_ COMMA T4_ COMMA T5_>)
+template<typename T1_, typename T2_, typename T3_, typename T4_, typename T5_>
+SPECIALIZE_RANGE_SIZE_RETRIEVER(boost::unordered_map<T1_ COMMA T2_ COMMA T3_ COMMA T4_ COMMA T5_>)
+#endif
+
+#undef SPECIALIZE_BOOST_SIZE
+#undef SPECIALIZE_RANGE_SIZE_RETRIEVER
+#undef SPECIALIZE_RANGE_SIZE
+#undef COMMA
+
+#endif /* RANGE_SUPPORT_HPP */
diff --git a/ecell4/egfrd/utils/reference_or_instance.hpp b/ecell4/egfrd/utils/reference_or_instance.hpp
new file mode 100644
index 0000000..76bfac7
--- /dev/null
+++ b/ecell4/egfrd/utils/reference_or_instance.hpp
@@ -0,0 +1,59 @@
+#ifndef REFERENCE_OR_INSTANCE_HPP
+#define REFERENCE_OR_INSTANCE_HPP
+
+template<typename T_>
+class reference_or_instance
+{
+public:
+ reference_or_instance(T_& r): type_(REF)
+ {
+ ref_ = &r;
+ }
+
+ reference_or_instance(T_ const& i, int)
+ : type_(INSTANCE), ref_(new (instance_) T_(i)) {}
+
+ reference_or_instance(): type_(INSTANCE), ref_(new (instance_) T_()) {}
+
+ reference_or_instance(reference_or_instance const& that): type_(that.type_)
+ {
+ switch (type_)
+ {
+ case REF:
+ ref_ = that.ref_;
+ break;
+ case INSTANCE:
+ ref_ = new (instance_) T_(static_cast<T_ const&>(that));
+ break;
+ }
+ }
+
+ ~reference_or_instance()
+ {
+ if (type_ == INSTANCE)
+ {
+ ref_->~T_();
+ }
+ }
+
+ operator T_&()
+ {
+ return *ref_;
+ }
+
+ operator T_ const&() const
+ {
+ return *ref_;
+ }
+
+private:
+ enum {
+ REF,
+ INSTANCE
+ } type_;
+
+ char instance_[sizeof(T_)];
+ T_* ref_;
+};
+
+#endif /* REFERENCE_OR_INSTANCE_HPP */
diff --git a/ecell4/egfrd/utils/reset.hpp b/ecell4/egfrd/utils/reset.hpp
new file mode 100644
index 0000000..fa92ba1
--- /dev/null
+++ b/ecell4/egfrd/utils/reset.hpp
@@ -0,0 +1,19 @@
+#ifndef UTILS_RESET_HPP
+#define UTILS_RESET_HPP
+
+#include <algorithm>
+
+template<typename T_>
+inline void reset(T_& x)
+{
+ T_ y;
+ std::swap(y, x);
+}
+
+template<typename T_>
+inline void reset(T_*& x)
+{
+ x = 0;
+}
+
+#endif /* UTILS_RESET_HPP */
diff --git a/ecell4/egfrd/utils/stringizer.hpp b/ecell4/egfrd/utils/stringizer.hpp
new file mode 100644
index 0000000..45a0872
--- /dev/null
+++ b/ecell4/egfrd/utils/stringizer.hpp
@@ -0,0 +1,31 @@
+#ifndef UTILS_STRINGIZER_HPP
+#define UTILS_STRINGIZER_HPP
+
+#include <string>
+#include <functional>
+#include <algorithm>
+#include <boost/algorithm/string/join.hpp>
+#include <boost/lexical_cast.hpp>
+#include <boost/range/value_type.hpp>
+//#include "utils/range.hpp"
+#include "./range.hpp"
+
+template<typename T_>
+struct stringizer: public std::unary_function<T_, std::string>
+{
+ std::string operator()(T_ const& value) const
+ {
+ return boost::lexical_cast<std::string>(value);
+ }
+};
+
+template<typename T>
+inline std::string stringize_and_join(T const& range, std::string const& separator)
+{
+ return boost::algorithm::join(
+ make_transform_iterator_range(range,
+ stringizer<typename boost::range_value<T>::type>()),
+ separator);
+}
+
+#endif /* UTILS_STRINGIZER_HPP */
diff --git a/ecell4/egfrd/utils/swap.hpp b/ecell4/egfrd/utils/swap.hpp
new file mode 100644
index 0000000..d21e557
--- /dev/null
+++ b/ecell4/egfrd/utils/swap.hpp
@@ -0,0 +1,18 @@
+#ifndef UTILS_SWAP_HPP
+#define UTILS_SWAP_HPP
+
+#include <cstring>
+
+template<typename T>
+void blit_swap(T& x, T& y)
+{
+ if (&x == &y)
+ return;
+ struct blob { unsigned char data[sizeof(T)]; };
+ blob b;
+ b = *reinterpret_cast<blob*>(&x);
+ *reinterpret_cast<blob*>(&x) = *reinterpret_cast<blob*>(&y);
+ *reinterpret_cast<blob*>(&y) = b;
+}
+
+#endif /* UTILS_SWAP_HPP */
diff --git a/ecell4/egfrd/utils/unassignable_adapter.hpp b/ecell4/egfrd/utils/unassignable_adapter.hpp
new file mode 100644
index 0000000..9d78482
--- /dev/null
+++ b/ecell4/egfrd/utils/unassignable_adapter.hpp
@@ -0,0 +1,344 @@
+#ifndef UNASSIGNABLE_ADAPTER_HPP
+#define UNASSIGNABLE_ADAPTER_HPP
+
+#include <algorithm>
+#include <boost/utility/enable_if.hpp>
+#include <boost/mpl/if.hpp>
+#include <boost/mpl/bool.hpp>
+#include <boost/range/size.hpp>
+#include <boost/range/begin.hpp>
+#include <boost/range/end.hpp>
+#include <boost/range/rbegin.hpp>
+#include <boost/range/rend.hpp>
+#include <boost/range/value_type.hpp>
+#include <boost/range/size_type.hpp>
+#include <boost/range/difference_type.hpp>
+#include <boost/range/iterator.hpp>
+#include <boost/range/const_iterator.hpp>
+#include <boost/range/reverse_iterator.hpp>
+#include <boost/range/const_reverse_iterator.hpp>
+#include <boost/iterator/transform_iterator.hpp>
+//#include "utils/fun_wrappers.hpp"
+#include "./fun_wrappers.hpp"
+
+template<typename T_, template<typename> class TT_, bool Bas_reference_ = false>
+struct unassignable_adapter
+{
+public:
+ struct placeholder { char _[sizeof(T_)]; };
+
+ typedef typename TT_<placeholder>::type container_type;
+ typedef typename boost::mpl::if_<boost::mpl::bool_<Bas_reference_>,
+ container_type&, container_type>::type container_holder_type;
+ typedef T_ value_type;
+
+ typedef value_type* pointer;
+ typedef value_type const* const_pointer;
+ typedef value_type& reference;
+ typedef value_type const& const_reference;
+
+public:
+ typedef reinterpret_caster<reference, typename container_type::value_type&> caster;
+ typedef reinterpret_caster<typename container_type::value_type&, reference> reverse_caster;
+ typedef reinterpret_caster<const_reference, typename container_type::value_type const&> const_caster;
+ typedef reinterpret_caster<typename container_type::value_type const&, const_reference> const_reverse_caster;
+
+ typedef typename boost::range_size<container_type>::type size_type;
+ typedef typename boost::range_difference<container_type>::type difference_type;
+ typedef typename boost::range_iterator<container_type>::type placeholder_iterator;
+ typedef typename boost::range_const_iterator<container_type>::type const_placeholder_iterator;
+ typedef typename boost::range_reverse_iterator<container_type>::type placeholder_reverse_iterator;
+ typedef typename boost::range_const_reverse_iterator<container_type>::type const_placeholder_reverse_iterator;
+
+ typedef typename boost::transform_iterator<caster, placeholder_iterator> iterator;
+
+ struct const_iterator: boost::transform_iterator<const_caster, const_placeholder_iterator>
+ {
+ typedef boost::transform_iterator<const_caster, const_placeholder_iterator> base_type;
+
+ const_iterator(const_iterator const& that): base_type(that) {}
+
+ const_iterator(base_type const& that): base_type(that) {}
+
+ const_iterator(iterator const& that): base_type(that.base(), const_caster()) {}
+
+ const_iterator(const_placeholder_iterator const& iter, const_caster const& functor): base_type(iter, functor) {}
+
+ bool operator==(iterator const& rhs) const
+ {
+ return base_type::base() == rhs.base();
+ }
+
+ bool operator!=(iterator const& rhs) const
+ {
+ return base_type::base() != rhs.base();
+ }
+
+ bool operator<(iterator const& rhs) const
+ {
+ return base_type::base() < rhs.base();
+ }
+
+ bool operator>=(iterator const& rhs) const
+ {
+ return base_type::base() >= rhs.base();
+ }
+
+ bool operator>(iterator const& rhs) const
+ {
+ return base_type::base() > rhs.base();
+ }
+
+ bool operator<=(iterator const& rhs) const
+ {
+ return base_type::base() <= rhs.base();
+ }
+ };
+
+ typedef typename boost::transform_iterator<caster, placeholder_reverse_iterator> reverse_iterator;
+
+ struct const_reverse_iterator: boost::transform_iterator<const_caster, const_placeholder_reverse_iterator>
+ {
+ typedef boost::transform_iterator<const_caster, const_placeholder_reverse_iterator> base_type;
+
+ const_reverse_iterator(const_reverse_iterator const& that): base_type(that) {}
+
+ const_reverse_iterator(base_type const& that): base_type(that) {}
+
+ const_reverse_iterator(reverse_iterator const& that): base_type(that.base(), const_caster()) {}
+
+ const_reverse_iterator(const_placeholder_reverse_iterator const& iter, const_caster const& functor): base_type(iter, functor) {}
+
+ bool operator==(iterator const& rhs) const
+ {
+ return base_type::base() == rhs.base();
+ }
+
+ bool operator!=(iterator const& rhs) const
+ {
+ return base_type::base() != rhs.base();
+ }
+
+ bool operator<(iterator const& rhs) const
+ {
+ return base_type::base() < rhs.base();
+ }
+
+ bool operator>=(iterator const& rhs) const
+ {
+ return base_type::base() >= rhs.base();
+ }
+
+ bool operator>(iterator const& rhs) const
+ {
+ return base_type::base() > rhs.base();
+ }
+
+ bool operator<=(iterator const& rhs) const
+ {
+ return base_type::base() <= rhs.base();
+ }
+ };
+
+
+ size_type size() const
+ {
+ return boost::size(cntnr_);
+ }
+
+ iterator begin()
+ {
+ return iterator(boost::begin(cntnr_), caster());
+ }
+
+ placeholder_iterator pbegin()
+ {
+ return boost::begin(cntnr_);
+ }
+
+ const_iterator begin() const
+ {
+ return const_iterator(boost::begin(cntnr_), const_caster());
+ }
+
+ const_placeholder_iterator pbegin() const
+ {
+ return boost::begin(cntnr_);
+ }
+
+ iterator end()
+ {
+ return iterator(boost::end(cntnr_), caster());
+ }
+
+ placeholder_iterator pend()
+ {
+ return boost::end(cntnr_);
+ }
+
+ const_iterator end() const
+ {
+ return const_iterator(boost::end(cntnr_), const_caster());
+ }
+
+ const_placeholder_iterator pend() const
+ {
+ return boost::end(cntnr_);
+ }
+
+ reverse_iterator rbegin()
+ {
+ return reverse_iterator(boost::rbegin(cntnr_), caster());
+ }
+
+ placeholder_reverse_iterator prbegin()
+ {
+ return boost::rbegin(cntnr_);
+ }
+
+ const_reverse_iterator rbegin() const
+ {
+ return const_reverse_iterator(boost::rbegin(cntnr_), caster());
+ }
+
+ const_placeholder_reverse_iterator prbegin() const
+ {
+ return boost::rbegin(cntnr_);
+ }
+
+ reverse_iterator rend()
+ {
+ return reverse_iterator(boost::rend(cntnr_), caster());
+ }
+
+ placeholder_reverse_iterator prend()
+ {
+ return boost::rend(cntnr_);
+ }
+
+ const_reverse_iterator rend() const
+ {
+ return const_reverse_iterator(boost::rend(cntnr_), const_caster());
+ }
+
+ const_placeholder_reverse_iterator prend() const
+ {
+ return boost::rend(cntnr_);
+ }
+
+ void clear()
+ {
+ cntnr_.clear();
+ }
+
+ void resize(size_type n, T_ const& v)
+ {
+ cntnr_.resize(n, reinterpret_cast<typename container_type::value_type const&>(v));
+ }
+
+ void reserve(size_type n)
+ {
+ cntnr_.reserve(n);
+ }
+
+ size_type capacity()
+ {
+ return cntnr_.capacity();
+ }
+
+ value_type const& at(size_type const& pos) const
+ {
+ return reinterpret_cast<value_type const&>(cntnr_.at(pos));
+ }
+
+ value_type& at(size_type const& pos)
+ {
+ return reinterpret_cast<value_type&>(cntnr_.at(pos));
+ }
+
+ value_type const& operator[](size_type const& pos) const
+ {
+ return reinterpret_cast<value_type const&>(cntnr_[pos]);
+ }
+
+ void set(size_type const& pos, value_type const& v)
+ {
+ cntnr_[pos] = reinterpret_cast<typename container_type::value_type const&>(v);
+ }
+
+ void insert(iterator const& pos, value_type const& v)
+ {
+ cntnr_.insert(pos.base(), reinterpret_cast<typename container_type::value_type const&>(v));
+ }
+
+ void insert(iterator const& pos, size_type n, value_type const v)
+ {
+ cntnr_.insert(pos.base(), n, reinterpret_cast<typename container_type::value_type const&>(v));
+ }
+
+ template<typename Titer_>
+ void insert(iterator const& pos, Titer_ const& b, Titer_ const& e)
+ {
+ typedef boost::transform_iterator<reverse_caster, Titer_> transform_iterator;
+ cntnr_.insert(pos.base(), transform_iterator(b, const_reverse_caster()), transform_iterator(e, const_reverse_caster()));
+ }
+
+ void push_front(value_type const& v)
+ {
+ cntnr_.push_front(reinterpret_cast<typename container_type::value_type const&>(v));
+ }
+
+ void push_back(value_type const& v)
+ {
+ cntnr_.push_back(reinterpret_cast<typename container_type::value_type const&>(v));
+ }
+
+ void pop_front()
+ {
+ cntnr_.pop_front();
+ }
+
+ void pop_back()
+ {
+ cntnr_.pop_back();
+ }
+
+ reference front()
+ {
+ return reinterpret_cast<reference>(cntnr_.front());
+ }
+
+ const_reference front() const
+ {
+ return reinterpret_cast<const_reference>(cntnr_.front());
+ }
+
+ reference back()
+ {
+ return reinterpret_cast<reference>(cntnr_.back());
+ }
+
+ const_reference back() const
+ {
+ return reinterpret_cast<const_reference>(cntnr_.back());
+ }
+
+ iterator erase(iterator const& pos)
+ {
+ return iterator(cntnr_.erase(pos.base()), caster());
+ }
+
+ iterator erase(iterator const& b, iterator const& e)
+ {
+ return iterator(cntnr_.erase(b.base(), e.base()), caster());
+ }
+
+ unassignable_adapter() {}
+
+ unassignable_adapter(container_holder_type cntnr): cntnr_(cntnr) {}
+
+private:
+ container_holder_type cntnr_;
+};
+
+#endif /* UNASSIGNABLE_ADAPTER_HPP */
diff --git a/ecell4/gillespie/CMakeLists.txt b/ecell4/gillespie/CMakeLists.txt
new file mode 100644
index 0000000..c4e208e
--- /dev/null
+++ b/ecell4/gillespie/CMakeLists.txt
@@ -0,0 +1,20 @@
+if (NO_SHARED)
+ return()
+endif()
+
+set(CPP_FILES
+ GillespieSimulator.cpp GillespieWorld.cpp)
+
+set(HPP_FILES
+ GillespieSimulator.hpp GillespieWorld.hpp GillespieFactory.hpp)
+
+add_library(ecell4-gillespie SHARED ${CPP_FILES} ${HPP_FILES})
+target_link_libraries(ecell4-gillespie ecell4-core)
+
+set(ECELL4_SHARED_DIRS ${CMAKE_CURRENT_BINARY_DIR}:${ECELL4_SHARED_DIRS} PARENT_SCOPE)
+
+add_subdirectory(tests)
+add_subdirectory(samples)
+
+install(TARGETS ecell4-gillespie DESTINATION lib)
+install(FILES ${HPP_FILES} DESTINATION "include/ecell4/gillespie")
diff --git a/ecell4/gillespie/GillespieFactory.hpp b/ecell4/gillespie/GillespieFactory.hpp
new file mode 100644
index 0000000..5a17864
--- /dev/null
+++ b/ecell4/gillespie/GillespieFactory.hpp
@@ -0,0 +1,94 @@
+#ifndef __ECELL4_GILLESPIE_GILLESPIE_FACTORY_HPP
+#define __ECELL4_GILLESPIE_GILLESPIE_FACTORY_HPP
+
+#include <ecell4/core/SimulatorFactory.hpp>
+#include <ecell4/core/RandomNumberGenerator.hpp>
+
+#include <ecell4/core/extras.hpp>
+#include "GillespieWorld.hpp"
+#include "GillespieSimulator.hpp"
+
+
+namespace ecell4
+{
+
+namespace gillespie
+{
+
+class GillespieFactory:
+ public SimulatorFactory<GillespieWorld, GillespieSimulator>
+{
+public:
+
+ typedef SimulatorFactory<GillespieWorld, GillespieSimulator> base_type;
+
+public:
+
+ GillespieFactory()
+ : base_type(), rng_()
+ {
+ ; // do nothing
+ }
+
+ virtual ~GillespieFactory()
+ {
+ ; // do nothing
+ }
+
+ GillespieFactory& rng(const boost::shared_ptr<RandomNumberGenerator>& rng)
+ {
+ rng_ = rng;
+ return (*this);
+ }
+
+ inline GillespieFactory* rng_ptr(const boost::shared_ptr<RandomNumberGenerator>& rng)
+ {
+ return &(this->rng(rng)); //XXX: == this
+ }
+
+ virtual GillespieWorld* create_world(const std::string filename) const
+ {
+ return new GillespieWorld(filename);
+ }
+
+ virtual GillespieWorld* create_world(
+ const Real3& edge_lengths = Real3(1, 1, 1)) const
+ {
+ if (rng_)
+ {
+ return new GillespieWorld(edge_lengths, rng_);
+ }
+ else
+ {
+ return new GillespieWorld(edge_lengths);
+ }
+ }
+
+ virtual GillespieWorld* create_world(const boost::shared_ptr<Model>& m) const
+ {
+ return extras::generate_world_from_model(*this, m);
+ }
+
+ virtual GillespieSimulator* create_simulator(
+ const boost::shared_ptr<Model>& model,
+ const boost::shared_ptr<world_type>& world) const
+ {
+ return new GillespieSimulator(model, world);
+ }
+
+ virtual GillespieSimulator* create_simulator(
+ const boost::shared_ptr<world_type>& world) const
+ {
+ return new GillespieSimulator(world);
+ }
+
+protected:
+
+ boost::shared_ptr<RandomNumberGenerator> rng_;
+};
+
+} // gillespie
+
+} // ecell4
+
+#endif /* __ECELL4_GILLESPIE_GILLESPIE_FACTORY_HPP */
diff --git a/ecell4/gillespie/GillespieSimulator.cpp b/ecell4/gillespie/GillespieSimulator.cpp
new file mode 100644
index 0000000..3d59822
--- /dev/null
+++ b/ecell4/gillespie/GillespieSimulator.cpp
@@ -0,0 +1,213 @@
+#include "GillespieSimulator.hpp"
+#include <numeric>
+#include <vector>
+#include <gsl/gsl_sf_log.h>
+
+#include <cstring>
+#include <sstream>
+#include <cstdio>
+#include <cstring>
+
+#include <boost/scoped_array.hpp>
+
+namespace ecell4
+{
+
+namespace gillespie
+{
+
+void GillespieSimulator::increment_molecules(const Species& sp)
+{
+ world_->add_molecules(sp, 1);
+
+ for (boost::ptr_vector<ReactionRuleEvent>::iterator i(events_.begin());
+ i != events_.end(); ++i)
+ {
+ (*i).inc(sp);
+ }
+}
+
+
+void GillespieSimulator::decrement_molecules(const Species& sp)
+{
+ world_->remove_molecules(sp, 1);
+
+ for (boost::ptr_vector<ReactionRuleEvent>::iterator i(events_.begin());
+ i != events_.end(); ++i)
+ {
+ (*i).dec(sp);
+ }
+}
+
+bool GillespieSimulator::__draw_next_reaction(void)
+{
+ std::vector<double> a(events_.size());
+ // const Real V(world_->volume());
+ for (unsigned int idx(0); idx < events_.size(); ++idx)
+ {
+ // events_[idx].initialize(world_.get());
+ a[idx] = events_[idx].propensity();
+ }
+
+ const double atot(std::accumulate(a.begin(), a.end(), double(0.0)));
+ if (atot == 0.0)
+ {
+ // Any reactions cannot occur.
+ this->dt_ = inf;
+ return true;
+ }
+
+ const double rnd1(rng()->uniform(0, 1));
+ const double dt(gsl_sf_log(1.0 / rnd1) / double(atot));
+ const double rnd2(rng()->uniform(0, atot));
+
+ int u(-1);
+ double acc(0.0);
+ const int len_a(a.size());
+ do
+ {
+ u++;
+ acc += a[u];
+ } while (acc < rnd2 && u < len_a - 1);
+
+ if (len_a == u)
+ {
+ // Any reactions cannot occur.
+ this->dt_ = inf;
+ return true;
+ }
+
+ next_reaction_rule_ = events_[u].reaction_rule();
+ next_reaction_ = events_[u].draw();
+ if (next_reaction_.k() <= 0.0)
+ {
+ this->dt_ += dt; // skip a reaction
+ return false;
+ }
+
+ this->dt_ += dt;
+ return true;
+}
+
+void GillespieSimulator::draw_next_reaction(void)
+{
+ if (events_.size() == 0)
+ {
+ this->dt_ = inf;
+ return;
+ }
+
+ this->dt_ = 0.0;
+
+ while (!__draw_next_reaction())
+ {
+ ; // pass
+ }
+}
+
+void GillespieSimulator::step(void)
+{
+ last_reactions_.clear();
+
+ if (this->dt_ == inf)
+ {
+ // Any reactions cannot occur.
+ return;
+ }
+
+ const Real t0(t()), dt0(dt());
+
+ if (dt0 == 0.0 || next_reaction_.k() <= 0.0)
+ {
+ // Any reactions cannot occur.
+ return;
+ }
+
+ // Reaction[u] occurs.
+ for (ReactionRule::reactant_container_type::const_iterator
+ it(next_reaction_.reactants().begin());
+ it != next_reaction_.reactants().end(); ++it)
+ {
+ decrement_molecules(*it);
+ }
+
+ for (ReactionRule::product_container_type::const_iterator
+ it(next_reaction_.products().begin());
+ it != next_reaction_.products().end(); ++it)
+ {
+ increment_molecules(*it);
+ }
+
+ this->set_t(t0 + dt0);
+ num_steps_++;
+
+ last_reactions_.push_back(std::make_pair(next_reaction_rule_, reaction_info_type(t(), next_reaction_.reactants(), next_reaction_.products())));
+
+ this->draw_next_reaction();
+}
+
+bool GillespieSimulator::step(const Real &upto)
+{
+ if (upto <= t())
+ {
+ return false;
+ }
+
+ if (upto >= next_time())
+ {
+ step();
+ return true;
+ }
+ else
+ {
+ // no reaction occurs
+ // set_dt(next_time() - upto);
+ set_t(upto);
+ last_reactions_.clear();
+ draw_next_reaction();
+ return false;
+ }
+}
+
+void GillespieSimulator::initialize(void)
+{
+ const Model::reaction_rule_container_type&
+ reaction_rules(model_->reaction_rules());
+
+ events_.clear();
+ for (Model::reaction_rule_container_type::const_iterator
+ i(reaction_rules.begin()); i != reaction_rules.end(); ++i)
+ {
+ const ReactionRule& rr(*i);
+
+ if (rr.reactants().size() == 0)
+ {
+ events_.push_back(new ZerothOrderReactionRuleEvent(this, rr));
+ }
+ else if (rr.reactants().size() == 1)
+ {
+ events_.push_back(new FirstOrderReactionRuleEvent(this, rr));
+ }
+ else if (rr.reactants().size() == 2)
+ {
+ events_.push_back(new SecondOrderReactionRuleEvent(this, rr));
+ }
+ else
+ {
+ throw NotSupported("not supported yet.");
+ }
+
+ events_.back().initialize();
+ }
+
+ this->draw_next_reaction();
+}
+
+Real GillespieSimulator::dt(void) const
+{
+ return this->dt_;
+}
+
+} // gillespie
+
+} // ecell4
diff --git a/ecell4/gillespie/GillespieSimulator.hpp b/ecell4/gillespie/GillespieSimulator.hpp
new file mode 100644
index 0000000..21fd1cd
--- /dev/null
+++ b/ecell4/gillespie/GillespieSimulator.hpp
@@ -0,0 +1,487 @@
+#ifndef __ECELL4_GILLESPIE_GILLESPIE_SIMULATOR_HPP
+#define __ECELL4_GILLESPIE_GILLESPIE_SIMULATOR_HPP
+
+#include <stdexcept>
+#include <boost/shared_ptr.hpp>
+#include <boost/ptr_container/ptr_vector.hpp>
+#include <ecell4/core/types.hpp>
+#include <ecell4/core/Model.hpp>
+#include <ecell4/core/NetworkModel.hpp>
+#include <ecell4/core/SimulatorBase.hpp>
+
+#include "GillespieWorld.hpp"
+
+
+namespace ecell4
+{
+
+namespace gillespie
+{
+
+class ReactionInfo
+{
+public:
+
+ typedef std::vector<Species> container_type;
+
+public:
+
+ ReactionInfo(
+ const Real t,
+ const container_type& reactants,
+ const container_type& products)
+ : t_(t), reactants_(reactants), products_(products)
+ {}
+
+ ReactionInfo(
+ const ReactionInfo& another)
+ : t_(another.t()), reactants_(another.reactants()), products_(another.products())
+ {}
+
+ Real t() const
+ {
+ return t_;
+ }
+
+ const container_type& reactants() const
+ {
+ return reactants_;
+ }
+
+ void add_reactant(const Species& sp)
+ {
+ reactants_.push_back(sp);
+ }
+
+ const container_type& products() const
+ {
+ return products_;
+ }
+
+ void add_product(const Species& sp)
+ {
+ products_.push_back(sp);
+ }
+
+protected:
+
+ Real t_;
+ container_type reactants_, products_;
+};
+
+class GillespieSimulator
+ : public SimulatorBase<Model, GillespieWorld>
+{
+public:
+
+ typedef SimulatorBase<Model, GillespieWorld> base_type;
+ typedef ReactionInfo reaction_info_type;
+
+protected:
+
+ class ReactionRuleEvent
+ {
+ public:
+
+ ReactionRuleEvent()
+ : sim_(), rr_()
+ {
+ ;
+ }
+
+ ReactionRuleEvent(GillespieSimulator* sim, const ReactionRule& rr)
+ : sim_(sim), rr_(rr)
+ {
+ ;
+ }
+
+ virtual ~ReactionRuleEvent()
+ {
+ ;
+ }
+
+ const ReactionRule& reaction_rule() const
+ {
+ return rr_;
+ }
+
+ inline const Integer get_coef(const Species& pttrn, const Species& sp) const
+ {
+ return sim_->model()->apply(pttrn, sp);
+ }
+
+ inline const std::vector<ReactionRule> generate(
+ const ReactionRule::reactant_container_type& reactants) const
+ {
+ return sim_->model()->apply(rr_, reactants);
+ }
+
+ virtual void initialize() = 0;
+ virtual void inc(const Species& sp, const Integer val = +1) = 0;
+ virtual const Real propensity() const = 0;
+
+ inline void dec(const Species& sp)
+ {
+ inc(sp, -1);
+ }
+
+ ReactionRule draw()
+ {
+ const std::pair<ReactionRule::reactant_container_type, Integer>
+ retval(__draw());
+ if (retval.second == 0)
+ {
+ return ReactionRule();
+ }
+
+ const std::vector<ReactionRule> reactions(generate(retval.first));
+
+ assert(retval.second > 0);
+ assert(retval.second >= reactions.size());
+
+ if (reactions.size() == 0)
+ {
+ return ReactionRule();
+ }
+ else if (retval.second == 1)
+ {
+ // assert(possibles.size() == 1);
+ return reactions[0];
+ }
+ else
+ {
+ const ReactionRule::reactant_container_type::size_type rnd2(
+ static_cast<ReactionRule::reactant_container_type::size_type>(
+ rng()->uniform_int(0, retval.second - 1)));
+ if (rnd2 >= reactions.size())
+ {
+ return ReactionRule();
+ }
+ return reactions[rnd2];
+ }
+ }
+
+ protected:
+
+ inline const boost::shared_ptr<RandomNumberGenerator>& rng() const
+ {
+ return sim_->world()->rng();
+ }
+
+ inline const GillespieWorld& world() const
+ {
+ return (*sim_->world());
+ }
+
+ virtual std::pair<ReactionRule::reactant_container_type, Integer>
+ __draw() = 0;
+
+ protected:
+
+ GillespieSimulator* sim_;
+ ReactionRule rr_;
+ };
+
+ class ZerothOrderReactionRuleEvent
+ : public ReactionRuleEvent
+ {
+ public:
+
+ typedef ReactionRuleEvent base_type;
+
+ ZerothOrderReactionRuleEvent()
+ : base_type()
+ {
+ ;
+ }
+
+ ZerothOrderReactionRuleEvent(GillespieSimulator* sim, const ReactionRule& rr)
+ : base_type(sim, rr)
+ {
+ ;
+ }
+
+ void inc(const Species& sp, const Integer val = +1)
+ {
+ ; // do nothing
+ }
+
+ void initialize()
+ {
+ ; // do nothing
+ }
+
+ std::pair<ReactionRule::reactant_container_type, Integer> __draw()
+ {
+ return std::make_pair(ReactionRule::reactant_container_type(), 1);
+ }
+
+ const Real propensity() const
+ {
+ return rr_.k() * sim_->world()->volume();
+ }
+ };
+
+
+ class FirstOrderReactionRuleEvent
+ : public ReactionRuleEvent
+ {
+ public:
+
+ typedef ReactionRuleEvent base_type;
+
+ FirstOrderReactionRuleEvent()
+ : base_type(), num_tot1_(0)
+ {
+ ;
+ }
+
+ FirstOrderReactionRuleEvent(GillespieSimulator* sim, const ReactionRule& rr)
+ : base_type(sim, rr), num_tot1_(0)
+ {
+ ;
+ }
+
+ void inc(const Species& sp, const Integer val = +1)
+ {
+ const ReactionRule::reactant_container_type& reactants(rr_.reactants());
+ const Integer coef(get_coef(reactants[0], sp));
+ if (coef > 0)
+ {
+ num_tot1_ += coef * val;
+ }
+ }
+
+ void initialize()
+ {
+ const std::vector<Species>& species(world().list_species());
+ const ReactionRule::reactant_container_type& reactants(rr_.reactants());
+
+ num_tot1_ = 0;
+ for (std::vector<Species>::const_iterator i(species.begin());
+ i != species.end(); ++i)
+ {
+ const Integer coef(get_coef(reactants[0], *i));
+ if (coef > 0)
+ {
+ num_tot1_ += coef * world().num_molecules_exact(*i);
+ }
+ }
+ }
+
+ std::pair<ReactionRule::reactant_container_type, Integer> __draw()
+ {
+ const std::vector<Species>& species(world().list_species());
+ const ReactionRule::reactant_container_type& reactants(rr_.reactants());
+
+ const Real rnd1(rng()->uniform(0.0, num_tot1_));
+
+ Integer num_tot(0);
+ for (std::vector<Species>::const_iterator i(species.begin());
+ i != species.end(); ++i)
+ {
+ const Integer coef(get_coef(reactants[0], *i));
+ if (coef > 0)
+ {
+ num_tot += coef * world().num_molecules_exact(*i);
+ if (num_tot >= rnd1)
+ {
+ return std::make_pair(
+ ReactionRule::reactant_container_type(1, *i), coef);
+ }
+ }
+ }
+
+ return std::make_pair(ReactionRule::reactant_container_type(), 0);
+ }
+
+ const Real propensity() const
+ {
+ return num_tot1_ * rr_.k();
+ }
+
+ protected:
+
+ Integer num_tot1_;
+ };
+
+ class SecondOrderReactionRuleEvent:
+ public ReactionRuleEvent
+ {
+ public:
+
+ typedef ReactionRuleEvent base_type;
+
+ SecondOrderReactionRuleEvent()
+ : base_type(), num_tot1_(0), num_tot2_(0), num_tot12_(0)
+ {
+ ;
+ }
+
+ SecondOrderReactionRuleEvent(GillespieSimulator* sim, const ReactionRule& rr)
+ : base_type(sim, rr), num_tot1_(0), num_tot2_(0), num_tot12_(0)
+ {
+ ;
+ }
+
+ void inc(const Species& sp, const Integer val = +1)
+ {
+ const ReactionRule::reactant_container_type& reactants(rr_.reactants());
+ const Integer coef1(get_coef(reactants[0], sp));
+ const Integer coef2(get_coef(reactants[1], sp));
+ if (coef1 > 0 || coef2 > 0)
+ {
+ const Integer tmp(coef1 * val);
+ num_tot1_ += tmp;
+ num_tot2_ += coef2 * val;
+ num_tot12_ += coef2 * tmp;
+ }
+ }
+
+ void initialize()
+ {
+ const std::vector<Species>& species(world().list_species());
+ const ReactionRule::reactant_container_type& reactants(rr_.reactants());
+
+ num_tot1_ = 0;
+ num_tot2_ = 0;
+ num_tot12_ = 0;
+ for (std::vector<Species>::const_iterator i(species.begin());
+ i != species.end(); ++i)
+ {
+ const Integer coef1(get_coef(reactants[0], *i));
+ const Integer coef2(get_coef(reactants[1], *i));
+ if (coef1 > 0 || coef2 > 0)
+ {
+ const Integer num(world().num_molecules_exact(*i));
+ const Integer tmp(coef1 * num);
+ num_tot1_ += tmp;
+ num_tot2_ += coef2 * num;
+ num_tot12_ += coef2 * tmp;
+ }
+ }
+ }
+
+ std::pair<ReactionRule::reactant_container_type, Integer> __draw()
+ {
+ const std::vector<Species>& species(world().list_species());
+ const ReactionRule::reactant_container_type& reactants(rr_.reactants());
+
+ const Real rnd1(rng()->uniform(0.0, num_tot1_));
+
+ Integer num_tot(0), coef1(0);
+ std::vector<Species>::const_iterator itr1(species.begin());
+ for (; itr1 != species.end(); ++itr1)
+ {
+ const Integer coef(get_coef(reactants[0], *itr1));
+ if (coef > 0)
+ {
+ num_tot += coef * world().num_molecules_exact(*itr1);
+ if (num_tot >= rnd1)
+ {
+ coef1 = coef;
+ break;
+ }
+ }
+ }
+
+ const Real rnd2(
+ rng()->uniform(0.0, num_tot2_ - get_coef(reactants[0], *itr1)));
+
+ num_tot = 0;
+ for (std::vector<Species>::const_iterator i(species.begin());
+ i != species.end(); ++i)
+ {
+ const Integer coef(get_coef(reactants[1], *i));
+ if (coef > 0)
+ {
+ const Integer num(world().num_molecules_exact(*i));
+ num_tot += coef * (i == itr1 ? num - 1 : num);
+ if (num_tot >= rnd2)
+ {
+ ReactionRule::reactant_container_type exact_reactants(2);
+ exact_reactants[0] = *itr1;
+ exact_reactants[1] = *i;
+ return std::make_pair(exact_reactants, coef1 * coef);
+ }
+ }
+ }
+
+ return std::make_pair(ReactionRule::reactant_container_type(), 0);
+ }
+
+ const Real propensity() const
+ {
+ return (num_tot1_ * num_tot2_ - num_tot12_) * rr_.k() / world().volume();
+ }
+
+ protected:
+
+ Integer num_tot1_, num_tot2_, num_tot12_;
+ };
+
+public:
+
+ GillespieSimulator(
+ boost::shared_ptr<Model> model,
+ boost::shared_ptr<GillespieWorld> world)
+ : base_type(model, world)
+ {
+ initialize();
+ }
+
+ GillespieSimulator(boost::shared_ptr<GillespieWorld> world)
+ : base_type(world)
+ {
+ initialize();
+ }
+
+ // SimulatorTraits
+ Real dt(void) const;
+
+ void step(void) ;
+ bool step(const Real & upto);
+
+ // Optional members
+
+ virtual bool check_reaction() const
+ {
+ return last_reactions_.size() > 0;
+ }
+
+ std::vector<std::pair<ReactionRule, reaction_info_type> > last_reactions() const
+ {
+ return last_reactions_;
+ }
+
+ /**
+ * recalculate reaction propensities and draw the next time.
+ */
+ void initialize();
+
+ inline boost::shared_ptr<RandomNumberGenerator> rng()
+ {
+ return (*world_).rng();
+ }
+
+protected:
+
+ bool __draw_next_reaction(void);
+ void draw_next_reaction(void);
+ void increment_molecules(const Species& sp);
+ void decrement_molecules(const Species& sp);
+
+protected:
+
+ Real dt_;
+ ReactionRule next_reaction_rule_, next_reaction_;
+ std::vector<std::pair<ReactionRule, reaction_info_type> > last_reactions_;
+
+ boost::ptr_vector<ReactionRuleEvent> events_;
+};
+
+}
+
+} // ecell4
+
+#endif /* __ECELL4_GILLESPIE_GILLESPIE_SIMULATOR_HPP */
diff --git a/ecell4/gillespie/GillespieWorld.cpp b/ecell4/gillespie/GillespieWorld.cpp
new file mode 100644
index 0000000..3aeafeb
--- /dev/null
+++ b/ecell4/gillespie/GillespieWorld.cpp
@@ -0,0 +1,154 @@
+#include <vector>
+#include <string>
+#include <sstream>
+#include <iostream>
+
+#include <ecell4/core/SerialIDGenerator.hpp>
+#include "GillespieWorld.hpp"
+
+
+// using namespace std;
+
+namespace ecell4
+{
+
+namespace gillespie
+{
+
+void GillespieWorld::set_t(const Real& t)
+{
+ this->cs_->set_t(t);
+}
+
+const Real GillespieWorld::t() const
+{
+ return this->cs_->t();
+}
+
+std::vector<Species> GillespieWorld::list_species() const
+{
+ return this->cs_->list_species();
+}
+
+Integer GillespieWorld::num_molecules(const Species& sp) const
+{
+ return this->cs_->num_molecules(sp);
+}
+
+Integer GillespieWorld::num_molecules_exact(const Species& sp) const
+{
+ return this->cs_->num_molecules_exact(sp);
+}
+
+Real GillespieWorld::get_value(const Species& sp) const
+{
+ return this->cs_->get_value(sp);
+}
+
+Real GillespieWorld::get_value_exact(const Species& sp) const
+{
+ return this->cs_->get_value_exact(sp);
+}
+
+void GillespieWorld::set_value(const Species& sp, const Real value)
+{
+ this->cs_->set_value(sp, value);
+}
+
+void GillespieWorld::add_molecules(const Species& sp, const Integer& num)
+{
+ this->cs_->add_molecules(sp, num);
+}
+
+void GillespieWorld::remove_molecules(const Species& sp, const Integer& num)
+{
+ this->cs_->remove_molecules(sp, num);
+}
+
+bool GillespieWorld::has_species(const Species& sp) const
+{
+ return this->cs_->has_species(sp);
+}
+
+std::vector<std::pair<ParticleID, Particle> >
+ GillespieWorld::list_particles() const
+{
+ SerialIDGenerator<ParticleID> pidgen;
+ const std::vector<Species> species_list(list_species());
+ const Real3 lengths(edge_lengths());
+
+ std::vector<std::pair<ParticleID, Particle> > retval;
+ for (std::vector<Species>::const_iterator i(species_list.begin());
+ i != species_list.end(); ++i)
+ {
+ const Integer num(num_molecules_exact(*i));
+
+ for (Integer k(0); k < num; ++k)
+ {
+ const Real3 pos(
+ rng_->uniform(0, lengths[0]),
+ rng_->uniform(0, lengths[1]),
+ rng_->uniform(0, lengths[2]));
+ retval.push_back(
+ std::make_pair(pidgen(), Particle(*i, pos, 0.0, 0.0)));
+ }
+ }
+ return retval;
+}
+
+std::vector<std::pair<ParticleID, Particle> >
+ GillespieWorld::list_particles_exact(const Species& sp) const
+{
+ SerialIDGenerator<ParticleID> pidgen;
+ const Real3 lengths(edge_lengths());
+
+ std::vector<std::pair<ParticleID, Particle> > retval;
+ const Integer num(num_molecules_exact(sp));
+
+ for (Integer k(0); k < num; ++k)
+ {
+ const Real3 pos(
+ rng_->uniform(0, lengths[0]),
+ rng_->uniform(0, lengths[1]),
+ rng_->uniform(0, lengths[2]));
+ retval.push_back(
+ std::make_pair(pidgen(), Particle(sp, pos, 0.0, 0.0)));
+ }
+ return retval;
+}
+
+std::vector<std::pair<ParticleID, Particle> >
+ GillespieWorld::list_particles(const Species& sp) const
+{
+ SerialIDGenerator<ParticleID> pidgen;
+ const std::vector<Species> species_list(list_species());
+ const Real3 lengths(edge_lengths());
+
+ std::vector<std::pair<ParticleID, Particle> > retval;
+ for (std::vector<Species>::const_iterator i(species_list.begin());
+ i != species_list.end(); ++i)
+ {
+ const Integer coef(sp.count(*i));
+ if (coef == 0)
+ {
+ continue;
+ }
+
+ const Integer num(coef * num_molecules_exact(*i));
+
+ for (Integer k(0); k < num; ++k)
+ {
+ const Real3 pos(
+ rng_->uniform(0, lengths[0]),
+ rng_->uniform(0, lengths[1]),
+ rng_->uniform(0, lengths[2]));
+ retval.push_back(
+ std::make_pair(pidgen(), Particle(*i, pos, 0.0, 0.0)));
+ }
+ }
+ return retval;
+}
+
+} // gillespie
+
+} // ecell4
diff --git a/ecell4/gillespie/GillespieWorld.hpp b/ecell4/gillespie/GillespieWorld.hpp
new file mode 100644
index 0000000..09ee0b3
--- /dev/null
+++ b/ecell4/gillespie/GillespieWorld.hpp
@@ -0,0 +1,206 @@
+#ifndef __ECELL4_GILLESPIE_GILLESPIE_WORLD_HPP
+#define __ECELL4_GILLESPIE_GILLESPIE_WORLD_HPP
+
+#include <stdexcept>
+#include <sstream>
+#include <map>
+#include <boost/scoped_ptr.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/weak_ptr.hpp>
+#include <string>
+
+#include <ecell4/core/RandomNumberGenerator.hpp>
+#include <ecell4/core/Species.hpp>
+#include <ecell4/core/CompartmentSpace.hpp>
+#ifdef WITH_HDF5
+#include <ecell4/core/CompartmentSpaceHDF5Writer.hpp>
+#endif
+#include <ecell4/core/NetworkModel.hpp>
+#include <ecell4/core/Shape.hpp>
+#include <ecell4/core/extras.hpp>
+
+
+namespace ecell4
+{
+
+namespace gillespie
+{
+
+class GillespieWorld
+ : public Space
+{
+public:
+
+ GillespieWorld(const Real3& edge_lengths,
+ boost::shared_ptr<RandomNumberGenerator> rng)
+ : cs_(new CompartmentSpaceVectorImpl(edge_lengths)), rng_(rng)
+ {
+ ;
+ }
+
+ GillespieWorld(const Real3& edge_lengths = Real3(1, 1, 1))
+ : cs_(new CompartmentSpaceVectorImpl(edge_lengths))
+ {
+ rng_ = boost::shared_ptr<RandomNumberGenerator>(
+ new GSLRandomNumberGenerator());
+ (*rng_).seed();
+ }
+
+ GillespieWorld(const std::string filename)
+ : cs_(new CompartmentSpaceVectorImpl(Real3(1, 1, 1)))
+ {
+ rng_ = boost::shared_ptr<RandomNumberGenerator>(
+ new GSLRandomNumberGenerator());
+ this->load(filename);
+ }
+
+ // SpaceTraits
+
+ const Real t() const;
+ void set_t(const Real& t);
+
+ const Real3& edge_lengths() const
+ {
+ return cs_->edge_lengths();
+ }
+
+ void reset(const Real3& edge_lengths)
+ {
+ cs_->reset(edge_lengths);
+ }
+
+ // CompartmentSpaceTraits
+
+ const Real volume() const
+ {
+ return cs_->volume();
+ }
+
+ Integer num_molecules(const Species& sp) const;
+ Integer num_molecules_exact(const Species& sp) const;
+ Real get_value(const Species& sp) const;
+ Real get_value_exact(const Species& sp) const;
+ void set_value(const Species& sp, const Real value);
+ std::vector<Species> list_species() const;
+ bool has_species(const Species& sp) const;
+
+ // CompartmentSpace member functions
+
+ void set_volume(const Real& volume)
+ {
+ (*cs_).set_volume(volume);
+ }
+
+ void add_molecules(const Species& sp, const Integer& num);
+ void remove_molecules(const Species& sp, const Integer& num);
+
+ // Optional members
+
+ inline const boost::shared_ptr<RandomNumberGenerator>& rng()
+ {
+ return rng_;
+ }
+
+ void save(const std::string& filename) const
+ {
+#ifdef WITH_HDF5
+ boost::scoped_ptr<H5::H5File>
+ fout(new H5::H5File(filename.c_str(), H5F_ACC_TRUNC));
+ rng_->save(fout.get());
+ boost::scoped_ptr<H5::Group>
+ group(new H5::Group(fout->createGroup("CompartmentSpace")));
+ cs_->save_hdf5(group.get());
+ extras::save_version_information(fout.get(), std::string("ecell4-gillespie-") + std::string(ECELL4_VERSION));
+#else
+ throw NotSupported(
+ "This method requires HDF5. The HDF5 support is turned off.");
+#endif
+ }
+
+ void load(const std::string& filename)
+ {
+#ifdef WITH_HDF5
+ boost::scoped_ptr<H5::H5File>
+ fin(new H5::H5File(filename.c_str(), H5F_ACC_RDONLY));
+
+ const std::string required = "ecell4-gillespie-4.1.0";
+ try
+ {
+ const std::string version = extras::load_version_information(*fin);
+ if (!extras::check_version_information(version, required))
+ {
+ std::stringstream ss;
+ ss << "The version of the given file [" << version
+ << "] is too old. [" << required << "] or later is required.";
+ throw NotSupported(ss.str());
+ }
+ }
+ catch(H5::GroupIException not_found_error)
+ {
+ throw NotFound("No version information was found.");
+ }
+
+ rng_->load(*fin);
+ const H5::Group group(fin->openGroup("CompartmentSpace"));
+ cs_->load_hdf5(group);
+#else
+ throw NotSupported(
+ "This method requires HDF5. The HDF5 support is turned off.");
+#endif
+ }
+
+ void bind_to(boost::shared_ptr<Model> model)
+ {
+ if (boost::shared_ptr<Model> bound_model = lock_model())
+ {
+ if (bound_model.get() != model.get())
+ {
+ std::cerr << "Warning: Model already bound to GillespieWorld."
+ << std::endl;
+ }
+ }
+
+ this->model_ = model;
+ }
+
+ boost::shared_ptr<Model> lock_model() const
+ {
+ return model_.lock();
+ }
+
+ void add_molecules(const Species& sp, const Integer& num, const boost::shared_ptr<Shape> shape)
+ {
+ add_molecules(sp, num);
+ }
+
+ std::pair<std::pair<ParticleID, Particle>, bool> new_particle(const Particle& p)
+ {
+ add_molecules(p.species(), 1);
+ return std::make_pair(std::make_pair(ParticleID(), p), true);
+ }
+
+ std::pair<std::pair<ParticleID, Particle>, bool> new_particle(
+ const Species& sp, const Real3& pos)
+ {
+ add_molecules(sp, 1);
+ return std::make_pair(
+ std::make_pair(ParticleID(), Particle(sp, pos, 0.0, 0.0)), true);
+ }
+
+ std::vector<std::pair<ParticleID, Particle> > list_particles() const;
+ std::vector<std::pair<ParticleID, Particle> > list_particles_exact(const Species& sp) const;
+ std::vector<std::pair<ParticleID, Particle> > list_particles(const Species& sp) const;
+
+private:
+
+ boost::scoped_ptr<CompartmentSpace> cs_;
+ boost::shared_ptr<RandomNumberGenerator> rng_;
+
+ boost::weak_ptr<Model> model_;
+};
+
+} // gillespie
+
+} // ecell4
+
+#endif /* __ECELL4_GILLESPIE_GILLESPIE_WORLD_HPP */
diff --git a/ecell4/gillespie/samples/CMakeLists.txt b/ecell4/gillespie/samples/CMakeLists.txt
new file mode 100644
index 0000000..84c897a
--- /dev/null
+++ b/ecell4/gillespie/samples/CMakeLists.txt
@@ -0,0 +1,2 @@
+add_executable(simple simple.cpp)
+target_link_libraries(simple ecell4-gillespie)
diff --git a/ecell4/gillespie/samples/simple.cpp b/ecell4/gillespie/samples/simple.cpp
new file mode 100644
index 0000000..a2ba02b
--- /dev/null
+++ b/ecell4/gillespie/samples/simple.cpp
@@ -0,0 +1,53 @@
+#include <iostream>
+
+#include <ecell4/core/types.hpp>
+#include <ecell4/core/NetworkModel.hpp>
+#include <ecell4/gillespie/GillespieSimulator.hpp>
+
+using namespace ecell4;
+using namespace ecell4::gillespie;
+
+
+int main(int argc, char **argv)
+{
+ Species sp1("A"), sp2("B"), sp3("C");
+ const Real kf(0.25), kr(1.0);
+ ReactionRule
+ rr1(create_binding_reaction_rule(sp1, sp2, sp3, kf)),
+ rr2(create_unbinding_reaction_rule(sp3, sp1, sp2, kr));
+
+ boost::shared_ptr<NetworkModel> model(new NetworkModel());
+ model->add_species_attribute(sp1);
+ model->add_species_attribute(sp2);
+ model->add_species_attribute(sp3);
+ model->add_reaction_rule(rr1);
+ model->add_reaction_rule(rr2);
+
+ boost::shared_ptr<GSLRandomNumberGenerator>
+ rng(new GSLRandomNumberGenerator());
+ rng->seed(time(NULL));
+
+ const Real L(1.0);
+ const Real3 edge_lengths(L, L, L);
+ boost::shared_ptr<GillespieWorld> world(new GillespieWorld(edge_lengths, rng));
+ world->add_molecules(sp3, 10);
+ world->save("test_gillespie.h5");
+
+ GillespieSimulator sim(model, world);
+
+ std::cout << "t = " << sim.t()
+ << ", A: " << world->num_molecules(sp1)
+ << ", B: " << world->num_molecules(sp2)
+ << ", C: " << world->num_molecules(sp3) << std::endl;
+ for (int i = 0; i < 100; ++i)
+ {
+ sim.step();
+
+ std::cout << "t = " << sim.t()
+ << ", A: " << world->num_molecules(sp1)
+ << ", B: " << world->num_molecules(sp2)
+ << ", C: " << world->num_molecules(sp3) << std::endl;
+ }
+
+ return 0;
+}
diff --git a/ecell4/gillespie/tests/CMakeLists.txt b/ecell4/gillespie/tests/CMakeLists.txt
new file mode 100644
index 0000000..19dfe27
--- /dev/null
+++ b/ecell4/gillespie/tests/CMakeLists.txt
@@ -0,0 +1,16 @@
+set(TEST_NAMES
+ GillespieSimulator_test GillespieWorld_test)
+
+set(test_library_dependencies)
+find_library(BOOST_UNITTEST_FRAMEWORK_LIBRARY boost_unit_test_framework)
+if (BOOST_UNITTEST_FRAMEWORK_LIBRARY)
+ add_definitions(-DBOOST_TEST_DYN_LINK)
+ add_definitions(-DUNITTEST_FRAMEWORK_LIBRARY_EXIST)
+ set(test_library_dependencies boost_unit_test_framework)
+endif()
+
+foreach(TEST_NAME ${TEST_NAMES})
+ add_executable(${TEST_NAME} ${TEST_NAME}.cpp)
+ target_link_libraries(${TEST_NAME} ecell4-gillespie ${test_library_dependencies})
+ add_test(NAME ${TEST_NAME} COMMAND ${TEST_NAME})
+endforeach(TEST_NAME)
diff --git a/ecell4/gillespie/tests/GillespieSimulator_test.cpp b/ecell4/gillespie/tests/GillespieSimulator_test.cpp
new file mode 100644
index 0000000..1bee9eb
--- /dev/null
+++ b/ecell4/gillespie/tests/GillespieSimulator_test.cpp
@@ -0,0 +1,49 @@
+#define BOOST_TEST_MODULE "GillespieSimulator_test"
+
+#ifdef UNITTEST_FRAMEWORK_LIBRARY_EXIST
+# include <boost/test/unit_test.hpp>
+#else
+# define BOOST_TEST_NO_LIB
+# include <boost/test/included/unit_test.hpp>
+#endif
+
+#include <ecell4/core/RandomNumberGenerator.hpp>
+#include <ecell4/core/Model.hpp>
+#include <ecell4/core/NetworkModel.hpp>
+
+#include <ecell4/gillespie/GillespieWorld.cpp>
+#include <ecell4/gillespie/GillespieSimulator.hpp>
+
+using namespace ecell4;
+using namespace ecell4::gillespie;
+
+BOOST_AUTO_TEST_CASE(GillespieSimulator_test_step)
+{
+ boost::shared_ptr<NetworkModel> model(new NetworkModel());
+ Species sp1("A");
+ Species sp2("B");
+ ReactionRule rr1;
+ rr1.set_k(5.0);
+ rr1.add_reactant(sp1);
+ rr1.add_product(sp2);
+ model->add_species_attribute(sp1);
+ model->add_species_attribute(sp2);
+ model->add_reaction_rule(rr1);
+
+ const Real L(1.0);
+ const Real3 edge_lengths(L, L, L);
+ boost::shared_ptr<RandomNumberGenerator> rng(new GSLRandomNumberGenerator());
+ boost::shared_ptr<GillespieWorld> world(new GillespieWorld(edge_lengths, rng));
+
+ world->add_molecules(sp1, 10);
+ world->add_molecules(sp2, 10);
+
+ GillespieSimulator sim(model, world);
+
+ sim.set_t(0.0);
+ sim.step();
+
+ BOOST_CHECK(0 < sim.t());
+ BOOST_CHECK(world->num_molecules(sp1) == 9);
+
+}
diff --git a/ecell4/gillespie/tests/GillespieWorld_test.cpp b/ecell4/gillespie/tests/GillespieWorld_test.cpp
new file mode 100644
index 0000000..ba19b20
--- /dev/null
+++ b/ecell4/gillespie/tests/GillespieWorld_test.cpp
@@ -0,0 +1,39 @@
+
+#define BOOST_TEST_MODULE "GillespieWorld_test"
+
+#ifdef UNITTEST_FRAMEWORK_LIBRARY_EXIST
+# include <boost/test/unit_test.hpp>
+#else
+# define BOOST_TEST_NO_LIB
+# include <boost/test/included/unit_test.hpp>
+#endif
+
+#include <ecell4/core/RandomNumberGenerator.hpp>
+#include <ecell4/core/Model.hpp>
+#include <ecell4/core/NetworkModel.hpp>
+
+#include <ecell4/gillespie/GillespieWorld.cpp>
+#include <ecell4/gillespie/GillespieSimulator.hpp>
+
+using namespace ecell4;
+using namespace ecell4::gillespie;
+
+BOOST_AUTO_TEST_CASE(GillespieWorld_test)
+{
+ boost::shared_ptr<RandomNumberGenerator> rng(new GSLRandomNumberGenerator());
+ rng->seed(time(NULL));
+ Species sp1("A");
+ Species sp2("B");
+
+ const Real L(1.0);
+ const Real3 edge_lengths(L, L, L);
+ boost::shared_ptr<GillespieWorld> world(new GillespieWorld(edge_lengths, rng));
+
+ world->add_molecules(sp1, 10);
+ world->add_molecules(sp2, 20);
+ world->set_t(0.5);
+
+ BOOST_CHECK(world->t() == 0.5);
+ BOOST_CHECK(world->num_molecules(sp1) == 10);
+ BOOST_CHECK(world->num_molecules(sp2) == 20);
+}
diff --git a/ecell4/meso/CMakeLists.txt b/ecell4/meso/CMakeLists.txt
new file mode 100644
index 0000000..b7b3d92
--- /dev/null
+++ b/ecell4/meso/CMakeLists.txt
@@ -0,0 +1,20 @@
+if (NO_SHARED)
+ return()
+endif()
+
+set(CPP_FILES
+ MesoscopicSimulator.cpp MesoscopicWorld.cpp)
+
+set(HPP_FILES
+ MesoscopicSimulator.hpp MesoscopicWorld.hpp MesoscopicFactory.hpp)
+
+add_library(ecell4-meso SHARED ${CPP_FILES} ${HPP_FILES})
+target_link_libraries(ecell4-meso ecell4-core)
+
+set(ECELL4_SHARED_DIRS ${CMAKE_CURRENT_BINARY_DIR}:${ECELL4_SHARED_DIRS} PARENT_SCOPE)
+
+add_subdirectory(tests)
+add_subdirectory(samples)
+
+install(TARGETS ecell4-meso DESTINATION lib)
+install(FILES ${HPP_FILES} DESTINATION "include/ecell4/meso")
diff --git a/ecell4/meso/MesoscopicFactory.hpp b/ecell4/meso/MesoscopicFactory.hpp
new file mode 100644
index 0000000..4409c27
--- /dev/null
+++ b/ecell4/meso/MesoscopicFactory.hpp
@@ -0,0 +1,123 @@
+#ifndef __ECELL4_MESO_MESOSCOPIC_FACTORY_HPP
+#define __ECELL4_MESO_MESOSCOPIC_FACTORY_HPP
+
+#include <ecell4/core/SimulatorFactory.hpp>
+#include <ecell4/core/RandomNumberGenerator.hpp>
+#include <ecell4/core/extras.hpp>
+
+#include "MesoscopicWorld.hpp"
+#include "MesoscopicSimulator.hpp"
+
+
+namespace ecell4
+{
+
+namespace meso
+{
+
+class MesoscopicFactory:
+ public SimulatorFactory<MesoscopicWorld, MesoscopicSimulator>
+{
+public:
+
+ typedef SimulatorFactory<MesoscopicWorld, MesoscopicSimulator> base_type;
+
+public:
+
+ MesoscopicFactory(const Integer3& matrix_sizes = default_matrix_sizes(), const Real subvolume_length = default_subvolume_length())
+ : base_type(), rng_(), matrix_sizes_(matrix_sizes), subvolume_length_(subvolume_length)
+ {
+ ; // do nothing
+ }
+
+ static inline const Integer3 default_matrix_sizes()
+ {
+ return Integer3(1, 1, 1);
+ }
+
+ static inline const Real default_subvolume_length()
+ {
+ return 0.0;
+ }
+
+ virtual ~MesoscopicFactory()
+ {
+ ; // do nothing
+ }
+
+ MesoscopicFactory& rng(const boost::shared_ptr<RandomNumberGenerator>& rng)
+ {
+ rng_ = rng;
+ return (*this);
+ }
+
+ inline MesoscopicFactory* rng_ptr(const boost::shared_ptr<RandomNumberGenerator>& rng)
+ {
+ return &(this->rng(rng)); //XXX: == this
+ }
+
+ virtual MesoscopicWorld* create_world(const std::string filename) const
+ {
+ return new MesoscopicWorld(filename);
+ }
+
+ virtual MesoscopicWorld* create_world(
+ const Real3& edge_lengths = Real3(1, 1, 1)) const
+ {
+ if (rng_)
+ {
+ if (matrix_sizes_ != default_matrix_sizes())
+ {
+ return new MesoscopicWorld(edge_lengths, matrix_sizes_, rng_);
+ }
+ else if (subvolume_length_ != default_subvolume_length())
+ {
+ return new MesoscopicWorld(edge_lengths, subvolume_length_, rng_);
+ }
+ else
+ {
+ throw NotSupported(
+ "Either matrix_sizes or subvolume_length must be given.");
+ }
+ }
+ if (matrix_sizes_ != default_matrix_sizes())
+ {
+ return new MesoscopicWorld(edge_lengths, matrix_sizes_);
+ }
+ else if (subvolume_length_ != default_subvolume_length())
+ {
+ return new MesoscopicWorld(edge_lengths, subvolume_length_);
+ }
+ return new MesoscopicWorld(edge_lengths);
+ }
+
+ virtual MesoscopicWorld* create_world(const boost::shared_ptr<Model>& m) const
+ {
+ return extras::generate_world_from_model(*this, m);
+ }
+
+ virtual MesoscopicSimulator* create_simulator(
+ const boost::shared_ptr<Model>& model,
+ const boost::shared_ptr<world_type>& world) const
+ {
+ return new MesoscopicSimulator(model, world);
+ }
+
+ virtual MesoscopicSimulator* create_simulator(
+ const boost::shared_ptr<world_type>& world) const
+ {
+ return new MesoscopicSimulator(world);
+ }
+
+protected:
+
+ boost::shared_ptr<RandomNumberGenerator> rng_;
+ Integer3 matrix_sizes_;
+ Real subvolume_length_;
+};
+
+} // meso
+
+} // ecell4
+
+#endif /* __ECELL4_MESO_MESOSCOPIC_FACTORY_HPP */
diff --git a/ecell4/meso/MesoscopicSimulator.cpp b/ecell4/meso/MesoscopicSimulator.cpp
new file mode 100644
index 0000000..3fbf25d
--- /dev/null
+++ b/ecell4/meso/MesoscopicSimulator.cpp
@@ -0,0 +1,275 @@
+#include <numeric>
+#include <vector>
+#include <gsl/gsl_sf_log.h>
+
+#include <cstring>
+#include <sstream>
+#include <cstdio>
+#include <cstring>
+
+#include <boost/scoped_array.hpp>
+
+#include "MesoscopicSimulator.hpp"
+
+
+namespace ecell4
+{
+
+namespace meso
+{
+
+void MesoscopicSimulator::increment(const boost::shared_ptr<MesoscopicWorld::PoolBase>& pool, const coordinate_type& c)
+{
+ pool->add_molecules(1, c);
+
+ for (boost::ptr_vector<ReactionRuleProxyBase>::iterator i(proxies_.begin());
+ i != proxies_.end(); ++i)
+ {
+ (*i).inc(pool->species(), c);
+ }
+}
+
+void MesoscopicSimulator::decrement(const boost::shared_ptr<MesoscopicWorld::PoolBase>& pool, const coordinate_type& c)
+{
+ pool->remove_molecules(1, c);
+
+ for (boost::ptr_vector<ReactionRuleProxyBase>::iterator i(proxies_.begin());
+ i != proxies_.end(); ++i)
+ {
+ (*i).dec(pool->species(), c);
+ }
+}
+
+void MesoscopicSimulator::increment_molecules(const Species& sp, const coordinate_type& c)
+{
+ if (!world_->has_species(sp))
+ {
+ if (world_->has_structure(sp))
+ {
+ return; // do nothing
+ }
+
+ const boost::shared_ptr<MesoscopicWorld::PoolBase> pool = world_->reserve_pool(sp);
+ proxies_.push_back(create_diffusion_proxy(sp));
+ increment(pool, c);
+ }
+ else
+ {
+ increment(world_->get_pool(sp), c);
+ }
+}
+
+void MesoscopicSimulator::decrement_molecules(const Species& sp, const coordinate_type& c)
+{
+ if (world_->has_species(sp))
+ {
+ decrement(world_->get_pool(sp), c);
+ }
+ else
+ {
+ assert(world_->has_structure(sp)); // do nothing
+ }
+}
+
+std::pair<Real, MesoscopicSimulator::ReactionRuleProxyBase*>
+MesoscopicSimulator::draw_next_reaction(const coordinate_type& c)
+{
+ std::vector<double> a(proxies_.size());
+ for (unsigned int idx(0); idx < proxies_.size(); ++idx)
+ {
+ a[idx] = proxies_[idx].propensity(c);
+ }
+
+ const double atot(std::accumulate(a.begin(), a.end(), double(0.0)));
+ if (atot == 0.0)
+ {
+ return std::make_pair(inf, (ReactionRuleProxyBase*)NULL);
+ }
+
+ const double rnd1(rng()->uniform(0, 1));
+ const double dt(gsl_sf_log(1.0 / rnd1) / double(atot));
+ const double rnd2(rng()->uniform(0, atot));
+
+ int u(-1);
+ double acc(0.0);
+ const int len_a(a.size());
+ do
+ {
+ u++;
+ acc += a[u];
+ } while (acc < rnd2 && u < len_a - 1);
+
+ if (len_a == u)
+ {
+ return std::make_pair(inf, (ReactionRuleProxyBase*)NULL);
+ }
+
+ return std::make_pair(dt, &proxies_[u]);
+}
+
+void MesoscopicSimulator::interrupt_all(const Real& t)
+{
+ EventScheduler::events_range events(scheduler_.events());
+ for (EventScheduler::events_range::iterator itr(events.begin());
+ itr != events.end(); ++itr)
+ {
+ (*itr).second->interrupt(t);
+ scheduler_.update(*itr);
+ }
+}
+
+void MesoscopicSimulator::step(void)
+{
+ if (this->dt() == inf)
+ {
+ // Any reactions cannot occur.
+ return;
+ }
+
+ interrupted_ = event_ids_.size();
+ EventScheduler::value_type const& top(scheduler_.top());
+ const Real tnext(top.second->time());
+ top.second->fire(); // top.second->time_ is updated in fire()
+ this->set_t(tnext);
+ scheduler_.update(top);
+
+ if (interrupted_ < event_ids_.size())
+ {
+ EventScheduler::identifier_type evid(event_ids_[interrupted_]);
+ boost::shared_ptr<Event> ev(scheduler_.get(evid));
+ ev->interrupt(t());
+ scheduler_.update(std::make_pair(evid, ev));
+ }
+
+ // EventScheduler::value_type top(scheduler_.pop());
+ // const Real tnext(top.second->time());
+ // top.second->fire(); // top.second->time_ is updated in fire()
+ // this->set_t(tnext);
+ // // EventScheduler::events_range events(scheduler_.events());
+ // // for (EventScheduler::events_range::iterator itr(events.begin());
+ // // itr != events.end(); ++itr)
+ // // {
+ // // (*itr).second->interrupt(tnext);
+ // // scheduler_.update(*itr);
+ // // }
+ // scheduler_.add(top.second);
+
+ num_steps_++;
+}
+
+bool MesoscopicSimulator::step(const Real &upto)
+{
+ if (upto <= t())
+ {
+ return false;
+ }
+
+ if (upto >= next_time())
+ {
+ step();
+ return true;
+ }
+ else
+ {
+ // nothing happens
+ // set_dt(next_time() - upto);
+ set_t(upto);
+ last_reactions_.clear();
+ // interrupt_all(upto); //XXX: Is this really needed?
+ return false;
+ }
+}
+
+MesoscopicSimulator::DiffusionProxy*
+MesoscopicSimulator::create_diffusion_proxy(const Species& sp)
+{
+ DiffusionProxy* proxy = new DiffusionProxy(this, sp);
+ proxy->initialize();
+ for (boost::ptr_vector<ReactionRuleProxyBase>::size_type i = 0;
+ i < diffusion_proxy_offset_; ++i)
+ {
+ proxy->set_dependency(
+ dynamic_cast<ReactionRuleProxy*>(&proxies_[i]));
+ }
+ return proxy;
+}
+
+void MesoscopicSimulator::initialize(void)
+{
+ const Model::reaction_rule_container_type&
+ reaction_rules(model_->reaction_rules());
+
+ proxies_.clear();
+ for (Model::reaction_rule_container_type::const_iterator
+ i(reaction_rules.begin()); i != reaction_rules.end(); ++i)
+ {
+ const ReactionRule& rr(*i);
+
+ if (rr.reactants().size() == 0)
+ {
+ proxies_.push_back(new ZerothOrderReactionRuleProxy(this, rr));
+ }
+ else if (rr.reactants().size() == 1)
+ {
+ proxies_.push_back(new FirstOrderReactionRuleProxy(this, rr));
+ }
+ else if (rr.reactants().size() == 2)
+ {
+ if (world_->has_structure(rr.reactants()[0]))
+ {
+ proxies_.push_back(new StructureSecondOrderReactionRuleProxy(this, rr, 0));
+ }
+ else if (world_->has_structure(rr.reactants()[1]))
+ {
+ proxies_.push_back(new StructureSecondOrderReactionRuleProxy(this, rr, 1));
+ }
+ else
+ {
+ proxies_.push_back(new SecondOrderReactionRuleProxy(this, rr));
+ }
+ }
+ else
+ {
+ throw NotSupported("not supported yet.");
+ }
+
+ proxies_.back().initialize();
+ }
+ diffusion_proxy_offset_ = proxies_.size();
+
+ // const std::vector<Species>& species(model_->species_attributes());
+ const std::vector<Species>& species(world_->species());
+ for (std::vector<Species>::const_iterator i(species.begin());
+ i != species.end(); ++i)
+ {
+ if (!world_->has_species(*i))
+ {
+ world_->reserve_pool(*i); //XXX: This must be deprecated.
+ }
+
+ proxies_.push_back(create_diffusion_proxy(*i));
+ }
+
+ scheduler_.clear();
+ event_ids_.resize(world_->num_subvolumes());
+ for (Integer i(0); i < world_->num_subvolumes(); ++i)
+ {
+ event_ids_[i] =
+ scheduler_.add(boost::shared_ptr<Event>(
+ new SubvolumeEvent(this, i, t())));
+ }
+}
+
+Real MesoscopicSimulator::dt(void) const
+{
+ return next_time() - t();
+}
+
+Real MesoscopicSimulator::next_time(void) const
+{
+ return scheduler_.next_time();
+}
+
+} // meso
+
+} // ecell4
diff --git a/ecell4/meso/MesoscopicSimulator.hpp b/ecell4/meso/MesoscopicSimulator.hpp
new file mode 100644
index 0000000..6472ba0
--- /dev/null
+++ b/ecell4/meso/MesoscopicSimulator.hpp
@@ -0,0 +1,916 @@
+#ifndef __ECELL4_MESO_MESOSCOPIC_SIMULATOR_HPP
+#define __ECELL4_MESO_MESOSCOPIC_SIMULATOR_HPP
+
+#include <boost/shared_ptr.hpp>
+#include <boost/ptr_container/ptr_vector.hpp>
+#include <ecell4/core/types.hpp>
+#include <ecell4/core/Model.hpp>
+#include <ecell4/core/SimulatorBase.hpp>
+#include <ecell4/core/EventScheduler.hpp>
+
+#include "MesoscopicWorld.hpp"
+
+namespace ecell4
+{
+
+namespace meso
+{
+
+class ReactionInfo
+{
+public:
+
+ typedef SubvolumeSpace::coordinate_type coordinate_type;
+ typedef Species element_type;
+ typedef std::vector<element_type> container_type;
+
+public:
+
+ ReactionInfo(
+ const Real t,
+ const container_type& reactants,
+ const container_type& products,
+ const coordinate_type coord)
+ : t_(t), reactants_(reactants), products_(products), coord_(coord)
+ {}
+
+ ReactionInfo(
+ const ReactionInfo& another)
+ : t_(another.t()), reactants_(another.reactants()), products_(another.products()),
+ coord_(another.coordinate())
+ {}
+
+ Real t() const
+ {
+ return t_;
+ }
+
+ const container_type& reactants() const
+ {
+ return reactants_;
+ }
+
+ void add_reactant(const element_type& elem)
+ {
+ reactants_.push_back(elem);
+ }
+
+ const container_type& products() const
+ {
+ return products_;
+ }
+
+ void add_product(const element_type& elem)
+ {
+ products_.push_back(elem);
+ }
+
+ coordinate_type coordinate() const
+ {
+ return coord_;
+ }
+
+protected:
+
+ Real t_;
+ container_type reactants_, products_;
+ coordinate_type coord_;
+};
+
+class MesoscopicSimulator
+ : public SimulatorBase<Model, MesoscopicWorld>
+{
+public:
+
+ typedef SimulatorBase<Model, MesoscopicWorld> base_type;
+ typedef SubvolumeSpace::coordinate_type coordinate_type;
+ typedef ReactionInfo reaction_info_type;
+
+protected:
+
+ class ReactionRuleProxyBase
+ {
+ public:
+
+ ReactionRuleProxyBase()
+ : sim_()
+ {
+ ;
+ }
+
+ ReactionRuleProxyBase(MesoscopicSimulator* sim)
+ : sim_(sim)
+ {
+ ;
+ }
+
+ virtual ~ReactionRuleProxyBase()
+ {
+ ;
+ }
+
+ inline const Integer get_coef(const Species& pttrn, const Species& sp) const
+ {
+ return sim_->model()->apply(pttrn, sp);
+ }
+
+ virtual void initialize() = 0;
+ virtual const Real propensity(const coordinate_type& c) const = 0;
+ virtual void fire(const Real t, const coordinate_type& src) = 0;
+
+ virtual void inc(
+ const Species& sp, const coordinate_type& c, const Integer val = +1) = 0;
+
+ inline void dec(const Species& sp, const coordinate_type& c)
+ {
+ inc(sp, c, -1);
+ }
+
+ protected:
+
+ inline const boost::shared_ptr<RandomNumberGenerator>& rng() const
+ {
+ return sim_->world()->rng();
+ }
+
+ inline const MesoscopicWorld& world() const
+ {
+ return (*sim_->world());
+ }
+
+ protected:
+
+ MesoscopicSimulator* sim_;
+ };
+
+ class ReactionRuleProxy
+ : public ReactionRuleProxyBase
+ {
+ public:
+
+ typedef ReactionRuleProxyBase base_type;
+
+ ReactionRuleProxy()
+ : base_type()
+ {
+ ;
+ }
+
+ ReactionRuleProxy(MesoscopicSimulator* sim, const ReactionRule& rr)
+ : base_type(sim), rr_(rr)
+ {
+ ;
+ }
+
+ virtual ~ReactionRuleProxy()
+ {
+ ;
+ }
+
+ const ReactionRule& reaction_rule() const
+ {
+ return rr_;
+ }
+
+ std::vector<Integer> check_dependency(const Species& sp) const
+ {
+ const ReactionRule::reactant_container_type& reactants(rr_.reactants());
+ std::vector<Integer> coefs(reactants.size(), 0);
+ for (std::vector<Integer>::size_type i = 0; i < coefs.size(); ++i)
+ {
+ coefs[i] = get_coef(reactants[i], sp);
+ }
+ return coefs;
+ }
+
+ virtual void inc_with_coefs(const std::vector<Integer>& coefs,
+ const coordinate_type& c, const Integer val = +1) = 0;
+
+ inline const std::vector<ReactionRule> generate(
+ const ReactionRule::reactant_container_type& reactants) const
+ {
+ return sim_->model()->apply(rr_, reactants);
+ }
+
+ std::pair<ReactionRule, coordinate_type> draw(const coordinate_type& c)
+ {
+ const std::pair<ReactionRule::reactant_container_type, Integer>
+ retval(__draw(c));
+ const std::vector<ReactionRule> reactions(generate(retval.first));
+
+ assert(retval.second > 0);
+ assert(retval.second >= reactions.size());
+
+ if (reactions.size() == 0)
+ {
+ return std::make_pair(ReactionRule(), c);
+ }
+ else if (retval.second == 1)
+ {
+ return std::make_pair(reactions[0], c);
+ }
+ else
+ {
+ const std::vector<ReactionRule>::size_type
+ rnd2(static_cast<std::vector<ReactionRule>::size_type>(
+ rng()->uniform_int(0, retval.second - 1)));
+ if (rnd2 >= reactions.size())
+ {
+ return std::make_pair(ReactionRule(), c);
+ }
+ return std::make_pair(reactions[rnd2], c);
+ }
+ }
+
+ virtual void fire(const Real t, const coordinate_type& src)
+ {
+ const std::pair<ReactionRule, coordinate_type>
+ retval = this->draw(src);
+
+ const ReactionRule& nextr = retval.first;
+ // const coordinate_type& dst = retval.second;
+ const ReactionRule::reactant_container_type& reactants(nextr.reactants());
+ const ReactionRule::product_container_type& products(nextr.products());
+
+ assert(retval.second == src);
+
+ for (ReactionRule::product_container_type::const_iterator
+ it(products.begin()); it != products.end(); ++it)
+ {
+ const Species& sp(*it);
+
+ if (!sim_->world()->on_structure(sp, src))
+ {
+ ; // do nothing except for update()
+ return;
+ }
+ }
+
+ for (ReactionRule::reactant_container_type::const_iterator
+ it(reactants.begin()); it != reactants.end(); ++it)
+ {
+ sim_->decrement_molecules(*it, src);
+ }
+
+ for (ReactionRule::product_container_type::const_iterator
+ it(products.begin()); it != products.end(); ++it)
+ {
+ sim_->increment_molecules(*it, src);
+ }
+
+ sim_->add_last_reaction(
+ nextr, reaction_info_type(t, reactants, products, src));
+ }
+
+ protected:
+
+ virtual std::pair<ReactionRule::reactant_container_type, Integer>
+ __draw(const coordinate_type& c) = 0;
+
+ protected:
+
+ ReactionRule rr_;
+ };
+
+ class ZerothOrderReactionRuleProxy
+ : public ReactionRuleProxy
+ {
+ public:
+
+ typedef ReactionRuleProxy base_type;
+
+ ZerothOrderReactionRuleProxy()
+ : base_type()
+ {
+ ;
+ }
+
+ ZerothOrderReactionRuleProxy(MesoscopicSimulator* sim, const ReactionRule& rr)
+ : base_type(sim, rr)
+ {
+ ;
+ }
+
+ void inc_with_coefs(const std::vector<Integer>& coefs,
+ const coordinate_type& c, const Integer val = +1)
+ {
+ ; // do nothing
+ }
+
+ void inc(const Species& sp, const coordinate_type& c, const Integer val = +1)
+ {
+ ; // do nothing
+ }
+
+ void initialize()
+ {
+ ; // do nothing
+ }
+
+ std::pair<ReactionRule::reactant_container_type, Integer> __draw(const coordinate_type& c)
+ {
+ return std::make_pair(ReactionRule::reactant_container_type(), 1);
+ }
+
+ const Real propensity(const coordinate_type& c) const
+ {
+ return rr_.k() * world().subvolume();
+ }
+ };
+
+ class FirstOrderReactionRuleProxy
+ : public ReactionRuleProxy
+ {
+ public:
+
+ typedef ReactionRuleProxy base_type;
+
+ FirstOrderReactionRuleProxy()
+ : base_type(), num_tot1_()
+ {
+ ;
+ }
+
+ FirstOrderReactionRuleProxy(MesoscopicSimulator* sim, const ReactionRule& rr)
+ : base_type(sim, rr), num_tot1_(sim->world()->num_subvolumes())
+ {
+ ;
+ }
+
+ void inc_with_coefs(const std::vector<Integer>& coefs,
+ const coordinate_type& c, const Integer val = +1)
+ {
+ num_tot1_[c] += coefs[0] * val;
+ }
+
+ void inc(const Species& sp, const coordinate_type& c, const Integer val = +1)
+ {
+ const ReactionRule::reactant_container_type& reactants(rr_.reactants());
+ const Integer coef(get_coef(reactants[0], sp));
+ if (coef > 0)
+ {
+ num_tot1_[c] += coef * val;
+ }
+ }
+
+ void initialize()
+ {
+ const std::vector<Species>& species(world().list_species());
+ const ReactionRule::reactant_container_type& reactants(rr_.reactants());
+
+ std::fill(num_tot1_.begin(), num_tot1_.end(), 0);
+ for (std::vector<Species>::const_iterator i(species.begin());
+ i != species.end(); ++i)
+ {
+ const Integer coef(get_coef(reactants[0], *i));
+ if (coef > 0)
+ {
+ for (Integer j(0); j < world().num_subvolumes(); ++j)
+ {
+ num_tot1_[j] += coef * world().num_molecules_exact(*i, j);
+ }
+ }
+ }
+ }
+
+ std::pair<ReactionRule::reactant_container_type, Integer> __draw(const coordinate_type& c)
+ {
+ const std::vector<Species>& species(world().list_species());
+ const ReactionRule::reactant_container_type& reactants(rr_.reactants());
+
+ const Real rnd1(rng()->uniform(0.0, num_tot1_[c]));
+
+ Integer num_tot(0);
+ for (std::vector<Species>::const_iterator i(species.begin());
+ i != species.end(); ++i)
+ {
+ const Integer coef(get_coef(reactants[0], *i));
+ if (coef > 0)
+ {
+ num_tot += coef * world().num_molecules_exact(*i, c);
+ if (num_tot >= rnd1)
+ {
+ return std::make_pair(
+ ReactionRule::reactant_container_type(1, *i), coef);
+ }
+ }
+ }
+
+ throw IllegalState("FirstOrderReactionRuleProxy: Never reach here.");
+ }
+
+ const Real propensity(const coordinate_type& c) const
+ {
+ return num_tot1_[c] * rr_.k();
+ }
+
+ protected:
+
+ std::vector<Integer> num_tot1_;
+ };
+
+ class SecondOrderReactionRuleProxy:
+ public ReactionRuleProxy
+ {
+ public:
+
+ typedef ReactionRuleProxy base_type;
+
+ SecondOrderReactionRuleProxy()
+ : base_type(), num_tot1_(0), num_tot2_(0), num_tot12_(0)
+ {
+ ;
+ }
+
+ SecondOrderReactionRuleProxy(MesoscopicSimulator* sim, const ReactionRule& rr)
+ : base_type(sim, rr), num_tot1_(sim->world()->num_subvolumes()), num_tot2_(sim->world()->num_subvolumes()), num_tot12_(sim->world()->num_subvolumes())
+ {
+ ;
+ }
+
+ void inc_with_coefs(const std::vector<Integer>& coefs,
+ const coordinate_type& c, const Integer val = +1)
+ {
+ num_tot1_[c] += coefs[0] * val;
+ num_tot2_[c] += coefs[1] * val;
+ num_tot12_[c] += coefs[0] * coefs[1] * val;
+ }
+
+ void inc(const Species& sp, const coordinate_type& c, const Integer val = +1)
+ {
+ const ReactionRule::reactant_container_type& reactants(rr_.reactants());
+ const Integer coef1(get_coef(reactants[0], sp));
+ const Integer coef2(get_coef(reactants[1], sp));
+ if (coef1 > 0 || coef2 > 0)
+ {
+ const Integer tmp(coef1 * val);
+ num_tot1_[c] += tmp;
+ num_tot2_[c] += coef2 * val;
+ num_tot12_[c] += coef2 * tmp;
+ }
+ }
+
+ void initialize()
+ {
+ const std::vector<Species>& species(world().list_species());
+ const ReactionRule::reactant_container_type& reactants(rr_.reactants());
+
+ std::fill(num_tot1_.begin(), num_tot1_.end(), 0);
+ std::fill(num_tot2_.begin(), num_tot2_.end(), 0);
+ std::fill(num_tot12_.begin(), num_tot12_.end(), 0);
+ for (std::vector<Species>::const_iterator i(species.begin());
+ i != species.end(); ++i)
+ {
+ const Integer coef1(get_coef(reactants[0], *i));
+ const Integer coef2(get_coef(reactants[1], *i));
+ if (coef1 > 0 || coef2 > 0)
+ {
+ for (Integer j(0); j < world().num_subvolumes(); ++j)
+ {
+ const Integer num(world().num_molecules_exact(*i, j));
+ const Integer tmp(coef1 * num);
+ num_tot1_[j] += tmp;
+ num_tot2_[j] += coef2 * num;
+ num_tot12_[j] += coef2 * tmp;
+ }
+ }
+ }
+ }
+
+ std::pair<ReactionRule::reactant_container_type, Integer> __draw(const coordinate_type& c)
+ {
+ const std::vector<Species>& species(world().list_species());
+ const ReactionRule::reactant_container_type& reactants(rr_.reactants());
+
+ const Real rnd1(rng()->uniform(0.0, num_tot1_[c]));
+
+ Integer num_tot(0), coef1(0);
+ std::vector<Species>::const_iterator itr1(species.begin());
+ for (; itr1 != species.end(); ++itr1)
+ {
+ const Integer coef(get_coef(reactants[0], *itr1));
+ if (coef > 0)
+ {
+ num_tot += coef * world().num_molecules_exact(*itr1, c);
+ if (num_tot >= rnd1)
+ {
+ coef1 = coef;
+ break;
+ }
+ }
+ }
+
+ const Real rnd2(
+ rng()->uniform(0.0, num_tot2_[c] - get_coef(reactants[0], *itr1)));
+
+ num_tot = 0;
+ for (std::vector<Species>::const_iterator i(species.begin());
+ i != species.end(); ++i)
+ {
+ const Integer coef(get_coef(reactants[1], *i));
+ if (coef > 0)
+ {
+ const Integer num(world().num_molecules_exact(*i, c));
+ num_tot += coef * (i == itr1 ? num - 1 : num);
+ if (num_tot >= rnd2)
+ {
+ ReactionRule::reactant_container_type exact_reactants(2);
+ exact_reactants[0] = *itr1;
+ exact_reactants[1] = *i;
+ return std::make_pair(exact_reactants, coef1 * coef);
+ }
+ }
+ }
+
+ throw IllegalState("SecondOrderReactionRuleProxy: Never reach here.");
+ }
+
+ const Real propensity(const coordinate_type& c) const
+ {
+ return (num_tot1_[c] * num_tot2_[c] - num_tot12_[c]) * rr_.k() / world().subvolume();
+ }
+
+ protected:
+
+ std::vector<Integer> num_tot1_, num_tot2_, num_tot12_;
+ };
+
+ class StructureSecondOrderReactionRuleProxy:
+ public ReactionRuleProxy
+ {
+ public:
+
+ typedef ReactionRuleProxy base_type;
+
+ StructureSecondOrderReactionRuleProxy()
+ : base_type(), num_tot_(0), stidx_(0), spidx_(0)
+ {
+ ;
+ }
+
+ StructureSecondOrderReactionRuleProxy(
+ MesoscopicSimulator* sim, const ReactionRule& rr,
+ const ReactionRule::reactant_container_type::size_type stidx)
+ : base_type(sim, rr), num_tot_(sim->world()->num_subvolumes()),
+ stidx_(stidx), spidx_(stidx == 0 ? 1 : 0)
+ {
+ ;
+ }
+
+ void inc_with_coefs(const std::vector<Integer>& coefs,
+ const coordinate_type& c, const Integer val = +1)
+ {
+ num_tot_[c] += coefs[spidx_] * val;
+ }
+
+ void inc(const Species& sp, const coordinate_type& c, const Integer val = +1)
+ {
+ const ReactionRule::reactant_container_type& reactants(rr_.reactants());
+ const Integer coef(get_coef(reactants[spidx_], sp));
+ if (coef > 0)
+ {
+ num_tot_[c] += coef * val;
+ }
+ }
+
+ void initialize()
+ {
+ const ReactionRule::reactant_container_type& reactants(rr_.reactants());
+
+ // if (world().get_dimension(reactants[stidx_]) != Shape::TWO)
+ // {
+ // throw NotSupported(
+ // "A second order reaction is only acceptable"
+ // " with a structure with dimension two.");
+ // } else
+ if (world().has_structure(reactants[spidx_]))
+ {
+ throw NotSupported(
+ "A second order reaction between structures has no mean.");
+ }
+
+ const std::vector<Species>& species(world().list_species());
+ std::fill(num_tot_.begin(), num_tot_.end(), 0);
+ for (std::vector<Species>::const_iterator i(species.begin());
+ i != species.end(); ++i)
+ {
+ const Integer coef(get_coef(reactants[spidx_], *i));
+ if (coef > 0)
+ {
+ for (Integer j(0); j < world().num_subvolumes(); ++j)
+ {
+ num_tot_[j] += coef * world().num_molecules_exact(*i, j);
+ }
+ }
+ }
+ }
+
+ std::pair<ReactionRule::reactant_container_type, Integer> __draw(const coordinate_type& c)
+ {
+ const std::vector<Species>& species(world().list_species());
+ const ReactionRule::reactant_container_type& reactants(rr_.reactants());
+
+ const Real rnd1(rng()->uniform(0.0, num_tot_[c]));
+
+ Integer tot(0);
+ for (std::vector<Species>::const_iterator i(species.begin());
+ i != species.end(); ++i)
+ {
+ const Integer coef(get_coef(reactants[spidx_], *i));
+ if (coef > 0)
+ {
+ tot += coef * world().num_molecules_exact(*i, c);
+ if (tot >= rnd1)
+ {
+ ReactionRule::reactant_container_type retval(2);
+ retval[spidx_] = *i;
+ retval[stidx_] = reactants[stidx_];
+ return std::make_pair(retval, coef);
+ }
+ }
+ }
+ throw IllegalState("StructureSecondOrderReactionRuleProxy: Never reach here.");
+ }
+
+ const Real propensity(const coordinate_type& c) const
+ {
+ return (num_tot_[c] * rr_.k()
+ * world().get_occupancy(rr_.reactants()[stidx_], c));
+ }
+
+ protected:
+
+ std::vector<Integer> num_tot_;
+ ReactionRule::reactant_container_type::size_type stidx_, spidx_;
+ };
+
+ class DiffusionProxy
+ : public ReactionRuleProxyBase
+ {
+ public:
+
+ typedef ReactionRuleProxyBase base_type;
+
+ protected:
+
+ typedef std::pair<ReactionRuleProxy*, std::vector<Integer> >
+ dependency_type;
+ typedef std::vector<dependency_type> dependency_container_type;
+
+ public:
+
+ DiffusionProxy()
+ : base_type(), pool_(), dependencies_()
+ {
+ ;
+ }
+
+ DiffusionProxy(MesoscopicSimulator* sim, const Species& sp)
+ : base_type(sim), pool_(sim->world()->get_pool(sp)), dependencies_()
+ {
+ ;
+ }
+
+ virtual ~DiffusionProxy()
+ {
+ ;
+ }
+
+ coordinate_type draw(const coordinate_type& c)
+ {
+ const Real3 lengths(sim_->world()->subvolume_edge_lengths());
+ const Real px(1.0 / (lengths[0] * lengths[0])),
+ py(1.0 / (lengths[1] * lengths[1])),
+ pz(1.0 / (lengths[2] * lengths[2]));
+
+ const Real rnd1(sim_->world()->rng()->uniform(0.0, px + py + pz));
+
+ if (rnd1 < px * 0.5)
+ {
+ return sim_->world()->get_neighbor(c, 0);
+ }
+ else if (rnd1 < px)
+ {
+ return sim_->world()->get_neighbor(c, 1);
+ }
+ else if (rnd1 < px + py * 0.5)
+ {
+ return sim_->world()->get_neighbor(c, 2);
+ }
+ else if (rnd1 < px + py)
+ {
+ return sim_->world()->get_neighbor(c, 3);
+ }
+ else if (rnd1 < px + py + pz * 0.5)
+ {
+ return sim_->world()->get_neighbor(c, 4);
+ }
+ return sim_->world()->get_neighbor(c, 5);
+ }
+
+ void initialize()
+ {
+ const Real D = pool_->D();
+ const Real3 lengths(sim_->world()->subvolume_edge_lengths());
+ const Real px(1.0 / (lengths[0] * lengths[0])),
+ py(1.0 / (lengths[1] * lengths[1])),
+ pz(1.0 / (lengths[2] * lengths[2]));
+ k_ = 2 * D * (px + py + pz);
+ }
+
+ const Real propensity(const coordinate_type& c) const
+ {
+ return k_ * pool_->num_molecules(c);
+ }
+
+ void inc(const Species& sp, const coordinate_type& c, const Integer val = +1)
+ {
+ ; // do nothing
+ }
+
+ virtual void fire(const Real t, const coordinate_type& src)
+ {
+ const coordinate_type dst = this->draw(src);
+
+ if (dst == src)
+ {
+ ; // do nothing except for update()
+ return;
+ }
+
+ if (!sim_->world()->check_structure(pool_->loc(), dst))
+ {
+ ; // do nothing except for update()
+ return;
+ }
+
+ {
+ // sim_->decrement(pool_, src);
+ // sim_->increment(pool_, dst);
+
+ pool_->remove_molecules(1, src);
+ pool_->add_molecules(1, dst);
+
+ for (dependency_container_type::const_iterator i(dependencies_.begin());
+ i != dependencies_.end(); ++i)
+ {
+ (*i).first->inc_with_coefs((*i).second, src, -1);
+ (*i).first->inc_with_coefs((*i).second, dst, +1);
+ }
+ }
+
+ sim_->interrupt(dst);
+ }
+
+ void set_dependency(ReactionRuleProxy* proxy)
+ {
+ const std::vector<Integer> coefs = proxy->check_dependency(pool_->species());
+ if (std::count(coefs.begin(), coefs.end(), 0) < coefs.size())
+ {
+ dependencies_.push_back(std::make_pair(proxy, coefs));
+ }
+ }
+
+ protected:
+
+ const boost::shared_ptr<MesoscopicWorld::PoolBase> pool_;
+ Real k_;
+
+ dependency_container_type dependencies_;
+ };
+
+ struct SubvolumeEvent
+ : public Event
+ {
+ public:
+
+ SubvolumeEvent(MesoscopicSimulator* sim, const coordinate_type& c, const Real& t)
+ : Event(t), sim_(sim), coord_(c)
+ {
+ update();
+ }
+
+ virtual ~SubvolumeEvent()
+ {
+ ;
+ }
+
+ virtual void fire()
+ {
+ assert(proxy_ != NULL);
+ sim_->reset_last_reactions();
+ proxy_->fire(time_, coord_);
+ update();
+ }
+
+ virtual void interrupt(Real const& t)
+ {
+ time_ = t;
+ update();
+ }
+
+ void update()
+ {
+ const std::pair<Real, ReactionRuleProxyBase*>
+ retval = sim_->draw_next_reaction(coord_);
+ time_ += retval.first;
+ proxy_ = retval.second;
+ }
+
+ protected:
+
+ MesoscopicSimulator* sim_;
+ coordinate_type coord_;
+
+ ReactionRuleProxyBase* proxy_;
+ };
+
+public:
+
+ MesoscopicSimulator(
+ boost::shared_ptr<Model> model,
+ boost::shared_ptr<MesoscopicWorld> world)
+ : base_type(model, world)
+ {
+ initialize();
+ }
+
+ MesoscopicSimulator(boost::shared_ptr<MesoscopicWorld> world)
+ : base_type(world)
+ {
+ initialize();
+ }
+
+ // SimulatorTraits
+ Real dt(void) const;
+ Real next_time(void) const;
+
+ void step(void);
+ bool step(const Real & upto);
+
+ // Optional members
+ virtual bool check_reaction() const
+ {
+ return last_reactions_.size() > 0;
+ }
+
+ std::vector<std::pair<ReactionRule, reaction_info_type> > last_reactions() const
+ {
+ return last_reactions_;
+ }
+
+ void add_last_reaction(const ReactionRule& rr, const reaction_info_type& ri)
+ {
+ last_reactions_.push_back(std::make_pair(rr, ri));
+ }
+
+ void reset_last_reactions()
+ {
+ last_reactions_.clear();
+ }
+
+ /**
+ * recalculate reaction propensities and draw the next time.
+ */
+ void initialize();
+
+ inline boost::shared_ptr<RandomNumberGenerator> rng()
+ {
+ return (*world_).rng();
+ }
+
+ void interrupt(const coordinate_type& coord)
+ {
+ interrupted_ = coord;
+ }
+
+protected:
+
+ DiffusionProxy* create_diffusion_proxy(const Species& sp);
+
+ void interrupt_all(const Real& t);
+ std::pair<Real, ReactionRuleProxyBase*>
+ draw_next_reaction(const coordinate_type& c);
+
+ void increment_molecules(const Species& sp, const coordinate_type& c);
+ void decrement_molecules(const Species& sp, const coordinate_type& c);
+ void increment(const boost::shared_ptr<MesoscopicWorld::PoolBase>& pool, const coordinate_type& c);
+ void decrement(const boost::shared_ptr<MesoscopicWorld::PoolBase>& pool, const coordinate_type& c);
+
+protected:
+
+ std::vector<std::pair<ReactionRule, reaction_info_type> > last_reactions_;
+
+ boost::ptr_vector<ReactionRuleProxyBase> proxies_;
+ boost::ptr_vector<ReactionRuleProxyBase>::size_type diffusion_proxy_offset_;
+
+ EventScheduler scheduler_;
+ std::vector<EventScheduler::identifier_type> event_ids_;
+ coordinate_type interrupted_;
+};
+
+} // meso
+
+} // ecell4
+
+#endif /* __ECELL4_MESO_MESOSCOPIC_SIMULATOR_HPP */
diff --git a/ecell4/meso/MesoscopicWorld.cpp b/ecell4/meso/MesoscopicWorld.cpp
new file mode 100644
index 0000000..6de2eab
--- /dev/null
+++ b/ecell4/meso/MesoscopicWorld.cpp
@@ -0,0 +1,353 @@
+#include <ecell4/core/SerialIDGenerator.hpp>
+#include "MesoscopicWorld.hpp"
+
+#ifdef WIN32_MSC
+#include <boost/numeric/interval/detail/msvc_rounding_control.hpp>
+#endif
+
+namespace ecell4
+{
+
+namespace meso
+{
+
+#ifdef WIN32_MSC
+double round(const double x)
+{
+ return floor(x + 0.5);
+}
+#endif
+
+MesoscopicWorld::MesoscopicWorld(const Real3& edge_lengths, const Real subvolume_length)
+ : cs_(new SubvolumeSpaceVectorImpl(edge_lengths, Integer3(round(edge_lengths[0] / subvolume_length), round(edge_lengths[1] / subvolume_length), round(edge_lengths[2] / subvolume_length))))
+{
+ rng_ = boost::shared_ptr<RandomNumberGenerator>(
+ new GSLRandomNumberGenerator());
+ (*rng_).seed();
+}
+
+MesoscopicWorld::MesoscopicWorld(
+ const Real3& edge_lengths, const Real subvolume_length,
+ boost::shared_ptr<RandomNumberGenerator> rng)
+ : cs_(new SubvolumeSpaceVectorImpl(edge_lengths, Integer3(round(edge_lengths[0] / subvolume_length), round(edge_lengths[1] / subvolume_length), round(edge_lengths[2] / subvolume_length)))), rng_(rng)
+{
+ ;
+}
+
+MoleculeInfo MesoscopicWorld::get_molecule_info(const Species& sp) const
+{
+ const bool with_D(sp.has_attribute("D"));
+ const bool with_loc(sp.has_attribute("location"));
+
+ Real D(0.0);
+ std::string loc("");
+
+ if (with_loc)
+ {
+ loc = sp.get_attribute("location");
+ }
+
+ if (with_D)
+ {
+ D = std::atof(sp.get_attribute("D").c_str());
+ }
+ else
+ {
+ if (boost::shared_ptr<Model> bound_model = lock_model())
+ {
+ Species attributed(bound_model->apply_species_attributes(sp));
+ if (attributed.has_attribute("D"))
+ {
+ D = std::atof(attributed.get_attribute("D").c_str());
+ }
+
+ if (!with_loc && attributed.has_attribute("location"))
+ {
+ loc = attributed.get_attribute("location");
+ }
+ }
+ }
+
+ MoleculeInfo info = {D, loc};
+ return info;
+}
+
+std::vector<std::pair<ParticleID, Particle> >
+ MesoscopicWorld::list_particles() const
+{
+ SerialIDGenerator<ParticleID> pidgen;
+ const std::vector<Species>& species_list(species());
+ const Real3 lengths(subvolume_edge_lengths());
+
+ std::vector<std::pair<ParticleID, Particle> > retval;
+ for (std::vector<Species>::const_iterator i(species_list.begin());
+ i != species_list.end(); ++i)
+ {
+ const boost::shared_ptr<PoolBase>& pool = get_pool(*i);
+ for (coordinate_type j(0); j < num_subvolumes(); ++j)
+ {
+ const Integer num(pool->num_molecules(j));
+ const Integer3 g(coord2global(j));
+
+ for (Integer k(0); k < num; ++k)
+ {
+ const Real3 pos(
+ rng_->uniform(g.col * lengths[0], (g.col + 1) * lengths[0]),
+ rng_->uniform(g.row * lengths[1], (g.row + 1) * lengths[1]),
+ rng_->uniform(g.layer * lengths[2], (g.layer + 1) * lengths[2]));
+ retval.push_back(
+ std::make_pair(pidgen(), Particle(*i, pos, 0.0, pool->D())));
+ }
+ }
+ }
+ return retval;
+}
+
+std::vector<std::pair<ParticleID, Particle> >
+ MesoscopicWorld::list_particles_exact(const Species& sp) const
+{
+ SerialIDGenerator<ParticleID> pidgen;
+ const Real3 lengths(subvolume_edge_lengths());
+
+ std::vector<std::pair<ParticleID, Particle> > retval;
+ if (has_species(sp))
+ {
+ const boost::shared_ptr<PoolBase>& pool = get_pool(sp);
+ for (coordinate_type j(0); j < num_subvolumes(); ++j)
+ {
+ const Integer num(pool->num_molecules(j));
+ const Integer3 g(coord2global(j));
+
+ for (Integer k(0); k < num; ++k)
+ {
+ const Real3 pos(
+ rng_->uniform(g.col * lengths[0], (g.col + 1) * lengths[0]),
+ rng_->uniform(g.row * lengths[1], (g.row + 1) * lengths[1]),
+ rng_->uniform(g.layer * lengths[2], (g.layer + 1) * lengths[2]));
+ retval.push_back(
+ std::make_pair(pidgen(), Particle(sp, pos, 0.0, pool->D())));
+ }
+ }
+ }
+ return retval;
+}
+
+std::vector<std::pair<ParticleID, Particle> >
+ MesoscopicWorld::list_particles(const Species& sp) const
+{
+ SerialIDGenerator<ParticleID> pidgen;
+ const std::vector<Species>& species_list(species());
+ const Real3 lengths(subvolume_edge_lengths());
+
+ std::vector<std::pair<ParticleID, Particle> > retval;
+ // MoleculeInfo info(get_molecule_info(sp));
+ // for (coordinate_type j(0); j < num_subvolumes(); ++j)
+ // {
+ // const Integer num(num_molecules(sp, j));
+ // const Integer3 g(coord2global(j));
+
+ // for (Integer k(0); k < num; ++k)
+ // {
+ // const Real3 pos(
+ // rng_->uniform(g.col * lengths[0], (g.col + 1) * lengths[0]),
+ // rng_->uniform(g.row * lengths[1], (g.row + 1) * lengths[1]),
+ // rng_->uniform(g.layer * lengths[2], (g.layer + 1) * lengths[2]));
+ // retval.push_back(
+ // std::make_pair(pidgen(), Particle(sp, pos, 0.0, info.D)));
+ // }
+ // }
+ for (std::vector<Species>::const_iterator i(species_list.begin());
+ i != species_list.end(); ++i)
+ {
+ const Integer coef(sp.count(*i));
+ if (coef == 0)
+ {
+ continue;
+ }
+
+ const boost::shared_ptr<PoolBase>& pool = get_pool(*i);
+ for (coordinate_type j(0); j < num_subvolumes(); ++j)
+ {
+ const Integer num(coef * pool->num_molecules(j));
+ const Integer3 g(coord2global(j));
+
+ for (Integer k(0); k < num; ++k)
+ {
+ const Real3 pos(
+ rng_->uniform(g.col * lengths[0], (g.col + 1) * lengths[0]),
+ rng_->uniform(g.row * lengths[1], (g.row + 1) * lengths[1]),
+ rng_->uniform(g.layer * lengths[2], (g.layer + 1) * lengths[2]));
+ retval.push_back(
+ std::make_pair(pidgen(), Particle(*i, pos, 0.0, pool->D())));
+ }
+ }
+ }
+ return retval;
+}
+
+const Real3& MesoscopicWorld::edge_lengths() const
+{
+ return cs_->edge_lengths();
+}
+
+const Real3 MesoscopicWorld::subvolume_edge_lengths() const
+{
+ return cs_->subvolume_edge_lengths();
+}
+
+const Real MesoscopicWorld::t() const
+{
+ return cs_->t();
+}
+
+void MesoscopicWorld::set_t(const Real& t)
+{
+ cs_->set_t(t);
+}
+
+void MesoscopicWorld::set_value(const Species& sp, const Real value)
+{
+ const Integer num1 = static_cast<Integer>(value);
+ const Integer num2 = num_molecules_exact(sp);
+ if (num1 > num2)
+ {
+ add_molecules(sp, num1 - num2);
+ }
+ else if (num1 < num2)
+ {
+ remove_molecules(sp, num2 - num1);
+ }
+}
+
+Real MesoscopicWorld::get_value(const Species& sp) const
+{
+ return cs_->get_value(sp);
+}
+
+Real MesoscopicWorld::get_value_exact(const Species& sp) const
+{
+ return cs_->get_value_exact(sp);
+}
+
+const Integer MesoscopicWorld::num_subvolumes() const
+{
+ return cs_->num_subvolumes();
+}
+
+const Real MesoscopicWorld::subvolume() const
+{
+ return cs_->subvolume();
+}
+
+const Real MesoscopicWorld::volume() const
+{
+ return cs_->volume();
+}
+
+MesoscopicWorld::coordinate_type MesoscopicWorld::global2coord(const Integer3& g) const
+{
+ return cs_->global2coord(g);
+}
+
+Integer3 MesoscopicWorld::coord2global(const MesoscopicWorld::coordinate_type& c) const
+{
+ return cs_->coord2global(c);
+}
+
+Integer3 MesoscopicWorld::position2global(const Real3& pos) const
+{
+ return cs_->position2global(pos);
+}
+
+Integer MesoscopicWorld::position2coordinate(const Real3& pos) const
+{
+ return cs_->position2coordinate(pos);
+}
+
+Integer MesoscopicWorld::num_molecules(const Species& sp) const
+{
+ return cs_->num_molecules(sp);
+}
+
+Integer MesoscopicWorld::num_molecules_exact(const Species& sp) const
+{
+ return cs_->num_molecules_exact(sp);
+}
+
+Integer MesoscopicWorld::num_molecules(
+ const Species& sp, const MesoscopicWorld::coordinate_type& c) const
+{
+ return cs_->num_molecules(sp, c);
+}
+
+Integer MesoscopicWorld::num_molecules_exact(
+ const Species& sp, const MesoscopicWorld::coordinate_type& c) const
+{
+ return cs_->num_molecules_exact(sp, c);
+}
+
+void MesoscopicWorld::add_molecules(
+ const Species& sp, const Integer& num, const MesoscopicWorld::coordinate_type& c)
+{
+ if (!cs_->has_species(sp))
+ {
+ this->reserve_pool(sp);
+ }
+ cs_->add_molecules(sp, num, c);
+}
+
+void MesoscopicWorld::remove_molecules(
+ const Species& sp, const Integer& num, const MesoscopicWorld::coordinate_type& c)
+{
+ cs_->remove_molecules(sp, num, c);
+}
+
+std::vector<MesoscopicWorld::coordinate_type>
+MesoscopicWorld::list_coordinates(const Species& sp) const
+{
+ return cs_->list_coordinates(sp); // std::move?
+}
+
+std::vector<MesoscopicWorld::coordinate_type>
+MesoscopicWorld::list_coordinates_exact(const Species& sp) const
+{
+ return cs_->list_coordinates_exact(sp); // std::move?
+}
+
+const std::vector<Species>& MesoscopicWorld::species() const
+{
+ return cs_->species();
+}
+
+std::vector<Species> MesoscopicWorld::list_species() const
+{
+ return cs_->list_species();
+}
+
+void MesoscopicWorld::add_structure(
+ const Species& sp, const boost::shared_ptr<const Shape>& shape)
+{
+ cs_->add_structure(sp, shape);
+}
+
+bool MesoscopicWorld::on_structure(
+ const Species& sp, const coordinate_type& coord) const
+{
+ if (has_species(sp))
+ {
+ const boost::shared_ptr<PoolBase>& pool = get_pool(sp);
+ return (pool->loc() == "" || cs_->check_structure(pool->loc(), coord));
+ }
+
+ const molecule_info_type minfo(get_molecule_info(sp));
+ return (minfo.loc == "" || cs_->check_structure(minfo.loc, coord));
+}
+
+Real MesoscopicWorld::get_volume(const Species& sp) const
+{
+ return cs_->get_volume(sp);
+}
+
+} // meso
+
+} // ecell4
diff --git a/ecell4/meso/MesoscopicWorld.hpp b/ecell4/meso/MesoscopicWorld.hpp
new file mode 100644
index 0000000..2516034
--- /dev/null
+++ b/ecell4/meso/MesoscopicWorld.hpp
@@ -0,0 +1,419 @@
+#ifndef __ECELL4_MESO_MESOSCOPIC_WORLD_HPP
+#define __ECELL4_MESO_MESOSCOPIC_WORLD_HPP
+
+#include <numeric>
+#include <sstream>
+#include <boost/scoped_ptr.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/weak_ptr.hpp>
+
+#include <ecell4/core/RandomNumberGenerator.hpp>
+#include <ecell4/core/SubvolumeSpace.hpp>
+#include <ecell4/core/Model.hpp>
+#include <ecell4/core/Shape.hpp>
+#include <ecell4/core/extras.hpp>
+
+namespace ecell4
+{
+
+namespace meso
+{
+
+struct MoleculeInfo
+{
+ const Real D;
+ const std::string loc;
+};
+
+class MesoscopicWorld
+ : public Space
+{
+public:
+
+ typedef SubvolumeSpace::coordinate_type coordinate_type;
+ typedef MoleculeInfo molecule_info_type;
+
+ typedef SubvolumeSpace::PoolBase PoolBase;
+
+public:
+
+ MesoscopicWorld(const std::string& filename)
+ : cs_(new SubvolumeSpaceVectorImpl(Real3(1, 1, 1), Integer3(1, 1, 1)))
+ {
+ rng_ = boost::shared_ptr<RandomNumberGenerator>(
+ new GSLRandomNumberGenerator());
+ this->load(filename);
+ }
+
+ MesoscopicWorld(const Real3& edge_lengths = Real3(1, 1, 1))
+ : cs_(new SubvolumeSpaceVectorImpl(edge_lengths, Integer3(1, 1, 1)))
+ {
+ rng_ = boost::shared_ptr<RandomNumberGenerator>(
+ new GSLRandomNumberGenerator());
+ (*rng_).seed();
+ }
+
+ MesoscopicWorld(const Real3& edge_lengths, const Integer3& matrix_sizes)
+ : cs_(new SubvolumeSpaceVectorImpl(edge_lengths, matrix_sizes))
+ {
+ rng_ = boost::shared_ptr<RandomNumberGenerator>(
+ new GSLRandomNumberGenerator());
+ (*rng_).seed();
+ }
+
+ MesoscopicWorld(const Real3& edge_lengths,
+ const Integer3& matrix_sizes, boost::shared_ptr<RandomNumberGenerator> rng)
+ : cs_(new SubvolumeSpaceVectorImpl(edge_lengths, matrix_sizes)), rng_(rng)
+ {
+ ;
+ }
+
+ MesoscopicWorld(const Real3& edge_lengths, const Real subvolume_length);
+ MesoscopicWorld(
+ const Real3& edge_lengths, const Real subvolume_length,
+ boost::shared_ptr<RandomNumberGenerator> rng);
+
+ virtual ~MesoscopicWorld()
+ {
+ ;
+ }
+
+ void bind_to(boost::shared_ptr<Model> model)
+ {
+ if (boost::shared_ptr<Model> bound_model = lock_model())
+ {
+ if (bound_model.get() != model.get())
+ {
+ std::cerr << "Warning: Model already bound to MesoscopicWorld."
+ << std::endl;
+ }
+ }
+
+ this->model_ = model;
+ }
+
+ void save(const std::string& filename) const
+ {
+#ifdef WITH_HDF5
+ boost::scoped_ptr<H5::H5File>
+ fout(new H5::H5File(filename.c_str(), H5F_ACC_TRUNC));
+ rng_->save(fout.get());
+ boost::scoped_ptr<H5::Group>
+ group(new H5::Group(fout->createGroup("SubvolumeSpace")));
+ cs_->save_hdf5(group.get());
+ extras::save_version_information(fout.get(), std::string("ecell4-meso-") + std::string(ECELL4_VERSION));
+#else
+ throw NotSupported(
+ "This method requires HDF5. The HDF5 support is turned off.");
+#endif
+ }
+
+ void load(const std::string& filename)
+ {
+#ifdef WITH_HDF5
+ boost::scoped_ptr<H5::H5File>
+ fin(new H5::H5File(filename.c_str(), H5F_ACC_RDONLY));
+
+ const std::string required = "ecell4-meso-4.1.0";
+ try
+ {
+ const std::string version = extras::load_version_information(*fin);
+ if (!extras::check_version_information(version, required))
+ {
+ std::stringstream ss;
+ ss << "The version of the given file [" << version
+ << "] is too old. [" << required << "] or later is required.";
+ throw NotSupported(ss.str());
+ }
+ }
+ catch(H5::GroupIException not_found_error)
+ {
+ throw NotFound("No version information was found.");
+ }
+
+ rng_->load(*fin);
+ const H5::Group group(fin->openGroup("SubvolumeSpace"));
+ cs_->load_hdf5(group);
+#else
+ throw NotSupported(
+ "This method requires HDF5. The HDF5 support is turned off.");
+#endif
+ }
+
+ boost::shared_ptr<Model> lock_model() const
+ {
+ return model_.lock();
+ }
+
+ inline const boost::shared_ptr<RandomNumberGenerator>& rng()
+ {
+ return rng_;
+ }
+
+ MoleculeInfo get_molecule_info(const Species& sp) const;
+
+ const Real t() const;
+ void set_t(const Real& t);
+ const Integer num_subvolumes() const;
+ const Real subvolume() const;
+ const Real volume() const;
+ const Real3 subvolume_edge_lengths() const;
+ const Real3& edge_lengths() const;
+
+ const Integer num_subvolumes(const Species& sp) const
+ {
+ return cs_->num_subvolumes(sp);
+ }
+
+ const Integer3 matrix_sizes() const
+ {
+ return cs_->matrix_sizes();
+ }
+
+ coordinate_type global2coord(const Integer3& g) const;
+ Integer3 coord2global(const coordinate_type& c) const;
+ Integer3 position2global(const Real3& pos) const;
+ Integer position2coordinate(const Real3& pos) const;
+
+ coordinate_type get_neighbor(const coordinate_type& c, const Integer rnd) const
+ {
+ return cs_->get_neighbor(c, rnd);
+ }
+
+ void set_value(const Species& sp, const Real value);
+ Real get_value(const Species& sp) const;
+ Real get_value_exact(const Species& sp) const;
+ Integer num_molecules(const Species& sp) const;
+ Integer num_molecules_exact(const Species& sp) const;
+ Integer num_molecules(const Species& sp, const coordinate_type& c) const;
+ Integer num_molecules_exact(const Species& sp, const coordinate_type& c) const;
+ void add_molecules(const Species& sp, const Integer& num, const coordinate_type& c);
+ void remove_molecules(const Species& sp, const Integer& num, const coordinate_type& c);
+
+ Integer num_molecules(const Species& sp, const Integer3& g) const
+ {
+ return cs_->num_molecules(sp, g);
+ }
+
+ Integer num_molecules_exact(const Species& sp, const Integer3& g) const
+ {
+ return cs_->num_molecules_exact(sp, g);
+ }
+
+ void add_molecules(const Species& sp, const Integer& num, const Integer3& g)
+ {
+ add_molecules(sp, num, global2coord(g));
+ }
+
+ void remove_molecules(const Species& sp, const Integer& num, const Integer3& g)
+ {
+ remove_molecules(sp, num, global2coord(g));
+ }
+
+ std::vector<coordinate_type> list_coordinates(const Species& sp) const;
+ std::vector<coordinate_type> list_coordinates_exact(const Species& sp) const;
+
+ void add_molecules(const Species& sp, const Integer& num)
+ {
+ if (!cs_->has_species(sp))
+ {
+ reserve_pool(sp);
+ }
+
+ const boost::shared_ptr<PoolBase>& pool = get_pool(sp);
+ if (pool->loc() == "")
+ {
+ for (Integer i(0); i < num; ++i)
+ {
+ pool->add_molecules(1, rng_->uniform_int(0, num_subvolumes() - 1));
+ }
+
+ return;
+ }
+
+ const Species st(pool->loc());
+ if (!cs_->has_structure(st))
+ {
+ throw NotFound("no space to throw-in.");
+ }
+
+ Integer i(0);
+ while (i < num)
+ {
+ const coordinate_type j(rng_->uniform_int(0, num_subvolumes() - 1));
+ if (cs_->check_structure(pool->loc(), j))
+ {
+ pool->add_molecules(1, j);
+ i++;
+ }
+ }
+ }
+
+ void add_molecules(const Species& sp, const Integer& num,
+ const boost::shared_ptr<Shape> shape)
+ {
+ if (!cs_->has_species(sp))
+ {
+ reserve_pool(sp);
+ }
+
+ const boost::shared_ptr<PoolBase>& pool = get_pool(sp);
+
+ if (pool->loc() == "")
+ {
+ for (Integer i(0); i < num; ++i)
+ {
+ const Real3 pos(shape->draw_position(rng_));
+ const coordinate_type& coord(
+ cs_->global2coord(cs_->position2global(pos)));
+ pool->add_molecules(1, coord);
+ }
+
+ return;
+ }
+
+ const Species st(pool->loc());
+ if (!cs_->has_structure(st))
+ {
+ throw NotFound("no space to throw-in.");
+ }
+
+ Integer i(0);
+ while (i < num)
+ {
+ const Real3 pos(shape->draw_position(rng_));
+ const Integer3 g(cs_->position2global(pos));
+ const coordinate_type j(cs_->global2coord(g));
+ if (cs_->check_structure(pool->loc(), j))
+ {
+ pool->add_molecules(1, j);
+ i++;
+ }
+ }
+ }
+
+ void remove_molecules(const Species& sp, const Integer& num)
+ {
+ std::vector<Integer> a(num_subvolumes());
+ for (coordinate_type c(0); c < num_subvolumes(); ++c)
+ {
+ a[c] = num_molecules_exact(sp, c);
+ }
+
+ Integer num_tot(std::accumulate(a.begin(), a.end(), 0));
+ if (num_tot < num)
+ {
+ std::ostringstream message;
+ message << "The number of molecules cannot be negative. [" << sp.serial() << "]";
+ throw std::invalid_argument(message.str());
+ }
+
+ for (Integer i(0); i < num; ++i)
+ {
+ const Integer rnd1(rng_->uniform_int(0, num_tot - 1));
+ Integer acct(0);
+ for (coordinate_type c(0); c < num_subvolumes(); ++c)
+ {
+ acct += a[c];
+ if (acct > rnd1)
+ {
+ remove_molecules(sp, 1, c);
+ a[c] -= 1;
+ --num_tot;
+ break;
+ }
+ }
+ }
+ }
+
+ std::pair<std::pair<ParticleID, Particle>, bool> new_particle(const Particle& p)
+ {
+ add_molecules(p.species(), 1, position2coordinate(p.position()));
+ return std::make_pair(std::make_pair(ParticleID(), p), true);
+ }
+
+ std::pair<std::pair<ParticleID, Particle>, bool> new_particle(
+ const Species& sp, const Real3& pos)
+ {
+ add_molecules(sp, 1, position2coordinate(pos));
+ const boost::shared_ptr<PoolBase>& pool = get_pool(sp);
+ return std::make_pair(
+ std::make_pair(ParticleID(), Particle(sp, pos, 0.0, pool->D())), true);
+ }
+
+ void add_structure(const Species& sp, const boost::shared_ptr<const Shape>& shape);
+ bool on_structure(const Species& sp, const coordinate_type& coord) const;
+
+ bool has_structure(const Species& sp) const
+ {
+ return cs_->has_structure(sp);
+ }
+
+ Real get_occupancy(const Species& sp, const coordinate_type& coord) const
+ {
+ return cs_->get_occupancy(sp, coord);
+ }
+
+ Real get_occupancy(const Species& sp, const Integer3& g) const
+ {
+ return cs_->get_occupancy(sp, g);
+ }
+
+ // Shape::dimension_kind get_dimension(const Species& sp) const
+ // {
+ // return cs_->get_dimension(sp);
+ // }
+
+ inline bool on_structure(const Species& sp, const Integer3& g) const
+ {
+ return on_structure(sp, global2coord(g));
+ }
+
+ bool check_structure(const Species& sp, const Integer3& g) const
+ {
+ return cs_->check_structure(sp, g);
+ }
+
+ bool check_structure(const Species::serial_type& serial, const coordinate_type& coord) const
+ {
+ return cs_->check_structure(serial, coord);
+ }
+
+ Real get_volume(const Species& sp) const;
+
+ bool has_species(const Species& sp) const
+ {
+ return cs_->has_species(sp);
+ }
+
+ const std::vector<Species>& species() const;
+ std::vector<Species> list_species() const;
+
+ std::vector<std::pair<ParticleID, Particle> > list_particles() const;
+ std::vector<std::pair<ParticleID, Particle> > list_particles_exact(const Species& sp) const;
+ std::vector<std::pair<ParticleID, Particle> > list_particles(const Species& sp) const;
+
+ const boost::shared_ptr<PoolBase>& get_pool(const Species& sp) const
+ {
+ return cs_->get_pool(sp);
+ }
+
+ const boost::shared_ptr<PoolBase> reserve_pool(const Species& sp)
+ {
+ const molecule_info_type minfo(get_molecule_info(sp));
+ return cs_->reserve_pool(sp, minfo.D, minfo.loc);
+ }
+
+private:
+
+ boost::scoped_ptr<SubvolumeSpace> cs_;
+ boost::shared_ptr<RandomNumberGenerator> rng_;
+
+ boost::weak_ptr<Model> model_;
+};
+
+} // meso
+
+} // ecell4
+
+#endif /* __ECELL4_MESO_MESOSCOPIC_WORLD_HPP */
diff --git a/ecell4/meso/samples/CMakeLists.txt b/ecell4/meso/samples/CMakeLists.txt
new file mode 100644
index 0000000..81bfd52
--- /dev/null
+++ b/ecell4/meso/samples/CMakeLists.txt
@@ -0,0 +1,2 @@
+add_executable(simple-meso simple-meso.cpp)
+target_link_libraries(simple-meso ecell4-meso)
diff --git a/ecell4/meso/samples/simple-meso.cpp b/ecell4/meso/samples/simple-meso.cpp
new file mode 100644
index 0000000..3e47e40
--- /dev/null
+++ b/ecell4/meso/samples/simple-meso.cpp
@@ -0,0 +1,57 @@
+#include <iostream>
+#include <boost/shared_ptr.hpp>
+
+#include <ecell4/core/NetworkModel.hpp>
+#include <ecell4/core/Real3.hpp>
+#include <ecell4/core/RandomNumberGenerator.hpp>
+
+#include <ecell4/core/Sphere.hpp>
+
+#include <ecell4/meso/MesoscopicWorld.hpp>
+#include <ecell4/meso/MesoscopicSimulator.hpp>
+typedef ecell4::meso::MesoscopicWorld world_type;
+typedef ecell4::meso::MesoscopicSimulator simulator_type;
+
+
+namespace ecell4
+{
+
+void run()
+{
+ const Real L(10);
+ const Real L_2(L * 0.5);
+ const Real3 edge_lengths(L, L, L);
+ const Integer3 matrix_sizes(30, 30, 30);
+
+ boost::shared_ptr<NetworkModel> model(new NetworkModel());
+ model->add_species_attribute(Species("A", "0.0025", "1", "C"));
+
+ boost::shared_ptr<RandomNumberGenerator>
+ rng(new GSLRandomNumberGenerator());
+ rng->seed(0);
+ // rng->seed(time(NULL));
+
+ boost::shared_ptr<world_type> world(
+ new world_type(edge_lengths, matrix_sizes, rng));
+ world->bind_to(model);
+
+ world->add_structure(
+ Species("C"),
+ boost::shared_ptr<const Shape>(
+ new Sphere(Real3(L_2, L_2, L_2), L_2 * 0.8)));
+
+ world->add_molecules(Species("A"), 1800);
+
+ simulator_type sim(model, world);
+ sim.run(1.0);
+}
+
+} // ecell4
+
+/**
+ * main function
+ */
+int main(int argc, char** argv)
+{
+ ecell4::run();
+}
diff --git a/ecell4/meso/tests/CMakeLists.txt b/ecell4/meso/tests/CMakeLists.txt
new file mode 100644
index 0000000..1334ff7
--- /dev/null
+++ b/ecell4/meso/tests/CMakeLists.txt
@@ -0,0 +1,16 @@
+set(TEST_NAMES
+ MesoscopicSimulator_test)
+
+set(test_library_dependencies)
+find_library(BOOST_UNITTEST_FRAMEWORK_LIBRARY boost_unit_test_framework)
+if (BOOST_UNITTEST_FRAMEWORK_LIBRARY)
+ add_definitions(-DBOOST_TEST_DYN_LINK)
+ add_definitions(-DUNITTEST_FRAMEWORK_LIBRARY_EXIST)
+ set(test_library_dependencies boost_unit_test_framework)
+endif()
+
+foreach(TEST_NAME ${TEST_NAMES})
+ add_executable(${TEST_NAME} ${TEST_NAME}.cpp)
+ target_link_libraries(${TEST_NAME} ecell4-meso ${test_library_dependencies})
+ add_test(NAME ${TEST_NAME} COMMAND ${TEST_NAME})
+endforeach(TEST_NAME)
diff --git a/ecell4/meso/tests/MesoscopicSimulator_test.cpp b/ecell4/meso/tests/MesoscopicSimulator_test.cpp
new file mode 100644
index 0000000..a6c227a
--- /dev/null
+++ b/ecell4/meso/tests/MesoscopicSimulator_test.cpp
@@ -0,0 +1,51 @@
+#define BOOST_TEST_MODULE "MesoscopicSimulator_test"
+
+#ifdef UNITTEST_FRAMEWORK_LIBRARY_EXIST
+# include <boost/test/unit_test.hpp>
+#else
+# define BOOST_TEST_NO_LIB
+# include <boost/test/included/unit_test.hpp>
+#endif
+
+#include <ecell4/core/RandomNumberGenerator.hpp>
+#include <ecell4/core/Model.hpp>
+#include <ecell4/core/NetworkModel.hpp>
+
+#include <ecell4/meso/MesoscopicWorld.cpp>
+#include <ecell4/meso/MesoscopicSimulator.hpp>
+
+using namespace ecell4;
+using namespace ecell4::meso;
+
+BOOST_AUTO_TEST_CASE(MesoscopicSimulator_test_step)
+{
+ boost::shared_ptr<NetworkModel> model(new NetworkModel());
+ Species sp1("A");
+ Species sp2("B");
+ ReactionRule rr1;
+ rr1.set_k(5.0);
+ rr1.add_reactant(sp1);
+ rr1.add_product(sp2);
+ model->add_species_attribute(sp1);
+ model->add_species_attribute(sp2);
+ model->add_reaction_rule(rr1);
+
+ const Real L(1.0);
+ const Real3 edge_lengths(L, L, L);
+ boost::shared_ptr<RandomNumberGenerator> rng(new GSLRandomNumberGenerator());
+ boost::shared_ptr<MesoscopicWorld> world(
+ new MesoscopicWorld(edge_lengths, Integer3(2, 3, 4), rng));
+
+ world->add_molecules(sp1, 10, 0);
+ world->add_molecules(sp2, 10, 23);
+
+ MesoscopicSimulator sim(model, world);
+
+ // sim.set_t(0.0);
+ sim.step();
+
+ BOOST_CHECK(0 < sim.t());
+ BOOST_CHECK(sim.t() < inf);
+ BOOST_CHECK(world->num_molecules(sp1, 0) == 9);
+ BOOST_CHECK(world->num_molecules(sp2, 0) == 1);
+}
diff --git a/ecell4/ode/CMakeLists.txt b/ecell4/ode/CMakeLists.txt
new file mode 100644
index 0000000..705fdc2
--- /dev/null
+++ b/ecell4/ode/CMakeLists.txt
@@ -0,0 +1,20 @@
+if (NO_SHARED)
+ return()
+endif()
+
+set(CPP_FILES
+ ODEWorld.cpp ODENetworkModel.cpp ODEReactionRule.cpp ODESimulator.cpp ODERatelaw.cpp)
+
+set(HPP_FILES
+ ODEWorld.hpp ODEFactory.hpp ODEReactionRule.hpp ODERatelaw.hpp ODENetworkModel.hpp ODESimulator.hpp ODEFactory.hpp)
+
+add_library(ecell4-ode SHARED ${CPP_FILES} ${HPP_FILES})
+target_link_libraries(ecell4-ode ecell4-core)
+
+set(ECELL4_SHARED_DIRS ${CMAKE_CURRENT_BINARY_DIR}:${ECELL4_SHARED_DIRS} PARENT_SCOPE)
+
+add_subdirectory(tests)
+add_subdirectory(samples)
+
+install(TARGETS ecell4-ode DESTINATION lib)
+install(FILES ${HPP_FILES} DESTINATION "include/ecell4/ode")
diff --git a/ecell4/ode/ODEFactory.hpp b/ecell4/ode/ODEFactory.hpp
new file mode 100644
index 0000000..0d4d0f1
--- /dev/null
+++ b/ecell4/ode/ODEFactory.hpp
@@ -0,0 +1,160 @@
+#ifndef __ECELL4_ODE_ODE_FACTORY2_HPP
+#define __ECELL4_ODE_ODE_FACTORY2_HPP
+
+#include <ecell4/core/SimulatorFactory.hpp>
+#include <ecell4/core/extras.hpp>
+#include <ecell4/core/RandomNumberGenerator.hpp>
+
+#include "ODEWorld.hpp"
+#include "ODESimulator.hpp"
+
+
+namespace ecell4
+{
+
+namespace ode
+{
+
+class ODEFactory:
+ public SimulatorFactory<ODEWorld, ODESimulator>
+{
+public:
+
+ typedef SimulatorFactory<ODEWorld, ODESimulator> base_type;
+
+public:
+
+ ODEFactory(const ODESolverType solver_type = default_solver_type(), const Real dt = default_dt(),
+ const Real abs_tol = default_abs_tol(), const Real rel_tol = default_rel_tol())
+ : base_type(), solver_type_(solver_type), dt_(dt), abs_tol_(abs_tol), rel_tol_(rel_tol)
+ {
+ ; // do nothing
+ }
+
+ virtual ~ODEFactory()
+ {
+ ; // do nothing
+ }
+
+ static inline const ODESolverType default_solver_type()
+ {
+ return ROSENBROCK4_CONTROLLER;
+ }
+
+ static inline const Real default_dt()
+ {
+ return inf;
+ }
+
+ static inline const Real default_abs_tol()
+ {
+ return 0.0;
+ }
+
+ static inline const Real default_rel_tol()
+ {
+ return 0.0;
+ }
+
+ ODEFactory& rng(const boost::shared_ptr<RandomNumberGenerator>& rng)
+ {
+ return (*this); //XXX: Just for the compatibility
+ }
+
+ inline ODEFactory* rng_ptr(const boost::shared_ptr<RandomNumberGenerator>& rng)
+ {
+ return &(this->rng(rng)); //XXX: == this
+ }
+
+ virtual ODEWorld* create_world(const std::string filename) const
+ {
+ return new ODEWorld(filename);
+ }
+
+ virtual ODEWorld* create_world(
+ const Real3& edge_lengths = Real3(1, 1, 1)) const
+ {
+ return new ODEWorld(edge_lengths);
+ }
+
+ virtual ODEWorld* create_world(const boost::shared_ptr<Model>& m) const
+ {
+ throw NotSupported("not supported.");
+ }
+
+ ODESimulator* create_simulator(
+ const boost::shared_ptr<Model>& model,
+ const boost::shared_ptr<world_type>& world) const
+ {
+ ODESimulator* sim = new ODESimulator(model, world, solver_type_);
+ sim->set_dt(dt_);
+
+ if (abs_tol_ > 0)
+ {
+ sim->set_absolute_tolerance(abs_tol_);
+ }
+
+ if (rel_tol_ > 0)
+ {
+ sim->set_relative_tolerance(rel_tol_);
+ }
+ return sim;
+ }
+
+ virtual ODESimulator* create_simulator(
+ const boost::shared_ptr<world_type>& world) const
+ {
+ ODESimulator* sim = new ODESimulator(world, solver_type_);
+ sim->set_dt(dt_);
+
+ if (abs_tol_ > 0)
+ {
+ sim->set_absolute_tolerance(abs_tol_);
+ }
+
+ if (rel_tol_ > 0)
+ {
+ sim->set_relative_tolerance(rel_tol_);
+ }
+ return sim;
+ }
+
+ // ODESimulator* create_simulator(
+ // const boost::shared_ptr<NetworkModel>& model,
+ // const boost::shared_ptr<world_type>& world) const
+ // {
+ // ODESimulator* sim = new ODESimulator(model, world, solver_type_);
+ // sim->set_dt(dt_);
+ // return sim;
+ // }
+
+ ODESimulator* create_simulator(
+ const boost::shared_ptr<ODENetworkModel>& model,
+ const boost::shared_ptr<world_type>& world) const
+ {
+ ODESimulator* sim = new ODESimulator(model, world, solver_type_);
+ sim->set_dt(dt_);
+
+ if (abs_tol_ > 0)
+ {
+ sim->set_absolute_tolerance(abs_tol_);
+ }
+
+ if (rel_tol_ > 0)
+ {
+ sim->set_relative_tolerance(rel_tol_);
+ }
+ return sim;
+ }
+
+protected:
+
+ ODESolverType solver_type_;
+ Real dt_, abs_tol_, rel_tol_;
+};
+
+} // ode
+
+} // ecell4
+
+#endif /* __ECELL4_ODE_ODE_FACTORY2_HPP */
diff --git a/ecell4/ode/ODENetworkModel.cpp b/ecell4/ode/ODENetworkModel.cpp
new file mode 100644
index 0000000..790874b
--- /dev/null
+++ b/ecell4/ode/ODENetworkModel.cpp
@@ -0,0 +1,62 @@
+
+#include "ODENetworkModel.hpp"
+
+#include <algorithm>
+#include <iterator>
+
+namespace ecell4
+{
+namespace ode
+{
+
+ODENetworkModel::ODENetworkModel()
+{
+ ;
+}
+
+ODENetworkModel::ODENetworkModel(const boost::shared_ptr<ecell4::Model> model)
+ :expanded_(model)
+{
+ this->convert_from_networkmodel(model);
+}
+
+void ODENetworkModel::update_model(void)
+{
+ if (this->has_network_model() == false)
+ {
+ throw IllegalState("ecell4::Model object has not been registered");
+ }
+ this->convert_from_networkmodel(this->get_networkmodel());
+}
+
+bool ODENetworkModel::convert_from_networkmodel(const boost::shared_ptr<ecell4::Model> model)
+{
+ if (!model->is_static())
+ {
+ throw NotSupported("Not supported yet. NetworkModel must be given.");
+ }
+ this->species_attributes_.clear();
+ this->species_attributes_.reserve(model->species_attributes().size());
+ std::copy(
+ model->species_attributes().begin(), model->species_attributes().end(),
+ std::back_inserter(this->species_attributes_) );
+
+ this->ode_reaction_rules_.clear();
+ const network_model_type::reaction_rule_container_type source(model->reaction_rules());
+ for(network_model_type::reaction_rule_container_type::const_iterator it(source.begin());
+ it != source.end(); it++)
+ {
+ ode_reaction_rule_type ode_rr(*it);
+ this->ode_reaction_rules_.push_back(ode_rr);
+ }
+ return true;
+}
+
+ODENetworkModel::~ODENetworkModel()
+{
+ ;
+}
+
+} // ode
+
+} // ecell4
diff --git a/ecell4/ode/ODENetworkModel.hpp b/ecell4/ode/ODENetworkModel.hpp
new file mode 100644
index 0000000..279a051
--- /dev/null
+++ b/ecell4/ode/ODENetworkModel.hpp
@@ -0,0 +1,163 @@
+#ifndef __ECELL4_ODE_ODE_NETWORK_MODEL_HPP
+#define __ECELL4_ODE_ODE_NETWORK_MODEL_HPP
+
+#include <map>
+#include <set>
+#include <algorithm>
+#include <iterator>
+
+// XXX debug;
+#include <iostream>
+
+#include <boost/shared_ptr.hpp>
+#include <boost/weak_ptr.hpp>
+
+#include <ecell4/core/types.hpp>
+#include <ecell4/core/Species.hpp>
+#include <ecell4/core/Model.hpp>
+#include <ecell4/core/NetworkModel.hpp>
+
+#include "ODEReactionRule.hpp"
+
+
+namespace ecell4
+{
+namespace ode
+{
+
+class ODENetworkModel
+ //: public ecell4::Model
+{
+public:
+ // derive from Core class' typedefs
+ typedef Model abstract_model_type;
+ typedef NetworkModel network_model_type;
+ typedef abstract_model_type::species_container_type species_container_type;
+
+ // this class specific typedefs.
+ typedef ODEReactionRule ode_reaction_rule_type;
+ typedef std::vector<ODEReactionRule> ode_reaction_rule_container_type;
+protected:
+ typedef std::map<Species::serial_type,
+ std::vector<ode_reaction_rule_container_type::size_type> >
+ first_order_reaction_rules_map_type;
+ typedef std::map<std::pair<Species::serial_type, Species::serial_type>,
+ std::vector<ode_reaction_rule_container_type::size_type> >
+ second_order_reaction_rules_map_type;
+public:
+ ODENetworkModel();
+ ODENetworkModel(const boost::shared_ptr<ecell4::Model> model);
+ ~ODENetworkModel();
+
+ void update_model();
+ bool has_network_model() const
+ {
+ return !(this->expanded_.expired());
+ }
+
+ const std::vector<Species> list_species() const
+ {
+ std::vector<Species> retval;
+ const ode_reaction_rule_container_type &rrs(ode_reaction_rules());
+ for(ode_reaction_rule_container_type::const_iterator i(rrs.begin());
+ i != rrs.end(); i++)
+ {
+ const ODEReactionRule::reactant_container_type &reactants((*i).reactants());
+ const ODEReactionRule::product_container_type &products((*i).products());
+ std::copy(reactants.begin(), reactants.end(), std::back_inserter(retval));
+ std::copy(products.begin(), products.end(), std::back_inserter(retval));
+ }
+ std::sort(retval.begin(), retval.end());
+ retval.erase(std::unique(retval.begin(), retval.end()), retval.end());
+ return retval;
+ }
+ boost::shared_ptr<Model> get_networkmodel() const
+ {
+ return this->expanded_.lock();
+ }
+
+ const ode_reaction_rule_container_type& ode_reaction_rules() const
+ {
+ return ode_reaction_rules_;
+ }
+ inline const ode_reaction_rule_container_type& reaction_rules() const
+ {
+ return ode_reaction_rules();
+ }
+ const species_container_type& species_attributes() const
+ {
+ return species_attributes_;
+ }
+ const Integer num_reaction_rules() const
+ {
+ return ode_reaction_rules_.size();
+ }
+
+ void dump_reactions() const
+ {
+ for(ode_reaction_rule_container_type::const_iterator it(ode_reaction_rules_.begin());
+ it != ode_reaction_rules_.end(); it++)
+ {
+ std::cout << it->as_string() << std::endl;
+ }
+ }
+ void add_reaction_rule(ODEReactionRule ode_rr)
+ {
+ this->ode_reaction_rules_.push_back(ode_rr);
+ }
+ void add_reaction_rule(ReactionRule ode_rr)
+ {
+ this->ode_reaction_rules_.push_back(ODEReactionRule(ode_rr));
+ }
+
+ void add_reaction_rules(const std::vector<ODEReactionRule>& rrs)
+ {
+ for (std::vector<ODEReactionRule>::const_iterator i(rrs.begin());
+ i != rrs.end(); ++i)
+ {
+ add_reaction_rule(*i);
+ }
+ }
+
+ void add_reaction_rules(const std::vector<ReactionRule>& rrs)
+ {
+ for (std::vector<ReactionRule>::const_iterator i(rrs.begin());
+ i != rrs.end(); ++i)
+ {
+ add_reaction_rule(*i);
+ }
+ }
+
+ void add_species_attribute(const Species &sp)
+ {
+ if (has_species_attribute(sp))
+ {
+ throw AlreadyExists("species already exista");
+ }
+ species_attributes_.push_back(sp);
+ }
+
+ bool has_species_attribute(const Species& sp) const
+ {
+ species_container_type::const_iterator i(
+ std::find(species_attributes_.begin(), species_attributes_.end(), sp));
+ return (i != species_attributes_.end());
+ }
+private:
+ bool convert_from_networkmodel(const boost::shared_ptr<ecell4::Model> model);
+
+protected:
+ species_container_type species_attributes_;
+ ode_reaction_rule_container_type ode_reaction_rules_;
+
+ first_order_reaction_rules_map_type first_order_reaction_rules_map_;
+ second_order_reaction_rules_map_type second_order_reaction_rules_map_;
+
+ boost::weak_ptr<Model> expanded_;
+};
+
+} // ode
+
+} // ecell4
+
+#endif
diff --git a/ecell4/ode/ODERatelaw.cpp b/ecell4/ode/ODERatelaw.cpp
new file mode 100644
index 0000000..ba84d0f
--- /dev/null
+++ b/ecell4/ode/ODERatelaw.cpp
@@ -0,0 +1,73 @@
+#include <ecell4/core/exceptions.hpp>
+
+#include <vector>
+#include <algorithm>
+#include <numeric>
+#include <cmath>
+
+#include "ODERatelaw.hpp"
+#include "ODEReactionRule.hpp"
+
+namespace ecell4
+{
+namespace ode
+{
+Real ODERatelawCppCallback::deriv_func(
+ state_container_type const &reactants_state_array,
+ state_container_type const &products_state_array,
+ Real const volume, Real const t,
+ ODEReactionRule const &rr)
+{
+ if (!is_available())
+ {
+ throw IllegalState("Callback Function has not been registerd");
+ }
+ return this->func_(reactants_state_array, products_state_array, volume, t, rr);
+}
+
+Real ODERatelawMassAction::deriv_func(
+ state_container_type const &reactants_state_array,
+ state_container_type const &products_state_array,
+ Real const volume, Real const t,
+ ODEReactionRule const &rr)
+{
+ ODEReactionRule::coefficient_container_type const reactants_coefficients(rr.reactants_coefficients());
+ Real flux(this->k_ * volume);
+ int i = 0;
+ for(state_container_type::const_iterator it(reactants_state_array.begin());
+ it != reactants_state_array.end(); it++, i++)
+ {
+ flux *= std::pow( (*it) / volume, reactants_coefficients[i]);
+ }
+ return flux;
+}
+
+Real ODERatelawCythonCallback::deriv_func(
+ state_container_type const &reactants_state_array,
+ state_container_type const &products_state_array,
+ Real const volume, Real const t,
+ ODEReactionRule const &rr)
+{
+ if (!is_available())
+ {
+ throw IllegalState("Callback Function has not been registerd");
+ }
+ ODEReactionRule rr_tempolrary(rr);
+ return this->indirect_func_(
+ this->python_func_, reactants_state_array, products_state_array,
+ volume, t, &rr_tempolrary);
+}
+
+boost::shared_ptr<ODERatelawMassAction> to_ODERatelawMassAction(boost::shared_ptr<ODERatelaw> p)
+{
+ return boost::dynamic_pointer_cast<ODERatelawMassAction>(p);
+}
+
+boost::shared_ptr<ODERatelawCythonCallback> to_ODERatelawCythonCallback(boost::shared_ptr<ODERatelaw> p)
+{
+ return boost::dynamic_pointer_cast<ODERatelawCythonCallback>(p);
+}
+
+} // ode
+
+} // ecell4
diff --git a/ecell4/ode/ODERatelaw.hpp b/ecell4/ode/ODERatelaw.hpp
new file mode 100644
index 0000000..c294c1f
--- /dev/null
+++ b/ecell4/ode/ODERatelaw.hpp
@@ -0,0 +1,281 @@
+#ifndef __ECELL4_ODE_RATELOW_HPP
+#define __ECELL4_ODE_RATELOW_HPP
+
+#include <ecell4/core/types.hpp>
+#include <ecell4/core/exceptions.hpp>
+#include <boost/format.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/weak_ptr.hpp>
+#include <boost/variant.hpp>
+#include <vector>
+#include <sstream>
+#include <algorithm>
+#include <numeric>
+#include <cmath>
+
+// For Jacobi
+#include <boost/numeric/ublas/matrix.hpp>
+
+
+template <typename TInputIterator, typename T>
+T cartesian_product(TInputIterator begin, TInputIterator end, T const init)
+{
+ return std::accumulate(begin, end, init, std::multiplies<T>());
+}
+
+
+namespace ecell4
+{
+
+namespace ode
+{
+
+class ODEReactionRule;
+
+class ODERatelaw
+{
+public:
+
+ // The order of the species must be the same as
+ // reactants' container of ReactionRule object.
+ //
+ // state_container_type must be resized when called
+ // jacobi_func and deriv_func.
+ typedef std::vector<Real> state_container_type;
+ typedef boost::numeric::ublas::matrix<double> matrix_type;
+
+public:
+
+ virtual bool is_available() const = 0;
+
+ virtual Real deriv_func(
+ state_container_type const &reactants_state_array,
+ state_container_type const &products_state_array,
+ Real const volume, Real const t,
+ ODEReactionRule const &reaction) = 0;
+
+ virtual std::string as_string() const
+ {
+ return "nan";
+ }
+private:
+
+};
+
+class ODERatelawCppCallback
+ : public ODERatelaw
+{
+public:
+ /** Function object to calculate ratelaw called by C++
+ * This class must not be exposed to Cython interface.
+ */
+
+ // reactants_state, products_state, volume
+ typedef double (*ODERatelaw_Callback)(
+ state_container_type const &, state_container_type const &,
+ double const volume, double const time, ODEReactionRule const &reaction);
+
+public:
+
+ ODERatelawCppCallback(ODERatelaw_Callback func)
+ : func_(func), h_(1.0e-8)
+ {
+ ;
+ }
+
+ ODERatelawCppCallback()
+ : func_(0), h_(1.0e-8)
+ {
+ ;
+ }
+
+ virtual ~ODERatelawCppCallback()
+ {
+ ;
+ }
+
+ virtual bool is_available() const
+ {
+ return this->func_ != 0;
+ }
+
+ virtual Real deriv_func(
+ state_container_type const &reactants_state_array,
+ state_container_type const &products_state_array,
+ Real const volume, Real const t, ODEReactionRule const &rr);
+
+ ODERatelaw_Callback get_callback() const
+ {
+ return this->func_;
+ }
+
+ ODERatelaw_Callback set_callback(ODERatelaw_Callback new_func)
+ {
+ if (new_func == 0)
+ {
+ throw std::invalid_argument("ODERatelaw Callback must not be 0");
+ }
+ ODERatelaw_Callback prev = get_callback();
+ this->func_ = new_func;
+ return prev;
+ }
+
+private:
+
+ ODERatelaw_Callback func_;
+ Real h_;
+};
+
+class ODERatelawCythonCallback
+ : public ODERatelaw
+{
+public:
+ /** Function object to calculate ratelaw called by Cython
+ * This class must not be used from C++ users' code.
+ */
+
+ // reactants_state, products_state, volume
+ // typedef double (*ODERatelaw_Callback)(
+ // state_container_type const &, state_container_type const &, double const);
+ typedef void* Python_CallbackFunctype;
+ typedef double (*Stepladder_Functype)(
+ Python_CallbackFunctype,
+ state_container_type, state_container_type,
+ Real volume, Real t, ODEReactionRule *rr);
+ typedef void (*OperateRef_Functype)(void *);
+public:
+
+ ODERatelawCythonCallback(Stepladder_Functype indirect_func, void* pyfunc,
+ OperateRef_Functype inc_ref, OperateRef_Functype dec_ref,
+ const std::string name = "nan")
+ : indirect_func_(indirect_func), python_func_(pyfunc), h_(1.0e-8), inc_ref_(inc_ref), dec_ref_(dec_ref), funcname_(name)
+ {
+ this->inc_ref_(pyfunc);
+ }
+
+ ODERatelawCythonCallback()
+ : indirect_func_(0), python_func_(0), h_(1.0e-8), funcname_("nan") {;}
+
+ virtual ~ODERatelawCythonCallback(){
+ this->dec_ref_(this->python_func_);
+ }
+
+ virtual bool is_available() const
+ {
+ return (this->indirect_func_ != 0 && this->python_func_ != 0);
+ }
+
+ virtual Real deriv_func(
+ state_container_type const &reactants_state_array,
+ state_container_type const &products_state_array,
+ Real const volume, Real const t,
+ ODEReactionRule const &rr);
+
+ void set_callback_pyfunc(Python_CallbackFunctype new_func)
+ {
+ if (new_func == 0)
+ {
+ throw std::invalid_argument("ODERatelaw Callback must not be 0");
+ }
+ this->dec_ref_(this->python_func_);
+ this->python_func_ = new_func;
+ this->inc_ref_(this->python_func_);
+ }
+
+ Python_CallbackFunctype get_callback_pyfunc() const
+ {
+ return this->python_func_;
+ }
+
+ void set_name(const std::string& name)
+ {
+ funcname_ = name;
+ }
+
+ virtual std::string as_string() const
+ {
+ return funcname_;
+ }
+
+protected:
+ void inc_ref(Python_CallbackFunctype python_func)
+ {
+ if (this->inc_ref_ == NULL)
+ {
+ throw IllegalState("Functions to Operate python reference counts are not registered");
+ }
+ this->inc_ref_( (void*) python_func );
+ }
+ void dec_ref(Python_CallbackFunctype python_func)
+ {
+ if (this->dec_ref_ == NULL)
+ {
+ throw IllegalState("Functions to Operate python reference counts are not registered");
+ }
+ this->dec_ref_( (void*) python_func );
+ }
+
+private:
+
+ Stepladder_Functype indirect_func_;
+ Python_CallbackFunctype python_func_;
+ Real h_;
+ OperateRef_Functype inc_ref_, dec_ref_;
+ std::string funcname_;
+};
+
+class ODERatelawMassAction
+ : public ODERatelaw
+{
+public:
+
+ ODERatelawMassAction(Real k = 0.0)
+ : k_(k)
+ {
+ ;
+ }
+
+ virtual ~ODERatelawMassAction()
+ {
+ ;
+ }
+
+ virtual bool is_available() const
+ {
+ return true; // always true
+ }
+
+ virtual Real deriv_func(
+ state_container_type const &reactants_state_array,
+ state_container_type const &products_state_array,
+ Real const volume, Real const t, ODEReactionRule const &rr);
+
+ void set_k(Real k)
+ {
+ this->k_ = k;
+ }
+
+ Real get_k() const
+ {
+ return this->k_;
+ }
+
+ virtual std::string as_string() const
+ {
+ return (boost::format("%g") % this->k_).str();
+ }
+
+private:
+
+ Real k_;
+};
+
+boost::shared_ptr<ODERatelawMassAction> to_ODERatelawMassAction(boost::shared_ptr<ODERatelaw> p);
+
+boost::shared_ptr<ODERatelawCythonCallback> to_ODERatelawCythonCallback(boost::shared_ptr<ODERatelaw> p);
+
+} // ode
+
+} // ecell4
+
+#endif //__ECELL4_ODE_RATELOW_HPP
diff --git a/ecell4/ode/ODEReactionRule.cpp b/ecell4/ode/ODEReactionRule.cpp
new file mode 100644
index 0000000..d822230
--- /dev/null
+++ b/ecell4/ode/ODEReactionRule.cpp
@@ -0,0 +1,75 @@
+
+#include "ODEReactionRule.hpp"
+#include <sstream>
+#include <boost/format.hpp>
+
+namespace ecell4
+{
+
+namespace ode
+{
+
+const std::string ODEReactionRule::as_string() const
+{
+ std::stringstream ss_left_side, ss_right_side, ss_k_side;
+
+ bool first = true;
+ for (reaction_leftside_container_type::const_iterator it(reactants_.begin());
+ it != reactants_.end(); it++)
+ {
+ if (!first)
+ {
+ ss_left_side << "+";
+ }
+ else
+ {
+ first = false;
+ }
+
+ if (it->first == 1)
+ {
+ ss_left_side << boost::format("%s") % it->second.serial();
+ }
+ else
+ {
+ ss_left_side << boost::format("%g*%s") % it->first % it->second.serial();
+ }
+ }
+
+ first = true;
+ for (reaction_rightside_container_type::const_iterator it(products_.begin());
+ it != products_.end(); it++)
+ {
+ if (!first)
+ {
+ ss_right_side << "+";
+ }
+ else
+ {
+ first = false;
+ }
+
+ if (it->first == 1)
+ {
+ ss_right_side << boost::format("%s") % it->second.serial();
+ }
+ else
+ {
+ ss_right_side << boost::format("%g*%s") % it->first % it->second.serial();
+ }
+ }
+
+ if (!this->has_ratelaw())
+ {
+ ss_k_side << "nan";
+ }
+ else
+ {
+ ss_k_side << this->ratelaw_->as_string();
+ }
+ return (boost::format("%s>%s|%g") % ss_left_side.str() % ss_right_side.str() % ss_k_side.str()).str();
+}
+
+} // ode
+
+} // ecell4
diff --git a/ecell4/ode/ODEReactionRule.hpp b/ecell4/ode/ODEReactionRule.hpp
new file mode 100644
index 0000000..756f3bd
--- /dev/null
+++ b/ecell4/ode/ODEReactionRule.hpp
@@ -0,0 +1,276 @@
+#ifndef __ECELL4_ODE_REACTION_RULE_HPP
+#define __ECELL4_ODE_REACTION_RULE_HPP
+
+// #include <set>
+#include <stdexcept>
+#include <map>
+#include <vector>
+
+#include <ecell4/core/types.hpp>
+#include <ecell4/core/Species.hpp>
+//#include <ecell4/core/Ratelaw.hpp>
+#include <ecell4/core/ReactionRule.hpp>
+#include "ODERatelaw.hpp"
+
+
+namespace ecell4
+{
+
+namespace ode
+{
+
+class ODEReactionRule
+{
+public:
+
+ /**
+ * a type of the container of reactants
+ * std::multiset allows multiple keys with equal values,
+ * but looses the original order at the registration.
+ * when changing this type into the ordered one,
+ * please modify NetworkModel too.
+ */
+ // To be compatible with ReactionRule of core.
+ typedef std::vector<Species> reactant_container_type;
+ typedef std::vector<Species> product_container_type;
+
+ typedef std::vector<Real> coefficient_container_type;
+
+ typedef std::vector<std::pair<Real, Species> > reaction_leftside_container_type;
+ typedef std::vector<std::pair<Real, Species> > reaction_rightside_container_type;
+
+public:
+
+ ODEReactionRule()
+ : reactants_(), products_()
+ {
+ this->set_k(0.0);
+ }
+ ODEReactionRule(const ODEReactionRule &rr)
+ : reactants_(rr.reactants_), products_(rr.products_)
+ {
+ if(rr.has_ratelaw())
+ {
+ this->set_ratelaw(rr.get_ratelaw());
+ }
+ else
+ {
+ this->set_k(0.0);
+ }
+ }
+
+ ODEReactionRule(
+ const reaction_leftside_container_type& reactants,
+ const reaction_rightside_container_type& products,
+ const Real &k = 0.0)
+ : reactants_(reactants), products_(products)
+ {
+ this->set_k(k);
+ }
+
+ ODEReactionRule(const ecell4::ReactionRule& rr)
+ {
+ // This constructor is for compatibility with ReactionRule defined in core-module.
+ for(reactant_container_type::const_iterator it(rr.reactants().begin());
+ it != rr.reactants().end(); it++)
+ {
+ this->add_reactant(*it, 1.0);
+ }
+ for(product_container_type::const_iterator it(rr.products().begin());
+ it != rr.products().end(); it++)
+ {
+ this->add_product(*it, 1.0);
+ }
+ this->set_k( rr.k() );
+ }
+
+ ODEReactionRule(
+ const reactant_container_type& reactants,
+ const product_container_type& products,
+ const Real& k = 0.0)
+ {
+ // This constructor is for compatibility with ReactionRule defined in core-module.
+ for(reactant_container_type::const_iterator it(reactants.begin());
+ it != reactants.end(); it++)
+ {
+ this->add_reactant(*it, 1.0);
+ }
+ for(product_container_type::const_iterator it(products.begin());
+ it != products.end(); it++)
+ {
+ this->add_product(*it, 1.0);
+ }
+ this->set_k(k);
+ }
+
+ Real k() const
+ {
+ if (!(this->has_ratelaw()))
+ {
+ // throw IllegalState("ODERatelaw has not been set");
+ std::cerr << "WARN: no ODERatelaw is bound." << std::endl;
+ return 0.0;
+ }
+ boost::shared_ptr<ODERatelawMassAction> ratelaw_massaction =
+ boost::dynamic_pointer_cast<ODERatelawMassAction>(this->get_ratelaw());
+ if(ratelaw_massaction == 0)
+ {
+ // throw IllegalState("Another type of ODERatelaw object has been set");
+ std::cerr << "WARN: ODERatelaw bound cannot provide k." << std::endl;
+ return 0.0;
+ }
+ return ratelaw_massaction->get_k();
+ }
+
+ const reactant_container_type reactants() const
+ {
+ reactant_container_type result;
+ for(reaction_leftside_container_type::const_iterator it(reactants_.begin() );
+ it != reactants_.end(); it++)
+ {
+ result.push_back(it->second);
+ }
+ return result;
+ }
+ const coefficient_container_type reactants_coefficients() const
+ {
+ coefficient_container_type result;
+ for(reaction_leftside_container_type::const_iterator it(reactants_.begin());
+ it != reactants_.end(); it++)
+ {
+ result.push_back(it->first);
+ }
+ return result;
+ }
+
+ const product_container_type products() const
+ {
+ product_container_type result;
+ for(reaction_rightside_container_type::const_iterator it(products_.begin() );
+ it != products_.end(); it++)
+ {
+ result.push_back(it->second);
+ }
+ return result;
+ }
+ const coefficient_container_type products_coefficients() const
+ {
+ coefficient_container_type result;
+ for(reaction_rightside_container_type::const_iterator it(products_.begin());
+ it != products_.end(); it++)
+ {
+ result.push_back(it->first);
+ }
+ return result;
+ }
+
+ void set_k(const Real& k)
+ {
+ if (k < 0)
+ {
+ throw std::invalid_argument("a kinetic rate must be positive.");
+ }
+ boost::shared_ptr<ODERatelawMassAction> ratelaw(new ODERatelawMassAction(k));
+ this->set_ratelaw(ratelaw);
+ }
+
+ void add_reactant(const Species& sp, Real coefficient = 1.0)
+ {
+ this->reactants_.push_back(std::pair<Real, Species>(coefficient, sp));
+ }
+
+ void set_reactant_coefficient(const std::size_t num, const Real new_coeff)
+ {
+ this->reactants_[num].first = new_coeff;
+ }
+
+
+ void add_product(const Species& sp, Real coefficient = 1.0)
+ {
+ this->products_.push_back(std::pair<Real, Species>(coefficient, sp));
+ }
+
+ void set_product_coefficient(const std::size_t num, const Real new_coeff)
+ {
+ this->products_[num].first = new_coeff;
+ }
+
+ const std::string as_string() const;
+ //Integer count(const reactant_container_type& reactants) const;
+ //std::vector<ReactionRule> generate(const reactant_container_type& reactants) const;
+
+ /** Ratelaw related functions.
+ */
+
+ void set_ratelaw(const boost::shared_ptr<ODERatelaw> ratelaw)
+ {
+ this->ratelaw_ = ratelaw;
+ }
+
+ boost::shared_ptr<ODERatelaw> get_ratelaw() const
+ {
+ return this->ratelaw_;
+ }
+
+ bool has_ratelaw() const
+ {
+ // return !(this->ratelaw_.use_count() == 0);
+ return (ratelaw_.get() != 0);
+ }
+ bool is_massaction() const
+ {
+ boost::shared_ptr<ODERatelawMassAction> ratelaw_massaction =
+ boost::dynamic_pointer_cast<ODERatelawMassAction>(this->get_ratelaw());
+ if(ratelaw_massaction == 0)
+ {
+ return false;
+ }
+ else
+ {
+ return true;
+ }
+ }
+
+
+protected:
+
+ // Real k_;
+ // reactant_container_type reactants_;
+ // product_container_type products_;
+ reaction_leftside_container_type reactants_;
+ reaction_rightside_container_type products_;
+
+ boost::shared_ptr<ODERatelaw> ratelaw_;
+};
+
+#if 0
+inline bool operator<(const ReactionRule& lhs, const ReactionRule& rhs)
+{
+ if (lhs.reactants() < rhs.reactants())
+ {
+ return true;
+ }
+ else if (lhs.reactants() > rhs.reactants())
+ {
+ return false;
+ }
+ return (lhs.products() < rhs.products());
+}
+
+inline bool operator==(const ReactionRule& lhs, const ReactionRule& rhs)
+{
+ return ((lhs.reactants() == rhs.reactants())
+ && (lhs.products() == rhs.products()));
+}
+
+inline bool operator!=(const ReactionRule& lhs, const ReactionRule& rhs)
+{
+ return !(lhs == rhs);
+}
+#endif
+
+} // ode
+
+} // ecell4
+
+#endif /* __ECELL4_ODE_REACTION_RULE_HPP */
diff --git a/ecell4/ode/ODESimulator.cpp b/ecell4/ode/ODESimulator.cpp
new file mode 100644
index 0000000..f0a15b2
--- /dev/null
+++ b/ecell4/ode/ODESimulator.cpp
@@ -0,0 +1,154 @@
+#include "ODESimulator.hpp"
+
+#include <boost/numeric/odeint.hpp>
+#include <algorithm>
+
+namespace odeint = boost::numeric::odeint;
+
+namespace ecell4
+{
+
+namespace ode
+{
+std::pair<ODESimulator::deriv_func, ODESimulator::jacobi_func>
+ODESimulator::generate_system() const
+{
+ const std::vector<Species> species(world_->list_species());
+ const ODENetworkModel::ode_reaction_rule_container_type& ode_reaction_rules(model_->ode_reaction_rules());
+ typedef utils::get_mapper_mf<
+ Species, state_type::size_type>::type species_map_type;
+
+ species_map_type index_map;
+ state_type::size_type i(0);
+ for(std::vector<Species>::const_iterator it(species.begin());
+ it != species.end(); it++)
+ {
+ index_map[*it] = i;
+ i++;
+ }
+ std::vector<reaction_type> reactions;
+ reactions.reserve(ode_reaction_rules.size());
+ for(ODENetworkModel::ode_reaction_rule_container_type::const_iterator
+ i(ode_reaction_rules.begin()); i != ode_reaction_rules.end(); i++)
+ {
+ const ODEReactionRule::reactant_container_type reactants(i->reactants());
+ const ODEReactionRule::product_container_type products(i->products());
+ reaction_type r;
+ r.raw = &(*i);
+ // r.k = i->k();
+ r.reactants.reserve(reactants.size());
+ r.products.reserve(products.size());
+ if (i->has_ratelaw())
+ {
+ r.ratelaw = i->get_ratelaw();
+ }
+ for(ODEReactionRule::reactant_container_type::const_iterator j(reactants.begin());
+ j != reactants.end(); j++)
+ {
+ r.reactants.push_back(index_map[*j]);
+ }
+
+ {
+ coefficient_container_type reactants_coeff = i->reactants_coefficients();
+ std::copy(reactants_coeff.begin(), reactants_coeff.end(), std::back_inserter(r.reactant_coefficients));
+ }
+ for(ODEReactionRule::product_container_type::const_iterator j(products.begin());
+ j != products.end(); j++)
+ {
+ r.products.push_back(index_map[*j]);
+ }
+
+ {
+ coefficient_container_type products_coeff = i->products_coefficients();
+ std::copy(products_coeff.begin(), products_coeff.end(), std::back_inserter(r.product_coefficients));
+ }
+
+ reactions.push_back(r);
+ }
+ return std::make_pair(
+ deriv_func(reactions, world_->volume()),
+ jacobi_func(reactions, world_->volume()));
+}
+
+bool ODESimulator::step(const Real &upto)
+{
+ if (upto <= t())
+ {
+ return false;
+ }
+ const Real dt(std::min(dt_, upto - t()));
+
+ const Real ntime(std::min(upto, t() + dt_));
+
+ //initialize();
+ const std::vector<Species> species(world_->list_species());
+
+ state_type x(species.size());
+ state_type::size_type i(0);
+ for(ODENetworkModel::species_container_type::const_iterator it(species.begin());
+ it != species.end(); it++)
+ {
+ x[i] = static_cast<double>(world_->get_value_exact(*it));
+ i++;
+ }
+ std::pair<deriv_func, jacobi_func> system(generate_system());
+ StateAndTimeBackInserter::state_container_type x_vec;
+ StateAndTimeBackInserter::time_container_type times;
+
+ size_t steps;
+ switch (this->solver_type_) {
+ case ecell4::ode::RUNGE_KUTTA_CASH_KARP54:
+ {
+ /* This solver doesn't need the jacobian */
+ typedef odeint::runge_kutta_cash_karp54<state_type> error_stepper_type;
+ steps = (
+ odeint::integrate_adaptive(
+ odeint::make_controlled<error_stepper_type>(abs_tol_, rel_tol_),
+ system.first, x, t(), ntime, dt,
+ StateAndTimeBackInserter(x_vec, times)));
+ }
+ break;
+ case ecell4::ode::ROSENBROCK4_CONTROLLER:
+ {
+ typedef odeint::rosenbrock4<state_type::value_type> error_stepper_type;
+ steps = (
+ odeint::integrate_adaptive(
+ odeint::make_controlled<error_stepper_type>(abs_tol_, rel_tol_),
+ system, x, t(), ntime, dt,
+ StateAndTimeBackInserter(x_vec, times)));
+ }
+ break;
+ case ecell4::ode::EULER:
+ {
+ typedef odeint::euler<state_type> stepper_type;
+ steps = (
+ odeint::integrate_const(
+ stepper_type(), system.first, x, t(), ntime, dt,
+ StateAndTimeBackInserter(x_vec, times)));
+ }
+ break;
+ default:
+ throw IllegalState("Solver is not specified\n");
+ };
+
+ // const double a_x(1.0), a_dxdt(1.0);
+ // const size_t steps(
+ // odeint::integrate_adaptive(
+ // controlled_stepper, system, x, t(), upto, dt_,
+ // StateAndTimeBackInserter(x_vec, times)));
+ {
+ state_type::size_type i(0);
+ for(ODENetworkModel::species_container_type::const_iterator
+ it(species.begin()); it != species.end(); it++)
+ {
+ world_->set_value(*it, static_cast<Real>(x_vec[steps](i)));
+ i++;
+ }
+ }
+ set_t(ntime);
+ num_steps_++;
+ return (ntime < upto);
+}
+
+} // ode
+} // ecell4
diff --git a/ecell4/ode/ODESimulator.hpp b/ecell4/ode/ODESimulator.hpp
new file mode 100644
index 0000000..2bff456
--- /dev/null
+++ b/ecell4/ode/ODESimulator.hpp
@@ -0,0 +1,462 @@
+#ifndef __ECELL4_ODE_ODE_SIMULATOR2_HPP
+#define __ECELL4_ODE_ODE_SIMULATOR2_HPP
+
+#include <cstring>
+#include <vector>
+#include <numeric>
+#include <map>
+#include <boost/shared_ptr.hpp>
+#include <boost/scoped_ptr.hpp>
+#include <boost/scoped_array.hpp>
+
+#include <boost/numeric/ublas/vector.hpp>
+#include <boost/numeric/ublas/matrix.hpp>
+
+#include <ecell4/core/exceptions.hpp>
+#include <ecell4/core/types.hpp>
+#include <ecell4/core/get_mapper_mf.hpp>
+
+#include <ecell4/core/SimulatorBase.hpp>
+
+#include "ODEWorld.hpp"
+#include "ODEReactionRule.hpp"
+#include "ODENetworkModel.hpp"
+
+namespace ecell4
+{
+namespace ode
+{
+
+enum ODESolverType {
+ RUNGE_KUTTA_CASH_KARP54 = 0,
+ ROSENBROCK4_CONTROLLER = 1,
+ EULER = 2,
+};
+
+class ODESimulator
+ : public SimulatorBase<ODENetworkModel, ODEWorld>
+{
+public:
+
+ typedef SimulatorBase<ODENetworkModel, ODEWorld> base_type;
+
+public:
+
+ typedef boost::numeric::ublas::vector<double> state_type;
+ typedef boost::numeric::ublas::matrix<double> matrix_type;
+ typedef std::vector<state_type::size_type> index_container_type;
+ typedef std::vector<Real> coefficient_container_type;
+
+ typedef ODEReactionRule reacton_container_type;
+
+ struct reaction_type
+ {
+ index_container_type reactants;
+ coefficient_container_type reactant_coefficients;
+ index_container_type products;
+ coefficient_container_type product_coefficients;
+ Real k;
+ boost::weak_ptr<ODERatelaw> ratelaw;
+ const ODEReactionRule *raw;
+ };
+ typedef std::vector<reaction_type> reaction_container_type;
+
+ class deriv_func
+ {
+ public:
+ deriv_func(const reaction_container_type &reactions, const Real &volume)
+ : reactions_(reactions), volume_(volume), vinv_(1.0 / volume)
+ {
+ ;
+ }
+
+ void operator()(const state_type &x, state_type &dxdt, const double &t)
+ {
+ std::fill(dxdt.begin(), dxdt.end(), 0.0);
+ for(reaction_container_type::const_iterator i(reactions_.begin());
+ i != reactions_.end(); i++)
+ {
+ ODERatelaw::state_container_type reactants_states(i->reactants.size());
+ ODERatelaw::state_container_type products_states(i->products.size());
+ ODERatelaw::state_container_type::size_type cnt(0);
+
+ for(index_container_type::const_iterator j(i->reactants.begin());
+ j != i->reactants.end(); j++, cnt++)
+ {
+ reactants_states[cnt] = x[*j];
+ }
+ cnt = 0;
+ for(index_container_type::const_iterator j(i->products.begin());
+ j != i->products.end(); j++, cnt++)
+ {
+ products_states[cnt] = x[*j];
+ }
+ double flux;
+ // Calculation! XXX
+ if (i->ratelaw.expired() || i->ratelaw.lock()->is_available() == false)
+ {
+ boost::scoped_ptr<ODERatelaw> temporary_ratelaw_obj(new ODERatelawMassAction(i->k));
+ flux = temporary_ratelaw_obj->deriv_func(reactants_states, products_states, volume_, t, *(i->raw) );
+ }
+ else
+ {
+ boost::shared_ptr<ODERatelaw> ratelaw = i->ratelaw.lock();
+ flux = ratelaw->deriv_func(reactants_states, products_states, volume_, t, *(i->raw) );
+ }
+ // Merge each reaction's flux into whole dxdt
+ std::size_t nth = 0;
+ for(index_container_type::const_iterator j(i->reactants.begin());
+ j != i->reactants.end(); j++)
+ {
+ dxdt[*j] -= (flux * (double)i->reactant_coefficients[nth]);
+ nth++;
+ }
+ nth = 0;
+ for(index_container_type::const_iterator j(i->products.begin());
+ j != i->products.end(); j++)
+ {
+ dxdt[*j] += (flux * (double)i->product_coefficients[nth]);
+ nth++;
+ }
+ }
+ return;
+ }
+ protected:
+ const reaction_container_type reactions_;
+ const Real volume_;
+ const Real vinv_;
+ };
+
+ class jacobi_func
+ {
+ public:
+ jacobi_func(const reaction_container_type &reactions, const Real& volume)
+ : reactions_(reactions), volume_(volume), vinv_(1.0 / volume)
+ {
+ ;
+ }
+ void operator()(
+ const state_type& x, matrix_type& jacobi, const double &t, state_type &dfdt) const
+ {
+ //fill 0 into jacobi and dfdt
+ std::fill(dfdt.begin(), dfdt.end(), 0.0);
+ std::fill(jacobi.data().begin(), jacobi.data().end(), 0.0);
+
+ const Real h(1.0e-8);
+ const Real ht(1.0e-10);
+
+ // calculate jacobian for each reaction and merge it.
+ for(reaction_container_type::const_iterator i(reactions_.begin());
+ i != reactions_.end(); i++)
+ {
+ // Calculate one reactions's jabobian
+ // Prepare the state_array to pass ODERatelaw.
+ index_container_type::size_type reactants_size(i->reactants.size());
+ index_container_type::size_type products_size(i->products.size());
+ ODERatelaw::state_container_type reactants_states(reactants_size);
+ ODERatelaw::state_container_type products_states(products_size);
+ ODERatelaw::state_container_type::size_type cnt(0);
+ for(index_container_type::const_iterator j(i->reactants.begin());
+ j != i->reactants.end(); j++, cnt++)
+ {
+ reactants_states[cnt] = x[*j];
+ }
+ cnt = 0;
+ for(index_container_type::const_iterator j(i->products.begin());
+ j != i->products.end(); j++, cnt++)
+ {
+ products_states[cnt] = x[*j];
+ }
+ // Call the ODERatelaw object
+ if (i->ratelaw.expired() || i->ratelaw.lock()->is_available() == false)
+ {
+ boost::scoped_ptr<ODERatelaw> temporary_ratelaw_obj(new ODERatelawMassAction(i->k));
+ Real flux_0 = temporary_ratelaw_obj->deriv_func(reactants_states, products_states, volume_, t, *(i->raw) );
+ // Differentiate by time
+ {
+ Real flux = temporary_ratelaw_obj->deriv_func(reactants_states, products_states, volume_, t + ht, *(i->raw) );
+ Real flux_deriv = (flux - flux_0) / h;
+ if (flux_deriv != 0.0)
+ {
+ for(std::size_t k(0); k < i->reactants.size(); k++)
+ {
+ matrix_type::size_type row = i->reactants[k];
+ Real coeff = i->reactant_coefficients[k];
+ dfdt[row] -= coeff * flux_deriv;
+ }
+ for(std::size_t k(0); k < i->products.size(); k++)
+ {
+ matrix_type::size_type row = i->products[k];
+ Real coeff = i->product_coefficients[k];
+ dfdt[row] += coeff * flux_deriv;
+ }
+ }
+ }
+ // Differentiate by each Reactants
+ for(std::size_t j(0); j < reactants_states.size(); j++)
+ {
+ ODERatelaw::state_container_type h_shift(reactants_states);
+ h_shift[j] += h;
+ Real flux = temporary_ratelaw_obj->deriv_func(h_shift, products_states, volume_, t, *(i->raw) );
+ Real flux_deriv = (flux - flux_0) / h;
+ matrix_type::size_type col = i->reactants[j];
+ for(std::size_t k(0); k < i->reactants.size(); k++)
+ {
+ matrix_type::size_type row = i->reactants[k];
+ Real coeff = i->reactant_coefficients[k];
+ jacobi(row, col) -= coeff * flux_deriv;
+ }
+ for(std::size_t k(0); k < i->products.size(); k++)
+ {
+ matrix_type::size_type row = i->products[k];
+ Real coeff = i->product_coefficients[k];
+ jacobi(row, col) += coeff * flux_deriv;
+ }
+ }
+ // Differentiate by Products
+ for(std::size_t j(0); j < products_states.size(); j++)
+ {
+ ODERatelaw::state_container_type h_shift(products_states);
+ h_shift[j] += h;
+ Real flux = temporary_ratelaw_obj->deriv_func(reactants_states, h_shift, volume_, t, *(i->raw));
+ Real flux_deriv = (flux - flux_0) / h;
+ matrix_type::size_type col = i->products[j];
+ for(std::size_t k(0); k < i->reactants.size(); k++)
+ {
+ matrix_type::size_type row = i->reactants[k];
+ Real coeff = i->reactant_coefficients[k];
+ jacobi(row, col) -= coeff * flux_deriv;
+ }
+ for(std::size_t k(0); k < i->products.size(); k++)
+ {
+ matrix_type::size_type row = i->products[k];
+ Real coeff = i->product_coefficients[k];
+ jacobi(row, col) += coeff * flux_deriv;
+ }
+ }
+ }
+ else
+ {
+ boost::shared_ptr<ODERatelaw> ratelaw = i->ratelaw.lock();
+ Real flux_0 = ratelaw->deriv_func(reactants_states, products_states, volume_, t, *(i->raw) );
+ // Differentiate by time
+ {
+ Real flux = ratelaw->deriv_func(reactants_states, products_states, volume_, t + ht, *(i->raw) );
+ Real flux_deriv = (flux - flux_0) / h;
+ if (flux_deriv != 0.0)
+ {
+ for(std::size_t k(0); k < i->reactants.size(); k++)
+ {
+ matrix_type::size_type row = i->reactants[k];
+ Real coeff = i->reactant_coefficients[k];
+ dfdt[row] -= coeff * flux_deriv;
+ }
+ for(std::size_t k(0); k < i->products.size(); k++)
+ {
+ matrix_type::size_type row = i->products[k];
+ Real coeff = i->product_coefficients[k];
+ dfdt[row] += coeff * flux_deriv;
+ }
+ }
+ }
+ // Differentiate by each Reactants
+ for(std::size_t j(0); j < reactants_states.size(); j++)
+ {
+ ODERatelaw::state_container_type h_shift(reactants_states);
+ h_shift[j] += h;
+ Real flux = ratelaw->deriv_func(h_shift, products_states, volume_, t, *(i->raw) );
+ Real flux_deriv = (flux - flux_0) / h;
+ matrix_type::size_type col = i->reactants[j];
+ for(std::size_t k(0); k < i->reactants.size(); k++)
+ {
+ matrix_type::size_type row = i->reactants[k];
+ Real coeff = i->reactant_coefficients[k];
+ jacobi(row, col) -= coeff * flux_deriv;
+ }
+ for(std::size_t k(0); k < i->products.size(); k++)
+ {
+ matrix_type::size_type row = i->products[k];
+ Real coeff = i->product_coefficients[k];
+ jacobi(row, col) += coeff * flux_deriv;
+ }
+ }
+ // Differentiate by Products
+ for(std::size_t j(0); j < products_states.size(); j++)
+ {
+ ODERatelaw::state_container_type h_shift(products_states);
+ h_shift[j] += h;
+ Real flux = ratelaw->deriv_func(reactants_states, h_shift, volume_, t, *(i->raw));
+ Real flux_deriv = (flux - flux_0) / h;
+ matrix_type::size_type col = i->products[j];
+ for(std::size_t k(0); k < i->reactants.size(); k++)
+ {
+ matrix_type::size_type row = i->reactants[k];
+ Real coeff = i->reactant_coefficients[k];
+ jacobi(row, col) -= coeff * flux_deriv;
+ }
+ for(std::size_t k(0); k < i->products.size(); k++)
+ {
+ matrix_type::size_type row = i->products[k];
+ Real coeff = i->product_coefficients[k];
+ jacobi(row, col) += coeff * flux_deriv;
+ }
+ }
+ }
+ }
+ }
+ protected:
+ const reaction_container_type reactions_;
+ const Real volume_;
+ const Real vinv_;
+ };
+
+
+ struct StateAndTimeBackInserter
+ {
+ typedef std::vector<state_type> state_container_type;
+ typedef std::vector<double> time_container_type;
+
+ state_container_type &m_states;
+ time_container_type &m_times;
+ StateAndTimeBackInserter(
+ state_container_type &states, time_container_type ×)
+ : m_states(states), m_times(times)
+ {
+ ;
+ }
+ void operator()(const state_type &x, double t)
+ {
+ m_states.push_back(x);
+ m_times.push_back(t);
+ }
+ };
+public:
+
+ ODESimulator(
+ const boost::shared_ptr<ODENetworkModel>& model,
+ const boost::shared_ptr<ODEWorld>& world,
+ const ODESolverType solver_type = ROSENBROCK4_CONTROLLER)
+ : base_type(model, world), dt_(inf), abs_tol_(1e-6), rel_tol_(1e-6),
+ solver_type_(solver_type)
+ {
+ initialize();
+ }
+
+ ODESimulator(
+ const boost::shared_ptr<ODEWorld>& world,
+ const ODESolverType solver_type = ROSENBROCK4_CONTROLLER)
+ : base_type(world), dt_(inf), abs_tol_(1e-6), rel_tol_(1e-6),
+ solver_type_(solver_type)
+ {
+ initialize();
+ }
+
+ ODESimulator(
+ const boost::shared_ptr<Model>& model,
+ const boost::shared_ptr<ODEWorld>& world,
+ const ODESolverType solver_type = ROSENBROCK4_CONTROLLER)
+ : base_type(boost::shared_ptr<ODENetworkModel>(new ODENetworkModel(model)), world),
+ dt_(inf), abs_tol_(1e-6), rel_tol_(1e-6), solver_type_(solver_type)
+ {
+ initialize();
+ }
+
+ void initialize()
+ {
+ const std::vector<Species> species(model_->list_species());
+ for(std::vector<Species>::const_iterator it = species.begin();
+ it != species.end(); it++)
+ {
+ if (!(world_->has_species(*it)))
+ {
+ world_->reserve_species(*it);
+ }
+ }
+ }
+
+ void step(void)
+ {
+ step(next_time());
+ if ( this->model_->has_network_model() )
+ {
+ this->model_->update_model();
+ }
+ }
+ bool step(const Real &upto);
+
+ // Real next_time() const
+ // {
+ // return this->t() + this->dt();
+ // }
+ // SimulatorTraits
+
+ Real t(void) const
+ {
+ return world_->t();
+ }
+ void set_t(const Real &t)
+ {
+ world_->set_t(t);
+ }
+ Real dt(void) const
+ {
+ return this->dt_;
+ }
+ void set_dt(const Real &dt)
+ {
+ if (dt <= 0)
+ {
+ throw std::invalid_argument("The step size must be positive.");
+ }
+ dt_ = dt;
+ }
+ // Integer num_steps() const
+ // {
+ // return this->num_steps_;
+ // }
+ //
+
+ Real absolute_tolerance() const
+ {
+ return abs_tol_;
+ }
+
+ void set_absolute_tolerance(const Real abs_tol)
+ {
+ if (abs_tol < 0)
+ {
+ throw std::invalid_argument("A tolerance must be positive or zero.");
+ }
+ abs_tol_ = abs_tol;
+ }
+
+ Real relative_tolerance() const
+ {
+ return rel_tol_;
+ }
+
+ void set_relative_tolerance(const Real rel_tol)
+ {
+ if (rel_tol < 0)
+ {
+ throw std::invalid_argument("A tolerance must be positive or zero.");
+ }
+ rel_tol_ = rel_tol;
+ }
+
+protected:
+ std::pair<deriv_func, jacobi_func> generate_system() const;
+protected:
+ // boost::shared_ptr<ODENetworkModel> model_;
+ // boost::shared_ptr<ODEWorld> world_;
+ Real dt_;
+ // Integer num_steps_;
+ Real abs_tol_, rel_tol_;
+ ODESolverType solver_type_;
+};
+
+} // ode
+
+} // ecell4
+
+#endif // __ECELL4_ODE_ODE_SIMULATOR2_HPP
diff --git a/ecell4/ode/ODEWorld.cpp b/ecell4/ode/ODEWorld.cpp
new file mode 100644
index 0000000..b48dc1e
--- /dev/null
+++ b/ecell4/ode/ODEWorld.cpp
@@ -0,0 +1,147 @@
+#include "ODEWorld.hpp"
+#include <sstream>
+#include <ecell4/core/extras.hpp>
+#include <ecell4/core/exceptions.hpp>
+
+namespace ecell4
+{
+
+namespace ode
+{
+
+void ODEWorld::bind_to(boost::shared_ptr<Model> model)
+{
+ if (generated_)
+ {
+ std::cerr << "Warning: NetworkModel is already bound to ODEWorld."
+ << std::endl;
+ }
+ else if (model_.expired())
+ {
+ std::cerr << "Warning: ODENetworkModel is already bound to ODEWorld."
+ << std::endl;
+ }
+
+ try
+ {
+ boost::shared_ptr<ODENetworkModel> tmp(new ODENetworkModel(model));
+ generated_.swap(tmp);
+ model_.reset();
+ }
+ catch (NotSupported e)
+ {
+ throw NotSupported(
+ "Not supported yet. Either ODENetworkModel or NetworkModel must be given.");
+ }
+}
+
+void ODEWorld::bind_to(boost::shared_ptr<ODENetworkModel> model)
+{
+ if (boost::shared_ptr<ODENetworkModel> bound_model = model_.lock())
+ {
+ if (bound_model.get() != model.get())
+ {
+ std::cerr << "Warning: ODENetworkModel is already bound to ODEWorld."
+ << std::endl;
+ }
+ }
+ else if (generated_)
+ {
+ std::cerr << "Warning: NetworkModel is already bound to ODEWorld."
+ << std::endl;
+ }
+
+ this->model_ = model;
+ generated_.reset();
+}
+
+void ODEWorld::save(const std::string& filename) const
+{
+#ifdef WITH_HDF5
+ boost::scoped_ptr<H5::H5File>
+ fout(new H5::H5File(filename.c_str(), H5F_ACC_TRUNC));
+ boost::scoped_ptr<H5::Group>
+ group(new H5::Group(fout->createGroup("CompartmentSpace")));
+ save_compartment_space<ODEWorldHDF5Traits<ODEWorld> >(*this, group.get());
+
+ const uint32_t space_type = static_cast<uint32_t>(Space::ELSE);
+ group->openAttribute("type").write(H5::PredType::STD_I32LE, &space_type);
+
+ extras::save_version_information(fout.get(), std::string("ecell4-ode-") + std::string(ECELL4_VERSION));
+#else
+ throw NotSupported(
+ "This method requires HDF5. The HDF5 support is turned off.");
+#endif
+}
+
+void ODEWorld::load(const std::string& filename)
+{
+#ifdef WITH_HDF5
+ boost::scoped_ptr<H5::H5File>
+ fin(new H5::H5File(filename.c_str(), H5F_ACC_RDONLY));
+
+ const std::string required = "ecell4-ode-4.1.0";
+ try
+ {
+ const std::string version = extras::load_version_information(*fin);
+ if (!extras::check_version_information(version, required))
+ {
+ std::stringstream ss;
+ ss << "The version of the given file [" << version
+ << "] is too old. [" << required << "] or later is required.";
+ throw NotSupported(ss.str());
+ }
+ }
+ catch(H5::GroupIException not_found_error)
+ {
+ throw NotFound("No version information was found.");
+ }
+
+ const H5::Group group(fin->openGroup("CompartmentSpace"));
+ load_compartment_space<ODEWorldHDF5Traits<ODEWorld> >(group, this);
+#else
+ throw NotSupported(
+ "This method requires HDF5. The HDF5 support is turned off.");
+#endif
+}
+
+Real ODEWorld::evaluate(ODEReactionRule& rr) const
+{
+ //XXX: rr cannot be const because ratelaw.deriv_func is not const.
+ ODERatelaw::state_container_type::size_type cnt(0);
+ const ODEReactionRule::reactant_container_type reactants(rr.reactants()); //XXX: ODEReactionRule should return the const reference of reactants, but not yet.
+ ODERatelaw::state_container_type rvalues(reactants.size());
+ for (ODEReactionRule::reactant_container_type::const_iterator
+ i(reactants.begin()); i != reactants.end(); i++, cnt++)
+ {
+ rvalues[cnt] = get_value_exact(*i);
+ }
+
+ cnt = 0;
+ const ODEReactionRule::product_container_type products(rr.products()); //XXX: ODEReactionRule should return the const reference of products, but not yet.
+ ODERatelaw::state_container_type pvalues(products.size());
+ for (ODEReactionRule::product_container_type::const_iterator
+ i(products.begin()); i != products.end(); i++, cnt++)
+ {
+ pvalues[cnt] = get_value_exact(*i);
+ }
+
+ if (rr.has_ratelaw())
+ {
+ boost::shared_ptr<ODERatelaw> ratelaw(rr.get_ratelaw());
+ if (!ratelaw->is_available())
+ {
+ throw IllegalState("The given rate law is not available.");
+ }
+ return ratelaw->deriv_func(rvalues, pvalues, volume(), t(), rr);
+ }
+ else
+ {
+ return ODERatelawMassAction(rr.k()).deriv_func(
+ rvalues, pvalues, volume(), t(), rr);
+ }
+}
+
+} // ode
+
+} // ecell4
diff --git a/ecell4/ode/ODEWorld.hpp b/ecell4/ode/ODEWorld.hpp
new file mode 100644
index 0000000..e3d8ca2
--- /dev/null
+++ b/ecell4/ode/ODEWorld.hpp
@@ -0,0 +1,328 @@
+#ifndef __ECELL4_ODE_ODE_WORLD_HPP
+#define __ECELL4_ODE_ODE_WORLD_HPP
+
+#include <ecell4/core/Species.hpp>
+#include <ecell4/core/Context.hpp>
+#include <ecell4/core/Real3.hpp>
+#include <ecell4/core/Space.hpp>
+#include <ecell4/core/Model.hpp>
+#include <ecell4/core/NetworkModel.hpp>
+#include <ecell4/core/NetfreeModel.hpp>
+
+#ifdef WITH_HDF5
+#include <ecell4/core/CompartmentSpaceHDF5Writer.hpp>
+#endif
+#include <ecell4/core/Shape.hpp>
+
+#include <boost/shared_ptr.hpp>
+#include <boost/weak_ptr.hpp>
+#include <ecell4/ode/ODENetworkModel.hpp>
+
+namespace ecell4
+{
+
+namespace ode
+{
+
+#ifdef WITH_HDF5
+template<typename Tspace_>
+struct ODEWorldHDF5Traits
+ : public CompartmentSpaceHDF5TraitsBase<Tspace_, H5DataTypeTraits_double>
+{
+ typedef CompartmentSpaceHDF5TraitsBase<Tspace_, H5DataTypeTraits_double> base_type;
+ typedef typename base_type::num_molecules_type num_molecules_type;
+ typedef typename base_type::space_type space_type;
+
+ num_molecules_type getter(const space_type& space, const Species& sp) const
+ {
+ return space.get_value_exact(sp);
+ }
+
+ void setter(
+ Tspace_& space, const Species& sp, const num_molecules_type& value) const
+ {
+ space.set_value(sp, value);
+ }
+};
+#endif
+
+class ODEWorld
+ : public Space
+{
+protected:
+
+ typedef std::vector<Real> num_molecules_container_type;
+ typedef std::vector<Species> species_container_type;
+ typedef utils::get_mapper_mf<
+ Species, num_molecules_container_type::size_type>::type species_map_type;
+
+public:
+
+ ODEWorld(const Real3& edge_lengths = Real3(1, 1, 1))
+ : t_(0.0)
+ {
+ reset(edge_lengths);
+ }
+
+ ODEWorld(const std::string& filename)
+ : t_(0.0)
+ {
+ reset(Real3(1, 1, 1));
+ this->load(filename);
+ }
+
+ // SpaceTraits
+
+ const Real t() const
+ {
+ return t_;
+ }
+
+ void set_t(const Real& t)
+ {
+ if (t < 0.0)
+ {
+ throw std::invalid_argument("the time must be positive.");
+ }
+ t_ = t;
+ }
+
+ const Real3& edge_lengths() const
+ {
+ return edge_lengths_;
+ }
+
+ void reset(const Real3& edge_lengths)
+ {
+ t_ = 0.0;
+ index_map_.clear();
+ num_molecules_.clear();
+ species_.clear();
+
+ for (Real3::size_type dim(0); dim < 3; ++dim)
+ {
+ if (edge_lengths[dim] <= 0)
+ {
+ throw std::invalid_argument("the edge length must be positive.");
+ }
+ }
+
+ edge_lengths_ = edge_lengths;
+ volume_ = edge_lengths[0] * edge_lengths[1] * edge_lengths[2];
+ }
+
+ const Real volume() const
+ {
+ return volume_;
+ }
+
+ void set_volume(const Real& volume)
+ {
+ if (volume <= 0.0)
+ {
+ throw std::invalid_argument("The volume must be positive.");
+ }
+
+ volume_ = volume;
+ const Real L(cbrt(volume));
+ edge_lengths_ = Real3(L, L, L);
+ }
+
+ // CompartmentSpaceTraits
+
+ Integer num_molecules(const Species& sp) const
+ {
+ return static_cast<Integer>(get_value(sp));
+ }
+
+ Integer num_molecules_exact(const Species& sp) const
+ {
+ return static_cast<Integer>(get_value_exact(sp));
+ }
+
+ std::vector<Species> list_species() const
+ {
+ return species_;
+ }
+
+ // CompartmentSpace member functions
+
+ void add_molecules(const Species& sp, const Real& num)
+ {
+ species_map_type::const_iterator i(index_map_.find(sp));
+ if (i == index_map_.end())
+ {
+ reserve_species(sp);
+ i = index_map_.find(sp);
+ }
+
+ num_molecules_[(*i).second] += num;
+ }
+
+ void remove_molecules(const Species& sp, const Real& num)
+ {
+ species_map_type::const_iterator i(index_map_.find(sp));
+ if (i == index_map_.end())
+ {
+ throw NotFound("Species not found");
+ }
+
+ num_molecules_[(*i).second] -= num;
+ }
+
+ // Optional members
+
+ Real get_value(const Species& sp) const
+ {
+ SpeciesExpressionMatcher sexp(sp);
+ Real retval(0);
+ for (species_map_type::const_iterator i(index_map_.begin());
+ i != index_map_.end(); ++i)
+ {
+ if (sexp.match((*i).first))
+ {
+ do
+ {
+ retval += num_molecules_[(*i).second];
+ } while (sexp.next());
+ }
+ }
+ return retval;
+ }
+
+ Real get_value_exact(const Species& sp) const
+ {
+ species_map_type::const_iterator i(index_map_.find(sp));
+ if (i == index_map_.end())
+ {
+ // throw NotFound("Species not found");
+ return 0.0;
+ }
+
+ return num_molecules_[(*i).second];
+ }
+
+ void set_value(const Species& sp, const Real& num)
+ {
+ species_map_type::const_iterator i(index_map_.find(sp));
+ if (i == index_map_.end())
+ {
+ reserve_species(sp);
+ i = index_map_.find(sp);
+ }
+
+ num_molecules_[(*i).second] = num;
+ }
+
+ void save(const std::string& filename) const;
+ void load(const std::string& filename);
+
+ bool has_species(const Species& sp) const
+ {
+ species_map_type::const_iterator i(index_map_.find(sp));
+ return (i != index_map_.end());
+ }
+
+ void reserve_species(const Species& sp)
+ {
+ species_map_type::const_iterator i(index_map_.find(sp));
+ if (i != index_map_.end())
+ {
+ throw AlreadyExists("Species already exists");
+ }
+
+ index_map_.insert(std::make_pair(sp, num_molecules_.size()));
+ species_.push_back(sp);
+ num_molecules_.push_back(0);
+ }
+
+ void release_species(const Species& sp)
+ {
+ species_map_type::iterator i(index_map_.find(sp));
+ if (i == index_map_.end())
+ {
+ throw NotFound("Species not found");
+ }
+
+ species_map_type::mapped_type
+ idx((*i).second), last_idx(num_molecules_.size() - 1);
+ if (idx != last_idx)
+ {
+ const species_container_type::size_type
+ idx_(static_cast<species_container_type::size_type>(idx)),
+ last_idx_(
+ static_cast<species_container_type::size_type>(last_idx));
+ const Species& last_sp(species_[last_idx_]);
+ species_[idx_] = last_sp;
+ num_molecules_[idx] = num_molecules_[last_idx];
+ index_map_[last_sp] = idx;
+ }
+
+ species_.pop_back();
+ num_molecules_.pop_back();
+ index_map_.erase(sp);
+ }
+
+ void bind_to(boost::shared_ptr<Model> model);
+ void bind_to(boost::shared_ptr<ODENetworkModel> model);
+
+ boost::shared_ptr<ODENetworkModel> lock_model() const
+ {
+ if (generated_)
+ {
+ return generated_;
+ }
+ else
+ {
+ return model_.lock();
+ }
+ }
+
+ void add_molecules(const Species& sp, const Integer& num,
+ const boost::shared_ptr<Shape> shape)
+ {
+ add_molecules(sp, num);
+ }
+
+ std::pair<std::pair<ParticleID, Particle>, bool> new_particle(const Particle& p)
+ {
+ add_molecules(p.species(), 1);
+ return std::make_pair(std::make_pair(ParticleID(), p), true);
+ }
+
+ std::pair<std::pair<ParticleID, Particle>, bool> new_particle(
+ const Species& sp, const Real3& pos)
+ {
+ add_molecules(sp, 1);
+ return std::make_pair(
+ std::make_pair(ParticleID(), Particle(sp, pos, 0.0, 0.0)), true);
+ }
+
+ Real evaluate(const ReactionRule& rr) const
+ {
+ ODEReactionRule oderr(rr);
+ return evaluate(oderr);
+ }
+
+ Real evaluate(ODEReactionRule& rr) const;
+
+protected:
+
+ Real3 edge_lengths_;
+ Real volume_;
+ Real t_;
+
+ num_molecules_container_type num_molecules_;
+ species_container_type species_;
+ species_map_type index_map_;
+
+ boost::weak_ptr<ODENetworkModel> model_;
+ boost::shared_ptr<ODENetworkModel> generated_;
+ // bool is_netfree_;
+};
+
+} // ode
+
+} // ecell4
+
+#endif /* __ECELL4_ODE_ODE_WORLD_HPP */
diff --git a/ecell4/ode/samples/CMakeLists.txt b/ecell4/ode/samples/CMakeLists.txt
new file mode 100644
index 0000000..9328b5d
--- /dev/null
+++ b/ecell4/ode/samples/CMakeLists.txt
@@ -0,0 +1,13 @@
+add_executable(equilibrium equilibrium.cpp)
+target_link_libraries(equilibrium ecell4-ode)
+
+add_executable(equilibrium2 equilibrium2.cpp)
+target_link_libraries(equilibrium2 ecell4-ode)
+
+add_executable(odesimulator2 odesimulator2.cpp)
+target_link_libraries(odesimulator2 ecell4-ode)
+
+add_executable(dissociation dissociation.cpp)
+target_link_libraries(dissociation ecell4-ode)
+
+
diff --git a/ecell4/ode/samples/dissociation.cpp b/ecell4/ode/samples/dissociation.cpp
new file mode 100644
index 0000000..5dc235f
--- /dev/null
+++ b/ecell4/ode/samples/dissociation.cpp
@@ -0,0 +1,61 @@
+#include <iostream>
+#include <boost/shared_ptr.hpp>
+
+#include <ecell4/core/Species.hpp>
+#include <ecell4/core/ReactionRule.hpp>
+#include <ecell4/core/NetworkModel.hpp>
+#include <ecell4/ode/ODESimulator.hpp>
+
+//#include <ecell4/core/Ratelaw.hpp>
+
+using namespace ecell4;
+using namespace ecell4::ode;
+
+/**
+ * main function
+ */
+int main(int argc, char** argv)
+{
+ const Real L(1e-6);
+ const Real3 edge_lengths(L, L, L);
+
+ Species sp1("A"), sp2("B"), sp3("C");
+ ReactionRule rr1;
+ rr1.set_k(1.0);
+ rr1.add_reactant(sp1);
+ rr1.add_product(sp2);
+ rr1.add_product(sp3);
+
+ boost::shared_ptr<NetworkModel> model(new NetworkModel());
+ model->add_species_attribute(sp1);
+ model->add_species_attribute(sp2);
+ model->add_species_attribute(sp3);
+ model->add_reaction_rule(rr1);
+
+ boost::shared_ptr<ODEWorld> world(new ODEWorld(edge_lengths));
+ world->add_molecules(sp1, 60);
+ world->save("test_ode.h5");
+
+ world->bind_to(model);
+
+ ODESimulator target(model, world);
+ target.initialize();
+
+ Real next_time(0.0), dt(0.01);
+
+ std::cout << target.t()
+ << "\t" << world->num_molecules(sp1)
+ << "\t" << world->num_molecules(sp2)
+ << "\t" << world->num_molecules(sp3)
+ << std::endl;
+ for (unsigned int i(0); i < 200; ++i)
+ {
+ next_time += dt;
+ target.step(next_time);
+ std::cout << target.t()
+ << "\t" << world->num_molecules(sp1)
+ << "\t" << world->num_molecules(sp2)
+ << "\t" << world->num_molecules(sp3)
+ << std::endl;
+ }
+}
diff --git a/ecell4/ode/samples/equilibrium.cpp b/ecell4/ode/samples/equilibrium.cpp
new file mode 100644
index 0000000..57af40c
--- /dev/null
+++ b/ecell4/ode/samples/equilibrium.cpp
@@ -0,0 +1,65 @@
+#include <iostream>
+#include <boost/shared_ptr.hpp>
+
+#include <ecell4/core/Species.hpp>
+#include <ecell4/core/ReactionRule.hpp>
+#include <ecell4/core/NetworkModel.hpp>
+#include <ecell4/ode/ODESimulator.hpp>
+
+
+using namespace ecell4;
+using namespace ecell4::ode;
+
+/**
+ * main function
+ */
+int main(int argc, char** argv)
+{
+ const Real L(1e-6);
+ const Real3 edge_lengths(L, L, L);
+ const Real volume(L * L * L);
+ const Real N(60);
+ const Real ka(0.1), U(0.5);
+
+ Species sp1("A"), sp2("B"), sp3("C");
+ ReactionRule rr1, rr2;
+ rr1.set_k(ka);
+ rr1.add_reactant(sp1);
+ rr1.add_product(sp2);
+ rr1.add_product(sp3);
+ const Real kd(ka * volume * (1 - U) / (U * U * N));
+ rr2.set_k(kd);
+ rr2.add_reactant(sp2);
+ rr2.add_reactant(sp3);
+ rr2.add_product(sp1);
+
+ boost::shared_ptr<NetworkModel> model(new NetworkModel());
+ model->add_species_attribute(sp1);
+ model->add_species_attribute(sp2);
+ model->add_species_attribute(sp3);
+ model->add_reaction_rule(rr1);
+ model->add_reaction_rule(rr2);
+
+ boost::shared_ptr<ODEWorld> world(new ODEWorld(edge_lengths));
+ world->add_molecules(sp1, N);
+
+ ODESimulator target(model, world, ROSENBROCK4_CONTROLLER);
+ target.initialize();
+
+ Real next_time(0.0), dt(0.01);
+ std::cout << target.t()
+ << "\t" << world->num_molecules(sp1)
+ << "\t" << world->num_molecules(sp2)
+ << "\t" << world->num_molecules(sp3)
+ << std::endl;
+ for (unsigned int i(0); i < 1000; ++i)
+ {
+ next_time += dt;
+ target.step(next_time);
+ std::cout << target.t()
+ << "\t" << world->num_molecules(sp1)
+ << "\t" << world->num_molecules(sp2)
+ << "\t" << world->num_molecules(sp3)
+ << std::endl;
+ }
+}
diff --git a/ecell4/ode/samples/equilibrium2.cpp b/ecell4/ode/samples/equilibrium2.cpp
new file mode 100644
index 0000000..6f4910e
--- /dev/null
+++ b/ecell4/ode/samples/equilibrium2.cpp
@@ -0,0 +1,76 @@
+#include <iostream>
+#include <boost/shared_ptr.hpp>
+
+#include <ecell4/core/Species.hpp>
+#include <ecell4/core/ReactionRule.hpp>
+#include <ecell4/core/NetworkModel.hpp>
+#include <ecell4/ode/ODESimulator.hpp>
+
+#include <ecell4/ode/ODENetworkModel.hpp>
+#include <ecell4/ode/ODEReactionRule.hpp>
+
+
+using namespace ecell4;
+using namespace ecell4::ode;
+
+/**
+ * main function
+ */
+int main(int argc, char** argv)
+{
+ const Real L(1e-6);
+ const Real3 edge_lengths(L, L, L);
+ const Real volume(L * L * L);
+ const Real N(60);
+ const Real ka(0.1), U(0.5);
+
+ Species sp1("A"), sp2("B"), sp3("C");
+ ReactionRule rr1, rr2;
+ rr1.set_k(ka);
+ rr1.add_reactant(sp1);
+ rr1.add_product(sp2);
+ rr1.add_product(sp3);
+
+ const Real kd(ka * volume * (1 - U) / (U * U * N));
+ rr2.set_k(kd);
+ rr2.add_reactant(sp2);
+ rr2.add_reactant(sp3);
+ rr2.add_product(sp1);
+
+ boost::shared_ptr<NetworkModel> model(new NetworkModel());
+ model->add_species_attribute(sp1);
+ model->add_species_attribute(sp2);
+ model->add_species_attribute(sp3);
+ model->add_reaction_rule(rr1);
+ model->add_reaction_rule(rr2);
+
+ boost::shared_ptr<ODENetworkModel> ode_model(new ODENetworkModel(model) );
+ ReactionRule rr3;
+ rr3.add_reactant(sp1);
+ rr3.add_product(sp3);
+ ode_model->add_reaction_rule(rr3);
+ ode_model->dump_reactions();
+
+ boost::shared_ptr<ODEWorld> world(new ODEWorld(edge_lengths));
+ world->add_molecules(sp1, N);
+
+ ODESimulator target(model, world);
+ target.initialize();
+
+ Real next_time(0.0), dt(0.01);
+ std::cout << target.t()
+ << "\t" << world->num_molecules(sp1)
+ << "\t" << world->num_molecules(sp2)
+ << "\t" << world->num_molecules(sp3)
+ << std::endl;
+ for (unsigned int i(0); i < 1000; ++i)
+ {
+ next_time += dt;
+ target.step(next_time);
+ std::cout << target.t()
+ << "\t" << world->num_molecules(sp1)
+ << "\t" << world->num_molecules(sp2)
+ << "\t" << world->num_molecules(sp3)
+ << std::endl;
+ }
+}
diff --git a/ecell4/ode/samples/odesimulator2.cpp b/ecell4/ode/samples/odesimulator2.cpp
new file mode 100644
index 0000000..e615a99
--- /dev/null
+++ b/ecell4/ode/samples/odesimulator2.cpp
@@ -0,0 +1,76 @@
+
+#include <iostream>
+#include <boost/shared_ptr.hpp>
+
+#include <ecell4/core/Species.hpp>
+#include <ecell4/core/ReactionRule.hpp>
+#include <ecell4/core/NetworkModel.hpp>
+#include <ecell4/ode/ODENetworkModel.hpp>
+#include <ecell4/ode/ODEReactionRule.hpp>
+#include <ecell4/ode/ODERatelaw.hpp>
+#include <ecell4/ode/ODESimulator.hpp>
+#include <boost/format.hpp>
+
+
+using namespace ecell4;
+using namespace ecell4::ode;
+
+double f(ODERatelaw::state_container_type const &reac, ODERatelaw::state_container_type const &prod,
+ double const v, double const time, ODEReactionRule const &rr)
+{
+ return 0.0;
+}
+
+int main(int argc, char **argv)
+{
+ const Real L(1e-6);
+ const Real3 edge_lengths(L, L, L);
+ const Real volume(L * L * L);
+ const Real N(60);
+ const Real ka(0.1), U(0.5);
+
+ Species sp1("A"), sp2("B"), sp3("C");
+ ODEReactionRule rr1, rr2;
+ rr1.add_reactant(sp1, 1.0);
+ rr1.add_product(sp2, 1.0);
+ rr1.add_product(sp3, 1.0);
+ boost::shared_ptr<ODERatelawMassAction> ratelaw1(new ODERatelawMassAction(ka));
+ boost::shared_ptr<ODERatelawCppCallback> ratelawcb(new ODERatelawCppCallback(f) );
+ rr1.set_ratelaw(ratelaw1);
+ std::cout << rr1.k() << std::endl;
+
+ const Real kd(ka * volume * (1 - U) / (U * U * N));
+ rr2.add_reactant(sp2, 1.0);
+ rr2.add_reactant(sp3, 1.0);
+ rr2.add_product(sp1, 1.0);
+ boost::shared_ptr<ODERatelawMassAction> ratelaw2(new ODERatelawMassAction(kd));
+ rr2.set_ratelaw(ratelaw2);
+
+ boost::shared_ptr<ODENetworkModel> model(new ODENetworkModel());
+ model->add_reaction_rule(rr1);
+ model->add_reaction_rule(rr2);
+ model->dump_reactions();
+
+ boost::shared_ptr<ODEWorld> world(new ODEWorld(edge_lengths));
+ world->add_molecules(sp1, N);
+
+ ODESimulator sim(model, world, ROSENBROCK4_CONTROLLER);
+ sim.initialize();
+ Real next_time(0.0), dt(0.01);
+ std::cout << sim.t()
+ << "\t" << world->num_molecules(sp1)
+ << "\t" << world->num_molecules(sp2)
+ << "\t" << world->num_molecules(sp3)
+ << std::endl;
+ for(unsigned int i(0); i < 100000; i++)
+ {
+ next_time += dt;
+ sim.step(next_time);
+ std::cout << sim.t()
+ << "\t" << world->num_molecules(sp1)
+ << "\t" << world->num_molecules(sp2)
+ << "\t" << world->num_molecules(sp3)
+ << std::endl;
+ }
+ return 0;
+}
diff --git a/ecell4/ode/tests/CMakeLists.txt b/ecell4/ode/tests/CMakeLists.txt
new file mode 100644
index 0000000..bee4b9d
--- /dev/null
+++ b/ecell4/ode/tests/CMakeLists.txt
@@ -0,0 +1,17 @@
+set(TEST_NAMES
+ ODESimulator_test)
+
+set(test_library_dependencies)
+find_library(BOOST_UNITTEST_FRAMEWORK_LIBRARY boost_unit_test_framework)
+if (BOOST_UNITTEST_FRAMEWORK_LIBRARY)
+ add_definitions(-DBOOST_TEST_DYN_LINK)
+ add_definitions(-DUNITTEST_FRAMEWORK_LIBRARY_EXIST)
+ set(test_library_dependencies boost_unit_test_framework)
+endif()
+
+foreach(TEST_NAME ${TEST_NAMES})
+ add_executable(${TEST_NAME} ${TEST_NAME}.cpp)
+ target_link_libraries(${TEST_NAME} ecell4-ode ${test_library_dependencies})
+ add_test(NAME ${TEST_NAME} COMMAND ${TEST_NAME})
+endforeach(TEST_NAME)
+
diff --git a/ecell4/ode/tests/ODESimulator_test.cpp b/ecell4/ode/tests/ODESimulator_test.cpp
new file mode 100644
index 0000000..6797cfe
--- /dev/null
+++ b/ecell4/ode/tests/ODESimulator_test.cpp
@@ -0,0 +1,73 @@
+#define BOOST_TEST_MODULE "ODESimulator_test"
+
+#ifdef UNITTEST_FRAMEWORK_LIBRARY_EXIST
+# include <boost/test/unit_test.hpp>
+#else
+# define BOOST_TEST_NO_LIB
+# include <boost/test/included/unit_test.hpp>
+#endif
+
+#include <ecell4/core/Species.hpp>
+#include <ecell4/core/ReactionRule.hpp>
+#include <ecell4/core/NetworkModel.hpp>
+#include "../ODESimulator.hpp"
+
+using namespace ecell4;
+using namespace ecell4::ode;
+
+
+BOOST_AUTO_TEST_CASE(ODESimulator_test_constructor)
+{
+ const Real L(1e-6);
+ const Real3 edge_lengths(L, L, L);
+
+ boost::shared_ptr<NetworkModel> model(new NetworkModel());
+ boost::shared_ptr<ODEWorld> world(new ODEWorld(edge_lengths));
+
+ ODESimulator target(model, world);
+}
+
+BOOST_AUTO_TEST_CASE(ODESimulator_test_step1)
+{
+ const Real L(1e-6);
+ const Real3 edge_lengths(L, L, L);
+
+ boost::shared_ptr<NetworkModel> model(new NetworkModel());
+ boost::shared_ptr<ODEWorld> world(new ODEWorld(edge_lengths));
+
+ ODESimulator target(model, world);
+ // target.step(1.0); //XXX: why not?
+}
+
+BOOST_AUTO_TEST_CASE(ODESimulator_test_step2)
+{
+ const Real L(1e-6);
+ const Real3 edge_lengths(L, L, L);
+
+ Species sp1("A"), sp2("B"), sp3("C");
+ ReactionRule rr1;
+ rr1.set_k(1.0);
+ rr1.add_reactant(sp1);
+ rr1.add_product(sp2);
+ rr1.add_product(sp3);
+
+ boost::shared_ptr<NetworkModel> model(new NetworkModel());
+ model->add_species_attribute(sp1);
+ model->add_species_attribute(sp2);
+ model->add_species_attribute(sp3);
+ model->add_reaction_rule(rr1);
+
+ boost::shared_ptr<ODEWorld> world(new ODEWorld(edge_lengths));
+ world->reserve_species(sp1);
+ world->set_value(sp1, 60);
+
+ ODESimulator target(model, world);
+
+ // std::cout << target.t() << ":" << world->num_molecules(sp1)
+ // << ":" << world->num_molecules(sp2) << std::endl;
+ target.step(1.0);
+ // std::cout << target.t() << ":" << world->num_molecules(sp1)
+ // << ":" << world->num_molecules(sp2) << std::endl;
+
+ // BOOST_ASSERT(false);
+}
diff --git a/ecell4/spatiocyte/CMakeLists.txt b/ecell4/spatiocyte/CMakeLists.txt
new file mode 100644
index 0000000..a6a71f0
--- /dev/null
+++ b/ecell4/spatiocyte/CMakeLists.txt
@@ -0,0 +1,17 @@
+if (NO_SHARED)
+ return()
+endif()
+
+file(GLOB CPP_FILES *.cpp)
+file(GLOB HPP_FILES *.hpp)
+
+add_library(ecell4-spatiocyte SHARED ${CPP_FILES} ${HPP_FILES})
+target_link_libraries(ecell4-spatiocyte ecell4-core)
+
+set(ECELL4_SHARED_DIRS ${CMAKE_CURRENT_BINARY_DIR}:${ECELL4_SHARED_DIRS} PARENT_SCOPE)
+
+add_subdirectory(tests)
+add_subdirectory(samples)
+
+install(TARGETS ecell4-spatiocyte DESTINATION lib)
+install(FILES ${HPP_FILES} DESTINATION "include/ecell4/spatiocyte")
diff --git a/ecell4/spatiocyte/ReactionEvent.cpp b/ecell4/spatiocyte/ReactionEvent.cpp
new file mode 100644
index 0000000..16a440c
--- /dev/null
+++ b/ecell4/spatiocyte/ReactionEvent.cpp
@@ -0,0 +1,127 @@
+#include "SpatiocyteEvent.hpp"
+
+namespace ecell4 {
+
+namespace spatiocyte {
+
+/// ZerothOrderReactionEvent
+
+ZerothOrderReactionEvent::ZerothOrderReactionEvent(
+ boost::shared_ptr<SpatiocyteWorld> world, const ReactionRule& rule, const Real& t)
+ : SpatiocyteEvent(t), world_(world), rule_(rule)
+{
+ time_ = t + draw_dt();
+}
+
+void ZerothOrderReactionEvent::fire_()
+{
+ ReactionInfo rinfo(world_->t());
+
+ for (ReactionRule::product_container_type::const_iterator
+ i(rule_.products().begin());
+ i != rule_.products().end(); ++i)
+ {
+ const Species& sp(*i);
+ const SpatiocyteWorld::molecule_info_type
+ info(world_->get_molecule_info(sp));
+
+ while (true) //TODO: Avoid an inifinite loop
+ {
+ // const SpatiocyteWorld::coordinate_type
+ // coord(world_->rng()->uniform_int(0, world_->size() - 1));
+ const SpatiocyteWorld::coordinate_type
+ coord(world_->inner2coordinate(
+ world_->rng()->uniform_int(0, world_->inner_size() - 1)));
+ const Voxel v(sp, coord, info.radius, info.D, info.loc);
+
+ if (world_->on_structure(v))
+ {
+ continue;
+ }
+
+ const std::pair<std::pair<ParticleID, Voxel>, bool>
+ retval(world_->new_voxel(v));
+ if (retval.second)
+ {
+ rinfo.add_product(retval.first);
+ break;
+ }
+ }
+ }
+ push_reaction(std::make_pair(rule_, rinfo));
+ time_ += draw_dt();
+}
+
+Real ZerothOrderReactionEvent::draw_dt()
+{
+ const Real k(rule_.k());
+ const Real p = k * world_->volume();
+ Real dt(inf);
+ if (p != 0.)
+ {
+ const Real rnd(world_->rng()->uniform(0.,1.));
+ dt = - log(1 - rnd) / p;
+ }
+ return dt;
+}
+
+
+/// FirstOrderReactionEvent
+
+FirstOrderReactionEvent::FirstOrderReactionEvent(
+ boost::shared_ptr<SpatiocyteWorld> world, const ReactionRule& rule, const Real& t)
+ : SpatiocyteEvent(t), world_(world), rule_(rule)
+{
+ //assert(rule_.reactants().size() == 1);
+ time_ = t + draw_dt();
+}
+
+void FirstOrderReactionEvent::fire_()
+{
+ const ReactionInfo::particle_id_pair_type& p(
+ world_->choice(*(rule_.reactants().begin())));
+ const ReactionRule::product_container_type& products(rule_.products());
+
+ time_ += draw_dt();
+ switch (products.size())
+ {
+ case 0:
+ {
+ world_->remove_voxel(p.second.coordinate());
+ ReactionInfo rinfo(world_->t());
+ rinfo.add_reactant(p);
+ push_reaction(std::make_pair(rule_, rinfo));
+ }
+ break;
+ case 1:
+ push_reaction(std::make_pair(rule_, apply_a2b(world_, p, *(products.begin()))));
+ break;
+ case 2:
+ {
+ ReactionInfo rinfo(apply_a2bc(world_, p,
+ *(products.begin()), (*(++products.begin()))));
+ if (rinfo.has_occurred())
+ push_reaction(std::make_pair(rule_, rinfo));
+ }
+ break;
+ }
+}
+
+Real FirstOrderReactionEvent::draw_dt()
+{
+ const Species& reactant(*(rule_.reactants().begin()));
+ const Integer num_r(world_->num_voxels_exact(reactant));
+ const Real k(rule_.k());
+ const Real p = k * num_r;
+ Real dt(inf);
+ if (p != 0.)
+ {
+ const Real rnd(world_->rng()->uniform(0.,1.));
+ dt = - log(1 - rnd) / p;
+ }
+ return dt;
+}
+
+} // spatiocyte
+
+} // ecell4
diff --git a/ecell4/spatiocyte/SpatiocyteEvent.hpp b/ecell4/spatiocyte/SpatiocyteEvent.hpp
new file mode 100644
index 0000000..045371f
--- /dev/null
+++ b/ecell4/spatiocyte/SpatiocyteEvent.hpp
@@ -0,0 +1,132 @@
+#ifndef __ECELL4_SPATIOCYTE_EVENT_HPP
+#define __ECELL4_SPATIOCYTE_EVENT_HPP
+
+#include <ecell4/core/ReactionRule.hpp>
+#include <ecell4/core/EventScheduler.hpp>
+#include <ecell4/core/Model.hpp>
+#include "SpatiocyteReactions.hpp"
+#include "SpatiocyteWorld.hpp"
+
+namespace ecell4
+{
+
+namespace spatiocyte
+{
+
+struct SpatiocyteEvent : public Event
+{
+public:
+ typedef std::pair<ReactionRule, ReactionInfo> reaction_type;
+
+ SpatiocyteEvent(Real const& time) : Event(time) {}
+ virtual ~SpatiocyteEvent() {}
+
+ const std::vector<reaction_type>& reactions() const
+ {
+ return reactions_;
+ }
+
+ virtual void fire() {
+ reactions_.clear();
+ fire_();
+ }
+
+protected:
+ virtual void fire_() = 0;
+
+ void push_reaction(const reaction_type& reaction)
+ {
+ reactions_.push_back(reaction);
+ }
+
+ std::vector<reaction_type> reactions_;
+
+};
+
+struct StepEvent : SpatiocyteEvent
+{
+ StepEvent(boost::shared_ptr<Model> model, boost::shared_ptr<SpatiocyteWorld> world,
+ const Species& species, const Real& t, const Real alpha=1.0);
+ virtual ~StepEvent() {}
+ virtual void fire_();
+
+ Species const& species() const
+ {
+ return species_;
+ }
+
+ Real const& alpha() const
+ {
+ return alpha_;
+ }
+
+ void walk(const Real& alpha);
+
+protected:
+
+ typedef enum
+ {
+ NO_REACTION = 0,
+ REACTION_FAILED = 1,
+ REACTION_SUCCEEDED = 2
+ } attempt_reaction_result_type;
+
+ void walk_in_space_(const MoleculePool* mtype, const Real& alpha);
+ void walk_on_surface_(const MoleculePool* mtype, const Real& alpha);
+ std::pair<attempt_reaction_result_type, reaction_type> attempt_reaction_(
+ const SpatiocyteWorld::coordinate_id_pair_type& info,
+ const SpatiocyteWorld::coordinate_type to_coord, const Real& alpha);
+
+ boost::shared_ptr<Model> model_;
+ boost::shared_ptr<SpatiocyteWorld> world_;
+ Species species_;
+ VoxelPool* mt_;
+ const Real alpha_;
+ std::vector<unsigned int> nids_; // neighbor indexes
+};
+
+struct ZerothOrderReactionEvent : SpatiocyteEvent
+{
+ ZerothOrderReactionEvent(
+ boost::shared_ptr<SpatiocyteWorld> world, const ReactionRule& rule, const Real& t);
+
+ virtual ~ZerothOrderReactionEvent() {}
+ virtual void fire_();
+
+ Real draw_dt();
+ virtual void interrupt(Real const& t)
+ {
+ time_ = t + draw_dt();
+ }
+
+protected:
+
+ boost::shared_ptr<SpatiocyteWorld> world_;
+ ReactionRule rule_;
+};
+
+struct FirstOrderReactionEvent : SpatiocyteEvent
+{
+ FirstOrderReactionEvent(
+ boost::shared_ptr<SpatiocyteWorld> world, const ReactionRule& rule, const Real& t);
+
+ virtual ~FirstOrderReactionEvent() {}
+ virtual void fire_();
+
+ Real draw_dt();
+ virtual void interrupt(Real const& t)
+ {
+ time_ = t + draw_dt();
+ }
+
+protected:
+
+ boost::shared_ptr<SpatiocyteWorld> world_;
+ ReactionRule rule_;
+};
+
+} // spatiocyte
+
+} // ecell4
+
+#endif /* __ECELL4_SPATIOCYTE_EVENT_HPP */
diff --git a/ecell4/spatiocyte/SpatiocyteFactory.hpp b/ecell4/spatiocyte/SpatiocyteFactory.hpp
new file mode 100644
index 0000000..32e2e4c
--- /dev/null
+++ b/ecell4/spatiocyte/SpatiocyteFactory.hpp
@@ -0,0 +1,104 @@
+#ifndef __ECELL4_LATTICE_LATTICE_FACTORY_HPP
+#define __ECELL4_LATTICE_LATTICE_FACTORY_HPP
+
+#include <ecell4/core/SimulatorFactory.hpp>
+#include <ecell4/core/RandomNumberGenerator.hpp>
+
+#include <ecell4/core/extras.hpp>
+#include "SpatiocyteWorld.hpp"
+#include "SpatiocyteSimulator.hpp"
+
+
+namespace ecell4
+{
+
+namespace spatiocyte
+{
+
+class SpatiocyteFactory:
+ public SimulatorFactory<SpatiocyteWorld, SpatiocyteSimulator>
+{
+public:
+
+ typedef SimulatorFactory<SpatiocyteWorld, SpatiocyteSimulator> base_type;
+
+public:
+
+ SpatiocyteFactory(const Real voxel_radius = default_voxel_radius())
+ : base_type(), rng_(), voxel_radius_(voxel_radius)
+ {
+ ; // do nothing
+ }
+
+ static inline const Real default_voxel_radius()
+ {
+ return 0.0;
+ }
+
+ virtual ~SpatiocyteFactory()
+ {
+ ; // do nothing
+ }
+
+ SpatiocyteFactory& rng(const boost::shared_ptr<RandomNumberGenerator>& rng)
+ {
+ rng_ = rng;
+ return (*this);
+ }
+
+ inline SpatiocyteFactory* rng_ptr(const boost::shared_ptr<RandomNumberGenerator>& rng)
+ {
+ return &(this->rng(rng)); //XXX: == this
+ }
+
+ virtual SpatiocyteWorld* create_world(const std::string filename) const
+ {
+ return new SpatiocyteWorld(filename);
+ }
+
+ virtual SpatiocyteWorld* create_world(
+ const Real3& edge_lengths = Real3(1, 1, 1)) const
+ {
+ if (rng_)
+ {
+ return new SpatiocyteWorld(edge_lengths, voxel_radius_, rng_);
+ }
+ else if (voxel_radius_ > 0)
+ {
+ return new SpatiocyteWorld(edge_lengths, voxel_radius_);
+ }
+ else
+ {
+ return new SpatiocyteWorld(edge_lengths);
+ }
+ }
+
+ virtual SpatiocyteWorld* create_world(const boost::shared_ptr<Model>& m) const
+ {
+ return extras::generate_world_from_model(*this, m);
+ }
+
+ virtual SpatiocyteSimulator* create_simulator(
+ const boost::shared_ptr<Model>& model,
+ const boost::shared_ptr<world_type>& world) const
+ {
+ return new SpatiocyteSimulator(model, world);
+ }
+
+ virtual SpatiocyteSimulator* create_simulator(
+ const boost::shared_ptr<world_type>& world) const
+ {
+ return new SpatiocyteSimulator(world);
+ }
+
+protected:
+
+ Real voxel_radius_;
+ boost::shared_ptr<RandomNumberGenerator> rng_;
+};
+
+} // spatiocyte
+
+} // ecell4
+
+#endif /* __ECELL4_LATTICE_LATTICE_FACTORY_HPP */
diff --git a/ecell4/spatiocyte/SpatiocyteReactions.cpp b/ecell4/spatiocyte/SpatiocyteReactions.cpp
new file mode 100644
index 0000000..3bb7f28
--- /dev/null
+++ b/ecell4/spatiocyte/SpatiocyteReactions.cpp
@@ -0,0 +1,466 @@
+#include "SpatiocyteReactions.hpp"
+#include "SpatiocyteWorld.hpp"
+
+namespace ecell4
+{
+
+namespace spatiocyte
+{
+
+// Utilities
+
+const std::string get_serial(boost::shared_ptr<SpatiocyteWorld> world,
+ const SpatiocyteWorld::coordinate_type coord)
+{
+ const VoxelPool* mtype(world->get_voxel_pool_at(coord));
+ return mtype->is_vacant() ? "" : mtype->species().serial();
+}
+
+const std::string get_location(boost::shared_ptr<SpatiocyteWorld> world,
+ const SpatiocyteWorld::coordinate_type coord)
+{
+ const VoxelPool* mtype(world->get_voxel_pool_at(coord));
+ if (mtype->is_vacant())
+ return "";
+ const VoxelPool* ltype(mtype->location());
+ return ltype->is_vacant() ? "" : ltype->species().serial();
+}
+
+// Application of reactions
+
+ReactionInfo apply_a2b(
+ boost::shared_ptr<SpatiocyteWorld> world,
+ const ReactionInfo::particle_id_pair_type& p,
+ const Species& product_species)
+{
+ const SpatiocyteWorld::coordinate_type coord(p.second.coordinate());
+ const std::string bloc(world->get_molecule_info(product_species).loc);
+ const std::string aserial(get_serial(world, coord));
+ const std::string aloc(get_location(world, coord));
+ const std::string bserial(product_species.serial());
+
+ ReactionInfo rinfo(world->t());
+
+ if (aserial == bloc || aloc == bloc || aloc == bserial)
+ {
+ // A is the location of B (B can be placed on A),
+ // or A is on the location of B,
+ // or A is on B.
+ rinfo.add_reactant(p);
+
+ if (aserial != bloc)
+ {
+ // Remove A once if A is not the location of B
+ world->remove_voxel(p.second.coordinate());
+ }
+
+ if (aloc != bserial)
+ {
+ // Place a new B-molecule at the position of A
+ std::pair<std::pair<ParticleID, Voxel>, bool> new_mol(
+ world->new_voxel(product_species, coord));
+ rinfo.add_product(new_mol.first);
+ }
+ else
+ {
+ // When B is the location of A, it's enough to remove A
+ rinfo.add_product(world->get_voxel_at(coord));
+ }
+ }
+ else
+ {
+ // A is NOT on the location of B.
+ // B must be released into a neighbor, which is the location of B
+ std::pair<SpatiocyteWorld::coordinate_type, bool>
+ neighbor(world->check_neighbor(coord, bloc));
+
+ if (neighbor.second)
+ {
+ // The neighbor is the location of B.
+ // Place B at the neighbor, and remove A.
+ rinfo.add_reactant(p);
+
+ world->remove_voxel(p.second.coordinate());
+ std::pair<std::pair<ParticleID, Voxel>, bool> new_mol(
+ world->new_voxel(product_species, neighbor.first));
+
+ rinfo.add_product(new_mol.first);
+ }
+ }
+ return rinfo;
+}
+
+ReactionInfo apply_a2bc(
+ boost::shared_ptr<SpatiocyteWorld> world,
+ const ReactionInfo::particle_id_pair_type& p,
+ const Species& product_species0,
+ const Species& product_species1)
+{
+ // A (pinfo) becomes B and C (product_species0 and product_species1)
+ // At least, one of A and B must be placed at the neighbor.
+ const SpatiocyteWorld::coordinate_type coord(p.second.coordinate());
+ const std::string
+ bserial(product_species0.serial()),
+ cserial(product_species1.serial()),
+ bloc(world->get_molecule_info(product_species0).loc),
+ cloc(world->get_molecule_info(product_species1).loc);
+ const std::string aserial(get_serial(world, coord));
+ const std::string aloc(get_location(world, coord));
+
+ ReactionInfo rinfo(world->t());
+
+ if (aserial == bloc || aloc == bloc || aloc == bserial)
+ {
+ // A is the locaiton of B,
+ // or A is on the location of B,
+ // or B is the location of A
+ // C must be placed at the neighbor
+
+ std::pair<SpatiocyteWorld::coordinate_type, bool>
+ neighbor(world->check_neighbor(coord, cloc));
+ const std::string nserial(get_serial(world, neighbor.first));
+ const std::string nloc(get_location(world, neighbor.first));
+
+ if (!neighbor.second)
+ {
+ //TODO: C cannot be on the neighbor.
+ return rinfo;
+ }
+
+ rinfo.add_reactant(p);
+
+ if (aserial != bloc)
+ {
+ // Remove A once if A is not the location of a new B-molecule
+ world->remove_voxel(p.second.coordinate());
+ }
+
+ // No need to remove the neighbor because it's the location of C
+ // world->remove_voxel(neighbor.first);
+
+ if (aloc != bserial)
+ {
+ // Place a new B-molecule at the position of A
+ std::pair<std::pair<ParticleID, Voxel>, bool> new_mol0(
+ world->new_voxel(product_species0, coord));
+ rinfo.add_product(new_mol0.first);
+ }
+ else
+ {
+ // When B is the location of A, it's enough to remove A
+ rinfo.add_product(world->get_voxel_at(coord));
+ }
+
+ // Place a new C-molecule at the neighbor
+ std::pair<std::pair<ParticleID, Voxel>, bool> new_mol1(
+ world->new_voxel(product_species1, neighbor.first));
+ rinfo.add_product(new_mol1.first);
+ return rinfo;
+ }
+ else if (aserial == cloc || aloc == cloc || aloc == cserial)
+ {
+ // A is the locaiton of C,
+ // or A is on the location of C,
+ // or C is the location of A
+ // B must be placed at the neighbor
+ std::pair<SpatiocyteWorld::coordinate_type, bool>
+ neighbor(world->check_neighbor(coord, bloc));
+ const std::string nserial(get_serial(world, neighbor.first));
+ const std::string nloc(get_location(world, neighbor.first));
+
+ if (!neighbor.second)
+ {
+ //TODO: B cannot be on the neighbor.
+ return rinfo;
+ }
+
+ rinfo.add_reactant(p);
+
+ if (aserial != cloc)
+ {
+ // Remove A once if A is not the location of a new C-molecule
+ world->remove_voxel(p.second.coordinate());
+ }
+
+ // No need to remove the neighbor because it's the location of B
+ // world->remove_voxel(neighbor.first);
+
+ // Place a new B-molecule at the neighbor
+ std::pair<std::pair<ParticleID, Voxel>, bool> new_mol0(
+ world->new_voxel(product_species0, neighbor.first));
+ rinfo.add_product(new_mol0.first);
+
+ if (aloc != cserial)
+ {
+ // Place a new C-molecule at the position of A
+ std::pair<std::pair<ParticleID, Voxel>, bool> new_mol1(
+ world->new_voxel(product_species1, coord));
+ rinfo.add_product(new_mol1.first);
+ }
+ else
+ {
+ // When C is the location of A, it's enough to remove A
+ rinfo.add_product(world->get_voxel_at(coord));
+ }
+ return rinfo;
+ }
+ return rinfo;
+}
+
+ReactionInfo apply_vanishment(
+ boost::shared_ptr<SpatiocyteWorld> world,
+ const ReactionInfo::particle_id_pair_type& p0,
+ const ReactionInfo::particle_id_pair_type& p1)
+{
+ ReactionInfo rinfo(world->t());
+ rinfo.add_reactant(p0);
+ rinfo.add_reactant(p1);
+
+ world->remove_voxel(p0.second.coordinate());
+ world->remove_voxel(p1.second.coordinate());
+
+ return rinfo;
+}
+
+ReactionInfo apply_ab2c(
+ boost::shared_ptr<SpatiocyteWorld> world,
+ const ReactionInfo::particle_id_pair_type& p0,
+ const ReactionInfo::particle_id_pair_type& p1,
+ const Species& product_species)
+{
+ // A and B (from_info and to_info) become C (product_species)
+ const std::string location(world->get_molecule_info(product_species).loc);
+ const std::string fserial(get_serial(world, p0.second.coordinate()));
+ const std::string floc(get_location(world, p0.second.coordinate()));
+ const std::string tserial(get_serial(world, p1.second.coordinate()));
+ const std::string tloc(get_location(world, p1.second.coordinate()));
+
+ ReactionInfo rinfo(world->t());
+
+ if (tserial == location || tloc == location)
+ {
+ // B is on the location of C, or the location itself.
+ // Place C at the coordinate of B, and remove A.
+ rinfo.add_reactant(p0);
+ rinfo.add_reactant(p1);
+
+ if (tserial != location)
+ {
+ world->remove_voxel(p1.second.coordinate());
+ }
+
+ world->remove_voxel(p0.second.coordinate());
+ std::pair<std::pair<ParticleID, Voxel>, bool> new_mol(
+ world->new_voxel(product_species, p1.second.coordinate()));
+
+ rinfo.add_product(new_mol.first);
+ }
+ else if (fserial == location || floc == location)
+ {
+ // A is on the location of C, or the location itself.
+ // Place C at the coordinate of A, and remove B.
+ rinfo.add_reactant(p0);
+ rinfo.add_reactant(p1);
+
+ if (fserial != location)
+ {
+ world->remove_voxel(p0.second.coordinate());
+ }
+
+ world->remove_voxel(p1.second.coordinate());
+ std::pair<std::pair<ParticleID, Voxel>, bool> new_mol(
+ world->new_voxel(product_species, p0.second.coordinate()));
+
+ rinfo.add_product(new_mol.first);
+ }
+ return rinfo;
+}
+
+// For apply_ab2cd
+ReactionInfo apply_ab2cd_in_order(
+ boost::shared_ptr<SpatiocyteWorld> world,
+ const ReactionInfo::particle_id_pair_type& p0,
+ const ReactionInfo::particle_id_pair_type& p1,
+ const Species& product_species0,
+ const Species& product_species1,
+ const SpatiocyteWorld::coordinate_type coord0,
+ const SpatiocyteWorld::coordinate_type coord1)
+{
+ ReactionInfo rinfo(world->t());
+ rinfo.add_reactant(p0);
+ rinfo.add_reactant(p1);
+
+ std::pair<std::pair<ParticleID, Voxel>, bool> new_mol0(
+ world->new_voxel(product_species0, coord0));
+ if (!new_mol0.second)
+ {
+ throw IllegalState("no place for " + product_species0.serial());
+ }
+ std::pair<std::pair<ParticleID, Voxel>, bool> new_mol1(
+ world->new_voxel(product_species1, coord1));
+ if (!new_mol1.second)
+ {
+ throw IllegalState("no place for " + product_species1.serial());
+ }
+
+ rinfo.add_product(new_mol0.first);
+ rinfo.add_product(new_mol1.first);
+
+ return rinfo;
+}
+
+ReactionInfo apply_ab2cd(
+ boost::shared_ptr<SpatiocyteWorld> world,
+ const ReactionInfo::particle_id_pair_type& p0,
+ const ReactionInfo::particle_id_pair_type& p1,
+ const Species& product_species0,
+ const Species& product_species1)
+{
+ const SpatiocyteWorld::coordinate_type from_coord(p0.second.coordinate());
+ const SpatiocyteWorld::coordinate_type to_coord(p1.second.coordinate());
+ const std::string aserial(get_serial(world, from_coord));
+ const std::string aloc(get_location(world, from_coord));
+ const std::string bserial(get_serial(world, to_coord));
+ const std::string bloc(get_location(world, to_coord));
+ const std::string cloc(world->get_molecule_info(product_species0).loc);
+ const std::string dloc(world->get_molecule_info(product_species1).loc);
+
+ if (aserial == cloc || aloc == cloc)
+ {
+ if (bserial == dloc || bloc == dloc)
+ {
+ if (aserial != cloc)
+ {
+ // Remove A once if A is not the location of C
+ world->remove_voxel(p0.second.coordinate());
+ }
+ if (bserial != dloc)
+ {
+ // Remove B once if B is not the location of D
+ world->remove_voxel(p1.second.coordinate());
+ }
+ return apply_ab2cd_in_order(
+ world, p0, p1, product_species0, product_species1,
+ from_coord, to_coord);
+ }
+ else
+ {
+ std::pair<SpatiocyteWorld::coordinate_type, bool>
+ neighbor(world->check_neighbor(to_coord, dloc));
+
+ if (neighbor.second)
+ {
+ world->remove_voxel(p1.second.coordinate());
+ if (aserial != cloc)
+ {
+ // Remove A once if A is not the location of C
+ world->remove_voxel(p0.second.coordinate());
+ }
+ return apply_ab2cd_in_order(
+ world, p0, p1, product_species0, product_species1,
+ from_coord, neighbor.first);
+ }
+ }
+ }
+ else if (aserial == dloc || aloc == dloc)
+ {
+ if (bserial == cloc || bloc == dloc)
+ {
+ if (aserial != dloc)
+ {
+ // Remove A once if A is not the location of D
+ world->remove_voxel(p0.second.coordinate());
+ }
+ if (bserial != cloc)
+ {
+ // Remove B once if B is not the location of C
+ world->remove_voxel(p1.second.coordinate());
+ }
+ return apply_ab2cd_in_order(
+ world, p0, p1, product_species0, product_species1,
+ to_coord, from_coord);
+ }
+ else
+ {
+ std::pair<SpatiocyteWorld::coordinate_type, bool>
+ neighbor(world->check_neighbor(to_coord, cloc));
+
+ if (neighbor.second)
+ {
+ world->remove_voxel(p1.second.coordinate());
+ if (aserial != dloc)
+ {
+ // Remove A once if A is not the location of D
+ world->remove_voxel(p0.second.coordinate());
+ }
+ return apply_ab2cd_in_order(
+ world, p0, p1, product_species0, product_species1,
+ neighbor.first, from_coord);
+ }
+ }
+ }
+ else if (bserial == cloc || bloc == cloc)
+ {
+ std::pair<SpatiocyteWorld::coordinate_type, bool>
+ neighbor(world->check_neighbor(to_coord, dloc));
+
+ if (neighbor.second)
+ {
+ world->remove_voxel(p0.second.coordinate());
+ if (bserial != cloc)
+ {
+ // Remove B once if B is not the location of C
+ world->remove_voxel(p1.second.coordinate());
+ }
+ return apply_ab2cd_in_order(
+ world, p0, p1, product_species0, product_species1,
+ to_coord, neighbor.first);
+ }
+ }
+ else if (bserial == dloc || bloc == dloc)
+ {
+ std::pair<SpatiocyteWorld::coordinate_type, bool>
+ neighbor(world->check_neighbor(to_coord, dloc));
+
+ if (neighbor.second)
+ {
+ world->remove_voxel(p0.second.coordinate());
+ if (bserial != dloc)
+ {
+ // Remove B once if B is not the location of D
+ world->remove_voxel(p1.second.coordinate());
+ }
+ return apply_ab2cd_in_order(
+ world, p0, p1, product_species0, product_species1,
+ neighbor.first, to_coord);
+ }
+ }
+ return ReactionInfo(world->t());
+}
+
+ReactionInfo apply_second_order_reaction(
+ boost::shared_ptr<SpatiocyteWorld> world,
+ const ReactionRule& reaction_rule,
+ const ReactionInfo::particle_id_pair_type& p0,
+ const ReactionInfo::particle_id_pair_type& p1)
+{
+ const ReactionRule::product_container_type&
+ products(reaction_rule.products());
+
+ switch (products.size())
+ {
+ case 0:
+ return apply_vanishment(world, p0, p1);
+ case 1:
+ return apply_ab2c(world, p0, p1, *(products.begin()));
+ case 2:
+ return apply_ab2cd(world, p0, p1,
+ *(products.begin()), *(++(products.begin())));
+ default:
+ return ReactionInfo(world->t());
+ }
+}
+
+} // spatiocyte
+
+} // ecell4
diff --git a/ecell4/spatiocyte/SpatiocyteReactions.hpp b/ecell4/spatiocyte/SpatiocyteReactions.hpp
new file mode 100644
index 0000000..56b5fdd
--- /dev/null
+++ b/ecell4/spatiocyte/SpatiocyteReactions.hpp
@@ -0,0 +1,124 @@
+#ifndef __ECELL4_SPATIOCYTE_REACTIONS_HPP
+#define __ECELL4_SPATIOCYTE_REACTIONS_HPP
+
+#include <boost/shared_ptr.hpp>
+#include <ecell4/core/VoxelPool.hpp>
+#include <ecell4/core/ReactionRule.hpp>
+
+namespace ecell4
+{
+
+namespace spatiocyte
+{
+
+class ReactionInfo
+{
+public:
+
+ typedef std::pair<ParticleID, Voxel> particle_id_pair_type;
+ typedef std::vector<particle_id_pair_type> container_type;
+
+public:
+
+ ReactionInfo() : t_(0), reactants_(), products_() {}
+
+ ReactionInfo(const Real t) : t_(t), reactants_(), products_() {}
+
+ ReactionInfo(
+ const Real t,
+ const container_type& reactants,
+ const container_type& products)
+ : t_(t), reactants_(reactants), products_(products) {}
+
+ ReactionInfo(const ReactionInfo& another)
+ : t_(another.t()), reactants_(another.reactants()), products_(another.products()) {}
+
+ Real t() const
+ {
+ return t_;
+ }
+
+ bool has_occurred() const
+ {
+ return reactants_.size() > 0 || products_.size() > 0;
+ }
+
+ const container_type& reactants() const
+ {
+ return reactants_;
+ }
+
+ void add_reactant(const particle_id_pair_type& pid_pair)
+ {
+ reactants_.push_back(pid_pair);
+ }
+
+ const container_type& products() const
+ {
+ return products_;
+ }
+
+ void add_product(const particle_id_pair_type& pid_pair)
+ {
+ products_.push_back(pid_pair);
+ }
+
+protected:
+
+ Real t_;
+ container_type reactants_, products_;
+};
+
+// Application of reactions
+
+class SpatiocyteWorld;
+
+ReactionInfo apply_a2b(
+ boost::shared_ptr<SpatiocyteWorld> world,
+ const ReactionInfo::particle_id_pair_type& p,
+ const Species& product_species);
+
+ReactionInfo apply_a2bc(
+ boost::shared_ptr<SpatiocyteWorld> world,
+ const ReactionInfo::particle_id_pair_type& p,
+ const Species& product_species0,
+ const Species& product_species1);
+
+ReactionInfo apply_second_order_reaction(
+ boost::shared_ptr<SpatiocyteWorld> world,
+ const ReactionRule& reaction_rule,
+ const ReactionInfo::particle_id_pair_type& p0,
+ const ReactionInfo::particle_id_pair_type& p1);
+
+ReactionInfo apply_vanishment(
+ boost::shared_ptr<SpatiocyteWorld> world,
+ const ReactionInfo::particle_id_pair_type& p0,
+ const ReactionInfo::particle_id_pair_type& p1);
+
+ReactionInfo apply_ab2c(
+ boost::shared_ptr<SpatiocyteWorld> world,
+ const ReactionInfo::particle_id_pair_type& p0,
+ const ReactionInfo::particle_id_pair_type& p1,
+ const Species& product_species);
+
+// ReactionInfo apply_ab2cd_in_order(
+// boost::shared_ptr<SpatiocyteWorld> world,
+// const ReactionInfo::particle_id_pair_type& p0,
+// const ReactionInfo::particle_id_pair_type& p1,
+// const Species& product_species0,
+// const Species& product_species1,
+// const SpatiocyteWorld::coordinate_type coord0,
+// const SpatiocyteWorld::coordinate_type coord1);
+
+ReactionInfo apply_ab2cd(
+ boost::shared_ptr<SpatiocyteWorld> world,
+ const ReactionInfo::particle_id_pair_type& p0,
+ const ReactionInfo::particle_id_pair_type& p1,
+ const Species& product_species0,
+ const Species& product_species1);
+
+} // spatiocyte
+
+} // ecell4
+
+#endif /* __ECELL4_SPATIOCYTE_REACTIONS_HPP */
diff --git a/ecell4/spatiocyte/SpatiocyteSimulator.cpp b/ecell4/spatiocyte/SpatiocyteSimulator.cpp
new file mode 100644
index 0000000..d0c2e50
--- /dev/null
+++ b/ecell4/spatiocyte/SpatiocyteSimulator.cpp
@@ -0,0 +1,211 @@
+#include "SpatiocyteSimulator.hpp"
+#include "utils.hpp"
+
+#include <algorithm>
+#include <iterator>
+#include <ecell4/core/StructureType.hpp>
+
+namespace ecell4
+{
+
+namespace spatiocyte
+{
+
+void SpatiocyteSimulator::initialize()
+{
+ last_reactions_.clear();
+
+ scheduler_.clear();
+ update_alpha_map();
+ const std::vector<Species> species(world_->list_species());
+ for (std::vector<Species>::const_iterator itr(species.begin());
+ itr != species.end(); ++itr)
+ {
+ register_events(*itr);
+ }
+
+
+ const std::vector<ReactionRule>& rules(model_->reaction_rules());
+ for (std::vector<ReactionRule>::const_iterator i(rules.begin());
+ i != rules.end(); ++i)
+ {
+ const ReactionRule& rr(*i);
+ if (rr.reactants().size() != 0)
+ {
+ continue;
+ }
+ const boost::shared_ptr<SpatiocyteEvent>
+ zeroth_order_reaction_event(
+ create_zeroth_order_reaction_event(rr, world_->t()));
+ scheduler_.add(zeroth_order_reaction_event);
+ }
+
+ dt_ = scheduler_.next_time() - t();
+}
+
+void SpatiocyteSimulator::update_alpha_map()
+{
+ boost::shared_ptr<Model> model_(model());
+ if (!model_ || !model_->is_static())
+ return;
+
+ const Model::reaction_rule_container_type reaction_rules(model_->reaction_rules());
+ for (Model::reaction_rule_container_type::const_iterator itr(reaction_rules.begin());
+ itr != reaction_rules.end(); ++itr)
+ {
+ const ReactionRule::reactant_container_type& reactants((*itr).reactants());
+ if (reactants.size() != 2)
+ continue;
+
+ const Real alpha(calculate_alpha(*itr, world_));
+ for (int i(0); i < 2; ++i) {
+ const Species& sp(reactants.at(i));
+ alpha_map_type::iterator map_itr(alpha_map_.find(sp));
+ if (map_itr == alpha_map_.end())
+ alpha_map_.insert(alpha_map_type::value_type(sp, alpha));
+ else if ((*map_itr).second > alpha)
+ (*map_itr).second = alpha;
+ }
+ }
+}
+
+void SpatiocyteSimulator::register_events(const Species& sp)
+{
+ if (world_->has_molecule_pool(sp))
+ {
+ //TODO: Call steps only if sp is assigned not to StructureType.
+ alpha_map_type::const_iterator itr(alpha_map_.find(sp));
+ const Real alpha(itr != alpha_map_.end() ? itr->second : 1.0);
+ const boost::shared_ptr<SpatiocyteEvent> step_event(
+ create_step_event(sp, world_->t(), alpha));
+ scheduler_.add(step_event);
+ }
+
+ std::vector<ReactionRule> reaction_rules(model_->query_reaction_rules(sp));
+ for (std::vector<ReactionRule>::const_iterator i(reaction_rules.begin());
+ i != reaction_rules.end(); ++i)
+ {
+ const ReactionRule& rr(*i);
+ const boost::shared_ptr<SpatiocyteEvent>
+ first_order_reaction_event(
+ create_first_order_reaction_event(rr, world_->t()));
+ scheduler_.add(first_order_reaction_event);
+ }
+}
+
+boost::shared_ptr<SpatiocyteEvent> SpatiocyteSimulator::create_step_event(
+ const Species& species, const Real& t, const Real& alpha)
+{
+ boost::shared_ptr<SpatiocyteEvent> event(
+ new StepEvent(model_, world_, species, t, alpha));
+ return event;
+}
+
+boost::shared_ptr<SpatiocyteEvent>
+SpatiocyteSimulator::create_zeroth_order_reaction_event(
+ const ReactionRule& reaction_rule, const Real& t)
+{
+ boost::shared_ptr<SpatiocyteEvent> event(
+ new ZerothOrderReactionEvent(world_, reaction_rule, t));
+ return event;
+}
+
+boost::shared_ptr<SpatiocyteEvent>
+SpatiocyteSimulator::create_first_order_reaction_event(
+ const ReactionRule& reaction_rule, const Real& t)
+{
+ boost::shared_ptr<SpatiocyteEvent> event(new FirstOrderReactionEvent(
+ world_, reaction_rule, t));
+ return event;
+}
+
+void SpatiocyteSimulator::finalize()
+{
+ scheduler_type::events_range events(scheduler_.events());
+ for (scheduler_type::events_range::iterator itr(events.begin());
+ itr != events.end(); ++itr)
+ {
+ const Real queued_time((*itr).second->time() - (*itr).second->dt());
+ StepEvent* step_event(dynamic_cast<StepEvent*>((*itr).second.get()));
+ if (step_event != NULL && queued_time < t())
+ {
+ const Real alpha((t() - queued_time) / (*itr).second->dt());
+ step_event->walk(alpha);
+ }
+ }
+
+ initialize();
+}
+
+void SpatiocyteSimulator::step()
+{
+ step_();
+ dt_ = scheduler_.next_time() - t();
+}
+
+bool SpatiocyteSimulator::step(const Real& upto)
+{
+ if (upto < t())
+ {
+ return false;
+ }
+
+ if (scheduler_.size() > 0 && upto >= scheduler_.top().second->time())
+ {
+ step_();
+ dt_ = scheduler_.next_time() - t();
+ return true;
+ }
+
+ world_->set_t(upto);
+ last_reactions_.clear();
+ dt_ = scheduler_.next_time() - t();
+ finalize();
+ return false;
+}
+
+void SpatiocyteSimulator::step_()
+{
+
+ scheduler_type::value_type top(scheduler_.pop());
+ const Real time(top.second->time());
+ world_->set_t(time);
+ top.second->fire(); // top.second->time_ is updated in fire()
+ set_last_event_(boost::const_pointer_cast<const SpatiocyteEvent>(top.second));
+
+ last_reactions_ = last_event_->reactions();
+
+ std::vector<Species> new_species;
+ for (std::vector<reaction_type>::const_iterator itr(last_reactions().begin());
+ itr != last_reactions().end(); ++itr)
+ for (ReactionInfo::container_type::const_iterator
+ product((*itr).second.products().begin());
+ product != (*itr).second.products().end(); ++product)
+ {
+ const Species& species((*product).second.species());
+ if (!world_->has_species(species))
+ new_species.push_back(species);
+ }
+
+ scheduler_type::events_range events(scheduler_.events());
+ for (scheduler_type::events_range::iterator itr(events.begin());
+ itr != events.end(); ++itr)
+ {
+ (*itr).second->interrupt(time);
+ scheduler_.update(*itr);
+ }
+ scheduler_.add(top.second);
+
+ // update_alpha_map(); // may be performance cost
+ for (std::vector<Species>::const_iterator itr(new_species.begin());
+ itr != new_species.end(); ++itr)
+ {
+ register_events(*itr);
+ }
+
+ num_steps_++;
+}
+
+} // spatiocyte
+
+} // ecell4
diff --git a/ecell4/spatiocyte/SpatiocyteSimulator.hpp b/ecell4/spatiocyte/SpatiocyteSimulator.hpp
new file mode 100644
index 0000000..a3fe7c1
--- /dev/null
+++ b/ecell4/spatiocyte/SpatiocyteSimulator.hpp
@@ -0,0 +1,105 @@
+#ifndef __ECELL4_LATTICE_LATTICE_SIMULATOR_HPP
+#define __ECELL4_LATTICE_LATTICE_SIMULATOR_HPP
+
+#include <numeric>
+#include <boost/shared_ptr.hpp>
+#include <boost/lexical_cast.hpp>
+
+#include <ecell4/core/Model.hpp>
+#include <ecell4/core/ReactionRule.hpp>
+#include <ecell4/core/VoxelPool.hpp>
+#include <ecell4/core/SimulatorBase.hpp>
+#include <ecell4/core/RandomNumberGenerator.hpp>
+#include <ecell4/core/EventScheduler.hpp>
+#include <ecell4/core/get_mapper_mf.hpp>
+
+#include "SpatiocyteWorld.hpp"
+#include "SpatiocyteEvent.hpp"
+
+namespace ecell4
+{
+
+namespace spatiocyte
+{
+
+class SpatiocyteSimulator
+ : public SimulatorBase<Model, SpatiocyteWorld>
+{
+public:
+
+ typedef SimulatorBase<Model, SpatiocyteWorld> base_type;
+ typedef SpatiocyteEvent::reaction_type reaction_type;
+ typedef EventSchedulerBase<SpatiocyteEvent> scheduler_type;
+ typedef utils::get_mapper_mf<Species, Real>::type alpha_map_type;
+
+public:
+
+ SpatiocyteSimulator(
+ boost::shared_ptr<Model> model,
+ boost::shared_ptr<SpatiocyteWorld> world)
+ : base_type(model, world)
+ {
+ initialize();
+ }
+
+ SpatiocyteSimulator(
+ boost::shared_ptr<SpatiocyteWorld> world)
+ : base_type(world)
+ {
+ initialize();
+ }
+
+ virtual Real dt() const
+ {
+ return dt_;
+ }
+
+ void initialize();
+ void finalize();
+ void step();
+ bool step(const Real& upto);
+
+ virtual bool check_reaction() const
+ {
+ return last_reactions().size() > 0;
+ }
+
+ const std::vector<SpatiocyteEvent::reaction_type>& last_reactions() const
+ {
+ // return last_event_->reactions();
+ return last_reactions_;
+ }
+
+protected:
+
+ boost::shared_ptr<SpatiocyteEvent> create_step_event(
+ const Species& species, const Real& t, const Real& alpha);
+ boost::shared_ptr<SpatiocyteEvent> create_zeroth_order_reaction_event(
+ const ReactionRule& reaction_rule, const Real& t);
+ boost::shared_ptr<SpatiocyteEvent> create_first_order_reaction_event(
+ const ReactionRule& reaction_rule, const Real& t);
+
+ void step_();
+ void register_events(const Species& species);
+ void update_alpha_map();
+
+ void set_last_event_(boost::shared_ptr<const SpatiocyteEvent> event)
+ {
+ last_event_ = event;
+ }
+
+protected:
+
+ scheduler_type scheduler_; boost::shared_ptr<const SpatiocyteEvent> last_event_;
+ alpha_map_type alpha_map_;
+
+ std::vector<reaction_type> last_reactions_;
+
+ Real dt_;
+};
+
+} // spatiocyte
+
+} // ecell4
+
+#endif /* __ECELL4_LATTICE_LATTICE_SIMULATOR_HPP */
diff --git a/ecell4/spatiocyte/SpatiocyteWorld.cpp b/ecell4/spatiocyte/SpatiocyteWorld.cpp
new file mode 100644
index 0000000..be2fd61
--- /dev/null
+++ b/ecell4/spatiocyte/SpatiocyteWorld.cpp
@@ -0,0 +1,564 @@
+#include <stdexcept>
+#include <fstream>
+
+#include "SpatiocyteWorld.hpp"
+
+namespace ecell4
+{
+
+namespace spatiocyte
+{
+
+SpatiocyteWorld* create_spatiocyte_world_cell_list_impl(
+ const Real3& edge_lengths, const Real& voxel_radius,
+ const Integer3& matrix_sizes,
+ const boost::shared_ptr<RandomNumberGenerator>& rng)
+{
+ return new SpatiocyteWorld(
+ new LatticeSpaceCellListImpl(edge_lengths, voxel_radius, matrix_sizes), rng);
+}
+
+SpatiocyteWorld* create_spatiocyte_world_vector_impl(
+ const Real3& edge_lengths, const Real& voxel_radius,
+ const boost::shared_ptr<RandomNumberGenerator>& rng)
+{
+ return new SpatiocyteWorld(
+ new LatticeSpaceVectorImpl(edge_lengths, voxel_radius), rng);
+}
+
+const Real SpatiocyteWorld::t() const
+{
+ return (*space_).t();
+}
+
+void SpatiocyteWorld::set_t(const Real& t)
+{
+ (*space_).set_t(t);
+}
+
+const Real3& SpatiocyteWorld::edge_lengths() const
+{
+ return (*space_).edge_lengths();
+}
+
+const Real SpatiocyteWorld::volume() const
+{
+ return (*space_).volume();
+}
+
+Integer SpatiocyteWorld::num_species() const
+{
+ return (*space_).num_species();
+}
+
+void SpatiocyteWorld::set_value(const Species& sp, const Real value)
+{
+ const Integer num1 = static_cast<Integer>(value);
+ const Integer num2 = num_molecules_exact(sp);
+ if (num1 > num2)
+ {
+ add_molecules(sp, num1 - num2);
+ }
+ else if (num1 < num2)
+ {
+ remove_molecules(sp, num2 - num1);
+ }
+}
+
+bool SpatiocyteWorld::has_species(const Species &sp) const
+{
+ return (*space_).has_species(sp);
+}
+
+// bool SpatiocyteWorld::has_species_exact(const Species &sp) const
+// {
+// return (*space_).has_species_exact(sp);
+// }
+
+Integer SpatiocyteWorld::num_molecules(const Species& sp) const
+{
+ return (*space_).num_molecules(sp);
+}
+
+Integer SpatiocyteWorld::num_molecules_exact(const Species& sp) const
+{
+ return (*space_).num_molecules_exact(sp);
+}
+
+Integer SpatiocyteWorld::num_particles(const Species& sp) const
+{
+ return (*space_).num_particles(sp);
+}
+
+Integer SpatiocyteWorld::num_particles_exact(const Species& sp) const
+{
+ return (*space_).num_particles_exact(sp);
+}
+
+Integer SpatiocyteWorld::num_particles() const
+{
+ return (*space_).num_particles();
+}
+
+Integer SpatiocyteWorld::num_voxels() const
+{
+ return (*space_).num_voxels();
+}
+
+Integer SpatiocyteWorld::num_voxels(const Species& sp) const
+{
+ return (*space_).num_voxels(sp);
+}
+
+Integer SpatiocyteWorld::num_voxels_exact(const Species& sp) const
+{
+ return (*space_).num_voxels_exact(sp);
+}
+
+bool SpatiocyteWorld::has_particle(const ParticleID& pid) const
+{
+ return (*space_).has_particle(pid);
+}
+
+bool SpatiocyteWorld::has_voxel(const ParticleID& pid) const
+{
+ return (*space_).has_voxel(pid);
+}
+
+std::vector<std::pair<ParticleID, Particle> >
+SpatiocyteWorld::list_particles() const
+{
+ return (*space_).list_particles();
+}
+
+std::vector<std::pair<ParticleID, Particle> >
+SpatiocyteWorld::list_particles(const Species& sp) const
+{
+ return (*space_).list_particles(sp);
+}
+
+std::vector<std::pair<ParticleID, Particle> >
+SpatiocyteWorld::list_particles_exact(const Species& sp) const
+{
+ return (*space_).list_particles_exact(sp);
+}
+
+std::vector<std::pair<ParticleID, Particle> >
+SpatiocyteWorld::list_structure_particles() const
+{
+ const std::vector<Species> structure_species(list_structure_species());
+
+ typedef std::vector<std::vector<std::pair<ParticleID, Particle> > > tmp_type;
+ tmp_type tmp_vector(structure_species.size());
+ Integer num_elements;
+
+ for (std::vector<Species>::const_iterator itr(structure_species.begin());
+ itr != structure_species.end(); ++itr)
+ {
+ std::vector<std::pair<ParticleID, Particle> > tmp(list_particles(*itr));
+ tmp_vector.push_back(tmp);
+ num_elements += tmp.size();
+ }
+
+ std::vector<std::pair<ParticleID, Particle> > retval;
+ retval.reserve(num_elements);
+ for (tmp_type::const_iterator itr(tmp_vector.begin());
+ itr != tmp_vector.end(); ++itr)
+ {
+ retval.insert(retval.end(), (*itr).begin(), (*itr).end());
+ }
+
+ return retval;
+}
+
+std::vector<std::pair<ParticleID, Particle> >
+SpatiocyteWorld::list_non_structure_particles() const
+{
+ const std::vector<Species> non_structure_species(list_non_structure_species());
+
+ typedef std::vector<std::vector<std::pair<ParticleID, Particle> > > tmp_type;
+ tmp_type tmp_vector(non_structure_species.size());
+ Integer num_elements;
+
+ for (std::vector<Species>::const_iterator itr(non_structure_species.begin());
+ itr != non_structure_species.end(); ++itr)
+ {
+ std::vector<std::pair<ParticleID, Particle> > tmp(list_particles(*itr));
+ tmp_vector.push_back(tmp);
+ num_elements += tmp.size();
+ }
+
+ std::vector<std::pair<ParticleID, Particle> > retval;
+ retval.reserve(num_elements);
+ for (tmp_type::const_iterator itr(tmp_vector.begin());
+ itr != tmp_vector.end(); ++itr)
+ {
+ retval.insert(retval.end(), (*itr).begin(), (*itr).end());
+ }
+
+ return retval;
+}
+
+std::vector<Species> SpatiocyteWorld::list_species() const
+{
+ return (*space_).list_species();
+}
+
+std::vector<Species> SpatiocyteWorld::list_non_structure_species() const
+{
+ const std::vector<Species> species(list_species());
+ std::vector<Species> retval;
+ for (std::vector<Species>::const_iterator itr(species.begin());
+ itr != species.end(); ++itr)
+ {
+ if (!find_voxel_pool(*itr)->is_structure())
+ retval.push_back(*itr);
+ }
+ return retval;
+}
+
+std::vector<Species> SpatiocyteWorld::list_structure_species() const
+{
+ const std::vector<Species> species(list_species());
+ std::vector<Species> retval;
+ for (std::vector<Species>::const_iterator itr(species.begin());
+ itr != species.end(); ++itr)
+ {
+ if (find_voxel_pool(*itr)->is_structure())
+ retval.push_back(*itr);
+ }
+ return retval;
+}
+
+std::vector<std::pair<ParticleID, Voxel> > SpatiocyteWorld::list_voxels() const
+{
+ return (*space_).list_voxels();
+}
+
+std::vector<std::pair<ParticleID, Voxel> >
+ SpatiocyteWorld::list_voxels(const Species& sp) const
+{
+ return (*space_).list_voxels(sp);
+}
+
+std::vector<std::pair<ParticleID, Voxel> >
+ SpatiocyteWorld::list_voxels_exact(const Species& sp) const
+{
+ return (*space_).list_voxels_exact(sp);
+}
+
+VoxelPool* SpatiocyteWorld::find_voxel_pool(const Species& species)
+{
+ return (*space_).find_voxel_pool(species);
+}
+
+const VoxelPool* SpatiocyteWorld::find_voxel_pool(const Species& species) const
+{
+ return (*space_).find_voxel_pool(species);
+}
+
+VoxelPool* SpatiocyteWorld::get_voxel_pool_at(const coordinate_type& coord) const
+{
+ return (*space_).get_voxel_pool_at(coord);
+}
+
+std::pair<std::pair<ParticleID, Voxel>, bool>
+SpatiocyteWorld::new_voxel(
+ const Species& sp, const coordinate_type& coord)
+{
+ const molecule_info_type minfo(get_molecule_info(sp));
+ return new_voxel(
+ Voxel(sp, coord, minfo.radius, minfo.D, minfo.loc));
+}
+
+std::pair<std::pair<ParticleID, Voxel>, bool>
+SpatiocyteWorld::new_voxel(const Voxel& v)
+{
+ ParticleID pid(sidgen_());
+ const bool is_succeeded(update_voxel(pid, v));
+ return std::make_pair(std::make_pair(pid, v), is_succeeded);
+}
+
+std::pair<std::pair<ParticleID, Voxel>, bool>
+SpatiocyteWorld::new_voxel_structure(const Species& sp, const coordinate_type& coord)
+{
+ const molecule_info_type minfo(get_molecule_info(sp));
+ return new_voxel_structure(
+ Voxel(sp, coord, minfo.radius, minfo.D, minfo.loc));
+}
+
+std::pair<std::pair<ParticleID, Voxel>, bool>
+SpatiocyteWorld::new_voxel_structure(const Voxel& v)
+{
+ const bool is_succeeded(update_voxel(ParticleID(), v));
+ return std::make_pair(std::make_pair(ParticleID(), v), is_succeeded);
+}
+
+std::pair<std::pair<ParticleID, Voxel>, bool>
+SpatiocyteWorld::new_voxel_interface(const Species& sp, const coordinate_type& coord)
+{
+ const molecule_info_type minfo(get_molecule_info(sp));
+ return new_voxel_interface(
+ Voxel(sp, coord, minfo.radius, minfo.D, minfo.loc));
+}
+
+std::pair<std::pair<ParticleID, Voxel>, bool>
+SpatiocyteWorld::new_voxel_interface(const Voxel& v)
+{
+ const bool is_succeeded(update_voxel(ParticleID(), v));
+ return std::make_pair(std::make_pair(ParticleID(), v), is_succeeded);
+}
+
+bool SpatiocyteWorld::add_molecules(const Species& sp, const Integer& num)
+{
+ if (num < 0)
+ {
+ throw std::invalid_argument("The number of molecules must be positive.");
+ }
+
+ const SpatiocyteWorld::molecule_info_type info(get_molecule_info(sp));
+
+ Integer count(0);
+ while (count < num)
+ {
+ const coordinate_type coord(inner2coordinate(rng()->uniform_int(0, inner_size() - 1)));
+ //XXX: just for consistency. rather use below
+ // const coordinate_type coord(rng()->uniform_int(0, size() - 1));
+
+ const Voxel v(sp, coord, info.radius, info.D, info.loc);
+
+ if (on_structure(v))
+ {
+ continue;
+ }
+ else if (new_voxel(v).second)
+ {
+ ++count;
+ }
+ }
+ return true;
+}
+
+bool SpatiocyteWorld::add_molecules(
+ const Species& sp, const Integer& num, const boost::shared_ptr<const Shape> shape)
+{
+ if (num < 0)
+ {
+ throw std::invalid_argument("The number of molecules must be positive.");
+ }
+
+ const SpatiocyteWorld::molecule_info_type info(get_molecule_info(sp));
+
+ Integer count(0);
+ while (count < num)
+ {
+ const Real3 pos(shape->draw_position(rng_));
+ const Voxel v(sp, position2coordinate(pos), info.radius, info.D, info.loc);
+
+ if (on_structure(v))
+ {
+ continue;
+ }
+ else if (new_voxel(v).second)
+ {
+ ++count;
+ }
+ }
+ return true;
+}
+
+Integer SpatiocyteWorld::add_structure(
+ const Species& sp, const boost::shared_ptr<const Shape> shape)
+{
+ const SpatiocyteWorld::molecule_info_type info(get_molecule_info(sp));
+ (*space_).make_structure_type(sp, shape->dimension(), info.loc);
+
+ switch (shape->dimension())
+ {
+ case Shape::THREE:
+ return add_structure3(sp, shape);
+ case Shape::TWO:
+ return add_structure2(sp, shape);
+ case Shape::ONE:
+ case Shape::UNDEF:
+ break;
+ }
+
+ throw NotSupported("The dimension of a shape must be two or three.");
+}
+
+Integer SpatiocyteWorld::add_structure3(const Species& sp, const boost::shared_ptr<const Shape> shape)
+{
+ const SpatiocyteWorld::molecule_info_type info(get_molecule_info(sp));
+ Integer count(0);
+ for (coordinate_type inner(0); inner < inner_size(); ++inner) {
+ const coordinate_type coord(inner2coordinate(inner));
+ const Real L(shape->is_inside(coordinate2position(coord)));
+ if (L > 0)
+ continue;
+
+ const Voxel v(sp, coord, info.radius, info.D, info.loc);
+ if (new_voxel_structure(v).second)
+ ++count;
+ }
+ return count;
+}
+
+Integer SpatiocyteWorld::add_structure2(const Species& sp, const boost::shared_ptr<const Shape> shape)
+{
+ const SpatiocyteWorld::molecule_info_type info(get_molecule_info(sp));
+ Integer count(0);
+ for (coordinate_type inner(0); inner < inner_size(); ++inner) {
+ const coordinate_type coord(inner2coordinate(inner));
+ if (!is_surface_voxel(coord, shape))
+ continue;
+
+ const Voxel v(sp, coord, info.radius, info.D, info.loc);
+ if (new_voxel_structure(v).second)
+ ++count;
+ }
+ return count;
+}
+
+Integer SpatiocyteWorld::add_interface(const Species& sp)
+{
+ const SpatiocyteWorld::molecule_info_type info(get_molecule_info(sp));
+ (*space_).make_interface_type(sp, Shape::UNDEF, info.loc); //XXX: set the dimension properly
+ return 0; //XXX: dummpy
+}
+
+bool SpatiocyteWorld::is_surface_voxel(
+ const coordinate_type coord, const boost::shared_ptr<const Shape> shape) const
+{
+ const Real L(shape->is_inside(coordinate2position(coord)));
+ if (L > 0 || L < -2 * voxel_radius())
+ return false;
+
+ for (Integer i(0); i < 12; ++i)
+ if (shape->is_inside(coordinate2position(get_neighbor(coord, i))) > 0)
+ return true;
+
+ return false;
+}
+
+// TODO
+Integer SpatiocyteWorld::add_neighbors(const Species& sp,
+ const SpatiocyteWorld::coordinate_type center)
+{
+ Integer count(0);
+ const SpatiocyteWorld::molecule_info_type info(get_molecule_info(sp));
+ for (Integer i(0); i < 12; ++i)
+ {
+ const coordinate_type n(get_neighbor(center, i));
+ if (new_voxel(Voxel(sp, n, info.radius, info.D, info.loc)).second)
+ {
+ ++count;
+ }
+ else
+ {
+ throw "Error in add_neighbors()";
+ }
+ }
+ return count;
+
+ // Integer count(0);
+ // const SpatiocyteWorld::molecule_info_type info(get_molecule_info(sp));
+ // std::vector<SpatiocyteWorld::coordinate_type> neighbors(
+ // get_neighbors(center));
+ // for (std::vector<SpatiocyteWorld::coordinate_type>::iterator itr(
+ // neighbors.begin()); itr != neighbors.end(); itr++)
+ // {
+ // if (new_voxel(Voxel(sp, *itr, info.radius, info.D, info.loc)).second)
+ // ++count;
+ // else
+ // throw "Error in add_neighbors()";
+ // }
+ // return count;
+}
+// TODO
+
+void SpatiocyteWorld::remove_molecules(const Species& sp, const Integer& num)
+{
+ if (num < 0)
+ {
+ throw std::invalid_argument("The number of molecules must be positive.");
+ }
+
+ const MoleculePool* mtype(find_molecule_pool(sp));
+ if (mtype->size() < num)
+ {
+ throw std::invalid_argument(
+ "The number of molecules cannot be negative.");
+ }
+
+ Integer count(0);
+ while (count < num)
+ {
+ const Integer idx(rng_->uniform_int(0, mtype->size() - 1));
+ if (remove_voxel(mtype->at(idx).coordinate))
+ {
+ ++count;
+ }
+ }
+}
+
+bool SpatiocyteWorld::remove_voxel(const coordinate_type coord)
+{
+ return (*space_).remove_voxel(coord);
+}
+
+bool SpatiocyteWorld::move(
+ const coordinate_type& src, const coordinate_type& dest, const std::size_t candidate)
+{
+ return (*space_).move(src, dest, candidate);
+}
+
+bool SpatiocyteWorld::can_move(const coordinate_type& src,
+ const coordinate_type& dest) const
+{
+ return (*space_).can_move(src, dest);
+}
+
+std::pair<SpatiocyteWorld::coordinate_type, bool>
+SpatiocyteWorld::move_to_neighbor(
+ VoxelPool* const& from_mt, VoxelPool* const& loc,
+ coordinate_id_pair_type& info, const Integer nrand)
+{
+ return (*space_).move_to_neighbor(from_mt, loc, info, nrand);
+}
+
+std::pair<SpatiocyteWorld::coordinate_type, bool>
+SpatiocyteWorld::check_neighbor(
+ const coordinate_type coord, const std::string& loc)
+{
+ std::vector<coordinate_type> tmp;
+ tmp.reserve(12);
+ for (unsigned int rnd(0); rnd < 12; ++rnd)
+ {
+ const coordinate_type neighbor(get_neighbor(coord, rnd));
+ const VoxelPool* mt(get_voxel_pool_at(neighbor));
+ const std::string
+ serial(mt->is_vacant() ? "" : mt->species().serial());
+ if (serial == loc)
+ {
+ tmp.push_back(neighbor);
+ }
+ }
+
+ if (tmp.size() == 0)
+ {
+ return std::make_pair(coord, false);
+ }
+
+ return std::make_pair(
+ tmp[rng()->uniform_int(0, tmp.size() - 1)], true);
+
+ // const Integer rnd(rng()->uniform_int(0, 11));
+ // const coordinate_type neighbor(get_neighbor(coord, rnd));
+ // bool flg = find_voxel_pool(neighbor)->is_vacant(); //XXX: loc
+ // return std::make_pair(neighbor, flg);
+}
+
+} // spatiocyte
+
+} // ecell4
diff --git a/ecell4/spatiocyte/SpatiocyteWorld.hpp b/ecell4/spatiocyte/SpatiocyteWorld.hpp
new file mode 100644
index 0000000..b7c827c
--- /dev/null
+++ b/ecell4/spatiocyte/SpatiocyteWorld.hpp
@@ -0,0 +1,611 @@
+#ifndef __ECELL4_LATTICE_LATTICE_WORLD_HPP
+#define __ECELL4_LATTICE_LATTICE_WORLD_HPP
+
+#include <sstream>
+#include <stdexcept>
+#include <boost/shared_ptr.hpp>
+#include <boost/weak_ptr.hpp>
+
+// #include <ecell4/core/LatticeSpace.hpp>
+#include <ecell4/core/LatticeSpaceCellListImpl.hpp>
+#include <ecell4/core/LatticeSpaceVectorImpl.hpp>
+#include <ecell4/core/VoxelPool.hpp>
+#include <ecell4/core/RandomNumberGenerator.hpp>
+#include <ecell4/core/SerialIDGenerator.hpp>
+#include <ecell4/core/Model.hpp>
+#include <ecell4/core/Shape.hpp>
+#include <ecell4/core/extras.hpp>
+
+namespace ecell4
+{
+
+namespace spatiocyte
+{
+
+struct MoleculeInfo
+{
+ const Real radius;
+ const Real D;
+ const std::string loc;
+};
+
+class SpatiocyteWorld
+ : public Space
+{
+public:
+
+ // typedef LatticeSpaceCellListImpl default_space_type;
+ typedef LatticeSpaceVectorImpl default_space_type;
+
+ typedef MoleculeInfo molecule_info_type;
+
+ typedef LatticeSpace::coordinate_id_pair_type coordinate_id_pair_type;
+ typedef LatticeSpace::coordinate_type coordinate_type;
+
+public:
+
+ SpatiocyteWorld(const Real3& edge_lengths, const Real& voxel_radius,
+ const boost::shared_ptr<RandomNumberGenerator>& rng)
+ : space_(new default_space_type(edge_lengths, voxel_radius)), rng_(rng)
+ {
+ ; // do nothing
+ }
+
+ SpatiocyteWorld(const Real3& edge_lengths, const Real& voxel_radius)
+ : space_(new default_space_type(edge_lengths, voxel_radius))
+ {
+ rng_ = boost::shared_ptr<RandomNumberGenerator>(
+ new GSLRandomNumberGenerator());
+ (*rng_).seed();
+ }
+
+ SpatiocyteWorld(const Real3& edge_lengths = Real3(1, 1, 1))
+ : space_(new default_space_type(edge_lengths, edge_lengths[0] / 100)) //XXX: sloppy default
+ {
+ rng_ = boost::shared_ptr<RandomNumberGenerator>(
+ new GSLRandomNumberGenerator());
+ (*rng_).seed();
+ }
+
+ SpatiocyteWorld(const std::string filename)
+ : space_(new default_space_type(Real3(1, 1, 1), 1 / 100)) //XXX: sloppy default
+ {
+ rng_ = boost::shared_ptr<RandomNumberGenerator>(
+ new GSLRandomNumberGenerator());
+ this->load(filename);
+ }
+
+ SpatiocyteWorld(LatticeSpace* space,
+ const boost::shared_ptr<RandomNumberGenerator>& rng)
+ : space_(space), rng_(rng)
+ {
+ ; // do nothing
+ }
+
+ /**
+ * draw attributes of species and return it as a molecule info.
+ * @param sp a species
+ * @return info a molecule info
+ */
+ MoleculeInfo get_molecule_info(const Species& sp) const
+ {
+ const bool with_D(sp.has_attribute("D"));
+ const bool with_radius(sp.has_attribute("radius"));
+ const bool with_loc(sp.has_attribute("location"));
+
+ Real radius(voxel_radius()), D(0.0);
+ std::string loc("");
+
+ if (with_D && with_radius)
+ {
+ radius = std::atof(sp.get_attribute("radius").c_str());
+ D = std::atof(sp.get_attribute("D").c_str());
+
+ if (with_loc)
+ {
+ loc = sp.get_attribute("location");
+ }
+ }
+ else
+ {
+ if (with_D)
+ {
+ D = std::atof(sp.get_attribute("D").c_str());
+ }
+
+ if (with_radius)
+ {
+ radius = std::atof(sp.get_attribute("radius").c_str());
+ }
+
+ if (with_loc)
+ {
+ loc = sp.get_attribute("location");
+ }
+
+ if (boost::shared_ptr<Model> bound_model = lock_model())
+ {
+ Species attributed(bound_model->apply_species_attributes(sp));
+ if (!with_D && attributed.has_attribute("D"))
+ {
+ D = std::atof(attributed.get_attribute("D").c_str());
+ }
+ if (!with_radius && attributed.has_attribute("radius"))
+ {
+ radius = std::atof(
+ attributed.get_attribute("radius").c_str());
+ }
+ if (!with_loc && attributed.has_attribute("location"))
+ {
+ loc = attributed.get_attribute("location");
+ }
+ }
+ }
+
+ MoleculeInfo info = {radius, D, loc};
+ return info;
+ }
+
+ const Real t() const;
+ void set_t(const Real& t);
+
+ const Real3& edge_lengths() const;
+ const Real volume() const;
+ Integer num_species() const;
+ bool has_species(const Species &sp) const;
+ // bool has_species_exact(const Species &sp) const;
+
+ Integer num_molecules(const Species& sp) const;
+ Integer num_molecules_exact(const Species& sp) const;
+ Integer num_particles() const;
+ Integer num_particles(const Species& sp) const;
+ Integer num_particles_exact(const Species& sp) const;
+ Integer num_voxels() const;
+ Integer num_voxels(const Species& sp) const;
+ Integer num_voxels_exact(const Species& sp) const;
+
+ void set_value(const Species& sp, const Real value);
+
+ Real get_value(const Species& sp) const
+ {
+ return (*space_).get_value(sp);
+ }
+
+ Real get_value_exact(const Species& sp) const
+ {
+ return (*space_).get_value_exact(sp);
+ }
+
+ /**
+ * create and add a new particle
+ * @param p a particle
+ * @return a pair of a pair of pid (a particle id) and p (a particle)
+ * and bool (if it's succeeded or not)
+ */
+ std::pair<std::pair<ParticleID, Particle>, bool>
+ new_particle(const Particle& p)
+ {
+ // ParticleID pid(sidgen_());
+ // const bool is_succeeded(update_particle(pid, p));
+ // return std::make_pair(get_particle(pid), is_succeeded);
+ const molecule_info_type minfo(get_molecule_info(p.species()));
+ const Voxel v(
+ p.species(), position2coordinate(p.position()), p.radius(), p.D(), minfo.loc);
+ if ((*space_).on_structure(v))
+ {
+ return std::make_pair(std::make_pair(ParticleID(), p), false);
+ }
+ const std::pair<std::pair<ParticleID, Voxel>, bool> retval = new_voxel(v);
+ return std::make_pair(std::make_pair(retval.first.first, p), retval.second);
+ }
+
+ std::pair<std::pair<ParticleID, Particle>, bool>
+ new_particle(const Species& sp, const Real3& pos)
+ {
+ const MoleculeInfo info(get_molecule_info(sp));
+ return new_particle(Particle(sp, pos, info.radius, info.D));
+ }
+
+ std::pair<ParticleID, Particle> get_particle(const ParticleID& pid) const
+ {
+ return (*space_).get_particle(pid);
+ }
+
+ std::pair<ParticleID, Voxel> get_voxel(const ParticleID& pid) const
+ {
+ return (*space_).get_voxel(pid);
+ }
+
+ std::pair<ParticleID, Voxel> get_voxel_at(const coordinate_type& coord) const
+ {
+ return (*space_).get_voxel_at(coord);
+ }
+
+ bool remove_particle(const ParticleID& pid)
+ {
+ return (*space_).remove_particle(pid);
+ }
+
+ bool remove_voxel(const ParticleID& pid)
+ {
+ return (*space_).remove_voxel(pid);
+ }
+
+ bool has_voxel(const ParticleID& pid) const;
+ bool has_particle(const ParticleID& pid) const;
+
+ std::vector<std::pair<ParticleID, Particle> > list_particles() const;
+ std::vector<std::pair<ParticleID, Particle> >
+ list_particles(const Species& sp) const;
+ std::vector<std::pair<ParticleID, Particle> >
+ list_particles_exact(const Species& sp) const;
+ std::vector<std::pair<ParticleID, Particle> > list_structure_particles() const;
+ std::vector<std::pair<ParticleID, Particle> > list_non_structure_particles() const;
+
+ bool update_particle(const ParticleID& pid, const Particle& p)
+ {
+ const molecule_info_type minfo(get_molecule_info(p.species()));
+ return update_voxel(pid, Voxel(p.species(),
+ position2coordinate(p.position()), p.radius(), p.D(), minfo.loc));
+ }
+
+ std::vector<std::pair<ParticleID, Voxel> >
+ list_voxels() const;
+ std::vector<std::pair<ParticleID, Voxel> >
+ list_voxels(const Species& sp) const;
+ std::vector<std::pair<ParticleID, Voxel> >
+ list_voxels_exact(const Species& sp) const;
+
+ std::vector<Species> list_species() const;
+ std::vector<Species> list_non_structure_species() const;
+ std::vector<Species> list_structure_species() const;
+ // std::vector<coordinate_type> list_coords(const Species& sp) const;
+
+ bool has_molecule_pool(const Species& sp) const
+ {
+ return (*space_).has_molecule_pool(sp);
+ }
+
+ MoleculePool* find_molecule_pool(const Species& species)
+ {
+ return (*space_).find_molecule_pool(species);
+ }
+
+ const MoleculePool* find_molecule_pool(const Species& species) const
+ {
+ return (*space_).find_molecule_pool(species);
+ }
+
+ VoxelPool* find_voxel_pool(const Species& species);
+ const VoxelPool* find_voxel_pool(const Species& species) const;
+ VoxelPool* get_voxel_pool_at(const coordinate_type& coord) const;
+
+ std::pair<std::pair<ParticleID, Voxel>, bool> new_voxel(const Voxel& v);
+ std::pair<std::pair<ParticleID, Voxel>, bool> new_voxel(const Species& sp, const coordinate_type& coord);
+ std::pair<std::pair<ParticleID, Voxel>, bool> new_voxel_structure(const Species& sp, const coordinate_type& coord);
+ std::pair<std::pair<ParticleID, Voxel>, bool> new_voxel_structure(const Voxel& v);
+ std::pair<std::pair<ParticleID, Voxel>, bool> new_voxel_interface(const Species& sp, const coordinate_type& coord);
+ std::pair<std::pair<ParticleID, Voxel>, bool> new_voxel_interface(const Voxel& v);
+
+ bool add_molecules(const Species& sp, const Integer& num);
+ bool add_molecules(const Species& sp, const Integer& num, const boost::shared_ptr<const Shape> shape);
+ Integer add_structure(const Species& sp, const boost::shared_ptr<const Shape> shape);
+ Integer add_interface(const Species& sp);
+ Integer add_neighbors(const Species& sp, const coordinate_type center); // TODO
+
+ void remove_molecules(const Species& sp, const Integer& num);
+ // void remove_molecules_exact(const Species& sp, const Integer& num);
+ bool remove_voxel(const coordinate_type coord);
+
+ bool move(const coordinate_type& src, const coordinate_type& dest,
+ const std::size_t candidate=0);
+ bool can_move(const coordinate_type& src, const coordinate_type& dest) const;
+
+ // std::pair<coordinate_type, bool> move_to_neighbor(
+ // coordinate_type coord, Integer nrand);
+ // std::pair<coordinate_type, bool> move_to_neighbor(
+ // coordinate_id_pair_type& info, Integer nrand);
+ // std::pair<std::pair<coordinate_id_pair_type, coordinate_type>, bool>
+ // move_to_neighbor(VoxelPool* mtype, Integer index);
+ std::pair<coordinate_type, bool> move_to_neighbor(
+ VoxelPool* const& from_mt, VoxelPool* const& loc,
+ coordinate_id_pair_type& info, const Integer nrand);
+
+ coordinate_type get_neighbor(coordinate_type coord, Integer nrand) const
+ {
+ return (*space_).get_neighbor(coord, nrand);
+ }
+
+ coordinate_type get_neighbor_boundary(
+ coordinate_type coord, Integer nrand) const
+ {
+ return (*space_).get_neighbor_boundary(coord, nrand);
+ }
+
+ std::pair<coordinate_type, bool> check_neighbor(
+ const coordinate_type coord, const std::string& loc);
+ // bool update_molecule(coordinate_type at, Species species);
+
+ const Species& draw_species(const Species& pttrn) const;
+
+ // std::pair<std::pair<ParticleID, Voxel>, bool> place_voxel(
+ // const Species& sp, const coordinate_type& coord)
+ // {
+ // const molecule_info_type& info(get_molecule_info(sp));
+ // return new_voxel(ecell4::Voxel(sp, coord, info.radius, info.D));
+ // }
+
+ // void update_voxel(const Voxel& v)
+ // {
+ // (*space_).update_voxel(v);
+ // }
+
+ bool update_voxel(const ParticleID& pid, const Voxel& v)
+ {
+ return (*space_).update_voxel(pid, v);
+ }
+
+ Real voxel_radius() const
+ {
+ return (*space_).voxel_radius();
+ }
+
+ Real voxel_volume() const
+ {
+ return (*space_).voxel_volume();
+ }
+
+ Real unit_area() const
+ {
+ return (*space_).unit_area();
+ }
+
+ Real get_volume(const Species& sp) const
+ {
+ if (!has_species(sp) || !find_molecule_pool(sp)->is_structure())
+ {
+ return 0.0;
+ }
+ return (*space_).get_volume(sp);
+ }
+
+ Real3 actual_lengths() const
+ {
+ return (*space_).actual_lengths();
+ }
+
+ boost::shared_ptr<RandomNumberGenerator> rng()
+ {
+ return rng_;
+ }
+
+ const Integer size() const
+ {
+ return (*space_).size();
+ }
+
+ const Integer3 shape() const
+ {
+ return (*space_).shape();
+ }
+
+ const Integer inner_size() const
+ {
+ return (*space_).inner_size();
+ }
+
+ // TODO
+ // const Integer3 inner_shape() const
+ // {
+ // return (*space_).inner_shape();
+ // }
+
+ const coordinate_type inner2coordinate(const coordinate_type inner)
+ {
+ return (*space_).inner2coordinate(inner);
+ }
+
+ coordinate_type position2coordinate(const Real3& pos) const
+ {
+ return (*space_).position2coordinate(pos);
+ }
+
+ const Real3 coordinate2position(const coordinate_type& coord) const
+ {
+ return (*space_).coordinate2position(coord);
+ }
+
+ /**
+ * temp
+ */
+
+ const molecule_info_type get_molecule_info(const VoxelPool* mt) const
+ {
+ const std::string loc(
+ mt->location()->is_vacant() ? "" : mt->location()->species().serial());
+ molecule_info_type info = {mt->radius(), mt->D(), loc};
+ return info;
+ }
+
+ std::pair<ParticleID, Voxel> make_pid_voxel_pair(
+ const VoxelPool* mt, const coordinate_type& coord) const
+ {
+ const ParticleID pid(mt->get_particle_id(coord));
+ const coordinate_id_pair_type info(pid, coord);
+ return make_pid_voxel_pair(mt, info);
+ }
+
+ std::pair<ParticleID, Voxel> make_pid_voxel_pair(
+ const VoxelPool* mt, const coordinate_id_pair_type& info) const
+ {
+ const std::string loc(
+ mt->location()->is_vacant() ? "" : mt->location()->species().serial());
+ return std::make_pair<ParticleID, Voxel>(
+ ParticleID(info.pid),
+ Voxel(mt->species(), info.coordinate, mt->radius(), mt->D(), loc));
+ }
+
+ std::pair<ParticleID, Voxel> choice(const Species& sp)
+ {
+ const MoleculePool* mt(find_molecule_pool(sp));
+ const Integer i(rng_->uniform_int(0, mt->size() - 1));
+ const coordinate_id_pair_type& info(mt->at(i));
+ return make_pid_voxel_pair(mt, info);
+ }
+
+ // bool on_structure(const Species& sp, const coordinate_type& coord)
+ // {
+ // const molecule_info_type minfo(get_molecule_info(sp));
+ // return on_structure(
+ // Voxel(sp, coord, minfo.radius, minfo.D, minfo.loc));
+ // }
+
+ bool on_structure(const Voxel& v)
+ {
+ return (*space_).on_structure(v);
+ }
+
+ /*
+ * HDF5 Save
+ */
+ void save(const std::string& filename) const
+ {
+#ifdef WITH_HDF5
+ boost::scoped_ptr<H5::H5File>
+ fout(new H5::H5File(filename.c_str(), H5F_ACC_TRUNC));
+ rng_->save(fout.get());
+ sidgen_.save(fout.get());
+ boost::scoped_ptr<H5::Group>
+ group(new H5::Group(fout->createGroup("LatticeSpace")));
+ (*space_).save_hdf5(group.get());
+ extras::save_version_information(fout.get(), std::string("ecell4-spatiocyte-") + std::string(ECELL4_VERSION));
+#else
+ throw NotSupported(
+ "This method requires HDF5. The HDF5 support is turned off.");
+#endif
+ }
+
+ void load(const std::string& filename)
+ {
+#ifdef WITH_HDF5
+ boost::scoped_ptr<H5::H5File>
+ fin(new H5::H5File(filename.c_str(), H5F_ACC_RDONLY));
+
+ const std::string required = "ecell4-spatiocyte-4.1.0";
+ try
+ {
+ const std::string version = extras::load_version_information(*fin);
+ if (!extras::check_version_information(version, required))
+ {
+ std::stringstream ss;
+ ss << "The version of the given file [" << version
+ << "] is too old. [" << required << "] or later is required.";
+ throw NotSupported(ss.str());
+ }
+ }
+ catch(H5::GroupIException not_found_error)
+ {
+ throw NotFound("No version information was found.");
+ }
+
+ const H5::Group group(fin->openGroup("LatticeSpace"));
+ (*space_).load_hdf5(group);
+ sidgen_.load(*fin);
+ rng_->load(*fin);
+#else
+ throw NotSupported(
+ "This method requires HDF5. The HDF5 support is turned off.");
+#endif
+ }
+
+ void bind_to(boost::shared_ptr<Model> model)
+ {
+ if (boost::shared_ptr<Model> bound_model = lock_model())
+ {
+ if (bound_model.get() != model.get())
+ {
+ std::cerr << "Warning: Model already bound to SpatiocyteWorld"
+ << std::endl;
+ }
+ }
+
+ model_ = model;
+ }
+
+ boost::shared_ptr<Model> lock_model() const
+ {
+ return model_.lock();
+ }
+
+ /**
+ * static members
+ */
+ static inline Real calculate_voxel_volume(const Real r)
+ {
+ return LatticeSpace::calculate_voxel_volume(r);
+ }
+
+ static inline Real3 calculate_hcp_lengths(const Real voxel_radius)
+ {
+ return LatticeSpace::calculate_hcp_lengths(voxel_radius);
+ }
+
+ static inline Integer3 calculate_shape(const Real3& edge_lengths, const Real& voxel_radius)
+ {
+ return LatticeSpace::calculate_shape(edge_lengths, voxel_radius, true);
+ }
+
+ static inline Real calculate_volume(const Real3& edge_lengths, const Real& voxel_radius)
+ {
+ return LatticeSpace::calculate_volume(edge_lengths, voxel_radius, true);
+ }
+
+protected:
+
+ Integer add_structure2(const Species& sp, const boost::shared_ptr<const Shape> shape);
+ Integer add_structure3(const Species& sp, const boost::shared_ptr<const Shape> shape);
+ bool is_surface_voxel(const coordinate_type coord,
+ const boost::shared_ptr<const Shape> shape) const;
+
+protected:
+
+ boost::scoped_ptr<LatticeSpace> space_;
+ boost::shared_ptr<RandomNumberGenerator> rng_;
+ SerialIDGenerator<ParticleID> sidgen_;
+
+ boost::weak_ptr<Model> model_;
+};
+
+SpatiocyteWorld* create_spatiocyte_world_cell_list_impl(
+ const Real3& edge_lengths, const Real& voxel_radius,
+ const Integer3& matrix_sizes,
+ const boost::shared_ptr<RandomNumberGenerator>& rng);
+SpatiocyteWorld* create_spatiocyte_world_vector_impl(
+ const Real3& edge_lengths, const Real& voxel_radius,
+ const boost::shared_ptr<RandomNumberGenerator>& rng);
+
+/**
+ * Alias functions for Cython
+ */
+
+inline SpatiocyteWorld* create_spatiocyte_world_cell_list_impl_alias(
+ const Real3& edge_lengths, const Real& voxel_radius,
+ const Integer3& matrix_sizes,
+ const boost::shared_ptr<RandomNumberGenerator>& rng)
+{
+ return create_spatiocyte_world_cell_list_impl(
+ edge_lengths, voxel_radius, matrix_sizes, rng);
+}
+
+inline SpatiocyteWorld* create_spatiocyte_world_vector_impl_alias(
+ const Real3& edge_lengths, const Real& voxel_radius,
+ const boost::shared_ptr<RandomNumberGenerator>& rng)
+{
+ return create_spatiocyte_world_vector_impl(edge_lengths, voxel_radius, rng);
+}
+
+} // spatiocyte
+
+} // ecell4
+
+#endif /* __ECELL4_LATTICE_LATTICE_WORLD_HPP */
diff --git a/ecell4/spatiocyte/StepEvent.cpp b/ecell4/spatiocyte/StepEvent.cpp
new file mode 100644
index 0000000..8726b54
--- /dev/null
+++ b/ecell4/spatiocyte/StepEvent.cpp
@@ -0,0 +1,211 @@
+#include "SpatiocyteEvent.hpp"
+#include "utils.hpp"
+
+namespace ecell4
+{
+
+namespace spatiocyte
+{
+
+StepEvent::StepEvent(boost::shared_ptr<Model> model, boost::shared_ptr<SpatiocyteWorld> world,
+ const Species& species, const Real& t, const Real alpha)
+ : SpatiocyteEvent(t), model_(model), world_(world), species_(species), alpha_(alpha)
+{
+ const SpatiocyteWorld::molecule_info_type
+ minfo(world_->get_molecule_info(species));
+ const Real R(minfo.radius);
+ const Real D(minfo.D);
+ const VoxelPool* mtype(world_->find_voxel_pool(species));
+ // const Real R(world_->voxel_radius());
+ // Real D = boost::lexical_cast<Real>(species.get_attribute("D"));
+ if (D <= 0)
+ {
+ dt_ = inf;
+ } else if(mtype->get_dimension() == Shape::THREE) {
+ dt_ = 2 * R * R / 3 / D * alpha_;
+ } else if(mtype->get_dimension() == Shape::TWO) {
+ // TODO: Regular Lattice
+ // dt_ = pow((2*sqrt(2.0)+4*sqrt(3.0)+3*sqrt(6.0)+sqrt(22.0))/
+ // (6*sqrt(2.0)+4*sqrt(3.0)+3*sqrt(6.0)), 2) * R * R / D * alpha_;
+ dt_ = R * R / D * alpha_;
+ } else if(mtype->get_dimension() == Shape::ONE) {
+ dt_ = 2 * R * R / D * alpha_;
+ }
+ else
+ {
+ throw NotSupported(
+ "The dimension of a structure must be two or three.");
+ }
+
+ time_ = t + dt_;
+ // time_ = t;
+
+ nids_.clear();
+ for (unsigned int i(0); i < 12; ++i)
+ nids_.push_back(i);
+}
+
+void StepEvent::fire_()
+{
+ walk(alpha_);
+ time_ += dt_;
+}
+
+void StepEvent::walk(const Real& alpha)
+{
+ if (alpha < 0 || alpha > 1)
+ {
+ return; // INVALID ALPHA VALUE
+ }
+
+ const boost::shared_ptr<RandomNumberGenerator>& rng(world_->rng());
+ const MoleculePool* mtype(world_->find_molecule_pool(species_));
+
+ if (mtype->get_dimension() == Shape::THREE)
+ walk_in_space_(mtype, alpha);
+ else // dimension == TWO, etc.
+ walk_on_surface_(mtype, alpha);
+}
+
+void StepEvent::walk_in_space_(const MoleculePool* mtype, const Real& alpha)
+{
+ const boost::shared_ptr<RandomNumberGenerator>& rng(world_->rng());
+ MoleculePool::container_type voxels;
+ copy(mtype->begin(), mtype->end(), back_inserter(voxels));
+
+ std::size_t idx(0);
+ for (MoleculePool::container_type::iterator itr(voxels.begin());
+ itr != voxels.end(); ++itr)
+ {
+ const Integer rnd(rng->uniform_int(0, 11));
+ const SpatiocyteWorld::coordinate_id_pair_type& info(*itr);
+ if (world_->get_voxel_pool_at(info.coordinate) != mtype)
+ {
+ // should skip if a voxel is not the target species.
+ // when reaction has occured before, a voxel can be changed.
+ continue;
+ }
+ const SpatiocyteWorld::coordinate_type neighbor(
+ world_->get_neighbor_boundary(info.coordinate, rnd));
+ if (world_->can_move(info.coordinate, neighbor))
+ {
+ if (rng->uniform(0,1) <= alpha)
+ world_->move(info.coordinate, neighbor, /*candidate=*/idx);
+ }
+ else
+ {
+ attempt_reaction_(info, neighbor, alpha);
+ }
+ ++idx;
+ }
+}
+
+void StepEvent::walk_on_surface_(const MoleculePool* mtype, const Real& alpha)
+{
+ const boost::shared_ptr<RandomNumberGenerator>& rng(world_->rng());
+ MoleculePool::container_type voxels;
+ copy(mtype->begin(), mtype->end(), back_inserter(voxels));
+
+ const VoxelPool* location(mtype->location());
+ std::size_t idx(0);
+ for (MoleculePool::container_type::iterator itr(voxels.begin());
+ itr != voxels.end(); ++itr)
+ {
+ const SpatiocyteWorld::coordinate_id_pair_type& info(*itr);
+ if (world_->get_voxel_pool_at(info.coordinate) != mtype)
+ {
+ // should skip if a voxel is not the target species.
+ // when reaction has occured before, a voxel can be changed.
+ continue;
+ }
+
+ ecell4::shuffle(*(rng.get()), nids_);
+ for (std::vector<unsigned int>::const_iterator itr(nids_.begin());
+ itr != nids_.end(); ++itr)
+ {
+ const SpatiocyteWorld::coordinate_type neighbor(
+ world_->get_neighbor_boundary(info.coordinate, *itr));
+ const VoxelPool* target(world_->get_voxel_pool_at(neighbor));
+
+ if (target->get_dimension() > mtype->get_dimension())
+ continue;
+
+ if (world_->can_move(info.coordinate, neighbor))
+ {
+ if (rng->uniform(0,1) <= alpha)
+ world_->move(info.coordinate, neighbor, /*candidate=*/idx);
+ }
+ else
+ {
+ attempt_reaction_(info, neighbor, alpha);
+ }
+ break;
+ }
+ ++idx;
+ }
+}
+
+std::pair<StepEvent::attempt_reaction_result_type, StepEvent::reaction_type>
+StepEvent::attempt_reaction_(
+ const SpatiocyteWorld::coordinate_id_pair_type& info,
+ const SpatiocyteWorld::coordinate_type to_coord,
+ const Real& alpha)
+{
+ const VoxelPool* from_mt(
+ world_->get_voxel_pool_at(info.coordinate));
+ const VoxelPool* to_mt(
+ world_->get_voxel_pool_at(to_coord));
+
+ if (to_mt->is_vacant())
+ {
+ return std::make_pair(NO_REACTION, reaction_type());
+ }
+
+ const Species& speciesA(from_mt->species());
+ const Species& speciesB(to_mt->species());
+
+ const std::vector<ReactionRule> rules(
+ model_->query_reaction_rules(speciesA, speciesB));
+
+ if (rules.empty())
+ {
+ return std::make_pair(NO_REACTION, reaction_type());
+ }
+
+ const Real factor(calculate_dimensional_factor(from_mt, to_mt,
+ boost::const_pointer_cast<const SpatiocyteWorld>(world_)));
+
+ const Real rnd(world_->rng()->uniform(0,1));
+ Real accp(0.0);
+ for (std::vector<ReactionRule>::const_iterator itr(rules.begin()); itr != rules.end(); ++itr)
+ {
+ const Real k((*itr).k());
+ const Real P(k * factor * alpha);
+ accp += P;
+ if (accp > 1)
+ {
+ std::cerr << "The total acceptance probability [" << accp
+ << "] exceeds 1 for '" << speciesA.serial()
+ << "' and '" << speciesB.serial() << "'." << std::endl;
+ }
+ if (accp >= rnd)
+ {
+ ReactionInfo rinfo(apply_second_order_reaction(
+ world_, *itr,
+ world_->make_pid_voxel_pair(from_mt, info),
+ world_->make_pid_voxel_pair(to_mt, to_coord)));
+ if (rinfo.has_occurred())
+ {
+ reaction_type reaction(std::make_pair(*itr, rinfo));
+ push_reaction(reaction);
+ return std::make_pair(REACTION_SUCCEEDED, reaction);
+ }
+ return std::make_pair(REACTION_FAILED, std::make_pair(*itr, rinfo));
+ }
+ }
+ return std::make_pair(REACTION_FAILED, reaction_type());
+}
+
+} // spatiocyte
+
+} // ecell4
diff --git a/ecell4/spatiocyte/samples/CMakeLists.txt b/ecell4/spatiocyte/samples/CMakeLists.txt
new file mode 100644
index 0000000..5d3eb6d
--- /dev/null
+++ b/ecell4/spatiocyte/samples/CMakeLists.txt
@@ -0,0 +1,5 @@
+add_executable(simple_lattice simple_lattice.cpp)
+target_link_libraries(simple_lattice ecell4-spatiocyte)
+
+add_executable(diffusion diffusion.cpp)
+target_link_libraries(diffusion ecell4-spatiocyte)
diff --git a/ecell4/spatiocyte/samples/diffusion.cpp b/ecell4/spatiocyte/samples/diffusion.cpp
new file mode 100644
index 0000000..25a0493
--- /dev/null
+++ b/ecell4/spatiocyte/samples/diffusion.cpp
@@ -0,0 +1,64 @@
+#include <iostream>
+#include <boost/shared_ptr.hpp>
+
+#include <ecell4/core/NetworkModel.hpp>
+#include <ecell4/core/Real3.hpp>
+#include <ecell4/core/RandomNumberGenerator.hpp>
+
+#include <ecell4/spatiocyte/SpatiocyteWorld.hpp>
+#include <ecell4/spatiocyte/SpatiocyteSimulator.hpp>
+typedef ecell4::spatiocyte::SpatiocyteWorld world_type;
+typedef ecell4::spatiocyte::SpatiocyteSimulator simulator_type;
+
+namespace ecell4
+{
+
+void run()
+{
+ const Real world_size(1);
+ const Real3 edge_lengths(world_size, world_size, world_size);
+ const Real voxel_radius(0.0025);
+
+ const Integer N(60);
+
+ const std::string D("1.0"), radius("0.0025");
+
+ Species sp("A", radius, D);
+
+ boost::shared_ptr<NetworkModel> model(new NetworkModel());
+ boost::shared_ptr<RandomNumberGenerator>
+ rng(new GSLRandomNumberGenerator());
+ rng->seed(0);
+ // rng->seed(time(NULL));
+
+ // boost::shared_ptr<world_type> world(
+ // new world_type(edge_lengths, voxel_radius, rng));
+ // boost::shared_ptr<world_type> world(
+ // create_spatiocyte_world_vector_impl(edge_lengths, voxel_radius, rng));
+ boost::shared_ptr<world_type> world(
+ ecell4::spatiocyte::create_spatiocyte_world_cell_list_impl(
+ edge_lengths, voxel_radius, Integer3(5, 5, 5), rng));
+
+ std::cout << "total size = " << world->inner_size() << std::endl;
+
+ world->add_molecules(sp, N);
+
+ simulator_type sim(model, world);
+ std::cout << "dt = " << sim.dt() << std::endl;
+ for (unsigned int i(0); i != 1000; ++i)
+ {
+ sim.step();
+ }
+
+ // while (sim.step(1.0)) ; // do nothing
+}
+
+} // ecell4
+
+/**
+ * main function
+ */
+int main(int argc, char** argv)
+{
+ ecell4::run();
+}
diff --git a/ecell4/spatiocyte/samples/simple_lattice.cpp b/ecell4/spatiocyte/samples/simple_lattice.cpp
new file mode 100644
index 0000000..3174041
--- /dev/null
+++ b/ecell4/spatiocyte/samples/simple_lattice.cpp
@@ -0,0 +1,79 @@
+#include <iostream>
+#include <boost/shared_ptr.hpp>
+
+#include <ecell4/core/NetworkModel.hpp>
+#include <ecell4/core/Real3.hpp>
+#include <ecell4/core/RandomNumberGenerator.hpp>
+
+#include <ecell4/spatiocyte/SpatiocyteSimulator.hpp>
+typedef ecell4::spatiocyte::SpatiocyteWorld world_type;
+typedef ecell4::spatiocyte::SpatiocyteSimulator simulator_type;
+
+namespace ecell4
+{
+
+void run()
+{
+ const Real world_size(1e-6);
+ const Real3 edge_lengths(world_size, world_size, world_size);
+ const Real volume(world_size * world_size * world_size);
+ const Real voxel_radius(2.5e-9);
+
+ const Integer N(60);
+
+ const std::string D("1e-12"), radius("2.5e-9");
+
+ //const Real kd(0.1), U(0.5);
+ const Real kd(0.5), U(0.5);
+ const Real ka(kd * volume * (1 - U) / (U * U * N));
+
+ Species sp1("A", radius, D), sp2("B", radius, D), sp3("C", radius, D);
+ ReactionRule rr1(create_unbinding_reaction_rule(sp1, sp2, sp3, kd)),
+ rr2(create_binding_reaction_rule(sp2, sp3, sp1, ka));
+
+ boost::shared_ptr<NetworkModel> model(new NetworkModel());
+ model->add_species_attribute(sp1);
+ model->add_species_attribute(sp2);
+ model->add_species_attribute(sp3);
+ model->add_reaction_rule(rr1);
+ model->add_reaction_rule(rr2);
+
+ boost::shared_ptr<GSLRandomNumberGenerator>
+ rng(new GSLRandomNumberGenerator());
+ rng->seed(time(NULL));
+
+ boost::shared_ptr<world_type> world(
+ new world_type(edge_lengths, voxel_radius, rng));
+
+ world->add_molecules(sp1, N);
+
+ simulator_type sim(model, world);
+
+ Real next_time(0.0), dt(0.02);
+ std::cout << sim.t()
+ << "\t" << world->num_molecules(sp1)
+ << "\t" << world->num_molecules(sp2)
+ << "\t" << world->num_molecules(sp3)
+ << std::endl;
+ for (unsigned int i(0); i < 100; ++i)
+ {
+ next_time += dt;
+ while (sim.step(next_time)) {}
+
+ std::cout << sim.t()
+ << "\t" << world->num_molecules(sp1)
+ << "\t" << world->num_molecules(sp2)
+ << "\t" << world->num_molecules(sp3)
+ << std::endl;
+ }
+}
+
+} // ecell4
+
+/**
+ * main function
+ */
+int main(int argc, char** argv)
+{
+ ecell4::run();
+}
diff --git a/ecell4/spatiocyte/tests/CMakeLists.txt b/ecell4/spatiocyte/tests/CMakeLists.txt
new file mode 100644
index 0000000..d45c126
--- /dev/null
+++ b/ecell4/spatiocyte/tests/CMakeLists.txt
@@ -0,0 +1,16 @@
+set(TEST_NAMES
+ SpatiocyteSimulator_test SpatiocyteWorld_test)
+
+set(test_library_dependencies)
+find_library(BOOST_UNITTEST_FRAMEWORK_LIBRARY boost_unit_test_framework)
+if (BOOST_UNITTEST_FRAMEWORK_LIBRARY)
+ add_definitions(-DBOOST_TEST_DYN_LINK)
+ add_definitions(-DUNITTEST_FRAMEWORK_LIBRARY_EXIST)
+ set(test_library_dependencies boost_unit_test_framework)
+endif()
+
+foreach(TEST_NAME ${TEST_NAMES})
+ add_executable(${TEST_NAME} ${TEST_NAME}.cpp)
+ target_link_libraries(${TEST_NAME} ecell4-spatiocyte ${test_library_dependencies})
+ add_test(NAME ${TEST_NAME} COMMAND ${TEST_NAME})
+endforeach(TEST_NAME)
diff --git a/ecell4/spatiocyte/tests/SpatiocyteSimulator_test.cpp b/ecell4/spatiocyte/tests/SpatiocyteSimulator_test.cpp
new file mode 100644
index 0000000..20a9ba8
--- /dev/null
+++ b/ecell4/spatiocyte/tests/SpatiocyteSimulator_test.cpp
@@ -0,0 +1,571 @@
+#define BOOST_TEST_MODULE "SpatiocyteSimulator_test"
+
+#ifdef UNITTEST_FRAMEWORK_LIBRARY_EXIST
+# include <boost/test/unit_test.hpp>
+#else
+# define BOOST_TEST_NO_LIB
+# include <boost/test/included/unit_test.hpp>
+#endif
+
+#include <boost/test/floating_point_comparison.hpp>
+
+#include <ecell4/core/NetworkModel.hpp>
+#include "../SpatiocyteSimulator.hpp"
+#include <ecell4/core/Sphere.hpp>
+
+using namespace ecell4;
+using namespace ecell4::spatiocyte;
+
+const Real DEFAULT_VOXEL_RADIUS = 1e-8;
+
+BOOST_AUTO_TEST_CASE(SpatiocyteSimulator_test_constructor)
+{
+ const Real L(1e-6);
+ const Real3 edge_lengths(L, L, L);
+ const Real voxel_radius(DEFAULT_VOXEL_RADIUS);
+
+ const std::string D("1e-12"), radius("2.5e-9");
+
+ ecell4::Species sp1("A", radius, D),
+ sp2("B", radius, D),
+ sp3("C", radius, D);
+ boost::shared_ptr<NetworkModel> model(new NetworkModel());
+ (*model).add_species_attribute(sp1);
+ (*model).add_species_attribute(sp2);
+ (*model).add_species_attribute(sp3);
+
+ boost::shared_ptr<GSLRandomNumberGenerator>
+ rng(new GSLRandomNumberGenerator());
+ boost::shared_ptr<SpatiocyteWorld> world(
+ new SpatiocyteWorld(edge_lengths, voxel_radius, rng));
+
+ SpatiocyteSimulator sim(model, world);
+}
+
+BOOST_AUTO_TEST_CASE(SpatiocyteSimulator_test_hdf5_save)
+{
+ const Real L(1e-6);
+ const Real3 edge_lengths(L, L, L);
+ const Real voxel_radius(DEFAULT_VOXEL_RADIUS);
+ const Integer N(60);
+
+ const std::string D("1e-12"), radius("2.5e-9");
+
+ ecell4::Species sp("A", radius, D);
+ boost::shared_ptr<NetworkModel> model(new NetworkModel());
+ (*model).add_species_attribute(sp);
+
+ boost::shared_ptr<GSLRandomNumberGenerator>
+ rng(new GSLRandomNumberGenerator());
+ boost::shared_ptr<SpatiocyteWorld> world(
+ new SpatiocyteWorld(edge_lengths, voxel_radius, rng));
+
+ world->add_molecules(sp, N);
+ BOOST_ASSERT(world->num_molecules(sp) == N);
+
+ SpatiocyteSimulator sim(model, world);
+#ifdef WITH_HDF5
+ world->save("data.h5");
+#endif
+}
+
+BOOST_AUTO_TEST_CASE(SpatiocyteSimulator_test_step_with_single_particle)
+{
+ const Real L(2.5e-8);
+ const Real3 edge_lengths(L, L, L);
+ const Real voxel_radius(2.5e-9);
+
+ const std::string D("1e-12"), radius("2.5e-9");
+
+ ecell4::Species sp("A", radius, D);
+ boost::shared_ptr<NetworkModel> model(new NetworkModel());
+ (*model).add_species_attribute(sp);
+
+ boost::shared_ptr<GSLRandomNumberGenerator>
+ rng(new GSLRandomNumberGenerator());
+ boost::shared_ptr<SpatiocyteWorld> world(
+ new SpatiocyteWorld(edge_lengths, voxel_radius, rng));
+
+ BOOST_CHECK(world->new_voxel(sp, world->inner2coordinate(36)).second);
+
+ SpatiocyteSimulator sim(model, world);
+
+ const std::string hdf5path("/");
+
+ for (int i(0); i < 50; ++i)
+ {
+ std::ostringstream oss;
+ oss << "data_with_single_particle_";
+ if (i < 10)
+ {
+ oss << "0" << i;
+ }
+ else
+ {
+ oss << i;
+ }
+ oss << ".h5";
+ sim.step();
+#ifdef WITH_HDF5
+ world->save(oss.str());
+#endif
+ }
+}
+
+BOOST_AUTO_TEST_CASE(SpatiocyteSimulator_test_step_with_single_species)
+{
+ const Real L(1e-6);
+ const Real3 edge_lengths(L, L, L);
+ const Real voxel_radius(2.5e-9);
+ const Integer N(60);
+
+ const std::string D("1e-12"), radius("2.5e-9");
+
+ ecell4::Species sp("A", radius, D);
+ boost::shared_ptr<NetworkModel> model(new NetworkModel());
+ (*model).add_species_attribute(sp);
+
+ boost::shared_ptr<GSLRandomNumberGenerator>
+ rng(new GSLRandomNumberGenerator());
+ boost::shared_ptr<SpatiocyteWorld> world(
+ new SpatiocyteWorld(edge_lengths, voxel_radius, rng));
+
+ world->add_molecules(sp, N / 2);
+
+ BOOST_ASSERT(world->num_molecules(sp) == N / 2);
+
+ SpatiocyteSimulator sim(model, world);
+
+ world->add_molecules(sp, N / 2);
+ BOOST_ASSERT(world->num_molecules(sp) == N);
+
+ sim.initialize();
+ sim.step();
+}
+
+BOOST_AUTO_TEST_CASE(SpatiocyteSimulator_test_save_step_with_single_species)
+{
+ const Real L(1e-6);
+ const Real3 edge_lengths(L, L, L);
+ const Real voxel_radius(2.5e-9);
+ const Integer N(60);
+
+ const std::string D("1e-12"), radius("2.5e-9");
+
+ ecell4::Species sp("A", radius, D);
+ boost::shared_ptr<NetworkModel> model(new NetworkModel());
+ (*model).add_species_attribute(sp);
+
+ boost::shared_ptr<GSLRandomNumberGenerator>
+ rng(new GSLRandomNumberGenerator());
+ boost::shared_ptr<SpatiocyteWorld> world(
+ new SpatiocyteWorld(edge_lengths, voxel_radius, rng));
+
+ SpatiocyteSimulator sim(model, world);
+
+ world->add_molecules(sp, N);
+ sim.initialize();
+
+ const std::string hdf5path("/");
+
+ for (int i(0); i < 50; ++i)
+ {
+ std::ostringstream oss;
+ oss << "data_with_single_species_";
+ if (i < 10)
+ {
+ oss << "0" << i;
+ }
+ else
+ {
+ oss << i;
+ }
+ oss << ".h5";
+ sim.step();
+#ifdef WITH_HDF5
+ world->save(oss.str());
+#endif
+ }
+}
+
+BOOST_AUTO_TEST_CASE(SpatiocyteSimulator_test_save_step_with_periodic)
+{
+ const Real L(1e-6);
+ const Real3 edge_lengths(L, L, L);
+ const Real voxel_radius(2.5e-9);
+ const Integer N(60);
+
+ const std::string D("1e-12"), radius("2.5e-9");
+
+ ecell4::Species sp("A", radius, D);
+ boost::shared_ptr<NetworkModel> model(new NetworkModel());
+ (*model).add_species_attribute(sp);
+
+ boost::shared_ptr<GSLRandomNumberGenerator>
+ rng(new GSLRandomNumberGenerator());
+ boost::shared_ptr<SpatiocyteWorld> world(
+ new SpatiocyteWorld(edge_lengths, voxel_radius, rng));
+
+ SpatiocyteSimulator sim(model, world);
+
+ world->add_molecules(sp, N);
+ sim.initialize();
+
+ const std::string hdf5path("/");
+
+ for (int i(0); i < 50; ++i)
+ {
+ std::ostringstream oss;
+ oss << "data_with_single_species_";
+ if (i < 10)
+ {
+ oss << "0" << i;
+ }
+ else
+ {
+ oss << i;
+ }
+ oss << ".h5";
+ sim.step();
+#ifdef WITH_HDF5
+ world->save(oss.str());
+#endif
+ }
+}
+
+BOOST_AUTO_TEST_CASE(SpatiocyteSimulator_test_unimolecular_reaction)
+{
+ const Real L(2.5e-8);
+ const Real3 edge_lengths(L, L, L);
+ const Real voxel_radius(2.5e-9);
+ const std::string radius("1.25e-9");
+ const ecell4::Species sp1("A", radius, "1.0e-12"),
+ sp2("B", radius, "1.1e-12"),
+ sp3("C", "2.5e-9", "1.2e-12");
+
+ boost::shared_ptr<NetworkModel> model(new NetworkModel());
+ model->add_species_attribute(sp1);
+ model->add_species_attribute(sp2);
+ model->add_species_attribute(sp3);
+
+ model->add_reaction_rule(create_unimolecular_reaction_rule(sp1,sp3,1e6));
+
+ boost::shared_ptr<GSLRandomNumberGenerator>
+ rng(new GSLRandomNumberGenerator());
+ boost::shared_ptr<SpatiocyteWorld> world(
+ new SpatiocyteWorld(edge_lengths, voxel_radius, rng));
+
+ SpatiocyteSimulator sim(model, world);
+
+ BOOST_CHECK(world->add_molecules(sp1, 25));
+ BOOST_CHECK(world->add_molecules(sp2, 25));
+ sim.initialize();
+
+#ifdef WITH_HDF5
+ world->save("data_unimolecular_reaction_single0.h5");
+#endif
+ for (Integer i(0); i < 10; ++i)
+ {
+ sim.step();
+ }
+ BOOST_ASSERT(world->num_molecules(sp3) > 0);
+ BOOST_ASSERT(25 - world->num_molecules(sp1) == world->num_molecules(sp3));
+#ifdef WITH_HDF5
+ world->save("data_unimolecular_reaction_single1.h5");
+#endif
+}
+
+BOOST_AUTO_TEST_CASE(SpatiocyteSimulator_test_binding_reaction)
+{
+ const Real L(2.5e-8);
+ const Real3 edge_lengths(L, L, L);
+ const Real voxel_radius(2.5e-9);
+ const std::string radius("1.25e-9");
+ const ecell4::Species sp1("A", radius, "1.0e-12"),
+ sp2("B", radius, "1.1e-12"),
+ sp3("C", "2.5e-9", "1.2e-12");
+
+ boost::shared_ptr<NetworkModel> model(new NetworkModel());
+ model->add_species_attribute(sp1);
+ model->add_species_attribute(sp2);
+ model->add_species_attribute(sp3);
+
+ model->add_reaction_rule(create_binding_reaction_rule(sp1,sp2,sp3,1e-20));
+
+ boost::shared_ptr<GSLRandomNumberGenerator>
+ rng(new GSLRandomNumberGenerator());
+ boost::shared_ptr<SpatiocyteWorld> world(
+ new SpatiocyteWorld(edge_lengths, voxel_radius, rng));
+
+ SpatiocyteSimulator sim(model, world);
+
+ BOOST_CHECK(world->add_molecules(sp1, 25));
+ BOOST_CHECK(world->add_molecules(sp2, 25));
+ sim.initialize();
+
+#ifdef WITH_HDF5
+ world->save("data_binging_reaction0.h5");
+#endif
+ for (Integer i(0); i < 20; ++i)
+ {
+ sim.step();
+ }
+#ifdef WITH_HDF5
+ world->save("data_binding_reaction1.h5");
+#endif
+ Integer num_sp3(world->num_molecules(sp3));
+ BOOST_ASSERT(num_sp3 > 0);
+ BOOST_CHECK_EQUAL(25 - world->num_molecules(sp1), num_sp3);
+ BOOST_CHECK_EQUAL(25 - world->num_molecules(sp2), num_sp3);
+}
+
+BOOST_AUTO_TEST_CASE(SpatiocyteSimulator_test_unbinding_reaction)
+{
+ const Real L(2.5e-8);
+ const Real3 edge_lengths(L, L, L);
+ const Real voxel_radius(2.5e-9);
+ const std::string radius("1.25e-9");
+ const ecell4::Species sp1("A", radius, "1.0e-12"),
+ sp2("B", radius, "1.1e-12"),
+ sp3("C", "2.5e-9", "1.2e-12");
+
+ boost::shared_ptr<NetworkModel> model(new NetworkModel());
+ model->add_species_attribute(sp1);
+ model->add_species_attribute(sp2);
+ model->add_species_attribute(sp3);
+
+ model->add_reaction_rule(create_unbinding_reaction_rule(sp1,sp2,sp3,1e5));
+
+ boost::shared_ptr<GSLRandomNumberGenerator>
+ rng(new GSLRandomNumberGenerator());
+ boost::shared_ptr<SpatiocyteWorld> world(
+ new SpatiocyteWorld(edge_lengths, voxel_radius, rng));
+
+ SpatiocyteSimulator sim(model, world);
+
+ BOOST_CHECK(world->add_molecules(sp1, 25));
+ sim.initialize();
+
+#ifdef WITH_HDF5
+ world->save("data_unbinding_reaction0.h5");
+#endif
+ for (Integer i(0); i < 10; ++i)
+ {
+ sim.step();
+ }
+ const Integer num_sp1(world->num_molecules(sp1));
+ BOOST_ASSERT(num_sp1 < 25);
+ BOOST_CHECK_EQUAL(25 - num_sp1, world->num_molecules(sp2));
+ BOOST_CHECK_EQUAL(25 - num_sp1, world->num_molecules(sp3));
+#ifdef WITH_HDF5
+ world->save("data_unbinding_reaction1.h5");
+#endif
+}
+
+BOOST_AUTO_TEST_CASE(SpatiocyteSimulator_test_degradation_reaction)
+{
+ const Real L(2.5e-8);
+ const Real3 edge_lengths(L, L, L);
+ const Real voxel_radius(2.5e-9);
+ const std::string radius("1.25e-9");
+ const ecell4::Species sp1("A", radius, "1.0e-12");
+
+ boost::shared_ptr<NetworkModel> model(new NetworkModel());
+ model->add_species_attribute(sp1);
+
+ model->add_reaction_rule(create_degradation_reaction_rule(sp1,1e5));
+
+ boost::shared_ptr<GSLRandomNumberGenerator>
+ rng(new GSLRandomNumberGenerator());
+ boost::shared_ptr<SpatiocyteWorld> world(
+ new SpatiocyteWorld(edge_lengths, voxel_radius, rng));
+
+ SpatiocyteSimulator sim(model, world);
+
+ BOOST_CHECK(world->add_molecules(sp1, 25));
+ sim.initialize();
+
+#ifdef WITH_HDF5
+ world->save("data_degradation_reaction0.h5");
+#endif
+ for (Integer i(0); i < 10; ++i)
+ {
+ sim.step();
+ }
+ BOOST_ASSERT(world->num_molecules(sp1) < 25);
+#ifdef WITH_HDF5
+ world->save("data_degradation_reaction1.h5");
+#endif
+}
+
+BOOST_AUTO_TEST_CASE(LattiecSimulator_test_scheduler)
+{
+ const Real L(1e-6);
+ const Real3 edge_lengths(L, L, L);
+ const Real voxel_radius(2.5e-9);
+
+ const std::string D1("1.0e-12"),
+ D2("1.1e-12"),
+ D3("1.2e-12"),
+ radius("2.5e-9");
+
+ const ecell4::Species sp1("A", radius, D1),
+ sp2("B", radius, D2),
+ sp3("C", radius, D3);
+ boost::shared_ptr<NetworkModel> model(new NetworkModel());
+ (*model).add_species_attribute(sp1);
+ (*model).add_species_attribute(sp2);
+ (*model).add_species_attribute(sp3);
+
+ boost::shared_ptr<GSLRandomNumberGenerator>
+ rng(new GSLRandomNumberGenerator());
+ boost::shared_ptr<SpatiocyteWorld> world(
+ new SpatiocyteWorld(edge_lengths, voxel_radius, rng));
+
+ SpatiocyteWorld::coordinate_type
+ c1(world->inner2coordinate(41*400*400+35*400+56)),
+ c2(world->inner2coordinate(33*400*400+51*400+25)),
+ c3(world->inner2coordinate(61*400*400+37*400+90));
+ BOOST_CHECK(world->new_voxel(sp1, c1).second);
+ BOOST_CHECK(world->new_voxel(sp2, c2).second);
+ BOOST_CHECK(world->new_voxel(sp3, c3).second);
+
+ SpatiocyteSimulator sim(model, world);
+
+ sim.initialize();
+
+ BOOST_ASSERT(world->has_molecule_pool(sp1));
+ BOOST_ASSERT(world->has_molecule_pool(sp2));
+ BOOST_ASSERT(world->has_molecule_pool(sp3));
+
+ const MoleculePool
+ *mt1(world->find_molecule_pool(sp1)),
+ *mt2(world->find_molecule_pool(sp2)),
+ *mt3(world->find_molecule_pool(sp3));
+
+ MoleculePool::const_iterator
+ itr1(mt1->begin()),
+ itr2(mt2->begin()),
+ itr3(mt3->begin());
+
+ BOOST_ASSERT(itr1 != mt1->end());
+ BOOST_ASSERT(itr2 != mt2->end());
+ BOOST_ASSERT(itr3 != mt3->end());
+
+ c1 = (*itr1).coordinate;
+ c2 = (*itr2).coordinate;
+ c3 = (*itr3).coordinate;
+
+ sim.step();
+ itr1 = mt1->begin();
+ itr2 = mt2->begin();
+ itr3 = mt3->begin();
+ BOOST_ASSERT((*itr1).coordinate == c1);
+ BOOST_ASSERT((*itr2).coordinate == c2);
+ BOOST_ASSERT((*itr3).coordinate != c3);
+ c3 = (*itr3).coordinate;
+
+ sim.step();
+ itr1 = mt1->begin();
+ itr2 = mt2->begin();
+ itr3 = mt3->begin();
+ BOOST_ASSERT((*itr1).coordinate == c1);
+ BOOST_ASSERT((*itr2).coordinate != c2);
+ BOOST_ASSERT((*itr3).coordinate == c3);
+ c2 = (*itr2).coordinate;
+
+ sim.step();
+ itr1 = mt1->begin();
+ itr2 = mt2->begin();
+ itr3 = mt3->begin();
+ BOOST_ASSERT((*itr1).coordinate != c1);
+ BOOST_ASSERT((*itr2).coordinate == c2);
+ BOOST_ASSERT((*itr3).coordinate == c3);
+ c1 = (*itr1).coordinate;
+
+}
+
+BOOST_AUTO_TEST_CASE(SpatiocyteSimulator_test_finalize)
+{
+ const Real L(1e-6);
+ const Real3 edge_lengths(L, L, L);
+ const Real voxel_radius(2.5e-9);
+ const Integer N(60);
+
+ const std::string D("1e-12"), radius("2.5e-9");
+
+ ecell4::Species sp("A", radius, D);
+ boost::shared_ptr<NetworkModel> model(new NetworkModel());
+ (*model).add_species_attribute(sp);
+
+ boost::shared_ptr<GSLRandomNumberGenerator>
+ rng(new GSLRandomNumberGenerator());
+ boost::shared_ptr<SpatiocyteWorld> world(
+ new SpatiocyteWorld(edge_lengths, voxel_radius, rng));
+
+ SpatiocyteSimulator sim(model, world);
+
+ world->add_molecules(sp, N);
+ sim.initialize();
+
+ while(sim.step(0.311111111))
+ ;
+
+#ifdef WITH_HDF5
+ world->save("data_finalize_before.h5");
+#endif
+ sim.finalize();
+#ifdef WITH_HDF5
+ world->save("data_finalize_after.h5");
+#endif
+}
+
+BOOST_AUTO_TEST_CASE(SpatiocyteSimulator_test_shape)
+{
+ const Real L(2.5e-8);
+ const Real3 edge_lengths(L, L, L);
+ const Real voxel_radius(1e-9);
+ const std::string D("1e-12"), radius("2.5e-9");
+ Species membrane("Membrane", "2.5e-9", "0");
+
+ Species sp("SpeciesA", "2.5e-9", "1e-12");
+ sp.set_attribute("location", "Membrane");
+
+ boost::shared_ptr<NetworkModel> model(new NetworkModel());
+ (*model).add_species_attribute(sp);
+ boost::shared_ptr<GSLRandomNumberGenerator>
+ rng(new GSLRandomNumberGenerator());
+ boost::shared_ptr<SpatiocyteWorld> world(
+ new SpatiocyteWorld(edge_lengths, voxel_radius, rng));
+
+ SpatiocyteSimulator sim(model, world);
+
+ boost::shared_ptr<const Sphere> sphere(new Sphere(Real3(L/2, L/2, L/2), L*1/3));
+
+ BOOST_CHECK(world->add_structure(membrane, sphere) > 0);
+ BOOST_CHECK(!world->new_particle(Particle(sp, Real3(L/2, L/2, L*5/6),
+ 2.5e-9, 1e-12)).second); // This should fail
+ BOOST_CHECK(world->new_particle(Particle(sp, Real3(L/2, L/2, L*5/6 - voxel_radius),
+ 2.5e-9, 1e-12)).second);
+
+ sim.initialize();
+#ifdef WITH_HDF5
+ world->save("structure_before.h5");
+#endif
+
+ sim.step();
+ sim.step();
+ sim.step();
+ sim.step();
+ sim.step();
+ sim.step();
+ sim.step();
+ sim.step();
+ sim.step();
+ sim.step();
+ sim.step();
+
+#ifdef WITH_HDF5
+ world->save("structure_after.h5");
+#endif
+}
diff --git a/ecell4/spatiocyte/tests/SpatiocyteWorld_test.cpp b/ecell4/spatiocyte/tests/SpatiocyteWorld_test.cpp
new file mode 100644
index 0000000..1d58c5d
--- /dev/null
+++ b/ecell4/spatiocyte/tests/SpatiocyteWorld_test.cpp
@@ -0,0 +1,264 @@
+#define BOOST_TEST_MODULE "SpatiocyteWorld_test"
+
+#ifdef UNITTEST_FRAMEWORK_LIBRARY_EXIST
+# include <boost/test/unit_test.hpp>
+#else
+# define BOOST_TEST_NO_LIB
+# include <boost/test/included/unit_test.hpp>
+#endif
+
+#include <boost/test/floating_point_comparison.hpp>
+
+#include "../SpatiocyteWorld.hpp"
+#include "../../core/Sphere.hpp"
+//#include <ecell4/core/Sphere.hpp>
+#include <fstream>
+
+using namespace ecell4;
+using namespace ecell4::spatiocyte;
+
+const Real DEFAULT_VOXEL_RADIUS = 1e-8;
+
+BOOST_AUTO_TEST_CASE(SpatiocyteWorld_test_constructor)
+{
+ boost::shared_ptr<GSLRandomNumberGenerator>
+ rng(new GSLRandomNumberGenerator());
+ const Real3 edge_lengths(1e-6, 1e-6, 1e-6);
+ const Real voxel_radius(DEFAULT_VOXEL_RADIUS);
+ SpatiocyteWorld world(edge_lengths, voxel_radius, rng);
+}
+
+BOOST_AUTO_TEST_CASE(SpatiocyteWorld_test_t)
+{
+ boost::shared_ptr<GSLRandomNumberGenerator>
+ rng(new GSLRandomNumberGenerator());
+ const Real3 edge_lengths(1e-6, 1e-6, 1e-6);
+ const Real voxel_radius(DEFAULT_VOXEL_RADIUS);
+ SpatiocyteWorld world(edge_lengths, voxel_radius, rng);
+ BOOST_CHECK_EQUAL(world.t(), 0);
+ world.set_t(23.4);
+ BOOST_CHECK_EQUAL(world.t(), 23.4);
+}
+
+BOOST_AUTO_TEST_CASE(SpatiocyteWorld_test_num_species)
+{
+ boost::shared_ptr<GSLRandomNumberGenerator>
+ rng(new GSLRandomNumberGenerator());
+ const Real3 edge_lengths(1e-6, 1e-6, 1e-6);
+ const Real voxel_radius(DEFAULT_VOXEL_RADIUS);
+ SpatiocyteWorld world(edge_lengths, voxel_radius, rng);
+ BOOST_CHECK_EQUAL(world.num_species(), 0);
+}
+
+BOOST_AUTO_TEST_CASE(SpatiocyteWorld_test_has_species)
+{
+ boost::shared_ptr<GSLRandomNumberGenerator>
+ rng(new GSLRandomNumberGenerator());
+ const Real3 edge_lengths(1e-6, 1e-6, 1e-6);
+ const Real voxel_radius(DEFAULT_VOXEL_RADIUS);
+ SpatiocyteWorld world(edge_lengths, voxel_radius, rng);
+ Species sp(std::string("Species"));
+ BOOST_CHECK(!world.has_species(sp));
+}
+
+BOOST_AUTO_TEST_CASE(SpatiocyteWorld_test_list_particles)
+{
+ boost::shared_ptr<GSLRandomNumberGenerator>
+ rng(new GSLRandomNumberGenerator());
+ const Real3 edge_lengths(1e-6, 1e-6, 1e-6);
+ const Real voxel_radius(DEFAULT_VOXEL_RADIUS);
+ SpatiocyteWorld world(edge_lengths, voxel_radius, rng);
+ std::vector<std::pair<ParticleID, Particle> > particles(world.list_particles());
+ BOOST_CHECK_EQUAL(particles.size(), 0);
+}
+
+BOOST_AUTO_TEST_CASE(SpatiocyteWorld_test_update_particles)
+{
+ boost::shared_ptr<GSLRandomNumberGenerator>
+ rng(new GSLRandomNumberGenerator());
+ SerialIDGenerator<ParticleID> sidgen;
+ const Real3 edge_lengths(1e-6, 1e-6, 1e-6);
+ const Real voxel_radius(DEFAULT_VOXEL_RADIUS);
+ SpatiocyteWorld world(edge_lengths, voxel_radius, rng);
+
+ ParticleID pid(sidgen());
+ Species sp(std::string("A"));
+ const Real3 pos(2e-7, 1e-7, 0);
+ Real r(0);
+ Real d(0);
+ Particle p(sp, pos, r, d);
+
+ world.update_particle(pid, p);
+
+ BOOST_CHECK(world.has_species(sp));
+ BOOST_CHECK(world.has_particle(pid));
+ BOOST_CHECK_EQUAL(world.list_particles().size(), 1);
+ BOOST_CHECK_EQUAL(world.list_particles(sp).size(), 1);
+}
+
+// BOOST_AUTO_TEST_CASE(SpatiocyteWorld_test_register_species)
+// {
+// const Real3 edge_lengths(1e-6,1e-6,1e-6);
+// const Real voxel_radius(DEFAULT_VOXEL_RADIUS);
+// boost::shared_ptr<GSLRandomNumberGenerator>
+// rng(new GSLRandomNumberGenerator());
+// SpatiocyteWorld world(edge_lengths, voxel_radius, rng);
+//
+// Species sp(std::string("TEST"));
+//
+// BOOST_CHECK(world.register_species(sp));
+// BOOST_CHECK(world.has_species(sp));
+//
+// std::vector<Species> list;
+// list.push_back(sp);
+//
+// BOOST_CHECK(list == world.list_species());
+// }
+
+BOOST_AUTO_TEST_CASE(SpatiocyteWorld_test_add_molecule)
+{
+ const Real3 edge_lengths(1e-6,1e-6,1e-6);
+ const Real voxel_radius(2.5e-9);
+ boost::shared_ptr<GSLRandomNumberGenerator>
+ rng(new GSLRandomNumberGenerator());
+ SpatiocyteWorld world(edge_lengths, voxel_radius, rng);
+
+ Species sp(std::string("TEST"));
+ sp.set_attribute("radius", "2.5e-9");
+ sp.set_attribute("D", "1e-12");
+
+ SpatiocyteWorld::coordinate_type coord(486420);
+ // BOOST_CHECK(world.place_voxel(sp, coord).second);
+ BOOST_CHECK(world.new_voxel(sp, coord).second);
+ BOOST_CHECK_EQUAL(world.num_particles(sp), 1);
+
+ VoxelPool* mt(world.get_voxel_pool_at(coord));
+ BOOST_CHECK(!mt->is_vacant());
+}
+
+BOOST_AUTO_TEST_CASE(SpatiocyteWorld_test_add_molecules)
+{
+ const Real3 edge_lengths(1e-6,1e-6,1e-6);
+ const Real voxel_radius(DEFAULT_VOXEL_RADIUS);
+ boost::shared_ptr<GSLRandomNumberGenerator>
+ rng(new GSLRandomNumberGenerator());
+ SpatiocyteWorld world(edge_lengths, voxel_radius, rng);
+
+ Species sp(std::string("TEST"));
+ sp.set_attribute("radius", "2.5e-9");
+ sp.set_attribute("D", "1e-12");
+ const Integer N(60);
+
+ BOOST_CHECK(world.add_molecules(sp, N));
+ BOOST_CHECK_EQUAL(world.num_particles(sp), N);
+}
+
+BOOST_AUTO_TEST_CASE(SpatiocyteWorld_test_neighbor)
+{
+ const Real3 edge_lengths(1e-6,1e-6,1e-6);
+ const Real voxel_radius(DEFAULT_VOXEL_RADIUS);
+ boost::shared_ptr<GSLRandomNumberGenerator>
+ rng(new GSLRandomNumberGenerator());
+ SpatiocyteWorld world(edge_lengths, voxel_radius, rng);
+
+ const SpatiocyteWorld::coordinate_type coord(26 + 52 * 26 + 52 * 52 * 26);
+ const Real3 cp(world.coordinate2position(coord));
+
+ Species sp(std::string("TEST"));
+ sp.set_attribute("radius", "2.5e-9");
+ sp.set_attribute("D", "1e-12");
+ const Integer n(world.add_neighbors(sp, coord));
+ std::vector<std::pair<ParticleID, Particle> > particles(
+ world.list_particles());
+ std::ofstream ofs("neighbor.txt");
+ ofs << "center" << std::endl;
+ // ofs << "(" << cp[0] << "," << cp[1] << "," << cp[2] << ") "
+ // << world.coordinate2coord(coord) << std::endl;
+ ofs << "(" << cp[0] << "," << cp[1] << "," << cp[2] << ") " << coord << std::endl;
+ for (std::vector<std::pair<ParticleID, Particle> >::iterator itr(
+ particles.begin()); itr != particles.end(); ++itr)
+ {
+ Real3 pos((*itr).second.position());
+ BOOST_ASSERT(length(pos-cp) < voxel_radius*2.1);
+ const SpatiocyteWorld::coordinate_type coord(world.position2coordinate(pos));
+ //pos /= voxel_radius * 2;
+ ofs << "(" << pos[0] << "," << pos[1] << "," << pos[2] << ") "
+ << coord << std::endl;
+ }
+ ofs.close();
+
+#ifdef WITH_HDF5
+ world.save("neighbor.h5");
+#endif
+}
+
+BOOST_AUTO_TEST_CASE(SpatiocyteWorld_test_add_shape)
+{
+ const Real3 edge_lengths(1e-6,1e-6,1e-6);
+ const Real voxel_radius(DEFAULT_VOXEL_RADIUS);
+ boost::shared_ptr<GSLRandomNumberGenerator>
+ rng(new GSLRandomNumberGenerator());
+ SpatiocyteWorld world(edge_lengths, voxel_radius, rng);
+
+ Species sp(std::string("TEST"));
+ sp.set_attribute("radius", "2.5e-9");
+ sp.set_attribute("D", "1e-12");
+
+ boost::shared_ptr<const Sphere> sphere(new Sphere(Real3(5e-7, 5e-7, 5e-7), 5e-7*1.5));
+
+ const Integer n(world.add_structure(sp, sphere));
+ BOOST_ASSERT(n > 0);
+ BOOST_CHECK_EQUAL(world.num_particles(sp), n);
+
+#ifdef WITH_HDF5
+ world.save("sphere.h5");
+#endif
+}
+
+BOOST_AUTO_TEST_CASE(SpatiocyteWorld_test_move)
+{
+ const Real3 edge_lengths(1e-6,1e-6,1e-6);
+ const Real voxel_radius(2.5e-9);
+ boost::shared_ptr<GSLRandomNumberGenerator>
+ rng(new GSLRandomNumberGenerator());
+ SpatiocyteWorld world(edge_lengths, voxel_radius, rng);
+
+ Species sp(std::string("TEST"));
+ sp.set_attribute("radius", "2.5e-9");
+ sp.set_attribute("D", "1e-12");
+
+ SpatiocyteWorld::coordinate_type from(world.inner2coordinate(1034));
+ SpatiocyteWorld::coordinate_type to(world.inner2coordinate(786420));
+
+ BOOST_CHECK(world.new_voxel(sp, from).second);
+ BOOST_CHECK(world.move(from, to));
+
+ VoxelPool* mt(world.get_voxel_pool_at(to));
+ BOOST_CHECK(!mt->is_vacant());
+
+ BOOST_CHECK(world.move(from, to));
+}
+
+BOOST_AUTO_TEST_CASE(SpatiocyteWorld_test_structure)
+{
+ const Real3 edge_lengths(5e-7, 5e-7, 5e-7);
+ const Real voxel_radius(DEFAULT_VOXEL_RADIUS);
+ boost::shared_ptr<GSLRandomNumberGenerator>
+ rng(new GSLRandomNumberGenerator());
+ SpatiocyteWorld world(edge_lengths, voxel_radius, rng);
+
+ Species membrane("Membrane", "2.5e-9", "0");
+
+ Species sp("SpeciesA", "2.5e-9", "1e-12");
+ sp.set_attribute("location", "Membrane");
+
+ boost::shared_ptr<const Sphere> sphere(new Sphere(Real3(2.5e-7, 2.5e-7, 2.5e-7), 2e-7));
+
+ BOOST_CHECK(world.add_structure(membrane, sphere) == 5892);
+ BOOST_CHECK(!world.new_particle(Particle(sp, Real3(2.5e-7, 2.5e-7, 4.5e-7), 2.5e-9, 1e-12)).second);
+ BOOST_CHECK(world.new_particle(Particle(sp, Real3(2.5e-7, 2.5e-7, 4.5e-7 - voxel_radius * 2), 2.5e-9, 1e-12)).second);
+
+#ifdef WITH_HDF5
+ world.save("structure.h5");
+#endif
+}
diff --git a/ecell4/spatiocyte/utils.cpp b/ecell4/spatiocyte/utils.cpp
new file mode 100644
index 0000000..c011695
--- /dev/null
+++ b/ecell4/spatiocyte/utils.cpp
@@ -0,0 +1,112 @@
+#include "utils.hpp"
+
+
+namespace ecell4
+{
+
+namespace spatiocyte
+{
+
+const Real calculate_dimensional_factor(
+ const VoxelPool* mt0, const VoxelPool* mt1,
+ const boost::shared_ptr<const SpatiocyteWorld>& world)
+{
+ const Real voxel_radius(world->voxel_radius());
+ const Real unit_area(world->unit_area());
+
+ const Species
+ speciesA(mt0->species()),
+ speciesB(mt1->species());
+ const Real
+ D_A(mt0->D()),
+ D_B(mt1->D());
+ const Shape::dimension_kind
+ dimensionA(mt0->get_dimension()),
+ dimensionB(mt1->get_dimension());
+ const Real Dtot(D_A + D_B);
+ const Real gamma(pow(2 * sqrt(2.0) + 4 * sqrt(3.0) + 3 * sqrt(6.0) + sqrt(22.0), 2) /
+ (72 * (6 * sqrt(2.0) + 4 * sqrt(3.0) + 3 * sqrt(6.0))));
+ Real factor(0);
+ if (dimensionA == Shape::THREE && dimensionB == Shape::THREE)
+ {
+ // if (speciesA != speciesB)
+ // factor = 1. / (6 * sqrt(2.0) * Dtot * voxel_radius);
+ // else
+ // factor = 1. / (6 * sqrt(2.0) * D_A * voxel_radius);
+ factor = 1. / (6 * sqrt(2.0) * Dtot * voxel_radius);
+ }
+ else if (dimensionA == Shape::TWO && dimensionB == Shape::TWO)
+ {
+ // if (speciesA != speciesB)
+ // factor = gamma / Dtot;
+ // else
+ // factor = gamma / D_A;
+ factor = gamma / Dtot;
+ }
+ else if (dimensionA == Shape::THREE && dimensionB == Shape::TWO)
+ {
+ factor = sqrt(2.0) / (3 * D_A * voxel_radius);
+ if (mt1->is_structure()) // B is Surface
+ {
+ factor *= unit_area;
+ }
+ }
+ else if (dimensionA == Shape::TWO && dimensionB == Shape::THREE)
+ {
+ factor = sqrt(2.0) / (3 * D_B * voxel_radius);
+ if (mt0->is_structure()) // A is Surface
+ {
+ factor *= unit_area;
+ }
+ }
+ else
+ throw NotSupported("The dimension of a structure must be two or three.");
+ return factor;
+}
+
+const Real calculate_alpha(const ReactionRule& rr, const boost::shared_ptr<SpatiocyteWorld>& world)
+{
+ const ReactionRule::reactant_container_type& reactants(rr.reactants());
+ if (reactants.size() != 2)
+ return 1.0;
+
+ const Species species[2] = {reactants.at(0), reactants.at(1)};
+ const MoleculeInfo info[2] = {
+ world->get_molecule_info(species[0]),
+ world->get_molecule_info(species[1])
+ };
+ VoxelPool* mt[2];
+ bool is_created[2] = {false, false};
+ for (int i(0); i < 2; ++i) {
+ try
+ {
+ mt[i] = world->find_voxel_pool(species[i]);
+ }
+ catch(NotFound e)
+ {
+ VoxelPool* location(&(VacantType::getInstance()));
+ if (info[i].loc != "") {
+ try
+ {
+ location = world->find_voxel_pool(Species(info[i].loc));
+ }
+ catch(NotFound e)
+ {
+ ;
+ }
+ }
+ mt[i] = new MolecularType(species[i], location, info[i].radius, info[i].D);
+ is_created[i] = true;
+ }
+ }
+ const Real factor(calculate_dimensional_factor(mt[0], mt[1], boost::const_pointer_cast<const SpatiocyteWorld>(world)));
+ for (int i(0); i < 2; ++i)
+ if (is_created[i])
+ delete mt[i];
+ const Real alpha(1.0 / (factor * rr.k()));
+ return alpha < 1.0 ? alpha : 1.0;
+}
+
+} // spatiocyte
+
+} // ecell4
diff --git a/ecell4/spatiocyte/utils.hpp b/ecell4/spatiocyte/utils.hpp
new file mode 100644
index 0000000..e98ea4b
--- /dev/null
+++ b/ecell4/spatiocyte/utils.hpp
@@ -0,0 +1,23 @@
+#ifndef __ECELL4_SPATIOCYTE_UTILS_HPP
+#define __ECELL4_SPATIOCYTE_UTILS_HPP
+
+#include "SpatiocyteWorld.hpp"
+
+namespace ecell4
+{
+
+namespace spatiocyte
+{
+
+const Real calculate_dimensional_factor(
+ const VoxelPool* mt0, const VoxelPool* mt1,
+ const boost::shared_ptr<const SpatiocyteWorld>& world);
+
+const Real calculate_alpha(
+ const ReactionRule& rr, const boost::shared_ptr<SpatiocyteWorld>& world);
+
+} // spatiocyte
+
+} // ecell4
+
+#endif /* __ECELL4_SPATIOCYTE_UTILS_HPP */
diff --git a/licenses/NOTICE.txt b/licenses/NOTICE.txt
new file mode 100644
index 0000000..5ab23c6
--- /dev/null
+++ b/licenses/NOTICE.txt
@@ -0,0 +1,10 @@
+E-Cell system version 4
+
+This product includes software developed by
+E-Cell project (http://www.e-cell.org)
+
+This product includes HDF5 software library. We reproduce the copyright
+notice, the list of conditions, and the disclaimer in hdf5.txt.
+
+This product includes the GNU Scientific Library (GSL).
+It is free software under the GNU General Public License.
diff --git a/licenses/hdf5.txt b/licenses/hdf5.txt
new file mode 100644
index 0000000..54126de
--- /dev/null
+++ b/licenses/hdf5.txt
@@ -0,0 +1,69 @@
+HDF5 (Hierarchical Data Format 5) Software Library and Utilities
+Copyright 2006-2007 by The HDF Group (THG).
+
+NCSA HDF5 (Hierarchical Data Format 5) Software Library and Utilities
+Copyright 1998-2006 by the Board of Trustees of the University of Illinois.
+
+All rights reserved.
+
+Contributors: National Center for Supercomputing Applications (NCSA)
+at the University of Illinois, Fortner Software, Unidata Program
+Center (netCDF), The Independent JPEG Group (JPEG), Jean-loup Gailly
+and Mark Adler (gzip), and Digital Equipment Corporation (DEC).
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted for any purpose (including commercial
+purposes) provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright
+notice, this list of conditions, and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions, and the following
+disclaimer in the documentation and/or materials provided with the
+distribution.
+ 3. In addition, redistributions of modified forms of the source or
+binary code must carry prominent notices stating that the original
+code was changed and the date of the change.
+ 4. All publications or advertising materials mentioning features or
+use of this software are asked, but not required, to acknowledge that
+it was developed by The HDF Group and by the National Center for
+Supercomputing Applications at the University of Illinois at
+Urbana-Champaign and credit the contributors.
+ 5. Neither the name of The HDF Group, the name of the University,
+nor the name of any Contributor may be used to endorse or promote
+products derived from this software without specific prior written
+permission from THG, the University, or the Contributor, respectively.
+
+DISCLAIMER: THIS SOFTWARE IS PROVIDED BY THE HDF GROUP (THG) AND THE
+CONTRIBUTORS "AS IS" WITH NO WARRANTY OF ANY KIND, EITHER EXPRESSED OR
+IMPLIED. In no event shall THG or the Contributors be liable for any
+damages suffered by the users arising out of the use of this software,
+even if advised of the possibility of such damage.
+
+Portions of HDF5 were developed with support from the University of
+California, Lawrence Livermore National Laboratory (UC LLNL). The
+following statement applies to those portions of the product and must
+be retained in any redistribution of source code, binaries,
+documentation, and/or accompanying materials:
+
+This work was partially produced at the University of California,
+Lawrence Livermore National Laboratory (UC LLNL) under contract
+no. W-7405-ENG-48 (Contract 48) between the U.S. Department of Energy
+(DOE) and The Regents of the University of California (University) for
+the operation of UC LLNL.
+
+DISCLAIMER: This work was prepared as an account of work sponsored by
+an agency of the United States Government. Neither the United States
+Government nor the University of California nor any of their
+employees, makes any warranty, express or implied, or assumes any
+liability or responsibility for the accuracy, completeness, or
+usefulness of any information, apparatus, product, or process
+disclosed, or represents that its use would not infringe privately-
+owned rights. Reference herein to any specific commercial products,
+process, or service by trade name, trademark, manufacturer, or
+otherwise, does not necessarily constitute or imply its endorsement,
+recommendation, or favoring by the United States Government or the
+University of California. The views and opinions of authors expressed
+herein do not necessarily state or reflect those of the United States
+Government or the University of California, and shall not be used for
+advertising or product endorsement purposes.
diff --git a/misc/benchmark.png b/misc/benchmark.png
new file mode 100644
index 0000000..040d103
Binary files /dev/null and b/misc/benchmark.png differ
diff --git a/misc/benchmark.py b/misc/benchmark.py
new file mode 100644
index 0000000..4add2a5
--- /dev/null
+++ b/misc/benchmark.py
@@ -0,0 +1,223 @@
+import time
+
+from ecell4 import *
+
+radius = 0.005
+D = 1
+
+def singlerun(f, L, num, max_steps, min_duration=0.0):
+ """
+ Parameters
+ ----------
+ f : Factory
+ L : Real
+ A size of the World
+ num : Real
+ The number of molecules
+ max_steps : Integer
+ The maximum number of steps
+ min_duration : Real, optional
+ The minimum duration
+ """
+ m = NetworkModel()
+ m.add_species_attribute(Species("A", str(radius), str(D)))
+ w = f.create_world(ones() * L)
+ w.bind_to(m)
+ w.add_molecules(Species("A"), num)
+ sim = f.create_simulator(w)
+ sim.initialize()
+ tstart = time.time()
+ i, telapsed = 0, 0.0
+ while i < max_steps or telapsed < min_duration:
+ sim.step()
+ telapsed = time.time() - tstart
+ i += 1
+ return telapsed / sim.t()
+
+def run(num_trials, *args):
+ retval = []
+ for _ in range(num_trials):
+ retval.append(singlerun(*args))
+ return retval
+
+def matrix_sizes(L, N, r):
+ N = int(min(L / (2 * r), max(3, cbrt(N))))
+ return Integer3(N, N, N)
+
+def partitioned_factory_maker(ftype, *args, **kwargs):
+ def create_factory(L, num):
+ return ftype(matrix_sizes(L, num, radius), *args, **kwargs).rng(GSLRandomNumberGenerator(0))
+ return create_factory
+
+def non_partitioned_factory_maker(ftype, *args, **kwargs):
+ def create_factory(L, num):
+ return ftype(*args, **kwargs).rng(GSLRandomNumberGenerator(0))
+ return create_factory
+
+def savedata(filename, x, data):
+ with open(filename, "a") as fout:
+ line = "{}\t{}".format(x, "\t".join([str(t) for t in data]))
+ fout.write(line)
+ fout.write("\n")
+ print("{} => {}".format(filename, line))
+
+def plotdata(ax, filename, label=None, c="k", marker="s", lines=[(0, 1.0)]):
+ import numpy
+ data = numpy.loadtxt(filename)
+ # data = numpy.log10(data)
+ data = numpy.array([(row[0], numpy.mean(row[1: ]), numpy.std(row[1: ])) for row in data]).T
+ ax.errorbar(data[0], data[1], data[2], fmt='o', color=c, marker=marker, mec=c, label=label)
+ # ax.plot(data[0], data[0] + data[1][0] - data[0][0], '--', color=c)
+
+ if lines is not None:
+ left, right = ax.get_xlim()
+ x = numpy.linspace(left, right, 3)
+ # x = numpy.logspace(0.5, 6.5, 5)
+ # x = data[0]
+ for line in lines:
+ ax.plot(x, numpy.power(x, line[1]) * (data[1][line[0]] / numpy.power(data[0][line[0]], line[1])), '--', color=c)
+
+
+if __name__ == "__main__":
+ import numpy
+ import os
+ import os.path
+
+ def profile1(filename, ns, create_factory, fixed_volume, one_particle_per_step, max_steps, min_duration):
+ if os.path.isfile(filename):
+ os.remove(filename)
+
+ numarray = numpy.logspace(*ns).astype(int)
+ for num in numarray:
+ if fixed_volume:
+ L = cbrt(40.0) # 3.42
+ else:
+ L = cbrt(num / 60.0 * 1.0) # 100nM
+
+ if one_particle_per_step:
+ max_steps_ = num * max_steps
+ else:
+ max_steps_ = max_steps
+
+ savedata(filename, num, run(5, create_factory(L, num), L, num, max_steps_, min_duration))
+
+ def profile2(filename, cs, create_factory, num, one_particle_per_step, max_steps, min_duration):
+ if os.path.isfile(filename):
+ os.remove(filename)
+
+ concarray = numpy.logspace(*cs)
+ for conc in concarray:
+ volume = num / (conc * 1e-6 * N_A) * 1e-3
+ L = cbrt(volume) * 1e+6
+
+ if one_particle_per_step:
+ max_steps_ = num * max_steps
+ else:
+ max_steps_ = max_steps
+
+ savedata(filename, conc, run(5, create_factory(L, num), L, num, max_steps_, min_duration))
+
+ def profileall(solvers, ftypes=None):
+ if ftypes is None:
+ ftypes = solvers.keys()
+
+ if not os.path.isdir("N"):
+ os.mkdir("N")
+
+ for ftype in ftypes:
+ for fixed_volume in (True, False):
+ if (ftype, fixed_volume) in (("Spatiocyte", False), ):
+ ns = (1.0, 5.0, 9)
+ else:
+ ns = (1.0, 6.0, 11)
+ create_factory, one_particle_per_step, c, marker = solvers[ftype]
+ filename = "N/{}-{}.tsv".format(ftype, "volume" if fixed_volume else "conc")
+ profile1(filename, ns, create_factory, fixed_volume, one_particle_per_step, max_steps, min_duration)
+
+ if not os.path.isdir("C"):
+ os.mkdir("C")
+
+ for ftype in ("eGFRD", "BD"):
+ for num in (300, 3000):
+ cs = (-3, 3, 7)
+ create_factory, one_particle_per_step, c, marker = solvers[ftype]
+ filename = "C/{}-{:d}.tsv".format(ftype, num)
+ profile2(filename, cs, create_factory, num, one_particle_per_step, max_steps, min_duration)
+
+ def plotall(outputfilename, solvers, ftypes=None):
+ if ftypes is None:
+ ftypes = sorted(tuple(solvers.keys()))
+
+ import matplotlib
+ matplotlib.use('Agg')
+
+ import matplotlib.pyplot as plt
+ plt.rcParams["font.size"] = 16
+
+ fig, ax = plt.subplots(1, 1, figsize=(11, 7))
+ plt.subplots_adjust(left = 0.10, right = 0.72)
+ ax.set_xscale("log")
+ ax.set_yscale("log")
+ ax.set_xlim(10.0 ** 0.5, 10.0 ** 6.5)
+ ax.set_xlabel("N [# particles]")
+ ax.set_ylabel("time [sec]")
+ ax.grid()
+
+ for ftype in ftypes:
+ for fixed_volume in (True, False):
+ create_factory, one_particle_per_step, c, marker = solvers[ftype]
+ filename = "N/{}-{}.tsv".format(ftype.replace(".", "-"), "volume" if fixed_volume else "conc")
+ label = "{} ({})".format(ftype, "volume" if fixed_volume else "conc")
+ if (ftype, fixed_volume) == ("eGFRD", True):
+ plotdata(ax, filename, label, c, "^" if fixed_volume else "v", [(0, 5.0 / 3.0)])
+ elif ftype == "Spatiocyte":
+ plotdata(ax, filename, label, c, "^" if fixed_volume else "v", [(5, 1.0)])
+ else:
+ if fixed_volume:
+ plotdata(ax, filename, label, c, "^", None)
+ # plotdata(ax, filename, label, c, "^")
+ else:
+ plotdata(ax, filename, label, c, "v")
+
+ handles, labels = ax.get_legend_handles_labels()
+ handles = [h[0] for h in handles] # remove the errorbars
+ ax.legend(handles, labels, loc='upper left', numpoints=1, shadow=True, fontsize=11, bbox_to_anchor=(1.0, 1.0))
+
+ inset = fig.add_axes([0.16, 0.60, 0.22, 0.26])
+ inset.set_xscale("log")
+ inset.set_yscale("log")
+ inset.tick_params(labelsize=11)
+ inset.set_xlabel("Concentration [uM]", fontsize=11)
+ inset.set_ylabel("time [sec]", fontsize=11)
+ inset.set_xlim(10.0 ** -3.5, 10.0 ** +3.5)
+ inset.set_ylim(10.0 ** -1.0, 10.0 ** +8.0)
+ for ftype in ("eGFRD", "BD"):
+ for num in (300, 3000):
+ create_factory, one_particle_per_step, c, marker = solvers[ftype]
+ filename = "C/{}-{:d}.tsv".format(ftype, num)
+ if ftype == "eGFRD":
+ if num == 300:
+ plotdata(inset, filename, c='k', marker=marker, lines=[(0, 2.0 / 3.0), (-1, 1.5)])
+ else:
+ plotdata(inset, filename, c='k', marker=marker, lines=None)
+ else:
+ plotdata(inset, filename, c='k', marker=marker, lines=None)
+
+ plt.savefig(outputfilename)
+ # plt.show()
+
+ max_steps = 10
+ min_duration = 10.0 # 1.0
+
+ solvers = {
+ "Mesoscopic": (non_partitioned_factory_maker(meso.MesoscopicFactory, subvolume_length=0.1), True, "b", "o"),
+ "Mesoscopic relaxed": (non_partitioned_factory_maker(meso.MesoscopicFactory, subvolume_length=0.3), True, "navy", "o"),
+ "BD": (partitioned_factory_maker(bd.BDFactory, bd_dt_factor=1e-5), False, "k", "x"),
+ "BD relaxed": (partitioned_factory_maker(bd.BDFactory, bd_dt_factor=1e-3), False, "gray", "x"),
+ "BD eGFRD": (partitioned_factory_maker(egfrd.BDFactory, bd_dt_factor=1e-5), False, "silver", "v"),
+ "eGFRD": (partitioned_factory_maker(egfrd.EGFRDFactory), True, "r", "d"),
+ "Spatiocyte": (non_partitioned_factory_maker(spatiocyte.SpatiocyteFactory, voxel_radius=radius), False, "g", "o"),
+ }
+
+ profileall(solvers)
+ plotall("benchmark.png", solvers)
diff --git a/misc/ecell4paraview.py b/misc/ecell4paraview.py
new file mode 100644
index 0000000..03eb75d
--- /dev/null
+++ b/misc/ecell4paraview.py
@@ -0,0 +1,113 @@
+"""A macro for ParaView
+
+This is a macro for visualizing the E-Cell4 output with ParaView (http://www.paraview.org/).
+
+1. Save particles by using `FixedIntervalCSVObserver`.
+2. Launch ParaView ($PATH_TO_PARAVIEW/bin/paraview).
+3. Add this macro just at the first time (Macros -> Add new macro...).
+4. Open the output CSV files (File -> Open, or just Ctr+O).
+5. Run the macro (Macros -> ecell4paraview)
+
+"""
+
+from paraview.simple import *
+
+meso = GetActiveSource()
+
+renderView1 = FindViewOrCreate('RenderView1', viewtype='RenderView')
+viewLayout1 = GetLayout()
+
+# create a new 'Programmable Filter'
+programmableFilter1 = ProgrammableFilter(Input=meso)
+programmableFilter1.Script = """
+sidmap = None # {3: 3, 4: 4} # A serial ID mapper
+r0 = 0.05 # Default radius when the input is zero
+
+import numpy as np
+
+inputs0 = inputs[0]
+
+if sidmap is not None:
+ sid = inputs0.RowData['sid'].copy()
+ mask = np.logical_or.reduce([sid == key for key in sidmap.keys()])
+ for key, value in sidmap.items():
+ sid[sid == key] = value
+ output.RowData.append(sid[mask], 'sid')
+else:
+ mask = np.ones_like(inputs0.RowData['sid'], dtype=bool)
+ output.RowData.append(inputs0.RowData['sid'][mask], 'sid')
+
+for key in ('x', 'y', 'z'):
+ output.RowData.append(inputs0.RowData[key][mask], key)
+
+if r0 is not None:
+ r = inputs0.RowData['r'][mask].copy()
+ r = np.where(r <= 0, r0, r)
+ output.RowData.append(r, 'r')
+else:
+ output.RowData.append(inputs0.RowData['r'][mask], 'r')
+"""
+programmableFilter1.RequestInformationScript = ''
+programmableFilter1.RequestUpdateExtentScript = ''
+programmableFilter1.PythonPath = ''
+
+# create a new 'Table To Points'
+tableToPoints1 = TableToPoints(Input=programmableFilter1)
+tableToPoints1.XColumn = 'x'
+tableToPoints1.YColumn = 'y'
+tableToPoints1.ZColumn = 'z'
+
+# create a new 'Glyph'
+glyph1 = Glyph(Input=tableToPoints1, GlyphType='Sphere')
+glyph1.Scalars = ['POINTS', 'r']
+glyph1.ScaleMode = 'scalar'
+glyph1.Vectors = ['POINTS', 'None']
+glyph1.ScaleFactor = 1.0
+glyph1.GlyphTransform = 'Transform2'
+glyph1.GlyphMode = 'All Points'
+
+# set active view
+SetActiveView(renderView1)
+
+# set active source
+SetActiveSource(glyph1)
+
+# get color transfer function/color map for 'r'
+sidLUT = GetColorTransferFunction('sid')
+
+# show data in view
+glyph1Display_1 = Show(glyph1, renderView1)
+
+# trace defaults for the display properties.
+glyph1Display_1.ColorArrayName = ['POINTS', 'sid']
+glyph1Display_1.LookupTable = sidLUT
+glyph1Display_1.GlyphType = 'Arrow'
+glyph1Display_1.SetScaleArray = ['POINTS', 'sid']
+glyph1Display_1.ScaleTransferFunction = 'PiecewiseFunction'
+glyph1Display_1.OpacityArray = ['POINTS', 'sid']
+glyph1Display_1.OpacityTransferFunction = 'PiecewiseFunction'
+glyph1Display_1.SetScalarBarVisibility(renderView1, True)
+
+# reset view to fit data
+renderView1.ResetCamera()
+
+sidPWF = GetOpacityTransferFunction('sid')
+sidLUT.NumberOfTableValues = 32
+sidLUT.ColorSpace = 'HSV'
+sidLUT.RescaleTransferFunction(0.0, 32.0)
+sidPWF.RescaleTransferFunction(0.0, 32.0)
+
+# Properties modified on renderView1
+renderView1.UseGradientBackground = 1
+
+#### saving camera placements for all active views
+
+# current camera placement for renderView1
+renderView1.CameraPosition = [-5.776684363101421, 8.094366607688107, 5.7143244602859875]
+renderView1.CameraFocalPoint = [2.3135256972163916, 0.550464017316699, 0.5488972440361977]
+renderView1.CameraViewUp = [0.237542764231946, 0.7092276746338985, -0.6637541266873143]
+renderView1.CameraParallelScale = 3.203095814674732
+
+#### uncomment the following to render all views
+# RenderAllViews()
+# alternatively, if you want to write images, you can use SaveScreenshot(...).
diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
new file mode 100644
index 0000000..059fd64
--- /dev/null
+++ b/python/CMakeLists.txt
@@ -0,0 +1,82 @@
+find_package(PythonInterp ${PY_VERSION})
+
+if (PYTHONINTERP_FOUND)
+ if (DEFINED PYTHON_VERSION_MAJOR AND DEFINED PYTHON_VERSION_MINOR)
+ set(PYTHON_VERSION ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR})
+ else (DEFINED PYTHON_VERSION_MAJOR AND DEFINED PYTHON_VERSION_MINOR)
+ execute_process(COMMAND ${PYTHON_EXECUTABLE} --version
+ OUTPUT_VARIABLE PYTHON_VERSION_RAW
+ ERROR_VARIABLE PYTHON_VERSION_RAW)
+ string(REPLACE "\n" "" PYTHON_VERSION_RAW "${PYTHON_VERSION_RAW}")
+ string(REGEX MATCH "[0-9]\\.[0-9]" PYTHON_VERSION "${PYTHON_VERSION_RAW}")
+ endif (DEFINED PYTHON_VERSION_MAJOR AND DEFINED PYTHON_VERSION_MINOR)
+
+ # set(ENV{LD_LIBRARY_PATH} ${BINARY_DIRECTORIES}:$ENV{LD_LIBRARY_PATH}})
+ # set(ENV{PYTHONPATH} ${CMAKE_INSTALL_PREFIX}/lib/python${PYTHON_VERSION}/site-packages)
+
+ get_directory_property(INCLUDE_PATH INCLUDE_DIRECTORIES)
+ set(_TMP_RESULT "")
+ set(_GLUE "") # effective glue is empty at the beginning
+ foreach(SINGLE_PATH ${INCLUDE_PATH})
+ set(_TMP_RESULT "${_TMP_RESULT}${_GLUE}${SINGLE_PATH}")
+ set(_GLUE ";") # delimiter
+ endforeach()
+ set(INCLUDE_PATH ${_TMP_RESULT})
+
+ set(_TMP_RESULT "")
+ set(_GLUE "") # effective glue is empty at the beginning
+ foreach(SINGLE_PATH ${HDF5_CXX_LIBRARIES})
+ get_filename_component(HDF5_LIBRARY_DIRS ${SINGLE_PATH} DIRECTORY)
+ set(_TMP_RESULT "${_TMP_RESULT}${_GLUE}${HDF5_LIBRARY_DIRS}")
+ set(_GLUE ";") # delimiter
+ endforeach()
+ set(HDF5_LIBRARY_DIRS ${_TMP_RESULT})
+
+ # message("XXX: CMAKE_CURRENT_SOURCE_DIR '${CMAKE_CURRENT_SOURCE_DIR}'")
+ # message("XXX: HDF5_LIBRARY_DIRS '${HDF5_LIBRARY_DIRS}'")
+ # message("XXX: VTK_LIBRARIES '${VTK_LIBRARIES}'")
+ # message("XXX: VTK_LIBRARY_DIRS '${VTK_LIBRARY_DIRS}'")
+ # message("XXX: ECELL4_SHARED_DIRS '${ECELL4_SHARED_DIRS}'")
+
+ set(SETUP_PY_IN ${CMAKE_CURRENT_SOURCE_DIR}/setup.py.in)
+ # set(SETUP_PY ${CMAKE_CURRENT_SOURCE_DIR}/setup.py)
+ set(SETUP_PY ${CMAKE_CURRENT_BINARY_DIR}/setup.py)
+ set(INIT_PY_IN ${CMAKE_CURRENT_SOURCE_DIR}/lib/ecell4/__init__.py.in)
+ set(INIT_PY ${CMAKE_CURRENT_SOURCE_DIR}/lib/ecell4/__init__.py)
+ set(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/build/timestanp)
+
+ configure_file(${SETUP_PY_IN} ${SETUP_PY})
+ configure_file(${INIT_PY_IN} ${INIT_PY})
+
+ if (NO_SHARED)
+ add_custom_command(
+ OUTPUT ${OUTPUT}
+ COMMAND ${PYTHON_EXECUTABLE} ${SETUP_PY} build_ext
+ COMMAND ${PYTHON_EXECUTABLE} ${SETUP_PY} bdist_wheel
+ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT})
+ else()
+ add_custom_command(
+ OUTPUT ${OUTPUT}
+ COMMAND ${PYTHON_EXECUTABLE} ${SETUP_PY} build_ext -L${ECELL4_SHARED_DIRS} --prefer-shared
+ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT})
+ endif()
+
+ add_custom_target(python ALL DEPENDS ${OUTPUT})
+ add_test(
+ NAME python_test
+ COMMAND ${PYTHON_EXECUTABLE} ${SETUP_PY} test ${OPTS})
+ install(DIRECTORY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/python${PYTHON_VERSION}/site-packages)
+
+ if (NO_SHARED)
+ install(CODE "
+ set(ENV{PYTHONPATH} ${CMAKE_INSTALL_PREFIX}/lib/python${PYTHON_VERSION}/site-packages)
+ set(ENV{LIBRARY_PATH} ${CMAKE_INSTALL_PREFIX}/lib)
+ execute_process(COMMAND ${PYTHON_EXECUTABLE} ${SETUP_PY} install --prefix=${CMAKE_INSTALL_PREFIX})")
+ else()
+ install(CODE "
+ set(ENV{PYTHONPATH} ${CMAKE_INSTALL_PREFIX}/lib/python${PYTHON_VERSION}/site-packages)
+ set(ENV{LIBRARY_PATH} ${CMAKE_INSTALL_PREFIX}/lib)
+ execute_process(COMMAND ${PYTHON_EXECUTABLE} ${SETUP_PY} install --prefix=${CMAKE_INSTALL_PREFIX} --prefer-shared)")
+ endif()
+ # execute_process(COMMAND ${PYTHON_EXECUTABLE} ${SETUP_PY} install --prefix=${CMAKE_INSTALL_PREFIX} ${OPTS})")
+endif()
diff --git a/python/MANIFEST.in b/python/MANIFEST.in
new file mode 100644
index 0000000..830549c
--- /dev/null
+++ b/python/MANIFEST.in
@@ -0,0 +1,18 @@
+include setup.py
+include MANIFEST.in
+
+graft lib
+graft src
+
+global-exclude *.so
+global-exclude *.pyc
+global-exclude *.pyo
+global-exclude *~
+global-exclude *.swp
+global-exclude \#*
+global-exclude .git*
+global-exclude .DS_Store
+global-exclude *.cmake
+global-exclude Makefile
+global-exclude CMakeFiles
+
diff --git a/python/lib/ecell4/.gitignore b/python/lib/ecell4/.gitignore
new file mode 100644
index 0000000..ce1da4c
--- /dev/null
+++ b/python/lib/ecell4/.gitignore
@@ -0,0 +1 @@
+*.cpp
diff --git a/python/lib/ecell4/CompartmentSpace.pxi b/python/lib/ecell4/CompartmentSpace.pxi
new file mode 100644
index 0000000..9f01dd7
--- /dev/null
+++ b/python/lib/ecell4/CompartmentSpace.pxi
@@ -0,0 +1,40 @@
+from cython cimport address
+from cython.operator cimport dereference as deref
+
+
+cdef class CompartmentSpaceVectorImpl:
+
+ def __cinit__(self, Real3 edge_lengths):
+ self.thisptr = new Cpp_CompartmentSpaceVectorImpl(deref(edge_lengths.thisptr))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def volume(self):
+ return self.thisptr.volume()
+
+ def edge_lengths(self):
+ cdef Cpp_Real3 lengths = self.thisptr.edge_lengths()
+ return Real3_from_Cpp_Real3(address(lengths))
+
+ def num_molecules(self, Species sp):
+ return self.thisptr.num_molecules(deref(sp.thisptr))
+
+ def list_species(self):
+ cdef vector[Cpp_Species] raw_species_list = self.thisptr.list_species()
+ retval = []
+ cdef vector[Cpp_Species].iterator it = raw_species_list.begin()
+ while it != raw_species_list.end():
+ retval.append(
+ Species_from_Cpp_Species(<Cpp_Species*>address(deref(it))))
+ inc(it)
+ return retval
+
+ def set_volume(self, Real volume):
+ self.thisptr.set_volume(volume)
+
+ def add_molecules(self, Species sp, Integer num):
+ self.thisptr.add_molecules(deref(sp.thisptr), num)
+
+ def remove_molecules(self, Species sp, Integer num):
+ self.thisptr.remove_molecules(deref(sp.thisptr), num)
diff --git a/python/lib/ecell4/Integer3.pxi b/python/lib/ecell4/Integer3.pxi
new file mode 100644
index 0000000..46433a7
--- /dev/null
+++ b/python/lib/ecell4/Integer3.pxi
@@ -0,0 +1,217 @@
+from cython.operator cimport dereference as deref
+from cython cimport address
+cimport integer3operators
+
+cdef class Integer3:
+ """A class representing a vector consisting of three integers.
+
+ Integer3(Integer p1, Integer p2, Integer p3)
+
+ """
+
+ def __init__(self, Integer p1, Integer p2, Integer p3):
+ """Constructor.
+
+ Parameters
+ ----------
+ p1 : Integer
+ The first value in the vector.
+ p2 : Integer
+ The second value in the vector.
+ p3 : Integer
+ The third value in the vector.
+
+ """
+ pass
+
+ def __cinit__(self, Integer col, Integer row, Integer layer):
+ self.thisptr = new Cpp_Integer3(col, row, layer)
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ @property
+ def col(self):
+ """Return the first value."""
+ return self.thisptr.col
+
+ @property
+ def row(self):
+ """Return the second value."""
+ return self.thisptr.row
+
+ @property
+ def layer(self):
+ """Return the third value."""
+ return self.thisptr.layer
+
+ def __setitem__(self, Integer i, Integer val):
+ if i > 2:
+ raise IndexError("index out of bounds")
+ deref(self.thisptr)[i] = val
+
+ def __getitem__(self, Integer i):
+ if i > 2:
+ raise IndexError("index out of bounds")
+ return deref(self.thisptr)[i]
+
+ def __add__(Integer3 self, Integer3 other):
+ return integer3_add(self, other)
+
+ def __sub__(Integer3 self, Integer3 other):
+ return integer3_subtract(self, other)
+
+ def __abs__(Integer3 self):
+ return integer3_abs(self)
+
+ def __mul__(self, other):
+ if isinstance(self, Integer3):
+ return integer3_multiply(<Integer3>self, <Integer>other)
+ elif isinstance(other, Integer3):
+ return integer3_multiply(<Integer3>other, <Integer>self)
+ else:
+ raise ValueError(
+ 'invalid value was given: '
+ + repr(self) + ' : ' + repr(other))
+
+ # def __div__(Integer3 self, Integer other):
+ # return integer3_divide(self, other)
+
+ # def __truediv__(Integer3 self, Integer other):
+ # return integer3_divide(self, other)
+
+ # def __mul__(self, other):
+ # if isinstance(self, Integer3):
+ # return integer3_multiply(<Integer3>self, <Integer>other)
+ # elif isinstance(other, Integer3):
+ # return integer3_multiply(<Integer3>other, <Integer>self)
+ # else:
+ # raise ValueError(
+ # 'invalid value was given: '
+ # + repr(self) + ' : ' + repr(other))
+
+ def __reduce__(self):
+ return (Integer3, tuple(self))
+
+cdef Integer3 Integer3_from_Cpp_Integer3(Cpp_Integer3 *p):
+ cdef Cpp_Integer3 *new_obj = new Cpp_Integer3(<Cpp_Integer3> deref(p))
+ r = Integer3(0.0, 0.0, 0.0)
+ del r.thisptr
+ r.thisptr = new_obj
+ return r
+
+def integer3_add(Integer3 p1, Integer3 p2):
+ """integer3_add(p1, p2) -> Integer3
+
+ Add two ``Integer3``s, and returns the sum.
+
+ Parameters
+ ----------
+ p1 : Integer3
+ The first vector.
+ p2 : Integer3
+ The second vector.
+
+ Returns
+ -------
+ Integer3:
+ The sum of two vectors, ``p1 + p2``.
+
+ """
+ cdef Cpp_Integer3 r = integer3operators.add(deref(p1.thisptr), deref(p2.thisptr))
+ return Integer3_from_Cpp_Integer3(address(r))
+
+def integer3_subtract(Integer3 p1, Integer3 p2):
+ """integer3_subtract(p1, p2) -> Integer3
+
+ Subtract p2 from p1.
+
+ Parameters
+ ----------
+ p1 : Integer3
+ The left-hand-side vector.
+ p2 : Integer3
+ The right-hand-side vector.
+
+ Returns
+ -------
+ Integer3:
+ Its difference, ``p1 - p2``.
+
+ """
+ cdef Cpp_Integer3 r = integer3operators.subtract(deref(p1.thisptr), deref(p2.thisptr))
+ return Integer3_from_Cpp_Integer3(address(r))
+
+def integer3_multiply(Integer3 p1, Integer p2):
+ """integer3_multiply(p1, p2) -> Integer3
+
+ Multiply p1 by p2.
+
+ Parameters
+ ----------
+ p1 : Integer3
+ A vector.
+ p2 : Integer
+ A factor.
+
+ Returns
+ -------
+ Integer3:
+ The multipled vector, ``p1 * p2``.
+
+ """
+ cdef Cpp_Integer3 r = integer3operators.multiply(deref(p1.thisptr), p2)
+ return Integer3_from_Cpp_Integer3(address(r))
+
+def integer3_length_sq(Integer3 p1):
+ """integer3_length_sq(p1) -> Integer
+
+ Return a square of a Euclidean norm of the given vector.
+
+ """
+ return integer3operators.length_sq(deref(p1.thisptr))
+
+def integer3_length(Integer3 p1):
+ """integer3_length(p1) -> Real
+
+ Return a Euclidean norm of the given vector.
+ This is almost equivalent to call ``sqrt(length_sq(p1))``
+
+ """
+ return integer3operators.length(deref(p1.thisptr))
+
+def integer3_dot_product(Integer3 p1, Integer3 p2):
+ """integer3_dot_product(p1, p2) -> Integer
+
+ Return a dot product between two vectors
+
+ """
+ return integer3operators.dot_product(deref(p1.thisptr), deref(p2.thisptr))
+
+def integer3_abs(Integer3 p1):
+ """integer3_abs(p1) -> Integer3
+
+ Return an absolute vector of the given vector.
+
+ Parameters
+ ----------
+ p1 : Integer3
+ A vector.
+
+ Returns
+ -------
+ Integer3:
+ The absolute vector, which consists of absolute value
+ of the given vector.
+
+ Notes
+ -----
+ This is NOT for taking the norm of a vector.
+
+ See Also
+ --------
+ length
+
+ """
+ cdef Cpp_Integer3 r = integer3operators.abs(deref(p1.thisptr))
+ return Integer3_from_Cpp_Integer3(address(r))
diff --git a/python/lib/ecell4/Model.pxi b/python/lib/ecell4/Model.pxi
new file mode 100644
index 0000000..c7aed4f
--- /dev/null
+++ b/python/lib/ecell4/Model.pxi
@@ -0,0 +1,253 @@
+from cython.operator cimport dereference as deref, preincrement as inc
+from cython cimport address
+
+from libcpp.vector cimport vector
+
+
+cdef class Model:
+ """A base class of a model
+
+ Model()
+ """
+
+ def __init__(self):
+ """Constructor"""
+ pass
+
+ def __cinit__(self):
+ # self.thisptr = new shared_ptr[Cpp_Model](
+ # new Cpp_Model()) # cannot allocate an object of abstract type
+ # self.thisptr = new shared_ptr[Cpp_Model](
+ # <Cpp_Model*>(new Cpp_NetworkModel()))
+ self.thisptr = <shared_ptr[Cpp_Model]>(shared_ptr[Cpp_NetworkModel](new Cpp_NetworkModel()))
+
+ # def __dealloc__(self):
+ # del self.thisptr
+
+ def add_species_attribute(self, Species sp):
+ """add_species_attribute(sp)
+
+ Add a species attribute to the bottom.
+
+ Parameters
+ ----------
+ sp : Species
+ A new species with attributes.
+
+ """
+ self.thisptr.get().add_species_attribute(deref(sp.thisptr))
+
+ def has_species_attribute(self, Species sp):
+ """has_species_attribute(sp) -> bool
+
+ Return if the given species can be attributed or not.
+
+ """
+ return self.thisptr.get().has_species_attribute(deref(sp.thisptr))
+
+ def remove_species_attribute(self, Species sp):
+ """remove_species_attribute(sp)
+
+ Remove the species attribute.
+
+ """
+ self.thisptr.get().remove_species_attribute(deref(sp.thisptr))
+
+ def add_reaction_rule(self, ReactionRule rr):
+ """add_reaction_rule(rr)
+
+ Add a new reaction rule.
+
+ Parameters
+ ----------
+ rr : ReactionRule
+ A new reaction rule.
+
+ """
+ self.thisptr.get().add_reaction_rule(deref(rr.thisptr))
+
+ def remove_reaction_rule(self, ReactionRule rr):
+ """remove_reaction_rule(rr)
+
+ Remove a reaction rule.
+
+ """
+ self.thisptr.get().remove_reaction_rule(deref(rr.thisptr))
+
+ def has_reaction_rule(self, ReactionRule rr):
+ """has_reaction_rule(rr) -> bool
+
+ Return if the given reaction rule is existing or not.
+
+ """
+ return self.thisptr.get().has_reaction_rule(deref(rr.thisptr))
+
+ def apply_species_attributes(self, Species sp):
+ """apply_species_attributes(sp) -> Species
+
+ Return a species with attributes.
+
+ Parameters
+ ----------
+ sp : Species
+ An original species.
+
+ Returns
+ -------
+ Species:
+ A new species attributed by species attributes in the model.
+
+ """
+ cdef Cpp_Species retval = self.thisptr.get().apply_species_attributes(
+ deref(sp.thisptr))
+ return Species_from_Cpp_Species(address(retval))
+
+ def num_reaction_rules(self):
+ """Return a number of reaction rules contained in the model."""
+ return self.thisptr.get().num_reaction_rules()
+
+ def reaction_rules(self):
+ """Return a list of reaction rules contained in the model."""
+ cdef vector[Cpp_ReactionRule] c_rr_vector = self.thisptr.get().reaction_rules()
+ retval = []
+ cdef vector[Cpp_ReactionRule].iterator it = c_rr_vector.begin()
+ while it != c_rr_vector.end():
+ retval.append(ReactionRule_from_Cpp_ReactionRule(
+ <Cpp_ReactionRule*>(address(deref(it)))))
+ inc(it)
+ return retval
+
+ def species_attributes(self):
+ """Return a list of species attributes contained in the model."""
+ cdef vector[Cpp_Species] species = self.thisptr.get().species_attributes()
+ retval = []
+ cdef vector[Cpp_Species].iterator it = species.begin()
+ while it != species.end():
+ retval.append(Species_from_Cpp_Species(
+ <Cpp_Species*>(address(deref(it)))))
+ inc(it)
+ return retval
+
+ def list_species(self):
+ """Return a list of species, contained in reaction rules in the model."""
+ cdef vector[Cpp_Species] species = self.thisptr.get().list_species()
+ retval = []
+ cdef vector[Cpp_Species].iterator it = species.begin()
+ while it != species.end():
+ retval.append(Species_from_Cpp_Species(
+ <Cpp_Species*>(address(deref(it)))))
+ inc(it)
+ return retval
+
+ def query_reaction_rules(self, Species sp1, Species sp2 = None):
+ """query_reaction_rules(sp1, sp2=None) -> [ReactionRule]
+
+ Query and return a list of reaction rules, which have the given species
+ as their reactants.
+
+ Parameters
+ ----------
+ sp1 : Species
+ The first reactant
+ sp2 : Species
+ The second reactant.
+ This is for querying second order reaction rules.
+
+ Returns
+ -------
+ list:
+ A list of ``ReactionRule``s.
+
+ """
+ cdef vector[Cpp_ReactionRule] rules
+ if sp2 is None:
+ rules = self.thisptr.get().query_reaction_rules(
+ deref(sp1.thisptr))
+ else:
+ rules = self.thisptr.get().query_reaction_rules(
+ deref(sp1.thisptr), deref(sp2.thisptr))
+ retval = []
+ cdef vector[Cpp_ReactionRule].iterator it = rules.begin()
+ while it != rules.end():
+ retval.append(ReactionRule_from_Cpp_ReactionRule(
+ <Cpp_ReactionRule*>(address(deref(it)))))
+ inc(it)
+ return retval
+
+ def add_species_attributes(self, attrs):
+ """add_species_attributes(attrs)
+
+ Extend a list of species attributes to the bottom.
+
+ Parameters
+ ----------
+ attrs : list
+ A list of new ``Species`` with attributes.
+
+ """
+ cdef vector[Cpp_Species] species
+ for sp in attrs:
+ species.push_back(deref((<Species>sp).thisptr))
+ self.thisptr.get().add_species_attributes(species)
+
+ def add_reaction_rules(self, rrs):
+ """add_reaction_rules(rrs)
+
+ Add a list of new reaction rules.
+
+ Parameters
+ ----------
+ rrs : list
+ A list of new ``ReactionRule``s.
+
+ """
+ cdef vector[Cpp_ReactionRule] reaction_rules
+ for rr in rrs:
+ reaction_rules.push_back(deref((<ReactionRule>rr).thisptr))
+ self.thisptr.get().add_reaction_rules(reaction_rules)
+
+ def expand(self, seeds, max_itr=None, max_stoich=None):
+ """expand(seeds, max_itr=None, max_stoich=None) -> Model
+
+ Expand a rule-based model into a network model.
+
+ Parameters
+ ----------
+ seeds : list
+ A list of ``Species`` which gives seeds.
+ max_itr : Integer
+ A maximum number of iterations to generate new products.
+ max_stoich : Integer
+ A maximum stoichiometry of ``UnitSpecies`` in a ``Species``.
+
+ Returns
+ -------
+ Model:
+ A network model.
+
+ """
+ cdef vector[Cpp_Species] _seeds
+ cdef map[Cpp_Species, Integer] _max_stoich
+ for sp in seeds:
+ if not isinstance(sp, Species):
+ raise ValueError(
+ 'seeds must be given as a list of Species.'
+ + ' {0} given.'.format(repr(sp)))
+ _seeds.push_back(deref((<Species>sp).thisptr))
+
+ if max_stoich is not None:
+ for sp, n in max_stoich.items():
+ _max_stoich[deref((<Species>sp).thisptr)] = <Integer>n
+ return Model_from_Cpp_Model(
+ self.thisptr.get().expand(_seeds, <Integer>max_itr, _max_stoich))
+ elif max_itr is not None:
+ return Model_from_Cpp_Model(
+ self.thisptr.get().expand(_seeds, <Integer>max_itr))
+ else:
+ return Model_from_Cpp_Model(
+ self.thisptr.get().expand(_seeds))
+
+cdef Model Model_from_Cpp_Model(shared_ptr[Cpp_Model] m):
+ r = Model()
+ r.thisptr.swap(m)
+ return r
diff --git a/python/lib/ecell4/NetfreeModel.pxi b/python/lib/ecell4/NetfreeModel.pxi
new file mode 100644
index 0000000..c2824e1
--- /dev/null
+++ b/python/lib/ecell4/NetfreeModel.pxi
@@ -0,0 +1,290 @@
+from cython.operator cimport dereference as deref, preincrement as inc
+from cython cimport address
+
+from libcpp.vector cimport vector
+from libcpp.map cimport map
+from shared_ptr cimport shared_ptr
+
+
+cdef class NetfreeModel:
+ """A netfree model class.
+
+ NetfreeModel()
+
+ """
+
+ def __init__(self):
+ """Constructor."""
+ pass
+
+ def __cinit__(self):
+ # self.thisptr = new NetfreeModel()
+ # self.thisptr = new shared_ptr[Cpp_NetfreeModel](new Cpp_NetfreeModel())
+ self.thisptr = shared_ptr[Cpp_NetfreeModel](new Cpp_NetfreeModel())
+
+ # def __dealloc__(self):
+ # del self.thisptr
+
+ def add_species_attribute(self, Species sp):
+ """add_species_attribute(sp)
+
+ Add a species attribute to the bottom.
+
+ Parameters
+ ----------
+ sp : Species
+ A new species with attributes.
+
+ """
+ self.thisptr.get().add_species_attribute(deref(sp.thisptr))
+
+ def has_species_attribute(self, Species sp):
+ """has_species_attribute(sp) -> bool
+
+ Return if the given species can be attributed or not.
+
+ """
+ return self.thisptr.get().has_species_attribute(deref(sp.thisptr))
+
+ def remove_species_attribute(self, Species sp):
+ """remove_species_attribute(sp)
+
+ Remove the species attribute.
+
+ """
+ self.thisptr.get().remove_species_attribute(deref(sp.thisptr))
+
+ def add_reaction_rule(self, ReactionRule rr):
+ """add_reaction_rule(rr)
+
+ Add a new reaction rule.
+
+ Parameters
+ ----------
+ rr : ReactionRule
+ A new reaction rule.
+
+ """
+ self.thisptr.get().add_reaction_rule(deref(rr.thisptr))
+
+ def remove_reaction_rule(self, ReactionRule rr):
+ """remove_reaction_rule(rr)
+
+ Remove a reaction rule.
+
+ """
+ self.thisptr.get().remove_reaction_rule(deref(rr.thisptr))
+
+ def has_reaction_rule(self, ReactionRule rr):
+ """has_reaction_rule(rr) -> bool
+
+ Return if the given reaction rule is existing or not.
+
+ """
+ return self.thisptr.get().has_reaction_rule(deref(rr.thisptr))
+
+ def num_reaction_rules(self):
+ """Return a number of reaction rules contained in the model."""
+ return self.thisptr.get().num_reaction_rules()
+
+ def apply_species_attributes(self, Species sp):
+ """apply_species_attributes(sp) -> Species
+
+ Return a species with attributes.
+
+ Parameters
+ ----------
+ sp : Species
+ An original species.
+
+ Returns
+ -------
+ Species:
+ A new species attributed by species attributes in the model.
+
+ """
+ cdef Cpp_Species retval = self.thisptr.get().apply_species_attributes(
+ deref(sp.thisptr))
+ return Species_from_Cpp_Species(address(retval))
+
+ # def create_species(self, string name):
+ # cdef Cpp_Species retval = self.thisptr.get().create_species(name)
+ # return Species_from_Cpp_Species(address(retval))
+
+ def reaction_rules(self):
+ """Return a list of reaction rules contained in the model."""
+ cdef vector[Cpp_ReactionRule] c_rr_vector = self.thisptr.get().reaction_rules()
+ retval = []
+ cdef vector[Cpp_ReactionRule].iterator it = c_rr_vector.begin()
+ while it != c_rr_vector.end():
+ retval.append(ReactionRule_from_Cpp_ReactionRule(
+ <Cpp_ReactionRule*>(address(deref(it)))))
+ inc(it)
+ return retval
+
+ def species_attributes(self):
+ """Return a list of species attributes contained in the model."""
+ cdef vector[Cpp_Species] species = self.thisptr.get().species_attributes()
+ retval = []
+ cdef vector[Cpp_Species].iterator it = species.begin()
+ while it != species.end():
+ retval.append(Species_from_Cpp_Species(
+ <Cpp_Species*>(address(deref(it)))))
+ inc(it)
+ return retval
+
+ def list_species(self):
+ """Return a list of species, contained in reaction rules in the model."""
+ cdef vector[Cpp_Species] species = self.thisptr.get().list_species()
+ retval = []
+ cdef vector[Cpp_Species].iterator it = species.begin()
+ while it != species.end():
+ retval.append(Species_from_Cpp_Species(
+ <Cpp_Species*>(address(deref(it)))))
+ inc(it)
+ return retval
+
+ def query_reaction_rules(self, Species sp1, Species sp2 = None):
+ """query_reaction_rules(sp1, sp2=None) -> [ReactionRule]
+
+ Query and return a list of reaction rules, which have the given species
+ as their reactants.
+
+ Parameters
+ ----------
+ sp1 : Species
+ The first reactant
+ sp2 : Species
+ The second reactant. This is for querying second order reaction rules.
+
+ Returns
+ -------
+ list:
+ A list of ``ReactionRule``s.
+
+ """
+ cdef vector[Cpp_ReactionRule] rules
+ if sp2 is None:
+ rules = self.thisptr.get().query_reaction_rules(
+ deref(sp1.thisptr))
+ else:
+ rules = self.thisptr.get().query_reaction_rules(
+ deref(sp1.thisptr), deref(sp2.thisptr))
+ retval = []
+ cdef vector[Cpp_ReactionRule].iterator it = rules.begin()
+ while it != rules.end():
+ retval.append(ReactionRule_from_Cpp_ReactionRule(
+ <Cpp_ReactionRule*>(address(deref(it)))))
+ inc(it)
+ return retval
+
+ def add_species_attributes(self, attrs):
+ """add_species_attributes(attrs)
+
+ Extend a list of species attributes to the bottom.
+
+ Parameters
+ ----------
+ attrs : list
+ A list of new ``Species`` with attributes.
+
+ """
+ cdef vector[Cpp_Species] species
+ for sp in attrs:
+ species.push_back(deref((<Species>sp).thisptr))
+ self.thisptr.get().add_species_attributes(species)
+
+ def add_reaction_rules(self, rrs):
+ """add_reaction_rules(rrs)
+
+ Add a list of new reaction rules.
+
+ Parameters
+ ----------
+ rrs : list
+ A list of new ``ReactionRule``s.
+
+ """
+ cdef vector[Cpp_ReactionRule] reaction_rules
+ for rr in rrs:
+ reaction_rules.push_back(deref((<ReactionRule>rr).thisptr))
+ self.thisptr.get().add_reaction_rules(reaction_rules)
+
+ def expand(self, seeds, max_itr=None, max_stoich=None):
+ """expand(seeds, max_itr=None, max_stoich=None) -> Model
+
+ Expand a rule-based model into a network model.
+
+ Parameters
+ ----------
+ seeds : list
+ A list of ``Species`` which gives seeds.
+ max_itr : Integer
+ A maximum number of iterations to generate new products.
+ max_stoich : dict
+ A maximum stoichiometry of each ``UnitSpecies`` in a ``Species``.
+ Given as a set of pairs of ``Species`` and the stoichiometry.
+
+ Returns
+ -------
+ Model:
+ A network model.
+
+ """
+ cdef vector[Cpp_Species] _seeds
+ cdef map[Cpp_Species, Integer] _max_stoich
+ for sp in seeds:
+ if not isinstance(sp, Species):
+ raise ValueError(
+ 'seeds must be given as a list of Species.'
+ + ' {0} given.'.format(repr(sp)))
+ _seeds.push_back(deref((<Species>sp).thisptr))
+
+ if max_stoich is not None:
+ for sp, n in max_stoich.items():
+ _max_stoich[deref((<Species>sp).thisptr)] = <Integer>n
+ return Model_from_Cpp_Model(
+ self.thisptr.get().expand(_seeds, <Integer>max_itr, _max_stoich))
+ elif max_itr is not None:
+ return Model_from_Cpp_Model(
+ self.thisptr.get().expand(_seeds, <Integer>max_itr))
+ else:
+ return Model_from_Cpp_Model(
+ self.thisptr.get().expand(_seeds))
+
+ def set_effective(self, effective):
+ """set_effective(effective)
+
+ Set if this model uses effective or intrinsic kinetic rates.
+
+ Parameters
+ ----------
+ effective : bool
+ Whether this model is based on the effective reaction rates or not.
+ If True, this model automatically halve the rate of homodimerization
+ reactions.
+
+ """
+ self.thisptr.get().set_effective(effective)
+
+ def effective(self):
+ """effective()
+
+ Return if this model uses effective or intrinsic kinetic rates.
+ """
+ return self.thisptr.get().effective()
+
+ def __reduce__(self):
+ return (__rebuild_netfree_model, (self.species_attributes(), self.reaction_rules()))
+
+cdef __rebuild_netfree_model(attrs, rrs):
+ m = NetfreeModel()
+ m.add_species_attributes(attrs)
+ m.add_reaction_rules(rrs)
+ return m
+
+cdef NetfreeModel NetfreeModel_from_Cpp_NetfreeModel(
+ shared_ptr[Cpp_NetfreeModel] m):
+ r = NetfreeModel()
+ r.thisptr.swap(m)
+ return r
diff --git a/python/lib/ecell4/NetworkModel.pxi b/python/lib/ecell4/NetworkModel.pxi
new file mode 100644
index 0000000..1998802
--- /dev/null
+++ b/python/lib/ecell4/NetworkModel.pxi
@@ -0,0 +1,265 @@
+from cython.operator cimport dereference as deref, preincrement as inc
+from cython cimport address
+
+from libcpp.vector cimport vector
+
+
+cdef class NetworkModel:
+ """A network model class.
+
+ NetworkModel()
+
+ """
+
+ def __init__(self):
+ """Constructor."""
+ pass
+
+ def __cinit__(self):
+ # self.thisptr = new NetworkModel()
+ # self.thisptr = new shared_ptr[Cpp_NetworkModel](new Cpp_NetworkModel())
+ self.thisptr = shared_ptr[Cpp_NetworkModel](new Cpp_NetworkModel())
+
+ # def __dealloc__(self):
+ # del self.thisptr
+
+ def add_species_attribute(self, Species sp):
+ """add_species_attribute(sp)
+
+ Add a species attribute to the bottom.
+
+ Parameters
+ ----------
+ sp : Species
+ A new species with attributes.
+
+ """
+ self.thisptr.get().add_species_attribute(deref(sp.thisptr))
+
+ def has_species_attribute(self, Species sp):
+ """has_species_attribute(sp) -> bool
+
+ Return if the given species can be attributed or not.
+
+ """
+ return self.thisptr.get().has_species_attribute(deref(sp.thisptr))
+
+ def remove_species_attribute(self, Species sp):
+ """remove_species_attribute(sp)
+
+ Remove the species attribute.
+
+ """
+ self.thisptr.get().remove_species_attribute(deref(sp.thisptr))
+
+ def add_reaction_rule(self, ReactionRule rr):
+ """add_reaction_rule(rr)
+
+ Add a new reaction rule.
+
+ Parameters
+ ----------
+ rr : ReactionRule
+ A new reaction rule.
+
+ """
+ self.thisptr.get().add_reaction_rule(deref(rr.thisptr))
+
+ def remove_reaction_rule(self, ReactionRule rr):
+ """remove_reaction_rule(rr)
+
+ Remove a reaction rule.
+
+ """
+ self.thisptr.get().remove_reaction_rule(deref(rr.thisptr))
+
+ def has_reaction_rule(self, ReactionRule rr):
+ """has_reaction_rule(rr) -> bool
+
+ Return if the given reaction rule is existing or not.
+
+ """
+ return self.thisptr.get().has_reaction_rule(deref(rr.thisptr))
+
+ def num_reaction_rules(self):
+ """Return a number of reaction rules contained in the model."""
+ return self.thisptr.get().num_reaction_rules()
+
+ def apply_species_attributes(self, Species sp):
+ """apply_species_attributes(sp) -> Species
+
+ Return a species with attributes.
+
+ Parameters
+ ----------
+ sp : Species
+ An original species.
+
+ Returns
+ -------
+ Species:
+ A new species attributed by species attributes in the model.
+
+ """
+ cdef Cpp_Species retval = self.thisptr.get().apply_species_attributes(
+ deref(sp.thisptr))
+ return Species_from_Cpp_Species(address(retval))
+
+ # def create_species(self, string name):
+ # cdef Cpp_Species retval = self.thisptr.get().create_species(name)
+ # return Species_from_Cpp_Species(address(retval))
+
+ def reaction_rules(self):
+ """Return a list of reaction rules contained in the model."""
+ cdef vector[Cpp_ReactionRule] c_rr_vector = self.thisptr.get().reaction_rules()
+ retval = []
+ cdef vector[Cpp_ReactionRule].iterator it = c_rr_vector.begin()
+ while it != c_rr_vector.end():
+ retval.append(ReactionRule_from_Cpp_ReactionRule(
+ <Cpp_ReactionRule*>(address(deref(it)))))
+ inc(it)
+ return retval
+
+ def species_attributes(self):
+ """Return a list of species attributes contained in the model."""
+ cdef vector[Cpp_Species] species = self.thisptr.get().species_attributes()
+ retval = []
+ cdef vector[Cpp_Species].iterator it = species.begin()
+ while it != species.end():
+ retval.append(Species_from_Cpp_Species(
+ <Cpp_Species*>(address(deref(it)))))
+ inc(it)
+ return retval
+
+ def list_species(self):
+ """Return a list of species, contained in reaction rules in the model."""
+ cdef vector[Cpp_Species] species = self.thisptr.get().list_species()
+ retval = []
+ cdef vector[Cpp_Species].iterator it = species.begin()
+ while it != species.end():
+ retval.append(Species_from_Cpp_Species(
+ <Cpp_Species*>(address(deref(it)))))
+ inc(it)
+ return retval
+
+ def query_reaction_rules(self, Species sp1, Species sp2 = None):
+ """query_reaction_rules(sp1, sp2=None) -> [ReactionRule]
+
+ Query and return a list of reaction rules, which have the given species
+ as their reactants.
+
+ Parameters
+ ----------
+ sp1 : Species
+ The first reactant
+ sp2 : Species
+ The second reactant. This is for querying second order reaction rules.
+
+ Returns
+ -------
+ list:
+ A list of ``ReactionRule``s.
+
+ """
+ cdef vector[Cpp_ReactionRule] rules
+ if sp2 is None:
+ rules = self.thisptr.get().query_reaction_rules(
+ deref(sp1.thisptr))
+ else:
+ rules = self.thisptr.get().query_reaction_rules(
+ deref(sp1.thisptr), deref(sp2.thisptr))
+ retval = []
+ cdef vector[Cpp_ReactionRule].iterator it = rules.begin()
+ while it != rules.end():
+ retval.append(ReactionRule_from_Cpp_ReactionRule(
+ <Cpp_ReactionRule*>(address(deref(it)))))
+ inc(it)
+ return retval
+
+ def add_species_attributes(self, attrs):
+ """add_species_attributes(attrs)
+
+ Extend a list of species attributes to the bottom.
+
+ Parameters
+ ----------
+ attrs : list
+ A list of new ``Species`` with attributes.
+
+ """
+ cdef vector[Cpp_Species] species
+ for sp in attrs:
+ species.push_back(deref((<Species>sp).thisptr))
+ self.thisptr.get().add_species_attributes(species)
+
+ def add_reaction_rules(self, rrs):
+ """add_reaction_rules(rrs)
+
+ Add a list of new reaction rules.
+
+ Parameters
+ ----------
+ rrs : list
+ A list of new ``ReactionRule``s.
+
+ """
+ cdef vector[Cpp_ReactionRule] reaction_rules
+ for rr in rrs:
+ reaction_rules.push_back(deref((<ReactionRule>rr).thisptr))
+ self.thisptr.get().add_reaction_rules(reaction_rules)
+
+ def expand(self, seeds, max_itr=None, max_stoich=None):
+ """expand(seeds, max_itr=None, max_stoich=None) -> Model
+
+ Expand a rule-based model into a network model.
+
+ Parameters
+ ----------
+ seeds : list
+ A list of ``Species`` which gives seeds.
+ max_itr : Integer
+ A maximum number of iterations to generate new products.
+ max_stoich : Integer
+ A maximum stoichiometry of ``UnitSpecies`` in a ``Species``.
+
+ Returns
+ -------
+ Model:
+ A network model.
+
+ """
+ cdef vector[Cpp_Species] _seeds
+ cdef map[Cpp_Species, Integer] _max_stoich
+ for sp in seeds:
+ if not isinstance(sp, Species):
+ raise ValueError(
+ 'seeds must be given as a list of Species.'
+ + ' {0} given.'.format(repr(sp)))
+ _seeds.push_back(deref((<Species>sp).thisptr))
+
+ if max_stoich is not None:
+ for sp, n in max_stoich.items():
+ _max_stoich[deref((<Species>sp).thisptr)] = <Integer>n
+ return Model_from_Cpp_Model(
+ self.thisptr.get().expand(_seeds, <Integer>max_itr, _max_stoich))
+ elif max_itr is not None:
+ return Model_from_Cpp_Model(
+ self.thisptr.get().expand(_seeds, <Integer>max_itr))
+ else:
+ return Model_from_Cpp_Model(
+ self.thisptr.get().expand(_seeds))
+
+ def __reduce__(self):
+ return (__rebuild_network_model, (self.species_attributes(), self.reaction_rules()))
+
+def __rebuild_network_model(attrs, rrs):
+ m = NetworkModel()
+ m.add_species_attributes(attrs)
+ m.add_reaction_rules(rrs)
+ return m
+
+cdef NetworkModel NetworkModel_from_Cpp_NetworkModel(
+ shared_ptr[Cpp_NetworkModel] m):
+ r = NetworkModel()
+ r.thisptr.swap(m)
+ return r
diff --git a/python/lib/ecell4/Particle.pxi b/python/lib/ecell4/Particle.pxi
new file mode 100644
index 0000000..8a82a2d
--- /dev/null
+++ b/python/lib/ecell4/Particle.pxi
@@ -0,0 +1,132 @@
+from cython.operator cimport dereference as deref
+from cython cimport address, declare
+from libcpp.vector cimport vector
+from libcpp.pair cimport pair
+from libcpp.string cimport string
+cimport util
+
+
+cdef class ParticleID:
+ """A class representing an ID of each particle
+
+ ParticleID(value)
+
+ """
+
+ def __init__(self, value = None):
+ """Constructor.
+
+ Parameters
+ ----------
+ value : tuple
+ A pair of integers, lot and serial.
+
+ """
+ pass
+
+ def __cinit__(self, value = None):
+ cdef pair[int, unsigned long long] val
+ if value is None:
+ self.thisptr = new Cpp_ParticleID()
+ else:
+ val.first = value[0]
+ val.second = value[1]
+ self.thisptr = new Cpp_ParticleID(val)
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def __richcmp__(ParticleID self, ParticleID rhs, int op):
+ cdef int compare
+ if deref(self.thisptr) > deref(rhs.thisptr):
+ compare = 1
+ elif deref(self.thisptr) < deref(rhs.thisptr):
+ compare = -1
+ else: # self == rhs
+ compare = 0
+ return util.richcmp_helper(compare, op)
+
+ def lot(self):
+ """Return the first value."""
+ return self.thisptr.lot()
+
+ def serial(self):
+ """Return the second value."""
+ return self.thisptr.serial()
+
+ def __reduce__(self):
+ return (ParticleID, ((self.lot(), self.serial()), ))
+
+cdef ParticleID ParticleID_from_Cpp_ParticleID(Cpp_ParticleID* p):
+ cdef Cpp_ParticleID *new_obj = new Cpp_ParticleID(<Cpp_ParticleID> deref(p))
+ r = ParticleID((0, 0))
+ del r.thisptr
+ r.thisptr = new_obj
+ return r
+
+cdef class Particle:
+ """A class representing a particle
+
+ Particle(Species sp, Real3 pos, Real radius, Real D)
+
+ """
+
+ def __init__(self, Species sp, Real3 pos, Real radius, Real D):
+ """Constructor.
+
+ Parameters
+ ----------
+ sp : Species
+ A species, which the particle belongs to.
+ pos : Real3
+ A position of the particle.
+ radius : Real
+ A radius of the particle. This must be positive.
+ D : Real
+ A diffusion constant. This must be positive.
+
+ """
+ pass
+
+ def __cinit__(self, Species sp, Real3 pos, Real radius, Real D):
+ self.thisptr = new Cpp_Particle(
+ deref(sp.thisptr), deref(pos.thisptr), radius, D)
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def position(self):
+ """position() -> Real3
+
+ Return the position.
+
+ """
+ cdef Cpp_Real3 pos = self.thisptr.position()
+ return Real3_from_Cpp_Real3(address(pos))
+
+ def radius(self):
+ """Return the radius."""
+ return self.thisptr.radius()
+
+ def D(self):
+ """Return the diffusion coefficient."""
+ return self.thisptr.D()
+
+ def species(self):
+ """species() -> Species
+
+ Return the species.
+
+ """
+ cdef Cpp_Species sp = self.thisptr.species()
+ return Species_from_Cpp_Species(address(sp))
+
+ def __reduce__(self):
+ return (Particle, (self.species(), self.position(), self.radius(), self.D()))
+
+cdef Particle Particle_from_Cpp_Particle(Cpp_Particle* p):
+ cdef Cpp_Particle *new_obj = new Cpp_Particle(<Cpp_Particle> deref(p))
+ r = Particle(Species(), Real3(0, 0, 0), 0, 0)
+ del r.thisptr
+ r.thisptr = new_obj
+ return r
diff --git a/python/lib/ecell4/ParticleSpace.pxi b/python/lib/ecell4/ParticleSpace.pxi
new file mode 100644
index 0000000..369453c
--- /dev/null
+++ b/python/lib/ecell4/ParticleSpace.pxi
@@ -0,0 +1,77 @@
+from cython.operator cimport dereference as deref, preincrement as inc
+from cython cimport address
+
+from libcpp.pair cimport pair
+from libcpp.vector cimport vector
+
+
+cdef class ParticleSpaceVectorImpl:
+
+ def __cinit__(self, Real3 edge_lengths):
+ self.thisptr = new Cpp_ParticleSpaceVectorImpl(deref(edge_lengths.thisptr))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def edge_lengths(self):
+ cdef Cpp_Real3 r = self.thisptr.edge_lengths()
+ return Real3_from_Cpp_Real3(address(r))
+
+ def num_particles(self, Species sp = None):
+ if sp is None:
+ return self.thisptr.num_particles()
+ else:
+ return self.thisptr.num_particles(deref(sp.thisptr))
+
+ def update_particle(self, ParticleID pid, Particle p):
+ return self.thisptr.update_particle(deref(pid.thisptr), deref(p.thisptr))
+
+ def list_particles(self):
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]] \
+ particles = self.thisptr.list_particles()
+ retval = []
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]].iterator \
+ it = particles.begin()
+ while it != particles.end():
+ retval.append(
+ (ParticleID_from_Cpp_ParticleID(
+ <Cpp_ParticleID*>(address(deref(it).first))),
+ Particle_from_Cpp_Particle(
+ <Cpp_Particle*>(address(deref(it).second)))))
+ inc(it)
+ return retval
+
+ def has_particle(self, ParticleID pid):
+ return self.thisptr.has_particle(deref(pid.thisptr))
+
+ def get_particle(self, ParticleID pid):
+ cdef pair[Cpp_ParticleID, Cpp_Particle] raw_particle_set = self.thisptr.get_particle(deref(pid.thisptr))
+ return ( ParticleID_from_Cpp_ParticleID(address(raw_particle_set.first)), Particle_from_Cpp_Particle(address(raw_particle_set.second)) )
+
+ def remove_particle(self, ParticleID pid):
+ self.thisptr.remove_particle(deref(pid.thisptr))
+
+ def list_particles_within_radius(self, Real3 pos, Real radius, ParticleID ignore1 = None, ParticleID ignore2 = None):
+ cdef vector[pair[pair[Cpp_ParticleID, Cpp_Particle], Real] ] raw_list_particles_within_radius
+ if ignore1 == None and ignore2 == None:
+ raw_list_particles_within_radius = self.thisptr.list_particles_within_radius(
+ deref(pos.thisptr), radius)
+ elif ignore2 == None:
+ raw_list_particles_within_radius = self.thisptr.list_particles_within_radius(
+ deref(pos.thisptr), radius, deref(ignore1.thisptr) )
+ else:
+ raw_list_particles_within_radius = self.thisptr.list_particles_within_radius(
+ deref(pos.thisptr), radius, deref(ignore1.thisptr), deref(ignore2.thisptr))
+
+ retval = []
+ cdef vector[pair[pair[Cpp_ParticleID, Cpp_Particle], Real] ].iterator it = raw_list_particles_within_radius.begin()
+ while it != raw_list_particles_within_radius.end():
+ retval.append(
+ ((ParticleID_from_Cpp_ParticleID(
+ <Cpp_ParticleID*>(address(deref(it).first.first))),
+ Particle_from_Cpp_Particle(
+ <Cpp_Particle*>(address(deref(it).first.second)))),
+ deref(it).second)
+ )
+ return retval
+
diff --git a/python/lib/ecell4/RandomNumberGenerator.pxi b/python/lib/ecell4/RandomNumberGenerator.pxi
new file mode 100644
index 0000000..7bc2a75
--- /dev/null
+++ b/python/lib/ecell4/RandomNumberGenerator.pxi
@@ -0,0 +1,166 @@
+cdef class GSLRandomNumberGenerator:
+ """A random number generator using the GNU Scientific Library (GSL).
+
+ GSLRandomNumberGenerator(Integer myseed=None)
+
+ """
+
+ def __init__(self, val=None):
+ """Constructor.
+
+ Parameters
+ ----------
+ val : Integer or string, optional
+ A seed for the random number generation (Integer),
+ or a HDF5 filename (string).
+
+ """
+ pass
+
+ def __cinit__(self, val=None):
+ if val is None:
+ self.thisptr = new shared_ptr[Cpp_RandomNumberGenerator](
+ <Cpp_RandomNumberGenerator*> (new Cpp_GSLRandomNumberGenerator()))
+ elif isinstance(val, str):
+ self.thisptr = new shared_ptr[Cpp_RandomNumberGenerator](
+ <Cpp_RandomNumberGenerator*> (
+ new Cpp_GSLRandomNumberGenerator(tostring(val))))
+ else:
+ self.thisptr = new shared_ptr[Cpp_RandomNumberGenerator](
+ <Cpp_RandomNumberGenerator*> (
+ new Cpp_GSLRandomNumberGenerator(<Integer>val)))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def uniform(self, Real min, Real max):
+ """uniform(min, max) -> Real
+
+ Return a uniform random number within the given range.
+
+ Parameters
+ ----------
+ min : Real
+ The minimum value in the range.
+ max : Real
+ The maximum value in the range.
+
+ Returns
+ -------
+ Real:
+ A random number uniformly distributed in the range [min, max).
+
+ """
+ return self.thisptr.get().uniform(min, max)
+
+ def uniform_int(self, Integer min, Integer max):
+ """uniform_int(min, max) -> Integer
+
+ Return a uniform random number within the given range.
+
+ Parameters
+ ----------
+ min : Real
+ The minimum value in the range.
+ max : Real
+ The maximum value in the range.
+
+ Returns
+ -------
+ Integer:
+ A random integer uniformly distributed in the range [min, max].
+
+ """
+ return self.thisptr.get().uniform_int(min, max)
+
+ def gaussian(self, Real sigma, mean = None):
+ """gaussian(sigma, mean = None) -> Real
+
+ Return a Gaussian variate with the given mean and standard deviation.
+
+ Parameters
+ ----------
+ sigma : Real
+ The standard deviation.
+ mean : Real
+ The mean value.
+
+ Returns
+ -------
+ Real:
+ A random number from a Gaussian distribution.
+
+ """
+ if mean is None:
+ return self.thisptr.get().gaussian(sigma)
+ else:
+ return self.thisptr.get().gaussian(sigma, <Real>mean)
+
+ def binomial(self, Real p, Integer n):
+ """binomial(p, n) -> Integer
+
+ Return a random integer from the binomial distribution,
+ the number of successes in n independent trials with probability p.
+
+ Parameters
+ ----------
+ p : Real
+ A probability.
+ n : Integer
+ The number of trials.
+
+ Returns
+ -------
+ Integer:
+ A random integer from a binomial distribution.
+
+ """
+ return self.thisptr.get().binomial(p, n)
+
+ def seed(self, val = None):
+ """seed(val=None)
+
+ Reset the random number seed.
+
+ Parameters
+ ----------
+ val : Integer, optional
+ A new seed. If no seed is given, reset the seed by the current time.
+
+ """
+ if val is None:
+ self.thisptr.get().seed()
+ else:
+ self.thisptr.get().seed(<Integer> val)
+
+ def save(self, filename):
+ """save(filename)
+
+ Save the random number generator state to a file.
+
+ Parameters
+ ----------
+ filename : str
+ A filename to save to
+
+ """
+ self.thisptr.get().save(tostring(filename))
+
+ def load(self, filename):
+ """load(filename)
+
+ Load the random number generator state from a file.
+
+ Parameters
+ ----------
+ filename : str
+ A filename to load from
+
+ """
+ self.thisptr.get().load(tostring(filename))
+
+cdef GSLRandomNumberGenerator GSLRandomNumberGenerator_from_Cpp_RandomNumberGenerator(
+ shared_ptr[Cpp_RandomNumberGenerator] rng):
+ r = GSLRandomNumberGenerator()
+ r.thisptr.swap(rng)
+ return r
diff --git a/python/lib/ecell4/Ratelaw.pxi b/python/lib/ecell4/Ratelaw.pxi
new file mode 100644
index 0000000..a8995e5
--- /dev/null
+++ b/python/lib/ecell4/Ratelaw.pxi
@@ -0,0 +1,70 @@
+from cython.operator cimport dereference as deref, preincrement as inc
+from cython cimport address
+
+from libcpp.vector cimport vector
+
+cdef class Ratelaw:
+
+ def __cinit__(self):
+ self.thisptr = new shared_ptr[Cpp_Ratelaw](
+ <Cpp_Ratelaw*>(new Cpp_RatelawMassAction(0.0))) #XXX: DUMMY
+
+ def __dealloc__(self):
+ del self.thisptr
+
+cdef class RatelawMassAction:
+
+ def __cinit__(self, Real k):
+ self.thisptr = new shared_ptr[Cpp_RatelawMassAction](
+ <Cpp_RatelawMassAction*>(new Cpp_RatelawMassAction(k)))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def set_k(self, Real k):
+ self.thisptr.get().set_k(k)
+
+ def get_k(self):
+ return self.thisptr.get().get_k()
+
+ def as_base(self):
+ retval = Ratelaw()
+ del retval.thisptr
+ retval.thisptr = new shared_ptr[Cpp_Ratelaw](
+ <shared_ptr[Cpp_Ratelaw]>deref(self.thisptr))
+ return retval
+
+cdef double indirect_function(
+ void *func, vector[Real] reactants, vector[Real] products, Real volume):
+ py_reactants = []
+ cdef vector[Real].iterator it1 = reactants.begin()
+ while it1 != reactants.end():
+ py_reactants.append(deref(it1))
+ inc(it1)
+ py_products = []
+ cdef vector[Real].iterator it2 = products.begin()
+ while it2 != products.end():
+ py_products.append(deref(it2))
+ inc(it2)
+ return (<object>func)(py_reactants, py_products, volume)
+
+cdef class RatelawCallback:
+
+ def __cinit__(self, pyfunc):
+ self.thisptr = new shared_ptr[Cpp_RatelawCythonCallback](
+ <Cpp_RatelawCythonCallback*>(new Cpp_RatelawCythonCallback(
+ <Indirect_Functype>indirect_function, <void*>pyfunc)))
+ self.pyfunc = pyfunc
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def set_callback(self, pyfunc):
+ self.thisptr.get().set_callback_pyfunc(<Python_Functype>pyfunc)
+
+ def as_base(self):
+ retval = Ratelaw()
+ del retval.thisptr
+ retval.thisptr = new shared_ptr[Cpp_Ratelaw](
+ <shared_ptr[Cpp_Ratelaw]>deref(self.thisptr))
+ return retval
diff --git a/python/lib/ecell4/ReactionRule.pxi b/python/lib/ecell4/ReactionRule.pxi
new file mode 100644
index 0000000..c203cd8
--- /dev/null
+++ b/python/lib/ecell4/ReactionRule.pxi
@@ -0,0 +1,450 @@
+from cython.operator cimport dereference as deref, preincrement as inc
+from cython cimport address
+
+cimport create_reaction_rule as crr
+
+
+cdef class ReactionRule:
+ """A class representing a reaction rule between ``Species``.
+
+ ReactionRule(reactants=None, products=None, k=None)
+
+ """
+
+ STRICT = Cpp_STRICT
+ IMPLICIT = Cpp_IMPLICIT
+ DESTROY = Cpp_DESTROY
+
+ def __init__(self, reactants=None, products=None, k=None):
+ """Constructor.
+
+ Parameters
+ ----------
+ reactants : list, optional
+ A list of reactant ``Species``.
+ products : list, optional
+ A list of product ``Species``.
+ k : float, optional
+ A kinetic rate constant.
+
+ """
+ pass # XXX: Only used for doc string
+
+ def __cinit__(self, reactants=None, products=None, k=None):
+ cdef vector[Cpp_Species] cpp_reactants
+ cdef vector[Cpp_Species] cpp_products
+
+ if products is None:
+ self.thisptr = new Cpp_ReactionRule()
+ else:
+ for sp in reactants:
+ cpp_reactants.push_back(deref((<Species>sp).thisptr))
+ for sp in products:
+ cpp_products.push_back(deref((<Species>sp).thisptr))
+
+ if k is None:
+ self.thisptr = new Cpp_ReactionRule(cpp_reactants, cpp_products)
+ else:
+ self.thisptr = new Cpp_ReactionRule(cpp_reactants, cpp_products, k)
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def k(self):
+ """Return the kinetic rate constant as a float value."""
+ return self.thisptr.k()
+
+ def set_k(self, Real k):
+ """set_k(k)
+
+ Set a kinetic rate constant.
+
+ Parameters
+ ----------
+ k : float
+ A kinetic rate constant.
+
+ """
+ self.thisptr.set_k(k)
+
+ def reactants(self):
+ """List all reactants.
+
+ Returns
+ -------
+ list:
+ A list of reactant ``Species``.
+
+ """
+ cdef vector[Cpp_Species] reactants = self.thisptr.reactants()
+ retval = []
+ cdef vector[Cpp_Species].iterator it = reactants.begin()
+ while it != reactants.end():
+ retval.append(
+ Species_from_Cpp_Species(<Cpp_Species*>address(deref(it))))
+ inc(it)
+ return retval
+
+ def products(self):
+ """List all products.
+
+ Returns
+ -------
+ list:
+ A list of product ``Species``.
+
+ """
+ cdef vector[Cpp_Species] products = self.thisptr.products()
+ retval = []
+ cdef vector[Cpp_Species].iterator it = products.begin()
+ while it != products.end():
+ retval.append(
+ Species_from_Cpp_Species(<Cpp_Species*>address(deref(it))))
+ inc(it)
+ return retval
+
+ def add_reactant(self, Species sp):
+ """add_reactant(sp)
+
+ Append a reactant to the end.
+
+ Parameters
+ ----------
+ sp : Species
+ A new reactant.
+
+ """
+ self.thisptr.add_reactant(deref(sp.thisptr))
+
+ def add_product(self, Species sp):
+ """add_product(sp)
+
+ Append a product to the end.
+
+ Parameters
+ ----------
+ sp : Species
+ A new product.
+
+ """
+ self.thisptr.add_product(deref(sp.thisptr))
+
+ def as_string(self):
+ """as_string() -> str
+
+ Return an unicode string describing this object.
+
+ Returns
+ -------
+ str:
+ An unicode string describing this object.
+
+ Examples
+ --------
+ The string consists of a list of reactants, a list of products,
+ and a kinetic rate constant.
+
+ >>> rr = ReactionRule([Species("A"), Species("B")], [Species("C")], 1.0)
+ >>> rr.as_string()
+ u'A+B>C|1'
+ """
+ return self.thisptr.as_string().decode('UTF-8')
+
+ def policy(self):
+ """policy() -> int
+
+ Return a policy for the rule-based modeling.
+
+ """
+ return self.thisptr.policy()
+
+ def set_policy(self, policy):
+ """set_policy(policy)
+
+ Set a policy for the rule-based modeling.
+
+ Examples
+ --------
+
+ >>> rr = ReactionRule()
+ >>> rr.set_policy(ReactionRule.STRICT | ReactionRule.DESTROY)
+
+ """
+ self.thisptr.set_policy(policy)
+
+ def count(self, reactants):
+ """count(reactants) -> Integer
+
+ Count the number of matches for reactants.
+
+ Parameters
+ ----------
+ reactants : list
+ A list of ``Species``. The order of ``reactants``
+ is respected.
+
+ Returns
+ -------
+ Integer:
+ The number of matches.
+
+ """
+ cdef vector[Cpp_Species] cpp_reactants
+ for sp in reactants:
+ cpp_reactants.push_back(deref((<Species> sp).thisptr))
+ return self.thisptr.count(cpp_reactants)
+
+ def generate(self, reactants):
+ """generate(reactants) -> [ReactionRule]
+
+ Generate ``ReactionRule``s from given reactants.
+
+ Parameters
+ ----------
+ reactants : list
+ A list of ``Species``. The order of ``reactants`` is respected.
+
+ Returns
+ -------
+ list:
+ A list of ``ReactionRule``s. The reactants of each
+ ``ReactionRule`` are equal to the given ``reactants``.
+ If the ``ReactionRule`` does not match the ``reactants``,
+ return an empty list.
+
+ Examples
+ --------
+
+ >>> rr = ReactionRule([Species("_(b=x)")], [Species("_(b=y)")], 1.0)
+ >>> reactants = [Species("A(a^1,b=x).B(a^1,b=x)")]
+ >>> [r.as_string() for r in rr.generate(reactants)]
+ [u'A(a^1,b=x).B(a^1,b=x)>A(a^1,b=y).B(a^1,b=x)|1',
+ u'A(a^1,b=x).B(a^1,b=x)>A(a^1,b=x).B(a^1,b=y)|1']
+
+ """
+ cdef vector[Cpp_Species] cpp_reactants
+ for sp in reactants:
+ cpp_reactants.push_back(deref((<Species> sp).thisptr))
+ cdef vector[Cpp_ReactionRule] cpp_rules = self.thisptr.generate(cpp_reactants)
+ cdef vector[Cpp_ReactionRule].iterator it1 = cpp_rules.begin()
+ retval = []
+ while it1 != cpp_rules.end():
+ retval.append(ReactionRule_from_Cpp_ReactionRule(address(deref(it1))))
+ inc(it1)
+ return retval
+
+ def __reduce__(self):
+ return (ReactionRule, (self.reactants(), self.products(), self.k()))
+
+cdef ReactionRule ReactionRule_from_Cpp_ReactionRule(Cpp_ReactionRule *rr):
+ cdef Cpp_ReactionRule *new_obj = new Cpp_ReactionRule(deref(rr))
+ r = ReactionRule()
+ del r.thisptr
+ r.thisptr = new_obj
+ return r
+
+def create_degradation_reaction_rule(Species reactant1, Real k):
+ """create_degradation_reaction_rule(reactant1, k) -> ReactionRule
+
+ Create a degradation ``ReactionRule``.
+
+ Parameters
+ ----------
+ reactant1 : Species
+ A reactant to be degradated.
+ k : float
+ A kinetic parameter.
+
+ Notes
+ -----
+ This is equivalent to ``ReactionRule([reactant1], [], k)``.
+
+ """
+ cdef Cpp_ReactionRule rr = crr.create_degradation_reaction_rule(
+ deref(reactant1.thisptr), k)
+ return ReactionRule_from_Cpp_ReactionRule(address(rr))
+
+def create_synthesis_reaction_rule(Species product1, Real k):
+ """create_synthesis_reaction_rule(product1, k) -> ReactionRule
+
+ Create a synthesis ``ReactionRule``.
+
+ Parameters
+ ----------
+ product1 : Species
+ A product to be synthesized.
+ k : float
+ A kinetic parameter.
+
+ Notes
+ -----
+ This is equivalent to ``ReactionRule([], [product1], k)``.
+
+ """
+ cdef Cpp_ReactionRule rr = crr.create_synthesis_reaction_rule(
+ deref(product1.thisptr), k)
+ return ReactionRule_from_Cpp_ReactionRule(address(rr))
+
+def create_unimolecular_reaction_rule(Species reactant1, Species product1, Real k):
+ """create_unimolecular_reaction_rule(reactant1, product1, k) -> ReactionRule
+
+ Create an unimolecular ``ReactionRule``.
+
+ Parameters
+ ----------
+ reactant1 : Species
+ A reactant to be modified.
+ product1 : Species
+ A product.
+ k : float
+ A kinetic parameter.
+
+ Notes
+ -----
+ This is equivalent to ``ReactionRule([reactant1], [product1], k)``.
+
+ """
+ cdef Cpp_ReactionRule rr = crr.create_unimolecular_reaction_rule(
+ deref(reactant1.thisptr), deref(product1.thisptr), k)
+ return ReactionRule_from_Cpp_ReactionRule(address(rr))
+
+def create_binding_reaction_rule(
+ Species reactant1, Species reactant2, Species product1, Real k):
+ """create_binding_reaction_rule(reactant1, reactant2, product1, k) -> ReactionRule
+
+ Create a binding ``ReactionRule``.
+
+ Parameters
+ ----------
+ reactant1 : Species
+ One of two reactants.
+ reactant2 : Species
+ One of two reactants.
+ product1 : Species
+ A product.
+ k : float
+ A kinetic parameter.
+
+ Notes
+ -----
+ This is equivalent to ``ReactionRule([reactant1, reactant2], [product1], k)``.
+
+ """
+ cdef Cpp_ReactionRule rr = crr.create_binding_reaction_rule(
+ deref(reactant1.thisptr), deref(reactant2.thisptr),
+ deref(product1.thisptr), k)
+ return ReactionRule_from_Cpp_ReactionRule(address(rr))
+
+def create_unbinding_reaction_rule(
+ Species reactant1, Species product1, Species product2, Real k):
+ """create_unbinding_reaction_rule(reactant1, product1, product2, k) -> ReactionRule
+
+ Create an unbinding ``ReactionRule``.
+
+ Parameters
+ ----------
+ reactant1 : Species
+ A reactant.
+ product1 : Species
+ One of two products.
+ product2 : Species
+ One of two products.
+ k : float
+ A kinetic parameter.
+
+ Notes
+ -----
+ This is equivalent to ``ReactionRule([reactant1], [product1, product2], k)``.
+
+ """
+ cdef Cpp_ReactionRule rr = crr.create_unbinding_reaction_rule(
+ deref(reactant1.thisptr),
+ deref(product1.thisptr), deref(product2.thisptr), k)
+ return ReactionRule_from_Cpp_ReactionRule(address(rr))
+
+# def rrmatch(ReactionRule pttrn, reactants):
+# """rrmatch(pttrn, reactants) -> bool
+#
+# Return if a pattern matches the reactants or not.
+#
+# Parameters
+# ----------
+# pttrn : ReactionRule
+# A pattern.
+# reactants : list
+# A list of reactants, ``Species``. The order of reactants is respected.
+#
+# Returns
+# -------
+# bool:
+# True if ``pttrn`` matches ``reactants`` at least one time,
+# False otherwise.
+#
+# """
+# cdef vector[Cpp_Species] cpp_reactants
+# for sp in reactants:
+# cpp_reactants.push_back(deref((<Species> sp).thisptr))
+# return context.rrmatch(deref(pttrn.thisptr), cpp_reactants)
+#
+# def count_rrmatches(ReactionRule pttrn, reactants):
+# """count_rrmatches(pttrn, reactants) -> Integer
+#
+# Count the number of matches for a pattern given as a ``ReactionRule``.
+#
+# Parameters
+# ----------
+# pttrn : ReactionRule
+# A pattern.
+# reactants : list
+# A list of reactants, ``Species``. The order of reactants is respected.
+#
+# Returns
+# -------
+# Integer:
+# The number of matches.
+#
+# """
+# cdef vector[Cpp_Species] cpp_reactants
+# for sp in reactants:
+# cpp_reactants.push_back(deref((<Species> sp).thisptr))
+# return context.count_rrmatches(deref(pttrn.thisptr), cpp_reactants)
+#
+# def rrgenerate(ReactionRule pttrn, reactants):
+# """rrgenerate(pttrn, reactants) -> [Species]
+#
+# Generate a list of products from the given list of reactants.
+#
+# Parameters
+# ----------
+# pttrn : ReactionRule
+# A pattern.
+# reactants : list
+# A list of ``Species``. The order of ``reactants`` is respected.
+#
+# Returns
+# -------
+# list:
+# A list of products. The size of the list is equal to the number of matches.
+# Each element of the list is a list of ``Species``.
+#
+# Notes
+# -----
+# Rather use ``ReactionRule.generate``.
+#
+# """
+# cdef vector[Cpp_Species] cpp_reactants
+# for sp in reactants:
+# cpp_reactants.push_back(deref((<Species> sp).thisptr))
+# cdef vector[vector[Cpp_Species]] cpp_products_list = \
+# context.rrgenerate(deref(pttrn.thisptr), cpp_reactants)
+# cdef vector[vector[Cpp_Species]].iterator it1 = cpp_products_list.begin()
+# cdef vector[Cpp_Species].iterator it2
+# retval = []
+# while it1 != cpp_products_list.end():
+# retval.append([])
+# it2 = deref(it1).begin()
+# while it2 != deref(it1).end():
+# retval[-1].append(Species_from_Cpp_Species(address(deref(it2))))
+# inc(it2)
+# inc(it1)
+# return retval
diff --git a/python/lib/ecell4/Real3.pxi b/python/lib/ecell4/Real3.pxi
new file mode 100644
index 0000000..114982c
--- /dev/null
+++ b/python/lib/ecell4/Real3.pxi
@@ -0,0 +1,247 @@
+from cython.operator cimport dereference as deref
+from cython cimport address
+cimport real3operators
+
+
+cdef class Real3:
+ """A class representing a three-dimensional vector or position.
+
+ Real3(Real p1, Real p2, Real p3)
+
+ """
+
+ def __init__(self, Real p1, Real p2, Real p3):
+ """Constructor.
+
+ Parameters
+ ----------
+ p1 : Real
+ The first value in the vector.
+ p2 : Real
+ The second value in the vector.
+ p3 : Real
+ The third value in the vector.
+
+ """
+ pass
+
+ def __cinit__(self, Real p1, Real p2, Real p3):
+ self.thisptr = new Cpp_Real3(p1, p2, p3)
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def __setitem__(self, Integer i, Real val):
+ if i > 2:
+ raise IndexError("index out of bounds")
+ deref(self.thisptr)[i] = val
+
+ def __getitem__(self, Integer i):
+ if i > 2:
+ raise IndexError("index out of bounds")
+ return deref(self.thisptr)[i]
+
+ def __add__(Real3 self, Real3 other):
+ return real3_add(self, other)
+
+ def __sub__(Real3 self, Real3 other):
+ return real3_subtract(self, other)
+
+ def __div__(Real3 self, Real other):
+ return real3_divide(self, other)
+
+ def __truediv__(Real3 self, Real other):
+ return real3_divide(self, other)
+
+ def __mul__(self, other):
+ if isinstance(self, Real3):
+ return real3_multiply(<Real3>self, <Real>other)
+ elif isinstance(other, Real3):
+ return real3_multiply(<Real3>other, <Real>self)
+ else:
+ raise ValueError(
+ 'invalid value was given: '
+ + repr(self) + ' : ' + repr(other))
+
+ def __abs__(self):
+ return real3_abs(self)
+
+ def __reduce__(self):
+ return (Real3, tuple(self))
+
+cdef Real3 Real3_from_Cpp_Real3(Cpp_Real3 *p):
+ cdef Cpp_Real3 *new_obj = new Cpp_Real3(<Cpp_Real3> deref(p))
+ r = Real3(0.0, 0.0, 0.0)
+ del r.thisptr
+ r.thisptr = new_obj
+ return r
+
+def real3_add(Real3 p1, Real3 p2):
+ """real3_add(p1, p2) -> Real3
+
+ Add two ``Real3``s, and returns the sum.
+
+ Parameters
+ ----------
+ p1 : Real3
+ The first vector.
+ p2 : Real3
+ The second vector.
+
+ Returns
+ -------
+ Real3:
+ The sum of two vectors, ``p1 + p2``.
+
+ """
+ cdef Cpp_Real3 r = real3operators.add(deref(p1.thisptr), deref(p2.thisptr))
+ return Real3_from_Cpp_Real3(address(r))
+
+def real3_subtract(Real3 p1, Real3 p2):
+ """real3_subtract(p1, p2) -> Real3
+
+ Subtract p2 from p1.
+
+ Parameters
+ ----------
+ p1 : Real3
+ The left-hand-side vector.
+ p2 : Real3
+ The right-hand-side vector.
+
+ Returns
+ -------
+ Real3:
+ Its difference, ``p1 - p2``.
+
+ """
+ cdef Cpp_Real3 r = real3operators.subtract(deref(p1.thisptr), deref(p2.thisptr))
+ return Real3_from_Cpp_Real3(address(r))
+
+def real3_divide(Real3 p1, Real p2):
+ """real3_divide(p1, p2) -> Real3
+
+ Divide p1 by p2.
+
+ Parameters
+ ----------
+ p1 : Real3
+ The numerator.
+ p2 : Real
+ The denominator.
+
+ Returns
+ -------
+ Real3:
+ The divided vector, ``p1 / p2``.
+
+ """
+ cdef Cpp_Real3 r = real3operators.divide(deref(p1.thisptr), p2)
+ return Real3_from_Cpp_Real3(address(r))
+
+def real3_multiply(Real3 p1, Real p2):
+ """real3_multiply(p1, p2) -> Real3
+
+ Multiply p1 by p2.
+
+ Parameters
+ ----------
+ p1 : Real3
+ A vector.
+ p2 : Real
+ A factor.
+
+ Returns
+ -------
+ Real3:
+ The multipled vector, ``p1 * p2``.
+
+ """
+ cdef Cpp_Real3 r = real3operators.multiply(deref(p1.thisptr), p2)
+ return Real3_from_Cpp_Real3(address(r))
+
+# def real3_modulo(Real3 p1, Real3 p2):
+# cdef Cpp_Real3 r = real3operators.modulo(
+# deref(p1.thisptr), <Real3>deref(p2.thisptr))
+# return Real3_from_Cpp_Real3(address(r))
+
+def real3_abs(Real3 p1):
+ """real3_abs(p1) -> Real3
+
+ Return an absolute vector of the given vector.
+
+ Parameters
+ ----------
+ p1 : Real3
+ A vector.
+
+ Returns
+ -------
+ Real3:
+ The absolute vector, which consists of absolute value of the given vector.
+
+ Notes
+ -----
+ This is NOT for taking the norm of a vector.
+
+ See Also
+ --------
+ length
+
+ """
+ cdef Cpp_Real3 r = real3operators.abs(deref(p1.thisptr))
+ return Real3_from_Cpp_Real3(address(r))
+
+def real3_dot_product(Real3 p1, Real3 p2):
+ """real3_dot_product(p1, p2) -> Real
+
+ Return a dot product between two vectors
+
+ """
+ return real3operators.dot_product(deref(p1.thisptr), deref(p2.thisptr))
+
+def cross_product(Real3 p1, Real3 p2):
+ """cross_product(p1, p2) -> Real3
+
+ Return a cross product between two vectors
+
+ """
+ cdef Cpp_Real3 r = real3operators.cross_product(deref(p1.thisptr), deref(p2.thisptr))
+ return Real3_from_Cpp_Real3(address(r))
+
+def real3_length_sq(Real3 p1):
+ """real3_length_sq(p1) -> Real
+
+ Return a square of a Euclidean norm of the given vector.
+
+ """
+ return real3operators.length_sq(deref(p1.thisptr))
+
+def real3_length(Real3 p1):
+ """real3_length(p1) -> Real
+
+ Return a Euclidean norm of the given vector.
+ This is almost equivalent to call ``sqrt(length_sq(p1))``
+
+ """
+ return real3operators.length(deref(p1.thisptr))
+
+def ones():
+ """Return Real3(1.0, 1.0, 1.0)."""
+ cdef Cpp_Real3 retval = real3operators.ones()
+ return Real3_from_Cpp_Real3(address(retval))
+
+def unitx():
+ """Return Real3(1.0, 0.0, 0.0)."""
+ cdef Cpp_Real3 retval = real3operators.unitx()
+ return Real3_from_Cpp_Real3(address(retval))
+
+def unity():
+ """Return Real3(0.0, 1.0, 0.0)."""
+ cdef Cpp_Real3 retval = real3operators.unity()
+ return Real3_from_Cpp_Real3(address(retval))
+
+def unitz():
+ """Return Real3(0.0, 0.0, 1.0)."""
+ cdef Cpp_Real3 retval = real3operators.unitz()
+ return Real3_from_Cpp_Real3(address(retval))
diff --git a/python/lib/ecell4/Space.pxi b/python/lib/ecell4/Space.pxi
new file mode 100644
index 0000000..f4c11ce
--- /dev/null
+++ b/python/lib/ecell4/Space.pxi
@@ -0,0 +1,18 @@
+cdef class Space:
+ """An abstract base class of all worlds. This is for developers.
+
+ Space()
+
+ """
+
+ def __init__(self):
+ """Constructor"""
+ pass
+
+ def __cinit__(self):
+ self.thisptr = new shared_ptr[Cpp_Space](
+ <Cpp_Space*>(new Cpp_CompartmentSpaceVectorImpl(
+ Cpp_Real3(1, 1, 1)))) #XXX: DUMMY
+
+ def __dealloc__(self):
+ del self.thisptr
diff --git a/python/lib/ecell4/Species.pxi b/python/lib/ecell4/Species.pxi
new file mode 100644
index 0000000..50f807d
--- /dev/null
+++ b/python/lib/ecell4/Species.pxi
@@ -0,0 +1,309 @@
+from cython.operator cimport dereference as deref, preincrement as inc
+from libcpp.string cimport string
+from cython cimport address
+cimport util
+
+cimport context
+
+
+cdef class Species:
+ """A class representing a type of molecules with attributes.
+
+ Species(serial=None, radius=None, D=None, location=None)
+
+ """
+
+ def __init__(self, serial=None, radius=None, D=None, location=None):
+ """Constructor.
+
+ Parameters
+ ----------
+ serial : str, optional
+ The serial name.
+ radius : str, optional
+ The radius of a molecule.
+ This must be given as a string.
+ D : str, optional
+ The diffusion rate of a molecule.
+ This must be given as a string.
+ location : str, optional
+ The location of a molecule.
+
+ """
+ pass # XXX: Only used for doc string
+
+ def __cinit__(self, serial=None, radius=None, D=None, location=None):
+ if serial is None:
+ self.thisptr = new Cpp_Species()
+ elif radius is not None and D is not None:
+ if location is None:
+ self.thisptr = new Cpp_Species(
+ tostring(serial),
+ tostring(radius),
+ tostring(D))
+ else:
+ self.thisptr = new Cpp_Species(
+ tostring(serial),
+ tostring(radius),
+ tostring(D),
+ tostring(location))
+ else:
+ self.thisptr = new Cpp_Species(tostring(serial)) #XXX:
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def __richcmp__(Species self, Species rhs, int op):
+ cdef int compare
+ if deref(self.thisptr) > deref(rhs.thisptr):
+ compare = 1
+ elif deref(self.thisptr) < deref(rhs.thisptr):
+ compare = -1
+ else: # self == rhs
+ compare = 0
+ return util.richcmp_helper(compare, op)
+
+ def __hash__(self):
+ return hash(self.thisptr.serial().decode('UTF-8'))
+
+ def serial(self):
+ """Return the serial name as an unicode string."""
+ return self.thisptr.serial().decode('UTF-8')
+
+ def get_attribute(self, name):
+ """get_attribute(name) -> str
+
+ Return an attribute as an unicode string.
+ If no corresponding attribute is found, raise an error.
+
+ Parameters
+ ----------
+ name : str
+ The name of an attribute.
+
+ Returns
+ -------
+ str:
+ The value of the attribute.
+
+ """
+ return self.thisptr.get_attribute(
+ tostring(name)).decode('UTF-8')
+
+ def set_attribute(self, name, value):
+ """set_attribute(name, value)
+
+ Set an attribute.
+ If existing already, the attribute will be overwritten.
+
+ Parameters
+ ----------
+ name : str
+ The name of an attribute.
+ value : str
+ The value of an attribute.
+
+ """
+ self.thisptr.set_attribute(tostring(name), tostring(value))
+
+ def remove_attribute(self, name):
+ """remove_attribute(name)
+
+ Remove an attribute.
+ If no corresponding attribute is found, raise an error.
+
+ Parameters
+ ----------
+ name : str
+ The name of an attribute to be removed.
+
+ """
+ self.thisptr.remove_attribute(tostring(name))
+
+ def has_attribute(self, name):
+ """has_attribute(name) -> bool
+
+ Return if the attribute exists or not.
+
+ Parameters
+ ----------
+ name : str
+ The name of an attribute.
+
+ Returns
+ -------
+ bool:
+ True if the attribute exists, False otherwise.
+
+ """
+ return self.thisptr.has_attribute(tostring(name))
+
+ def list_attributes(self):
+ """list_attributes() -> [(str, str)]
+
+ List all attributes.
+
+ Returns
+ -------
+ list:
+ A list of pairs of name and value.
+ ``name`` and ``value`` are given as unicode strings.
+
+ """
+ retval = self.thisptr.list_attributes()
+ return [(key.decode('UTF-8'), value.decode('UTF-8'))
+ for key, value in retval]
+
+ def add_unit(self, UnitSpecies usp):
+ """add_unit(usp)
+
+ Append an ``UnitSpecies`` to the end.
+
+ Parameters
+ ----------
+ usp : UnitSpecies
+ An ``UnitSpecies`` to be added.
+
+ """
+ self.thisptr.add_unit(deref(usp.thisptr))
+
+ def count(self, Species sp):
+ """count(sp) -> Integer
+
+ Count the number of matches for a target given as a ``Species``.
+
+ Parameters
+ ----------
+ sp : Species
+ A target to be count.
+
+ Returns
+ -------
+ Integer:
+ The number of matches.
+
+ """
+ return self.thisptr.count(deref(sp.thisptr))
+
+ def units(self):
+ """units() -> [UnitSpecies]
+
+ Return a list of all ``UnitSpecies`` contained.
+
+ """
+ cdef vector[Cpp_UnitSpecies] usps = self.thisptr.units()
+ retval = []
+ cdef vector[Cpp_UnitSpecies].iterator it = usps.begin()
+ while it != usps.end():
+ retval.append(UnitSpecies_from_Cpp_UnitSpecies(
+ <Cpp_UnitSpecies*>(address(deref(it)))))
+ inc(it)
+ return retval
+
+ def D(self, value):
+ """D(string) -> Species
+
+ set attribute 'D', and return self.
+
+ """
+ cdef Cpp_Species *sp = self.thisptr.D_ptr(tostring(value))
+ assert sp == self.thisptr
+ return self
+
+ def radius(self, value):
+ """radius(string) -> Species
+
+ set attribute 'radius', and return self.
+
+ """
+ cdef Cpp_Species *sp = self.thisptr.radius_ptr(tostring(value))
+ assert sp == self.thisptr
+ return self
+
+ def location(self, value):
+ """location(string) -> Species
+
+ set attribute 'location', and return self.
+
+ """
+ cdef Cpp_Species *sp = self.thisptr.location_ptr(tostring(value))
+ assert sp == self.thisptr
+ return self
+
+ def __reduce__(self):
+ return (__rebuild_species, (self.serial(), self.list_attributes()))
+
+def __rebuild_species(serial, attrs):
+ sp = Species(serial)
+ for key, val in attrs:
+ sp.set_attribute(key, val)
+ return sp
+
+cdef Species Species_from_Cpp_Species(Cpp_Species *sp):
+ cdef Cpp_Species *new_obj = new Cpp_Species(deref(sp))
+ r = Species()
+ del r.thisptr
+ r.thisptr = new_obj
+ return r
+
+def spmatch(Species pttrn, Species sp):
+ """spmatch(pttrn, sp) -> bool
+
+ Return if a pattern matches the target ``Species`` or not.
+
+ Parameters
+ ----------
+ pttrn : Species
+ A pattern.
+ sp : Species
+ A target.
+
+ Returns
+ -------
+ bool:
+ True if ``pttrn`` matches ``sp`` at least one time, False otherwise.
+
+ """
+ return context.spmatch(deref(pttrn.thisptr), deref(sp.thisptr))
+
+def count_spmatches(Species pttrn, Species sp):
+ """count_spmatches(pttrn, sp) -> Integer
+
+ Count the number of matches for a pattern given as a ``Species``.
+
+ Parameters
+ ----------
+ pttrn : Species
+ A pattern.
+ sp : Species
+ A target.
+
+ Returns
+ -------
+ Integer:
+ The number of matches.
+
+ Notes
+ -----
+ Rather use ``Species.count``.
+
+ """
+ return context.count_spmatches(deref(pttrn.thisptr), deref(sp.thisptr))
+
+def format_species(Species sp):
+ """format_species(sp) -> Species
+
+ Return a species uniquely reformatted.
+
+ """
+ cdef Cpp_Species newsp = context.format_species(deref(sp.thisptr))
+ return Species_from_Cpp_Species(address(newsp))
+
+def unique_serial(Species sp):
+ """unique_serial(sp) -> str
+
+ Return a serial of a species uniquely reformatted.
+ This is equivalent to call ``format_species(sp).serial()``
+
+ """
+ return context.unique_serial(deref(sp.thisptr)).decode('UTF-8')
diff --git a/python/lib/ecell4/UnitSpecies.pxi b/python/lib/ecell4/UnitSpecies.pxi
new file mode 100644
index 0000000..80a1fb5
--- /dev/null
+++ b/python/lib/ecell4/UnitSpecies.pxi
@@ -0,0 +1,101 @@
+from cython.operator cimport dereference as deref
+from libcpp.string cimport string
+cimport util
+
+
+cdef class UnitSpecies:
+ """A class representing an unit of species.
+
+ UnitSpecies(name=None)
+
+ See Also
+ --------
+ Species
+
+ """
+
+ def __init__(self, name=None):
+ """Constructor.
+
+ Parameters
+ ----------
+ name : str, optional
+ A name.
+
+ """
+ pass
+
+ def __cinit__(self, name=None):
+ if name is None:
+ self.thisptr = new Cpp_UnitSpecies()
+ else:
+ self.thisptr = new Cpp_UnitSpecies(tostring(name))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def __richcmp__(UnitSpecies self, UnitSpecies rhs, int op):
+ cdef int compare
+ if deref(self.thisptr) > deref(rhs.thisptr):
+ compare = 1
+ elif deref(self.thisptr) < deref(rhs.thisptr):
+ compare = -1
+ else: # self == rhs
+ compare = 0
+ return util.richcmp_helper(compare, op)
+
+ def __hash__(self):
+ return hash(self.thisptr.serial())
+
+ def serial(self):
+ """Return the serial, which consists of a name and sites."""
+ return self.thisptr.serial().decode('UTF-8')
+
+ def name(self):
+ """Return a name."""
+ return self.thisptr.name().decode('UTF-8')
+
+ def add_site(self, name, state, bond):
+ """add_site(name, state, bond)
+
+ Add a new site.
+
+ Parameters
+ ----------
+ name : str
+ A name of the site
+ state : str
+ A state name of the site
+ bond : str
+ A bond of the site.
+
+ """
+ return self.thisptr.add_site(tostring(name), tostring(state), tostring(bond))
+
+ def deserialize(self, serial):
+ """deserialize(serial)
+
+ Deserialize the given serial, and load it.
+
+ Parameters
+ ----------
+ serial : str
+ A serial
+
+ """
+ self.thisptr.deserialize(tostring(serial))
+
+ def __reduce__(self):
+ return (__rebuild_unit_species, (self.serial(), ))
+
+def __rebuild_unit_species(serial):
+ usp = UnitSpecies()
+ usp.deserialize(serial)
+ return usp
+
+cdef UnitSpecies UnitSpecies_from_Cpp_UnitSpecies(Cpp_UnitSpecies *sp):
+ cdef Cpp_UnitSpecies *new_obj = new Cpp_UnitSpecies(deref(sp))
+ r = UnitSpecies('')
+ del r.thisptr
+ r.thisptr = new_obj
+ return r
diff --git a/python/lib/ecell4/Voxel.pxi b/python/lib/ecell4/Voxel.pxi
new file mode 100644
index 0000000..23f36ff
--- /dev/null
+++ b/python/lib/ecell4/Voxel.pxi
@@ -0,0 +1,81 @@
+from cython.operator cimport dereference as deref
+from cython cimport address, declare
+from libcpp.vector cimport vector
+from libcpp.pair cimport pair
+from libcpp.string cimport string
+
+
+cdef class Voxel:
+ """A class representing a voxel in LatticeSpace.
+
+ Voxel(Species sp, Integer coord, Real radius, Real D, loc=None)
+
+ """
+
+ def __init__(self, Species sp, Integer coord, Real radius, Real D, loc=None):
+ """Constructor.
+
+ Parameters
+ ----------
+ sp : Species
+ The species.
+ coord : Integer
+ The coordinate given as an Integer.
+ radius : Real
+ The radius of a molecule.
+ D : Real
+ The diffusion rate of a molecule.
+ loc : str, optional
+ The location of a molecule.
+
+ """
+ pass # XXX: Only used for doc string
+
+ def __cinit__(self, Species sp, Integer coord, Real radius, Real D, loc=None):
+ if loc is None:
+ self.thisptr = new Cpp_Voxel(
+ deref(sp.thisptr), coord, radius, D)
+ else:
+ self.thisptr = new Cpp_Voxel(
+ deref(sp.thisptr), coord, radius, D, tostring(loc))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def coordinate(self):
+ """Return the coordinate."""
+ return self.thisptr.coordinate()
+
+ def D(self):
+ """Return the diffusion coefficient."""
+ return self.thisptr.D()
+
+ def radius(self):
+ """Return the radius."""
+ return self.thisptr.radius()
+
+ def species(self):
+ """species() -> Species
+
+ Return the species.
+
+ """
+ return Species_from_Cpp_Species(address(self.thisptr.species()))
+
+ def loc(self):
+ """loc() -> str
+
+ Return the location information as a string.
+
+ """
+ return self.thisptr.loc().decode('UTF-8')
+
+ def __reduce__(self):
+ return (Voxel, (self.species(), self.coordinate(), self.radius(), self.D(), self.loc()))
+
+cdef Voxel Voxel_from_Cpp_Voxel(Cpp_Voxel* p):
+ cdef Cpp_Voxel *new_obj = new Cpp_Voxel(<Cpp_Voxel> deref(p))
+ r = Voxel(Species(), 0, 0, 0)
+ del r.thisptr
+ r.thisptr = new_obj
+ return r
diff --git a/python/lib/ecell4/__init__.py.in b/python/lib/ecell4/__init__.py.in
new file mode 100644
index 0000000..39d2c14
--- /dev/null
+++ b/python/lib/ecell4/__init__.py.in
@@ -0,0 +1,5 @@
+from ecell4.core import *
+from ecell4.util import *
+from ecell4 import bd, ode, gillespie, egfrd, spatiocyte, meso
+
+__version__ = '${PROJECT_VERSION}'
diff --git a/python/lib/ecell4/bd.pxd b/python/lib/ecell4/bd.pxd
new file mode 100644
index 0000000..81652b8
--- /dev/null
+++ b/python/lib/ecell4/bd.pxd
@@ -0,0 +1,145 @@
+from libcpp.string cimport string
+from libcpp cimport bool
+from libcpp.vector cimport vector
+
+from ecell4.types cimport *
+from ecell4.shared_ptr cimport shared_ptr
+from ecell4.core cimport *
+
+
+## Cpp_ReactionInfo
+cdef extern from "ecell4/bd/BDPropagator.hpp" namespace "ecell4::bd":
+ cdef cppclass Cpp_ReactionInfo "ecell4::bd::ReactionInfo":
+ Cpp_ReactionInfo(Real, vector[pair[Cpp_ParticleID, Cpp_Particle]], vector[pair[Cpp_ParticleID, Cpp_Particle]])
+ Cpp_ReactionInfo(Cpp_ReactionInfo&)
+ Real t()
+ vector[pair[Cpp_ParticleID, Cpp_Particle]] reactants()
+ vector[pair[Cpp_ParticleID, Cpp_Particle]] products()
+
+## ReactionInfo
+# a python wrapper for Cpp_ReactionInfo
+cdef class ReactionInfo:
+ cdef Cpp_ReactionInfo* thisptr
+
+cdef ReactionInfo ReactionInfo_from_Cpp_ReactionInfo(Cpp_ReactionInfo* ri)
+
+## Cpp_BDWorld
+# ecell4::bd::BDWorld
+cdef extern from "ecell4/bd/BDWorld.hpp" namespace "ecell4::bd":
+ cdef cppclass Cpp_BDWorld "ecell4::bd::BDWorld":
+ Cpp_BDWorld() except +
+ Cpp_BDWorld(string& filename) except +
+ Cpp_BDWorld(Cpp_Real3& edge_lengths) except +
+ Cpp_BDWorld(
+ Cpp_Real3& edge_lengths,
+ Cpp_Integer3& matrix_sizes) except +
+ Cpp_BDWorld(
+ Cpp_Real3& edge_lengths,
+ Cpp_Integer3& matrix_sizes,
+ shared_ptr[Cpp_RandomNumberGenerator] rng) except +
+
+ pair[pair[Cpp_ParticleID, Cpp_Particle], bool] new_particle(Cpp_Particle& p)
+ pair[pair[Cpp_ParticleID, Cpp_Particle], bool] new_particle(Cpp_Species& sp, Cpp_Real3& pos)
+ void set_t(Real t)
+ Real t()
+ Cpp_Real3& edge_lengths()
+ Cpp_Real3 actual_lengths()
+ Real get_value(Cpp_Species&)
+ Real get_value_exact(Cpp_Species&)
+ vector[Cpp_Species] list_species()
+ Integer num_particles()
+ Integer num_particles(Cpp_Species& sp)
+ Integer num_particles_exact(Cpp_Species& sp)
+ vector[pair[Cpp_ParticleID, Cpp_Particle]] list_particles()
+ vector[pair[Cpp_ParticleID, Cpp_Particle]] list_particles(Cpp_Species& sp)
+ vector[pair[Cpp_ParticleID, Cpp_Particle]] list_particles_exact(Cpp_Species& sp)
+ bool has_particle(Cpp_ParticleID& pid)
+ bool update_particle(Cpp_ParticleID& pid, Cpp_Particle& p)
+ pair[Cpp_ParticleID, Cpp_Particle] get_particle(Cpp_ParticleID& pid)
+ void remove_particle(Cpp_ParticleID& pid)
+ vector[pair[pair[Cpp_ParticleID, Cpp_Particle], Real]] list_particles_within_radius(Cpp_Real3& pos, Real& radius)
+ vector[pair[pair[Cpp_ParticleID, Cpp_Particle], Real]] list_particles_within_radius(Cpp_Real3& pos, Real& radius, Cpp_ParticleID& ignore)
+ vector[pair[pair[Cpp_ParticleID, Cpp_Particle], Real]] list_particles_within_radius(Cpp_Real3& pos, Real& radius, Cpp_ParticleID& ignore1, Cpp_ParticleID& ignore2)
+ Cpp_Real3 periodic_transpose(Cpp_Real3& pos1, Cpp_Real3& pos2)
+ Cpp_Real3 apply_boundary(Cpp_Real3& pos)
+ Real distance_sq(Cpp_Real3& pos1, Cpp_Real3& pos2)
+ Real distance(Cpp_Real3& pos1, Cpp_Real3& pos2)
+ Real volume()
+ # bool has_species(Cpp_Species& sp)
+ Integer num_molecules(Cpp_Species& sp)
+ Integer num_molecules_exact(Cpp_Species& sp)
+ void add_molecules(Cpp_Species& sp, Integer num)
+ void add_molecules(Cpp_Species& sp, Integer num, shared_ptr[Cpp_Shape])
+ void remove_molecules(Cpp_Species& sp, Integer num)
+ void save(string filename) except +
+ void load(string filename)
+ void bind_to(shared_ptr[Cpp_Model])
+ shared_ptr[Cpp_RandomNumberGenerator] rng()
+
+## BDWorld
+# a python wrapper for Cpp_BDWorld
+cdef class BDWorld:
+ cdef shared_ptr[Cpp_BDWorld]* thisptr
+
+cdef BDWorld BDWorld_from_Cpp_BDWorld(shared_ptr[Cpp_BDWorld] m)
+
+## Cpp_BDSimulator
+# ecell4::bd::BDSimulator
+cdef extern from "ecell4/bd/BDSimulator.hpp" namespace "ecell4::bd":
+ cdef cppclass Cpp_BDSimulator "ecell4::bd::BDSimulator":
+ # Cpp_BDSimulator(
+ # shared_ptr[Cpp_NetworkModel], shared_ptr[Cpp_BDWorld],
+ # Integer dissociation_retry_moves) except +
+ Cpp_BDSimulator(
+ shared_ptr[Cpp_Model], shared_ptr[Cpp_BDWorld]) except +
+ Cpp_BDSimulator(
+ shared_ptr[Cpp_BDWorld]) except +
+ Cpp_BDSimulator(
+ shared_ptr[Cpp_Model], shared_ptr[Cpp_BDWorld], Real) except +
+ Cpp_BDSimulator(
+ shared_ptr[Cpp_BDWorld], Real) except +
+ Integer num_steps()
+ void step() except +
+ bool step(Real& upto) except +
+ Real t()
+ Real dt()
+ void set_t(Real& t)
+ void set_dt(Real& dt)
+ vector[pair[Cpp_ReactionRule, Cpp_ReactionInfo]] last_reactions()
+ bool check_reaction()
+ Real next_time()
+ void initialize()
+ shared_ptr[Cpp_Model] model()
+ shared_ptr[Cpp_BDWorld] world()
+ void run(Real) except +
+ void run(Real, shared_ptr[Cpp_Observer]) except +
+ void run(Real, vector[shared_ptr[Cpp_Observer]]) except +
+
+## BDSimulator
+# a python wrapper for Cpp_BDSimulator
+cdef class BDSimulator:
+ cdef Cpp_BDSimulator* thisptr
+
+cdef BDSimulator BDSimulator_from_Cpp_BDSimulator(Cpp_BDSimulator* s)
+
+## Cpp_BDFactory
+# ecell4::bd::BDFactory
+cdef extern from "ecell4/bd/BDFactory.hpp" namespace "ecell4::bd":
+ cdef cppclass Cpp_BDFactory "ecell4::bd::BDFactory":
+ Cpp_BDFactory(Cpp_Integer3&, Real) except +
+ Cpp_BDWorld* create_world()
+ Cpp_BDWorld* create_world(string)
+ Cpp_BDWorld* create_world(Cpp_Real3&)
+ Cpp_BDWorld* create_world(shared_ptr[Cpp_Model])
+ Cpp_BDSimulator* create_simulator(shared_ptr[Cpp_Model], shared_ptr[Cpp_BDWorld])
+ Cpp_BDSimulator* create_simulator(shared_ptr[Cpp_BDWorld])
+ Cpp_BDFactory* rng_ptr(shared_ptr[Cpp_RandomNumberGenerator]&)
+ @staticmethod
+ Cpp_Integer3 default_matrix_sizes()
+ @staticmethod
+ Real default_bd_dt_factor()
+
+## BDFactory
+# a python wrapper for Cpp_BDFactory
+cdef class BDFactory:
+ cdef Cpp_BDFactory* thisptr
diff --git a/python/lib/ecell4/bd.pyx b/python/lib/ecell4/bd.pyx
new file mode 100644
index 0000000..c392f86
--- /dev/null
+++ b/python/lib/ecell4/bd.pyx
@@ -0,0 +1,988 @@
+import collections
+from cython.operator cimport dereference as deref, preincrement as inc
+from cython cimport address
+from libcpp.string cimport string
+from libcpp.vector cimport vector
+
+from ecell4.types cimport *
+from ecell4.shared_ptr cimport shared_ptr
+from ecell4.core cimport *
+
+
+## ReactionInfo
+cdef class ReactionInfo:
+ """A class stores detailed information about a reaction in bd.
+
+ ReactionInfo(t, reactants, products)
+
+ """
+
+ def __init__(self, Real t, reactants, products):
+ """Constructor.
+
+ Args:
+ t (Real): A time when a reaction occurred
+ reactants (list): A list of reactants.
+ Reactants are given as a pair of ``ParticleID`` and ``Particle``.
+ products (list): A list of products.
+ Products are given as a pair of ``ParticleID`` and ``Particle``.
+
+ """
+ pass #XXX: only used for doc string
+
+ def __cinit__(self, Real t, reactants, products):
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]] reactants_
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]] products_
+
+ for pid, p in reactants:
+ reactants_.push_back(
+ pair[Cpp_ParticleID, Cpp_Particle](
+ deref((<ParticleID>pid).thisptr), deref((<Particle>p).thisptr)))
+ for pid, p in products:
+ products_.push_back(
+ pair[Cpp_ParticleID, Cpp_Particle](
+ deref((<ParticleID>pid).thisptr), deref((<Particle>p).thisptr)))
+
+ self.thisptr = new Cpp_ReactionInfo(t, reactants_, products_)
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def t(self):
+ """Return a time when a reaction occurred."""
+ return self.thisptr.t()
+
+ def reactants(self):
+ """Return a list of reactants
+
+ Returns:
+ list: A list of pairs of ``ParticleID`` and ``Particle``.
+
+ """
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]] particles
+ particles = self.thisptr.reactants()
+
+ retval = []
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]].iterator \
+ it = particles.begin()
+ while it != particles.end():
+ retval.append(
+ (ParticleID_from_Cpp_ParticleID(
+ <Cpp_ParticleID*>(address(deref(it).first))),
+ Particle_from_Cpp_Particle(
+ <Cpp_Particle*>(address(deref(it).second)))))
+ inc(it)
+ return retval
+
+ def products(self):
+ """Return a list of products
+
+ Returns:
+ list: A list of pairs of ``ParticleID`` and ``Particle``.
+
+ """
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]] particles
+ particles = self.thisptr.products()
+
+ retval = []
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]].iterator \
+ it = particles.begin()
+ while it != particles.end():
+ retval.append(
+ (ParticleID_from_Cpp_ParticleID(
+ <Cpp_ParticleID*>(address(deref(it).first))),
+ Particle_from_Cpp_Particle(
+ <Cpp_Particle*>(address(deref(it).second)))))
+ inc(it)
+ return retval
+
+ def __reduce__(self):
+ return (ReactionInfo, (self.t(), self.reactants(), self.products()))
+
+cdef ReactionInfo ReactionInfo_from_Cpp_ReactionInfo(Cpp_ReactionInfo* ri):
+ cdef Cpp_ReactionInfo *new_obj = new Cpp_ReactionInfo(<Cpp_ReactionInfo> deref(ri))
+ r = ReactionInfo(0, [], [])
+ del r.thisptr
+ r.thisptr = new_obj
+ return r
+
+## BDWorld
+# a python wrapper for Cpp_BDWorld
+cdef class BDWorld:
+ """A class containing the properties of the bd world.
+
+ BDWorld(edge_lengths=None, matrix_sizes=None, GSLRandomNumberGenerator rng=None)
+
+ """
+
+ def __init__(self, edge_lengths = None, Integer3 matrix_sizes = None,
+ GSLRandomNumberGenerator rng = None):
+ """Constructor.
+
+ Parameters
+ ----------
+ edge_lengths : Real3, optional
+ A size of the World.
+ matrix_sizes : Integer3, optional
+ A size of a cell matrix.
+ The number of cells must be larger than 3, in principle.
+ rng : GSLRandomNumberGenerator, optional
+ A random number generator.
+
+ """
+ pass
+
+ def __cinit__(self, edge_lengths=None, Integer3 matrix_sizes=None,
+ GSLRandomNumberGenerator rng=None):
+ cdef string filename
+
+ if edge_lengths is None:
+ self.thisptr = new shared_ptr[Cpp_BDWorld](new Cpp_BDWorld())
+ elif matrix_sizes is None:
+ if isinstance(edge_lengths, Real3):
+ self.thisptr = new shared_ptr[Cpp_BDWorld](
+ new Cpp_BDWorld(deref((<Real3>edge_lengths).thisptr)))
+ else:
+ filename = tostring(edge_lengths)
+ self.thisptr = new shared_ptr[Cpp_BDWorld](new Cpp_BDWorld(filename))
+ elif rng is None:
+ self.thisptr = new shared_ptr[Cpp_BDWorld](
+ new Cpp_BDWorld(deref((<Real3>edge_lengths).thisptr),
+ deref(matrix_sizes.thisptr)))
+ else:
+ self.thisptr = new shared_ptr[Cpp_BDWorld](
+ new Cpp_BDWorld(deref((<Real3>edge_lengths).thisptr),
+ deref(matrix_sizes.thisptr), deref(rng.thisptr)))
+
+ def __dealloc__(self):
+ # XXX: Here, we release shared pointer,
+ # and if reference count to the BDWorld object,
+ # it will be released automatically.
+ del self.thisptr
+
+ def new_particle(self, arg1, Real3 arg2=None):
+ """new_particle(arg1, arg2=None) -> (ParticleID, Particle)
+
+ Create a new particle.
+
+ Parameters
+ ----------
+ arg1 : Particle
+ A particle to be placed.
+
+ or
+
+ arg1 : Species
+ A species of a particle
+ arg2 : Real3
+ A position to place a particle
+
+ Returns
+ -------
+ tuple:
+ A pair of ParticleID and Particle of a new particle
+
+ """
+ cdef pair[pair[Cpp_ParticleID, Cpp_Particle], bool] retval
+
+ if arg2 is None:
+ retval = self.thisptr.get().new_particle(deref((<Particle> arg1).thisptr))
+ else:
+ retval = self.thisptr.get().new_particle(deref((<Species> arg1).thisptr), deref(arg2.thisptr))
+ return ((ParticleID_from_Cpp_ParticleID(address(retval.first.first)), Particle_from_Cpp_Particle(address(retval.first.second))), retval.second)
+
+ def set_t(self, Real t):
+ """set_t(t)
+
+ Set the value of the time of the world.
+
+ Parameters
+ ----------
+ t : Real
+ The time of the world
+
+ """
+ self.thisptr.get().set_t(t)
+
+ def t(self):
+ """Return the time of the world."""
+ return self.thisptr.get().t()
+
+ def edge_lengths(self):
+ """edge_lengths() -> Real3
+
+ Return the edge lengths of the world.
+
+ """
+ cdef Cpp_Real3 lengths = self.thisptr.get().edge_lengths()
+ return Real3_from_Cpp_Real3(address(lengths))
+
+ def actual_lengths(self):
+ """actual_lengths() -> Real3
+
+ Return the actual edge lengths of the world.
+ Same as ``edge_lengths``.
+ """
+ cdef Cpp_Real3 lengths = self.thisptr.get().actual_lengths()
+ return Real3_from_Cpp_Real3(address(lengths))
+
+ def list_species(self):
+ """Return a list of species."""
+ cdef vector[Cpp_Species] species = self.thisptr.get().list_species()
+
+ retval = []
+ cdef vector[Cpp_Species].iterator it = species.begin()
+ while it != species.end():
+ retval.append(
+ Species_from_Cpp_Species(
+ <Cpp_Species*>(address(deref(it)))))
+ inc(it)
+ return retval
+
+ def num_particles(self, Species sp = None):
+ """num_particles(sp=None) -> Integer
+
+ Return the number of particles.
+
+ Parameters
+ ----------
+ sp : Species, optional
+ The species of particles to count
+ If no species is given, return the total number of particles.
+
+ Returns
+ -------
+ Integer:
+ The number of particles (of the given species)
+
+ """
+ if sp is None:
+ return self.thisptr.get().num_particles()
+ else:
+ return self.thisptr.get().num_particles(deref(sp.thisptr))
+
+ def num_particles_exact(self, Species sp):
+ """num_particles_exact(sp) -> Integer
+
+ Return the number of particles of a given species.
+
+ Parameters
+ ----------
+ sp : Species
+ The species of particles to count
+
+ Returns
+ -------
+ Integer:
+ The number of particles of a given species
+
+ """
+ return self.thisptr.get().num_particles_exact(deref(sp.thisptr))
+
+ def list_particles(self, Species sp = None):
+ """list_particles(sp) -> [(ParticleID, Particle)]
+
+ Return the list of particles.
+
+ Parameters
+ ----------
+ sp : Species, optional
+ The species of particles to list up
+ If no species is given, return the whole list of particles.
+
+ Returns
+ -------
+ list:
+ The list of particles (of the given species)
+
+ """
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]] particles
+ if sp is None:
+ particles = self.thisptr.get().list_particles()
+ else:
+ particles = self.thisptr.get().list_particles(deref(sp.thisptr))
+
+ retval = []
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]].iterator \
+ it = particles.begin()
+ while it != particles.end():
+ retval.append(
+ (ParticleID_from_Cpp_ParticleID(
+ <Cpp_ParticleID*>(address(deref(it).first))),
+ Particle_from_Cpp_Particle(
+ <Cpp_Particle*>(address(deref(it).second)))))
+ inc(it)
+ return retval
+
+ def list_particles_exact(self, Species sp):
+ """list_particles_exact(sp) -> [(ParticleID, Particle)]
+
+ Return the list of particles of a given species.
+
+ Parameters
+ ----------
+ sp : Species
+ The species of particles to list up
+
+ Returns
+ -------
+ list:
+ The list of particles of a given species
+
+ """
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]] particles
+ particles = self.thisptr.get().list_particles(deref(sp.thisptr))
+
+ retval = []
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]].iterator \
+ it = particles.begin()
+ while it != particles.end():
+ retval.append(
+ (ParticleID_from_Cpp_ParticleID(
+ <Cpp_ParticleID*>(address(deref(it).first))),
+ Particle_from_Cpp_Particle(
+ <Cpp_Particle*>(address(deref(it).second)))))
+ inc(it)
+ return retval
+
+ def has_particle(self, ParticleID pid):
+ """has_particle(pid) -> bool
+
+ Check if a particle associated with a given particle id exists.
+
+ Parameters
+ ----------
+ pid : ParticleID
+ A particle id to check
+
+ Returns
+ -------
+ bool:
+ If a particle exists, return True. Otherwise return False
+
+ """
+ return self.thisptr.get().has_particle(deref(pid.thisptr))
+
+ def update_particle(self, ParticleID pid, Particle p):
+ """update_particle(pid, p) -> bool
+
+ Update a particle.
+
+ Parameters
+ ----------
+ pid : ParticleID
+ A particle id of the particle to update
+ p : Particle
+ The information to update a particle
+
+ Returns
+ -------
+ bool:
+ True if a new particle was created.
+
+ """
+ return self.thisptr.get().update_particle(deref(pid.thisptr), deref(p.thisptr))
+
+ def get_particle(self, ParticleID pid):
+ """get_particle(pid) -> (ParticleID, Particle)
+
+ Return the particle associated a given ParticleID.
+
+ Parameters
+ ----------
+ pid : ParticleID
+ An id of the particle you want
+
+ Returns
+ -------
+ tuple:
+ A pair of ParticleID and Particle
+
+ """
+ cdef pair[Cpp_ParticleID, Cpp_Particle] \
+ pid_particle_pair = self.thisptr.get().get_particle(deref(pid.thisptr))
+ return (ParticleID_from_Cpp_ParticleID(address(pid_particle_pair.first)),
+ Particle_from_Cpp_Particle(address(pid_particle_pair.second)))
+
+ def remove_particle(self, ParticleID pid):
+ """remove_particle(pid)
+
+ Remove the particle associated with a given ParticleID.
+
+ Parameters
+ ----------
+ pid : ParticleID
+ An id of particle to remove
+
+ """
+ self.thisptr.get().remove_particle(deref(pid.thisptr))
+
+ def list_particles_within_radius(
+ self, Real3 pos, Real radius,
+ ParticleID ignore1 = None, ParticleID ignore2 = None):
+ """list_particles_within_radius(pos, radius, ignore1=None, ignore2=None) -> [((ParticleID, Particle), Real)]
+
+ Returns a list of pairs of a particle and distance within the given sphere.
+ The region is specified with a center position and radius.
+ ignore1 and ignore2 will be removed from the list.
+
+ Parameters
+ ----------
+ pos : Real3
+ A center position.
+ radius : Real
+ A radius.
+ ignore1 : ParticleID, optional
+ An id ignored.
+ ignore2 : ParticleID, optional
+ An id ignored.
+
+ Returns
+ -------
+ list:
+ A list of pairs of a particle and its distance from the center position.
+
+ """
+ cdef vector[pair[pair[Cpp_ParticleID, Cpp_Particle], Real]] particles
+ if ignore1 is None and ignore2 is None:
+ particles = self.thisptr.get().list_particles_within_radius(
+ deref(pos.thisptr), radius)
+ elif ignore2 is None:
+ particles = self.thisptr.get().list_particles_within_radius(
+ deref(pos.thisptr), radius, deref(ignore1.thisptr))
+ else:
+ particles = self.thisptr.get().list_particles_within_radius(
+ deref(pos.thisptr), radius,
+ deref(ignore1.thisptr), deref(ignore2.thisptr))
+
+ retval = []
+ cdef vector[pair[pair[Cpp_ParticleID, Cpp_Particle], Real]].iterator \
+ it = particles.begin()
+ while it != particles.end():
+ retval.append(
+ ((ParticleID_from_Cpp_ParticleID(
+ <Cpp_ParticleID*>(address(deref(it).first.first))),
+ Particle_from_Cpp_Particle(
+ <Cpp_Particle*>(address(deref(it).first.second)))),
+ deref(it).second))
+ inc(it)
+ return retval
+
+ def periodic_transpose(self, Real3 pos1, Real3 pos2):
+ """periodic_transpose(Real3 pos1, Real3 pos2) -> Real3
+
+ Return a closest image of pos1 relative to the given position (pos2).
+
+ """
+ cdef Cpp_Real3 newpos = self.thisptr.get().periodic_transpose(
+ deref(pos1.thisptr), deref(pos2.thisptr))
+ return Real3_from_Cpp_Real3(address(newpos))
+
+ def apply_boundary(self, Real3 pos):
+ """apply_boundary(Real3 pos) -> Real3
+
+ Return a position within the world by applying periodic boundaries
+ to the given position.
+
+ """
+ cdef Cpp_Real3 newpos = self.thisptr.get().apply_boundary(deref(pos.thisptr))
+ return Real3_from_Cpp_Real3(address(newpos))
+
+ def distance_sq(self, Real3 pos1, Real3 pos2):
+ """distance_sq(Real3 pos1, Real3 pos2) -> Real
+
+ Return a square of the closest distance between the given positions.
+
+ """
+ return self.thisptr.get().distance_sq(deref(pos1.thisptr), deref(pos2.thisptr))
+
+ def distance(self, Real3 pos1, Real3 pos2):
+ """distance(Real3 pos1, Real3 pos2) -> Real
+
+ Return the closest distance between the given positions.
+
+ """
+ return self.thisptr.get().distance(deref(pos1.thisptr), deref(pos2.thisptr))
+
+ def volume(self):
+ """Return the volume of the world."""
+ return self.thisptr.get().volume()
+
+ # def has_species(self, Species sp):
+ # """has_species(sp) -> bool
+ #
+ # Check if the given species is in the space or not.
+ #
+ # Args:
+ # sp (Species): A species to be found.
+ #
+ # Returns:
+ # bool: True if the species in the space.
+ #
+ # """
+ # return self.thisptr.get().has_species(deref(sp.thisptr))
+
+ def get_value(self, Species sp):
+ """get_value(sp) -> Real
+
+ Return the value (number) corresponding the given Species.
+
+ Parameters
+ ----------
+ sp : Species
+ a species whose value you require
+
+ Returns
+ -------
+ Real:
+ the value
+
+ """
+ return self.thisptr.get().get_value(deref(sp.thisptr))
+
+ def get_value_exact(self, Species sp):
+ """get_value_exact(sp) -> Real
+
+ Return the value (number) corresponding the given Species.
+
+ Parameters
+ ----------
+ sp : Species
+ a species whose value you require
+
+ Returns
+ -------
+ Real:
+ the value
+
+ """
+ return self.thisptr.get().get_value_exact(deref(sp.thisptr))
+
+ def num_molecules(self, Species sp):
+ """num_molecules(sp) -> Integer
+
+ Return the number of molecules.
+
+ Parameters
+ ----------
+ sp : Species
+ A species whose molecules you count
+
+ Returns
+ -------
+ Integer:
+ The number of molecules (of a given species)
+
+ """
+ # if sp is None:
+ # return self.thisptr.get().num_molecules()
+ # else:
+ # return self.thisptr.get().num_molecules(deref(sp.thisptr))
+ return self.thisptr.get().num_molecules(deref(sp.thisptr))
+
+ def num_molecules_exact(self, Species sp):
+ """num_molecules_exact(sp) -> Integer
+
+ Return the number of molecules of a given species.
+
+ Parameters
+ ----------
+ sp : Species
+ A species whose molecules you count
+
+ Returns
+ -------
+ Integer:
+ The number of molecules of a given species
+
+ """
+ return self.thisptr.get().num_molecules_exact(deref(sp.thisptr))
+
+ # def add_species(self, Species sp):
+ # self.thisptr.get().add_species(deref(sp.thisptr))
+
+ # def add_molecules(self, Species sp, Integer num):
+ # self.thisptr.get().add_molecules(deref(sp.thisptr), num)
+
+ def add_molecules(self, Species sp, Integer num, shape=None):
+ """add_molecules(sp, num, shape=None)
+
+ Add some molecules.
+
+ Parameters
+ ----------
+ sp : Species
+ a species of molecules to add
+ num : Integer
+ the number of molecules to add
+ shape : Shape, optional
+ a shape to add molecules on [not supported yet]
+
+ """
+ if shape is None:
+ self.thisptr.get().add_molecules(deref(sp.thisptr), num)
+ else:
+ self.thisptr.get().add_molecules(
+ deref(sp.thisptr), num, deref((<Shape>(shape.as_base())).thisptr))
+
+ def remove_molecules(self, Species sp, Integer num):
+ """remove_molecules(sp, num)
+
+ Remove the molecules.
+
+ Parameters
+ ----------
+ sp : Species
+ a species whose molecules to remove
+ num : Integer
+ a number of molecules to be removed
+
+ """
+ self.thisptr.get().remove_molecules(deref(sp.thisptr), num)
+
+ def save(self, filename):
+ """save(filename)
+
+ Save the world to a file.
+
+ Parameters
+ ----------
+ filename : str
+ a filename to save to
+
+ """
+ self.thisptr.get().save(tostring(filename))
+
+ def load(self, filename):
+ """load(filename)
+
+ Load the world from a file.
+
+ Parameters
+ ----------
+ filename : str
+ a filename to load from
+
+ """
+ self.thisptr.get().load(tostring(filename))
+
+ def bind_to(self, m):
+ """bind_to(m)
+
+ Bind a model to the world
+
+ Parameters
+ ----------
+ m : Model
+ a model to bind
+
+ """
+ self.thisptr.get().bind_to(Cpp_Model_from_Model(m))
+
+ def rng(self):
+ """Return a random number generator object."""
+ return GSLRandomNumberGenerator_from_Cpp_RandomNumberGenerator(
+ self.thisptr.get().rng())
+
+ def as_base(self):
+ """Return self as a base class. Only for developmental use."""
+ retval = Space()
+ del retval.thisptr
+ retval.thisptr = new shared_ptr[Cpp_Space](
+ <shared_ptr[Cpp_Space]>deref(self.thisptr))
+ return retval
+
+cdef BDWorld BDWorld_from_Cpp_BDWorld(
+ shared_ptr[Cpp_BDWorld] w):
+ r = BDWorld(Real3(1, 1, 1))
+ r.thisptr.swap(w)
+ return r
+
+## BDSimulator
+# a python wrapper for Cpp_BDSimulator
+cdef class BDSimulator:
+ """ A class running the simulation with the bd algorithm.
+
+ BDSimulator(m, w, bd_dt_factor)
+
+ """
+
+ def __init__(self, m, BDWorld w=None, bd_dt_factor=None):
+ """BDSimulator(m, w, bd_dt_factor)
+ BDSimulator(w, bd_dt_factor)
+
+ Constructor.
+
+ Parameters
+ ----------
+ m : Model
+ A model
+ w : BDWorld
+ A world
+ bd_dt_factor : Real
+
+ """
+ pass
+
+ def __cinit__(self, m, BDWorld w=None, bd_dt_factor=None):
+ if w is None:
+ if bd_dt_factor is None:
+ self.thisptr = new Cpp_BDSimulator(
+ deref((<BDWorld>m).thisptr))
+ else:
+ self.thisptr = new Cpp_BDSimulator(
+ deref((<BDWorld>m).thisptr), <Real>bd_dt_factor)
+ else:
+ if bd_dt_factor is None:
+ self.thisptr = new Cpp_BDSimulator(
+ Cpp_Model_from_Model(m), deref(w.thisptr))
+ else:
+ self.thisptr = new Cpp_BDSimulator(
+ Cpp_Model_from_Model(m), deref(w.thisptr),
+ <Real>bd_dt_factor)
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def num_steps(self):
+ """Return the number of steps."""
+ return self.thisptr.num_steps()
+
+ def step(self, upto = None):
+ """step(upto=None) -> bool
+
+ Step the simulation.
+
+ Parameters
+ ----------
+ upto : Real, optional
+ the time which to step the simulation up to
+
+ Returns
+ -------
+ bool:
+ True if the simulation did not reach the given time.
+ When upto is not given, nothing will be returned.
+
+ """
+ if upto is None:
+ self.thisptr.step()
+ else:
+ return self.thisptr.step(upto)
+
+ def t(self):
+ """Return the time."""
+ return self.thisptr.t()
+
+ def set_t(self, Real t_new):
+ """set_t(t)
+
+ Set the current time.
+
+ Parameters
+ ----------
+ t : Real
+ a current time.
+
+ """
+ self.thisptr.set_t(t_new)
+
+ def dt(self):
+ """Return the step interval."""
+ return self.thisptr.dt()
+
+ def set_dt(self, Real& dt):
+ """set_dt(dt)
+
+ Set a step interval.
+
+ Parameters
+ ----------
+ dt : Real
+ a step interval
+
+ """
+ self.thisptr.set_dt(dt)
+
+ def next_time(self):
+ """Return the scheduled time for the next step."""
+ return self.thisptr.next_time()
+
+ def initialize(self):
+ """Initialize the simulator."""
+ self.thisptr.initialize()
+
+ def check_reaction(self):
+ """Return if any reaction occurred at the last step, or not."""
+ return self.thisptr.check_reaction()
+
+ def last_reactions(self):
+ """last_reactions() -> [(ReactionRule, ReactionInfo)]
+
+ Return reactions occuring at the last step.
+
+ Returns
+ -------
+ list:
+ the list of reaction rules and infos.
+
+ """
+ cdef vector[pair[Cpp_ReactionRule, Cpp_ReactionInfo]] reactions = self.thisptr.last_reactions()
+ cdef vector[pair[Cpp_ReactionRule, Cpp_ReactionInfo]].iterator it = reactions.begin()
+ retval = []
+ while it != reactions.end():
+ retval.append((
+ ReactionRule_from_Cpp_ReactionRule(
+ <Cpp_ReactionRule*>(address(deref(it).first))),
+ ReactionInfo_from_Cpp_ReactionInfo(
+ <Cpp_ReactionInfo*>(address(deref(it).second)))))
+ inc(it)
+ return retval
+
+ def model(self):
+ """Return the model bound."""
+ return Model_from_Cpp_Model(self.thisptr.model())
+
+ def world(self):
+ """Return the world bound."""
+ return BDWorld_from_Cpp_BDWorld(self.thisptr.world())
+
+ def run(self, Real duration, observers=None):
+ """run(duration, observers)
+
+ Run the simulation.
+
+ Parameters
+ ----------
+ duration : Real
+ a duration for running a simulation.
+ A simulation is expected to be stopped at ``t() + duration``.
+ observers : list of Obeservers, optional
+ observers
+
+ """
+ cdef vector[shared_ptr[Cpp_Observer]] tmp
+
+ if observers is None:
+ self.thisptr.run(duration)
+ elif isinstance(observers, collections.Iterable):
+ for obs in observers:
+ tmp.push_back(deref((<Observer>(obs.as_base())).thisptr))
+ self.thisptr.run(duration, tmp)
+ else:
+ self.thisptr.run(duration,
+ deref((<Observer>(observers.as_base())).thisptr))
+
+cdef BDSimulator BDSimulator_from_Cpp_BDSimulator(Cpp_BDSimulator* s):
+ r = BDSimulator(
+ Model_from_Cpp_Model(s.model()), BDWorld_from_Cpp_BDWorld(s.world()))
+ del r.thisptr
+ r.thisptr = s
+ return r
+
+## BDFactory
+# a python wrapper for Cpp_BDFactory
+cdef class BDFactory:
+ """ A factory class creating a BDWorld instance and a BDSimulator instance.
+
+ BDFactory(Integer3 matrix_sizes=None, Real bd_dt_factor=None)
+
+ """
+
+ def __init__(self, Integer3 matrix_sizes=None, bd_dt_factor=None):
+ """Constructor.
+
+ Parameters
+ ----------
+ matrix_sizes : Integer3, optional
+ A size of a cell matrix.
+ The number of cells must be larger than 3, in principle.
+ bd_dt_factor : Real
+
+ """
+ pass
+
+ def __cinit__(self, Integer3 matrix_sizes=None, bd_dt_factor=None):
+ self.thisptr = new Cpp_BDFactory(
+ Cpp_BDFactory.default_matrix_sizes() if matrix_sizes is None else deref(matrix_sizes.thisptr),
+ Cpp_BDFactory.default_bd_dt_factor() if bd_dt_factor is None else <Real>bd_dt_factor)
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def rng(self, GSLRandomNumberGenerator rng):
+ """rng(GSLRandomNumberGenerator) -> BDFactory
+
+ Set a random number generator, and return self.
+
+ """
+ cdef Cpp_BDFactory *ptr = self.thisptr.rng_ptr(deref(rng.thisptr))
+ assert ptr == self.thisptr
+ return self
+
+ def create_world(self, arg1=None):
+ """create_world(arg1=None) -> BDWorld
+
+ Return a ``BDWorld`` instance.
+
+ Parameters
+ ----------
+ arg1 : Real3
+ The lengths of edges of a ``BDWorld`` created
+
+ or
+
+ arg1 : str
+ The path of a HDF5 file for ``BDWorld``
+
+ Returns
+ -------
+ BDWorld:
+ The created world
+
+ """
+ if arg1 is None:
+ return BDWorld_from_Cpp_BDWorld(
+ shared_ptr[Cpp_BDWorld](self.thisptr.create_world()))
+ elif isinstance(arg1, Real3):
+ return BDWorld_from_Cpp_BDWorld(
+ shared_ptr[Cpp_BDWorld](
+ self.thisptr.create_world(deref((<Real3>arg1).thisptr))))
+ elif isinstance(arg1, str):
+ return BDWorld_from_Cpp_BDWorld(
+ shared_ptr[Cpp_BDWorld](self.thisptr.create_world(<string>(arg1))))
+ else:
+ return BDWorld_from_Cpp_BDWorld(
+ shared_ptr[Cpp_BDWorld](self.thisptr.create_world(
+ Cpp_Model_from_Model(arg1))))
+
+ def create_simulator(self, arg1, BDWorld arg2=None):
+ """create_simulator(arg1, arg2=None) -> BDSimulator
+
+ Return a ``BDSimulator`` instance.
+
+ Parameters
+ ----------
+ arg1 : BDWorld
+ A world
+
+ or
+
+ arg1 : Model
+ A simulation model
+ arg2 : BDWorld
+ A world
+
+ Returns
+ -------
+ BDSimulator:
+ The created simulator
+
+ """
+ if arg2 is None:
+ return BDSimulator_from_Cpp_BDSimulator(
+ self.thisptr.create_simulator(deref((<BDWorld>arg1).thisptr)))
+ else:
+ return BDSimulator_from_Cpp_BDSimulator(
+ self.thisptr.create_simulator(
+ Cpp_Model_from_Model(arg1), deref(arg2.thisptr)))
diff --git a/python/lib/ecell4/context.pxd b/python/lib/ecell4/context.pxd
new file mode 100644
index 0000000..2cf69f4
--- /dev/null
+++ b/python/lib/ecell4/context.pxd
@@ -0,0 +1,18 @@
+from libcpp cimport bool
+from libcpp.vector cimport vector
+from libcpp.string cimport string
+
+from types cimport Integer
+from core cimport Cpp_Species, Cpp_ReactionRule
+
+
+cdef extern from "ecell4/core/Species.hpp" namespace "ecell4":
+ Cpp_Species format_species(Cpp_Species&)
+ string unique_serial(Cpp_Species&)
+
+cdef extern from "ecell4/core/Context.hpp" namespace "ecell4":
+ bool spmatch(Cpp_Species, Cpp_Species)
+ Integer count_spmatches(Cpp_Species, Cpp_Species)
+ # bool rrmatch(Cpp_ReactionRule, vector[Cpp_Species])
+ # Integer count_rrmatches(Cpp_ReactionRule, vector[Cpp_Species])
+ # vector[vector[Cpp_Species]] rrgenerate(Cpp_ReactionRule, vector[Cpp_Species])
diff --git a/python/lib/ecell4/core.pxd b/python/lib/ecell4/core.pxd
new file mode 100644
index 0000000..f5028e9
--- /dev/null
+++ b/python/lib/ecell4/core.pxd
@@ -0,0 +1,829 @@
+from libcpp.string cimport string
+from libcpp cimport bool
+
+# XXX Tomplorary using cython stl support.
+# Perhaps, we should consider importing std::pair by ourselves
+# that don't cast c-objects into python objects automatically.
+from libcpp.pair cimport pair
+from libcpp.vector cimport vector
+from libcpp.map cimport map
+
+from types cimport Real, Integer
+from multiset cimport multiset
+from shared_ptr cimport shared_ptr
+
+
+cdef string tostring(ustr)
+
+cdef extern from "gsl/gsl_rng.h":
+ ctypedef struct gsl_rng:
+ pass
+
+## Cpp_GSLRandomNumberGenerator
+# ecell4::GSLRandomNumberGenerator
+cdef extern from "ecell4/core/RandomNumberGenerator.hpp" namespace "ecell4":
+ cdef cppclass Cpp_RandomNumberGenerator "ecell4::RandomNumberGenerator":
+ # RandomNumberGenerator(shared_ptr[gsl_rng]) except +
+ # Cpp_RandomNumberGenerator() except +
+ Real random()
+ Real uniform(Real, Real)
+ Integer uniform_int(Integer, Integer)
+ Real gaussian(Real, Real)
+ Real gaussian(Real)
+ Integer binomial(Real, Integer)
+ void seed(Integer)
+ void seed()
+ void save(string) except +
+ void load(string) except +
+
+ cdef cppclass Cpp_GSLRandomNumberGenerator "ecell4::GSLRandomNumberGenerator":
+ # GSLRandomNumberGenerator(shared_ptr[gsl_rng]) except +
+ Cpp_GSLRandomNumberGenerator() except +
+ Cpp_GSLRandomNumberGenerator(Integer) except +
+ Cpp_GSLRandomNumberGenerator(string) except +
+ Real uniform(Real, Real)
+ Integer uniform_int(Integer, Integer)
+ Real gaussian(Real, Real)
+ Real gaussian(Real)
+ void seed(Integer)
+ void seed()
+ void save(string) except +
+ void load(string) except +
+
+## RandomNumberGenerator
+# a python wrapper for Cpp_GSLRandomNumberGenerator
+cdef class GSLRandomNumberGenerator:
+ # cdef Cpp_GSLRandomNumberGenerator* thisptr
+ # cdef shared_ptr[Cpp_GSLRandomNumberGenerator]* thisptr
+ cdef shared_ptr[Cpp_RandomNumberGenerator]* thisptr
+
+cdef GSLRandomNumberGenerator GSLRandomNumberGenerator_from_Cpp_RandomNumberGenerator(
+ shared_ptr[Cpp_RandomNumberGenerator])
+
+## Cpp_UnitSpecies
+# ecell4::UnitSpecies
+cdef extern from "ecell4/core/UnitSpecies.hpp" namespace "ecell4":
+ cdef cppclass Cpp_UnitSpecies "ecell4::UnitSpecies":
+ Cpp_UnitSpecies() except +
+ Cpp_UnitSpecies(string) except +
+ Cpp_UnitSpecies(Cpp_UnitSpecies&) except+
+ bool operator==(Cpp_UnitSpecies& rhs)
+ bool operator<(Cpp_UnitSpecies& rhs)
+ bool operator>(Cpp_UnitSpecies& rhs)
+ string serial()
+ string name()
+ void deserialize(string) except+
+ bool add_site(string, string, string)
+
+## UnitSpecies
+# a python wrapper for Cpp_UnitSpecies
+cdef class UnitSpecies:
+ cdef Cpp_UnitSpecies* thisptr
+
+cdef UnitSpecies UnitSpecies_from_Cpp_UnitSpecies(Cpp_UnitSpecies *sp)
+
+## Cpp_Species
+# ecell4::Species
+cdef extern from "ecell4/core/Species.hpp" namespace "ecell4":
+ cdef cppclass Cpp_Species "ecell4::Species":
+ Cpp_Species() except +
+ Cpp_Species(string) except +
+ # Cpp_Species(string, string) except +
+ Cpp_Species(string, string, string) except +
+ Cpp_Species(string, string, string, string) except +
+ Cpp_Species(Cpp_Species&) except+
+ bool operator==(Cpp_Species& rhs)
+ bool operator<(Cpp_Species& rhs)
+ bool operator>(Cpp_Species& rhs)
+ string serial() # string == serial_type
+ string get_attribute(string) except +
+ Integer count(Cpp_Species& sp) except +
+ void set_attribute(string, string)
+ void remove_attribute(string) except +
+ bool has_attribute(string)
+ vector[pair[string, string]] list_attributes()
+ void add_unit(Cpp_UnitSpecies)
+ vector[Cpp_UnitSpecies]& units()
+ Cpp_Species* D_ptr(string)
+ Cpp_Species* radius_ptr(string)
+ Cpp_Species* location_ptr(string)
+
+## Species
+# a python wrapper for Cpp_Species
+cdef class Species:
+ cdef Cpp_Species* thisptr
+
+cdef Species Species_from_Cpp_Species(Cpp_Species *sp)
+
+## Cpp_ReactionRule
+# ecell4::ReactionRule
+cdef extern from "ecell4/core/ReactionRule.hpp" namespace "ecell4":
+ cdef enum Cpp_ReactionRulePolicyType "ecell4::ReactionRule::policy_type":
+ Cpp_STRICT "ecell4::ReactionRule::STRICT"
+ Cpp_IMPLICIT "ecell4::ReactionRule::IMPLICIT"
+ Cpp_DESTROY "ecell4::ReactionRule::DESTROY"
+
+cdef extern from "ecell4/core/ReactionRule.hpp" namespace "ecell4":
+ cdef cppclass Cpp_ReactionRule "ecell4::ReactionRule":
+ Cpp_ReactionRule() except +
+ Cpp_ReactionRule(vector[Cpp_Species]&, vector[Cpp_Species]&)
+ Cpp_ReactionRule(vector[Cpp_Species]&, vector[Cpp_Species]&, Real)
+ Cpp_ReactionRule(Cpp_ReactionRule&) except +
+ Real k()
+ vector[Cpp_Species]& reactants()
+ vector[Cpp_Species]& products()
+ # multiset[Cpp_Species]& reactants()
+ # multiset[Cpp_Species]& products()
+ void set_k(Real)
+ void add_reactant(Cpp_Species)
+ void add_product(Cpp_Species)
+ string as_string()
+ Cpp_ReactionRulePolicyType policy()
+ void set_policy(Cpp_ReactionRulePolicyType)
+ Integer count(vector[Cpp_Species]) except +
+ vector[Cpp_ReactionRule] generate(vector[Cpp_Species]) except +
+
+## ReactionRule
+# a python wrapper for Cpp_ReactionRule
+cdef class ReactionRule:
+ cdef Cpp_ReactionRule* thisptr
+
+cdef ReactionRule ReactionRule_from_Cpp_ReactionRule(Cpp_ReactionRule *rr)
+
+## Cpp_Space
+# ecell4::Space
+cdef extern from "ecell4/core/Space.hpp" namespace "ecell4":
+ cdef cppclass Cpp_Space "ecell4::Space":
+ pass
+
+## Space
+# a python wrapper for Cpp_Space
+cdef class Space:
+ cdef shared_ptr[Cpp_Space]* thisptr
+
+## Cpp_CompartmentSpaceVectorImpl
+# ecell4::CompartmentSpaceVectorImpl
+cdef extern from "ecell4/core/CompartmentSpace.hpp" namespace "ecell4":
+ cdef cppclass Cpp_CompartmentSpaceVectorImpl "ecell4::CompartmentSpaceVectorImpl":
+ Cpp_CompartmentSpaceVectorImpl(Cpp_Real3&) except+
+ Real volume()
+ Integer num_molecules(Cpp_Species &sp)
+ vector[Cpp_Species] list_species()
+ void reset(Cpp_Real3&)
+ Cpp_Real3 edge_lengths()
+ void set_volume(Real)
+ void add_molecules(Cpp_Species &sp, Integer num)
+ void remove_molecules(Cpp_Species &sp, Integer num)
+
+## CompartmentSpaceVectorImpl
+# a python wrapper for Cpp_CompartmentSpaceVectorImpl
+cdef class CompartmentSpaceVectorImpl:
+ cdef Cpp_CompartmentSpaceVectorImpl* thisptr
+
+## Cpp_ParticleSpaceVectorImpl
+# ecell4::ParticleSpaceVectorImpl
+cdef extern from "ecell4/core/ParticleSpace.hpp" namespace "ecell4":
+ cdef cppclass Cpp_ParticleSpaceVectorImpl "ecell4::ParticleSpaceVectorImpl":
+ Cpp_ParticleSpaceVectorImpl(Cpp_Real3&) except+
+ Cpp_Real3 edge_lengths()
+ Integer num_particles()
+ Integer num_particles(Cpp_Species&)
+ vector[pair[Cpp_ParticleID, Cpp_Particle]] list_particles()
+ vector[pair[Cpp_ParticleID, Cpp_Particle]] list_particles(Cpp_Species &sp)
+ bool has_particle(Cpp_ParticleID &pid)
+
+ bool update_particle(Cpp_ParticleID, Cpp_Particle)
+ pair[Cpp_ParticleID, Cpp_Particle] get_particle(Cpp_ParticleID &pid)
+ void remove_particle(Cpp_ParticleID &pid)
+ vector[pair[pair[Cpp_ParticleID, Cpp_Particle], Real] ] list_particles_within_radius(
+ Cpp_Real3 &pos, Real &radius)
+ vector[pair[pair[Cpp_ParticleID, Cpp_Particle], Real] ] list_particles_within_radius(
+ Cpp_Real3 &pos, Real &radius, Cpp_ParticleID &ignore)
+ vector[pair[pair[Cpp_ParticleID, Cpp_Particle], Real] ] list_particles_within_radius(
+ Cpp_Real3 &pos, Real &radius, Cpp_ParticleID &ignore1, Cpp_ParticleID &ignore2)
+
+## ParticleSpaceVectorImpl
+# a python wrapper for ParticleSpaceVectorImpl
+cdef class ParticleSpaceVectorImpl:
+ cdef Cpp_ParticleSpaceVectorImpl* thisptr
+
+## Cpp_Model
+# ecell4::Model
+cdef extern from "ecell4/core/Model.hpp" namespace "ecell4":
+ cdef cppclass Cpp_Model "ecell4::Model":
+ Cpp_Model() except +
+ void add_species_attribute(Cpp_Species sp) except +
+ bool has_species_attribute(Cpp_Species sp)
+ void remove_species_attribute(Cpp_Species sp) except +
+ void add_reaction_rule(Cpp_ReactionRule) except +
+ void remove_reaction_rule(Cpp_ReactionRule) except +
+ bool has_reaction_rule(Cpp_ReactionRule)
+ Cpp_Species apply_species_attributes(Cpp_Species& sp)
+ vector[Cpp_ReactionRule] query_reaction_rules(Cpp_Species sp)
+ vector[Cpp_ReactionRule] query_reaction_rules(
+ Cpp_Species sp, Cpp_Species sp)
+ vector[Cpp_Species] list_species()
+ # Cpp_Species create_species(string name)
+ Integer num_reaction_rules()
+ vector[Cpp_Species] species_attributes()
+ vector[Cpp_ReactionRule] reaction_rules()
+
+ void add_species_attributes(vector[Cpp_Species]) except +
+ void add_reaction_rules(vector[Cpp_ReactionRule]) except +
+
+ shared_ptr[Cpp_Model] expand(vector[Cpp_Species]) except +
+ shared_ptr[Cpp_Model] expand(vector[Cpp_Species], Integer) except +
+ shared_ptr[Cpp_Model] expand(vector[Cpp_Species], Integer, map[Cpp_Species, Integer]) except +
+
+## Model
+# a python wrapper for Cpp_Model, but wrapped by shared_ptr
+cdef class Model:
+ # cdef Cpp_Model* thisptr
+ # cdef shared_ptr[Cpp_Model]* thisptr
+ cdef shared_ptr[Cpp_Model] thisptr
+
+cdef Model Model_from_Cpp_Model(shared_ptr[Cpp_Model] m)
+
+## Cpp_NetworkModel
+# ecell4::NetworkModel
+cdef extern from "ecell4/core/NetworkModel.hpp" namespace "ecell4":
+ cdef cppclass Cpp_NetworkModel "ecell4::NetworkModel":
+ Cpp_NetworkModel() except +
+ void add_species_attribute(Cpp_Species sp) except +
+ bool has_species_attribute(Cpp_Species sp)
+ void remove_species_attribute(Cpp_Species sp) except +
+ void add_reaction_rule(Cpp_ReactionRule) except +
+ void remove_reaction_rule(Cpp_ReactionRule) except +
+ bool has_reaction_rule(Cpp_ReactionRule)
+ Integer num_reaction_rules()
+ Cpp_Species apply_species_attributes(Cpp_Species& sp)
+ # Cpp_Species create_species(string name)
+ vector[Cpp_Species] list_species()
+ vector[Cpp_ReactionRule] query_reaction_rules(Cpp_Species sp)
+ vector[Cpp_ReactionRule] query_reaction_rules(
+ Cpp_Species sp, Cpp_Species sp)
+ vector[Cpp_ReactionRule] reaction_rules()
+ vector[Cpp_Species] species_attributes()
+ void add_species_attributes(vector[Cpp_Species]) except +
+ void add_reaction_rules(vector[Cpp_ReactionRule]) except +
+
+ shared_ptr[Cpp_Model] expand(vector[Cpp_Species]) except +
+ shared_ptr[Cpp_Model] expand(vector[Cpp_Species], Integer) except +
+ shared_ptr[Cpp_Model] expand(vector[Cpp_Species], Integer, map[Cpp_Species, Integer]) except +
+
+## NetworkModel
+# a python wrapper for Cpp_NetowrkModel, but wrapped by shared_ptr
+cdef class NetworkModel:
+ # cdef Cpp_NetworkModel* thisptr
+ # cdef shared_ptr[Cpp_NetworkModel]* thisptr
+ cdef shared_ptr[Cpp_NetworkModel] thisptr
+
+cdef NetworkModel NetworkModel_from_Cpp_NetworkModel(
+ shared_ptr[Cpp_NetworkModel] m)
+
+## Cpp_NetfreeModel
+# ecell4::NetfreeModel
+cdef extern from "ecell4/core/NetfreeModel.hpp" namespace "ecell4":
+ cdef cppclass Cpp_NetfreeModel "ecell4::NetfreeModel":
+ Cpp_NetfreeModel() except +
+ void add_species_attribute(Cpp_Species sp) except +
+ bool has_species_attribute(Cpp_Species sp)
+ void remove_species_attribute(Cpp_Species sp) except +
+ void add_reaction_rule(Cpp_ReactionRule) except +
+ void remove_reaction_rule(Cpp_ReactionRule) except +
+ bool has_reaction_rule(Cpp_ReactionRule)
+ Integer num_reaction_rules()
+ Cpp_Species apply_species_attributes(Cpp_Species& sp)
+ # Cpp_Species create_species(string name)
+ vector[Cpp_Species] list_species()
+ vector[Cpp_ReactionRule] query_reaction_rules(Cpp_Species sp)
+ vector[Cpp_ReactionRule] query_reaction_rules(
+ Cpp_Species sp, Cpp_Species sp)
+ vector[Cpp_ReactionRule] reaction_rules()
+ vector[Cpp_Species] species_attributes()
+ void add_species_attributes(vector[Cpp_Species]) except +
+ void add_reaction_rules(vector[Cpp_ReactionRule]) except +
+
+ shared_ptr[Cpp_Model] expand(vector[Cpp_Species]) except +
+ shared_ptr[Cpp_Model] expand(vector[Cpp_Species], Integer) except +
+ shared_ptr[Cpp_Model] expand(vector[Cpp_Species], Integer, map[Cpp_Species, Integer]) except +
+
+ void set_effective(bool)
+ bool effective()
+
+## NetfreeModel
+# a python wrapper for Cpp_NetfreeModel, but wrapped by shared_ptr
+cdef class NetfreeModel:
+ # cdef Cpp_NetfreeModel* thisptr
+ # cdef shared_ptr[Cpp_NetfreeModel]* thisptr
+ cdef shared_ptr[Cpp_NetfreeModel] thisptr
+
+cdef NetfreeModel NetfreeModel_from_Cpp_NetfreeModel(
+ shared_ptr[Cpp_NetfreeModel] m)
+
+# cdef shared_ptr[Cpp_Model]* Cpp_Model_from_Model(m)
+cdef shared_ptr[Cpp_Model] Cpp_Model_from_Model(m)
+
+## Cpp_Real3
+# ecell4::Real3
+cdef extern from "ecell4/core/Real3.hpp" namespace "ecell4":
+ cdef cppclass Cpp_Real3 "ecell4::Real3":
+ Cpp_Real3() except +
+ Cpp_Real3(Real, Real, Real) except +
+ Cpp_Real3(Cpp_Real3 &rhs) except+
+ Real& operator[](Integer)
+ Cpp_Real3 operator+(Cpp_Real3, Cpp_Real3)
+ Cpp_Real3 operator-(Cpp_Real3, Cpp_Real3)
+ Cpp_Real3 operator/(Cpp_Real3, Real)
+ Cpp_Real3 operator*(Cpp_Real3, Real)
+
+## Real3
+# a python wrapper for Cpp_Real3
+cdef class Real3:
+ cdef Cpp_Real3* thisptr
+
+cdef Real3 Real3_from_Cpp_Real3(Cpp_Real3 *p)
+
+## Cpp_Integer3
+# ecell4::Integer3
+cdef extern from "ecell4/core/Integer3.hpp" namespace "ecell4":
+ cdef cppclass Cpp_Integer3 "ecell4::Integer3":
+ Cpp_Integer3() except +
+ Cpp_Integer3(Integer, Integer, Integer) except +
+ Cpp_Integer3(Cpp_Integer3&) except +
+ Integer col
+ Integer row
+ Integer layer
+ Integer& operator[](Integer)
+
+cdef class Integer3:
+ cdef Cpp_Integer3* thisptr
+
+cdef Integer3 Integer3_from_Cpp_Integer3(Cpp_Integer3 *g)
+
+## Cpp_ParticleID
+# ecell4::ParticleID
+cdef extern from "ecell4/core/Identifier.hpp" namespace "ecell4":
+ ctypedef int lot_type
+ ctypedef unsigned long long serial_type
+ ctypedef pair[int, unsigned long long] value_type
+
+ cdef cppclass Cpp_ParticleID "ecell4::ParticleID":
+ Cpp_ParticleID() except+
+ Cpp_ParticleID(value_type) except+
+ Cpp_ParticleID(Cpp_ParticleID& rhs) except+
+ Cpp_ParticleID log_add(lot_type& rhs)
+ Cpp_ParticleID log_subtract(lot_type& rhs)
+ Cpp_ParticleID& lot_advance(lot_type& rhs)
+ Cpp_ParticleID& lot_retraace(lot_type& rhs)
+ Cpp_ParticleID serial_add(serial_type& rhs)
+ Cpp_ParticleID serial_subtract(serial_type& rhs)
+ Cpp_ParticleID& serial_advance(serial_type& rhs)
+ Cpp_ParticleID& serial_retrace(serial_type& rhs)
+ # Cpp_ParticleID &operator=(Cpp_ParticleID& rhs) # XXX not yet suppoted
+ bool operator==(Cpp_ParticleID& rhs)
+ bool operator!=(Cpp_ParticleID& rhs)
+ bool operator<(Cpp_ParticleID& rhs)
+ bool operator>=(Cpp_ParticleID& rhs)
+ bool operator>(Cpp_ParticleID& rhs)
+ bool operator<=(Cpp_ParticleID& rhs)
+ # operator value_type()
+ value_type& operator() ()
+ int& lot()
+ unsigned long long& serial()
+
+cdef class ParticleID:
+ cdef Cpp_ParticleID* thisptr
+
+cdef ParticleID ParticleID_from_Cpp_ParticleID(Cpp_ParticleID* p)
+
+## Cpp_Particle
+# ecell4::Particle
+cdef extern from "ecell4/core/Particle.hpp" namespace "ecell4":
+ cdef cppclass Cpp_Particle "ecell4::Particle":
+ Cpp_Particle() except +
+ Cpp_Particle(Cpp_Species, Cpp_Real3, Real radius, Real D) except +
+ Cpp_Particle(Cpp_Particle &rhs) except+
+ Cpp_Real3 position()
+ Real radius()
+ Real D()
+ Cpp_Species &species()
+
+## Particle
+# a python wrapper for Cpp_Particle
+cdef class Particle:
+ cdef Cpp_Particle* thisptr
+
+cdef Particle Particle_from_Cpp_Particle(Cpp_Particle* p)
+
+## Cpp_Voxel
+# ecell4::Voxel
+cdef extern from "ecell4/core/Voxel.hpp" namespace "ecell4":
+ cdef cppclass Cpp_Voxel "ecell4::Voxel":
+ Cpp_Voxel() except +
+ Cpp_Voxel(Cpp_Species, Integer, Real radius, Real D) except +
+ Cpp_Voxel(Cpp_Species, Integer, Real radius, Real D, string loc) except +
+ Cpp_Voxel(Cpp_Voxel &rhs) except+
+ Integer coordinate()
+ Real D()
+ Real radius()
+ Cpp_Species &species()
+ string loc()
+
+## Voxel
+# a python wrapper for Cpp_Voxel
+cdef class Voxel:
+ cdef Cpp_Voxel* thisptr
+
+cdef Voxel Voxel_from_Cpp_Voxel(Cpp_Voxel* p)
+
+## Cpp_FixedIntervalNumberObserver
+# ecell4::FixedIntervalNumberObserver
+cdef extern from "ecell4/core/observers.hpp" namespace "ecell4":
+ cdef cppclass Cpp_Observer "ecell4::Observer":
+ Real next_time()
+ void reset()
+
+ cdef cppclass Cpp_FixedIntervalNumberObserver "ecell4::FixedIntervalNumberObserver":
+ Cpp_FixedIntervalNumberObserver(Real, vector[string]) except +
+ Real next_time()
+ Integer num_steps()
+ vector[vector[Real]] data()
+ vector[Cpp_Species] targets()
+ void reset()
+ void save(string)
+
+ cdef cppclass Cpp_NumberObserver "ecell4::NumberObserver":
+ Cpp_NumberObserver(vector[string]) except +
+ Real next_time()
+ Integer num_steps()
+ vector[vector[Real]] data()
+ vector[Cpp_Species] targets()
+ void reset()
+ void save(string)
+
+ cdef cppclass Cpp_FixedIntervalHDF5Observer "ecell4::FixedIntervalHDF5Observer":
+ Cpp_FixedIntervalHDF5Observer(Real, string) except +
+ Real next_time()
+ Integer num_steps()
+ string filename()
+ string filename(Integer)
+ string prefix()
+ void reset()
+
+ cdef cppclass Cpp_FixedIntervalCSVObserver "ecell4::FixedIntervalCSVObserver":
+ Cpp_FixedIntervalCSVObserver(Real, string) except +
+ Cpp_FixedIntervalCSVObserver(Real, string, vector[string]) except +
+ Real next_time()
+ Integer num_steps()
+ string filename()
+ # void log(Cpp_Space*)
+ void log(shared_ptr[Cpp_Space]&)
+ void reset()
+ void set_header(string&)
+ void set_formatter(string&)
+
+ cdef cppclass Cpp_CSVObserver "ecell4::CSVObserver":
+ Cpp_CSVObserver(string) except +
+ Cpp_CSVObserver(string, vector[string]) except +
+ Real next_time()
+ Integer num_steps()
+ string filename()
+ # void log(Cpp_Space*)
+ void log(shared_ptr[Cpp_Space]&)
+ void reset()
+ void set_header(string&)
+ void set_formatter(string&)
+
+ cdef cppclass Cpp_FixedIntervalTrajectoryObserver "ecell4::FixedIntervalTrajectoryObserver":
+ Cpp_FixedIntervalTrajectoryObserver(Real, vector[Cpp_ParticleID], bool, Real) except +
+ Cpp_FixedIntervalTrajectoryObserver(Real, bool, Real) except +
+ Real next_time()
+ Integer num_steps()
+ Integer num_tracers()
+ vector[Real]& t()
+ vector[vector[Cpp_Real3]] data()
+ void reset()
+ @staticmethod
+ bool default_resolve_boundary()
+ @staticmethod
+ Real default_subdt()
+
+ cdef cppclass Cpp_TimingTrajectoryObserver "ecell4::TimingTrajectoryObserver":
+ Cpp_TimingTrajectoryObserver(vector[double], vector[Cpp_ParticleID], bool, Real) except +
+ Cpp_TimingTrajectoryObserver(vector[double], bool, Real) except +
+ Real next_time()
+ Integer num_steps()
+ Integer num_tracers()
+ vector[Real]& t()
+ vector[vector[Cpp_Real3]] data()
+ void reset()
+ @staticmethod
+ bool default_resolve_boundary()
+ @staticmethod
+ Real default_subdt()
+
+ cdef cppclass Cpp_TimingNumberObserver "ecell4::TimingNumberObserver":
+ Cpp_TimingNumberObserver(vector[double], vector[string]) except + #XXX: vector[Real]
+ Real next_time()
+ Integer num_steps()
+ vector[vector[Real]] data()
+ vector[Cpp_Species] targets()
+ void reset()
+ void save(string)
+
+ cdef cppclass Cpp_TimeoutObserver "ecell4::TimeoutObserver":
+ Cpp_TimeoutObserver() except +
+ Cpp_TimeoutObserver(Real) except +
+ Real duration()
+ Real accumulation()
+ Real interval()
+ void reset()
+
+ cdef cppclass Cpp_FixedIntervalTrackingObserver "ecell4::FixedIntervalTrackingObserver":
+ Cpp_FixedIntervalTrackingObserver(Real, vector[Cpp_Species], bool, Real, Real) except +
+ Real next_time()
+ Integer num_steps()
+ Integer num_tracers()
+ vector[Real]& t()
+ vector[vector[Cpp_Real3]] data()
+ void reset()
+ @staticmethod
+ bool default_resolve_boundary()
+ @staticmethod
+ Real default_subdt()
+ @staticmethod
+ Real default_threshold()
+
+## FixedIntervalNumberObserver
+# a python wrapper for Cpp_FixedIntervalNumberObserver
+cdef class Observer:
+ cdef shared_ptr[Cpp_Observer]* thisptr
+
+cdef class FixedIntervalNumberObserver:
+ cdef shared_ptr[Cpp_FixedIntervalNumberObserver]* thisptr
+
+cdef class NumberObserver:
+ cdef shared_ptr[Cpp_NumberObserver]* thisptr
+
+cdef class TimingNumberObserver:
+ cdef shared_ptr[Cpp_TimingNumberObserver]* thisptr
+
+cdef class FixedIntervalHDF5Observer:
+ cdef shared_ptr[Cpp_FixedIntervalHDF5Observer]* thisptr
+
+cdef class FixedIntervalCSVObserver:
+ cdef shared_ptr[Cpp_FixedIntervalCSVObserver]* thisptr
+
+cdef class CSVObserver:
+ cdef shared_ptr[Cpp_CSVObserver]* thisptr
+
+cdef class FixedIntervalTrajectoryObserver:
+ cdef shared_ptr[Cpp_FixedIntervalTrajectoryObserver]* thisptr
+
+cdef class TimingTrajectoryObserver:
+ cdef shared_ptr[Cpp_TimingTrajectoryObserver]* thisptr
+
+cdef class TimeoutObserver:
+ cdef shared_ptr[Cpp_TimeoutObserver]* thisptr
+
+cdef class FixedIntervalTrackingObserver:
+ cdef shared_ptr[Cpp_FixedIntervalTrackingObserver]* thisptr
+
+## Cpp_Shape
+# ecell4::Shape
+cdef extern from "ecell4/core/Shape.hpp" namespace "ecell4":
+ cdef cppclass Cpp_Shape "ecell4::Shape":
+ bool is_inside(Cpp_Real3&)
+ Integer dimension()
+
+## Cpp_Complement
+# ecell4::Complement
+cdef extern from "ecell4/core/shape_operators.hpp" namespace "ecell4":
+ cdef cppclass Cpp_Surface "ecell4::Surface":
+ Cpp_Surface()
+ Cpp_Surface(shared_ptr[Cpp_Shape]&)
+ Cpp_Surface(Cpp_Surface&)
+ Real is_inside(Cpp_Real3&)
+ Integer dimension()
+
+ cdef cppclass Cpp_Union "ecell4::Union":
+ Cpp_Union(shared_ptr[Cpp_Shape]&, shared_ptr[Cpp_Shape]&)
+ Cpp_Union(Cpp_Union&)
+ Real is_inside(Cpp_Real3&)
+ Integer dimension()
+ Cpp_Surface surface()
+
+ cdef cppclass Cpp_Complement "ecell4::Complement":
+ Cpp_Complement(shared_ptr[Cpp_Shape]&, shared_ptr[Cpp_Shape]&)
+ Cpp_Complement(Cpp_Complement&)
+ Real is_inside(Cpp_Real3&)
+ Integer dimension()
+ Cpp_Surface surface()
+
+ cdef cppclass Cpp_AffineTransformation "ecell4::AffineTransformation":
+ Cpp_AffineTransformation()
+ Cpp_AffineTransformation(shared_ptr[Cpp_Shape]&)
+ Cpp_AffineTransformation(Cpp_AffineTransformation&)
+ Real is_inside(Cpp_Real3&)
+ Integer dimension()
+ Cpp_Surface surface()
+ void translate(Cpp_Real3&)
+ void rescale(Cpp_Real3&)
+ void xroll(Real&)
+ void yroll(Real&)
+ void zroll(Real&)
+
+## Cpp_Sphere
+# ecell4::Sphere
+cdef extern from "ecell4/core/Sphere.hpp" namespace "ecell4":
+ cdef cppclass Cpp_Sphere "ecell4::Sphere":
+ Cpp_Sphere()
+ Cpp_Sphere(Cpp_Real3&, Real)
+ Cpp_Sphere(Cpp_Sphere&)
+ Real distance(Cpp_Real3&)
+ Real is_inside(Cpp_Real3&)
+ Cpp_SphericalSurface surface()
+ Integer dimension()
+
+## Cpp_SphericalSurface
+# ecell4::SphericalSurface
+cdef extern from "ecell4/core/Sphere.hpp" namespace "ecell4":
+ cdef cppclass Cpp_SphericalSurface "ecell4::SphericalSurface":
+ Cpp_SphericalSurface()
+ Cpp_SphericalSurface(Cpp_Real3&, Real)
+ Cpp_SphericalSurface(Cpp_SphericalSurface&)
+ Real distance(Cpp_Real3&)
+ Real is_inside(Cpp_Real3&)
+ Cpp_Sphere inside()
+ Integer dimension()
+
+## Cpp_Cylinder
+# ecell4::Cylinder
+cdef extern from "ecell4/core/Cylinder.hpp" namespace "ecell4":
+ cdef cppclass Cpp_Cylinder "ecell4::Cylinder":
+ Cpp_Cylinder()
+ Cpp_Cylinder(Cpp_Real3&, Real, Cpp_Real3&, Real)
+ Cpp_Cylinder(Cpp_Cylinder&)
+ Real distance(Cpp_Real3&)
+ Real is_inside(Cpp_Real3&)
+ Cpp_CylindricalSurface surface()
+ Integer dimension()
+
+## Cpp_CylindricalSurface
+# ecell4::CylindricalSurface
+cdef extern from "ecell4/core/Cylinder.hpp" namespace "ecell4":
+ cdef cppclass Cpp_CylindricalSurface "ecell4::CylindricalSurface":
+ Cpp_CylindricalSurface()
+ Cpp_CylindricalSurface(Cpp_Real3&, Real, Cpp_Real3&, Real)
+ Cpp_CylindricalSurface(Cpp_CylindricalSurface&)
+ Real distance(Cpp_Real3&)
+ Real is_inside(Cpp_Real3&)
+ Cpp_Cylinder inside()
+ Integer dimension()
+
+## Cpp_PlanarSurface
+# ecell4::PlanarSurface
+cdef extern from "ecell4/core/PlanarSurface.hpp" namespace "ecell4":
+ cdef cppclass Cpp_PlanarSurface "ecell4::PlanarSurface":
+ Cpp_PlanarSurface()
+ Cpp_PlanarSurface(Cpp_Real3&, Cpp_Real3&, Cpp_Real3&)
+ Cpp_PlanarSurface(Cpp_PlanarSurface)
+ # Real distance(Cpp_Real3&)
+ Real is_inside(Cpp_Real3&)
+ Integer dimension()
+
+## Cpp_Rod
+# ecell4::Rod
+cdef extern from "ecell4/core/Rod.hpp" namespace "ecell4":
+ cdef cppclass Cpp_Rod "ecell4::Rod":
+ Cpp_Rod()
+ #Cpp_Rod(Real, Real)
+ Cpp_Rod(Real, Real, Cpp_Real3&)
+ Cpp_Rod(Cpp_Rod&)
+ Real distance(Cpp_Real3&)
+ Real is_inside(Cpp_Real3&)
+ void shift(Cpp_Real3&)
+ Cpp_RodSurface surface()
+ Integer dimension()
+ Cpp_Real3& origin()
+ Real length()
+ Real radius()
+
+## Cpp_RodSurface
+# ecell4::RodSurface
+cdef extern from "ecell4/core/Rod.hpp" namespace "ecell4":
+ cdef cppclass Cpp_RodSurface "ecell4::RodSurface":
+ Cpp_RodSurface()
+ #Cpp_RodSurface(Real, Real)
+ Cpp_RodSurface(Real, Real, Cpp_Real3&)
+ Cpp_RodSurface(Cpp_RodSurface)
+ Real distance(Cpp_Real3&)
+ Real is_inside(Cpp_Real3&)
+ Cpp_Real3& origin()
+ void shift(Cpp_Real3&)
+ Cpp_Rod inside()
+ Integer dimension()
+ Real length()
+ Real radius()
+
+## Cpp_AABB
+# ecell4::AABB
+cdef extern from "ecell4/core/AABB.hpp" namespace "ecell4":
+ cdef cppclass Cpp_AABB "ecell4::AABB":
+ Cpp_AABB()
+ Cpp_AABB(Cpp_Real3&, Cpp_Real3&)
+ Cpp_AABB(Cpp_AABB&)
+ Real distance(Cpp_Real3&)
+ Real is_inside(Cpp_Real3&)
+ Integer dimension()
+ Cpp_Real3 upper()
+ Cpp_Real3 lower()
+ Cpp_Surface surface()
+
+## Cpp_MeshSurface
+# ecell4::MeshSurface
+cdef extern from "ecell4/core/Mesh.hpp" namespace "ecell4":
+ cdef cppclass Cpp_MeshSurface "ecell4::MeshSurface":
+ Cpp_MeshSurface(string, Cpp_Real3)
+ Cpp_MeshSurface(Cpp_MeshSurface)
+ # Real distance(Cpp_Real3&)
+ Real is_inside(Cpp_Real3&)
+ Integer dimension()
+
+## Shape
+# a python wrapper for Cpp_Shape
+cdef class Shape:
+ cdef shared_ptr[Cpp_Shape]* thisptr
+
+## Sphere
+# a python wrapper for Cpp_Sphere
+cdef class Sphere:
+ cdef shared_ptr[Cpp_Sphere]* thisptr
+
+## SphericalSurface
+# a python wrapper for Cpp_SphericalSurface
+cdef class SphericalSurface:
+ cdef shared_ptr[Cpp_SphericalSurface]* thisptr
+
+## Cylinder
+# a python wrapper for Cpp_Cylinder
+cdef class Cylinder:
+ cdef shared_ptr[Cpp_Cylinder]* thisptr
+
+## CylindricalSurface
+# a python wrapper for Cpp_CylindricalSurface
+cdef class CylindricalSurface:
+ cdef shared_ptr[Cpp_CylindricalSurface]* thisptr
+
+## PlanarSurface
+# a python wrapper for Cpp_PlanarSurface
+cdef class PlanarSurface:
+ cdef shared_ptr[Cpp_PlanarSurface]* thisptr
+
+## Rod
+# a python wrapper for Cpp_Rod
+cdef class Rod:
+ cdef shared_ptr[Cpp_Rod]* thisptr
+
+## RodSurface
+# a python wrapper for Cpp_RodSurface
+cdef class RodSurface:
+ cdef shared_ptr[Cpp_RodSurface]* thisptr
+
+
+## MeshSurface
+# a python wrapper for Cpp_MeshSurface
+cdef class MeshSurface:
+ cdef shared_ptr[Cpp_MeshSurface]* thisptr
+
+## AABB
+# a python wrapper for Cpp_AABB
+cdef class AABB:
+ cdef shared_ptr[Cpp_AABB]* thisptr
+
+## Surface
+# a python wrapper for Cpp_Surface
+cdef class Surface:
+ cdef shared_ptr[Cpp_Surface]* thisptr
+
+## Union
+# a python wrapper for Cpp_Union
+cdef class Union:
+ cdef shared_ptr[Cpp_Union]* thisptr
+
+## Complement
+# a python wrapper for Cpp_Complement
+cdef class Complement:
+ cdef shared_ptr[Cpp_Complement]* thisptr
+
+## AffineTransformation
+# a python wrapper for Cpp_AffineTransformation
+cdef class AffineTransformation:
+ cdef shared_ptr[Cpp_AffineTransformation]* thisptr
+
+cdef Sphere Sphere_from_Cpp_Sphere(Cpp_Sphere* p)
+cdef SphericalSurface SphericalSurface_from_Cpp_SphericalSurface(Cpp_SphericalSurface* p)
+cdef Cylinder Cylinder_from_Cpp_Cylinder(Cpp_Cylinder* p)
+cdef CylindricalSurface CylindricalSurface_from_Cpp_CylindricalSurface(Cpp_CylindricalSurface* p)
+cdef AABB AABB_from_Cpp_AABB(Cpp_AABB* p)
diff --git a/python/lib/ecell4/core.pyx b/python/lib/ecell4/core.pyx
new file mode 100644
index 0000000..fa3f68b
--- /dev/null
+++ b/python/lib/ecell4/core.pyx
@@ -0,0 +1,99 @@
+from libcpp.string cimport string
+
+cdef string tostring(ustr):
+ if isinstance(ustr, unicode):
+ return <string>(ustr.encode('UTF-8'))
+ else:
+ return <string>(ustr)
+
+include "RandomNumberGenerator.pxi"
+include "UnitSpecies.pxi"
+include "Species.pxi"
+include "ReactionRule.pxi"
+include "Space.pxi"
+include "CompartmentSpace.pxi" #XXX
+include "ParticleSpace.pxi" #XXX
+include "Model.pxi"
+include "NetworkModel.pxi"
+include "NetfreeModel.pxi"
+include "Real3.pxi"
+include "Integer3.pxi"
+include "Particle.pxi"
+include "Voxel.pxi"
+include "observers.pxi"
+include "shapes.pxi"
+
+def length_sq(p):
+ """length_sq(p1) -> Real or Integer
+
+ Return a square of a Euclidean norm of the given vector.
+
+ """
+ if isinstance(p, Real3):
+ return real3_length_sq(<Real3>p)
+ elif isinstance(p, Integer3):
+ return integer3_length_sq(<Integer3>p)
+ else:
+ raise TypeError('Not implemented for this type')
+
+def length(p):
+ """length(p1) -> Real
+
+ Return a Euclidean norm of the given vector.
+ This is almost equivalent to call ``sqrt(length_sq(p1))``
+
+ """
+ if isinstance(p, Real3):
+ return real3_length(<Real3>p)
+ elif isinstance(p, Integer3):
+ return integer3_length(<Integer3>p)
+ else:
+ raise TypeError('Not implemented for this type')
+
+def dot_product(p1, p2):
+ """dot_product(p1, p2) -> Real or Integer
+
+ Return a dot product between two vectors
+
+ """
+ if isinstance(p1, Real3) and isinstance(p2, Real3):
+ return real3_dot_product(<Real3>p1, <Real3>p2)
+ elif isinstance(p1, Integer3) and isinstance(p2, Integer3):
+ return integer3_dot_product(<Integer3>p1, <Integer3>p2)
+ else:
+ raise TypeError('Not implemented for this type')
+
+from cython.operator cimport dereference as deref
+
+cdef shared_ptr[Cpp_Model] Cpp_Model_from_Model(m):
+ if isinstance(m, Model):
+ return (<Model>m).thisptr
+ elif isinstance(m, NetworkModel):
+ return <shared_ptr[Cpp_Model]>((<NetworkModel>m).thisptr)
+ elif isinstance(m, NetfreeModel):
+ return <shared_ptr[Cpp_Model]>((<NetfreeModel>m).thisptr)
+ else:
+ raise ValueError, ("a wrong argument was given [%s]." % (type(m))
+ + " the first argument must be Model, NetworkModel or NetfreeModel")
+
+cimport extras
+
+def load_version_information(filename):
+ """Return a version information of HDF5 as a string."""
+ cdef string cpp_filename = tostring(filename)
+ return extras.load_version_information(cpp_filename).decode('UTF-8')
+
+cimport functions
+
+def cbrt(Real x):
+ """cbrt(x) -> Real
+
+ Return a cubic root of the given value.
+
+ """
+ return functions.cbrt(x)
+
+cimport types
+
+N_A = types.N_A
+epsilon = types.epsilon
diff --git a/python/lib/ecell4/create_reaction_rule.pxd b/python/lib/ecell4/create_reaction_rule.pxd
new file mode 100644
index 0000000..2646026
--- /dev/null
+++ b/python/lib/ecell4/create_reaction_rule.pxd
@@ -0,0 +1,18 @@
+from types cimport Real
+from core cimport Cpp_Species, Cpp_ReactionRule
+
+
+## utility functions in Model.hpp
+# ecell4::Model
+cdef extern from "ecell4/core/Model.hpp" namespace "ecell4":
+ Cpp_ReactionRule create_degradation_reaction_rule(Cpp_Species&, Real)
+ Cpp_ReactionRule create_synthesis_reaction_rule(Cpp_Species&, Real)
+ Cpp_ReactionRule create_unimolecular_reaction_rule(
+ Cpp_Species&, Cpp_Species&, Real)
+ Cpp_ReactionRule create_binding_reaction_rule(
+ Cpp_Species&, Cpp_Species&, Cpp_Species&, Real)
+ Cpp_ReactionRule create_unbinding_reaction_rule(
+ Cpp_Species&, Cpp_Species&, Cpp_Species&, Real)
+ # Cpp_ReactionRule create_repulsive_reaction_rule(
+ # Cpp_Species&, Cpp_Species&)
+
diff --git a/python/lib/ecell4/datasource/__init__.py b/python/lib/ecell4/datasource/__init__.py
new file mode 100644
index 0000000..7ebdd6a
--- /dev/null
+++ b/python/lib/ecell4/datasource/__init__.py
@@ -0,0 +1,59 @@
+def print_descriptions(desc):
+ for i, entry in enumerate(desc):
+ if i > 0:
+ print()
+ for line in entry:
+ assert len(line) == 2 or len(line) == 3
+ if line[1] is None or line[1] == '':
+ continue
+ if len(line) == 2:
+ print('{0}: {1}'.format(*line))
+ else:
+ print('{0}{2}{1}'.format(*line))
+
+def __description(entity, collections):
+ desc = []
+
+ if collections is None or 'uniprot' in collections:
+ from . import uniprot
+ desc.extend(uniprot.description(entity))
+
+ if collections is None or 'pdb' in collections:
+ from . import pdb
+ desc.extend(pdb.description(entity))
+
+ if collections is None or 'pubmed' in collections:
+ from . import pubmed
+ desc.extend(pubmed.description(entity))
+
+ return desc
+
+def description(entity, collections=None):
+ from ecell4 import Species
+
+ if isinstance(collections, str):
+ collections = [collections]
+
+ if isinstance(entity, (str, Species)):
+ desc = __description(entity, collections)
+ else:
+ desc = []
+ for e in entity:
+ desc.extend(__description(e, collections))
+
+ print_descriptions(desc)
+
+def whereis(entity, collections=None):
+ if isinstance(collections, str):
+ collections = [collections]
+
+ desc = []
+
+ if collections is None or 'uniprot' in collections:
+ from . import uniprot
+ desc.extend(uniprot.whereis(entity))
+
+ print_descriptions(desc)
+
+
+__all__ = ['description', 'where']
diff --git a/python/lib/ecell4/datasource/biocyc.py b/python/lib/ecell4/datasource/biocyc.py
new file mode 100644
index 0000000..2bd5ae3
--- /dev/null
+++ b/python/lib/ecell4/datasource/biocyc.py
@@ -0,0 +1,167 @@
+import re
+
+try:
+ from urllib.request import Request, urlopen, HTTPError # Python3
+except ImportError:
+ from urllib2 import Request, urlopen, HTTPError # Python2
+
+from xml.dom import minidom
+import xml.dom
+
+
+def read_url(url):
+ f = urlopen(url)
+ content = f.read().decode('utf-8')
+ f.close()
+ try:
+ f = urlopen(url)
+ content = f.read().decode('utf-8')
+ f.close()
+ except IOError:
+ #XXX: say something here
+ content = None
+ return content
+
+class BioCycDataSource(object):
+
+ # URL = "http://websvc.biocyc.org/getxml?id={entity_id}"
+ URL = "http://websvc.biocyc.org/getxml?id={entity_id}&detail=low"
+
+ def __init__(self, entity=None):
+ if entity is not None:
+ entity_id = self.parse_entity(entity)
+ url = self.URL.format(entity_id=entity_id)
+ data = self.parse_ptools_xml(read_url(url))
+ assert len(data) == 1
+ self.data = data
+ else:
+ self.data = None
+
+ @classmethod
+ def parse_entity(cls, entity):
+ collection = 'biocyc'
+ idpttrn = r'[A-Z-0-9]+(?<!CHEBI)(\:)?[A-Za-z0-9+_.%-]+'
+ uri1 = r'http://identifiers.org/biocyc/(?P<id>{})'.format(idpttrn)
+ if isinstance(entity, str):
+ if re.match(r'^{}$'.format(idpttrn), entity) is not None:
+ return entity
+ mobj = re.match(uri1, entity)
+ if mobj is not None:
+ return mobj.group('id')
+ # mobj = re.match(uri2, entity)
+ # if mobj is not None:
+ # return mobj.group('id')
+ else:
+ import ecell4
+ if isinstance(entity, ecell4.Species) and entity.has_attribute(collection):
+ return cls.parse_entity(entity.get_attribute(collection))
+ return None #XXX: Error
+
+ @classmethod
+ def link(cls, entity):
+ entity_id = cls.parse_entity(entity)
+ assert entity_id is not None
+ return "http://identifiers.org/biocyc/{}".format(entity_id)
+
+ @classmethod
+ def __parse_ptools_xml(cls, node, tags=None, ignores=None, unique=False):
+ entries = []
+ for entry_node in node.childNodes:
+ entry = {}
+ if entry_node.nodeType != xml.dom.Node.ELEMENT_NODE:
+ continue
+ elif entry_node.tagName == 'coefficient':
+ entries[-1]['coefficient'] = entry_node.firstChild.data
+ continue
+ elif tags is None or entry_node.tagName in tags:
+ entry['type'] = entry_node.tagName
+ entry['frameid'] = entry_node.getAttribute('frameid')
+ entry['orgid'] = entry_node.getAttribute('orgid')
+
+ if entry_node.hasAttribute("class"):
+ value = entry_node.getAttribute("class")
+ if value == 'true':
+ entry["class"] = True
+ elif value == 'false':
+ entry["class"] = False
+ else:
+ raise ValueError("Unknown value for 'class' attribute was given [{}]".format(value))
+
+ for item in entry_node.childNodes:
+ if item.nodeType != xml.dom.Node.ELEMENT_NODE:
+ continue
+ elif item.tagName in ('common-name', ):
+ # item.getAttribute('datatype') == 'string':
+ assert item.tagName not in entry.keys()
+ value = item.firstChild.data.strip()
+ entry[item.tagName] = value
+ elif item.tagName in ('synonym', 'ec-number'):
+ # item.getAttribute('datatype') == 'string':
+ value = item.firstChild.data.strip()
+ if item.tagName not in entry.keys():
+ entry[item.tagName] = [value]
+ else:
+ entry[item.tagName].append(value)
+ elif item.tagName in ('component', 'component-of', 'parent', 'gene', 'left', 'right', 'enzyme', 'reaction', 'instance', 'product'):
+ if item.tagName not in entry.keys():
+ entry[item.tagName] = cls.__parse_ptools_xml(item)
+ else:
+ entry[item.tagName].extend(cls.__parse_ptools_xml(item))
+ elif item.tagName in ('catalyzes', 'enzymatic-reaction'):
+ if item.tagName not in entry.keys():
+ entry[item.tagName] = cls.__parse_ptools_xml(item, 'Enzymatic-Reaction')
+ else:
+ entry[item.tagName].extend(cls.__parse_ptools_xml(item, 'Enzymatic-Reaction'))
+ elif item.tagName == 'cml':
+ for subitem in item.childNodes:
+ if subitem.nodeType != xml.dom.Node.ELEMENT_NODE:
+ continue
+ elif subitem.tagName == 'molecule':
+ for subsubitem in subitem.childNodes:
+ if subsubitem.nodeType != xml.dom.Node.ELEMENT_NODE:
+ continue
+ elif subsubitem.tagName == 'formula':
+ assert 'formula' not in entry.keys()
+ entry['formula'] = subsubitem.getAttribute('concise')
+ elif subsubitem.tagName == 'float':
+ if 'float' not in entry.keys():
+ entry['float'] = [{'title': subsubitem.getAttribute('title'), 'units': subsubitem.getAttribute('units'), 'value': subsubitem.firstChild.data}]
+ else:
+ entry['float'].append({'title': subsubitem.getAttribute('title'), 'units': subsubitem.getAttribute('units'), 'value': subsubitem.firstChild.data})
+ elif subsubitem.tagName == 'string':
+ if 'string' not in entry.keys():
+ entry['string'] = [{'title': subsubitem.getAttribute('title'), 'value': subsubitem.firstChild.data}]
+ else:
+ entry['string'].append({'title': subsubitem.getAttribute('title'), 'value': subsubitem.firstChild.data})
+ elif ignores is not None and entry_node.tagName in ignores:
+ continue
+ else:
+ raise ValueError('Unknown tag name was given [{}].'.format(entry_node.tagName))
+ entries.append(entry)
+ if unique:
+ assert len(entries) == 1
+ return entries[0]
+ return entries
+
+ @classmethod
+ def parse_ptools_xml(cls, content):
+ doc = minidom.parseString(content)
+ return cls.__parse_ptools_xml(doc.firstChild, ('Protein', 'Compound', 'Reaction', 'Gene'), ('metadata', ))
+
+
+if __name__ == "__main__":
+ src = BioCycDataSource('ECOLI:GLUCOSE-1-PHOSPHAT-CPLX')
+ print(src.data)
+ src = BioCycDataSource('ECOLI:EG10597-MONOMER')
+ print(src.data)
+ src = BioCycDataSource('ECOLI:GLC-1-P')
+ print(src.data)
+ src = BioCycDataSource('ECOLI:Glucopyranose')
+ print(src.data)
+ src = BioCycDataSource('ECOLI:GLUCOSE-1-PHOSPHAT-RXN')
+ print(src.data)
+
+ src = BioCycDataSource('ECOCYC:EG10597-MONOMER') #XXX: "EcoCyc:EG10597-MONOMER" doesn't work.
+ print(src.data)
+ src = BioCycDataSource('ECOL316407:JW1164-MONOMER')
+ print(src.data)
diff --git a/python/lib/ecell4/datasource/biogrid.py b/python/lib/ecell4/datasource/biogrid.py
new file mode 100644
index 0000000..6a64d2a
--- /dev/null
+++ b/python/lib/ecell4/datasource/biogrid.py
@@ -0,0 +1,105 @@
+# coding: utf-8
+
+__author__ = "Keita Sasaki"
+
+import json
+
+try:
+ from urllib2 import Request, urlopen
+except ImportError:
+ from urllib.request import Request, urlopen
+
+
+class biogridDataSource(object):
+
+ histry = {}
+
+ def __init__(self, ACCESS_KEY):
+ self.ak = ACCESS_KEY
+
+ def query(self, ACCESS_POINT, geneList=[], organisms=[], cache=True):
+ options = ""
+ if geneList:
+ options += "&geneList={}".format("|".join(geneList))
+ if organisms:
+ options += "&taxid={}".format("|".join(organisms))
+
+ url = "http://webservice.thebiogrid.org/{AP}/?format=json&searchNames=true{OPTIONS}&accesskey={AK}".format(AP=ACCESS_POINT, OPTIONS=options, AK=self.ak)
+
+ if not cache or url not in self.histry.keys():
+ req = Request(url)
+ response = urlopen(req)
+ data = response.read().decode("utf-8")
+
+ if cache:
+ self.histry[url] = data
+
+ else:
+ data = self.histry[url]
+
+ return json.loads(data)
+
+ def organisms(self):
+ return self.query("organisms").values()
+
+ def orgmaker(self, org=[]):
+ organisms_reverse = dict(
+ [(value, key) for key, value in self.query("organisms").items()])
+ if org:
+ for i in range(len(org)):
+ if isinstance(org[i], int):
+ org[i] = str(org[i])
+ elif isinstance(org[i], str):
+ try:
+ org[i] = organisms_reverse[org[i]]
+ except KeyError:
+ pass
+ return org
+
+ def interactions(self, geneList=[], org=[]):
+ organisms = self.query("organisms")
+ org = self.orgmaker(org)
+
+ querydata = self.query("interactions", geneList, org).values()
+ returnData = []
+ for i in querydata:
+ if i["OFFICIAL_SYMBOL_A"] in geneList:
+ dataDict = {"symA": {"name": i["OFFICIAL_SYMBOL_A"],
+ "biogridID": i["BIOGRID_ID_A"],
+ "organism": {"name": organisms[str(i["ORGANISM_A"])], "id": i["ORGANISM_A"]}},
+ "symB": {"name": i["OFFICIAL_SYMBOL_B"],
+ "biogridID": i["BIOGRID_ID_B"],
+ "organism": {"name": organisms[str(i["ORGANISM_B"])], "id": i["ORGANISM_B"]}},
+ "pubmedID": i["PUBMED_ID"]
+ }
+ else:
+ dataDict = {"symA": {"name": i["OFFICIAL_SYMBOL_B"],
+ "biogridID": i["BIOGRID_ID_B"],
+ "organism": {"name": organisms[str(i["ORGANISM_B"])], "id": i["ORGANISM_B"]}},
+ "symB": {"name": i["OFFICIAL_SYMBOL_A"],
+ "biogridID": i["BIOGRID_ID_A"],
+ "organism": {"name": organisms[str(i["ORGANISM_A"])], "id": i["ORGANISM_A"]}},
+ "pubmedID": i["PUBMED_ID"]
+ }
+ returnData.append(dataDict)
+
+ return returnData
+
+ def interactor(self, geneList=[], org=[]):
+ """
+ Supposing geneList returns an unique item.
+ """
+ querydata = self.interactions(geneList, org)
+ returnData = {}
+ for i in querydata:
+ if not returnData.get(i["symB"]["name"]):
+ returnData[i["symB"]["name"]] = {"interactions": []}
+ returnData[i["symB"]["name"]]["interactions"].append(i)
+ return returnData
+
+
+if __name__ == "__main__":
+ ACCESSKEY = "YOUR_ACCESSKEY"
+ interactions = biogridDataSource(ACCESSKEY).interactions(["MDM2"], [9606])
+ interactor = biogridDataSource(ACCESSKEY).interactor(["MDM2"])
+ print(interactor.keys())
diff --git a/python/lib/ecell4/datasource/ecocyc.py b/python/lib/ecell4/datasource/ecocyc.py
new file mode 100644
index 0000000..824dd1c
--- /dev/null
+++ b/python/lib/ecell4/datasource/ecocyc.py
@@ -0,0 +1,44 @@
+import pythoncyc
+
+class EcocycDataSource(object):
+
+ def __init__(self):
+ self.pgdb = pythoncyc.select_organism('eco')
+
+if __name__ == '__main__':
+ from ecell4 import *
+ pgdb = EcocycDataSource().pgdb
+
+ with reaction_rules():
+ for p in pgdb.all_pathways():
+ for g in pgdb.genes_of_pathway(p):
+ for p in pgdb.all_products_of_gene(g):
+ ~_eval(g) > _eval(p) | 3
+
+ # for x in pgdb.reactions.instances:
+ # left = pgdb.get_slot_value(x['frameid'], 'Left')
+ # right = pgdb.get_slot_value(x['frameid'], 'Right')
+ # if left == None or right == None:
+ # print x['frameid']
+ # else:
+ # left = left.strip('|').strip()
+ # right = right.strip('|').strip()
+ # if "-" in left:
+ # left = left.replace("-", "__")
+ # if "-" in right:
+ # right = right.replace("-", "__")
+ # if "+" in left:
+ # left = left.replace("+", "__")
+ # if "+" in right:
+ # right = right.replace("+", "__")
+ # if re.search('^[0-9]', left):
+ # left = '__' + left
+ # if re.search('^[0-9]', right):
+ # right = '__' + right
+
+ # _eval(left) > _eval(right) | 10
+
+ m = get_model()
+ for s in m.list_species():
+ print(s.serial())
+
diff --git a/python/lib/ecell4/datasource/pdb.py b/python/lib/ecell4/datasource/pdb.py
new file mode 100644
index 0000000..9e9a055
--- /dev/null
+++ b/python/lib/ecell4/datasource/pdb.py
@@ -0,0 +1,111 @@
+import re
+
+from rdflib import Namespace
+from rdflib.namespace import DCTERMS, DC, RDFS
+
+try:
+ from . import rdf
+except SystemError:
+ import rdf
+
+from rdflib import Graph, Namespace
+
+def description(entity):
+ entity_id = PDBDataSource.parse_entity(entity)
+ if entity_id is not None:
+ entry = []
+ src = PDBDataSource(entity_id)
+ entry.append(("PDB", ', '.join(src.identifier()), ' - '))
+ entry.append(("Title", ', '.join(src.title())))
+ # desc.append("Protein: {}".format(', '.join(src.structured_name())))
+ src_gen = src.src_gen()
+ if len(src_gen) > 0:
+ entry.append(("Gene", src_gen[0]["gene"]))
+ entry.append(("Organism", "{} {}".format(src_gen[0]["scientific_name"], src_gen[0]["strain"])))
+ for url in src.see_also():
+ entry.append(("See Also", url))
+ entry.append(("URL", PDBDataSource.link(entity)))
+ return [entry]
+ return []
+
+class PDBDataSource(rdf.RDFDataSourceBase):
+
+ PDBo = Namespace("http://rdf.wwpdb.org/schema/pdbx-v40.owl#")
+ URL = "http://rdf.wwpdb.org/pdb/{entity_id}"
+
+ def __init__(self, entity=None, url=None, cache=True):
+ if url is not None:
+ rdf.RDFDataSourceBase.__init__(
+ self, url, cache)
+ elif entity is not None:
+ entity_id = self.parse_entity(entity)
+ if entity_id is not None:
+ rdf.RDFDataSourceBase.__init__(
+ self, self.URL.format(entity_id=entity_id), cache)
+ else:
+ rdf.RDFDataSourceBase.__init__(self, None, cache)
+ else:
+ rdf.RDFDataSourceBase.__init__(self, None, cache)
+
+ @classmethod
+ def parse_entity(cls, entity):
+ # http://www.ebi.ac.uk/miriam/main/collections/MIR:00000020
+ collection = 'pdb'
+ idpttrn = r'[0-9][A-Za-z0-9]{3}'
+ uri1 = r'http://rdf.wwpdb.org/pdb/(?P<id>{})'.format(idpttrn)
+ if isinstance(entity, str):
+ if re.match(r'^{}$'.format(idpttrn), entity) is not None:
+ return entity
+ mobj = re.match(uri1, entity)
+ if mobj is not None:
+ return mobj.group('id')
+ else:
+ import ecell4
+ if isinstance(entity, ecell4.Species) and entity.has_attribute(collection):
+ return cls.parse_entity(entity.get_attribute(collection))
+ return None #XXX: Error
+
+ @classmethod
+ def link(cls, entity):
+ entity_id = cls.parse_entity(entity)
+ assert entity_id is not None
+ return "http://rdf.wwpdb.org/pdb/{}".format(entity_id)
+
+ def identifier(self):
+ return [str(obj) for obj in self.graph.objects(predicate=DCTERMS.identifier)]
+
+ def title(self):
+ return [str(obj) for obj in self.graph.objects(predicate=DC.title)]
+
+ def see_also(self):
+ return [str(obj) for obj in self.graph.objects(predicate=RDFS.seeAlso)]
+
+ def src_gen(self):
+ retval = []
+ for obj in self.graph.objects(predicate=self.PDBo.has_entity_src_genCategory):
+ qres = rdf.RDFDataSourceBase(url=str(obj), cache=self.cache).query(
+ """prefix PDBo: <http://rdf.wwpdb.org/schema/pdbx-v40.owl#>
+ select ?entity_id ?scientific_name ?strain ?gene where
+ {{
+ ?s PDBo:has_entity_src_gen ?entity .
+ ?entity
+ PDBo:entity_src_gen.entity_id ?entity_id ;
+ PDBo:entity_src_gen.pdbx_gene_src_scientific_name ?scientific_name ;
+ PDBo:entity_src_gen.gene_src_strain ?strain ;
+ PDBo:entity_src_gen.pdbx_gene_src_gene ?gene .
+ }}
+ """)
+ for row in qres:
+ entity_id, scientific_name, strain, gene = [str(elem) for elem in row]
+ retval.append(
+ dict(entity_id=entity_id, scientific_name=scientific_name, strain=strain, gene=gene))
+ return retval
+
+
+if __name__ == "__main__":
+ print(PDBDataSource("3Q9L").identifier())
+ print(PDBDataSource("3Q9L").title())
+ print(PDBDataSource("3Q9L").see_also())
+ print(PDBDataSource("3Q9L").src_gen())
+
+ print(description("3Q9L"))
diff --git a/python/lib/ecell4/datasource/psicquic.py b/python/lib/ecell4/datasource/psicquic.py
new file mode 100644
index 0000000..533ed63
--- /dev/null
+++ b/python/lib/ecell4/datasource/psicquic.py
@@ -0,0 +1,487 @@
+import re
+import itertools
+
+try:
+ from urllib.request import Request, urlopen, HTTPError # Python3
+except ImportError:
+ from urllib2 import Request, urlopen, HTTPError # Python2
+
+from rdflib.namespace import RDF
+from rdflib import Namespace
+
+import xml.dom.minidom
+import logging
+logger = logging.getLogger(__name__)
+
+try:
+ from . import rdf
+ from . import uniprot
+except SystemError:
+ import rdf
+ import uniprot
+
+
+def read_url(url):
+ f = urlopen(url)
+ content = f.read().decode('utf-8')
+ f.close()
+ try:
+ f = urlopen(url)
+ content = f.read().decode('utf-8')
+ f.close()
+ except IOError:
+ #XXX: say something here
+ content = None
+ return content
+
+def get_active_services():
+ url = 'http://www.ebi.ac.uk/Tools/webservices/psicquic/registry/registry?action=ACTIVE&format=xml'
+ content = read_url(url)
+ dom = xml.dom.minidom.parseString(content)
+ services = []
+ for elem in dom.getElementsByTagName('service'):
+ name = elem.getElementsByTagName('name')[0].firstChild.data
+ restUrl = elem.getElementsByTagName('restUrl')[0].firstChild.data
+ services.append((name, restUrl))
+ return services
+
+class PSICQUICRDFDataSource(rdf.RDFDataSourceBase):
+
+ BIOPAX = Namespace("http://www.biopax.org/release/biopax-level3.owl#")
+
+ ACTIVE_SERVICES = dict(get_active_services())
+
+ def __init__(self, entity_id=None, cache=True, services=None):
+ rdf.RDFDataSourceBase.__init__(self, None, cache)
+ self.entity_id = entity_id
+
+ if services is None:
+ self.services = tuple(self.ACTIVE_SERVICES.keys())
+ elif isinstance(services, str):
+ if services in self.ACTIVE_SERVICES.keys():
+ self.services = [services]
+ else:
+ self.services = []
+ else:
+ self.services = [
+ name for name in services if name in self.ACTIVE_SERVICES.keys()]
+
+ def count(self, service_name):
+ if service_name not in self.ACTIVE_SERVICES.keys():
+ return None #XXX: Error?
+ return int(read_url("{:s}interactor/{:s}?format=count".format(self.ACTIVE_SERVICES[service_name], self.entity_id)))
+
+ def set_graph(self, service_name):
+ if self.entity_id is None:
+ return
+
+ self.url = "{:s}interactor/{:s}?format=rdf-xml".format(self.ACTIVE_SERVICES[service_name], self.entity_id)
+
+ if self.cache and self.url in self.GRAPH.keys():
+ self.graph = self.fetch(self.url, self.cache)
+ return
+
+ cnt = self.count(service_name)
+ # print(service_name, self.url, cnt)
+
+ if cnt == 0:
+ if self.cache:
+ self.GRAPH[self.url] = None
+ self.graph = None
+ else:
+ try:
+ self.graph = self.fetch(self.url, self.cache)
+ except HTTPError as e:
+ if e.code in (500, 406, 400, 200):
+ if e.code == 500:
+ msg = "HTTP Error {:d}: Internal server error".format(e.code)
+ elif e.code == 406:
+ msg = "HTTP Error {:d}: Format not supported".format(e.code)
+ elif e.code == 400:
+ msg = "HTTP Error {:d}: Too many results for exporting in XML, Biopax and RDF".format(e.code)
+ elif e.code == 200:
+ msg = "HTTP Error {:d}: Not an error. Request is OK".format(e.code)
+ else:
+ msg = e.reason()
+ if self.cache:
+ self.GRAPH[self.url] = None
+ self.graph = None
+ # print(msg)
+ else:
+ raise e
+
+ def subjects(self, key):
+ retval = []
+ for name in self.services:
+ self.set_graph(name)
+ if self.graph is None:
+ continue
+ retval.extend(
+ [str(sub) for sub in self.graph.subjects(RDF.type, self.BIOPAX[key])])
+ return retval
+
+ def proteins(self):
+ return tuple(set(self.subjects("ProteinReference"))) #XXX: The return value includes entity_id itself.
+
+ def small_molecules(self):
+ return tuple(set(self.subjects("SmallMoleculeReference")))
+
+ def interactors(self):
+ return tuple(set(self.protein() + self.small_molecule()))
+
+ def interactions(self):
+ self.graph.query(
+ """prefix biopax: <http://www.biopax.org/release/biopax-level3.owl#>
+ search ?s where
+ {{
+ ?s
+ rdf:type biopax:MolecularInteraction ;
+ biopax:evidence ?o .
+ ?o
+ rdf:type biopax:Evidence ;
+
+ }}
+ """)
+ return tuple(set(self.subjects("MolecularInteraction")))
+
+def parse_psimitab_fields(column, remove=False):
+ if column is None or column == '-':
+ return []
+
+ # print(column)
+ elem = r"(?P<{0}_quote>\")?(?P<{0}>(?({0}_quote)([^\"]|((?<=\\)\"))|([^()\"|\t:]|((?<=\\)\")))*)(?({0}_quote)\")"
+ rexp = re.compile(r"({}\:{}(\({}\))?)([|]|$)".format(
+ elem.format('xref'), elem.format('value'), elem.format('description')))
+
+ keys = ('xref', 'value', 'description')
+ start = 0
+ retval = []
+ for mobj in rexp.finditer(column):
+ # assert mobj.start() == start
+ if mobj.start() != start:
+ logging.error('An invalid line was given ["{}" matches "{}"]'.format(column, mobj.group(0)))
+ return []
+ start = mobj.end()
+ groupdict = mobj.groupdict()
+ tmp = {}
+ for key in keys:
+ if groupdict[key] is not None:
+ # tmp[key] = re.sub(r"(?<!\\)\\\"", '\"', groupdict[key])
+ tmp[key] = re.sub(r"\\\"", '\"', groupdict[key])
+ elif not remove:
+ tmp[key] = None
+ retval.append(tmp)
+ return retval
+
+def parse_psimitab(content, fmt='tab27'):
+ """https://code.google.com/archive/p/psimi/wikis/PsimiTab27Format.wiki
+ """
+ columns = [
+ 'Unique identifier for interactor A',
+ 'Unique identifier for interactor B',
+ 'Alternative identifier for interactor A',
+ 'Alternative identifier for interactor B',
+ 'Aliases for A',
+ 'Aliases for B',
+ 'Interaction detection methods',
+ 'First author',
+ 'Identifier of the publication',
+ 'NCBI Taxonomy identifier for interactor A',
+ 'NCBI Taxonomy identifier for interactor B',
+ 'Interaction types',
+ 'Source databases',
+ 'Interaction identifier(s)',
+ 'Confidence score']
+ columns += [
+ 'Complex expansion',
+ 'Biological role A', 'Biological role B',
+ 'Experimental role A', 'Experimental role B',
+ 'Interactor type A', 'Interactor type B',
+ 'Xref for interactor A', 'Xref for interactor B',
+ 'Xref for the interaction',
+ 'Annotaions for interactor A', 'Annotations for interactor B',
+ 'Annotations for the interaction',
+ 'NCBI Taxonomy identifier for the host organism',
+ 'Prameters of the interaction',
+ 'Creaction date', 'Update date',
+ 'Checksum for the interactor A', 'Checksum for the interactor B',
+ 'Checksum for the interaction',
+ 'negative',
+ 'Feature(s) for interactor A', 'Feature(s) for interactor B',
+ 'Stoichiometry for interactor A', 'Stoichiometroy for interactor B',
+ 'Participant identification method for interactor A',
+ 'Participant identification method for interactor B'
+ ]
+ if fmt == 'tab25':
+ columns = columns[: 15]
+
+ rexp = re.compile(r"(?P<fields>((\"([^\"]|((?<=\\)\"))*\")|([^\t\"])|((?<=\\)\"))+)(\t|$)")
+
+ retval = []
+ for line in content.split('\n'):
+ line = line.strip()
+ if line == '' or line[0] == '#':
+ continue
+
+ start = 0
+ tmp = []
+ for mobj in rexp.finditer(line):
+ if mobj.start() != start:
+ print(repr(line))
+ assert mobj.start() == start
+ start = mobj.end()
+ tmp.append(mobj.group('fields'))
+ assert len(tmp) == len(columns)
+ retval.append(dict(zip(columns, tmp)))
+ return retval
+
+class PSICQUICPsimiTabDataSource(object):
+
+ DATA = {}
+ ACTIVE_SERVICES = dict(get_active_services())
+
+ def __init__(self, entity=None, cache=True, services=None):
+ self.fmt = 'tab25'
+ self.entity_id = self.parse_entity(entity)
+ self.cache = cache
+
+ if services is None:
+ self.services = tuple(self.ACTIVE_SERVICES.keys())
+ elif isinstance(services, str):
+ if services in self.ACTIVE_SERVICES.keys():
+ self.services = [services]
+ else:
+ self.services = []
+ else:
+ self.services = [
+ name for name in services if name in self.ACTIVE_SERVICES.keys()]
+
+ @classmethod
+ def parse_entity(cls, entity):
+ return uniprot.UniProtDataSource.parse_entity(entity)
+
+ def count(self, service_name):
+ if service_name not in self.ACTIVE_SERVICES.keys():
+ return None #XXX: Error?
+ return int(read_url("{:s}interactor/{:s}?format=count".format(self.ACTIVE_SERVICES[service_name], self.entity_id)))
+
+ def set_data(self, service_name):
+ if self.entity_id is None:
+ return
+
+ self.url = "{:s}interactor/{:s}?format={:s}".format(self.ACTIVE_SERVICES[service_name], self.entity_id, self.fmt)
+
+ if self.cache and self.url in self.DATA.keys():
+ self.data = self.fetch(self.url, self.cache)
+ return
+
+ cnt = self.count(service_name)
+ logger.info("{} <{}> contains {} interactions.".format(service_name, self.url, cnt))
+
+ if cnt == 0:
+ if self.cache:
+ self.DATA[self.url] = None
+ self.data = None
+ else:
+ try:
+ self.data = self.fetch(self.url, self.cache)
+ except HTTPError as e:
+ if e.code in (500, 406, 400, 200):
+ if e.code == 500:
+ msg = "HTTP Error {:d}: Internal server error".format(e.code)
+ elif e.code == 406:
+ msg = "HTTP Error {:d}: Format not supported".format(e.code)
+ elif e.code == 400:
+ msg = "HTTP Error {:d}: Too many results for exporting in XML, Biopax and RDF".format(e.code)
+ elif e.code == 200:
+ msg = "HTTP Error {:d}: Not an error. Request is OK".format(e.code)
+ else:
+ msg = e.reason()
+ if self.cache:
+ self.DATA[self.url] = None
+ self.data = None
+ logger.warning("{} returns {}.".format(service_name, msg))
+ # print(msg)
+ else:
+ raise e
+
+ if self.data is not None:
+ logger.debug('{} provides {} interactions.'.format(service_name, len(self.data)))
+ else:
+ logger.debug('{} provides no interaction.')
+
+ def fetch(self, url, cache=False):
+ if not cache or url not in self.DATA.keys():
+ data = parse_psimitab(read_url(url), self.fmt)
+ # try:
+ # data = parse_psimitab(read_url(url), self.fmt)
+ # except AssertionError as e:
+ # print('AssertionError')
+ # data = None
+ if cache:
+ self.DATA[url] = data
+ else:
+ data = self.DATA[url]
+ return data
+
+ def getiter(self):
+ for name in self.services:
+ self.set_data(name)
+ if self.data is None:
+ continue
+ for data in self.data:
+ yield (name, data)
+
+ def getvalues(self, key):
+ for name, data in self.getiter():
+ if key in data.keys():
+ yield data[key]
+
+ @classmethod
+ def selectone(cls, entry, xref='uniprotkb'):
+ identifiers = [obj['value'] for obj in entry['identifiers']
+ if obj['xref'] == xref]
+ if len(identifiers) == 1:
+ return identifiers[0]
+ alternatives = [obj['value'] for obj in entry['alternatives']
+ if obj['xref'] == xref]
+ if len(alternatives) == 1:
+ return alternatives[0]
+ aliases = [obj['value'] for obj in entry['aliases']
+ if obj['xref'] == xref]
+ if len(aliases) == 1:
+ return aliases[0]
+ return None
+
+ @classmethod
+ def findone(cls, entry, value, xref='uniprotkb'):
+ return any([(obj.get('xref') == xref and obj.get('value') == value) for obj in itertools.chain(entry['identifiers'], entry['alternatives'], entry['aliases'])])
+
+ def interactors(self):
+ retval = {}
+ for entry in self.interactions():
+ partner = entry['B']
+ entity = self.selectone(partner)
+ if entity is None:
+ continue
+ value = uniprot.UniProtDataSource.link(entity)
+ if value in retval.keys():
+ retval[value].append(entry)
+ else:
+ retval[value] = [entry]
+ return tuple(retval.keys())
+
+ @classmethod
+ def get_uri(self, field):
+ if 'xref' not in field.keys() or 'value' not in field.keys():
+ return None
+ elif field['xref'] is None or field['value'] is None:
+ return None
+
+ xref, value = field['xref'], field['value']
+ if xref == 'pubmed':
+ try:
+ from .pubmed import PubMedDataSource
+ except SystemError:
+ from pubmed import PubMedDataSource
+
+ if PubMedDataSource.parse_entity(value) is None:
+ return None
+ return PubMedDataSource.link(value)
+ elif xref in ('imex', 'mint', 'doi'):
+ return "http://identifiers.org/{}/{}".format(xref, value)
+
+ logging.error("An unknown field was given [{}]".format(repr(field)))
+ return None
+
+ def interactions(self, partner=None):
+ if partner is not None:
+ partner = self.parse_entity(partner)
+ if partner is None:
+ raise ValueError('Unknown partner [{}] was given.'.format(repr(partner)))
+
+ remove = True
+ retval = []
+ for service, data in self.getiter():
+ entry = {
+ 'service': service,
+ 'databases': parse_psimitab_fields(data['Source databases'], remove),
+ 'identifiers': parse_psimitab_fields(data['Interaction identifier(s)'], remove),
+ 'scores': parse_psimitab_fields(data['Confidence score'], remove),
+ 'types': parse_psimitab_fields(data['Interaction types'], remove),
+ 'methods': parse_psimitab_fields(data['Interaction detection methods'], remove),
+ }
+
+ entry['publications'] = []
+ for field in parse_psimitab_fields(data['Identifier of the publication'], remove):
+ uri = self.get_uri(field)
+ if uri is None:
+ continue
+ entry['publications'].append(uri)
+
+ interactor1 = {
+ 'identifiers': parse_psimitab_fields(data['Unique identifier for interactor A'], remove),
+ 'alternatives': parse_psimitab_fields(data['Alternative identifier for interactor A'], remove),
+ 'aliases': parse_psimitab_fields(data['Aliases for A'], remove),
+ 'taxons': parse_psimitab_fields(data['NCBI Taxonomy identifier for interactor A'], remove)
+ }
+ interactor2 = {
+ 'identifiers': parse_psimitab_fields(data['Unique identifier for interactor B'], remove),
+ 'alternatives': parse_psimitab_fields(data['Alternative identifier for interactor B'], remove),
+ 'aliases': parse_psimitab_fields(data['Aliases for B'], remove),
+ 'taxons': parse_psimitab_fields(data['NCBI Taxonomy identifier for interactor B'], remove)
+ }
+
+ if not self.findone(interactor1, self.entity_id):
+ if not self.findone(interactor2, self.entity_id):
+ print(self.entity_id, interactor1)
+ print(self.entity_id, interactor2)
+ assert self.findone(interactor2, self.entity_id)
+ interactor1, interactor2 = interactor2, interactor1
+
+ if partner is not None and not self.findone(interactor2, partner):
+ continue
+
+ entry['A'] = interactor1
+ entry['B'] = interactor2
+ retval.append(entry)
+ return retval
+
+# PSICQUICDataSource = PSICQUICRDFDataSource
+PSICQUICDataSource = PSICQUICPsimiTabDataSource
+
+
+if __name__ == "__main__":
+ # print(get_active_services())
+
+ services = None
+ # services = "DIP"
+ # services = "IntAct"
+ # datasource = PSICQUICPsimiTabDataSource
+ # datasource = PSICQUICRDFDataSource
+ datasource = PSICQUICDataSource
+
+ # res = datasource("P0AEZ3", services=services).proteins()
+ # print(res, len(res))
+ # res = datasource("P0AEZ3", services=services).small_molecules()
+ # print(res, len(res))
+ # res = datasource("P0AEZ3", services=services).interactors()
+ # print(res, len(res))
+ # res = datasource("P0AEZ3", services=services).interactions()
+ # print(res, len(res))
+
+ # print(parse_psimitab_column('psi-mi:"MI:0000"(a cv term)'))
+ # print(parse_psimitab_column('psi-mi:"MI:0000"("I can now use braces ()()() or pipes ||| here and ::colons::")'))
+ # print(parse_psimitab_column('uniprotkb:P12345(a \\"nice\\" protein)'))
+ # print(parse_psimitab_column('uniprotkb:P12345("a \\"nice\\" protein")'))
+ # print(parse_psimitab_column('psi-mi:"MI:0000"("I can now use braces ()()() or pipes ||| here and ::colons::")|psi-mi:"MI:0000"(a cv term)'))
+ # print(parse_psimitab_column('psi-mi:ch10_ecoli(display_long)|uniprotkb:groS(gene name)|psi-mi:groS(display_short)|uniprotkb:groES(gene name synonym)|uniprotkb:mopB(gene name synonym)|uniprotkb:b4142(locus name)|uniprotkb:JW4102(locus name)|uniprotkb:Protein Cpn10(gene name synonym)|uniprotkb:GroES protein(gene name synonym)'))
+
+ # print(parse_psimitab('psi-mi:"MI:0000"("I can now use tab \t here")\t-'))
+ # print(parse_psimitab('dip:"DIP-35946N"\tdip:"DIP-35946N"\tuniprotkb:"P0AEZ3"\tuniprotkb:"P0AEZ3"\tDIP:"minD"("synonym")|DIP:"Septum site-determining protein minD"("synonym")\tDIP:"minD"("synonym")|DIP:"Septum site-determining protein minD"("synonym")\tpsi-mi:"MI:0018"("two hybrid")\t-\tpubmed:"17242352"(identity)|imex:"IM-22717-2"(imex-primary)\ttaxid:83333("Escherichia coli K12")\ttaxid:83333("Escherichia coli K12")\tpsi-mi:"MI:0915"("physical association")\tpsi-mi:"MI:0465"("DIP" [...]
+
+ # print(datasource("P0AEZ3", services="IntAct").interactions())
+ # print(tuple(datasource("P0AEZ3", services="IntAct").interactors().keys()))
+
+ print(datasource("P0AEZ3").interactions())
+ print(datasource("P28482").interactions())
diff --git a/python/lib/ecell4/datasource/pubmed.py b/python/lib/ecell4/datasource/pubmed.py
new file mode 100644
index 0000000..3c6abab
--- /dev/null
+++ b/python/lib/ecell4/datasource/pubmed.py
@@ -0,0 +1,99 @@
+import re
+
+try:
+ from urllib.request import Request, urlopen, HTTPError # Python3
+except ImportError:
+ from urllib2 import Request, urlopen, HTTPError # Python2
+
+from xml.dom import minidom
+
+
+def read_url(url):
+ f = urlopen(url)
+ content = f.read().decode('utf-8')
+ f.close()
+ try:
+ f = urlopen(url)
+ content = f.read().decode('utf-8')
+ f.close()
+ except IOError:
+ #XXX: say something here
+ content = None
+ return content
+
+def description(entity):
+ entity_id = PubMedDataSource.parse_entity(entity)
+ if entity_id is not None:
+ entry = []
+ src = PubMedDataSource(entity)
+ entry.append(('PubMed', '{}'.format(entity_id), ' - '))
+ entry.append(('Title', src.data['Title']))
+ entry.append(('Author(s)', ', '.join(src.data['AuthorList'])))
+ entry.append(('Source', src.data['Source']))
+ entry.append(('SO', src.data['SO']))
+ entry.append(('URL', src.link(entity_id)))
+ return [entry]
+
+ return []
+
+class PubMedDataSource(object):
+
+ def __init__(self, entity=None):
+ self.entity = entity
+
+ if entity is not None:
+ entity_id = self.parse_entity(entity)
+ url = "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi?db=pubmed&id={}".format(entity_id)
+ data = self.parse_esummary(read_url(url))
+ assert len(data) == 1
+ self.data = data[0]
+ else:
+ self.data = None
+
+ @classmethod
+ def parse_entity(cls, entity):
+ # http://www.ebi.ac.uk/miriam/main/collections/MIR:00000015
+ collection = 'pubmed'
+ idpttrn = r'\d+'
+ uri1 = r'https://www.ncbi.nlm.nih.gov/pubmed/(?P<id>{})'.format(idpttrn)
+ uri2 = r'http://identifiers.org/pubmed/(?P<id>{})'.format(idpttrn)
+ if isinstance(entity, str):
+ if re.match(r'^{}$'.format(idpttrn), entity) is not None:
+ return entity
+ mobj = re.match(uri1, entity)
+ if mobj is not None:
+ return mobj.group('id')
+ mobj = re.match(uri2, entity)
+ if mobj is not None:
+ return mobj.group('id')
+ else:
+ import ecell4
+ if isinstance(entity, ecell4.Species) and entity.has_attribute(collection):
+ return cls.parse_entity(entity.get_attribute(collection))
+ return None #XXX: Error
+
+ @classmethod
+ def link(cls, entity):
+ entity_id = cls.parse_entity(entity)
+ assert entity_id is not None
+ return 'https://www.ncbi.nlm.nih.gov/pubmed/{}'.format(entity_id)
+
+ @classmethod
+ def parse_esummary(cls, esummary):
+ retval = []
+ doc = minidom.parseString(esummary)
+ for entry_node in doc.getElementsByTagName('DocSum'):
+ entry = {}
+ entry['ID'] = entry_node.getElementsByTagName('Id')[0].firstChild.data
+ for item in entry_node.getElementsByTagName('Item'):
+ name = item.getAttribute('Name')
+ if name in ('Title', 'Volume', 'Issue', 'Pages', 'Source', 'PubDate', 'SO'):
+ entry[name] = item.firstChild.data
+ elif name == 'AuthorList':
+ entry['AuthorList'] = [author.firstChild.data for author in item.getElementsByTagName('Item') if author.getAttribute('Name') == 'Author']
+ retval.append(entry)
+ return retval
+
+
+if __name__ == "__main__":
+ print(description("8752322"))
diff --git a/python/lib/ecell4/datasource/rdf.py b/python/lib/ecell4/datasource/rdf.py
new file mode 100644
index 0000000..6dd715d
--- /dev/null
+++ b/python/lib/ecell4/datasource/rdf.py
@@ -0,0 +1,42 @@
+from rdflib import Graph, Namespace
+from rdflib.namespace import RDF, RDFS, SKOS, DCTERMS, DC
+from rdflib.term import URIRef
+
+
+class RDFDataSourceBase(object):
+
+ GRAPH = {}
+
+ def __init__(self, url=None, cache=True):
+ self.url = url
+ self.cache = cache
+
+ if self.url is not None:
+ self.graph = self.fetch(self.url, self.cache)
+
+ def fetch(self, url, cache=False):
+ if not cache or url not in self.GRAPH.keys():
+ graph = Graph()
+ graph.parse(url, format="xml")
+ if cache:
+ self.GRAPH[url] = graph
+ else:
+ graph = self.GRAPH[url]
+ return graph
+
+ def query(self, sparql):
+ qres = self.graph.query(sparql)
+ for row in qres:
+ yield row
+
+ def objects(self, obj, pred):
+ qres = self.query(
+ """select ?o where
+ {{
+ ?s
+ rdf:type <{:s}>;
+ <{:s}> ?o.
+ }}
+ """.format(obj, pred))
+ for row in qres:
+ yield row[0]
diff --git a/python/lib/ecell4/datasource/sbml.py b/python/lib/ecell4/datasource/sbml.py
new file mode 100644
index 0000000..347ed55
--- /dev/null
+++ b/python/lib/ecell4/datasource/sbml.py
@@ -0,0 +1,198 @@
+import libsbml
+
+try:
+ from urllib2 import Request, urlopen
+except ImportError:
+ from urllib.request import Request, urlopen
+
+class LambdaFunction(object):
+
+ def __init__(self, args, formula, evalfunc):
+ self.args = args
+ self.formula = formula
+ self.evalfunc = evalfunc
+
+ def __call__(self, *args):
+ return self.evalfunc(self.formula, dict(zip(self.args, args)))
+
+class SBMLDataSource(object):
+
+ def __init__(self, filename=None):
+ if filename is not None:
+ self.read(filename)
+
+ def function_definitions(self, evalfunc=None, kwargs={}):
+ for func in self.model.function_definitions:
+ args = [func.getArgument(i).getName() for i in range(func.getNumArguments())]
+ formula = libsbml.formulaToString(func.getBody())
+ if evalfunc is None:
+ yield (func.id, (args, formula))
+ else:
+ yield (func.id, LambdaFunction(args, formula, evalfunc))
+
+ def read(self, filename):
+ self.data = libsbml.SBMLReader().readSBML(filename)
+ self.model = self.data.getModel()
+
+ def read_from_string(self, xml):
+ try:
+ if isinstance(xml, unicode):
+ xml = xml.encode('utf-8')
+ except NameError:
+ pass # Python3
+ self.data = libsbml.SBMLReader().readSBMLFromString(xml)
+ self.model = self.data.getModel()
+
+ def initial_amounts(self):
+ for sp in self.model.species:
+ if sp.isSetInitialAmount():
+ yield (sp.id, sp.initial_amount)
+
+ def initial_concentration(self):
+ for sp in self.model.species:
+ if sp.isSetInitialConcentration():
+ yield (sp.id, sp.initial_concentration)
+
+ def compartments(self):
+ for comp in self.model.compartments:
+ yield (comp.id, comp.volume)
+
+ def parameters(self):
+ for p in self.model.parameters:
+ yield (p.id, p.value)
+
+ def constants(self):
+ for sp in self.model.species:
+ if sp.getConstant():
+ yield (sp.id)
+
+ def assignment_rules(self, evalfunc=None, kwargs={}):
+ for rule in self.model.rules:
+ if rule.isAssignment():
+ if evalfunc is None:
+ yield (rule.variable, rule.formula)
+ else:
+ #XXX: Why not evaluate variable?
+ yield (rule.variable, evalfunc(rule.formula, kwargs))
+
+ def reactions(self, evalfunc=None, kwargs={}):
+ for r in self.model.reactions:
+ reactants = [(reactant.species, reactant.stoichiometry)
+ for reactant in r.reactants]
+ products = [(product.species, product.stoichiometry)
+ for product in r.products]
+
+ formula = r.getKineticLaw().formula
+ params = dict((p.id, p.value) for p in r.getKineticLaw().parameters)
+
+ if evalfunc is None:
+ yield (reactants, products, formula, params)
+ else:
+ params.update(kwargs)
+ yield (sum((evalfunc(sp, params) * coef for sp, coef in reactants), evalfunc('~EmptySet')),
+ sum((evalfunc(sp, params) * coef for sp, coef in products), evalfunc('~EmptySet')),
+ evalfunc(formula, params))
+
+class BioModelsDataSource(SBMLDataSource):
+
+ URL = "https://www.ebi.ac.uk/biomodels-main/download?mid={mid}"
+ XML = {}
+
+ def __init__(self, mid, cache=True):
+ SBMLDataSource.__init__(self)
+
+ if not cache or mid not in self.XML.keys():
+ url = self.URL.format(mid=mid)
+ req = Request(url)
+ response = urlopen(req)
+ xml = response.read().decode('utf-8')
+ if cache:
+ self.XML[mid] = xml
+ else:
+ xml = self.XML[mid]
+
+ #import pdb; pdb.set_trace()
+ self.read_from_string(xml)
+
+# from bs4 import BeautifulSoup
+# import requests
+#
+# def biomodels(biomodels_id):
+# xml_soup = BeautifulSoup(requests.get("https://www.ebi.ac.uk/biomodels-main/download?mid=" + biomodels_id).content, 'xml')
+# reactions = xml_soup.listOfReactions.find_all('reaction')
+# rpks = []
+# for r in reactions:
+# rpk = []
+# reactant = r.listOfReactants.find('speciesReference')['species']
+# product = r.listOfProducts.find('speciesReference')['species']
+# kinetics = {}
+# for k in r.listOfParameters.find_all('parameter'):
+# kinetics[k['id']] = k['value']
+# rpks.append([reactant, product, kinetics])
+# return rpks
+
+
+if __name__ == '__main__':
+ import sys
+
+ from ecell4 import *
+ biomodels = BioModelsDataSource
+
+ mid = 'BIOMD0000000005'
+
+ y0 = dict(biomodels(mid).initial_amounts())
+ print(y0)
+
+ params = dict(biomodels(mid).parameters())
+ params.update(biomodels(mid).compartments())
+ print(params)
+
+
+ with reaction_rules():
+ params['EmptySet'] = ~EmptySet #XXX: Just ignore EmptySet
+ params.update(dict(biomodels(mid).assignment_rules(_eval, params)))
+ params.update(dict(biomodels(mid).function_definitions(_eval, params)))
+
+ for reactants, products, formula in biomodels(mid).reactions(_eval, params):
+ reactants > products | formula
+
+ m = get_model()
+ print([rr.as_string() for rr in m.reaction_rules()])
+
+ print(run_simulation(100, model=m, y0=y0, return_type='array'))
+
+ # sbml = SBMLDataSource
+ # for reactants, products, formula, parameters in sbml(filename).reactions():
+
+ # filename = sys.argv[1]
+
+ # y0 = dict(sbml(filename).initial_amounts())
+ # # y0.update(dict(sbml(filename).compartments()))
+ # print(y0)
+
+ # params = dict(sbml(filename).parameters())
+ # params.update(dict(sbml(filename).compartments()))
+ # params['compartment'] = 1.0
+ # print(params)
+
+ # with reaction_rules():
+ # # params.update(dict((var, _eval(formula)) for var, formula in sbml(filename).assignment_rules()))
+ # print(dict((var, _eval(formula)) for var, formula in sbml(filename).assignment_rules()))
+
+ # for reactants, products, formula, parameters in sbml(filename).reactions():
+ # parameters.update(params)
+
+ # (sum((_eval(sp) * coef for sp, coef in reactants), ~EmptySet)
+ # > sum((_eval(sp) * coef for sp, coef in products), ~EmptySet) | _eval(formula, parameters))
+
+ # # _sum(reactants) > _sum(products) | _eval(formula, params)
+ # # _sum(_mul(reactants, reactant_coefficients)) > _sum(_mul(products, product_coefficients)) | _eval(formula, params)
+
+ # m = get_model()
+ # print([rr.as_string() for rr in m.reaction_rules()])
+
+ # run_simulation(60, model=m, y0=y0, opt_kwargs={'legend': False})
+ # # w = run_simulation(0.0032, model=m, y0=y0, species_list=['x1'], return_type='world')
+ # # y0 = dict((sp.serial(), w.get_value(sp)) for sp in w.list_species())
+ # # y0['k5'] = 1.55
+ # # run_simulation(0.1, model=m, y0=y0, species_list=['x1'])
diff --git a/python/lib/ecell4/datasource/sparql.py b/python/lib/ecell4/datasource/sparql.py
new file mode 100644
index 0000000..ced0c8a
--- /dev/null
+++ b/python/lib/ecell4/datasource/sparql.py
@@ -0,0 +1,105 @@
+from SPARQLWrapper import SPARQLWrapper, JSON
+from collections import defaultdict
+
+class ReactomeDataSource(object):
+ def __init__(self):
+ self.sparql = SPARQLWrapper("https://www.ebi.ac.uk/rdf/services/reactome/sparql")
+
+ def create_reactions(self, taxon, model):
+ self.sparql.setQuery("""
+
+PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
+PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+PREFIX owl: <http://www.w3.org/2002/07/owl#>
+PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
+PREFIX dc: <http://purl.org/dc/elements/1.1/>
+PREFIX dcterms: <http://purl.org/dc/terms/>
+PREFIX foaf: <http://xmlns.com/foaf/0.1/>
+PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
+PREFIX biopax3: <http://www.biopax.org/release/biopax-level3.owl#>
+
+SELECT DISTINCT ?pathway ?pathwayname ?rea ?lid ?rid
+WHERE
+{
+ ?pathway rdf:type biopax3:Pathway .
+ ?pathway biopax3:displayName ?pathwayname .
+ ?pathway biopax3:organism <http://identifiers.org/taxonomy/""" + taxon + """> .
+ ?pathway biopax3:pathwayComponent ?rea .
+ ?rea biopax3:left ?l .
+ ?l biopax3:entityReference ?lid .
+ ?rea biopax3:right ?r .
+ ?r biopax3:entityReference ?rid .
+}
+
+ """)
+ self.sparql.setReturnFormat(JSON)
+ results = self.sparql.query().convert()
+
+ lefts = defaultdict(list)
+ rights = defaultdict(list)
+ for r in results['results']['bindings']:
+ lefts[r['rea']['value']].append(r['lid']['value'])
+ rights[r['rea']['value']].append(r['rid']['value'])
+
+ for r in lefts.keys():
+ rr = ReactionRule()
+ for l in set(lefts[r]):
+ #print(l.split("/")[-1])
+ try:
+ rr.add_reactant(Species(l.split("/")[-1]))
+ except:
+ pass
+ for r in set(rights[r]):
+ #print(r.split("/")[-1])
+ try:
+ rr.add_product(Species(r.split("/")[-1]))
+ except:
+ pass
+ model.add_reaction_rule(rr)
+
+class UniprotDataSource(object):
+ def __init__(self):
+ self.sparql = SPARQLWrapper("http://sparql.uniprot.org/sparql/")
+
+ def create_species(self, taxon, model):
+ self.sparql.setQuery("""
+
+PREFIX up:<http://purl.uniprot.org/core/>
+PREFIX taxon:<http://purl.uniprot.org/taxonomy/>
+PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
+PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
+PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
+SELECT ?protein ?genename
+WHERE
+{
+ ?protein a up:Protein .
+ ?protein up:organism ?organism .
+ ?protein up:organism taxon:""" + taxon + """ .
+ ?protein up:encodedBy ?gene .
+ ?gene skos:prefLabel ?genename .
+}
+
+ """)
+ self.sparql.setReturnFormat(JSON)
+ results = self.sparql.query().convert()
+
+ for s in results['results']['bindings']:
+ uniprot_uri = s['protein']['value']
+ uniprot_id = uniprot_uri.split("/")[-1]
+ uniprot_genename = s['genename']['value']
+ s = Species(uniprot_id)
+# if s.serial() == uniprot_id:
+# print(uniprot_id)
+# else:
+ s.set_attribute("identifiers.org", "uniprot")
+ s.set_attribute("genename", uniprot_genename)
+ model.add_species_attribute(s)
+
+if __name__ == '__main__':
+ from ecell4 import *
+ m1 = NetworkModel()
+ upds = UniprotDataSource()
+ upds.create_species('4932', m1)
+ rtds = ReactomeDataSource()
+ rtds.create_reactions('4932', m1)
+
diff --git a/python/lib/ecell4/datasource/uniprot.py b/python/lib/ecell4/datasource/uniprot.py
new file mode 100644
index 0000000..b027fad
--- /dev/null
+++ b/python/lib/ecell4/datasource/uniprot.py
@@ -0,0 +1,500 @@
+import re
+
+from rdflib import Namespace
+from rdflib.namespace import RDF, RDFS, SKOS
+from rdflib.term import URIRef
+
+try:
+ from . import rdf
+ from . import pdb
+except SystemError:
+ import rdf
+ import pdb
+
+
+def description(entity):
+ entity_id = UniProtDataSource.parse_entity(entity)
+ if entity_id is not None:
+ entry = []
+ src = UniProtDataSource(entity_id)
+ if src.obsolete():
+ entry.append(('UniProtKB', '{} (This entry is obsolete)'.format(entity_id), ' - '))
+ entry.append(('URL', UniProtDataSource.link(entity)))
+ return [entry]
+ entry.append(('UniProtKB', '{} ({})'.format(entity_id, ', '.join(src.mnemonic())), ' - '))
+ entry.append(('Protein', ', '.join(src.structured_name())))
+ entry.append(('Gene', ', '.join(src.gene())))
+ entry.append(('Organism', ', '.join(src.organism())))
+ entry.append(('Function', ', '.join(src.function_annotation())))
+ entry.append(('URL', UniProtDataSource.link(entity)))
+ return [entry]
+
+ entity_id = UniProtLocationDataSource.parse_entity(entity)
+ if entity_id is not None:
+ entry = []
+ src = UniProtLocationDataSource(entity_id)
+ entry.append(('UniProtKB', '{} ({})'.format(', '.join(src.pref_label()), src.get_type()), ' - '))
+
+ entry.append(('Definition', ', '.join(src.comment())))
+ entry.append(('Synonyms', ', '.join(src.alt_label())))
+ entry.append(('PartOf', ', '.join(src.part_of())))
+ entry.append(('GO', ', '.join(src.go())))
+ entry.append(('URL', UniProtLocationDataSource.link(entity)))
+ return [entry]
+
+ return []
+
+def whereis(entity):
+ desc = []
+ entity_id = UniProtDataSource.parse_entity(entity)
+ if entity_id is not None:
+ src = UniProtDataSource(entity_id)
+ for component, topology in src.subcellular_location():
+ desc.extend(description(component))
+ if topology is not None:
+ desc.extend(description(topology))
+ return desc
+
+class UniProtDataSourceBase(rdf.RDFDataSourceBase):
+
+ GRAPH = {}
+ UNIPROT = Namespace("http://purl.uniprot.org/core/")
+ UPDB = Namespace("http://purl.uniprot.org/database/")
+
+ def __init__(self, url=None, cache=True):
+ rdf.RDFDataSourceBase.__init__(self, url, cache)
+
+class UniProtTaxonDataSource(UniProtDataSourceBase):
+
+ URL = "http://www.uniprot.org/taxonomy/{entry_id}.rdf"
+
+ def __init__(self, entry_id=None, url=None, cache=True):
+ if url is not None:
+ UniProtDataSourceBase.__init__(
+ self, url, cache)
+ elif entry_id is not None:
+ UniProtDataSourceBase.__init__(
+ self, self.URL.format(entry_id=entry_id), cache)
+ else:
+ UniProtDataSourceBase.__init__(self, None, cache)
+
+ def scientific_name(self):
+ return [str(obj) for obj in self.graph.objects(predicate=self.UNIPROT.scientificName)]
+
+class UniProtLocationDataSource(UniProtDataSourceBase):
+
+ URL = "http://www.uniprot.org/locations/{entity_id}.rdf"
+
+ def __init__(self, entity=None, url=None, cache=True):
+ if url is not None:
+ UniProtDataSourceBase.__init__(
+ self, url, cache)
+ elif entity is not None:
+ entity_id = self.parse_entity(entity)
+ if entity_id is not None:
+ UniProtDataSourceBase.__init__(
+ self, self.URL.format(entity_id=entity_id), cache)
+ else:
+ UniProtDataSourceBase.__init__(self, None, cache)
+ else:
+ UniProtDataSourceBase.__init__(self, None, cache)
+
+ @classmethod
+ def parse_entity(cls, entity):
+ idpttrn = r'(?P<prefix>SL-)?[0-9]{1,4}'
+ uri1 = r'http://purl.uniprot\.org/locations/(?P<id>{})(\.rdf)?'.format(idpttrn)
+ uri2 = r'http://www.uniprot\.org/locations/(?P<id>{})(\.rdf)?'.format(idpttrn)
+
+ if isinstance(entity, str):
+ mobj = re.match(r'^{}$'.format(idpttrn), entity)
+ if mobj is not None:
+ if mobj.group('prefix') is None:
+ return 'SL-{:04d}'.format(int(entity))
+ else:
+ return entity
+ mobj = re.match(uri1, entity)
+ if mobj is not None:
+ if mobj.group('prefix') is None:
+ return 'SL-{:04d}'.format(int(mobj.group('id')))
+ else:
+ return mobj.group('id')
+ mobj = re.match(uri2, entity)
+ if mobj is not None:
+ if mobj.group('prefix') is None:
+ return 'SL-{:04d}'.format(int(mobj.group('id')))
+ else:
+ return mobj.group('id')
+ # else:
+ # import ecell4
+ # if isinstance(entity, ecell4.Species) and entity.has_attribute(collection):
+ # return cls.parse_entity(entity.get_attribute(collection))
+ return None #XXX: Error
+
+ @classmethod
+ def link(cls, entity):
+ entity_id = cls.parse_entity(entity)
+ assert entity_id is not None
+ return 'http://www.uniprot.org/locations/{}'.format(entity_id)
+
+ def pref_label(self):
+ return [str(obj) for obj in self.graph.objects(predicate=SKOS.prefLabel)]
+
+ def alt_label(self):
+ return [str(obj) for obj in self.graph.objects(predicate=SKOS.altLabel)]
+
+ def alias(self):
+ return [str(obj) for obj in self.graph.objects(predicate=self.UNIPROT.alias)]
+
+ def comment(self):
+ return [str(obj) for obj in self.graph.objects(predicate=RDFS.comment)]
+
+ def go(self):
+ return [str(sub) for sub in self.graph.subjects(predicate=self.UNIPROT.database, object=self.UPDB.go)]
+
+ def part_of(self):
+ return [str(obj) for obj in self.graph.objects(predicate=self.UNIPROT.partOf)]
+
+ def get_type(self):
+ qres = self.query(
+ """prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
+ prefix skos: <http://www.w3.org/2004/02/skos/core#>
+ select ?type where
+ {{
+ ?s
+ rdf:type ?type ;
+ skos:prefLabel ?label .
+ }}
+ """)
+ uri = [str(row[0]) for row in qres]
+ assert len(uri) == 1
+ label = [str(obj) for obj in rdf.RDFDataSourceBase(uri[0]).graph.objects(subject=URIRef(uri[0]), predicate=RDFS.label)]
+ assert len(label) == 1
+ return label[0]
+
+class UniProtDataSource(UniProtDataSourceBase):
+
+ URL = "http://www.uniprot.org/uniprot/{entity_id}.rdf"
+
+ def __init__(self, entity=None, url=None, cache=True):
+ if url is not None:
+ UniProtDataSourceBase.__init__(
+ self, url, cache)
+ elif entity is not None:
+ entity_id = self.parse_entity(entity)
+ if entity_id is not None:
+ UniProtDataSourceBase.__init__(
+ self, self.URL.format(entity_id=entity_id), cache)
+ else:
+ UniProtDataSourceBase.__init__(self, None, cache)
+ else:
+ UniProtDataSourceBase.__init__(self, None, cache)
+
+ @classmethod
+ def parse_entity(cls, entity):
+ # http://www.ebi.ac.uk/miriam/main/collections/MIR:00000005
+ collection = 'uniprot'
+ idpttrn = r'([A-N,R-Z][0-9]([A-Z][A-Z, 0-9][A-Z, 0-9][0-9]){1,2})|([O,P,Q][0-9][A-Z, 0-9][A-Z, 0-9][A-Z, 0-9][0-9])(\.\d+)?'
+ uri1 = r'http://identifiers\.org/uniprot/(?P<id>{})'.format(idpttrn)
+ uri2 = r'http://www.uniprot\.org/uniprot/(?P<id>{})(.rdf)?'.format(idpttrn)
+ if isinstance(entity, str):
+ if re.match(r'^{}$'.format(idpttrn), entity) is not None:
+ return entity
+ mobj = re.match(uri1, entity)
+ if mobj is not None:
+ return mobj.group('id')
+ mobj = re.match(uri2, entity)
+ if mobj is not None:
+ return mobj.group('id')
+ else:
+ import ecell4
+ if isinstance(entity, ecell4.Species) and entity.has_attribute(collection):
+ return cls.parse_entity(entity.get_attribute(collection))
+ return None #XXX: Error
+
+ @classmethod
+ def link(cls, entity):
+ entity_id = cls.parse_entity(entity)
+ assert entity_id is not None
+ return 'http://www.uniprot.org/uniprot/{}'.format(entity_id)
+
+ def mnemonic(self):
+ return [str(obj) for obj in self.graph.objects(predicate=self.UNIPROT.mnemonic)] #XXX: Specify its subject
+
+ def obsolete(self):
+ return any(self.graph.objects(predicate=self.UNIPROT.obsolete)) #XXX: Specify its subject
+
+ def gene(self):
+ return [str(obj) for obj in self.objects(self.UNIPROT.Gene, SKOS.prefLabel)]
+
+ def locus_name(self):
+ return [str(obj) for obj in self.objects(self.UNIPROT.Gene, self.UNIPROT.locusName)]
+
+ def function_annotation(self):
+ return [str(obj) for obj in self.objects(self.UNIPROT.Function_Annotation, RDFS.comment)]
+
+ def simple_sequence(self):
+ return [str(obj) for obj in self.objects(self.UNIPROT.Simple_Sequence, RDF.value)]
+
+ def sequence_annotation(self, uri=UniProtDataSourceBase.UNIPROT.Sequence_Annotation):
+ # http://www.uniprot.org/core/
+ # http://www.uniprot.org/help/sequence_annotation
+ qres = rdf.RDFDataSourceBase(str(self.UNIPROT)).query(
+ """prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+ prefix uniprot: <http://purl.uniprot.org/core/>
+ select ?s ?label ?comment ?see_also where
+ {{
+ {{
+ {{
+ ?s
+ rdfs:subClassOf+ <{uri}> ;
+ rdfs:label ?label .
+ }}
+ union
+ {{
+ ?s rdfs:label ?label .
+ filter( ?s = <{uri}> ).
+ }}
+ optional {{ ?s rdfs:comment ?comment }}
+ optional {{ ?s rdfs:seeAlso ?see_also . }}
+ }}
+ }}
+ """.format(uri=str(uri)))
+ names = {}
+ for row in qres:
+ name, label = str(row[0]), str(row[1])
+ value = dict(name=name, label=label)
+ if row[2] is not None:
+ value['comment'] = str(row[2])
+ if row[3] is not None:
+ value['see_also'] = str(row[3])
+ names[name] = value
+
+ qres = self.query("""prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
+ prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+ prefix faldo: <http://biohackathon.org/resource/faldo#>
+ prefix uniprot: <http://purl.uniprot.org/core/>
+ select ?type ?begin ?end ?s ?comment ?substitution where
+ {{
+ ?s
+ rdf:type ?type ;
+ uniprot:range ?range .
+ optional {{ ?s rdfs:comment ?comment }} .
+ optional {{ ?s uniprot:substitution ?substitution }} .
+ filter( ?type in ({}) ) .
+ ?range faldo:begin ?begin_ ; faldo:end ?end_ .
+ ?begin_ faldo:position ?begin .
+ ?end_ faldo:position ?end .
+ }}
+ """.format(', '.join('<{}>'.format(name) for name in names.keys())))
+ retval = []
+ for row in qres:
+ name, begin, end = str(row[0]), int(row[1]), int(row[2])
+ value = dict(begin=begin, end=end, type=names[name])
+ about = str(row[3])
+ citation = self.citation(about)
+ if len(citation) > 0:
+ value['citation'] = citation
+ if row[4] is not None:
+ value['comment'] = str(row[4])
+ if row[5] is not None:
+ value['substitution'] = str(row[5])
+ retval.append(value)
+ return retval
+
+ def citation(self, about):
+ qres = self.query("""prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
+ prefix uniprot: <http://purl.uniprot.org/core/>
+ prefix dcterms: <http://purl.org/dc/terms/>
+ prefix foaf: <http://xmlns.com/foaf/0.1/>
+ prefix xsd: <http://www.w3.org/2001/XMLSchema#>
+ select ?source ?title (group_concat(?author; separator="|") as ?authors) ?link ?doi ?year ?name ?volume ?pages where
+ {{
+ ?s rdf:object <{about}> .
+ ?s uniprot:attribution ?attribution .
+ ?attribution uniprot:source ?source .
+ ?source rdf:type uniprot:Journal_Citation .
+ optional {{ ?source uniprot:title ?title . }}
+ optional {{ ?source uniprot:author ?author . }}
+ optional {{ ?source foaf:primaryTopicOf ?link . }}
+ optional {{ ?source dcterms:identifier ?doi . }}
+ optional
+ {{
+ ?source uniprot:date ?year .
+ filter(datatype(?year) = xsd:gYear)
+ }}
+ optional {{ ?source uniprot:name ?name . }}
+ optional {{ ?source uniprot:volume ?volume . }}
+ optional {{ ?source uniprot:pages ?pages . }}
+ }}
+ group by ?source
+ """.format(about=about))
+
+ keys = ("about", "title", "author", "link", "doi", "year", "name", "volume", "pages", "datatype")
+ retval = []
+ for row in qres:
+ # assert len(row) > 0 and row[0] is not None
+ assert len(row) > 0
+ if row[0] is None:
+ continue
+ entry = {}
+ for key, value in zip(keys, row):
+ if value is None:
+ continue
+ entry[key] = str(value)
+ if "author" in entry.keys():
+ entry["author"] = entry["author"].split("|")
+ retval.append(entry)
+ return retval
+
+ def molecule_processing(self):
+ return self.sequence_annotation(uri=self.UNIPROT.Molecule_Processing_Annotation)
+
+ def region(self):
+ return self.sequence_annotation(uri=self.UNIPROT.Region_Annotation)
+
+ def site(self):
+ return self.sequence_annotation(uri=self.UNIPROT.Site_Annotation)
+
+ def modification(self):
+ return self.sequence_annotation(uri=self.UNIPROT.Modification_Annotation)
+
+ def natural_variation(self):
+ return self.sequence_annotation(uri=self.UNIPROT.Natural_Variation_Annotation)
+
+ def experimental_information(self):
+ return self.sequence_annotation(uri=self.UNIPROT.Experimental_Information_Annotation)
+
+ def secondary_structure(self):
+ return self.sequence_annotation(uri=self.UNIPROT.Secondary_Structure_Annotation)
+
+ def subcellular_location(self):
+ qres = self.query("""
+ prefix uniprot: <http://purl.uniprot.org/core/>
+ select ?cellular_component ?topology where
+ {{
+ ?s
+ rdf:type uniprot:Subcellular_Location_Annotation ;
+ uniprot:locatedIn ?w .
+ ?w
+ uniprot:cellularComponent ?cellular_component .
+ optional {{ ?w uniprot:topology ?topology }} .
+ }}
+ """)
+ retval = []
+ for row in qres:
+ if row[1] is None:
+ retval.append((str(row[0]), None))
+ else:
+ retval.append((str(row[0]), str(row[1])))
+ return retval
+
+ def organism(self):
+ retval = []
+ for obj1 in self.graph.objects(predicate=self.UNIPROT.organism):
+ mobj = re.match("http:\/\/purl\.uniprot\.org\/taxonomy\/([0-9]+)", str(obj1))
+ if mobj is None:
+ continue
+ # taxon_id = mobj.group(1)
+ # retval.extend(UniProtTaxonDataSource(taxon_id).scientific_name())
+ retval.extend(UniProtTaxonDataSource(url=str(obj1)).scientific_name())
+ return retval
+
+ def structured_name(self):
+ return [str(obj) for obj in self.objects(self.UNIPROT.Structured_Name, self.UNIPROT.fullName)]
+
+ def structure_resource(self):
+ return [str(sub) for sub in self.graph.subjects(predicate=RDF.type, object=self.UNIPROT.Structure_Resource)]
+
+ def pdb(self):
+ retval = []
+ for sub in self.graph.subjects(predicate=RDF.type, object=self.UNIPROT.Structure_Resource):
+ if URIRef("http://purl.uniprot.org/database/PDB") not in self.graph.objects(subject=sub, predicate=self.UNIPROT.database):
+ continue
+ # mobj = re.match("http:\/\/rdf\.wwpdb\.org\/pdb\/([0-9A-Za-z]+)", str(sub))
+ # if mobj is None:
+ # continue
+ # pdb_id = mobj.group(1).upper()
+ retval.extend(pdb.PDBDataSource(url=str(sub)).identifier())
+ return retval
+
+ def database(self, dbname):
+ return [str(sub) for sub in self.graph.subjects(predicate=self.UNIPROT.database, object=self.UPDB[dbname])]
+
+ def biogrid(self):
+ return self.database("BioGrid")
+
+# from ecell4.core import Species
+# try:
+# from urllib2 import Request, urlopen
+# except ImportError:
+# from urllib.request import Request, urlopen
+#
+# class DataSource:
+#
+# def __init__(self):
+# pass
+#
+# @classmethod
+# def description(cls, uid):
+# return None
+#
+# class UniProtSource(DataSource):
+#
+# def __init__(self):
+# pass
+#
+# @classmethod
+# def getid(cls, obj):
+# if isinstance(obj, Species) and obj.has_attribute("uniprot.id"):
+# return obj.get_attribute("uniprot.id")
+# elif isinstance(obj, str):
+# return obj
+# else:
+# return None
+#
+# @classmethod
+# def description(cls, obj):
+# uid = cls.getid(obj)
+# if uid is None:
+# return None
+# url = 'http://www.uniprot.org/uniprot/{}.txt'.format(uid)
+# req = Request(url)
+# response = urlopen(req)
+# data = response.read()
+# return data.decode('utf-8')
+#
+# def description(obj, database="uniprot"):
+# if database == "uniprot":
+# return UniProtSource.description(obj)
+# return None
+#
+#
+# if __name__ == "__main__":
+# sp = Species("MinD")
+# sp.set_attribute("uniprot.id", "P0AEZ3")
+# print(description(sp, database="uniprot"))
+
+if __name__ == "__main__":
+ # print(description("P0AEZ3"))
+ print(description("http://identifiers.org/uniprot/P0AEZ3"))
+ # print(description("http://www.uniprot.org/uniprot/P0AEZ3.rdf"))
+
+ print(UniProtDataSource("P0AEZ3").gene()[0])
+ print(UniProtDataSource("P0AEZ3").locus_name())
+ print(UniProtDataSource("P0AEZ3").function_annotation()[0])
+ print(UniProtDataSource("P0AEZ3").organism()[0])
+ print(UniProtDataSource("P0AEZ3").structure_resource())
+ print(UniProtDataSource("P0AEZ3").pdb())
+ print(UniProtDataSource("P0AEZ3").biogrid())
+ print(UniProtDataSource("P0AEZ3").database("IntAct"))
+
+ print(UniProtDataSource("P28482").molecule_processing())
+ print(UniProtDataSource("P28482").region())
+ print(UniProtDataSource("P28482").site())
+ print(UniProtDataSource("P28482").modification())
+ print(UniProtDataSource("P28482").natural_variation())
+ print(UniProtDataSource("P28482").experimental_information())
+ print(UniProtDataSource("P28482").secondary_structure())
+
+ print(UniProtDataSource("P28482").subcellular_location())
+ print(whereis("P28482"))
diff --git a/python/lib/ecell4/egfrd.pxd b/python/lib/ecell4/egfrd.pxd
new file mode 100644
index 0000000..802fe45
--- /dev/null
+++ b/python/lib/ecell4/egfrd.pxd
@@ -0,0 +1,202 @@
+from libcpp.string cimport string
+from libcpp cimport bool
+
+from core cimport *
+
+
+## Cpp_ReactionInfo
+cdef extern from "ecell4/egfrd/egfrd.hpp" namespace "ecell4::egfrd":
+ cdef cppclass Cpp_ReactionInfo "ecell4::egfrd::ReactionInfo":
+ Cpp_ReactionInfo(Real, vector[pair[Cpp_ParticleID, Cpp_Particle]], vector[pair[Cpp_ParticleID, Cpp_Particle]])
+ Cpp_ReactionInfo(Cpp_ReactionInfo&)
+ Real t()
+ vector[pair[Cpp_ParticleID, Cpp_Particle]] reactants()
+ vector[pair[Cpp_ParticleID, Cpp_Particle]] products()
+
+## ReactionInfo
+# a python wrapper for Cpp_ReactionInfo
+cdef class ReactionInfo:
+ cdef Cpp_ReactionInfo* thisptr
+
+cdef ReactionInfo ReactionInfo_from_Cpp_ReactionInfo(Cpp_ReactionInfo* ri)
+
+## Cpp_EGFRDWorld
+# ecell4::egfrd::EGFRDWorld
+cdef extern from "ecell4/egfrd/egfrd.hpp" namespace "ecell4::egfrd":
+ cdef cppclass Cpp_EGFRDWorld "ecell4::egfrd::EGFRDWorld":
+ Cpp_EGFRDWorld() except +
+ Cpp_EGFRDWorld(Cpp_Real3&) except +
+ Cpp_EGFRDWorld(Cpp_Real3&, Cpp_Integer3&) except +
+ Cpp_EGFRDWorld(
+ Cpp_Real3&, Cpp_Integer3&,
+ shared_ptr[Cpp_RandomNumberGenerator]&) except +
+ # shared_ptr[Cpp_GSLRandomNumberGenerator]&) except +
+ Cpp_EGFRDWorld(string&) except +
+ pair[pair[Cpp_ParticleID, Cpp_Particle], bool] new_particle(Cpp_Particle& p)
+ pair[pair[Cpp_ParticleID, Cpp_Particle], bool] new_particle(Cpp_Species& sp, Cpp_Real3& pos)
+ void set_t(Real t)
+ Real t()
+ Cpp_Real3& edge_lengths()
+ Cpp_Real3 actual_lengths()
+ void set_value(Cpp_Species&, Real)
+ Real get_value(Cpp_Species&)
+ Real get_value_exact(Cpp_Species&)
+ Integer num_particles()
+ Integer num_particles(Cpp_Species& sp)
+ Integer num_particles_exact(Cpp_Species& sp)
+ vector[pair[Cpp_ParticleID, Cpp_Particle]] list_particles()
+ vector[pair[Cpp_ParticleID, Cpp_Particle]] list_particles(Cpp_Species& sp)
+ vector[pair[Cpp_ParticleID, Cpp_Particle]] list_particles_exact(Cpp_Species& sp)
+ bool has_particle(Cpp_ParticleID& pid)
+ bool update_particle(Cpp_ParticleID& pid, Cpp_Particle& p)
+ pair[Cpp_ParticleID, Cpp_Particle] get_particle(Cpp_ParticleID& pid)
+ void remove_particle(Cpp_ParticleID& pid)
+ vector[pair[pair[Cpp_ParticleID, Cpp_Particle], Real]] list_particles_within_radius(Cpp_Real3& pos, Real& radius)
+ vector[pair[pair[Cpp_ParticleID, Cpp_Particle], Real]] list_particles_within_radius(Cpp_Real3& pos, Real& radius, Cpp_ParticleID& ignore)
+ vector[pair[pair[Cpp_ParticleID, Cpp_Particle], Real]] list_particles_within_radius(Cpp_Real3& pos, Real& radius, Cpp_ParticleID& ignore1, Cpp_ParticleID& ignore2)
+ # Cpp_Real3 periodic_transpose(Cpp_Real3& pos1, Cpp_Real3& pos2)
+ Cpp_Real3 apply_boundary(Cpp_Real3& pos)
+ # Real distance_sq(Cpp_Real3& pos1, Cpp_Real3& pos2)
+ Real distance(Cpp_Real3& pos1, Cpp_Real3& pos2)
+ Real volume()
+ bool has_species(Cpp_Species& sp)
+ vector[Cpp_Species] list_species()
+ Integer num_molecules(Cpp_Species& sp)
+ Integer num_molecules_exact(Cpp_Species& sp)
+ void add_molecules(Cpp_Species& sp, Integer num)
+ void add_molecules(Cpp_Species& sp, Integer num, shared_ptr[Cpp_Shape])
+ void remove_molecules(Cpp_Species& sp, Integer num)
+ void save(string filename) except +
+ void load(string filename) except +
+ void bind_to(shared_ptr[Cpp_Model])
+ shared_ptr[Cpp_RandomNumberGenerator] rng()
+
+ cdef cppclass Cpp_EGFRDSimulator "ecell4::egfrd::EGFRDSimulator":
+ #XXX: be carefull about the order of arguments
+ Cpp_EGFRDSimulator(
+ shared_ptr[Cpp_EGFRDWorld]&, shared_ptr[Cpp_Model]&) except +
+ Cpp_EGFRDSimulator(
+ shared_ptr[Cpp_EGFRDWorld]&, shared_ptr[Cpp_Model]&,
+ Real) except +
+ Cpp_EGFRDSimulator(
+ shared_ptr[Cpp_EGFRDWorld]&, shared_ptr[Cpp_Model]&,
+ Real, Integer) except +
+ Cpp_EGFRDSimulator(
+ shared_ptr[Cpp_EGFRDWorld]&, shared_ptr[Cpp_Model]&,
+ Real, Integer, Real) except +
+ Cpp_EGFRDSimulator(
+ shared_ptr[Cpp_EGFRDWorld]&) except +
+ Cpp_EGFRDSimulator(
+ shared_ptr[Cpp_EGFRDWorld]&, Real) except +
+ Cpp_EGFRDSimulator(
+ shared_ptr[Cpp_EGFRDWorld]&, Real, Integer) except +
+ Cpp_EGFRDSimulator(
+ shared_ptr[Cpp_EGFRDWorld]&, Real, Integer, Real) except +
+ Integer num_steps()
+ void step() except +
+ bool step(Real) except +
+ Real t()
+ void set_t(Real)
+ void set_dt(Real)
+ Real dt()
+ Real next_time()
+ vector[pair[Cpp_ReactionRule, Cpp_ReactionInfo]] last_reactions()
+ bool check_reaction()
+ void initialize()
+ # Cpp_GSLRandomNumberGenerator& rng()
+ shared_ptr[Cpp_Model] model()
+ shared_ptr[Cpp_EGFRDWorld] world()
+ void run(Real) except +
+ void run(Real, shared_ptr[Cpp_Observer]) except +
+ void run(Real, vector[shared_ptr[Cpp_Observer]]) except +
+ void set_paranoiac(bool)
+
+ cdef cppclass Cpp_EGFRDFactory "ecell4::egfrd::EGFRDFactory":
+ Cpp_EGFRDFactory(Cpp_Integer3&, Real, Integer, Real) except +
+ Cpp_EGFRDWorld* create_world()
+ Cpp_EGFRDWorld* create_world(string)
+ Cpp_EGFRDWorld* create_world(Cpp_Real3&)
+ Cpp_EGFRDWorld* create_world(shared_ptr[Cpp_Model])
+ Cpp_EGFRDSimulator* create_simulator(shared_ptr[Cpp_Model], shared_ptr[Cpp_EGFRDWorld])
+ Cpp_EGFRDSimulator* create_simulator(shared_ptr[Cpp_EGFRDWorld])
+ Cpp_EGFRDFactory* rng_ptr(shared_ptr[Cpp_RandomNumberGenerator]&)
+ @staticmethod
+ Cpp_Integer3 default_matrix_sizes()
+ @staticmethod
+ Real default_bd_dt_factor()
+ @staticmethod
+ Integer default_dissociation_retry_moves()
+ @staticmethod
+ Real default_user_max_shell_size()
+
+ cdef cppclass Cpp_BDFactory "ecell4::egfrd::BDFactory":
+ Cpp_BDFactory(Cpp_Integer3&, Real, Integer) except +
+ Cpp_EGFRDWorld* create_world()
+ Cpp_EGFRDWorld* create_world(string)
+ Cpp_EGFRDWorld* create_world(Cpp_Real3&)
+ Cpp_EGFRDWorld* create_world(shared_ptr[Cpp_Model])
+ Cpp_BDSimulator* create_simulator(shared_ptr[Cpp_Model], shared_ptr[Cpp_EGFRDWorld])
+ Cpp_BDSimulator* create_simulator(shared_ptr[Cpp_EGFRDWorld])
+ Cpp_BDFactory* rng_ptr(shared_ptr[Cpp_RandomNumberGenerator]&)
+ @staticmethod
+ Cpp_Integer3 default_matrix_sizes()
+ @staticmethod
+ Real default_bd_dt_factor()
+ @staticmethod
+ Integer default_dissociation_retry_moves()
+
+ cdef cppclass Cpp_BDSimulator "ecell4::egfrd::BDSimulator":
+ #XXX: be carefull about the order of arguments
+ Cpp_BDSimulator(
+ shared_ptr[Cpp_EGFRDWorld]&, shared_ptr[Cpp_Model]&) except +
+ Cpp_BDSimulator(
+ shared_ptr[Cpp_EGFRDWorld]&, shared_ptr[Cpp_Model]&,
+ Real) except +
+ Cpp_BDSimulator(
+ shared_ptr[Cpp_EGFRDWorld]&, shared_ptr[Cpp_Model]&,
+ Real, Integer) except +
+ Cpp_BDSimulator(shared_ptr[Cpp_EGFRDWorld]&) except +
+ Cpp_BDSimulator(shared_ptr[Cpp_EGFRDWorld]&, Real) except +
+ Cpp_BDSimulator(shared_ptr[Cpp_EGFRDWorld]&, Real, Integer) except +
+ Integer num_steps()
+ void step() except +
+ bool step(Real) except +
+ Real t()
+ void set_t(Real)
+ void set_dt(Real)
+ Real dt()
+ Real next_time()
+ vector[pair[Cpp_ReactionRule, Cpp_ReactionInfo]] last_reactions()
+ bool check_reaction()
+ void initialize()
+ # Cpp_GSLRandomNumberGenerator& rng()
+ shared_ptr[Cpp_Model] model()
+ shared_ptr[Cpp_EGFRDWorld] world()
+ void run(Real) except +
+ void run(Real, shared_ptr[Cpp_Observer]) except +
+ void run(Real, vector[shared_ptr[Cpp_Observer]]) except +
+ Real dt_factor()
+
+cdef class EGFRDWorld:
+ cdef shared_ptr[Cpp_EGFRDWorld]* thisptr
+
+cdef class EGFRDSimulator:
+ cdef Cpp_EGFRDSimulator* thisptr
+
+cdef class EGFRDFactory:
+ cdef Cpp_EGFRDFactory* thisptr
+
+cdef class BDSimulator:
+ cdef Cpp_BDSimulator* thisptr
+
+cdef class BDFactory:
+ cdef Cpp_BDFactory* thisptr
+
+cdef EGFRDWorld EGFRDWorld_from_Cpp_EGFRDWorld(
+ shared_ptr[Cpp_EGFRDWorld] m)
+
+cdef EGFRDSimulator EGFRDSimulator_from_Cpp_EGFRDSimulator(
+ Cpp_EGFRDSimulator* s)
+
+cdef BDSimulator BDSimulator_from_Cpp_BDSimulator(
+ Cpp_BDSimulator* s)
diff --git a/python/lib/ecell4/egfrd.pyx b/python/lib/ecell4/egfrd.pyx
new file mode 100644
index 0000000..aaad528
--- /dev/null
+++ b/python/lib/ecell4/egfrd.pyx
@@ -0,0 +1,1344 @@
+import collections
+from cython cimport address
+from cython.operator cimport dereference as deref, preincrement as inc
+from ecell4.core cimport *
+
+
+## ReactionInfo
+cdef class ReactionInfo:
+ """A class stores detailed information about a reaction in egfrd.
+
+ ReactionInfo(t, reactants, products)
+
+ """
+
+ def __init__(self, Real t, reactants, products):
+ """Constructor.
+
+ Args:
+ t (Real): A time when a reaction occurs
+ reactants (list): A list of reactants.
+ Reactants are given as a pair of ``ParticleID`` and ``Particle``.
+ products (list): A list of products.
+ Products are given as a pair of ``ParticleID`` and ``Particle``.
+
+ """
+ pass #XXX: only used for doc string
+
+ def __cinit__(self, Real t, reactants, products):
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]] reactants_
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]] products_
+
+ for pid, p in reactants:
+ reactants_.push_back(
+ pair[Cpp_ParticleID, Cpp_Particle](
+ deref((<ParticleID>pid).thisptr), deref((<Particle>p).thisptr)))
+ for pid, p in products:
+ products_.push_back(
+ pair[Cpp_ParticleID, Cpp_Particle](
+ deref((<ParticleID>pid).thisptr), deref((<Particle>p).thisptr)))
+
+ self.thisptr = new Cpp_ReactionInfo(t, reactants_, products_)
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def t(self):
+ """Return a time when a reaction occurred."""
+ return self.thisptr.t()
+
+ def reactants(self):
+ """Return a list of reactants
+
+ Returns:
+ list: A list of pairs of ``ParticleID`` and ``Particle``.
+
+ """
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]] particles
+ particles = self.thisptr.reactants()
+
+ retval = []
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]].iterator \
+ it = particles.begin()
+ while it != particles.end():
+ retval.append(
+ (ParticleID_from_Cpp_ParticleID(
+ <Cpp_ParticleID*>(address(deref(it).first))),
+ Particle_from_Cpp_Particle(
+ <Cpp_Particle*>(address(deref(it).second)))))
+ inc(it)
+ return retval
+
+ def products(self):
+ """Return a list of products
+
+ Returns:
+ list: A list of pairs of ``ParticleID`` and ``Particle``.
+
+ """
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]] particles
+ particles = self.thisptr.products()
+
+ retval = []
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]].iterator \
+ it = particles.begin()
+ while it != particles.end():
+ retval.append(
+ (ParticleID_from_Cpp_ParticleID(
+ <Cpp_ParticleID*>(address(deref(it).first))),
+ Particle_from_Cpp_Particle(
+ <Cpp_Particle*>(address(deref(it).second)))))
+ inc(it)
+ return retval
+
+ def __reduce__(self):
+ return (ReactionInfo, (self.t(), self.reactants(), self.products()))
+
+cdef ReactionInfo ReactionInfo_from_Cpp_ReactionInfo(Cpp_ReactionInfo* ri):
+ cdef Cpp_ReactionInfo *new_obj = new Cpp_ReactionInfo(<Cpp_ReactionInfo> deref(ri))
+ r = ReactionInfo(0, [], [])
+ del r.thisptr
+ r.thisptr = new_obj
+ return r
+
+## EGFRDWorld
+# a python wrapper for Cpp_EGFRDWorld
+cdef class EGFRDWorld:
+ """A class containing the properties of the egfrd world.
+
+ EGFRDWorld(edge_lengths=None, matrix_sizes=None, GSLRandomNumberGenerator rng=None)
+
+ """
+
+ def __init__(self, edge_lengths = None, Integer3 matrix_sizes = None,
+ GSLRandomNumberGenerator rng = None):
+ """Constructor.
+
+ Parameters
+ ----------
+ edge_lengths : Real3, optional
+ A size of the World.
+ matrix_sizes : Integer3, optional
+ A size of a cell matrix.
+ The number of cells must be larger than 3, in principle.
+ rng : GSLRandomNumberGenerator, optional
+ A random number generator.
+
+ """
+ pass
+
+ def __cinit__(self, edge_lengths=None, Integer3 matrix_sizes=None,
+ GSLRandomNumberGenerator rng=None):
+ cdef string filename
+
+ if rng is not None:
+ self.thisptr = new shared_ptr[Cpp_EGFRDWorld](
+ new Cpp_EGFRDWorld(
+ deref((<Real3>edge_lengths).thisptr),
+ deref(matrix_sizes.thisptr), deref(rng.thisptr)))
+ elif matrix_sizes is not None:
+ self.thisptr = new shared_ptr[Cpp_EGFRDWorld](
+ new Cpp_EGFRDWorld(
+ deref((<Real3>edge_lengths).thisptr),
+ deref(matrix_sizes.thisptr)))
+ elif edge_lengths is None:
+ self.thisptr = new shared_ptr[Cpp_EGFRDWorld](new Cpp_EGFRDWorld())
+ elif isinstance(edge_lengths, Real3):
+ self.thisptr = new shared_ptr[Cpp_EGFRDWorld](
+ new Cpp_EGFRDWorld(deref((<Real3>edge_lengths).thisptr)))
+ else:
+ filename = tostring(edge_lengths)
+ self.thisptr = new shared_ptr[Cpp_EGFRDWorld](
+ new Cpp_EGFRDWorld(filename))
+
+ def __dealloc__(self):
+ # XXX: Here, we release shared pointer,
+ # and if reference count to the EGFRDWorld object,
+ # it will be released automatically.
+ del self.thisptr
+
+ def new_particle(self, arg1, Real3 arg2=None):
+ """new_particle(arg1, arg2=None) -> (ParticleID, Particle)
+
+ Create a new particle.
+
+ Parameters
+ ----------
+ arg1 : Particle
+ A particle to be placed.
+
+ or
+
+ arg1 : Species
+ A species of a particle
+ arg2 : Real3
+ A position to place a particle
+
+ Returns
+ -------
+ tuple:
+ A pair of ParticleID and Particle of a new particle
+
+ """
+ cdef pair[pair[Cpp_ParticleID, Cpp_Particle], bool] retval
+
+ if arg2 is None:
+ retval = self.thisptr.get().new_particle(deref((<Particle> arg1).thisptr))
+ else:
+ retval = self.thisptr.get().new_particle(deref((<Species> arg1).thisptr), deref(arg2.thisptr))
+ return ((ParticleID_from_Cpp_ParticleID(address(retval.first.first)), Particle_from_Cpp_Particle(address(retval.first.second))), retval.second)
+
+ def set_t(self, Real t):
+ """set_t(t)
+
+ Set the value of the time of the world.
+
+ Parameters
+ ----------
+ t : Real
+ The time of the world
+
+ """
+ self.thisptr.get().set_t(t)
+
+ def t(self):
+ """Return the time of the world."""
+ return self.thisptr.get().t()
+
+ def edge_lengths(self):
+ """edge_lengths() -> Real3
+
+ Return the edge lengths of the world.
+
+ """
+ cdef Cpp_Real3 lengths = self.thisptr.get().edge_lengths()
+ return Real3_from_Cpp_Real3(address(lengths))
+
+ def actual_lengths(self):
+ """actual_lengths() -> Real3
+
+ Return the actual edge lengths of the world.
+ Same as ``edge_lengths``.
+ """
+ cdef Cpp_Real3 lengths = self.thisptr.get().actual_lengths()
+ return Real3_from_Cpp_Real3(address(lengths))
+
+ def set_value(self, Species sp, Real value):
+ """set_value(sp, value)
+
+ Set the value of the given species.
+
+ Parameters
+ ----------
+ sp : Species
+ a species whose value you set
+ value : Real
+ a value set
+
+ """
+ self.thisptr.get().set_value(deref(sp.thisptr), value)
+
+ def get_value(self, Species sp):
+ """get_value(sp) -> Real
+
+ Return the value (number) corresponding the given Species.
+
+ Parameters
+ ----------
+ sp : Species
+ a species whose value you require
+
+ Returns
+ -------
+ Real:
+ the value
+
+ """
+ return self.thisptr.get().get_value(deref(sp.thisptr))
+
+ def get_value_exact(self, Species sp):
+ """get_value_exact(sp) -> Real
+
+ Return the value (number) corresponding the given Species.
+
+ Parameters
+ ----------
+ sp : Species
+ a species whose value you require
+
+ Returns
+ -------
+ Real:
+ the value
+
+ """
+ return self.thisptr.get().get_value_exact(deref(sp.thisptr))
+
+ def num_particles(self, Species sp = None):
+ """num_particles(sp=None) -> Integer
+
+ Return the number of particles.
+
+ Parameters
+ ----------
+ sp : Species, optional
+ The species of particles to count
+ If no species is given, return the total number of particles.
+
+ Returns
+ -------
+ Integer: The number of particles (of the given species)
+
+ """
+ if sp is None:
+ return self.thisptr.get().num_particles()
+ else:
+ return self.thisptr.get().num_particles(deref(sp.thisptr))
+
+ def num_particles_exact(self, Species sp):
+ """num_particles_exact(sp) -> Integer
+
+ Return the number of particles of a given species.
+
+ Parameters
+ ----------
+ sp : Species
+ The species of particles to count
+
+ Returns
+ -------
+ Integer:
+ The number of particles of a given species
+
+ """
+ return self.thisptr.get().num_particles_exact(deref(sp.thisptr))
+
+ def list_particles(self, Species sp = None):
+ """list_particles(sp) -> [(ParticleID, Particle)]
+
+ Return the list of particles.
+
+ Parameters
+ ----------
+ sp : Species, optional
+ The species of particles to list up
+ If no species is given, return the whole list of particles.
+
+ Returns
+ -------
+ list:
+ The list of particles (of the given species)
+
+ """
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]] particles
+ if sp is None:
+ particles = self.thisptr.get().list_particles()
+ else:
+ particles = self.thisptr.get().list_particles(deref(sp.thisptr))
+
+ retval = []
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]].iterator \
+ it = particles.begin()
+ while it != particles.end():
+ retval.append(
+ (ParticleID_from_Cpp_ParticleID(
+ <Cpp_ParticleID*>(address(deref(it).first))),
+ Particle_from_Cpp_Particle(
+ <Cpp_Particle*>(address(deref(it).second)))))
+ inc(it)
+ return retval
+
+ def list_particles_exact(self, Species sp):
+ """list_particles_exact(sp) -> [(ParticleID, Particle)]
+
+ Return the list of particles of a given species.
+
+ Parameters
+ ----------
+ sp : Species
+ The species of particles to list up
+
+ Returns
+ -------
+ list:
+ The list of particles of a given species
+
+ """
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]] particles
+ particles = self.thisptr.get().list_particles(deref(sp.thisptr))
+
+ retval = []
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]].iterator \
+ it = particles.begin()
+ while it != particles.end():
+ retval.append(
+ (ParticleID_from_Cpp_ParticleID(
+ <Cpp_ParticleID*>(address(deref(it).first))),
+ Particle_from_Cpp_Particle(
+ <Cpp_Particle*>(address(deref(it).second)))))
+ inc(it)
+ return retval
+
+ def has_particle(self, ParticleID pid):
+ """has_particle(pid) -> bool
+
+ Check if a particle associated with a given particle id exists.
+
+ Parameters
+ ----------
+ pid : ParticleID
+ A particle id to check
+
+ Returns
+ -------
+ bool:
+ If a particle exists, return True. Otherwise return False
+
+ """
+ return self.thisptr.get().has_particle(deref(pid.thisptr))
+
+ def update_particle(self, ParticleID pid, Particle p):
+ """update_particle(pid, p) -> bool
+
+ Update a particle.
+
+ Parameters
+ ----------
+ pid : ParticleID
+ A particle id of the particle to update
+ p : Particle
+ The information to update a particle
+
+ Returns
+ -------
+ bool:
+ True if a new particle was created.
+
+ """
+ return self.thisptr.get().update_particle(deref(pid.thisptr), deref(p.thisptr))
+
+ def get_particle(self, ParticleID pid):
+ """get_particle(pid) -> (ParticleID, Particle)
+
+ Return the particle associated a given ParticleID.
+
+ Parameters
+ ----------
+ pid : ParticleID
+ An id of the particle you want
+
+ Returns
+ -------
+ tuple:
+ A pair of ParticleID and Particle
+
+ """
+ cdef pair[Cpp_ParticleID, Cpp_Particle] \
+ pid_particle_pair = self.thisptr.get().get_particle(deref(pid.thisptr))
+ return (ParticleID_from_Cpp_ParticleID(address(pid_particle_pair.first)),
+ Particle_from_Cpp_Particle(address(pid_particle_pair.second)))
+
+ def remove_particle(self, ParticleID pid):
+ """remove_particle(pid)
+
+ Remove the particle associated with a given ParticleID.
+
+ Parameters
+ ----------
+ pid : ParticleID
+ An id of particle to remove
+
+ """
+ self.thisptr.get().remove_particle(deref(pid.thisptr))
+
+ def list_particles_within_radius(
+ self, Real3 pos, Real radius,
+ ParticleID ignore1 = None, ParticleID ignore2 = None):
+ """list_particles_within_radius(pos, radius, ignore1=None, ignore2=None) -> [((ParticleID, Particle), Real)]
+
+ Returns a list of pairs of a particle and distance within the given sphere.
+ The region is specified with a center position and radius.
+ ignore1 and ignore2 will be removed from the list.
+
+ Parameters
+ ----------
+ pos : Real3
+ A center position.
+ radius : Real
+ A radius.
+ ignore1 : ParticleID, optional
+ An id ignored.
+ ignore2 : ParticleID, optional
+ An id ignored.
+
+ Returns
+ -------
+ list:
+ A list of pairs of a particle and its distance from the center position.
+
+ """
+ cdef vector[pair[pair[Cpp_ParticleID, Cpp_Particle], Real]] particles
+ if ignore1 is None and ignore2 is None:
+ particles = self.thisptr.get().list_particles_within_radius(
+ deref(pos.thisptr), radius)
+ elif ignore2 is None:
+ particles = self.thisptr.get().list_particles_within_radius(
+ deref(pos.thisptr), radius, deref(ignore1.thisptr))
+ else:
+ particles = self.thisptr.get().list_particles_within_radius(
+ deref(pos.thisptr), radius,
+ deref(ignore1.thisptr), deref(ignore2.thisptr))
+
+ retval = []
+ cdef vector[pair[pair[Cpp_ParticleID, Cpp_Particle], Real]].iterator \
+ it = particles.begin()
+ while it != particles.end():
+ retval.append(
+ ((ParticleID_from_Cpp_ParticleID(
+ <Cpp_ParticleID*>(address(deref(it).first.first))),
+ Particle_from_Cpp_Particle(
+ <Cpp_Particle*>(address(deref(it).first.second)))),
+ deref(it).second))
+ inc(it)
+ return retval
+
+ # def periodic_transpose(self, Real3 pos1, Real3 pos2):
+ # """periodic_transpose(Real3 pos1, Real3 pos2) -> Real3
+ #
+ # Return a closest image of pos1 relative to the given position (pos2).
+ #
+ # """
+ # cdef Cpp_Real3 newpos = self.thisptr.get().periodic_transpose(
+ # deref(pos1.thisptr), deref(pos2.thisptr))
+ # return Real3_from_Cpp_Real3(address(newpos))
+
+ def apply_boundary(self, Real3 pos):
+ """apply_boundary(Real3 pos) -> Real3
+
+ Return a position within the world by applying periodic boundaries
+ to the given position.
+
+ """
+ cdef Cpp_Real3 newpos = self.thisptr.get().apply_boundary(deref(pos.thisptr))
+ return Real3_from_Cpp_Real3(address(newpos))
+
+ # def distance_sq(self, Real3 pos1, Real3 pos2):
+ # """distance_sq(Real3 pos1, Real3 pos2) -> Real
+ #
+ # Return a square of the closest distance between the given positions.
+ #
+ # """
+ # return self.thisptr.get().distance_sq(deref(pos1.thisptr), deref(pos2.thisptr))
+
+ def distance(self, Real3 pos1, Real3 pos2):
+ """distance(Real3 pos1, Real3 pos2) -> Real
+
+ Return the closest distance between the given positions.
+
+ """
+ return self.thisptr.get().distance(deref(pos1.thisptr), deref(pos2.thisptr))
+
+ def volume(self):
+ """Return the volume of the world."""
+ return self.thisptr.get().volume()
+
+ def has_species(self, Species sp):
+ """has_species(sp) -> bool
+
+ Check if the given species is in the space or not.
+
+ Parameters
+ ----------
+ sp : Species
+ A species to be found.
+
+ Returns
+ -------
+ bool:
+ True if the species in the space.
+
+ """
+ return self.thisptr.get().has_species(deref(sp.thisptr))
+
+ def list_species(self):
+ """Return a list of species."""
+ cdef vector[Cpp_Species] species = self.thisptr.get().list_species()
+
+ retval = []
+ cdef vector[Cpp_Species].iterator it = species.begin()
+ while it != species.end():
+ retval.append(
+ Species_from_Cpp_Species(
+ <Cpp_Species*>(address(deref(it)))))
+ inc(it)
+ return retval
+
+ def num_molecules(self, Species sp):
+ """num_molecules(sp) -> Integer
+
+ Return the number of molecules.
+
+ Parameters
+ ----------
+ sp : Species
+ a species whose molecules you count
+
+ Returns
+ -------
+ Integer:
+ the number of molecules (of a given species)
+
+ """
+ return self.thisptr.get().num_molecules(deref(sp.thisptr))
+
+ def num_molecules_exact(self, Species sp):
+ """num_molecules_exact(sp) -> Integer
+
+ Return the number of molecules of a given species.
+
+ Parameters
+ ----------
+ sp : Species
+ a species whose molecules you count
+
+ Returns
+ -------
+ Integer:
+ the number of molecules of a given species
+
+ """
+ return self.thisptr.get().num_molecules_exact(deref(sp.thisptr))
+
+ # def add_species(self, Species sp):
+ # self.thisptr.get().add_species(deref(sp.thisptr))
+
+ def add_molecules(self, Species sp, Integer num, shape=None):
+ """add_molecules(sp, num, shape=None)
+
+ Add some molecules.
+
+ Parameters
+ ----------
+ sp : Species
+ a species of molecules to add
+ num : Integer
+ the number of molecules to add
+ shape : Shape, optional
+ a shape to add molecules on [not supported yet]
+
+ """
+ if shape is None:
+ self.thisptr.get().add_molecules(deref(sp.thisptr), num)
+ else:
+ self.thisptr.get().add_molecules(
+ deref(sp.thisptr), num, deref((<Shape>(shape.as_base())).thisptr))
+
+ def remove_molecules(self, Species sp, Integer num):
+ """remove_molecules(sp, num)
+
+ Remove the molecules.
+
+ Parameters
+ ----------
+ sp : Species
+ a species whose molecules to remove
+ num : Integer
+ a number of molecules to be removed
+
+ """
+ self.thisptr.get().remove_molecules(deref(sp.thisptr), num)
+
+ def save(self, filename):
+ """save(filename)
+
+ Save the world to a file.
+
+ Parameters
+ ----------
+ filename : str
+ a filename to save to
+
+ """
+ self.thisptr.get().save(tostring(filename))
+
+ def load(self, filename):
+ """load(filename)
+
+ Load the world from a file.
+
+ Parameters
+ ----------
+ filename : str
+ a filename to load from
+
+ """
+ self.thisptr.get().load(tostring(filename))
+
+ def bind_to(self, m):
+ """bind_to(m)
+
+ Bind a model to the world
+
+ Parameters
+ ----------
+ m : Model
+ a model to bind
+
+ """
+ self.thisptr.get().bind_to(Cpp_Model_from_Model(m))
+
+ def rng(self):
+ """Return a random number generator object."""
+ return GSLRandomNumberGenerator_from_Cpp_RandomNumberGenerator(
+ self.thisptr.get().rng())
+
+cdef EGFRDWorld EGFRDWorld_from_Cpp_EGFRDWorld(
+ shared_ptr[Cpp_EGFRDWorld] w):
+ r = EGFRDWorld(Real3(1, 1, 1))
+ r.thisptr.swap(w)
+ return r
+
+## EGFRDSimulator
+# a python wrapper for Cpp_EGFRDSimulator
+cdef class EGFRDSimulator:
+ """ A class running the simulation with the egfrd algorithm.
+
+ EGFRDSimulator(m, w)
+
+ """
+
+ def __init__(self, *args):
+ """EGFRDSimulator(m, w, bd_dt_factor, dissociation_retry_moves, user_max_shell_size)
+ EGFRDSimulator(w, bd_dt_factor, dissociation_retry_moves, user_max_shell_size)
+
+ Constructor.
+
+ Parameters
+ ----------
+ m : Model
+ A model
+ w : EGFRDWorld
+ A world
+ bd_dt_factor : Real
+ dissociation_retry_moves : Integer
+ user_max_shell_size : Real
+
+ """
+ pass
+
+ def __cinit__(self, *args):
+ if len(args) == 1:
+ self.thisptr = new Cpp_EGFRDSimulator(deref((<EGFRDWorld>args[0]).thisptr))
+ elif len(args) == 2:
+ if isinstance(args[1], EGFRDWorld):
+ self.thisptr = new Cpp_EGFRDSimulator(
+ deref((<EGFRDWorld>args[1]).thisptr),
+ Cpp_Model_from_Model(args[0]))
+ else:
+ self.thisptr = new Cpp_EGFRDSimulator(
+ deref((<EGFRDWorld>args[0]).thisptr),
+ <Real>args[1])
+ elif len(args) == 3:
+ if isinstance(args[1], EGFRDWorld):
+ self.thisptr = new Cpp_EGFRDSimulator(
+ deref((<EGFRDWorld>args[1]).thisptr),
+ Cpp_Model_from_Model(args[0]),
+ <Real>args[2])
+ else:
+ self.thisptr = new Cpp_EGFRDSimulator(
+ deref((<EGFRDWorld>args[0]).thisptr),
+ <Real>args[1], <Integer>args[2])
+ elif len(args) == 4:
+ if isinstance(args[1], EGFRDWorld):
+ self.thisptr = new Cpp_EGFRDSimulator(
+ deref((<EGFRDWorld>args[1]).thisptr),
+ Cpp_Model_from_Model(args[0]),
+ <Real>args[2], <Integer>args[3])
+ else:
+ self.thisptr = new Cpp_EGFRDSimulator(
+ deref((<EGFRDWorld>args[0]).thisptr),
+ <Real>args[1], <Integer>args[2], <Real>args[3])
+ elif len(args) == 5:
+ self.thisptr = new Cpp_EGFRDSimulator(
+ deref((<EGFRDWorld>args[1]).thisptr),
+ Cpp_Model_from_Model(args[0]),
+ <Real>args[2], <Integer>args[3], <Real>args[4])
+ else:
+ raise ValueError(
+ "The invalid number of arguments was given [{}].".format(len(args)))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def num_steps(self):
+ """Return the number of steps."""
+ return self.thisptr.num_steps()
+
+ def step(self, upto = None):
+ """step(upto=None) -> bool
+
+ Step the simulation.
+
+ Parameters
+ ----------
+ upto : Real, optional
+ the time which to step the simulation up to
+
+ Returns
+ -------
+ bool:
+ True if the simulation did not reach the given time.
+ When upto is not given, nothing will be returned.
+
+ """
+ if upto is None:
+ self.thisptr.step()
+ else:
+ return self.thisptr.step(<Real> upto)
+
+ def t(self):
+ """Return the time."""
+ return self.thisptr.t()
+
+ def dt(self):
+ """Return the step interval."""
+ return self.thisptr.dt()
+
+ def next_time(self):
+ """Return the scheduled time for the next step."""
+ return self.thisptr.next_time()
+
+ def check_reaction(self):
+ """Return if any reaction occurred at the last step, or not."""
+ return self.thisptr.check_reaction()
+
+ def last_reactions(self):
+ """last_reactions() -> [(ReactionRule, ReactionInfo)]
+
+ Return reactions occuring at the last step.
+
+ Returns
+ -------
+ list:
+ the list of reaction rules and infos.
+
+ """
+ cdef vector[pair[Cpp_ReactionRule, Cpp_ReactionInfo]] reactions = self.thisptr.last_reactions()
+ cdef vector[pair[Cpp_ReactionRule, Cpp_ReactionInfo]].iterator it = reactions.begin()
+ retval = []
+ while it != reactions.end():
+ retval.append((
+ ReactionRule_from_Cpp_ReactionRule(
+ <Cpp_ReactionRule*>(address(deref(it).first))),
+ ReactionInfo_from_Cpp_ReactionInfo(
+ <Cpp_ReactionInfo*>(address(deref(it).second)))))
+ inc(it)
+ return retval
+
+
+ def set_t(self, Real new_t):
+ """set_t(t)
+
+ Set the current time.
+
+ Parameters
+ ----------
+ t : Real
+ A current time.
+
+ """
+ self.thisptr.set_t(new_t)
+
+ def set_dt(self, Real dt):
+ """set_dt(dt)
+
+ Set a step interval.
+
+ Parameters
+ ----------
+ dt : Real
+ A step interval
+
+ """
+ self.thisptr.set_dt(dt)
+
+ def initialize(self):
+ """Initialize the simulator."""
+ self.thisptr.initialize()
+
+ def model(self):
+ """Return the model bound."""
+ return Model_from_Cpp_Model(self.thisptr.model())
+
+ def world(self):
+ """Return the world bound."""
+ return EGFRDWorld_from_Cpp_EGFRDWorld(self.thisptr.world())
+
+ def run(self, Real duration, observers=None):
+ """run(duration, observers)
+
+ Run the simulation.
+
+ Parameters
+ ----------
+ duration : Real
+ a duration for running a simulation.
+ A simulation is expected to be stopped at t() + duration.
+ observers : list of Obeservers, optional
+ observers
+
+ """
+ cdef vector[shared_ptr[Cpp_Observer]] tmp
+
+ if observers is None:
+ self.thisptr.run(duration)
+ elif isinstance(observers, collections.Iterable):
+ for obs in observers:
+ tmp.push_back(deref((<Observer>(obs.as_base())).thisptr))
+ self.thisptr.run(duration, tmp)
+ else:
+ self.thisptr.run(duration,
+ deref((<Observer>(observers.as_base())).thisptr))
+
+ def set_paranoiac(self, val):
+ self.thisptr.set_paranoiac(<bool>val)
+
+cdef EGFRDSimulator EGFRDSimulator_from_Cpp_EGFRDSimulator(Cpp_EGFRDSimulator* s):
+ r = EGFRDSimulator(
+ Model_from_Cpp_Model(s.model()), EGFRDWorld_from_Cpp_EGFRDWorld(s.world()))
+ del r.thisptr
+ r.thisptr = s
+ return r
+
+## EGFRDFactory
+# a python wrapper for Cpp_EGFRDFactory
+cdef class EGFRDFactory:
+ """ A factory class creating a EGFRDWorld instance and a EGFRDSimulator instance.
+
+ EGFRDFactory(Integer3 matrix_sizes=None, Real bd_dt_factor=None,
+ Integer dissociation_retry_moves=None, Real user_max_shell_size=None)
+
+ """
+
+ def __init__(self, Integer3 matrix_sizes=None, bd_dt_factor=None,
+ dissociation_retry_moves=None, user_max_shell_size=None):
+ """Constructor.
+
+ Parameters
+ ----------
+ matrix_sizes : Integer3, optional
+ A size of a cell matrix.
+ The number of cells must be larger than 3, in principle.
+ bd_dt_factor : Real, optioanl
+ A rescaling factor for the step interval
+ of BD propagation in a Multi domain.
+ dissociation_retry_moves : Integer, optional
+ A number of trials for placing a new product when it's failed
+ because of the overlap.
+ user_max_shell_size : Real, optional
+ A custom max shell size.
+
+ """
+ pass
+
+ def __cinit__(self, Integer3 matrix_sizes=None, bd_dt_factor=None,
+ dissociation_retry_moves=None, user_max_shell_size=None):
+ self.thisptr = new Cpp_EGFRDFactory(
+ Cpp_EGFRDFactory.default_matrix_sizes() if matrix_sizes is None else deref(matrix_sizes.thisptr),
+ Cpp_EGFRDFactory.default_bd_dt_factor() if bd_dt_factor is None else <Real>bd_dt_factor,
+ Cpp_EGFRDFactory.default_dissociation_retry_moves() if dissociation_retry_moves is None else <Integer>dissociation_retry_moves,
+ Cpp_EGFRDFactory.default_user_max_shell_size() if user_max_shell_size is None else <Real>user_max_shell_size)
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def rng(self, GSLRandomNumberGenerator rng):
+ """rng(GSLRandomNumberGenerator) -> EGFRDFactory
+
+ Set a random number generator, and return self.
+
+ """
+ cdef Cpp_EGFRDFactory *ptr = self.thisptr.rng_ptr(deref(rng.thisptr))
+ assert ptr == self.thisptr
+ return self
+
+ def create_world(self, arg1=None):
+ """create_world(arg1=None) -> EGFRDWorld
+
+ Return a EGFRDWorld instance.
+
+ Parameters
+ ----------
+ arg1 : Real3
+ The lengths of edges of a EGFRDWorld created
+
+ or
+
+ arg1 : str
+ The path of a HDF5 file for EGFRDWorld
+
+ Returns
+ -------
+ EGFRDWorld:
+ The created world
+
+ """
+ if arg1 is None:
+ return EGFRDWorld_from_Cpp_EGFRDWorld(
+ shared_ptr[Cpp_EGFRDWorld](self.thisptr.create_world()))
+ elif isinstance(arg1, Real3):
+ return EGFRDWorld_from_Cpp_EGFRDWorld(
+ shared_ptr[Cpp_EGFRDWorld](
+ self.thisptr.create_world(deref((<Real3>arg1).thisptr))))
+ elif isinstance(arg1, str):
+ return EGFRDWorld_from_Cpp_EGFRDWorld(
+ shared_ptr[Cpp_EGFRDWorld](self.thisptr.create_world(<string>(arg1))))
+ else:
+ return EGFRDWorld_from_Cpp_EGFRDWorld(
+ shared_ptr[Cpp_EGFRDWorld](self.thisptr.create_world(
+ Cpp_Model_from_Model(arg1))))
+
+ def create_simulator(self, arg1, EGFRDWorld arg2=None):
+ """create_simulator(arg1, arg2) -> EGFRDSimulator
+
+ Return a EGFRDSimulator instance.
+
+ Parameters
+ ----------
+ arg1 : EGFRDWorld
+ A world
+
+ or
+
+ arg1 : Model
+ A simulation model
+ arg2 : EGFRDWorld
+ A world
+
+ Returns
+ -------
+ EGFRDSimulator:
+ The created simulator
+
+ """
+ if arg2 is None:
+ return EGFRDSimulator_from_Cpp_EGFRDSimulator(
+ self.thisptr.create_simulator(deref((<EGFRDWorld>arg1).thisptr)))
+ else:
+ return EGFRDSimulator_from_Cpp_EGFRDSimulator(
+ self.thisptr.create_simulator(
+ Cpp_Model_from_Model(arg1), deref(arg2.thisptr)))
+
+## BDSimulator
+# a python wrapper for Cpp_BDSimulator
+cdef class BDSimulator:
+ """ A class running the simulation with the bd algorithm.
+
+ BDSimulator(m, w)
+
+ """
+
+ def __init__(self, *args):
+ """BDSimulator(m, w, bd_dt_factor, dissociation_retry_moves)
+ BDSimulator(w, bd_dt_factor, dissociation_retry_moves)
+
+ Constructor.
+
+ Parameters
+ ----------
+ m : Model
+ A model
+ w : EGFRDWorld
+ A world
+ bd_dt_factor : Real
+ dissociation_retry_moves : Integer
+
+ """
+ pass
+
+ def __cinit__(self, *args):
+ if len(args) == 1:
+ self.thisptr = new Cpp_BDSimulator(deref((<EGFRDWorld>args[0]).thisptr))
+ elif len(args) == 2:
+ if isinstance(args[1], EGFRDWorld):
+ self.thisptr = new Cpp_BDSimulator(
+ deref((<EGFRDWorld>args[1]).thisptr),
+ Cpp_Model_from_Model(args[0]))
+ else:
+ self.thisptr = new Cpp_BDSimulator(
+ deref((<EGFRDWorld>args[0]).thisptr),
+ <Real>args[1])
+ elif len(args) == 3:
+ if isinstance(args[1], EGFRDWorld):
+ self.thisptr = new Cpp_BDSimulator(
+ deref((<EGFRDWorld>args[1]).thisptr),
+ Cpp_Model_from_Model(args[0]),
+ <Real>args[2])
+ else:
+ self.thisptr = new Cpp_BDSimulator(
+ deref((<EGFRDWorld>args[0]).thisptr),
+ <Real>args[1], <Integer>args[2])
+ elif len(args) == 4:
+ self.thisptr = new Cpp_BDSimulator(
+ deref((<EGFRDWorld>args[1]).thisptr),
+ Cpp_Model_from_Model(args[0]),
+ <Real>args[2], <Integer>args[3])
+ else:
+ raise ValueError(
+ "The invalid number of arguments was given [{}].".format(len(args)))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def num_steps(self):
+ """Return the number of steps."""
+ return self.thisptr.num_steps()
+
+ def step(self, upto = None):
+ """step(upto=None) -> bool
+
+ Step the simulation.
+
+ Parameters
+ ----------
+ upto : Real, optional
+ The time which to step the simulation up to
+
+ Returns
+ -------
+ bool:
+ True if the simulation did not reach the given time.
+ When upto is not given, nothing will be returned.
+
+ """
+ if upto is None:
+ self.thisptr.step()
+ else:
+ return self.thisptr.step(<Real> upto)
+
+ def t(self):
+ """Return the time."""
+ return self.thisptr.t()
+
+ def dt(self):
+ """Return the step interval."""
+ return self.thisptr.dt()
+
+ def next_time(self):
+ """Return the scheduled time for the next step."""
+ return self.thisptr.next_time()
+
+ def check_reaction(self):
+ """Return if any reaction occurred at the last step, or not."""
+ return self.thisptr.check_reaction()
+
+ def last_reactions(self):
+ """last_reactions() -> [(ReactionRule, ReactionInfo)]
+
+ Return reactions occuring at the last step.
+
+ Returns
+ -------
+ list:
+ The list of reaction rules and infos.
+
+ """
+ cdef vector[pair[Cpp_ReactionRule, Cpp_ReactionInfo]] reactions = self.thisptr.last_reactions()
+ cdef vector[pair[Cpp_ReactionRule, Cpp_ReactionInfo]].iterator it = reactions.begin()
+ retval = []
+ while it != reactions.end():
+ retval.append((
+ ReactionRule_from_Cpp_ReactionRule(
+ <Cpp_ReactionRule*>(address(deref(it).first))),
+ ReactionInfo_from_Cpp_ReactionInfo(
+ <Cpp_ReactionInfo*>(address(deref(it).second)))))
+ inc(it)
+ return retval
+
+ def set_t(self, Real new_t):
+ """set_t(t)
+
+ Set the current time.
+
+ Parameters
+ ----------
+ t : Real
+ a current time.
+
+ """
+ self.thisptr.set_t(new_t)
+
+ def set_dt(self, Real dt):
+ """set_dt(dt)
+
+ Set a step interval.
+
+ Parameters
+ ----------
+ dt : Real
+ a step interval
+
+ """
+ self.thisptr.set_dt(dt)
+
+ def initialize(self):
+ """Initialize the simulator."""
+ self.thisptr.initialize()
+
+ def model(self):
+ """Return the model bound."""
+ return Model_from_Cpp_Model(self.thisptr.model())
+
+ def world(self):
+ """Return the world bound."""
+ return EGFRDWorld_from_Cpp_EGFRDWorld(self.thisptr.world())
+
+ def run(self, Real duration, observers=None):
+ """run(duration, observers)
+
+ Run the simulation.
+
+ Parameters
+ ----------
+ duration : Real
+ a duration for running a simulation.
+ A simulation is expected to be stopped at t() + duration.
+ observers : list of Obeservers, optional
+ observers
+
+ """
+ cdef vector[shared_ptr[Cpp_Observer]] tmp
+
+ if observers is None:
+ self.thisptr.run(duration)
+ elif isinstance(observers, collections.Iterable):
+ for obs in observers:
+ tmp.push_back(deref((<Observer>(obs.as_base())).thisptr))
+ self.thisptr.run(duration, tmp)
+ else:
+ self.thisptr.run(duration,
+ deref((<Observer>(observers.as_base())).thisptr))
+
+ def dt_factor(self):
+ return self.thisptr.dt_factor()
+
+
+cdef BDSimulator BDSimulator_from_Cpp_BDSimulator(Cpp_BDSimulator* s):
+ r = BDSimulator(
+ Model_from_Cpp_Model(s.model()), EGFRDWorld_from_Cpp_EGFRDWorld(s.world()))
+ del r.thisptr
+ r.thisptr = s
+ return r
+
+## BDFactory
+# a python wrapper for Cpp_BDFactory
+cdef class BDFactory:
+ """ A factory class creating a BDWorld instance and a BDSimulator instance.
+
+ BDFactory(Integer3 matrix_sizes=None, Real bd_dt_factor=None,
+ Integer dissociation_retry_moves=None)
+
+ """
+
+ def __init__(self, Integer3 matrix_sizes=None, bd_dt_factor=None,
+ dissociation_retry_moves=None):
+ """Constructor.
+
+ Parameters
+ ----------
+ matrix_sizes : Integer3, optional
+ A size of a cell matrix.
+ The number of cells must be larger than 3, in principle.
+ bd_dt_factor : Real, optioanl
+ A rescaling factor for the step interval
+ of BD propagation in a Multi domain.
+ dissociation_retry_moves : Integer, optional
+ A number of trials for placing a new product when it's failed
+ because of the overlap.
+
+ """
+ pass
+
+ def __cinit__(self, Integer3 matrix_sizes=None, bd_dt_factor=None,
+ dissociation_retry_moves=None):
+ self.thisptr = new Cpp_BDFactory(
+ Cpp_BDFactory.default_matrix_sizes() if matrix_sizes is None else deref(matrix_sizes.thisptr),
+ Cpp_BDFactory.default_bd_dt_factor() if bd_dt_factor is None else <Real>bd_dt_factor,
+ Cpp_BDFactory.default_dissociation_retry_moves() if dissociation_retry_moves is None else <Integer>dissociation_retry_moves)
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def rng(self, GSLRandomNumberGenerator rng):
+ """rng(GSLRandomNumberGenerator) -> BDFactory
+
+ Set a random number generator, and return self.
+
+ """
+ cdef Cpp_BDFactory *ptr = self.thisptr.rng_ptr(deref(rng.thisptr))
+ assert ptr == self.thisptr
+ return self
+
+ def create_world(self, arg1):
+ """create_world(arg1=None) -> EGFRDWorld
+
+ Return a EGFRDWorld instance.
+
+ Parameters
+ ----------
+ arg1 : Real3
+ The lengths of edges of a EGFRDWorld created
+
+ or
+
+ arg1 : str
+ The path of a HDF5 file for EGFRDWorld
+
+ Returns
+ -------
+ EGFRDWorld:
+ The created world
+
+ """
+ if isinstance(arg1, Real3):
+ return EGFRDWorld_from_Cpp_EGFRDWorld(
+ shared_ptr[Cpp_EGFRDWorld](
+ self.thisptr.create_world(deref((<Real3>arg1).thisptr))))
+ elif isinstance(arg1, str):
+ return EGFRDWorld_from_Cpp_EGFRDWorld(
+ shared_ptr[Cpp_EGFRDWorld](self.thisptr.create_world(<string>(arg1))))
+ else:
+ return EGFRDWorld_from_Cpp_EGFRDWorld(
+ shared_ptr[Cpp_EGFRDWorld](self.thisptr.create_world(
+ Cpp_Model_from_Model(arg1))))
+
+ def create_simulator(self, arg1, EGFRDWorld arg2=None):
+ """create_simulator(arg1, arg2) -> BDSimulator
+
+ Return a BDSimulator instance.
+
+ Parameters
+ ----------
+ arg1 : BDWorld
+ A world
+
+ or
+
+ arg1 : Model
+ A simulation model
+ arg2 : BDWorld
+ A world
+
+ Returns
+ -------
+ BDSimulator:
+ The created simulator
+
+ """
+ if arg2 is None:
+ return BDSimulator_from_Cpp_BDSimulator(
+ self.thisptr.create_simulator(deref((<EGFRDWorld>arg1).thisptr)))
+ else:
+ return BDSimulator_from_Cpp_BDSimulator(
+ self.thisptr.create_simulator(
+ Cpp_Model_from_Model(arg1), deref(arg2.thisptr)))
diff --git a/python/lib/ecell4/extra/__init__.py b/python/lib/ecell4/extra/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/python/lib/ecell4/extra/ensemble.py b/python/lib/ecell4/extra/ensemble.py
new file mode 100644
index 0000000..c7723d2
--- /dev/null
+++ b/python/lib/ecell4/extra/ensemble.py
@@ -0,0 +1,381 @@
+from __future__ import print_function
+
+import os
+import logging
+import tempfile
+import pickle
+import inspect
+import textwrap
+import re
+import types
+import itertools
+import binascii
+import multiprocessing
+import copy
+
+import ecell4.extra.sge as sge
+
+
+def run_serial(target, jobs, n=1, **kwargs):
+ return [[target(copy.copy(job), i + 1, j + 1) for j in range(n)] for i, job in enumerate(jobs)]
+
+def run_multiprocessing(target, jobs, n=1, **kwargs):
+ def target_wrapper(f, end_send):
+ def wf(*_args, **_kwargs):
+ end_send.send(f(*_args, **_kwargs))
+ return wf
+
+ processes = []
+ end_recvs = []
+ for i, job in enumerate(jobs):
+ for j in range(n):
+ end_recv, end_send = multiprocessing.Pipe(False)
+ end_recvs.append(end_recv)
+ p = multiprocessing.Process(
+ target=target_wrapper(target, end_send), args=(job, i + 1, j + 1))
+ p.start()
+ processes.append(p)
+
+ for p in processes:
+ p.join()
+
+ retval = [end_recv.recv() for end_recv in end_recvs]
+ return [retval[i: i + n] for i in range(0, len(retval), n)]
+
+def run_sge(target, jobs, n=1, path='.', delete=True, wait=True, environ=None, modules=[], **kwargs):
+ logging.basicConfig(level=logging.DEBUG)
+
+ if isinstance(target, types.LambdaType) and target.__name__ == "<lambda>":
+ raise RuntimeError("A lambda function is not accepted")
+
+ # src = textwrap.dedent(inspect.getsource(singlerun)).replace(r'"', r'\"')
+ src = textwrap.dedent(inspect.getsource(target)).replace(r'"', r'\"')
+ if re.match('[\s\t]+', src.split('\n')[0]) is not None:
+ raise RuntimeError(
+ "Wrong indentation was found in the source translated")
+
+ if not os.path.isdir(path):
+ os.makedirs(path) #XXX: MYOB
+
+ if environ is None:
+ environ = {}
+ keys = ("LD_LIBRARY_PATH", "PYTHONPATH")
+ for key in keys:
+ if key in os.environ.keys():
+ environ[key] = os.environ[key]
+
+ if "PYTHONPATH" in environ.keys() and environ["PYTHONPATH"].strip() != "":
+ environ["PYTHONPATH"] = "{}:{}".format(os.getcwd(), environ["PYTHONPATH"])
+ else:
+ environ["PYTHONPATH"] = os.getcwd()
+
+ cmds = []
+ pickleins = []
+ pickleouts = []
+ for i, job in enumerate(jobs):
+ (fd, picklein) = tempfile.mkstemp(suffix='.pickle', prefix='sge-', dir=path)
+ with os.fdopen(fd, 'wb') as fout:
+ pickle.dump(job, fout)
+ pickleins.append(picklein)
+
+ pickleouts.append([])
+ for j in range(n):
+ fd, pickleout = tempfile.mkstemp(suffix='.pickle', prefix='sge-', dir=path)
+ os.close(fd)
+ pickleouts[-1].append(pickleout)
+ # pickleouts.append(
+ # [tempfile.mkstemp(suffix='.pickle', prefix='sge-', dir=path)[1]
+ # for j in range(n)])
+
+ cmd = '#!/bin/bash\n'
+ for key, value in environ.items():
+ cmd += 'export {:s}={:s}\n'.format(key, value)
+ cmd += 'python3 -c "\n'
+ cmd += 'import sys\n'
+ cmd += 'import os\n'
+ cmd += 'import pickle\n'
+ cmd += 'with open(sys.argv[1], \'rb\') as fin:\n'
+ cmd += ' job = pickle.load(fin)\n'
+ cmd += 'pass\n'
+ for m in modules:
+ cmd += "from {} import *\n".format(m)
+ cmd += src
+ cmd += '\ntid = int(os.environ[\'SGE_TASK_ID\'])'
+ cmd += '\nretval = {:s}(job, {:d}, tid)'.format(target.__name__, i + 1)
+ cmd += '\nfilenames = {:s}'.format(str(pickleouts[-1]))
+ cmd += '\npickle.dump(retval, open(filenames[tid - 1], \'wb\'))'
+ cmd += '" {:s}\n'.format(picklein)
+ cmds.append(cmd)
+
+ if isinstance(wait, bool):
+ sync = 0 if not wait else 10
+ elif isinstance(wait, int):
+ sync = wait
+ else:
+ raise ValueError("'wait' must be either 'int' or 'bool'.")
+
+ jobids = sge.run(cmds, n=n, path=path, delete=delete, sync=sync)
+
+ if not (sync > 0):
+ return None
+
+ for jobid, name in jobids:
+ outputs = sge.collect(jobid, name, n=n, path=path, delete=delete)
+ for output in outputs:
+ print(output, end='')
+
+ retval = [[pickle.load(open(pickleout, 'rb')) for pickleout in tasks]
+ for tasks in pickleouts]
+
+ if delete:
+ for picklename in itertools.chain(pickleins, *pickleouts):
+ os.remove(picklename)
+
+ return retval
+
+def genseeds(n):
+ """
+ Return a random number generator seed for ensemble_simulations.
+ A seed for a single run is given by ``getseed(rngseed, i)``.
+
+ Parameters
+ ----------
+ n : int
+ A size of the seed.
+
+ Returns
+ -------
+ rndseed : bytes
+ A random number seed for multiple runs.
+
+ """
+ return binascii.hexlify(os.urandom(4 * n))
+
+def getseed(myseed, i):
+ """
+ Return a single seed from a long seed given by `genseeds`.
+
+ Parameters
+ ----------
+ myseed : bytes
+ A long seed given by `genseeds(n)`.
+ i : int
+ An index less than n.
+
+ Returns
+ -------
+ rndseed : int
+ A seed (less than (2 ** 31))
+
+ """
+ rndseed = int(myseed[(i - 1) * 8: i * 8], 16)
+ rndseed = rndseed % (2 ** 31) #XXX: trancate the first bit
+ return rndseed
+
+#XXX:
+#XXX:
+#XXX:
+
+def singlerun(job, job_id, task_id):
+ import ecell4.util
+ import ecell4.exta.ensemble
+ rndseed = ecell4.exta.ensemble.getseed(job.pop('myseed'), task_id)
+ job.update({'return_type': 'array', 'rndseed': rndseed})
+ data = ecell4.util.run_simulation(**job)
+ return data
+
+import ecell4.util.decorator
+import ecell4.util.simulation
+import ecell4.util.viz
+import ecell4.ode
+
+## observers=(), progressbar=0
+def ensemble_simulations(
+ t, y0={}, volume=1.0, model=None, solver='ode',
+ is_netfree=False, species_list=None, without_reset=False,
+ return_type='matplotlib', opt_args=(), opt_kwargs={},
+ structures={}, rndseed=None,
+ n=1, nproc=1, method=None, errorbar=True,
+ **kwargs):
+ """
+ Run simulations multiple times and return its ensemble.
+ Arguments are almost same with ``ecell4.util.run_simulation``.
+ `observers` and `progressbar` is not available here.
+
+ Parameters
+ ----------
+ n : int, optional
+ A number of runs. Default is 1.
+ nproc : int, optional
+ A number of processors. Ignored when method='serial'.
+ Default is 1.
+ method : str, optional
+ The way for running multiple jobs.
+ Choose one from 'serial', 'sge' and 'multiprocessing'.
+ Default is None, which works as 'serial'.
+ **kwargs : dict, optional
+ Optional keyword arugments are passed through to `run_serial`,
+ `run_sge`, or `run_multiprocessing`.
+ See each function for more details.
+
+ Returns
+ -------
+ value : list, DummyObserver, or None
+ Return a value suggested by ``return_type``.
+ When ``return_type`` is 'array', return a time course data.
+ When ``return_type`` is 'observer', return a DummyObserver.
+ DummyObserver is a wrapper, which has the almost same interface
+ with NumberObservers.
+ Return nothing if else.
+
+ See Also
+ --------
+ ecell4.util.run_simulation
+ ecell4.extra.run_serial
+ ecell4.extra.run_sge
+ ecell4.extra.run_multiprocessing
+
+ """
+ for key, value in kwargs.items():
+ if key == 'r':
+ return_type = value
+ elif key == 'v':
+ volume = value
+ elif key == 's':
+ solver = value
+ elif key == 'm':
+ model = value
+ else:
+ raise ValueError(
+ "An unknown keyword argument was given [{}={}]".format(key, value))
+
+ if model is None:
+ model = ecell4.util.decorator.get_model(is_netfree, without_reset)
+
+ if isinstance(model, ecell4.ode.ODENetworkModel):
+ raise ValueError('A model with ratelaws is not supported yet.')
+
+ if species_list is None:
+ species_list = ecell4.util.simulation.list_species(model, y0.keys())
+
+ if rndseed is None:
+ myseed = genseeds(n)
+ elif (not isinstance(rndseed, bytes) or len(rndseed) != n * 4 * 2):
+ raise ValueError(
+ "A wrong seed for the random number generation was given. Use 'genseeds'.")
+
+ jobs = [{'t': t, 'y0': y0, 'volume': volume, 'model': model, 'solver': solver, 'species_list': species_list, 'structures': structures, 'myseed': myseed}]
+
+ if method is None or method.lower() == "serial":
+ retval = run_serial(singlerun, jobs, n=n, **kwargs)
+ elif method.lower() == "sge":
+ retval = run_sge(singlerun, jobs, n=n, **kwargs)
+ elif method.lower() == "multiprocessing":
+ retval = run_multiprocessing(singlerun, jobs, n=n, **kwargs)
+ else:
+ raise ValueError(
+ 'Argument "method" must be one of "serial", "multiprocessing" and "sge".')
+
+ assert len(retval) == len(jobs) == 1
+
+ if return_type == "array":
+ return retval[0]
+
+ import numpy
+
+ class DummyObserver:
+
+ def __init__(self, inputs, species_list, errorbar=True):
+ if len(inputs) == 0:
+ raise ValueError("No input was given.")
+
+ t = numpy.array(inputs[0], numpy.float64).T[0]
+ mean = sum([numpy.array(data, numpy.float64).T[1: ] for data in inputs])
+ mean /= len(inputs)
+
+ self.__data = numpy.vstack([t, mean]).T
+
+ if errorbar:
+ std = sum([(numpy.array(data, numpy.float64).T[1: ] - mean) ** 2
+ for data in inputs])
+ std /= len(inputs)
+ std = numpy.sqrt(std)
+ self.__error = numpy.vstack([t, std]).T
+ else:
+ self.__error = None
+
+ self.__species_list = [ecell4.Species(serial) for serial in species_list]
+
+ def targets(self):
+ return self.__species_list
+
+ def data(self):
+ return self.__data
+
+ def t(self):
+ return self.__data.T[0]
+
+ def error(self):
+ return self.__error
+
+ if return_type in ("matplotlib", 'm'):
+ if isinstance(opt_args, (list, tuple)):
+ ecell4.util.viz.plot_number_observer_with_matplotlib(
+ DummyObserver(retval[0], species_list, errorbar), *opt_args, **opt_kwargs)
+ elif isinstance(opt_args, dict):
+ # opt_kwargs is ignored
+ ecell4.util.viz.plot_number_observer_with_matplotlib(
+ DummyObserver(retval[0], species_list, errorbar), **opt_args)
+ else:
+ raise ValueError('opt_args [{}] must be list or dict.'.format(
+ repr(opt_args)))
+ elif return_type in ("nyaplot", 'n'):
+ if isinstance(opt_args, (list, tuple)):
+ ecell4.util.viz.plot_number_observer_with_nya(
+ DummyObserver(retval[0], species_list, errorbar), *opt_args, **opt_kwargs)
+ elif isinstance(opt_args, dict):
+ # opt_kwargs is ignored
+ ecell4.util.viz.plot_number_observer_with_nya(
+ DummyObserver(retval[0], species_list, errorbar), **opt_args)
+ else:
+ raise ValueError('opt_args [{}] must be list or dict.'.format(
+ repr(opt_args)))
+ elif return_type in ("observer", 'o'):
+ return DummyObserver(retval[0], species_list, errorbar)
+ elif return_type in ("dataframe", 'd'):
+ import pandas
+ return [
+ pandas.concat([
+ pandas.DataFrame(dict(Time=numpy.array(data).T[0],
+ Value=numpy.array(data).T[i + 1],
+ Species=serial))
+ for i, serial in enumerate(species_list)])
+ for data in retval[0]]
+ else:
+ raise ValueError(
+ 'Invald Argument "return_type" was given [{}].'.format(str(return_type)))
+
+
+if __name__ == "__main__":
+ # def myrun(job, job_id=0, task_id=0):
+ # import ecell4
+ # print("Hi, I'm in local!")
+ # print("My job id is {:d}, and my task id is {:d}.".format(job_id, task_id))
+ # print("My job is {:s}.".format(str(job)))
+ # return job['x'] + job['y']
+
+ # jobs = [{'x': i, 'y': i ** 2} for i in range(1, 4)]
+ # print(run_serial(myrun, jobs, n=2))
+ # print(run_multiprocessing(myrun, jobs, n=2))
+ # # print(run_sge(myrun, jobs, n=2, delete=False))
+ # print(run_sge(myrun, jobs, n=2))
+
+ from ecell4 import *
+ from ecell4.extra import ensemble
+
+ with reaction_rules():
+ A + B == C | (0.01, 0.3)
+
+ ensemble.ensemble_simulations(
+ 10.0, {'C': 60}, solver='gillespie', return_type='matplotlib',
+ n=30, method='multiprocessing')
diff --git a/python/lib/ecell4/extra/sge.py b/python/lib/ecell4/extra/sge.py
new file mode 100644
index 0000000..f4a066f
--- /dev/null
+++ b/python/lib/ecell4/extra/sge.py
@@ -0,0 +1,130 @@
+import subprocess
+import time
+import re
+import tempfile
+import os
+import os.path
+import logging
+import collections
+
+PREFIX = '/usr/bin'
+QSUB_CMD = os.path.join(PREFIX, 'qsub')
+QSTAT_CMD = os.path.join(PREFIX, 'qstat')
+QDEL_CMD = os.path.join(PREFIX, 'qdel')
+
+def get_logger():
+ return logging.getLogger('sge')
+
+def run(jobs, n=1, path='.', wc_queue_list='all.q', sync=10, delete=True):
+ if not isinstance(jobs, collections.Iterable):
+ return singlerun(jobs, n, path, wc_queue_list, sync, delete)
+
+ retval = []
+ for job in jobs:
+ retval.append(singlerun(job, n, path, wc_queue_list, sync=0))
+ if sync > 0:
+ try:
+ wait([jobid for jobid, name, filename in retval], sync)
+ finally:
+ if delete:
+ for jobid, name, filename in retval:
+ os.remove(filename)
+ return [(jobid, name) for jobid, name, filename in retval]
+
+def singlerun(job, n=1, path='.', wc_queue_list='all.q', sync=10, delete=True):
+ (fd, filename) = tempfile.mkstemp(suffix='.job', prefix='sge-', dir=path, text=True)
+ with os.fdopen(fd, 'w') as fout:
+ fout.write(job)
+
+ (jobid, name) = submit(filename, n, path, path, wc_queue_list)
+
+ if sync > 0:
+ try:
+ wait(jobid, sync)
+ finally:
+ if delete:
+ os.remove(filename)
+
+ return (jobid, name, filename)
+
+def collect(jobid, name, n=1, path='.', delete=True):
+ outputs = []
+ for i in range(n):
+ err = False
+ filename = os.path.join(path, '{}.e{}.{}'.format(name, jobid, i + 1))
+ output = open(filename, 'r').read()
+ if output != "":
+ # err = True
+ for line in output.split('\n'):
+ get_logger().error(
+ "A standard error stream [{}] displays: {}".format(filename, line))
+ if not err and delete:
+ os.remove(filename)
+
+ filename = os.path.join(path, '{}.o{}.{}'.format(name, jobid, i + 1))
+ output = open(filename, 'r').read()
+ outputs.append(output)
+ if not err and delete:
+ os.remove(filename)
+ return outputs
+
+def submit(job, n=1, epath='.', opath='.', wc_queue_list='all.q'):
+ output = subprocess.check_output(
+ [QSUB_CMD, '-cwd', '-q', wc_queue_list, '-e', epath, '-o', opath,
+ '-t', '1-{:d}'.format(n), job])
+ output = output.decode('utf-8')
+ get_logger().debug(output.strip())
+
+ #XXX: Your job-array 21.1-1:1 ("sge-date") has been submitted
+ jobarray = output.split()[2]
+ jobid = int(jobarray.split('.')[0])
+ name = output.split()[3][2: -2]
+ return (jobid, name)
+
+def wait(jobids, interval=10):
+ if isinstance(jobids, collections.Iterable):
+ jobidstrs = [str(jobid) for jobid in jobids]
+ else:
+ jobidstrs = [str(jobids)]
+
+ dowait = True
+ try:
+ while dowait:
+ output = subprocess.check_output([QSTAT_CMD])
+ output = output.decode('utf-8')
+ for line in output.split('\n'):
+ get_logger().debug(line)
+
+ dowait = False
+ for line in output.split('\n'):
+ state = line.split()
+ if len(state) < 5 or state[0] not in jobidstrs:
+ continue
+
+ #XXX: job-ID prior name user state submit/start at queue slots ja-task-ID
+ jobid = int(state[0])
+ if re.search(state[4], 'qwrt'):
+ get_logger().info(
+ 'Job {:d} must be queued, running or being transferred'.format(jobid))
+ dowait = True
+ break
+ elif re.search(state[4], 'acuE'):
+ get_logger().error('Job {:d} in error state'.format(jobid))
+ else:
+ get_logger().error('Unknown state {:s}'.format(state[4]))
+
+ if dowait:
+ time.sleep(interval)
+ get_logger().info(
+ "Waiting for jobids {:s} to finish".format(str(jobids)))
+ finally:
+ if dowait:
+ output = subprocess.check_output([QDEL_CMD] + jobidstrs)
+ get_logger().debug(output.strip())
+
+
+if __name__ == "__main__":
+ logging.basicConfig(level=logging.DEBUG)
+ n = 3
+ (jobid, name, filename) = singlerun("#!/bin/bash\ndate\nsleep 5\npwd\necho \"puke\"", n)
+ print(collect(jobid, name, n))
diff --git a/python/lib/ecell4/extra/vtkview.py b/python/lib/ecell4/extra/vtkview.py
new file mode 100644
index 0000000..50a9d95
--- /dev/null
+++ b/python/lib/ecell4/extra/vtkview.py
@@ -0,0 +1,333 @@
+try:
+ import vtk
+except ImportError:
+ raise RuntimeError(
+ 'ecell4.extra.vtkview needs a python support for VTK. Install python-vtk.')
+
+import ecell4
+import os.path
+import argparse
+import sys
+import numpy
+
+colors = [
+ ('Red', [0.8, 0.1, 0.1]),
+ ('Green', [0.27, 0.8, 0.21]),
+ ('Blue', [0.24, 0.41, 0.7]),
+ ('Yellow', [1.0, 0.5, 0.0]),
+ ('Orange', [1.0, 0.37, 0.05]),
+ ('White', [1, 1, 1]),
+ ('Magenta', [0.72, 0.29, 1.0]),
+ ('Cyan', [0.1, 1.0, 0.6]),
+ ('Black', [0.1, 0.1, 0.1]),
+ ('Grey', [0.46, 0.46, 0.46]),
+ ('LightBlue', [0.32, 0.42, 1]),
+ ('LightGrey', [0.6, 0.6, 0.6]),
+ ('BrightGreen', [0.4, 1.0, 0.14]),
+ ('BrightYellowGreen', [0.64, 1.0, 0.05]),
+ ('BrightYellow', [1.0, 0.67, 0.0]),
+ ('WhiteGray', [0.9, 0.9, 0.9]),
+ ('WhiteMagenta', [0.8, 0.48, 1.0]),
+ ('WhiteYellow', [1.0, 0.75, 0.17]),
+ ('WhitePurple', [0.67, 0.6, 1.0]),
+ ('DarkRed', [0.46, 0.1, 0.1]),
+ ('DarkGreen', [0.1, 0.5, 0.1]),
+ ('DarkBlue', [0.1, 0.2, 0.5]),
+ ('DarkOrange', [0.845, 0.179, 0.102])]
+
+class vtkTimerCallback():
+
+ def __init__(self, filenames, saveimage=False, volume=False, txt=None):
+ self.timer_count = 0
+ self.filenames = filenames
+ self.timer_id = None
+ self.txt = txt
+ self.saveimage = saveimage
+ self.volume = volume
+ self.running = True
+
+ def filename(self):
+ return self.filenames[min(self.timer_count, len(self.filenames) - 1)]
+
+ def stop(self, iren):
+ if self.timer_id is not None:
+ iren.DestroyTimer(self.timer_id)
+
+ def update(self, renWin):
+ if (len(self.filenames) <= self.timer_count
+ or not os.path.isfile(self.filenames[self.timer_count])):
+ return False
+ filename = self.filename()
+
+ renWin.SetWindowName(filename)
+ ren = renWin.GetRenderers().GetFirstRenderer()
+ remove_all_actors_and_volumes(ren)
+ w = ecell4.util.load_world(filename)
+ if self.volume:
+ add_volume(w, ren)
+ else:
+ add_actors(w, ren, source)
+ if self.txt is not None:
+ self.txt.SetInput("t={0:g}".format(w.t()))
+
+ # camera = ren.GetActiveCamera()
+ # print(camera.GetPosition(), camera.GetFocalPoint())
+ # # (0.03282041493100417, -0.04556241788024047, 1.2086963582474413)
+ # # (0.0, 0.0, 0.0)
+
+ renWin.Render()
+
+ if self.saveimage:
+ screenshot(renWin, os.path.splitext(filename)[0] + '.png')
+
+ self.timer_count += 1
+ return True
+
+ def execute(self, iren, event=None):
+ if not self.running:
+ return
+
+ renWin = iren.GetRenderWindow()
+ if not self.update(renWin):
+ self.stop(iren)
+ return
+
+def remove_all_actors_and_volumes(ren):
+ actors = ren.GetActors()
+ while actors.GetNumberOfItems() > 0:
+ actor = actors.GetLastActor()
+ ren.RemoveActor(actor)
+ actors.RemoveItem(actor)
+
+ volumes = ren.GetVolumes()
+ volumes.InitTraversal()
+ while True:
+ volume = volumes.GetNextVolume()
+ if volume is None:
+ break
+ ren.RemoveVolume(volume)
+
+def list_species(w):
+ #XXX: This would be a bit slow to list all species within a World
+ species_list = [p.species().serial() for pid, p in w.list_particles()]
+ species_list = sorted(set(species_list), key=species_list.index) # XXX: pick unique ones
+ species_list = [ecell4.core.Species(serial) for serial in species_list]
+ return species_list
+
+def add_actors(w, ren, source):
+ ren.SetBackground(0.2, 0.3, 0.4)
+
+ L = max(w.edge_lengths())
+ shift = w.edge_lengths() / L * 0.5
+
+ for cnt, sp in enumerate(list_species(w)):
+ particles = w.list_particles(sp)
+ points = vtk.vtkPoints()
+ points.SetNumberOfPoints(len(particles))
+ for i, (pid, p) in enumerate(particles):
+ pos = tuple(p.position() / L - shift)
+ points.SetPoint(i, pos[0], pos[1], pos[2])
+
+ polydata = vtk.vtkPolyData()
+ polydata.SetPoints(points)
+
+ atoms = vtk.vtkGlyph3D()
+ atoms.SetInput(polydata)
+ atoms.SetSource(source.GetOutput())
+ atoms.SetScaleFactor(1.0)
+ atoms.SetScaleModeToScaleByScalar()
+
+ # mapper
+ mapper = vtk.vtkPolyDataMapper()
+ if vtk.VTK_MAJOR_VERSION <= 5:
+ mapper.SetInput(atoms.GetOutput())
+ else:
+ mapper.SetInputConnection(atoms.GetOutputPort())
+
+ # actor
+ actor = vtk.vtkActor()
+ actor.GetProperty().SetColor(*colors[cnt % len(colors)][1])
+ actor.SetMapper(mapper)
+
+ # assign actor to the renderer
+ ren.AddActor(actor)
+
+def add_volume(w, ren, N=50, c=(0, 1, 0)):
+ L = max(w.edge_lengths())
+ shift = w.edge_lengths() / L * 0.5
+
+ tmp = numpy.zeros([N, N, N], dtype=float)
+ for sp in list_species(w):
+ # for serial in ("MinD_M", "MinDE"):
+ # sp = ecell4.core.Species(serial)
+ for pid, p in w.list_particles(sp):
+ pos = p.position() / L - shift
+ pos = (pos + ecell4.core.Real3(0.5, 0.5, 0.5)) * N
+ tmp[int(pos[2])][int(pos[1])][int(pos[0])] += 1
+
+ data_matrix = numpy.zeros([N, N, N], dtype=numpy.uint8)
+ if tmp.max() > 0:
+ norm = 255 / tmp.max()
+ tmp *= norm
+ for x in range(N):
+ for y in range(N):
+ for z in range(N):
+ data_matrix[x][y][z] = numpy.uint8(tmp[x][y][z])
+ del tmp
+
+ dataImporter = vtk.vtkImageImport()
+ data_string = data_matrix.tostring()
+ dataImporter.CopyImportVoidPointer(data_string, len(data_string))
+ dataImporter.SetDataScalarTypeToUnsignedChar()
+ dataImporter.SetNumberOfScalarComponents(1)
+ (l, m, n) = data_matrix.shape
+ dataImporter.SetDataExtent(0, l - 1, 0, m - 1, 0, n - 1)
+ dataImporter.SetWholeExtent(0, l - 1, 0, m - 1, 0, n - 1)
+
+ alphaChannelFunc = vtk.vtkPiecewiseFunction()
+ # alphaChannelFunc.AddPoint(0, 0.0)
+ # alphaChannelFunc.AddPoint(50, 0.05)
+ # alphaChannelFunc.AddPoint(100, 0.1)
+ # alphaChannelFunc.AddPoint(150, 0.2)
+ # alphaChannelFunc.AddPoint(0, 0.0)
+ # alphaChannelFunc.AddPoint(1, 0.05)
+ # alphaChannelFunc.AddPoint(data_matrix.max(), 0.05)
+ alphaChannelFunc.AddPoint(0, 0.0)
+ alphaChannelFunc.AddPoint(1, 0.255 / 255)
+ alphaChannelFunc.AddPoint(255, 0.255)
+
+ colorFunc = vtk.vtkColorTransferFunction()
+ # colorFunc.AddRGBPoint(50, 1.0, 0.0, 0.0)
+ # colorFunc.AddRGBPoint(100, 0.0, 1.0, 0.0)
+ # colorFunc.AddRGBPoint(150, 0.0, 0.0, 1.0)
+ if data_matrix.max() > 0:
+ colorFunc.AddRGBPoint(data_matrix.max(), *c)
+
+ volumeProperty = vtk.vtkVolumeProperty()
+ volumeProperty.SetColor(colorFunc)
+ volumeProperty.SetScalarOpacity(alphaChannelFunc)
+
+ compositeFunction = vtk.vtkVolumeRayCastCompositeFunction()
+ volumeMapper = vtk.vtkVolumeRayCastMapper()
+ volumeMapper.SetVolumeRayCastFunction(compositeFunction)
+ volumeMapper.SetInputConnection(dataImporter.GetOutputPort())
+
+ volume = vtk.vtkVolume()
+ volume.SetMapper(volumeMapper)
+ volume.SetProperty(volumeProperty)
+ ren.AddVolume(volume)
+
+def screenshot(renWin, filename):
+ # ffmpeg -r 15 -i input%03d.png -qscale 0 output.mp4
+ w2if = vtk.vtkWindowToImageFilter()
+ w2if.SetInput(renWin)
+ w2if.Update()
+
+ writer = vtk.vtkPNGWriter()
+ writer.SetFileName(filename)
+ writer.SetInput(w2if.GetOutput())
+ writer.Write()
+
+
+if __name__ == "__main__":
+ parser = argparse.ArgumentParser(
+ description='Visualizing HDF5s with VTK.')
+ parser.add_argument(
+ 'filenames', metavar='filename', type=str, nargs='+',
+ help='HDF5 filenames for visualizing')
+ parser.add_argument(
+ '--radius', '-r', metavar='radius', type=float, default=0.002,
+ help='a default radius rescaled')
+ parser.add_argument(
+ '--resolution', '-R', metavar='res', type=int, default=None,
+ help='a resolution for a sphere')
+ parser.add_argument(
+ '--with-nolabel', action='store_true', dest='nolabel',
+ help='whether displaying a label for the time or not')
+ parser.add_argument(
+ '--save-image', action='store_true', dest='saveimage',
+ help='whether saving a screenshot for each view')
+ parser.add_argument(
+ '--volume', '-V', action='store_true', dest='volume',
+ help='enable volume rendering')
+ parser.add_argument(
+ '--offscreen', action='store_true', dest='offscreen',
+ help='enable offscreen rendering')
+ parser.add_argument(
+ '--interval', metavar='dt', type=int, default=100,
+ help='an interval to switch and update HDF5 files in milliseconds')
+ args = parser.parse_args()
+
+ filenames = args.filenames
+ filenames.sort()
+ res = args.resolution
+ nolabel = args.nolabel
+ dt = args.interval
+ radius = args.radius
+ saveimage = args.saveimage
+ offscreen = args.offscreen
+ if offscreen:
+ saveimage = True
+ volume = args.volume
+
+ # create a rendering window and renderer
+ renWin = vtk.vtkRenderWindow()
+ renWin.SetSize(768, 432)
+ if offscreen:
+ renWin.SetOffScreenRendering(True)
+ ren = vtk.vtkRenderer()
+ renWin.AddRenderer(ren)
+
+ # create source
+ if res is None:
+ source = vtk.vtkPointSource()
+ source.SetRadius(radius)
+ else:
+ source = vtk.vtkSphereSource()
+ source.SetThetaResolution(res)
+ source.SetPhiResolution(res)
+ source.SetRadius(radius)
+
+ if not nolabel:
+ txt = vtk.vtkTextActor()
+ txt.SetInput("t={0:g}".format(0.0))
+ txtprop = txt.GetTextProperty()
+ txtprop.SetFontFamilyToArial()
+ txtprop.SetFontSize(18)
+ txtprop.SetColor(1, 1, 1)
+ txt.SetDisplayPosition(20, 30)
+ ren.AddActor(txt)
+
+ if not offscreen:
+ # create a renderwindowinteractor
+ iren = vtk.vtkRenderWindowInteractor()
+ iren.SetRenderWindow(renWin)
+ # enable user interface interactor
+ iren.Initialize()
+
+
+ # Sign up to receive TimerEvent
+ cb = vtkTimerCallback(filenames, saveimage, volume, None if nolabel else txt)
+
+ def keypress_callback_func(obj, event):
+ global cb
+ key = obj.GetKeySym()
+ if key == 'space':
+ cb.running = not cb.running
+
+ # add keyboard interface, initialize, and start the interactor
+ iren.AddObserver("KeyPressEvent", keypress_callback_func)
+
+ if not offscreen:
+ cb.execute(iren)
+ cb.timer_count = 0
+ cb.running = False
+
+ if len(filenames) > 1:
+ iren.AddObserver('TimerEvent', cb.execute)
+ cb.timer_id = iren.CreateRepeatingTimer(dt)
+ #start the interaction and timer
+ iren.Start()
+ else:
+ while cb.update(renWin):
+ print(cb.filename())
diff --git a/python/lib/ecell4/extras.pxd b/python/lib/ecell4/extras.pxd
new file mode 100644
index 0000000..057d840
--- /dev/null
+++ b/python/lib/ecell4/extras.pxd
@@ -0,0 +1,4 @@
+from libcpp.string cimport string
+
+cdef extern from "ecell4/core/extras.hpp" namespace "ecell4::extras":
+ string load_version_information(string&) except+
diff --git a/python/lib/ecell4/functions.pxd b/python/lib/ecell4/functions.pxd
new file mode 100644
index 0000000..be8ba53
--- /dev/null
+++ b/python/lib/ecell4/functions.pxd
@@ -0,0 +1,6 @@
+from types cimport *
+
+
+cdef extern from "ecell4/core/functions.hpp" namespace "ecell4":
+ Real cbrt(const Real&)
+
diff --git a/python/lib/ecell4/gillespie.pxd b/python/lib/ecell4/gillespie.pxd
new file mode 100644
index 0000000..1a2c356
--- /dev/null
+++ b/python/lib/ecell4/gillespie.pxd
@@ -0,0 +1,113 @@
+from libcpp.string cimport string
+from libcpp cimport bool
+
+from core cimport *
+
+
+## Cpp_ReactionInfo
+cdef extern from "ecell4/gillespie/GillespieSimulator.hpp" namespace "ecell4::gillespie":
+ cdef cppclass Cpp_ReactionInfo "ecell4::gillespie::ReactionInfo":
+ Cpp_ReactionInfo(Real, vector[Cpp_Species], vector[Cpp_Species])
+ Cpp_ReactionInfo(Cpp_ReactionInfo&)
+ Real t()
+ vector[Cpp_Species] reactants()
+ vector[Cpp_Species] products()
+
+## ReactionInfo
+# a python wrapper for Cpp_ReactionInfo
+cdef class ReactionInfo:
+ cdef Cpp_ReactionInfo* thisptr
+
+cdef ReactionInfo ReactionInfo_from_Cpp_ReactionInfo(Cpp_ReactionInfo* ri)
+
+## Cpp_GillespieWorld
+# ecell4::gillespie::GillespieWorld
+cdef extern from "ecell4/gillespie/GillespieWorld.hpp" namespace "ecell4::gillespie":
+ cdef cppclass Cpp_GillespieWorld "ecell4::gillespie::GillespieWorld":
+ Cpp_GillespieWorld() except +
+ Cpp_GillespieWorld(Cpp_Real3&) except +
+ Cpp_GillespieWorld(string&) except +
+ Cpp_GillespieWorld(Cpp_Real3&, shared_ptr[Cpp_RandomNumberGenerator]) except +
+ void set_t(Real)
+ Real t()
+ Real volume()
+ void reset(Cpp_Real3&)
+ Cpp_Real3& edge_lengths()
+ Cpp_Real3 actual_lengths()
+ Real get_value(Cpp_Species&)
+ Real get_value_exact(Cpp_Species&)
+ void set_value(Cpp_Species&, Real)
+ Integer num_molecules(Cpp_Species &)
+ Integer num_molecules_exact(Cpp_Species &)
+ vector[Cpp_Species] list_species()
+ void add_molecules(Cpp_Species &sp, Integer &num)
+ void add_molecules(Cpp_Species &sp, Integer &num, shared_ptr[Cpp_Shape])
+ void remove_molecules(Cpp_Species &sp, Integer &num)
+ void save(string) except +
+ void load(string)
+ void bind_to(shared_ptr[Cpp_Model])
+ shared_ptr[Cpp_RandomNumberGenerator] rng()
+ pair[pair[Cpp_ParticleID, Cpp_Particle], bool] new_particle(Cpp_Particle& p)
+ pair[pair[Cpp_ParticleID, Cpp_Particle], bool] new_particle(Cpp_Species& sp, Cpp_Real3& pos)
+ vector[pair[Cpp_ParticleID, Cpp_Particle]] list_particles()
+ vector[pair[Cpp_ParticleID, Cpp_Particle]] list_particles(Cpp_Species& sp)
+ vector[pair[Cpp_ParticleID, Cpp_Particle]] list_particles_exact(Cpp_Species& sp)
+
+## GillespieWorld
+# a python wrapper for Cpp_GillespieWorld
+cdef class GillespieWorld:
+ cdef shared_ptr[Cpp_GillespieWorld]* thisptr
+
+cdef GillespieWorld GillespieWorld_from_Cpp_GillespieWorld(
+ shared_ptr[Cpp_GillespieWorld] m)
+
+## Cpp_GillespieSimulator
+# ecell4::gillespie::GillespieSimulator
+cdef extern from "ecell4/gillespie/GillespieSimulator.hpp" namespace "ecell4::gillespie":
+ cdef cppclass Cpp_GillespieSimulator "ecell4::gillespie::GillespieSimulator":
+ Cpp_GillespieSimulator(
+ shared_ptr[Cpp_Model], shared_ptr[Cpp_GillespieWorld]) except +
+ Cpp_GillespieSimulator(
+ shared_ptr[Cpp_GillespieWorld]) except +
+ Integer num_steps()
+ void step() except +
+ bool step(Real) except +
+ Real t()
+ void set_t(Real)
+ void set_dt(Real)
+ Real dt()
+ Real next_time()
+ bool check_reaction()
+ vector[pair[Cpp_ReactionRule, Cpp_ReactionInfo]] last_reactions()
+ void initialize()
+ # Cpp_GSLRandomNumberGenerator& rng()
+ shared_ptr[Cpp_Model] model()
+ shared_ptr[Cpp_GillespieWorld] world()
+ void run(Real) except +
+ void run(Real, shared_ptr[Cpp_Observer]) except +
+ void run(Real, vector[shared_ptr[Cpp_Observer]]) except +
+
+## GillespieSimulator
+# a python wrapper for Cpp_GillespieSimulator
+cdef class GillespieSimulator:
+ cdef Cpp_GillespieSimulator* thisptr
+
+cdef GillespieSimulator GillespieSimulator_from_Cpp_GillespieSimulator(Cpp_GillespieSimulator* s)
+
+## Cpp_GillespieFactory
+# ecell4::gillespie::GillespieFactory
+cdef extern from "ecell4/gillespie/GillespieFactory.hpp" namespace "ecell4::gillespie":
+ cdef cppclass Cpp_GillespieFactory "ecell4::gillespie::GillespieFactory":
+ Cpp_GillespieFactory() except +
+ Cpp_GillespieWorld* create_world()
+ Cpp_GillespieWorld* create_world(string)
+ Cpp_GillespieWorld* create_world(Cpp_Real3&)
+ Cpp_GillespieWorld* create_world(shared_ptr[Cpp_Model])
+ Cpp_GillespieSimulator* create_simulator(shared_ptr[Cpp_Model], shared_ptr[Cpp_GillespieWorld])
+ Cpp_GillespieSimulator* create_simulator(shared_ptr[Cpp_GillespieWorld])
+ Cpp_GillespieFactory* rng_ptr(shared_ptr[Cpp_RandomNumberGenerator]&)
+
+## GillespieFactory
+# a python wrapper for Cpp_GillespieFactory
+cdef class GillespieFactory:
+ cdef Cpp_GillespieFactory* thisptr
diff --git a/python/lib/ecell4/gillespie.pyx b/python/lib/ecell4/gillespie.pyx
new file mode 100644
index 0000000..8448359
--- /dev/null
+++ b/python/lib/ecell4/gillespie.pyx
@@ -0,0 +1,741 @@
+import collections
+from cython cimport address
+from cython.operator cimport dereference as deref, preincrement as inc
+from ecell4.core cimport *
+
+
+## ReactionInfo
+cdef class ReactionInfo:
+ """A class stores detailed information about a reaction in gillespie.
+
+ ReactionInfo(t, reactants, products)
+
+ """
+
+ def __init__(self, Real t, reactants, products):
+ """Constructor.
+
+ Args:
+ t (Real): A time when a reaction occurred
+ reactants (list): A list of reactants.
+ Reactants are given as a ``Species``.
+ products (list): A list of products.
+ Products are given as a ``Species``.
+
+ """
+ pass #XXX: only used for doc string
+
+ def __cinit__(self, Real t, reactants, products):
+ cdef vector[Cpp_Species] reactants_
+ cdef vector[Cpp_Species] products_
+
+ for sp in reactants:
+ reactants_.push_back(deref((<Species>sp).thisptr))
+ for sp in products:
+ products_.push_back(deref((<Species>sp).thisptr))
+
+ self.thisptr = new Cpp_ReactionInfo(t, reactants_, products_)
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def t(self):
+ """Return a time when a reaction occurred."""
+ return self.thisptr.t()
+
+ def reactants(self):
+ """Return a list of reactants
+
+ Returns:
+ list: A list of ``Species``.
+
+ """
+ cdef vector[Cpp_Species] species = self.thisptr.reactants()
+
+ retval = []
+ cdef vector[Cpp_Species].iterator it = species.begin()
+ while it != species.end():
+ retval.append(
+ Species_from_Cpp_Species(
+ <Cpp_Species*>(address(deref(it)))))
+ inc(it)
+ return retval
+
+ def products(self):
+ """Return a list of products
+
+ Returns:
+ list: A list of ``Species``.
+
+ """
+ cdef vector[Cpp_Species] species = self.thisptr.products()
+
+ retval = []
+ cdef vector[Cpp_Species].iterator it = species.begin()
+ while it != species.end():
+ retval.append(
+ Species_from_Cpp_Species(
+ <Cpp_Species*>(address(deref(it)))))
+ inc(it)
+ return retval
+
+ def __reduce__(self):
+ print(ReactionInfo, (self.t(), self.reactants(), self.products()))
+ return (ReactionInfo, (self.t(), self.reactants(), self.products()))
+
+cdef ReactionInfo ReactionInfo_from_Cpp_ReactionInfo(Cpp_ReactionInfo* ri):
+ cdef Cpp_ReactionInfo *new_obj = new Cpp_ReactionInfo(<Cpp_ReactionInfo> deref(ri))
+ r = ReactionInfo(0, [], [])
+ del r.thisptr
+ r.thisptr = new_obj
+ return r
+
+## GillespieWorld
+# a python wrapper for Cpp_GillespieWorld
+cdef class GillespieWorld:
+ """A class containing the properties of the gillespie world.
+
+ GillespieWorld(edge_lengths=None, GSLRandomNumberGenerator rng=None)
+
+ """
+
+ def __init__(self, edge_lengths = None, GSLRandomNumberGenerator rng = None):
+ """Constructor.
+
+ Parameters
+ ----------
+ edge_lengths : Real3, optional
+ A size of the World.
+ rng : GSLRandomNumberGenerator, optional
+ A random number generator.
+
+ """
+ pass
+
+ def __cinit__(self, edge_lengths = None, GSLRandomNumberGenerator rng = None):
+ cdef string filename
+
+ if edge_lengths is None:
+ self.thisptr = new shared_ptr[Cpp_GillespieWorld](new Cpp_GillespieWorld())
+ elif rng is None:
+ if isinstance(edge_lengths, Real3):
+ self.thisptr = new shared_ptr[Cpp_GillespieWorld](
+ new Cpp_GillespieWorld(deref((<Real3>edge_lengths).thisptr)))
+ else:
+ filename = tostring(edge_lengths)
+ self.thisptr = new shared_ptr[Cpp_GillespieWorld](
+ new Cpp_GillespieWorld(filename))
+ else:
+ # XXX: GSLRandomNumberGenerator -> RandomNumberGenerator
+ self.thisptr = new shared_ptr[Cpp_GillespieWorld](
+ new Cpp_GillespieWorld(
+ deref((<Real3>edge_lengths).thisptr), deref(rng.thisptr)))
+
+ def __dealloc__(self):
+ # XXX: Here, we release shared pointer,
+ # and if reference count to the GillespieWorld object,
+ # it will be released automatically.
+ del self.thisptr
+
+ def set_t(self, Real t):
+ """set_t(t)
+
+ Set the value of the time of the world.
+
+ Parameters
+ ----------
+ t : Real
+ the time of the world
+
+ """
+ self.thisptr.get().set_t(t)
+
+ def t(self):
+ """Return the time of the world."""
+ return self.thisptr.get().t()
+
+ def edge_lengths(self):
+ """edge_lengths() -> Real3
+
+ Return the edge lengths of the world.
+ """
+ cdef Cpp_Real3 lengths = self.thisptr.get().edge_lengths()
+ return Real3_from_Cpp_Real3(address(lengths))
+
+ def actual_lengths(self):
+ """actual_lengths() -> Real3
+
+ Return the actual edge lengths of the world.
+ Same as ``edge_lengths``.
+ """
+ cdef Cpp_Real3 lengths = self.thisptr.get().actual_lengths()
+ return Real3_from_Cpp_Real3(address(lengths))
+
+ def volume(self):
+ """Return the volume of the world."""
+ return self.thisptr.get().volume()
+
+ def get_value(self, Species sp):
+ """get_value(sp) -> Real
+
+ Return the value (number) corresponding the given Species.
+
+ Parameters
+ ----------
+ sp : Species
+ a species whose value you require
+
+ Returns
+ -------
+ Real:
+ the value
+
+ """
+ return self.thisptr.get().get_value(deref(sp.thisptr))
+
+ def get_value_exact(self, Species sp):
+ """get_value_exact(sp) -> Real
+
+ Return the value (number) corresponding the given Species.
+
+ Parameters
+ ----------
+ sp : Species
+ a species whose value you require
+
+ Returns
+ -------
+ Real:
+ the value
+
+ """
+ return self.thisptr.get().get_value_exact(deref(sp.thisptr))
+
+ def num_molecules(self, Species sp):
+ """num_molecules(sp) -> Integer
+
+ Return the number of molecules.
+
+ Parameters
+ ----------
+ sp : Species
+ a species whose molecules you count
+
+ Returns
+ -------
+ Integer:
+ the number of molecules (of a given species)
+
+ """
+ # if sp is None:
+ # return self.thisptr.get().num_molecules()
+ # else:
+ # return self.thisptr.get().num_molecules(deref(sp.thisptr))
+ return self.thisptr.get().num_molecules(deref(sp.thisptr))
+
+ def set_value(self, Species sp, Real value):
+ """set_value(sp, value)
+
+ Set the value of the given species.
+
+ Parameters
+ ----------
+ sp : Species
+ a species whose value you set
+ value : Real
+ a value set
+
+ """
+ self.thisptr.get().set_value(deref(sp.thisptr), value)
+
+ def num_molecules_exact(self, Species sp):
+ """num_molecules_exact(sp) -> Integer
+
+ Return the number of molecules of a given species.
+
+ Parameters
+ ----------
+ sp : Species
+ a species whose molecules you count
+
+ Returns
+ -------
+ Integer:
+ the number of molecules of a given species
+
+ """
+ return self.thisptr.get().num_molecules_exact(deref(sp.thisptr))
+
+ def add_molecules(self, Species sp, Integer num, shape=None):
+ """add_molecules(sp, num, shape=None)
+
+ Add some molecules.
+
+ Parameters
+ ----------
+ sp : Species
+ a species of molecules to add
+ num : Integer
+ the number of molecules to add
+ shape : Shape, optional
+ a shape to add molecules on [not supported yet]
+
+ """
+ if shape is None:
+ self.thisptr.get().add_molecules(deref(sp.thisptr), num)
+ else:
+ self.thisptr.get().add_molecules(
+ deref(sp.thisptr), num, deref((<Shape>(shape.as_base())).thisptr))
+
+ def remove_molecules(self, Species sp, Integer num):
+ """remove_molecules(sp, num)
+
+ Remove the molecules.
+
+ Parameters
+ ----------
+ sp : Species
+ a species whose molecules to remove
+ num : Integer
+ a number of molecules to be removed
+
+ """
+ self.thisptr.get().remove_molecules(deref(sp.thisptr), num)
+
+ def list_species(self):
+ """Return a list of species."""
+ cdef vector[Cpp_Species] species = self.thisptr.get().list_species()
+
+ retval = []
+ cdef vector[Cpp_Species].iterator it = species.begin()
+ while it != species.end():
+ retval.append(
+ Species_from_Cpp_Species(
+ <Cpp_Species*>(address(deref(it)))))
+ inc(it)
+ return retval
+
+ def new_particle(self, arg1, Real3 arg2=None):
+ """new_particle(arg1, arg2=None) -> (ParticleID, Particle)
+
+ Create a new particle.
+
+ Parameters
+ ----------
+ arg1 : Particle
+ A particle to be placed.
+
+ or
+
+ arg1 : Species
+ A species of a particle
+ arg2 : Real3
+ A position to place a particle
+
+ Returns
+ -------
+ tuple:
+ A pair of ParticleID and Particle of a new particle
+
+ """
+ cdef pair[pair[Cpp_ParticleID, Cpp_Particle], bool] retval
+
+ if arg2 is None:
+ retval = self.thisptr.get().new_particle(deref((<Particle> arg1).thisptr))
+ else:
+ retval = self.thisptr.get().new_particle(deref((<Species> arg1).thisptr), deref(arg2.thisptr))
+ return ((ParticleID_from_Cpp_ParticleID(address(retval.first.first)), Particle_from_Cpp_Particle(address(retval.first.second))), retval.second)
+
+ def list_particles(self, Species sp = None):
+ """list_particles(sp) -> [(ParticleID, Particle)]
+
+ Return the list of particles.
+ A position of each particle is randomly generated.
+
+ Parameters
+ ----------
+ sp : Species, optional
+ the species of particles to list up
+ If no species is given, return the whole list of particles.
+
+ Returns
+ -------
+ list:
+ the list of particles (of the given species)
+
+ """
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]] particles
+ if sp is None:
+ particles = self.thisptr.get().list_particles()
+ else:
+ particles = self.thisptr.get().list_particles(deref(sp.thisptr))
+
+ retval = []
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]].iterator \
+ it = particles.begin()
+ while it != particles.end():
+ retval.append(
+ (ParticleID_from_Cpp_ParticleID(
+ <Cpp_ParticleID*>(address(deref(it).first))),
+ Particle_from_Cpp_Particle(
+ <Cpp_Particle*>(address(deref(it).second)))))
+ inc(it)
+ return retval
+
+ def list_particles_exact(self, Species sp):
+ """list_particles_exact(sp) -> [(ParticleID, Particle)]
+
+ Return the list of particles of a given species.
+ A position of each particle is randomly generated.
+
+ Parameters
+ ----------
+ sp : Species
+ the species of particles to list up
+
+ Returns
+ -------
+ list:
+ the list of particles of a given species
+
+ """
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]] particles
+ particles = self.thisptr.get().list_particles_exact(deref(sp.thisptr))
+
+ retval = []
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]].iterator \
+ it = particles.begin()
+ while it != particles.end():
+ retval.append(
+ (ParticleID_from_Cpp_ParticleID(
+ <Cpp_ParticleID*>(address(deref(it).first))),
+ Particle_from_Cpp_Particle(
+ <Cpp_Particle*>(address(deref(it).second)))))
+ inc(it)
+ return retval
+
+ def save(self, filename):
+ """save(filename)
+
+ Save self to a HDF5 file.
+
+ Parameters
+ ----------
+ filename : str
+ a filename
+
+ """
+ self.thisptr.get().save(tostring(filename))
+
+ def load(self, filename):
+ """load(filename)
+
+ Load self from a HDF5 file.
+
+ Parameters
+ ----------
+ filename : str
+ a filename
+
+ """
+ self.thisptr.get().load(tostring(filename))
+
+ def bind_to(self, m):
+ """bind_to(m)
+
+ Bind a model to the world
+
+ Parameters
+ ----------
+ m : Model
+ a model to bind
+
+ """
+ self.thisptr.get().bind_to(Cpp_Model_from_Model(m))
+
+ def rng(self):
+ """Return a random number generator object."""
+ return GSLRandomNumberGenerator_from_Cpp_RandomNumberGenerator(
+ self.thisptr.get().rng())
+
+ def as_base(self):
+ """Return self as a base class. Only for developmental use."""
+ retval = Space()
+ del retval.thisptr
+ retval.thisptr = new shared_ptr[Cpp_Space](
+ <shared_ptr[Cpp_Space]>deref(self.thisptr))
+ return retval
+
+cdef GillespieWorld GillespieWorld_from_Cpp_GillespieWorld(
+ shared_ptr[Cpp_GillespieWorld] w):
+ r = GillespieWorld(Real3(1, 1, 1))
+ r.thisptr.swap(w)
+ return r
+
+## GillespieSimulator
+# a python wrapper for Cpp_GillespieSimulator
+cdef class GillespieSimulator:
+ """ A class running the simulation with the gillespie algorithm.
+
+ GillespieSimulator(m, w)
+
+ """
+
+ def __init__(self, m, GillespieWorld w=None):
+ """GillespieSimulator(m, w)
+ GillespieSimulator(w)
+
+ Constructor.
+
+ Parameters
+ ----------
+ m : Model
+ A model
+ w : GillespieWorld
+ A world
+
+ """
+ pass
+
+ def __cinit__(self, m, GillespieWorld w=None):
+ if w is None:
+ self.thisptr = new Cpp_GillespieSimulator(
+ deref((<GillespieWorld>m).thisptr))
+ else:
+ self.thisptr = new Cpp_GillespieSimulator(
+ Cpp_Model_from_Model(m), deref(w.thisptr))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def num_steps(self):
+ """Return the number of steps."""
+ return self.thisptr.num_steps()
+
+ def step(self, upto = None):
+ """step(upto=None) -> bool
+
+ Step the simulation.
+
+ Parameters
+ ----------
+ upto : Real, optional
+ the time which to step the simulation up to
+
+ Returns
+ -------
+ bool:
+ True if the simulation did not reach the given time.
+ When upto is not given, nothing will be returned.
+
+ """
+ if upto is None:
+ self.thisptr.step()
+ else:
+ return self.thisptr.step(<Real> upto)
+
+ def t(self):
+ """Return the time."""
+ return self.thisptr.t()
+
+ def dt(self):
+ """Return the step interval."""
+ return self.thisptr.dt()
+
+ def next_time(self):
+ """Return the scheduled time for the next step."""
+ return self.thisptr.next_time()
+
+ def check_reaction(self):
+ """Return if any reaction occurred at the last step, or not."""
+ return self.thisptr.check_reaction()
+
+ def last_reactions(self):
+ """last_reactions() -> [(ReactionRule, ReactionInfo)]
+
+ Return reactions occuring at the last step.
+
+ Returns
+ -------
+ list:
+ the list of reaction rules and infos.
+
+ """
+ cdef vector[pair[Cpp_ReactionRule, Cpp_ReactionInfo]] reactions = self.thisptr.last_reactions()
+ cdef vector[pair[Cpp_ReactionRule, Cpp_ReactionInfo]].iterator it = reactions.begin()
+ retval = []
+ while it != reactions.end():
+ retval.append((
+ ReactionRule_from_Cpp_ReactionRule(
+ <Cpp_ReactionRule*>(address(deref(it).first))),
+ ReactionInfo_from_Cpp_ReactionInfo(
+ <Cpp_ReactionInfo*>(address(deref(it).second)))))
+ inc(it)
+ return retval
+
+ def set_t(self, Real new_t):
+ """set_t(t)
+
+ Set the current time.
+
+ Parameters
+ ----------
+ t : Real
+ a current time.
+
+ """
+ self.thisptr.set_t(new_t)
+
+ def set_dt(self, Real dt):
+ """set_dt(dt)
+
+ Set a step interval.
+
+ Parameters
+ ----------
+ dt : Real
+ a step interval
+
+ """
+ self.thisptr.set_dt(dt)
+
+ def initialize(self):
+ """Initialize the simulator."""
+ self.thisptr.initialize()
+
+ def model(self):
+ """Return the model bound."""
+ return Model_from_Cpp_Model(self.thisptr.model())
+
+ def world(self):
+ """Return the world bound."""
+ return GillespieWorld_from_Cpp_GillespieWorld(self.thisptr.world())
+
+ def run(self, Real duration, observers=None):
+ """run(duration, observers)
+
+ Run the simulation.
+
+ Parameters
+ ----------
+ duration : Real
+ a duration for running a simulation.
+ A simulation is expected to be stopped at t() + duration.
+ observers : list of Obeservers, optional
+ observers
+
+ """
+ cdef vector[shared_ptr[Cpp_Observer]] tmp
+
+ if observers is None:
+ self.thisptr.run(duration)
+ elif isinstance(observers, collections.Iterable):
+ for obs in observers:
+ tmp.push_back(deref((<Observer>(obs.as_base())).thisptr))
+ self.thisptr.run(duration, tmp)
+ else:
+ self.thisptr.run(duration,
+ deref((<Observer>(observers.as_base())).thisptr))
+
+cdef GillespieSimulator GillespieSimulator_from_Cpp_GillespieSimulator(Cpp_GillespieSimulator* s):
+ r = GillespieSimulator(
+ Model_from_Cpp_Model(s.model()), GillespieWorld_from_Cpp_GillespieWorld(s.world()))
+ del r.thisptr
+ r.thisptr = s
+ return r
+
+## GillespieFactory
+# a python wrapper for Cpp_GillespieFactory
+cdef class GillespieFactory:
+ """ A factory class creating a GillespieWorld instance and a GillespieSimulator instance.
+
+ GillespieFactory()
+
+ """
+
+ def __init__(self):
+ """Constructor."""
+ pass
+
+ def __cinit__(self):
+ self.thisptr = new Cpp_GillespieFactory()
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def rng(self, GSLRandomNumberGenerator rng):
+ """rng(GSLRandomNumberGenerator) -> GillespieFactory
+
+ Set a random number generator, and return self.
+
+ """
+ cdef Cpp_GillespieFactory *ptr = self.thisptr.rng_ptr(deref(rng.thisptr))
+ assert ptr == self.thisptr
+ return self
+
+ def create_world(self, arg1=None):
+ """create_world(arg1=None) -> GillespieWorld
+
+ Return a GillespieWorld instance.
+
+ Parameters
+ ----------
+ arg1 : Real3
+ The lengths of edges of a GillespieWorld created
+
+ or
+
+ arg1 : str
+ The path of a HDF5 file for GillespieWorld
+
+ Returns
+ -------
+ GillespieWorld:
+ the created world
+
+ """
+ if arg1 is None:
+ return GillespieWorld_from_Cpp_GillespieWorld(
+ shared_ptr[Cpp_GillespieWorld](self.thisptr.create_world()))
+ elif isinstance(arg1, Real3):
+ return GillespieWorld_from_Cpp_GillespieWorld(
+ shared_ptr[Cpp_GillespieWorld](
+ self.thisptr.create_world(deref((<Real3>arg1).thisptr))))
+ elif isinstance(arg1, str):
+ return GillespieWorld_from_Cpp_GillespieWorld(
+ shared_ptr[Cpp_GillespieWorld](self.thisptr.create_world(<string>(arg1))))
+ else:
+ return GillespieWorld_from_Cpp_GillespieWorld(
+ shared_ptr[Cpp_GillespieWorld](self.thisptr.create_world(
+ Cpp_Model_from_Model(arg1))))
+
+ def create_simulator(self, arg1, GillespieWorld arg2=None):
+ """create_simulator(arg1, arg2) -> GillespieSimulator
+
+ Return a GillespieSimulator instance.
+
+ Parameters
+ ----------
+ arg1 : GillespieWorld
+ a world
+
+ or
+
+ arg1 : Model
+ a simulation model
+ arg2 : GillespieWorld
+ a world
+
+ Returns
+ -------
+ GillespieSimulator:
+ the created simulator
+
+ """
+ if arg2 is None:
+ return GillespieSimulator_from_Cpp_GillespieSimulator(
+ self.thisptr.create_simulator(deref((<GillespieWorld>arg1).thisptr)))
+ else:
+ return GillespieSimulator_from_Cpp_GillespieSimulator(
+ self.thisptr.create_simulator(
+ Cpp_Model_from_Model(arg1), deref(arg2.thisptr)))
diff --git a/python/lib/ecell4/integer3operators.pxd b/python/lib/ecell4/integer3operators.pxd
new file mode 100644
index 0000000..a8fa601
--- /dev/null
+++ b/python/lib/ecell4/integer3operators.pxd
@@ -0,0 +1,18 @@
+from types cimport Integer, Real
+from core cimport Cpp_Integer3
+
+
+## Cpp_Integer3
+# ecell4::Integer3
+cdef extern from "ecell4/core/Integer3.hpp" namespace "ecell4":
+ Cpp_Integer3 add(Cpp_Integer3, Cpp_Integer3)
+ Cpp_Integer3 subtract(Cpp_Integer3, Cpp_Integer3)
+ # Cpp_Integer3 divide(Cpp_Integer3, Integer)
+ Cpp_Integer3 multiply(Cpp_Integer3, Integer)
+ # Cpp_Integer3 modulo(Cpp_Integer3, Integer)
+ # Cpp_Integer3 modulo(Cpp_Integer3, Cpp_Integer3)
+ Cpp_Integer3 abs(Cpp_Integer3)
+ Integer dot_product(Cpp_Integer3, Cpp_Integer3)
+ # Cpp_Integer3 cross_product(Cpp_Integer3, Cpp_Integer3)
+ Integer length_sq(Cpp_Integer3)
+ Real length(Cpp_Integer3)
diff --git a/python/lib/ecell4/meso.pxd b/python/lib/ecell4/meso.pxd
new file mode 100644
index 0000000..cb83e07
--- /dev/null
+++ b/python/lib/ecell4/meso.pxd
@@ -0,0 +1,149 @@
+from libcpp.string cimport string
+from libcpp cimport bool
+
+from core cimport *
+
+
+## Cpp_ReactionInfo
+cdef extern from "ecell4/meso/MesoscopicSimulator.hpp" namespace "ecell4::meso":
+ cdef cppclass Cpp_ReactionInfo "ecell4::meso::ReactionInfo":
+ Cpp_ReactionInfo(Real, vector[Cpp_Species], vector[Cpp_Species], Integer)
+ Cpp_ReactionInfo(Cpp_ReactionInfo&)
+ Real t()
+ vector[Cpp_Species] reactants()
+ vector[Cpp_Species] products()
+ Integer coordinate()
+
+## ReactionInfo
+# a python wrapper for Cpp_ReactionInfo
+cdef class ReactionInfo:
+ cdef Cpp_ReactionInfo* thisptr
+
+cdef ReactionInfo ReactionInfo_from_Cpp_ReactionInfo(Cpp_ReactionInfo* ri)
+
+## Cpp_MesoscopicWorld
+# ecell4::meso::MesoscopicWorld
+cdef extern from "ecell4/meso/MesoscopicWorld.hpp" namespace "ecell4::meso":
+ cdef cppclass Cpp_MesoscopicWorld "ecell4::meso::MesoscopicWorld":
+ Cpp_MesoscopicWorld() except +
+ Cpp_MesoscopicWorld(Cpp_Real3&) except +
+ Cpp_MesoscopicWorld(string&) except +
+ Cpp_MesoscopicWorld(Cpp_Real3&, Cpp_Integer3&) except +
+ Cpp_MesoscopicWorld(Cpp_Real3&, Cpp_Integer3&,
+ shared_ptr[Cpp_RandomNumberGenerator]) except +
+ Cpp_MesoscopicWorld(Cpp_Real3&, Real&) except +
+ Cpp_MesoscopicWorld(Cpp_Real3&, Real&,
+ shared_ptr[Cpp_RandomNumberGenerator]) except +
+ void set_t(Real)
+ Real t()
+ Real volume()
+ Real subvolume()
+ Integer num_subvolumes()
+ Integer num_subvolumes(Cpp_Species&)
+ void reset(Cpp_Real3&)
+ Integer global2coord(Cpp_Integer3&)
+ Cpp_Integer3 coord2global(Integer)
+ Cpp_Integer3 position2global(Cpp_Real3&)
+ Integer position2coordinate(Cpp_Real3&)
+ Cpp_Real3& edge_lengths()
+ Cpp_Real3 actual_lengths()
+ Cpp_Integer3 matrix_sizes()
+ Cpp_Real3 subvolume_edge_lengths()
+ void set_value(Cpp_Species&, Real)
+ Real get_value(Cpp_Species&)
+ Real get_value_exact(Cpp_Species&)
+ Integer num_molecules(Cpp_Species &)
+ Integer num_molecules_exact(Cpp_Species &)
+ Integer num_molecules(Cpp_Species &, Integer)
+ Integer num_molecules_exact(Cpp_Species &, Integer)
+ Integer num_molecules(Cpp_Species &, Cpp_Integer3)
+ Integer num_molecules_exact(Cpp_Species &, Cpp_Integer3)
+ vector[Cpp_Species] list_species()
+ vector[Integer] list_coordinates(Cpp_Species&)
+ vector[Integer] list_coordinates_exact(Cpp_Species&)
+ void add_molecules(Cpp_Species &sp, Integer &num, Integer)
+ void remove_molecules(Cpp_Species &sp, Integer &num, Integer)
+ void add_molecules(Cpp_Species &sp, Integer &num, Cpp_Integer3)
+ void remove_molecules(Cpp_Species &sp, Integer &num, Cpp_Integer3)
+ void add_molecules(Cpp_Species &sp, Integer &num)
+ void add_molecules(Cpp_Species &sp, Integer &num, shared_ptr[Cpp_Shape])
+ void add_structure(Cpp_Species&, shared_ptr[Cpp_Shape]) except+
+ Real get_volume(Cpp_Species&)
+ Real get_occupancy(Cpp_Species&, Integer&)
+ Real get_occupancy(Cpp_Species&, Cpp_Integer3&)
+ bool on_structure(Cpp_Species&, Cpp_Integer3&)
+ bool check_structure(Cpp_Species&, Cpp_Integer3&)
+ bool has_structure(Cpp_Species&)
+ void remove_molecules(Cpp_Species &sp, Integer &num)
+ void save(string) except +
+ void load(string) except +
+ void bind_to(shared_ptr[Cpp_Model])
+ shared_ptr[Cpp_RandomNumberGenerator] rng()
+ pair[pair[Cpp_ParticleID, Cpp_Particle], bool] new_particle(Cpp_Particle& p)
+ pair[pair[Cpp_ParticleID, Cpp_Particle], bool] new_particle(Cpp_Species& sp, Cpp_Real3& pos)
+ vector[pair[Cpp_ParticleID, Cpp_Particle]] list_particles()
+ vector[pair[Cpp_ParticleID, Cpp_Particle]] list_particles(Cpp_Species& sp)
+ vector[pair[Cpp_ParticleID, Cpp_Particle]] list_particles_exact(Cpp_Species& sp)
+
+## MesoscopicWorld
+# a python wrapper for Cpp_MesoscopicWorld
+cdef class MesoscopicWorld:
+ cdef shared_ptr[Cpp_MesoscopicWorld]* thisptr
+
+cdef MesoscopicWorld MesoscopicWorld_from_Cpp_MesoscopicWorld(
+ shared_ptr[Cpp_MesoscopicWorld] m)
+
+## Cpp_MesoscopicSimulator
+# ecell4::meso::MesoscopicSimulator
+cdef extern from "ecell4/meso/MesoscopicSimulator.hpp" namespace "ecell4::meso":
+ cdef cppclass Cpp_MesoscopicSimulator "ecell4::meso::MesoscopicSimulator":
+ Cpp_MesoscopicSimulator(
+ shared_ptr[Cpp_Model], shared_ptr[Cpp_MesoscopicWorld]) except +
+ Cpp_MesoscopicSimulator(
+ shared_ptr[Cpp_MesoscopicWorld]) except +
+ Integer num_steps()
+ void step() except +
+ bool step(Real) except +
+ Real t()
+ void set_t(Real)
+ void set_dt(Real)
+ Real dt()
+ Real next_time()
+ bool check_reaction()
+ vector[pair[Cpp_ReactionRule, Cpp_ReactionInfo]] last_reactions()
+ void initialize()
+ # Cpp_GSLRandomNumberGenerator& rng()
+ shared_ptr[Cpp_Model] model()
+ shared_ptr[Cpp_MesoscopicWorld] world()
+ void run(Real) except +
+ void run(Real, shared_ptr[Cpp_Observer]) except +
+ void run(Real, vector[shared_ptr[Cpp_Observer]]) except +
+
+## MesoscopicSimulator
+# a python wrapper for Cpp_MesoscopicSimulator
+cdef class MesoscopicSimulator:
+ cdef Cpp_MesoscopicSimulator* thisptr
+
+cdef MesoscopicSimulator MesoscopicSimulator_from_Cpp_MesoscopicSimulator(Cpp_MesoscopicSimulator* s)
+
+## Cpp_MesoscopicFactory
+# ecell4::meso::MesoscopicFactory
+cdef extern from "ecell4/meso/MesoscopicFactory.hpp" namespace "ecell4::meso":
+ cdef cppclass Cpp_MesoscopicFactory "ecell4::meso::MesoscopicFactory":
+ Cpp_MesoscopicFactory(Cpp_Integer3&, Real) except +
+ Cpp_MesoscopicWorld* create_world()
+ Cpp_MesoscopicWorld* create_world(string)
+ Cpp_MesoscopicWorld* create_world(Cpp_Real3&)
+ Cpp_MesoscopicWorld* create_world(shared_ptr[Cpp_Model])
+ Cpp_MesoscopicSimulator* create_simulator(shared_ptr[Cpp_Model], shared_ptr[Cpp_MesoscopicWorld])
+ Cpp_MesoscopicSimulator* create_simulator(shared_ptr[Cpp_MesoscopicWorld])
+ Cpp_MesoscopicFactory* rng_ptr(shared_ptr[Cpp_RandomNumberGenerator]&)
+ @staticmethod
+ Cpp_Integer3 default_matrix_sizes()
+ @staticmethod
+ Real default_subvolume_length()
+
+## MesoscopicFactory
+# a python wrapper for Cpp_MesoscopicFactory
+cdef class MesoscopicFactory:
+ cdef Cpp_MesoscopicFactory* thisptr
diff --git a/python/lib/ecell4/meso.pyx b/python/lib/ecell4/meso.pyx
new file mode 100644
index 0000000..248302e
--- /dev/null
+++ b/python/lib/ecell4/meso.pyx
@@ -0,0 +1,1065 @@
+import collections
+from cython cimport address
+from cython.operator cimport dereference as deref, preincrement as inc
+from ecell4.core cimport *
+
+
+## ReactionInfo
+cdef class ReactionInfo:
+ """A class stores detailed information about a reaction in meso.
+
+ ReactionInfo(t, reactants, products, coord)
+
+ """
+
+ def __init__(self, Real t, reactants, products, coord):
+ """Constructor.
+
+ Args:
+ t (Real): A time when a reaction occurred.
+ reactants (list): A list of reactants.
+ Reactants are given as a ``Species``.
+ products (list): A list of products.
+ Products are given as a ``Species``.
+ coord (int): A coordinate where a reaction occurred.
+
+ """
+ pass #XXX: only used for doc string
+
+
+ def __cinit__(self, Real t, reactants, products, Integer coord):
+ cdef vector[Cpp_Species] reactants_
+ cdef vector[Cpp_Species] products_
+
+ for sp in reactants:
+ reactants_.push_back(deref((<Species>sp).thisptr))
+ for sp in products:
+ products_.push_back(deref((<Species>sp).thisptr))
+
+ self.thisptr = new Cpp_ReactionInfo(t, reactants_, products_, coord)
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def t(self):
+ """Return a time when a reaction occurred."""
+ return self.thisptr.t()
+
+ def coordinate(self):
+ """Return a coordinate where a reaction occurred."""
+ return self.thisptr.coordinate()
+
+ def reactants(self):
+ """Return a list of reactants
+
+ Returns:
+ list: A list of ``Species``.
+
+ """
+ cdef vector[Cpp_Species] species = self.thisptr.reactants()
+
+ retval = []
+ cdef vector[Cpp_Species].iterator it = species.begin()
+ while it != species.end():
+ retval.append(
+ Species_from_Cpp_Species(
+ <Cpp_Species*>(address(deref(it)))))
+ inc(it)
+ return retval
+
+ def products(self):
+ cdef vector[Cpp_Species] species = self.thisptr.products()
+ """Return a list of products
+
+ Returns:
+ list: A list of ``Species``.
+
+ """
+
+ retval = []
+ cdef vector[Cpp_Species].iterator it = species.begin()
+ while it != species.end():
+ retval.append(
+ Species_from_Cpp_Species(
+ <Cpp_Species*>(address(deref(it)))))
+ inc(it)
+ return retval
+
+ def __reduce__(self):
+ return (ReactionInfo, (self.t(), self.reactants(), self.products(), self.coordinate()))
+
+cdef ReactionInfo ReactionInfo_from_Cpp_ReactionInfo(Cpp_ReactionInfo* ri):
+ cdef Cpp_ReactionInfo *new_obj = new Cpp_ReactionInfo(<Cpp_ReactionInfo> deref(ri))
+ r = ReactionInfo(0, [], [], 0)
+ del r.thisptr
+ r.thisptr = new_obj
+ return r
+
+## MesoscopicWorld
+# a python wrapper for Cpp_MesoscopicWorld
+cdef class MesoscopicWorld:
+ """A class containing the properties of the meso world.
+
+ MesoscopicWorld(edge_lengths=None, matrix_sizes=None, GSLRandomNumberGenerator rng=None)
+
+ """
+
+ def __init__(self, edge_lengths = None, matrix_sizes = None,
+ GSLRandomNumberGenerator rng = None):
+ """Constructor.
+
+ Parameters
+ ----------
+ edge_lengths : Real3, optional
+ A size of the World.
+ matrix_sizes : Integer3 or Real, optional
+ A cell size of the space.
+ The number of cells must be larger than 3, in principle.
+ When given as a value, it is assumed to be a edge length of a cell.
+ rng : GSLRandomNumberGenerator, optional
+ A random number generator.
+
+ """
+ pass
+
+ def __cinit__(self, edge_lengths = None,
+ matrix_sizes = None, GSLRandomNumberGenerator rng = None):
+ cdef string filename
+
+ if edge_lengths is None:
+ self.thisptr = new shared_ptr[Cpp_MesoscopicWorld](new Cpp_MesoscopicWorld())
+ elif matrix_sizes is None:
+ if isinstance(edge_lengths, Real3):
+ self.thisptr = new shared_ptr[Cpp_MesoscopicWorld](
+ new Cpp_MesoscopicWorld(deref((<Real3>edge_lengths).thisptr)))
+ else:
+ filename = tostring(edge_lengths)
+ self.thisptr = new shared_ptr[Cpp_MesoscopicWorld](
+ new Cpp_MesoscopicWorld(filename))
+ elif rng is None:
+ if isinstance(matrix_sizes, Integer3):
+ self.thisptr = new shared_ptr[Cpp_MesoscopicWorld](
+ new Cpp_MesoscopicWorld(
+ deref((<Real3>edge_lengths).thisptr),
+ deref((<Integer3>matrix_sizes).thisptr)))
+ else:
+ self.thisptr = new shared_ptr[Cpp_MesoscopicWorld](
+ new Cpp_MesoscopicWorld(
+ deref((<Real3>edge_lengths).thisptr),
+ <Real>matrix_sizes))
+ else:
+ if isinstance(matrix_sizes, Integer3):
+ # XXX: GSLRandomNumberGenerator -> RandomNumberGenerator
+ self.thisptr = new shared_ptr[Cpp_MesoscopicWorld](
+ new Cpp_MesoscopicWorld(
+ deref((<Real3>edge_lengths).thisptr),
+ deref((<Integer3>matrix_sizes).thisptr), deref(rng.thisptr)))
+ else:
+ self.thisptr = new shared_ptr[Cpp_MesoscopicWorld](
+ new Cpp_MesoscopicWorld(
+ deref((<Real3>edge_lengths).thisptr),
+ <Real>matrix_sizes, deref(rng.thisptr)))
+
+ def __dealloc__(self):
+ # XXX: Here, we release shared pointer,
+ # and if reference count to the MesoscopicWorld object,
+ # it will be released automatically.
+ del self.thisptr
+
+ def set_t(self, Real t):
+ """set_t(t)
+
+ Set the value of the time of the world.
+
+ Parameters
+ ----------
+ t : Real
+ The time of the world
+
+ """
+ self.thisptr.get().set_t(t)
+
+ def t(self):
+ """Return the time of the world."""
+ return self.thisptr.get().t()
+
+ def edge_lengths(self):
+ """edge_lengths() -> Real3
+
+ Return the edge lengths of the world.
+
+ """
+ cdef Cpp_Real3 lengths = self.thisptr.get().edge_lengths()
+ return Real3_from_Cpp_Real3(address(lengths))
+
+ def actual_lengths(self):
+ """actual_lengths() -> Real3
+
+ Return the actual edge lengths of the world.
+ Same as ``edge_lengths``.
+ """
+ cdef Cpp_Real3 lengths = self.thisptr.get().actual_lengths()
+ return Real3_from_Cpp_Real3(address(lengths))
+
+ def matrix_sizes(self):
+ """matrix_sizes() -> Integer3
+
+ Return the number of subvolumes along axes.
+
+ """
+ cdef Cpp_Integer3 sizes = self.thisptr.get().matrix_sizes()
+ return Integer3_from_Cpp_Integer3(address(sizes))
+
+ def volume(self):
+ """Return the volume of the world."""
+ return self.thisptr.get().volume()
+
+ def subvolume(self):
+ """Return the subvolume of each cell."""
+ return self.thisptr.get().subvolume()
+
+ def get_value(self, Species sp):
+ """get_value(sp) -> Real
+
+ Return the value (number) corresponding the given Species.
+
+ Parameters
+ ----------
+ sp : Species
+ a species whose value you require
+
+ Returns
+ -------
+ Real:
+ the value
+
+ """
+ return self.thisptr.get().get_value(deref(sp.thisptr))
+
+ def get_value_exact(self, Species sp):
+ """get_value_exact(sp) -> Real
+
+ Return the value (number) corresponding the given Species.
+
+ Parameters
+ ----------
+ sp : Species
+ a species whose value you require
+
+ Returns
+ -------
+ Real:
+ the value
+
+ """
+ return self.thisptr.get().get_value_exact(deref(sp.thisptr))
+
+ def set_value(self, Species sp, Real value):
+ """set_value(sp, value)
+
+ Set the value of the given species.
+
+ Parameters
+ ----------
+ sp : Species
+ a species whose value you set
+ value : Real
+ a value set
+
+ """
+ self.thisptr.get().set_value(deref(sp.thisptr), value)
+
+ def num_subvolumes(self, sp = None):
+ """num_subvolumes(sp=None) -> Integer
+
+ Return the number of subvolumes.
+
+ Parameters
+ ----------
+ sp : Species, optional
+ A species specifying a structure.
+ When no species is given, return the total number of subvolumes.
+
+ Returns
+ -------
+ Integer:
+ The number of subvolumes.
+
+ """
+ if sp is None:
+ return self.thisptr.get().num_subvolumes()
+ else:
+ return self.thisptr.get().num_subvolumes(deref((<Species>sp).thisptr))
+
+ def subvolume_edge_lengths(self):
+ """Return the edge lengths of a subvolume."""
+ cdef Cpp_Real3 lengths = self.thisptr.get().subvolume_edge_lengths()
+ return Real3_from_Cpp_Real3(address(lengths))
+
+ def global2coord(self, Integer3 g):
+ """global2coord(g) -> Integer
+
+ Transform a global coordinate to a coordinate.
+
+ Parameters
+ ----------
+ g : Integer3
+ a global coordinate
+
+ Returns
+ -------
+ Integer:
+ A coordinate
+
+ """
+ return self.thisptr.get().global2coord(deref(g.thisptr))
+
+ def coord2global(self, Integer c):
+ """coord2global(coord) -> Integer3
+
+ Transform a coordinate to a global coordinate.
+
+ """
+ cdef Cpp_Integer3 g = self.thisptr.get().coord2global(c)
+ return Integer3_from_Cpp_Integer3(address(g))
+
+ def position2global(self, Real3 pos):
+ """position2global(pos) -> Integer3
+
+ Transform a position to a global coordinate.
+
+ Parameters
+ ----------
+ pos : Real3
+ A position
+
+ Returns
+ -------
+ Integer3:
+ A global coordinate
+
+ """
+ cdef Cpp_Integer3 g = self.thisptr.get().position2global(deref(pos.thisptr))
+ return Integer3_from_Cpp_Integer3(address(g))
+
+ def position2coordinate(self, Real3 pos):
+ """position2coordinate(pos) -> Integer
+
+ Transform a position to a coordinate.
+
+ Parameters
+ ----------
+ pos : Real3
+ A position
+
+ Returns
+ -------
+ Integer:
+ A coordinate
+
+ """
+ return self.thisptr.get().position2coordinate(deref(pos.thisptr))
+
+ def num_molecules(self, Species sp, c = None):
+ """num_molecules(sp, c=None) -> Integer
+
+ Return the number of molecules within the suggested subvolume.
+
+ Parameters
+ ----------
+ sp : Species
+ A species whose molecules you count
+ c : Integer, optional
+ A coordinate.
+
+ Returns
+ -------
+ Integer:
+ The number of molecules (of a given species)
+
+ """
+ if c is None:
+ return self.thisptr.get().num_molecules(deref(sp.thisptr))
+ elif isinstance(c, Integer3):
+ return self.thisptr.get().num_molecules(deref(sp.thisptr), deref((<Integer3>c).thisptr))
+ else:
+ return self.thisptr.get().num_molecules(deref(sp.thisptr), <Integer>c)
+
+ def num_molecules_exact(self, Species sp, c = None):
+ """num_molecules_exact(sp, c=None) -> Integer
+
+ Return the number of molecules within the suggested subvolume.
+
+ Parameters
+ ----------
+ sp : Species
+ The species of molecules to count
+ c : Integer, optional
+ A coordinate.
+
+ Returns
+ -------
+ Integer:
+ The number of molecules of a given species
+
+ """
+ if c is None:
+ return self.thisptr.get().num_molecules_exact(deref(sp.thisptr))
+ elif isinstance(c, Integer3):
+ return self.thisptr.get().num_molecules_exact(deref(sp.thisptr), deref((<Integer3>c).thisptr))
+ else:
+ return self.thisptr.get().num_molecules_exact(deref(sp.thisptr), <Integer>c)
+
+ def add_molecules(self, Species sp, Integer num, c = None):
+ """add_molecules(sp, num, c=None)
+
+ Add some molecules.
+
+ Parameters
+ ----------
+ sp : Species
+ a species of molecules to add
+ num : Integer
+ the number of molecules to add
+ c : Integer or Shape, optional
+ a coordinate or shape to add molecules on
+
+ """
+ if c is None:
+ self.thisptr.get().add_molecules(deref(sp.thisptr), num)
+ elif isinstance(c, Integer3):
+ self.thisptr.get().add_molecules(deref(sp.thisptr), num, deref((<Integer3>c).thisptr))
+ elif hasattr(c, "as_base"):
+ self.thisptr.get().add_molecules(
+ deref(sp.thisptr), num, deref((<Shape>(c.as_base())).thisptr))
+ else:
+ self.thisptr.get().add_molecules(deref(sp.thisptr), num, <Integer>c)
+
+ def remove_molecules(self, Species sp, Integer num, c = None):
+ """remove_molecules(sp, num, c=None)
+
+ Remove the molecules.
+
+ Parameters
+ ----------
+ sp : Species
+ a species whose molecules to remove
+ num : Integer
+ a number of molecules to be removed
+ c : Integer, optional
+ A coordinate.
+
+ """
+ if c is None:
+ self.thisptr.get().remove_molecules(deref(sp.thisptr), num)
+ elif isinstance(c, Integer3):
+ self.thisptr.get().remove_molecules(deref(sp.thisptr), num, deref((<Integer3>c).thisptr))
+ else:
+ self.thisptr.get().remove_molecules(deref(sp.thisptr), num, <Integer>c)
+
+ def add_structure(self, Species sp, shape):
+ """add_structure(sp, shape)
+
+ Add a structure.
+
+ Parameters
+ ----------
+ sp : Species
+ a species suggesting the shape.
+ shape : Shape
+ a shape of the structure.
+
+ """
+ self.thisptr.get().add_structure(
+ deref(sp.thisptr), deref((<Shape>(shape.as_base())).thisptr))
+
+ def get_volume(self, Species sp):
+ """get_volume(sp) -> Real
+
+ Return a volume of the given structure.
+
+ Parameters
+ ----------
+ sp : Species
+ A species for the target structure.
+
+ Returns
+ -------
+ Real:
+ A total volume of subvolumes belonging to the structure.
+
+ """
+ return self.thisptr.get().get_volume(deref(sp.thisptr))
+
+ def has_structure(self, Species sp):
+ """has_structure(sp) -> bool
+
+ Return if the given structure is in the space or not.
+
+ Parameters
+ ----------
+ sp : Species
+ A species for the target structure.
+
+ Returns
+ -------
+ bool:
+ True if the given structure is in self.
+
+ """
+ return self.thisptr.get().has_structure(deref(sp.thisptr))
+
+ def on_structure(self, Species sp, Integer3 g):
+ """on_structure(sp, g) -> bool
+
+ Check if the given species would be on the proper structure at the coordinate.
+
+ Parameters
+ ----------
+ sp : Species
+ a species scheduled to be placed
+ g : Integer3
+ a global coordinate pointing a subvolume
+
+ Returns
+ -------
+ bool:
+ True if it is on the proper structure.
+
+ """
+ return self.thisptr.get().on_structure(deref(sp.thisptr), deref(g.thisptr))
+
+ def check_structure(self, Species sp, Integer3 g):
+ """check_structure(sp, g) -> bool
+
+ Check if the given subvolume is belonging to the structure.
+
+ Parameters
+ ----------
+ sp : Species
+ A species for the target structure.
+ g : Integer3
+ a global coordinate pointing a subvolume
+
+ Returns
+ -------
+ bool:
+ True if the subvolume is belonging to the structure.
+
+ """
+ return self.thisptr.get().check_structure(deref(sp.thisptr), deref(g.thisptr))
+
+ def get_occupancy(self, Species sp, g):
+ """get_occupancy(sp, g) -> Real
+
+ Return the occupancy of the structure in the subvolume.
+
+ Parameters
+ ----------
+ sp : Species
+ A species for the target structure.
+ g : Integer3
+ a global coordinate pointing a subvolume
+
+ Returns
+ -------
+ Real:
+ The occupancy of the structure.
+ As a default, return 1 if the subvolume overlaps with the structure,
+ and return 0 otherwise.
+
+ """
+ if isinstance(g, Integer3):
+ return self.thisptr.get().get_occupancy(
+ deref(sp.thisptr), deref((<Integer3>g).thisptr))
+ else:
+ return self.thisptr.get().get_occupancy(deref(sp.thisptr), <Integer>g)
+
+ def list_species(self):
+ """Return a list of species."""
+ cdef vector[Cpp_Species] species = self.thisptr.get().list_species()
+
+ retval = []
+ cdef vector[Cpp_Species].iterator it = species.begin()
+ while it != species.end():
+ retval.append(
+ Species_from_Cpp_Species(
+ <Cpp_Species*>(address(deref(it)))))
+ inc(it)
+ return retval
+
+ def list_coordinates(self, Species sp):
+ """list_coordinates(sp) -> [Integer]
+
+ Return a list of coordinates of molecules belonging to the given species.
+
+ Parameters
+ ----------
+ sp : Species
+ A species of molecules.
+
+ Returns
+ -------
+ list:
+ A list of coordinates.
+
+ """
+ return self.thisptr.get().list_coordinates(deref(sp.thisptr))
+
+ def list_coordinates_exact(self, Species sp):
+ """list_coordinates_exact(sp) -> [Integer]
+
+ Return a list of coordinates of molecules belonging to the given species.
+
+ Parameters
+ ----------
+ sp : Species
+ A species of molecules.
+
+ Returns
+ -------
+ list:
+ A list of coordinates.
+
+ """
+ return self.thisptr.get().list_coordinates_exact(deref(sp.thisptr))
+
+ def new_particle(self, arg1, Real3 arg2=None):
+ """new_particle(arg1, arg2=None) -> (ParticleID, Particle)
+
+ Create a new particle.
+
+ Parameters
+ ----------
+ arg1 : Particle
+ A particle to be placed.
+
+ or
+
+ arg1 : Species
+ A species of a particle
+ arg2 : Real3
+ A position to place a particle
+
+ Returns
+ -------
+ tuple:
+ A pair of ParticleID and Particle of a new particle
+
+ """
+ cdef pair[pair[Cpp_ParticleID, Cpp_Particle], bool] retval
+
+ if arg2 is None:
+ retval = self.thisptr.get().new_particle(deref((<Particle> arg1).thisptr))
+ else:
+ retval = self.thisptr.get().new_particle(deref((<Species> arg1).thisptr), deref(arg2.thisptr))
+ return ((ParticleID_from_Cpp_ParticleID(address(retval.first.first)), Particle_from_Cpp_Particle(address(retval.first.second))), retval.second)
+
+ def list_particles(self, Species sp = None):
+ """list_particles(sp) -> [(ParticleID, Particle)]
+
+ Return the list of particles.
+
+ Parameters
+ ----------
+ sp : Species, optional
+ The species of particles to list up
+ If no species is given, return the whole list of particles.
+
+ Returns
+ -------
+ list:
+ The list of particles (of the given species)
+
+ """
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]] particles
+ if sp is None:
+ particles = self.thisptr.get().list_particles()
+ else:
+ particles = self.thisptr.get().list_particles(deref(sp.thisptr))
+
+ retval = []
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]].iterator \
+ it = particles.begin()
+ while it != particles.end():
+ retval.append(
+ (ParticleID_from_Cpp_ParticleID(
+ <Cpp_ParticleID*>(address(deref(it).first))),
+ Particle_from_Cpp_Particle(
+ <Cpp_Particle*>(address(deref(it).second)))))
+ inc(it)
+ return retval
+
+ def list_particles_exact(self, Species sp):
+ """list_particles_exact(sp) -> [(ParticleID, Particle)]
+
+ Return the list of particles of a given species.
+
+ Parameters
+ ----------
+ sp : Species
+ The species of particles to list up
+
+ Returns
+ -------
+ list:
+ The list of particles of a given species
+
+ """
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]] particles
+ particles = self.thisptr.get().list_particles_exact(deref(sp.thisptr))
+
+ retval = []
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]].iterator \
+ it = particles.begin()
+ while it != particles.end():
+ retval.append(
+ (ParticleID_from_Cpp_ParticleID(
+ <Cpp_ParticleID*>(address(deref(it).first))),
+ Particle_from_Cpp_Particle(
+ <Cpp_Particle*>(address(deref(it).second)))))
+ inc(it)
+ return retval
+
+ def save(self, filename):
+ """save(filename)
+
+ Save the world to a file.
+
+ Parameters
+ ----------
+ filename : str
+ a filename to save to
+
+ """
+ self.thisptr.get().save(tostring(filename))
+
+ def load(self, filename):
+ """load(filename)
+
+ Load the world from a file.
+
+ Parameters
+ ----------
+ filename : str
+ a filename to load from
+
+ """
+ self.thisptr.get().load(tostring(filename))
+
+ def bind_to(self, m):
+ """bind_to(m)
+
+ Bind a model to the world
+
+ Parameters
+ ----------
+ m : Model
+ a model to bind
+
+ """
+ self.thisptr.get().bind_to(Cpp_Model_from_Model(m))
+
+ def rng(self):
+ """Return a random number generator object."""
+ return GSLRandomNumberGenerator_from_Cpp_RandomNumberGenerator(
+ self.thisptr.get().rng())
+
+ def as_base(self):
+ """Return self as a base class. Only for developmental use."""
+ retval = Space()
+ del retval.thisptr
+ retval.thisptr = new shared_ptr[Cpp_Space](
+ <shared_ptr[Cpp_Space]>deref(self.thisptr))
+ return retval
+
+cdef MesoscopicWorld MesoscopicWorld_from_Cpp_MesoscopicWorld(
+ shared_ptr[Cpp_MesoscopicWorld] w):
+ r = MesoscopicWorld(Real3(1, 1, 1), Integer3(1, 1, 1))
+ r.thisptr.swap(w)
+ return r
+
+## MesoscopicSimulator
+# a python wrapper for Cpp_MesoscopicSimulator
+cdef class MesoscopicSimulator:
+ """ A class running the simulation with the meso algorithm.
+
+ MesoscopicSimulator(m, w)
+
+ """
+
+ def __init__(self, m, MesoscopicWorld w=None):
+ """MesoscopicSimulator(m, w)
+ MesoscopicSimulator(w)
+
+ Constructor.
+
+ Parameters
+ ----------
+ m : Model
+ A model
+ w : MesoscopicWorld
+ A world
+
+ """
+ pass
+
+ def __cinit__(self, m, MesoscopicWorld w=None):
+ if w is None:
+ self.thisptr = new Cpp_MesoscopicSimulator(
+ deref((<MesoscopicWorld>m).thisptr))
+ else:
+ self.thisptr = new Cpp_MesoscopicSimulator(
+ Cpp_Model_from_Model(m), deref(w.thisptr))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def num_steps(self):
+ """Return the number of steps."""
+ return self.thisptr.num_steps()
+
+ def step(self, upto = None):
+ """step(upto=None) -> bool
+
+ Step the simulation.
+
+ Parameters
+ ----------
+ upto : Real, optional
+ The time which to step the simulation up to
+
+ Returns
+ -------
+ bool:
+ True if the simulation did not reach the given time.
+ When upto is not given, nothing will be returned.
+
+ """
+ if upto is None:
+ self.thisptr.step()
+ else:
+ return self.thisptr.step(<Real> upto)
+
+ def t(self):
+ """Return the time."""
+ return self.thisptr.t()
+
+ def dt(self):
+ """Return the step interval."""
+ return self.thisptr.dt()
+
+ def next_time(self):
+ """Return the scheduled time for the next step."""
+ return self.thisptr.next_time()
+
+ def check_reaction(self):
+ """Return if any reaction occurred at the last step, or not."""
+ return self.thisptr.check_reaction()
+
+ def last_reactions(self):
+ """last_reactions() -> [(ReactionRule, ReactionInfo)]
+
+ Return reactions occuring at the last step.
+
+ Returns
+ -------
+ list:
+ The list of reaction rules and infos.
+
+ """
+ cdef vector[pair[Cpp_ReactionRule, Cpp_ReactionInfo]] reactions = self.thisptr.last_reactions()
+ cdef vector[pair[Cpp_ReactionRule, Cpp_ReactionInfo]].iterator it = reactions.begin()
+ retval = []
+ while it != reactions.end():
+ retval.append((
+ ReactionRule_from_Cpp_ReactionRule(
+ <Cpp_ReactionRule*>(address(deref(it).first))),
+ ReactionInfo_from_Cpp_ReactionInfo(
+ <Cpp_ReactionInfo*>(address(deref(it).second)))))
+ inc(it)
+ return retval
+
+ def set_t(self, Real new_t):
+ """set_t(t)
+
+ Set the current time.
+
+ Parameters
+ ----------
+ t : Real
+ A current time.
+
+ """
+ self.thisptr.set_t(new_t)
+
+ def set_dt(self, Real dt):
+ """set_dt(dt)
+
+ Set a step interval.
+
+ Parameters
+ ----------
+ dt : Real
+ A step interval
+
+ """
+ self.thisptr.set_dt(dt)
+
+ def initialize(self):
+ """Initialize the simulator."""
+ self.thisptr.initialize()
+
+ def model(self):
+ """Return the model bound."""
+ return Model_from_Cpp_Model(self.thisptr.model())
+
+ def world(self):
+ """Return the world bound."""
+ return MesoscopicWorld_from_Cpp_MesoscopicWorld(self.thisptr.world())
+
+ def run(self, Real duration, observers=None):
+ """run(duration, observers)
+
+ Run the simulation.
+
+ Parameters
+ ----------
+ duration : Real
+ A duration for running a simulation.
+ A simulation is expected to be stopped at t() + duration.
+ observers : list of Obeservers, optional
+ Observers
+
+ """
+ cdef vector[shared_ptr[Cpp_Observer]] tmp
+
+ if observers is None:
+ self.thisptr.run(duration)
+ elif isinstance(observers, collections.Iterable):
+ for obs in observers:
+ tmp.push_back(deref((<Observer>(obs.as_base())).thisptr))
+ self.thisptr.run(duration, tmp)
+ else:
+ self.thisptr.run(duration,
+ deref((<Observer>(observers.as_base())).thisptr))
+
+cdef MesoscopicSimulator MesoscopicSimulator_from_Cpp_MesoscopicSimulator(
+ Cpp_MesoscopicSimulator* s):
+ r = MesoscopicSimulator(
+ Model_from_Cpp_Model(s.model()),
+ MesoscopicWorld_from_Cpp_MesoscopicWorld(s.world()))
+ del r.thisptr
+ r.thisptr = s
+ return r
+
+## MesoscopicFactory
+# a python wrapper for Cpp_MesoscopicFactory
+cdef class MesoscopicFactory:
+ """ A factory class creating a MesoscopicWorld instance and a MesoscopicSimulator instance.
+
+ MesoscopicFactory(matrix_sizes=None, subvolume_length=None)
+
+ """
+
+ def __init__(self, matrix_sizes=None, subvolume_length=None):
+ """Constructor.
+
+ Parameters
+ ----------
+ matrix_sizes : Integer3, optional
+ A cell size of the space.
+ The number of cells must be larger than 3, in principle.
+ subvolume_length : Real, optional
+ The candidate for a edge length of a cell.
+ If both matrix_sizes and subvolume_length are given,
+ subvolume_length will be ignored.
+
+ """
+ pass
+
+ def __cinit__(self, Integer3 matrix_sizes=None, subvolume_length=None):
+ self.thisptr = new Cpp_MesoscopicFactory(
+ Cpp_MesoscopicFactory.default_matrix_sizes() if matrix_sizes is None else deref(matrix_sizes.thisptr),
+ Cpp_MesoscopicFactory.default_subvolume_length() if subvolume_length is None else <Real>subvolume_length)
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def rng(self, GSLRandomNumberGenerator rng):
+ """rng(GSLRandomNumberGenerator) -> MesoscopicFactory
+
+ Set a random number generator, and return self.
+
+ """
+ cdef Cpp_MesoscopicFactory *ptr = self.thisptr.rng_ptr(deref(rng.thisptr))
+ assert ptr == self.thisptr
+ return self
+
+ def create_world(self, arg1=None):
+ """create_world(arg1=None) -> MesoscopicWorld
+
+ Return a MesoscopicWorld instance.
+
+ Parameters
+ ----------
+ arg1 : Real3
+ The lengths of edges of a MesoscopicWorld created
+
+ or
+
+ arg1 : str
+ The path of a HDF5 file for MesoscopicWorld
+
+ Returns
+ -------
+ MesoscopicWorld:
+ the created world
+
+ """
+ if arg1 is None:
+ return MesoscopicWorld_from_Cpp_MesoscopicWorld(
+ shared_ptr[Cpp_MesoscopicWorld](
+ self.thisptr.create_world()))
+ elif isinstance(arg1, Real3):
+ return MesoscopicWorld_from_Cpp_MesoscopicWorld(
+ shared_ptr[Cpp_MesoscopicWorld](
+ self.thisptr.create_world(deref((<Real3>arg1).thisptr))))
+ elif isinstance(arg1, str):
+ return MesoscopicWorld_from_Cpp_MesoscopicWorld(
+ shared_ptr[Cpp_MesoscopicWorld](self.thisptr.create_world(<string>(arg1))))
+ else:
+ return MesoscopicWorld_from_Cpp_MesoscopicWorld(
+ shared_ptr[Cpp_MesoscopicWorld](self.thisptr.create_world(
+ Cpp_Model_from_Model(arg1))))
+
+ def create_simulator(self, arg1, MesoscopicWorld arg2=None):
+ """create_simulator(arg1, arg2) -> MesoscopicSimulator
+
+ Return a MesoscopicSimulator instance.
+
+ Parameters
+ ----------
+ arg1 : MesoscopicWorld
+ A world
+
+ or
+
+ arg1 : Model
+ A simulation model
+ arg2 : MesoscopicWorld
+ A world
+
+ Returns
+ -------
+ MesoscopicSimulator:
+ the created simulator
+
+ """
+ if arg2 is None:
+ return MesoscopicSimulator_from_Cpp_MesoscopicSimulator(
+ self.thisptr.create_simulator(deref((<MesoscopicWorld>arg1).thisptr)))
+ else:
+ return MesoscopicSimulator_from_Cpp_MesoscopicSimulator(
+ self.thisptr.create_simulator(
+ Cpp_Model_from_Model(arg1), deref(arg2.thisptr)))
diff --git a/python/lib/ecell4/multiset.pxd b/python/lib/ecell4/multiset.pxd
new file mode 100644
index 0000000..0bcbc45
--- /dev/null
+++ b/python/lib/ecell4/multiset.pxd
@@ -0,0 +1,12 @@
+cdef extern from "<set>" namespace "std":
+ cdef cppclass multiset[T]:
+ multiset() except +
+ multiset(multiset &) except+
+ cppclass iterator:
+ T& operator*()
+ iterator operator++()
+ iterator operator--()
+ bint operator==(iterator)
+ bint operator!=(iterator)
+ iterator begin()
+ iterator end()
diff --git a/python/lib/ecell4/observers.pxi b/python/lib/ecell4/observers.pxi
new file mode 100644
index 0000000..37b0701
--- /dev/null
+++ b/python/lib/ecell4/observers.pxi
@@ -0,0 +1,990 @@
+cdef class Observer:
+ """A wrapper for a base class of Observers.
+
+ Warning: This is mainly for developers.
+ Do not use this for your simulation.
+
+ """
+
+ def __init__(self):
+ """Constructor."""
+ pass
+
+ def __cinit__(self):
+ self.thisptr = new shared_ptr[Cpp_Observer](
+ <Cpp_Observer*>(new Cpp_FixedIntervalNumberObserver(
+ 0.0, vector[string]()))) #XXX: DUMMY
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def next_time(self):
+ """Return the next time for logging."""
+ return self.thisptr.get().next_time()
+
+ def reset(self):
+ """Reset the internal state."""
+ self.thisptr.get().reset()
+
+cdef class FixedIntervalNumberObserver:
+ """An ``Observer``class to log the number of molecules with the fixed
+ step interval.
+ This ``Observer`` logs at the current time first, and then keeps logging
+ every after the interval.
+
+ FixedIntervalNumberObserver(dt, species)
+
+ """
+
+ def __init__(self, Real dt, species):
+ """Constructor.
+
+ Parameters
+ ----------
+ dt : float
+ A step interval for logging.
+ species : list
+ A list of strings, but not of ``Species``.
+ The strings suggest serials of ``Species`` to be observed.
+
+ """
+ pass # XXX: Only used for doc string
+
+ def __cinit__(self, Real dt, species):
+ cdef vector[string] cpp_species
+ for serial in species:
+ cpp_species.push_back(tostring(serial))
+ self.thisptr = new shared_ptr[Cpp_FixedIntervalNumberObserver](
+ new Cpp_FixedIntervalNumberObserver(dt, cpp_species))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def next_time(self):
+ """Return the next time for logging."""
+ return self.thisptr.get().next_time()
+
+ def num_steps(self):
+ """Return the number of steps."""
+ return self.thisptr.get().num_steps()
+
+ def data(self):
+ """Return a list of the number of molecules you specified.
+
+ Returns
+ -------
+ list:
+ A list of lists of the numbers of molecules.
+ The size of a return value is equal to ``num_steps``.
+ Each element of a return value is a list consisting of
+ time and the number of molecules specified at the construction.
+
+ """
+ cdef vector[vector[Real]] d = self.thisptr.get().data()
+ retval = []
+ cdef vector[vector[Real]].iterator it = d.begin()
+ while it != d.end():
+ retval.append(deref(it))
+ inc(it)
+ return retval
+
+ def targets(self):
+ """Return a list of ``Species``, which this ``Observer`` observes
+
+ Returns
+ -------
+ list:
+ A list of ``Species``. This is generated from arguments
+ you gave at the construction.
+
+ """
+ cdef vector[Cpp_Species] species = self.thisptr.get().targets()
+
+ retval = []
+ cdef vector[Cpp_Species].iterator it = species.begin()
+ while it != species.end():
+ retval.append(
+ Species_from_Cpp_Species(
+ <Cpp_Species*>(address(deref(it)))))
+ inc(it)
+ return retval
+
+ def save(self, filename):
+ """Save data to an output with the given filename."""
+ self.thisptr.get().save(tostring(filename))
+
+ def as_base(self):
+ """Clone self as a base class. This function is for developers."""
+ retval = Observer()
+ del retval.thisptr
+ retval.thisptr = new shared_ptr[Cpp_Observer](
+ <shared_ptr[Cpp_Observer]>deref(self.thisptr))
+ return retval
+
+ def reset(self):
+ """Reset the internal state."""
+ self.thisptr.get().reset()
+
+cdef class NumberObserver:
+ """An ``Observer``class to log the number of molecules.
+ This ``Observer`` logs at the current time first, and then keeps logging
+ every after simulation steps.
+ Warning: This doesn't work with ODESimulator.
+
+ NumberObserver(species)
+
+ """
+
+ def __init__(self, species):
+ """Constructor.
+
+ Parameters
+ ----------
+ species : list
+ A list of strings, but not of ``Species``.
+ The strings suggest serials of ``Species`` to be observed.
+
+ """
+ pass # XXX: Only used for doc string
+
+ def __cinit__(self, species):
+ cdef vector[string] cpp_species
+ for serial in species:
+ cpp_species.push_back(tostring(serial))
+ self.thisptr = new shared_ptr[Cpp_NumberObserver](
+ new Cpp_NumberObserver(cpp_species))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def num_steps(self):
+ """Return the number of steps."""
+ return self.thisptr.get().num_steps()
+
+ def next_time(self):
+ """Return the next time for logging."""
+ return self.thisptr.get().next_time()
+
+ def data(self):
+ """Return a list of the numbers of molecules you specified.
+
+ Returns
+ -------
+ list:
+ A list of lists of the number of molecules.
+ The size of a return value is equal to ``num_steps``.
+ Each element of a return value is a list consisting of
+ time and the number of molecules specified at the construction.
+
+ """
+ cdef vector[vector[Real]] d = self.thisptr.get().data()
+ retval = []
+ cdef vector[vector[Real]].iterator it = d.begin()
+ while it != d.end():
+ retval.append(deref(it))
+ inc(it)
+ return retval
+
+ def targets(self):
+ """Return a list of ``Species``, which this ``Observer`` observes
+
+ Returns
+ -------
+ list:
+ A list of ``Species``. This is generated from arguments
+ you gave at the construction.
+
+ """
+ cdef vector[Cpp_Species] species = self.thisptr.get().targets()
+
+ retval = []
+ cdef vector[Cpp_Species].iterator it = species.begin()
+ while it != species.end():
+ retval.append(
+ Species_from_Cpp_Species(
+ <Cpp_Species*>(address(deref(it)))))
+ inc(it)
+ return retval
+
+ def save(self, filename):
+ """Save data to an output with the given filename."""
+ self.thisptr.get().save(tostring(filename))
+
+ def as_base(self):
+ """Clone self as a base class. This function is for developers."""
+ retval = Observer()
+ del retval.thisptr
+ retval.thisptr = new shared_ptr[Cpp_Observer](
+ <shared_ptr[Cpp_Observer]>deref(self.thisptr))
+ return retval
+
+ def reset(self):
+ """Reset the internal state."""
+ self.thisptr.get().reset()
+
+cdef class TimingNumberObserver:
+ """An ``Observer``class to log the number of molecules just at the time
+ you assigned.
+
+ TimingNumberObserver(t, species)
+
+ """
+
+ def __init__(self, vector[double] t, species): #XXX: vector[Real]
+ """Constructor.
+
+ Parameters
+ ----------
+ t : list
+ A list of times for logging. A time prior to the current
+ time will be ignored.
+ species : list
+ A list of strings, but not of ``Species``.
+ The strings suggest serials of ``Species`` to be observed.
+
+ """
+ pass # XXX: Only used for doc string
+
+ def __cinit__(self, vector[double] t, species): #XXX: vector[Real]
+ cdef vector[string] cpp_species
+ for serial in species:
+ cpp_species.push_back(tostring(serial))
+ self.thisptr = new shared_ptr[Cpp_TimingNumberObserver](
+ new Cpp_TimingNumberObserver(t, cpp_species))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def next_time(self):
+ """Return the next time for logging."""
+ return self.thisptr.get().next_time()
+
+ def num_steps(self):
+ """Return the number of steps."""
+ return self.thisptr.get().num_steps()
+
+ def data(self):
+ """Return a list of the numbers of molecules you specified.
+
+ Returns
+ -------
+ list:
+ A list of lists of the number of molecules.
+ The size of a return value is equal to ``num_steps``.
+ Each element of a return value is a list consisting of
+ time and the number of molecules specified at the construction.
+
+ """
+ cdef vector[vector[Real]] d = self.thisptr.get().data()
+ retval = []
+ cdef vector[vector[Real]].iterator it = d.begin()
+ while it != d.end():
+ retval.append(deref(it))
+ inc(it)
+ return retval
+
+ def targets(self):
+ """Return a list of ``Species``, which this ``Observer`` observes
+
+ Returns
+ -------
+ list:
+ A list of ``Species``. This is generated from arguments
+ you gave at the construction.
+
+ """
+ cdef vector[Cpp_Species] species = self.thisptr.get().targets()
+
+ retval = []
+ cdef vector[Cpp_Species].iterator it = species.begin()
+ while it != species.end():
+ retval.append(
+ Species_from_Cpp_Species(
+ <Cpp_Species*>(address(deref(it)))))
+ inc(it)
+ return retval
+
+ def save(self, filename):
+ """Save data to an output with the given filename."""
+ self.thisptr.get().save(tostring(filename))
+
+ def as_base(self):
+ """Clone self as a base class. This function is for developers."""
+ retval = Observer()
+ del retval.thisptr
+ retval.thisptr = new shared_ptr[Cpp_Observer](
+ <shared_ptr[Cpp_Observer]>deref(self.thisptr))
+ return retval
+
+ def reset(self):
+ """Reset the internal state."""
+ self.thisptr.get().reset()
+
+cdef class FixedIntervalHDF5Observer:
+ """An ``Observer`` class to log the state of ``World`` in HDF5 format
+ with the fixed step interval.
+ This ``Observer`` saves the ``World`` at the current time first, and
+ then keeps saving every after the interval.
+
+ FixedIntervalHDF5Observer(dt, filename)
+
+ """
+
+ def __init__(self, Real dt, filename):
+ """Constructor.
+
+ Parameters
+ ----------
+ dt : float
+ A step interval for logging.
+ filename : str
+ A file name to be saved. Data are saved in HDF5 format.
+ The extension name is recommended to be `.h5`.
+ The file name can contain at most one formatting string like
+ `%02d`, which will be replaced with the number of steps.
+ When the file name contains no formmating string, data will
+ be overwritten in a single file at every steps.
+
+ """
+ pass # XXX: Only used for doc string
+
+ def __cinit__(self, Real dt, filename):
+ self.thisptr = new shared_ptr[Cpp_FixedIntervalHDF5Observer](
+ new Cpp_FixedIntervalHDF5Observer(dt, tostring(filename)))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def next_time(self):
+ """Return the next time for logging."""
+ return self.thisptr.get().next_time()
+
+ def num_steps(self):
+ """Return the number of steps."""
+ return self.thisptr.get().num_steps()
+
+ def prefix(self):
+ """Return a prefix of a file name given at the construction"""
+ return self.thisptr.get().prefix().decode('UTF-8')
+
+ def filename(self, idx=None):
+ """Return a file name to be saved at the next time"""
+ if idx is None:
+ return self.thisptr.get().filename().decode('UTF-8')
+ else:
+ return self.thisptr.get().filename(<Integer>idx).decode('UTF-8')
+
+ def as_base(self):
+ """Clone self as a base class. This function is for developers."""
+ retval = Observer()
+ del retval.thisptr
+ retval.thisptr = new shared_ptr[Cpp_Observer](
+ <shared_ptr[Cpp_Observer]>deref(self.thisptr))
+ return retval
+
+ def reset(self):
+ """Reset the internal state."""
+ self.thisptr.get().reset()
+
+cdef class FixedIntervalCSVObserver:
+ """An ``Observer`` class to log the state of ``World`` in CSV format
+ with the fixed step interval.
+ This ``Observer`` saves the ``World`` at the current time first, and
+ then keeps saving every after the interval.
+
+ FixedIntervalCSVObserver(dt, filename, species=None)
+
+ """
+
+ def __init__(self, Real dt, filename, species=None):
+ """Constructor.
+
+ Parameters
+ ----------
+ dt : float
+ A step interval for logging.
+ filename : str
+ A file name to be saved. Data are saved in CSV format.
+ The extension name is recommended to be `.csv` or `.txt`.
+ The file name can contain at most one formatting string like
+ `%02d`, which will be replaced with the number of steps.
+ When the file name contains no formmating string, data will
+ be overwritten in a single file at every steps.
+ The first line in a file represents labels for each row.
+ Each column contains a position, a radius, and a serial id
+ for the ``Species``.
+ species : list
+ A list of strings, but not of ``Species``.
+ The strings suggest serials of ``Species`` to be observed.
+
+ """
+ pass # XXX: Only used for doc string
+
+ def __cinit__(self, Real dt, filename, species=None):
+ cdef vector[string] cpp_species
+ if species is None:
+ self.thisptr = new shared_ptr[Cpp_FixedIntervalCSVObserver](
+ new Cpp_FixedIntervalCSVObserver(dt, tostring(filename)))
+ else:
+ for serial in species:
+ cpp_species.push_back(tostring(serial))
+ self.thisptr = new shared_ptr[Cpp_FixedIntervalCSVObserver](
+ new Cpp_FixedIntervalCSVObserver(
+ dt, tostring(filename), cpp_species))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def next_time(self):
+ """Return the next time for logging."""
+ return self.thisptr.get().next_time()
+
+ def num_steps(self):
+ """Return the number of steps."""
+ return self.thisptr.get().num_steps()
+
+ def log(self, w):
+ """Force to log the given ``World`` to a file.
+
+ Parameters
+ ----------
+ w : Space
+ A ``Space`` (``World``) to be logged.
+
+ Examples
+ --------
+ This is an easy way to save a ``World`` in CSV format without
+ running a simulation.
+
+ >>> w = spatiocyte.SpatiocyteWorld(Real3(1, 1, 1), 0.005)
+ >>> w.bind_to(NetworkModel())
+ >>> w.add_molecules(Species("A"), 3)
+ >>> FixedIntervalCSVObserver(1, "test.csv").log(w)
+ >>> print(open("test.csv").read())
+ x,y,z,r,sid
+ 0.10614455552060439,0.66106605822212161,0.81500000000000006,0.0050000000000000001,0
+ 0.38375339303603129,0.37527767497325676,0.23999999999999999,0.0050000000000000001,0
+ 0.25311394008759508,0.05484827557301445,0.495,0.0050000000000000001,0
+ """
+ cdef Space space = w.as_base()
+ # self.thisptr.get().log(space.thisptr.get())
+ self.thisptr.get().log(deref(space.thisptr))
+
+ def filename(self):
+ """Return a file name to be saved at the next time"""
+ return self.thisptr.get().filename().decode('UTF-8')
+
+ def as_base(self):
+ """Clone self as a base class. This function is for developers."""
+ retval = Observer()
+ del retval.thisptr
+ retval.thisptr = new shared_ptr[Cpp_Observer](
+ <shared_ptr[Cpp_Observer]>deref(self.thisptr))
+ return retval
+
+ def reset(self):
+ """Reset the internal state."""
+ self.thisptr.get().reset()
+
+ def set_header(self, header):
+ """Set the header. 'x,y,z,r,sid' as a default."""
+ self.thisptr.get().set_header(tostring(header))
+
+ def set_formatter(self, formatter):
+ """Set the formatter.
+
+ 8 arguments are given: (1) the current time, (2-4) x, y, z,
+ (5) radius, (6-7) lot and serial of a ParticleID, (8) species index.
+ (1-5) are Real, and (6-8) Integer.
+ Its default value is '%2%,%3%,%4%,%5%,%8%'.
+
+ """
+ self.thisptr.get().set_formatter(tostring(formatter))
+
+cdef class CSVObserver:
+ """An ``Observer`` class to log the state of ``World`` in CSV format.
+ This ``Observer`` saves the ``World`` at the current time first, and
+ then keeps saving every after steps.
+
+ CSVObserver(filename, species=None)
+
+ """
+
+ def __init__(self, filename, species=None):
+ """Constructor.
+
+ Parameters
+ ----------
+ filename : str
+ A file name to be saved. Data are saved in CSV format.
+ The extension name is recommended to be `.csv` or `.txt`.
+ The file name can contain at most one formatting string like
+ `%02d`, which will be replaced with the number of steps.
+ When the file name contains no formmating string, data will
+ be overwritten in a single file at every steps.
+ The first line in a file represents labels for each row.
+ Each column contains a position, a radius, and a serial id
+ for the ``Species``.
+ species : list
+ A list of strings, but not of ``Species``.
+ The strings suggest serials of ``Species`` to be observed.
+
+ """
+ pass # XXX: Only used for doc string
+
+ def __cinit__(self, filename, species=None):
+ cdef vector[string] cpp_species
+ if species is None:
+ self.thisptr = new shared_ptr[Cpp_CSVObserver](
+ new Cpp_CSVObserver(tostring(filename)))
+ else:
+ for serial in species:
+ cpp_species.push_back(tostring(serial))
+ self.thisptr = new shared_ptr[Cpp_CSVObserver](
+ new Cpp_CSVObserver(
+ tostring(filename), cpp_species))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def next_time(self):
+ """Return the next time for logging."""
+ return self.thisptr.get().next_time()
+
+ def num_steps(self):
+ """Return the number of steps."""
+ return self.thisptr.get().num_steps()
+
+ def log(self, w):
+ """Force to log the given ``World`` to a file.
+
+ Parameters
+ ----------
+ w : Space
+ A ``Space`` (``World``) to be logged.
+
+ Examples
+ --------
+ This is an easy way to save a ``World`` in CSV format without
+ running a simulation.
+
+ >>> w = spatiocyte.SpatiocyteWorld(Real3(1, 1, 1), 0.005)
+ >>> w.bind_to(NetworkModel())
+ >>> w.add_molecules(Species("A"), 3)
+ >>> CSVObserver(1, "test.csv").log(w)
+ >>> print(open("test.csv").read())
+ x,y,z,r,sid
+ 0.10614455552060439,0.66106605822212161,0.81500000000000006,0.0050000000000000001,0
+ 0.38375339303603129,0.37527767497325676,0.23999999999999999,0.0050000000000000001,0
+ 0.25311394008759508,0.05484827557301445,0.495,0.0050000000000000001,0
+ """
+ cdef Space space = w.as_base()
+ # self.thisptr.get().log(space.thisptr.get())
+ self.thisptr.get().log(deref(space.thisptr))
+
+ def filename(self):
+ """Return a file name to be saved at the next time"""
+ return self.thisptr.get().filename().decode('UTF-8')
+
+ def as_base(self):
+ """Clone self as a base class. This function is for developers."""
+ retval = Observer()
+ del retval.thisptr
+ retval.thisptr = new shared_ptr[Cpp_Observer](
+ <shared_ptr[Cpp_Observer]>deref(self.thisptr))
+ return retval
+
+ def reset(self):
+ """Reset the internal state."""
+ self.thisptr.get().reset()
+
+ def set_header(self, header):
+ """Set the header. 'x,y,z,r,sid' as a default."""
+ self.thisptr.get().set_header(tostring(header))
+
+ def set_formatter(self, formatter):
+ """Set the formatter.
+
+ 8 arguments are given: (1) the current time, (2-4) x, y, z,
+ (5) radius, (6-7) lot and serial of a ParticleID, (8) species index.
+ (1-5) are Real, and (6-8) Integer.
+ Its default value is '%2%,%3%,%4%,%5%,%8%'.
+
+ """
+ self.thisptr.get().set_formatter(tostring(formatter))
+
+cdef class FixedIntervalTrajectoryObserver:
+ """An ``Observer`` class to trace and log trajectories of diffusing
+ particles in a ``World`` with the fixed step interval.
+ This ``Observer`` logs at the current time first, and then keeps logging
+ every after the interval.
+
+ FixedIntervalTrajectoryObserver(dt, pids=None, resolve_boundary=None, subdt=None)
+
+ """
+
+ def __init__(self, Real dt, pids=None, resolve_boundary=None, subdt=None):
+ """Constructor.
+
+ Parameters
+ ----------
+ dt : float
+ A step interval for logging.
+ pids : list, optional
+ A list of ``ParticleID``s.
+ resolve_boundary : bool, optional
+ If True, this ``Observer`` automatically resolves the effect
+ of periodic boundary contidions by keeping shifts for each particles.
+ Otherwise, this just logs positions within the size of ``World``
+ with no care about boundary conditions.
+ subdt : float, optional
+ A step interval to check the periodic boundary.
+ If None, use dt. This only has meaning when resolve_boundary is True.
+
+ """
+ pass # XXX: Only used for doc string
+
+ def __cinit__(self, Real dt, pids=None, resolve_boundary=None, subdt=None):
+ cdef vector[Cpp_ParticleID] tmp
+
+ if pids is None:
+ self.thisptr = new shared_ptr[Cpp_FixedIntervalTrajectoryObserver](
+ new Cpp_FixedIntervalTrajectoryObserver(
+ dt,
+ Cpp_FixedIntervalTrajectoryObserver.default_resolve_boundary() if resolve_boundary is None else <bool>resolve_boundary,
+ Cpp_FixedIntervalTrajectoryObserver.default_subdt() if subdt is None else <Real>subdt))
+ else:
+ for pid in pids:
+ tmp.push_back(deref((<ParticleID>pid).thisptr))
+
+ self.thisptr = new shared_ptr[Cpp_FixedIntervalTrajectoryObserver](
+ new Cpp_FixedIntervalTrajectoryObserver(
+ dt, tmp,
+ Cpp_FixedIntervalTrajectoryObserver.default_resolve_boundary() if resolve_boundary is None else <bool>resolve_boundary,
+ Cpp_FixedIntervalTrajectoryObserver.default_subdt() if subdt is None else <Real>subdt))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def next_time(self):
+ """Return the next time for logging."""
+ return self.thisptr.get().next_time()
+
+ def num_steps(self):
+ """Return the number of steps."""
+ return self.thisptr.get().num_steps()
+
+ def num_tracers(self):
+ """Return the number of tracer molecules."""
+ return self.thisptr.get().num_tracers()
+
+ def t(self):
+ """Return time points at logging as a list."""
+ return self.thisptr.get().t()
+
+ def data(self):
+ """Return a list of trajectories for each particles.
+
+ Returns
+ -------
+ list:
+ A list of lists of ``Real3``. An element of a return value
+ is corresponding the trajectory of each particle. Thus, the size
+ of a return value is the same with that of ``pids`` you gave
+ at the construction.
+ If a particle corresponding to the given ``ParticleID`` is missing,
+ i.e. for a reaction, this ``Observer`` just skips to log the
+ position. Therefore, lengths of the trajectories can be diverse.
+
+ """
+ cdef vector[vector[Cpp_Real3]] d = self.thisptr.get().data()
+ retval = []
+ cdef vector[vector[Cpp_Real3]].iterator it = d.begin()
+ cdef vector[Cpp_Real3].iterator it2
+ while it != d.end():
+ it2 = deref(it).begin()
+ retval.append([])
+ while it2 != deref(it).end():
+ retval[-1].append(Real3_from_Cpp_Real3(address(deref(it2))))
+ inc(it2)
+ inc(it)
+ return retval
+
+ def as_base(self):
+ """Clone self as a base class. This function is for developers."""
+ retval = Observer()
+ del retval.thisptr
+ retval.thisptr = new shared_ptr[Cpp_Observer](
+ <shared_ptr[Cpp_Observer]>deref(self.thisptr))
+ return retval
+
+ def reset(self):
+ """Reset the internal state."""
+ self.thisptr.get().reset()
+
+cdef class TimingTrajectoryObserver:
+ """An ``Observer`` class to trace and log trajectories of diffusing
+ particles in a ``World`` at the given logging times.
+
+ TimingTrajectoryObserver(t, pids, resolve_boundary=None, subdt=None)
+
+ """
+
+ def __init__(self, vector[double] t, pids=None, resolve_boundary=None, subdt=None): # vector[Real]
+ """Constructor.
+
+ Parameters
+ ----------
+ t : list
+ A list of the logging times.
+ Times prior to the current time are ignored.
+ pids : list, optional
+ A list of ``ParticleID``s.
+ resolve_boundary : bool, optional
+ If True, this ``Observer`` automatically resolves the effect
+ of periodic boundary contidions by keeping shifts for each particles.
+ Otherwise, this just logs positions within the size of ``World``
+ with no care about boundary conditions.
+ subdt : float, optional
+ A step interval to check the periodic boundary.
+ If None, use dt. This only has meaning when resolve_boundary is True.
+
+ """
+ pass # XXX: Only used for doc string
+
+ def __cinit__(self, vector[double] t, pids=None, resolve_boundary=None, subdt=None):
+ cdef vector[Cpp_ParticleID] tmp
+
+ if pids is None:
+ self.thisptr = new shared_ptr[Cpp_TimingTrajectoryObserver](
+ new Cpp_TimingTrajectoryObserver(
+ t,
+ Cpp_TimingTrajectoryObserver.default_resolve_boundary() if resolve_boundary is None else <bool>resolve_boundary,
+ Cpp_TimingTrajectoryObserver.default_subdt() if subdt is None else <Real>subdt))
+ else:
+ for pid in pids:
+ tmp.push_back(deref((<ParticleID>pid).thisptr))
+
+ self.thisptr = new shared_ptr[Cpp_TimingTrajectoryObserver](
+ new Cpp_TimingTrajectoryObserver(
+ t, tmp,
+ Cpp_TimingTrajectoryObserver.default_resolve_boundary() if resolve_boundary is None else <bool>resolve_boundary,
+ Cpp_TimingTrajectoryObserver.default_subdt() if subdt is None else <Real>subdt))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def next_time(self):
+ """Return the next time for logging."""
+ return self.thisptr.get().next_time()
+
+ def num_steps(self):
+ """Return the number of steps."""
+ return self.thisptr.get().num_steps()
+
+ def num_tracers(self):
+ """Return the number of tracer molecules."""
+ return self.thisptr.get().num_tracers()
+
+ def t(self):
+ """Return time points at logging as a list."""
+ return self.thisptr.get().t()
+
+ def data(self):
+ """Return a list of trajectories for each particles.
+
+ Returns
+ -------
+ list:
+ A list of lists of ``Real3``. An element of a return value
+ is corresponding the trajectory of each particle. Thus, the size
+ of a return value is the same with that of ``pids`` you gave
+ at the construction.
+ If a particle corresponding to the given ``ParticleID`` is missing,
+ i.e. for a reaction, this ``Observer`` just skips to log the
+ position. Therefore, lengths of the trajectories can be diverse.
+
+ """
+ cdef vector[vector[Cpp_Real3]] d = self.thisptr.get().data()
+ retval = []
+ cdef vector[vector[Cpp_Real3]].iterator it = d.begin()
+ cdef vector[Cpp_Real3].iterator it2
+ while it != d.end():
+ it2 = deref(it).begin()
+ retval.append([])
+ while it2 != deref(it).end():
+ retval[-1].append(Real3_from_Cpp_Real3(address(deref(it2))))
+ inc(it2)
+ inc(it)
+ return retval
+
+ def as_base(self):
+ """Clone self as a base class. This function is for developers."""
+ retval = Observer()
+ del retval.thisptr
+ retval.thisptr = new shared_ptr[Cpp_Observer](
+ <shared_ptr[Cpp_Observer]>deref(self.thisptr))
+ return retval
+
+ def reset(self):
+ """Reset the internal state."""
+ self.thisptr.get().reset()
+
+cdef class FixedIntervalTrackingObserver:
+ """An ``Observer`` class to trace and log trajectories of diffusing
+ particles in a ``World`` with the fixed step interval.
+ This ``Observer`` logs at the current time first, and then keeps logging
+ every after the interval.
+
+ FixedIntervalTrackingObserver(dt, species, resolve_boundary=None, subdt=None, threshold=None)
+
+ """
+
+ def __init__(self, Real dt, species, resolve_boundary=None, subdt=None, threshold=None):
+ """Constructor.
+
+ Parameters
+ ----------
+ dt : float
+ A step interval for logging.
+ species : list
+ A list of ``Species``.
+ resolve_boundary : bool, optional
+ If True, this ``Observer`` automatically resolves the effect
+ of periodic boundary contidions by keeping shifts for each particles.
+ Otherwise, this just logs positions within the size of ``World``
+ with no care about boundary conditions.
+ subdt : float, optional
+ A step interval to check the periodic boundary.
+ If None, use dt. This only has meaning when resolve_boundary is True.
+ threshold : float, optional
+ A maximum length to assume two particles are the same.
+ If None, no threshold is used.
+
+ """
+ pass # XXX: Only used for doc string
+
+ def __init__(self, Real dt, species, resolve_boundary=None, subdt=None, threshold=None):
+ cdef vector[Cpp_Species] tmp
+
+ for sp in species:
+ tmp.push_back(deref((<Species>sp).thisptr))
+
+ self.thisptr = new shared_ptr[Cpp_FixedIntervalTrackingObserver](
+ new Cpp_FixedIntervalTrackingObserver(
+ dt, tmp,
+ Cpp_FixedIntervalTrackingObserver.default_resolve_boundary() if resolve_boundary is None else <bool>resolve_boundary,
+ Cpp_FixedIntervalTrackingObserver.default_subdt() if subdt is None else <Real>subdt,
+ Cpp_FixedIntervalTrackingObserver.default_threshold() if threshold is None else <Real>threshold))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def next_time(self):
+ """Return the next time for logging."""
+ return self.thisptr.get().next_time()
+
+ def num_steps(self):
+ """Return the number of steps."""
+ return self.thisptr.get().num_steps()
+
+ def num_tracers(self):
+ """Return the number of tracer molecules."""
+ return self.thisptr.get().num_tracers()
+
+ def t(self):
+ """Return time points at logging as a list."""
+ return self.thisptr.get().t()
+
+ def data(self):
+ """Return a list of trajectories for each particles.
+
+ Returns
+ -------
+ list:
+ A list of lists of ``Real3``. An element of a return value
+ is corresponding the trajectory of each particle. Thus, the size
+ of a return value is the same with that of ``pids`` you gave
+ at the construction.
+ If a particle corresponding to the given ``ParticleID`` is missing,
+ i.e. for a reaction, this ``Observer`` just skips to log the
+ position. Therefore, lengths of the trajectories can be diverse.
+
+ """
+ cdef vector[vector[Cpp_Real3]] d = self.thisptr.get().data()
+ retval = []
+ cdef vector[vector[Cpp_Real3]].iterator it = d.begin()
+ cdef vector[Cpp_Real3].iterator it2
+ while it != d.end():
+ it2 = deref(it).begin()
+ retval.append([])
+ while it2 != deref(it).end():
+ retval[-1].append(Real3_from_Cpp_Real3(address(deref(it2))))
+ inc(it2)
+ inc(it)
+ return retval
+
+ def as_base(self):
+ """Clone self as a base class. This function is for developers."""
+ retval = Observer()
+ del retval.thisptr
+ retval.thisptr = new shared_ptr[Cpp_Observer](
+ <shared_ptr[Cpp_Observer]>deref(self.thisptr))
+ return retval
+
+ def reset(self):
+ """Reset the internal state."""
+ self.thisptr.get().reset()
+
+cdef class TimeoutObserver:
+ """An ``Observer``class to stop simulation at the given calculation time.
+
+ TimeoutObserver(interval)
+
+ """
+
+ def __init__(self, interval=None):
+ """Constructor.
+
+ Parameters
+ ----------
+ interval : float
+ timeout in seconds.
+
+ """
+ pass # XXX: Only used for doc string
+
+ def __cinit__(self, interval=None):
+ if interval is None:
+ self.thisptr = new shared_ptr[Cpp_TimeoutObserver](
+ new Cpp_TimeoutObserver())
+ else:
+ self.thisptr = new shared_ptr[Cpp_TimeoutObserver](
+ new Cpp_TimeoutObserver(<Real>interval))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def interval(self):
+ """Return the timeout in seconds."""
+ return self.thisptr.get().interval()
+
+ def duration(self):
+ """Return the last time to be called."""
+ return self.thisptr.get().duration()
+
+ def accumulation(self):
+ """Return the accumulation time."""
+ return self.thisptr.get().accumulation()
+
+ def as_base(self):
+ """Clone self as a base class. This function is for developers."""
+ retval = Observer()
+ del retval.thisptr
+ retval.thisptr = new shared_ptr[Cpp_Observer](
+ <shared_ptr[Cpp_Observer]>deref(self.thisptr))
+ return retval
+
+ def reset(self):
+ """Reset the internal state."""
+ self.thisptr.get().reset()
diff --git a/python/lib/ecell4/ode.pxd b/python/lib/ecell4/ode.pxd
new file mode 100644
index 0000000..5cf052a
--- /dev/null
+++ b/python/lib/ecell4/ode.pxd
@@ -0,0 +1,237 @@
+from libcpp.string cimport string
+from libcpp cimport bool
+
+from ecell4.types cimport *
+from ecell4.shared_ptr cimport shared_ptr
+from ecell4.core cimport *
+
+from cpython cimport PyObject
+
+## Following definitions are ODESimulator related.
+
+## Cpp_ODERatelaw
+cdef extern from "ecell4/ode/ODERatelaw.hpp" namespace "ecell4::ode":
+ cdef cppclass Cpp_ODERatelaw "ecell4::ode::ODERatelaw":
+ Cpp_ODERatelaw() except +
+ bool is_available()
+ string as_string()
+
+## ODERatelaw
+cdef class ODERatelaw:
+ #cdef Cpp_ODERatelaw *thisptr
+ cdef shared_ptr[Cpp_ODERatelaw] *thisptr
+
+cdef ODERatelaw ODERatelaw_from_Cpp_ODERatelaw(shared_ptr[Cpp_ODERatelaw])
+
+## Cpp_ODERatelawMassAction
+cdef extern from "ecell4/ode/ODERatelaw.hpp" namespace "ecell4::ode":
+ cdef cppclass Cpp_ODERatelawMassAction "ecell4::ode::ODERatelawMassAction":
+ Cpp_ODERatelawMassAction(Real) except +
+ bool is_available()
+ void set_k(Real)
+ Real get_k()
+ string as_string()
+
+cdef class ODERatelawMassAction:
+ #cdef Cpp_ODERatelawMassAction *thisptr
+ cdef shared_ptr[Cpp_ODERatelawMassAction] *thisptr
+
+ctypedef void* Python_CallbackFunctype
+ctypedef double (*Stepladder_Functype)(
+ Python_CallbackFunctype pyfunc, vector[Real], vector[Real],
+ Real volume, Real t, Cpp_ODEReactionRule *)
+ctypedef void (*OperateRef_Functype)(void*)
+
+cdef extern from "ecell4/ode/ODERatelaw.hpp" namespace "ecell4::ode":
+ cdef cppclass Cpp_ODERatelawCythonCallback " ecell4::ode::ODERatelawCythonCallback":
+ Cpp_ODERatelawCythonCallback() except+
+ Cpp_ODERatelawCythonCallback(Stepladder_Functype, Python_CallbackFunctype, OperateRef_Functype, OperateRef_Functype) except+
+ Cpp_ODERatelawCythonCallback(Stepladder_Functype, Python_CallbackFunctype, OperateRef_Functype, OperateRef_Functype, string name) except+
+ bool is_available()
+ void set_callback_pyfunc(Python_CallbackFunctype)
+ Python_CallbackFunctype get_callback_pyfunc()
+ string as_string()
+ void set_name(string)
+
+cdef class ODERatelawCallback:
+ cdef shared_ptr[Cpp_ODERatelawCythonCallback] *thisptr
+ cdef object pyfunc
+
+cdef extern from "ecell4/ode/ODERatelaw.hpp" namespace "ecell4::ode":
+ cdef shared_ptr[Cpp_ODERatelawMassAction] to_ODERatelawMassAction(shared_ptr[Cpp_ODERatelaw]);
+ cdef shared_ptr[Cpp_ODERatelawCythonCallback] to_ODERatelawCythonCallback(shared_ptr[Cpp_ODERatelaw]);
+
+
+## Cpp_ODEReactionRule
+cdef extern from "ecell4/ode/ODEReactionRule.hpp" namespace "ecell4::ode":
+ cdef cppclass Cpp_ODEReactionRule "ecell4::ode::ODEReactionRule":
+ Cpp_ODEReactionRule() except +
+ Cpp_ODEReactionRule(Cpp_ReactionRule) except +
+ Cpp_ODEReactionRule(Cpp_ODEReactionRule) except +
+ Real k()
+ void set_k(Real)
+ vector[Cpp_Species] reactants()
+ vector[Cpp_Species] products()
+ vector[Real] reactants_coefficients()
+ vector[Real] products_coefficients()
+
+ void add_reactant(Cpp_Species, Real)
+ void add_product(Cpp_Species, Real)
+ void add_reactant(Cpp_Species)
+ void add_product(Cpp_Species)
+ void set_reactant_coefficient(int, Real)
+ void set_product_coefficient(int, Real)
+
+ void set_ratelaw(shared_ptr[Cpp_ODERatelaw])
+ void set_ratelaw(shared_ptr[Cpp_ODERatelawMassAction])
+ shared_ptr[Cpp_ODERatelaw] get_ratelaw()
+ bool has_ratelaw()
+ bool is_massaction()
+ string as_string()
+
+cdef class ODEReactionRule:
+ cdef Cpp_ODEReactionRule *thisptr
+ cdef object ratelaw
+
+## Cpp_ODENetworkModel
+cdef extern from "ecell4/ode/ODENetworkModel.hpp" namespace "ecell4::ode":
+ cdef cppclass Cpp_ODENetworkModel "ecell4::ode::ODENetworkModel":
+ Cpp_ODENetworkModel() except +
+ Cpp_ODENetworkModel( shared_ptr[Cpp_Model] ) except +
+ void update_model()
+ bool has_network_model()
+ vector[Cpp_ODEReactionRule] ode_reaction_rules()
+ vector[Cpp_ODEReactionRule] reaction_rules()
+ Integer num_reaction_rules()
+ void dump_reactions()
+ void add_reaction_rule(Cpp_ODEReactionRule)
+ void add_reaction_rule(Cpp_ReactionRule)
+ void add_reaction_rules(vector[Cpp_ODEReactionRule])
+ void add_reaction_rules(vector[Cpp_ReactionRule])
+ vector[Cpp_Species] list_species()
+
+cdef class ODENetworkModel:
+ cdef shared_ptr[Cpp_ODENetworkModel] *thisptr
+
+cdef ODENetworkModel ODENetworkModel_from_Cpp_ODENetworkModel(shared_ptr[Cpp_ODENetworkModel] m)
+
+cdef extern from "ecell4/ode/ODESimulator.hpp" namespace "ecell4::ode":
+ cdef enum Cpp_ODESolverType "ecell4::ode::ODESolverType":
+ Cpp_UNDEF "ecell4::ode::UNDEF"
+ Cpp_RUNGE_KUTA_CASH_KARP54 "ecell4::ode::RUNGE_KUTA_CASH_KARP54"
+ Cpp_ROSENBROCK4_CONTROLLER "ecell4::ode::ROSENBROCK4_CONTROLLER"
+ Cpp_EULER "ecell4::ode::EULER"
+
+## Cpp_ODEWorld
+# ecell4::ode::ODEWorld
+cdef extern from "ecell4/ode/ODEWorld.hpp" namespace "ecell4::ode":
+ cdef cppclass Cpp_ODEWorld "ecell4::ode::ODEWorld":
+ Cpp_ODEWorld() except +
+ Cpp_ODEWorld(Cpp_Real3&) except +
+ Cpp_ODEWorld(string&) except +
+ # SpaceTraits
+ Real& t()
+ void set_t(Real&)
+ void reset(Cpp_Real3&)
+ Cpp_Real3& edge_lengths()
+ Cpp_Real3 actual_lengths()
+ # CompartmentSpaceTraits
+ Real &volume()
+ Integer num_molecules(Cpp_Species &)
+ Integer num_molecules_exact(Cpp_Species &)
+ vector[Cpp_Species] list_species()
+
+ # CompartmentSpace member functions
+ void set_volume(Real &)
+ pair[pair[Cpp_ParticleID, Cpp_Particle], bool] new_particle(Cpp_Particle& p)
+ pair[pair[Cpp_ParticleID, Cpp_Particle], bool] new_particle(Cpp_Species& sp, Cpp_Real3& pos)
+ void add_molecules(Cpp_Species &sp, Integer &num)
+ void add_molecules(Cpp_Species &sp, Integer &num, shared_ptr[Cpp_Shape])
+ void remove_molecules(Cpp_Species &sp, Integer &num)
+ # Optional members
+ Real get_value(Cpp_Species &)
+ Real get_value_exact(Cpp_Species &)
+ void set_value(Cpp_Species &sp, Real &num)
+ void save(string) except +
+ void load(string) except +
+ bool has_species(Cpp_Species &)
+ void reserve_species(Cpp_Species &)
+ void release_species(Cpp_Species &)
+ void bind_to(shared_ptr[Cpp_Model]) except +
+ void bind_to(shared_ptr[Cpp_ODENetworkModel])
+ Real evaluate(Cpp_ReactionRule &) except +
+ Real evaluate(Cpp_ODEReactionRule &) except +
+
+## ODEWorld
+# a python wrapper for Cpp_ODEWorld
+cdef class ODEWorld:
+ cdef shared_ptr[Cpp_ODEWorld]* thisptr
+
+cdef ODEWorld ODEWorld_from_Cpp_ODEWorld(shared_ptr[Cpp_ODEWorld] m)
+
+## Cpp_ODESimulator
+cdef extern from "ecell4/ode/ODESimulator.hpp" namespace "ecell4::ode":
+ cdef cppclass Cpp_ODESimulator "ecell4::ode::ODESimulator":
+ Cpp_ODESimulator(shared_ptr[Cpp_ODENetworkModel], shared_ptr[Cpp_ODEWorld], Cpp_ODESolverType) except+
+ Cpp_ODESimulator(shared_ptr[Cpp_ODENetworkModel], shared_ptr[Cpp_ODEWorld]) except+
+
+ Cpp_ODESimulator(shared_ptr[Cpp_Model], shared_ptr[Cpp_ODEWorld], Cpp_ODESolverType) except+
+ Cpp_ODESimulator(shared_ptr[Cpp_Model], shared_ptr[Cpp_ODEWorld]) except+
+
+ Cpp_ODESimulator(shared_ptr[Cpp_ODEWorld], Cpp_ODESolverType) except+
+ Cpp_ODESimulator(shared_ptr[Cpp_ODEWorld]) except+
+
+ void initialize()
+ void step() except +
+ bool step(Real) except +
+ Real next_time()
+ Real t()
+ void set_t(Real)
+ Real dt()
+ void set_dt(Real)
+ Integer num_steps()
+ bool check_reaction()
+ Real absolute_tolerance() const
+ Real relative_tolerance() const
+ void set_absolute_tolerance(Real)
+ void set_relative_tolerance(Real)
+
+ shared_ptr[Cpp_ODENetworkModel] model()
+ shared_ptr[Cpp_ODEWorld] world()
+
+ void run(Real) except +
+ void run(Real, shared_ptr[Cpp_Observer]) except +
+ void run(Real, vector[shared_ptr[Cpp_Observer]]) except +
+
+cdef class ODESimulator:
+ cdef Cpp_ODESimulator *thisptr
+
+cdef ODESimulator ODESimulator_from_Cpp_ODESimulator(Cpp_ODESimulator* s)
+
+## Cpp_ODEFactory
+# ecell4::ode::ODEFactory
+cdef extern from "ecell4/ode/ODEFactory.hpp" namespace "ecell4::ode":
+ cdef cppclass Cpp_ODEFactory "ecell4::ode::ODEFactory":
+ Cpp_ODEFactory(Cpp_ODESolverType, Real, Real, Real) except +
+ Cpp_ODEFactory() except +
+ Cpp_ODEWorld* create_world()
+ Cpp_ODEWorld* create_world(string)
+ Cpp_ODEWorld* create_world(Cpp_Real3&)
+ Cpp_ODESimulator* create_simulator(shared_ptr[Cpp_Model], shared_ptr[Cpp_ODEWorld])
+ Cpp_ODESimulator* create_simulator(shared_ptr[Cpp_ODENetworkModel], shared_ptr[Cpp_ODEWorld])
+ Cpp_ODESimulator* create_simulator(shared_ptr[Cpp_ODEWorld])
+ Cpp_ODEFactory* rng_ptr(shared_ptr[Cpp_RandomNumberGenerator]&)
+ @staticmethod
+ Cpp_ODESolverType default_solver_type()
+ @staticmethod
+ Real default_dt()
+ @staticmethod
+ Real default_abs_tol()
+ @staticmethod
+ Real default_rel_tol()
+
+## ODEFactory
+# a python wrapper for Cpp_ODEFactory
+cdef class ODEFactory:
+ cdef Cpp_ODEFactory* thisptr
+
diff --git a/python/lib/ecell4/ode.pyx b/python/lib/ecell4/ode.pyx
new file mode 100644
index 0000000..e8d151c
--- /dev/null
+++ b/python/lib/ecell4/ode.pyx
@@ -0,0 +1,1394 @@
+import collections
+from cython.operator cimport dereference as deref, preincrement as inc
+from cython cimport address
+from libcpp.string cimport string
+from libcpp.vector cimport vector
+
+from ecell4.types cimport *
+from ecell4.shared_ptr cimport shared_ptr
+from ecell4.core cimport *
+
+from cpython cimport PyObject, Py_XINCREF, Py_XDECREF
+
+
+## ODEWorld
+# a python wrapper for Cpp_ODEWorld
+cdef class ODEWorld:
+ """A class representing the World for ODE simulations.
+
+ ODEWorld(edge_lengths=None)
+
+ """
+
+ def __init__(self, edge_lengths=None):
+ """Constructor.
+
+ Parameters
+ ----------
+ edge_lengths : Real3, optional
+ A size of the World.
+
+ """
+ pass # XXX: Only used for doc string
+
+ def __cinit__(self, edge_lengths=None):
+ cdef string filename
+
+ if edge_lengths is None:
+ self.thisptr = new shared_ptr[Cpp_ODEWorld](new Cpp_ODEWorld())
+ elif isinstance(edge_lengths, Real3):
+ self.thisptr = new shared_ptr[Cpp_ODEWorld](
+ new Cpp_ODEWorld(deref((<Real3>edge_lengths).thisptr)))
+ else:
+ filename = tostring(edge_lengths)
+ self.thisptr = new shared_ptr[Cpp_ODEWorld](new Cpp_ODEWorld(filename))
+
+ def __dealloc__(self):
+ # XXX: Here, we release shared pointer,
+ # and if reference count to the ODEWorld object become zero,
+ # it will be released automatically.
+ del self.thisptr
+
+ def set_t(self, Real t):
+ """set_t(t)
+
+ Set the current time."""
+ self.thisptr.get().set_t(t)
+
+ def t(self):
+ """Return the current time."""
+ return self.thisptr.get().t()
+
+ def edge_lengths(self):
+ """edge_lengths() -> Real3
+
+ Return edge lengths for the space."""
+ cdef Cpp_Real3 lengths = self.thisptr.get().edge_lengths()
+ return Real3_from_Cpp_Real3(address(lengths))
+
+ def actual_lengths(self):
+ """actual_lengths() -> Real3
+
+ Return the actual edge lengths of the world.
+ Same as ``edge_lengths``.
+ """
+ cdef Cpp_Real3 lengths = self.thisptr.get().actual_lengths()
+ return Real3_from_Cpp_Real3(address(lengths))
+
+ def set_volume(self, Real vol):
+ """set_volume(volume)
+
+ Set a volume."""
+ self.thisptr.get().set_volume(vol)
+
+ def volume(self):
+ """Return a volume."""
+ return self.thisptr.get().volume()
+
+ def num_molecules(self, Species sp):
+ """num_molecules(sp) -> Integer
+
+ Return the number of molecules. A value is rounded to an integer.
+ See set_value also.
+
+ Parameters
+ ----------
+ sp : Species, optional
+ a species whose molecules you count
+
+ Returns
+ -------
+ Integer:
+ the number of molecules (of a given species)
+
+ """
+ return self.thisptr.get().num_molecules(deref(sp.thisptr))
+
+ def num_molecules_exact(self, Species sp):
+ """num_molecules_exact(sp) -> Integer
+
+ Return the number of molecules of a given species.
+ A value is rounded to an integer. See get_value_exact also.
+
+ Parameters
+ ----------
+ sp : Species
+ a species whose molecules you count
+
+ Returns
+ -------
+ Integer:
+ the number of molecules of a given species
+
+ """
+ return self.thisptr.get().num_molecules_exact(deref(sp.thisptr))
+
+ def list_species(self):
+ """Return a list of species."""
+ cdef vector[Cpp_Species] raw_list_species = self.thisptr.get().list_species()
+ retval = []
+ cdef vector[Cpp_Species].iterator it = raw_list_species.begin()
+ while it != raw_list_species.end():
+ retval.append(
+ Species_from_Cpp_Species(<Cpp_Species*> (address(deref(it)))))
+ inc(it)
+ return retval
+
+ def new_particle(self, arg1, Real3 arg2=None):
+ """new_particle(arg1, arg2=None) -> (ParticleID, Particle)
+
+ Create a new particle.
+
+ Parameters
+ ----------
+ arg1 : Particle
+ A particle to be placed.
+
+ or
+
+ arg1 : Species
+ A species of a particle
+ arg2 : Real3
+ A position to place a particle
+
+ Returns
+ -------
+ tuple:
+ A pair of ParticleID and Particle of a new particle
+
+ """
+ cdef pair[pair[Cpp_ParticleID, Cpp_Particle], bool] retval
+
+ if arg2 is None:
+ retval = self.thisptr.get().new_particle(deref((<Particle> arg1).thisptr))
+ else:
+ retval = self.thisptr.get().new_particle(deref((<Species> arg1).thisptr), deref(arg2.thisptr))
+ return ((ParticleID_from_Cpp_ParticleID(address(retval.first.first)), Particle_from_Cpp_Particle(address(retval.first.second))), retval.second)
+
+ def add_molecules(self, Species sp, Integer num, shape=None):
+ """add_molecules(sp, num, shape=None)
+
+ Add some molecules.
+
+ Parameters
+ ----------
+ sp : Species
+ a species of molecules to add
+ num : Integer
+ the number of molecules to add
+ shape : Shape, optional
+ a shape to add molecules on [not supported yet]
+
+ """
+ if shape is None:
+ self.thisptr.get().add_molecules(deref(sp.thisptr), num)
+ else:
+ self.thisptr.get().add_molecules(
+ deref(sp.thisptr), num, deref((<Shape>(shape.as_base())).thisptr))
+
+ def remove_molecules(self, Species sp, Integer num):
+ """remove_molecules(sp, num)
+
+ Remove molecules
+
+ Parameters
+ ----------
+ sp : Species
+ a species whose molecules to remove
+ num : Integer
+ a number of molecules to be removed
+
+ """
+ self.thisptr.get().remove_molecules(deref(sp.thisptr), num)
+
+ def get_value(self, Species sp):
+ """get_value(sp) -> Real
+
+ Return the value matched to a given species.
+
+ Parameters
+ ----------
+ sp : Species
+ a pattern whose value you get
+
+ Returns
+ -------
+ Real:
+ the value matched to a given species
+
+ """
+ return self.thisptr.get().get_value(deref(sp.thisptr))
+
+ def get_value_exact(self, Species sp):
+ """get_value_exact(sp) -> Real
+
+ Return the value connected to a given species.
+
+ Parameters
+ ----------
+ sp : Species
+ a species whose value you get
+
+ Returns
+ -------
+ Real:
+ the value connected to a given species
+
+ """
+ return self.thisptr.get().get_value(deref(sp.thisptr))
+
+ def set_value(self, Species sp, Real value):
+ """set_value(sp, value)
+
+ Set the value of the given species.
+
+ Parameters
+ ----------
+ sp : Species
+ a species whose value you set
+ value : Real
+ a value set
+
+ """
+ self.thisptr.get().set_value(deref(sp.thisptr), value)
+
+ def save(self, filename):
+ """save(filename)
+
+ Save the current state to a HDF5 file.
+
+ Parameters
+ ----------
+ filename : str
+ a file name to be saved.
+
+ """
+ self.thisptr.get().save(tostring(filename))
+
+ def load(self, filename):
+ """load(filename)
+
+ Load a HDF5 file to the current state.
+
+ Parameters
+ ----------
+ filename : str
+ a file name to be loaded.
+
+ """
+ self.thisptr.get().load(tostring(filename))
+
+ def has_species(self, Species sp):
+ """has_species(sp) -> bool
+
+ Check if the given species is belonging to this.
+
+ Parameters
+ ----------
+ sp : Species
+ a species to be checked.
+
+ Returns
+ -------
+ bool:
+ True if the given species is contained.
+
+ """
+ return self.thisptr.get().has_species(deref(sp.thisptr))
+
+ def reserve_species(self, Species sp):
+ """reserve_species(sp)
+
+ Reserve a value for the given species. Use set_value.
+
+ Parameters
+ ----------
+ sp : Species
+ a species to be reserved.
+
+ """
+ self.thisptr.get().reserve_species(deref(sp.thisptr))
+
+ def release_species(self, Species sp):
+ """release_species(sp)
+
+ Release a value for the given species.
+ This function is mainly for developers.
+
+ Parameters
+ ----------
+ sp : Species
+ a species to be released.
+
+ """
+ self.thisptr.get().release_species(deref(sp.thisptr))
+
+ def bind_to(self, m):
+ """bind_to(m)
+
+ Bind a model.
+
+ Parameters
+ ----------
+ m : ODENetworkModel or NetworkModel
+ a model to be bound
+
+ """
+ if isinstance(m, ODENetworkModel):
+ self.thisptr.get().bind_to(deref((<ODENetworkModel>m).thisptr))
+ else:
+ self.thisptr.get().bind_to(Cpp_Model_from_Model(m))
+
+ def evaluate(self, rr):
+ if isinstance(rr, ReactionRule):
+ return self.thisptr.get().evaluate(deref((<ReactionRule>rr).thisptr))
+ elif isinstance(rr, ODEReactionRule):
+ return self.thisptr.get().evaluate(deref((<ODEReactionRule>rr).thisptr))
+ else:
+ raise ValueError(
+ "A ReactionRule or ODEReactionRule must be given [{}].".format(repr(rr)))
+
+ def as_base(self):
+ """Return self as a base class. Only for developmental use."""
+ retval = Space()
+ del retval.thisptr
+ retval.thisptr = new shared_ptr[Cpp_Space](
+ <shared_ptr[Cpp_Space]>deref(self.thisptr))
+ return retval
+
+cdef ODEWorld ODEWorld_from_Cpp_ODEWorld(
+ shared_ptr[Cpp_ODEWorld] w):
+ r = ODEWorld(Real3(1, 1, 1))
+ r.thisptr.swap(w)
+ return r
+
+cdef class ODERatelaw:
+ """An abstract base class for ratelaws bound to ODEReactionRule.
+
+ ODERatelaw()
+
+ """
+
+ def __init__(self):
+ """Constructor."""
+ pass
+
+ def __cinit__(self):
+ self.thisptr = new shared_ptr[Cpp_ODERatelaw](
+ <Cpp_ODERatelaw*>(new Cpp_ODERatelawMassAction(0.0))) # Dummy
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def as_string(self):
+ """"Return a name of the function"""
+ return self.thisptr.get().as_string().decode('UTF-8')
+
+ def as_base(self):
+ """Return self as a base class. Only for developmental use."""
+ return self
+
+ def to_derivative(self):
+ r = ODERatelawMassAction_from_Cpp_ODERatelaw(deref(self.thisptr) )
+ if r != None:
+ return r
+
+ r = ODERatelawCallback_from_Cpp_ODERatelaw(deref(self.thisptr) )
+ if r != None:
+ return r
+
+ raise ValueError("Invalid Ratelaw Type")
+ def __reduce__(self):
+ return self.to_derivative().__reduce__()
+
+
+cdef ODERatelaw ODERatelaw_from_Cpp_ODERatelaw(shared_ptr[Cpp_ODERatelaw] s):
+ r = ODERatelaw()
+ r.thisptr.swap(s)
+ return r
+
+cdef ODERatelawMassAction ODERatelawMassAction_from_Cpp_ODERatelaw(shared_ptr[Cpp_ODERatelaw] s):
+ r = ODERatelawMassAction(0.01)
+ cdef shared_ptr[Cpp_ODERatelawMassAction] temp = to_ODERatelawMassAction(s)
+ if temp.get() == NULL:
+ return None
+ r.thisptr.swap(temp)
+ return r
+
+cdef ODERatelawCallback ODERatelawCallback_from_Cpp_ODERatelaw(shared_ptr[Cpp_ODERatelaw] s):
+ r = ODERatelawCallback(lambda x:x)
+ cdef shared_ptr[Cpp_ODERatelawCythonCallback] temp = to_ODERatelawCythonCallback(s)
+ if temp.get() == NULL:
+ return None
+ r.thisptr.swap(temp)
+ return r
+
+cdef class ODERatelawMassAction:
+ """A class for mass action ratelaws.
+
+ ODERatelawMassAction(Real k)
+
+ """
+
+ def __init__(self, Real k):
+ """Constructor.
+
+ Parameters
+ ----------
+ k : Real
+ A kinetic rate for the mass action.
+
+ """
+ pass
+
+ def __cinit__(self, Real k):
+ self.thisptr = new shared_ptr[Cpp_ODERatelawMassAction](
+ <Cpp_ODERatelawMassAction*>(new Cpp_ODERatelawMassAction(k)))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def is_available(self):
+ """Check if this ratelaw is available or not. Return True always."""
+ return self.thisptr.get().is_available()
+
+ def set_k(self, Real k):
+ """set_k(k)
+
+ Set a kinetic rate constant.
+
+ Parameters
+ ----------
+ k : float
+ A kinetic rate constant.
+
+ """
+ #self.get().thisptr.set_k(k)
+ self.thisptr.get().set_k(k)
+
+ def get_k(self):
+ """Return the kinetic rate constant as a float value."""
+ #return self.get().thisptr.get_k()
+ return self.thisptr.get().get_k()
+
+ def as_string(self):
+ """"Return a name of the function"""
+ return self.thisptr.get().as_string().decode('UTF-8')
+
+ def as_base(self):
+ """Return self as a base class. Only for developmental use."""
+ base_type = ODERatelaw()
+ del base_type.thisptr
+ base_type.thisptr = new shared_ptr[Cpp_ODERatelaw](
+ <shared_ptr[Cpp_ODERatelaw]>(deref(self.thisptr)))
+ return base_type
+ def __reduce__(self):
+ return (__rebuild_ode_ratelaw, ("ODERatelawMassAction", self.as_string(), self.get_k() ) )
+
+
+# cdef double indirect_function(
+cdef indirect_function(
+ void *func, vector[Real] reactants, vector[Real] products,
+ Real volume, Real t, Cpp_ODEReactionRule *rr):
+ py_reactants = []
+ cdef vector[Real].iterator it1 = reactants.begin()
+ while it1 != reactants.end():
+ py_reactants.append(deref(it1))
+ inc(it1)
+ py_products = []
+ cdef vector[Real].iterator it2 = products.begin()
+ while it2 != products.end():
+ py_products.append(deref(it2))
+ inc(it2)
+ return (<object>func)(
+ py_reactants, py_products, volume, t,
+ ODEReactionRule_from_Cpp_ODEReactionRule(rr))
+
+cdef void inc_ref(void* func):
+ Py_XINCREF(<PyObject*>func)
+
+cdef void dec_ref(void* func):
+ Py_XDECREF(<PyObject*>func)
+
+cdef class ODERatelawCallback:
+ """A class for general ratelaws with a callback.
+
+ ODERatelawCallback(pyfunc, name)
+
+ """
+
+ def __init__(self, pyfunc, name=None):
+ """Constructor.
+
+ Parameters
+ ----------
+ pyfunc : function
+ A Python function for the callback.
+ See set_callback function of this class for details.
+ name : string, optional
+ A name of the function
+
+ """
+ pass
+
+ def __cinit__(self, pyfunc, name=None):
+ if name is None:
+ self.thisptr = new shared_ptr[Cpp_ODERatelawCythonCallback](
+ <Cpp_ODERatelawCythonCallback*>(new Cpp_ODERatelawCythonCallback(
+ <Stepladder_Functype>indirect_function, <void*>pyfunc,
+ <OperateRef_Functype>inc_ref, <OperateRef_Functype>dec_ref,
+ tostring(pyfunc.__name__))))
+ else:
+ self.thisptr = new shared_ptr[Cpp_ODERatelawCythonCallback](
+ <Cpp_ODERatelawCythonCallback*>(new Cpp_ODERatelawCythonCallback(
+ <Stepladder_Functype>indirect_function, <void*>pyfunc,
+ <OperateRef_Functype>inc_ref, <OperateRef_Functype>dec_ref,
+ tostring(name))))
+ self.pyfunc = pyfunc
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def set_callback(self, pyfunc):
+ """set_callback(pyfunc)
+
+ Parameters
+ ----------
+ pyfunc : function
+ A Python function for the callback
+ The function must accept five arguments, and return a velocity.
+ The number of reactants, the number of products, a volume,
+ the current time, and a ODEReactionRule are given as the
+ arguments in this order.
+
+ Examples
+ --------
+ The following callback represents a simple Michaelis-Menten-like
+ equation:
+
+ >>> rl = ODERatelawCallback()
+ >>> rl.set_callback(lambda r, p, v, t, rr: 2.0 * r[0] * r[1] / (1.0 + r[1]))
+
+ Here, we expect that the first reactant is an enzyme,
+ and that the second one is a substrate.
+
+ """
+ self.thisptr.get().set_callback_pyfunc(<Python_CallbackFunctype>pyfunc)
+ self.pyfunc = pyfunc
+ def get_callback(self):
+ return <object>self.thisptr.get().get_callback_pyfunc()
+
+ def set_name(self, name):
+ """"Set the name of a function"""
+ self.thisptr.get().set_name(tostring(name))
+
+ def as_string(self):
+ """"Return a name of the function"""
+ return self.thisptr.get().as_string().decode('UTF-8')
+
+ def as_base(self):
+ """Return self as a base class. Only for developmental use."""
+ retval = ODERatelaw()
+ del retval.thisptr
+ retval.thisptr = new shared_ptr[Cpp_ODERatelaw](
+ <shared_ptr[Cpp_ODERatelaw]>deref(self.thisptr))
+ return retval
+ def get_pyfunc(self):
+ return self.pyfunc
+
+ def __reduce__(self):
+ import sys
+ loaded_modules = sys.modules.keys()
+ if not "dill" in loaded_modules:
+ raise RuntimeError("dill module is required for pickling user-defined function")
+ return (__rebuild_ode_ratelaw, ("ODERatelawCallback", self.as_string(), self.get_callback()) )
+
+def __rebuild_ode_ratelaw(ratelaw_type, name, param):
+ if ratelaw_type == "ODERatelawCallback":
+ m = ODERatelawCallback(param, name)
+ return m
+ elif ratelaw_type == "ODERatelawMassAction":
+ m = ODERatelawMassAction(param)
+ #m.set_name(name)
+ return m
+ else:
+ raise ValueError("Invalid Ratelaw Type")
+
+
+cdef class ODEReactionRule:
+ """A class representing a reaction rule between ``Species``, which accepts at most
+ one rate law to calculate the flux.
+
+ ODEReactionRule(rr)
+
+ """
+
+ def __init__(self, *args):
+ """Constructor.
+
+ Parameters
+ ----------
+ rr : ReactionRule
+
+ """
+ pass
+
+ def __cinit__(self, *args):
+ if len(args) == 0:
+ self.thisptr = new Cpp_ODEReactionRule()
+ self.ratelaw = None
+ elif len(args) == 1 and isinstance(args[0], ReactionRule):
+ self.thisptr = new Cpp_ODEReactionRule(deref((<ReactionRule>args[0]).thisptr))
+ self.ratelaw = None
+ else:
+ raise ValueError("The invalid arguments are given.")
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def k(self):
+ """Return the kinetic rate constant as a float value."""
+ return self.thisptr.k()
+
+ def set_k(self, Real k):
+ """set_k(k)
+
+ Set a kinetic rate constant.
+
+ Parameters
+ ----------
+ k : float
+ A kinetic rate constant.
+
+ """
+ self.thisptr.set_k(k)
+
+ def add_reactant(self, Species sp, coeff=None):
+ """add_reactant(sp, coeff=None)
+
+ Append a reactant to the end.
+
+ Parameters
+ ----------
+ sp : Species
+ A new reactant.
+ coeff : Integer
+ A stoichiometry coefficient.
+
+ """
+ if coeff is not None:
+ self.thisptr.add_reactant(deref(sp.thisptr), coeff)
+ else:
+ self.thisptr.add_reactant(deref(sp.thisptr))
+
+ def add_product(self, Species sp, coeff=None):
+ """add_product(sp, coeff=None)
+
+ Append a product to the end.
+
+ Parameters
+ ----------
+ sp : Species
+ A new product.
+ coeff : Integer
+ A stoichiometry coefficient.
+
+ """
+ if coeff is not None:
+ self.thisptr.add_product(deref(sp.thisptr), coeff)
+ else:
+ self.thisptr.add_product(deref(sp.thisptr))
+
+ def set_reactant_coefficient(self, Integer index, Real coeff):
+ """set_reactant_coefficient(index, coeff)
+
+ Set a stoichiometry coefficient of a reactant at the given index.
+
+ Parameters
+ ----------
+ index : Integer
+ An index pointing the target reactant.
+ coeff : Integer
+ A stoichiometry coefficient.
+
+ """
+ self.thisptr.set_reactant_coefficient(index, coeff)
+
+ def set_product_coefficient(self, Integer index, Real coeff):
+ """set_product_coefficient(index, coeff)
+
+ Set a stoichiometry coefficient of a product at the given index.
+
+ Parameters
+ ----------
+ index : Integer
+ An index pointing the target product.
+ coeff : Integer
+ A stoichiometry coefficient.
+
+ """
+ self.thisptr.set_product_coefficient(index, coeff)
+
+ def set_ratelaw(self, ratelaw_obj):
+ """set_ratelaw(ratelaw_obj)
+
+ Bind a ratelaw.
+
+ Parameters
+ ----------
+ ratelaw_obj : ODERatelaw
+ A ratelaw
+
+ """
+ self.ratelaw = ratelaw_obj
+ self.thisptr.set_ratelaw(deref((<ODERatelaw>(ratelaw_obj.as_base())).thisptr))
+
+ def set_ratelaw_massaction(self, ODERatelawMassAction ratelaw_obj):
+ """set_ratelaw_massaction(ratelaw_obj)
+
+ Bind a mass action ratelaw. This will be deprecated soon.
+
+ Parameters
+ ----------
+ ratelaw_obj : ODERatelawMassAction
+ A ratelaw
+
+ """
+ self.ratelaw = ratelaw_obj
+ self.thisptr.set_ratelaw(deref(ratelaw_obj.thisptr))
+
+ def has_ratelaw(self):
+ """Return if a ratelaw is bound or not."""
+ return self.thisptr.has_ratelaw()
+
+ def get_ratelaw(self):
+ """Return a ratelaw"""
+ return ODERatelaw_from_Cpp_ODERatelaw(self.thisptr.get_ratelaw())
+
+ def is_massaction(self):
+ """Return if a mass action ratelaw is bound or not."""
+ return self.thisptr.is_massaction()
+
+ def reactants(self):
+ """List all reactants.
+
+ Returns
+ -------
+ list:
+ A list of reactant ``Species``.
+
+ """
+ cdef vector[Cpp_Species] cpp_reactants = self.thisptr.reactants()
+ retval = []
+ cdef vector[Cpp_Species].iterator it = cpp_reactants.begin()
+ while it != cpp_reactants.end():
+ retval.append(
+ Species_from_Cpp_Species(<Cpp_Species*>address(deref(it))))
+ inc(it)
+ return retval
+
+ def reactants_coefficients(self):
+ """reactants_coefficients() -> [Integer]
+
+ List all coefficients for reactants.
+
+ Returns
+ -------
+ list:
+ A list of reactant coefficients.
+
+ """
+ cdef vector[Real] coefficients = self.thisptr.reactants_coefficients()
+ retval = []
+ cdef vector[Real].iterator it = coefficients.begin()
+ while it != coefficients.end():
+ retval.append(deref(it))
+ inc(it)
+ return retval
+
+ def products(self):
+ """List all products.
+
+ Returns
+ -------
+ list:
+ A list of product ``Species``.
+
+ """
+ cdef vector[Cpp_Species] cpp_products = self.thisptr.products()
+ retval = []
+ cdef vector[Cpp_Species].iterator it = cpp_products.begin()
+ while it != cpp_products.end():
+ retval.append(
+ Species_from_Cpp_Species(<Cpp_Species*>address(deref(it))))
+ inc(it)
+ return retval
+
+ def products_coefficients(self):
+ """products_coefficients() -> [Integer]
+
+ List all coefficients for products.
+
+ Returns
+ -------
+ list:
+ A list of product coefficients.
+
+ """
+ cdef vector[Real] coefficients = self.thisptr.products_coefficients()
+ retval = []
+ cdef vector[Real].iterator it = coefficients.begin()
+ while it != coefficients.end():
+ retval.append( deref(it) )
+ inc(it)
+ return retval
+
+ def as_string(self):
+ """as_string() -> str
+
+ Return an unicode string describing this object.
+
+ Returns
+ -------
+ str:
+ An unicode string describing this object.
+
+ """
+ return self.thisptr.as_string().decode('UTF-8')
+
+ def __reduce__(self):
+ if self.has_ratelaw():
+ ratelaw = self.get_ratelaw()
+ else:
+ ratelaw = None
+ return (__rebuild_ode_reaction_rule, (self.reactants(), self.products(), self.reactants_coefficients(), self.products_coefficients(), ratelaw))
+
+def __rebuild_ode_reaction_rule(reactants, products, reactants_coefficients, products_coefficients, ratelaw):
+ rr = ODEReactionRule()
+ for sp, coef in zip(reactants, reactants_coefficients):
+ rr.add_reactant(sp, coef)
+ for sp, coef in zip(products, products_coefficients):
+ rr.add_product(sp, coef)
+
+ if ratelaw is None:
+ pass
+ else:
+ rr.set_ratelaw(ratelaw)
+ return rr
+
+cdef ODEReactionRule ODEReactionRule_from_Cpp_ODEReactionRule(Cpp_ODEReactionRule *s):
+ cdef Cpp_ODEReactionRule *new_obj = new Cpp_ODEReactionRule(deref(s))
+ ret = ODEReactionRule()
+ del ret.thisptr
+ ret.thisptr = new_obj
+ return ret
+
+cdef class ODENetworkModel:
+ """A network model class for ODE simulations.
+
+ ODENetworkModel(NetworkModel m=None)
+
+ """
+
+ def __init__(self, m=None):
+ """Constructor.
+
+ Parameters
+ ----------
+ m : Model, optional
+ A network model.
+
+ """
+ pass
+
+ def __cinit__(self, m=None):
+ # self.thisptr = new shared_ptr[Cpp_ODENetworkModel](
+ # <Cpp_ODENetworkModel*>(new Cpp_ODENetworkModel()))
+ if m == None:
+ self.thisptr = new shared_ptr[Cpp_ODENetworkModel](
+ <Cpp_ODENetworkModel*>(new Cpp_ODENetworkModel()))
+ # else:
+ # # self.thisptr = new shared_ptr[Cpp_ODENetworkModel](
+ # # (<Cpp_ODENetworkModel*>(new Cpp_ODENetworkModel(deref(m.thisptr)))))
+ # self.thisptr = new shared_ptr[Cpp_ODENetworkModel](
+ # (<Cpp_ODENetworkModel*>(new Cpp_ODENetworkModel(m.thisptr))))
+ elif isinstance(m, Model):
+ self.thisptr = new shared_ptr[Cpp_ODENetworkModel](
+ (<Cpp_ODENetworkModel*>(new Cpp_ODENetworkModel((<Model>m).thisptr))))
+ elif isinstance(m, NetworkModel):
+ self.thisptr = new shared_ptr[Cpp_ODENetworkModel](
+ (<Cpp_ODENetworkModel*>(new Cpp_ODENetworkModel(<shared_ptr[Cpp_Model]>((<NetworkModel>m).thisptr)))))
+ elif isinstance(m, NetfreeModel):
+ self.thisptr = new shared_ptr[Cpp_ODENetworkModel](
+ (<Cpp_ODENetworkModel*>(new Cpp_ODENetworkModel(<shared_ptr[Cpp_Model]>((<NetfreeModel>m).thisptr)))))
+ else:
+ raise ValueError('Unsupported model type was given.')
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def update_model(self):
+ """Update self to fit the given Model."""
+ self.thisptr.get().update_model()
+
+ def has_network_model(self):
+ """Return if this model is bound to a Model or not."""
+ return self.thisptr.get().has_network_model()
+
+ def ode_reaction_rules(self):
+ """ode_reaction_rules() -> [ODEReactionRule]
+
+ Return a list of ODE reaction rules.
+
+ """
+ cdef vector[Cpp_ODEReactionRule] cpp_rules = self.thisptr.get().ode_reaction_rules()
+ retval = []
+ cdef vector[Cpp_ODEReactionRule].iterator it = cpp_rules.begin()
+ while it != cpp_rules.end():
+ retval.append(ODEReactionRule_from_Cpp_ODEReactionRule(address(deref(it))))
+ inc(it)
+ return retval
+
+ def reaction_rules(self):
+ """reaction_rules() -> [ODEReactionRule]
+
+ Return a list of ODE reaction rules.
+
+ """
+ cdef vector[Cpp_ODEReactionRule] cpp_rules = self.thisptr.get().reaction_rules()
+ retval = []
+ cdef vector[Cpp_ODEReactionRule].iterator it = cpp_rules.begin()
+ while it != cpp_rules.end():
+ retval.append(ODEReactionRule_from_Cpp_ODEReactionRule(address(deref(it))))
+ inc(it)
+ return retval
+
+ def num_reaction_rules(self):
+ """Return a number of reaction rules contained in the model."""
+ return self.thisptr.get().num_reaction_rules()
+
+ def add_reaction_rule(self, rr):
+ """add_reaction_rule(rr)
+
+ Add a new reaction rule.
+
+ Parameters
+ ----------
+ rr : ReactionRule or ODEReactionRule
+ A new reaction rule.
+
+ """
+ if isinstance(rr, ODEReactionRule):
+ self.thisptr.get().add_reaction_rule(deref((<ODEReactionRule>rr).thisptr))
+ elif isinstance(rr, ReactionRule):
+ self.thisptr.get().add_reaction_rule(deref((<ReactionRule>rr).thisptr))
+ else:
+ raise ValueError("invalid argument {}".format(repr(rr)))
+
+ def add_reaction_rules(self, rrs):
+ if isinstance(rrs, list):
+ for rr in rrs:
+ self.add_reaction_rule(rr)
+ else:
+ self.add_reaction_rule(rrs)
+
+ def list_species(self):
+ """Return a list of species, contained in reaction rules in the model."""
+ cdef vector[Cpp_Species] species = self.thisptr.get().list_species()
+ retval = []
+ cdef vector[Cpp_Species].iterator it = species.begin()
+ while it != species.end():
+ retval.append(Species_from_Cpp_Species(
+ <Cpp_Species*>(address(deref(it)))))
+ inc(it)
+ return retval
+
+ def __reduce__(self):
+ return (__rebuild_ode_network_model, (self.reaction_rules(), ))
+
+def __rebuild_ode_network_model(rrs):
+ m = ODENetworkModel()
+ m.add_reaction_rules(rrs)
+ return m
+
+cdef ODENetworkModel ODENetworkModel_from_Cpp_ODENetworkModel(
+ shared_ptr[Cpp_ODENetworkModel] m):
+ r = ODENetworkModel()
+ r.thisptr.swap(m)
+ return r
+
+# ODESolverType:
+(
+ RUNGE_KUTTA_CASH_KARP54,
+ ROSENBROCK4_CONTROLLER,
+ EULER,
+) = (0, 1, 2)
+
+cdef Cpp_ODESolverType translate_solver_type(solvertype_constant):
+ if solvertype_constant == RUNGE_KUTTA_CASH_KARP54:
+ return RUNGE_KUTTA_CASH_KARP54
+ elif solvertype_constant == ROSENBROCK4_CONTROLLER:
+ return Cpp_ROSENBROCK4_CONTROLLER
+ elif solvertype_constant == EULER:
+ return Cpp_EULER
+ else:
+ raise ValueError(
+ "invalid solver type was given [{0}]".format(repr(solvertype_constant)))
+
+# ODERatelawType:
+(
+ ABSTRACT_TYPE,
+ MASSACTION_TYPE,
+ PYTHON_CALLBACK_TYPE,
+ CPP_CALLBACK_TYPE,
+) = (0, 1, 2, 3)
+
+
+cdef class ODESimulator:
+ """ A class running the simulation with the ode algorithm.
+
+ ODESimulator(m, w, solver_type)
+
+ """
+
+ def __init__(self, arg1, arg2=None, arg3=None):
+ """Constructor.
+
+ Parameters
+ ----------
+ m : ODENetworkModel or Model
+ A model
+ w : ODEWorld
+ A world
+ solver_type : int, optional
+ a type of the ode solver.
+ Choose one from RUNGE_KUTTA_CASH_KARP54, ROSENBROCK4_CONTROLLER and EULER.
+
+ """
+ pass
+
+ def __cinit__(self, arg1, arg2=None, arg3=None):
+ if arg2 is None or not isinstance(arg2, ODEWorld):
+ if not isinstance(arg1, ODEWorld):
+ raise ValueError(
+ "An invalid value [{}] for the first argument.".format(repr(arg1))
+ + " ODEWorld is needed.")
+
+ if arg2 is None:
+ self.thisptr = new Cpp_ODESimulator(
+ deref((<ODEWorld>arg1).thisptr))
+ else:
+ self.thisptr = new Cpp_ODESimulator(
+ deref((<ODEWorld>arg1).thisptr),
+ translate_solver_type(arg2))
+ else:
+ if isinstance(arg1, ODENetworkModel):
+ if arg3 is None:
+ self.thisptr = new Cpp_ODESimulator(
+ deref((<ODENetworkModel>arg1).thisptr),
+ deref((<ODEWorld>arg2).thisptr))
+ else:
+ self.thisptr = new Cpp_ODESimulator(
+ deref((<ODENetworkModel>arg1).thisptr),
+ deref((<ODEWorld>arg2).thisptr),
+ translate_solver_type(arg3))
+ # elif isinstance(arg1, Model):
+ else:
+ if arg3 is None:
+ self.thisptr = new Cpp_ODESimulator(
+ Cpp_Model_from_Model(arg1),
+ deref((<ODEWorld>arg2).thisptr))
+ else:
+ self.thisptr = new Cpp_ODESimulator(
+ Cpp_Model_from_Model(arg1),
+ deref((<ODEWorld>arg2).thisptr),
+ translate_solver_type(arg3))
+ # else:
+ # raise ValueError(
+ # "An invalid value [{}] for the first argument.".format(repr(arg1))
+ # + " ODENetworkModel or Model is needed.")
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def initialize(self):
+ """Initialize the simulator."""
+ self.thisptr.initialize()
+
+ def step(self, upto=None):
+ """step(upto=None) -> bool
+
+ Step the simulation.
+
+ Parameters
+ ----------
+ upto : Real, optional
+ the time which to step the simulation up to
+
+ Returns
+ -------
+ bool:
+ True if the simulation did not reach the given time.
+ When upto is not given, nothing will be returned.
+
+ """
+ if upto is None:
+ self.thisptr.step()
+ else:
+ return self.thisptr.step(upto)
+
+ def next_time(self):
+ """Return the scheduled time for the next step."""
+ return self.thisptr.next_time()
+
+ def t(self):
+ """Return the time."""
+ return self.thisptr.t()
+
+ def set_t(self, Real t_new):
+ """set_t(t)
+
+ Set the current time.
+
+ Parameters
+ ----------
+ t : Real
+ a current time.
+
+ """
+ self.thisptr.set_t(t_new)
+
+ def dt(self):
+ """Return the step interval."""
+ return self.thisptr.dt()
+
+ def set_dt(self, dt_new):
+ """set_dt(dt)
+
+ Set a step interval.
+
+ Parameters
+ ----------
+ dt : Real
+ a step interval
+
+ """
+ self.thisptr.set_dt(dt_new)
+
+ def num_steps(self):
+ """Return the number of steps."""
+ return self.thisptr.num_steps()
+
+ def check_reaction(self):
+ """Return if any reaction occurred at the last step, or not.
+ This function always returns False."""
+ return self.thisptr.check_reaction()
+
+ def absolute_tolerance(self):
+ """Return the absolute tolerance."""
+ return self.thisptr.absolute_tolerance()
+
+ def set_absolute_tolerance(self, Real abs_tol):
+ """set_absolute_tolerance(abs_tol)
+
+ Set the absolute tolerance.
+
+ Parameters
+ ----------
+ abs_tol : Real
+ an absolute tolerance.
+
+ """
+ self.thisptr.set_absolute_tolerance(abs_tol)
+
+ def relative_tolerance(self):
+ """Return the relative tolerance."""
+ return self.thisptr.relative_tolerance()
+
+ def set_relative_tolerance(self, Real rel_tol):
+ """set_relative_tolerance(rel_tol)
+
+ Set the relative tolerance.
+
+ Parameters
+ ----------
+ rel_tol : Real
+ an relative tolerance.
+
+ """
+ self.thisptr.set_relative_tolerance(rel_tol)
+
+ def model(self):
+ """Return the model bound."""
+ return ODENetworkModel_from_Cpp_ODENetworkModel(self.thisptr.model())
+
+ def world(self):
+ """Return the world bound."""
+ return ODEWorld_from_Cpp_ODEWorld(self.thisptr.world())
+
+ def run(self, Real duration, observers=None):
+ """run(duration, observers)
+
+ Run the simulation.
+
+ Parameters
+ ----------
+ duration : Real
+ a duration for running a simulation.
+ A simulation is expected to be stopped at t() + duration.
+ observers : list of Obeservers, optional
+ observers
+
+ """
+ cdef vector[shared_ptr[Cpp_Observer]] tmp
+
+ if observers is None:
+ self.thisptr.run(duration)
+ elif isinstance(observers, collections.Iterable):
+ for obs in observers:
+ tmp.push_back(deref((<Observer>(obs.as_base())).thisptr))
+ self.thisptr.run(duration, tmp)
+ else:
+ self.thisptr.run(duration,
+ deref((<Observer>(observers.as_base())).thisptr))
+
+cdef ODESimulator ODESimulator_from_Cpp_ODESimulator(Cpp_ODESimulator* s):
+ r = ODESimulator(
+ ODENetworkModel_from_Cpp_ODENetworkModel(s.model()),
+ ODEWorld_from_Cpp_ODEWorld(s.world()))
+ del r.thisptr
+ r.thisptr = s
+ return r
+
+## ODEFactory
+# a python wrapper for Cpp_ODEFactory
+cdef class ODEFactory:
+ """ A factory class creating a ODEWorld instance and a ODESimulator instance.
+
+ ODEFactory(ODESolverType solver_type=None, Real dt=None, Real abs_tol=None, Real rel_tol=None)
+
+ """
+
+ def __init__(self, solver_type=None, dt=None, abs_tol=None, rel_tol=None):
+ """Constructor.
+
+ Parameters
+ ----------
+ solver_type : int, optional
+ a type of the ode solver.
+ Choose one from RUNGE_KUTTA_CASH_KARP54, ROSENBROCK4_CONTROLLER and EULER.
+ dt : Real, optional
+ a default step interval.
+ abs_tol : Real, optional
+ absolute tolerance.
+ rel_tol : Real, optional
+ relative tolerance.
+
+ """
+ pass
+
+ def __cinit__(self, solver_type=None, dt=None, abs_tol=None, rel_tol=None):
+ self.thisptr = new Cpp_ODEFactory(
+ Cpp_ODEFactory.default_solver_type() if solver_type is None else translate_solver_type(solver_type),
+ Cpp_ODEFactory.default_dt() if dt is None else <Real>dt,
+ Cpp_ODEFactory.default_abs_tol() if abs_tol is None else <Real>abs_tol,
+ Cpp_ODEFactory.default_rel_tol() if rel_tol is None else <Real>rel_tol)
+
+ def rng(self, GSLRandomNumberGenerator rng):
+ """rng(GSLRandomNumberGenerator) -> ODEFactory
+
+ Just return self. This method is for the compatibility between Factory classes.
+
+ """
+ cdef Cpp_ODEFactory *ptr = self.thisptr.rng_ptr(deref(rng.thisptr))
+ assert ptr == self.thisptr
+ return self
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def create_world(self, arg1=None):
+ """create_world(arg1=None) -> ODEWorld
+
+ Return a ODEWorld instance.
+
+ Parameters
+ ----------
+ arg1 : Real3
+ The lengths of edges of a ODEWorld created
+
+ or
+
+ arg1 : str
+ The path of a HDF5 file for ODEWorld
+
+ Returns
+ -------
+ ODEWorld:
+ the created world
+
+ """
+ if arg1 is None:
+ return ODEWorld_from_Cpp_ODEWorld(
+ shared_ptr[Cpp_ODEWorld](self.thisptr.create_world()))
+ elif isinstance(arg1, Real3):
+ return ODEWorld_from_Cpp_ODEWorld(
+ shared_ptr[Cpp_ODEWorld](
+ self.thisptr.create_world(deref((<Real3>arg1).thisptr))))
+ elif isinstance(arg1, str):
+ return ODEWorld_from_Cpp_ODEWorld(
+ shared_ptr[Cpp_ODEWorld](self.thisptr.create_world(tostring(arg1))))
+ raise ValueError("invalid argument")
+
+ # def create_simulator(self, arg1, ODEWorld arg2=None):
+ # if arg2 is None:
+ # return ODESimulator_from_Cpp_ODESimulator(
+ # self.thisptr.create_simulator(deref((<ODEWorld>arg1).thisptr)))
+ # else:
+ # return ODESimulator_from_Cpp_ODESimulator(
+ # self.thisptr.create_simulator(
+ # deref((<ODENetworkModel>arg1).thisptr), deref(arg2.thisptr)))
+
+ def create_simulator(self, arg1, arg2=None):
+ """create_simulator(arg1, arg2) -> ODESimulator
+
+ Return a ODESimulator instance.
+
+ Parameters
+ ----------
+ arg1 : ODEWorld
+ a world
+
+ or
+
+ arg1 : ODENetworkModel or NetworkModel
+ a simulation model
+ arg2 : ODEWorld
+ a world
+
+ Returns
+ -------
+ ODESimulator:
+ the created simulator
+
+ """
+ if arg2 is None:
+ if isinstance(arg1, ODEWorld):
+ return ODESimulator_from_Cpp_ODESimulator(
+ self.thisptr.create_simulator(
+ deref((<ODEWorld>arg1).thisptr)))
+ else:
+ raise ValueError(
+ "invalid argument {}.".format(repr(arg1))
+ + " ODEWorld is needed.")
+ else:
+ if isinstance(arg1, ODENetworkModel):
+ return ODESimulator_from_Cpp_ODESimulator(
+ self.thisptr.create_simulator(
+ deref((<ODENetworkModel>arg1).thisptr),
+ deref((<ODEWorld>arg2).thisptr)))
+ else: # elif isinstance(arg1, NetworkModel):
+ return ODESimulator_from_Cpp_ODESimulator(
+ self.thisptr.create_simulator(
+ Cpp_Model_from_Model(arg1), # (<NetworkModel>arg1).thisptr,
+ deref((<ODEWorld>arg2).thisptr)))
diff --git a/python/lib/ecell4/real3operators.pxd b/python/lib/ecell4/real3operators.pxd
new file mode 100644
index 0000000..a106f2b
--- /dev/null
+++ b/python/lib/ecell4/real3operators.pxd
@@ -0,0 +1,23 @@
+from types cimport Real
+from core cimport Cpp_Real3
+
+
+## Cpp_Real3
+# ecell4::Real3
+cdef extern from "ecell4/core/Real3.hpp" namespace "ecell4":
+ Cpp_Real3 add(Cpp_Real3, Cpp_Real3)
+ Cpp_Real3 subtract(Cpp_Real3, Cpp_Real3)
+ Cpp_Real3 divide(Cpp_Real3, Real)
+ Cpp_Real3 multiply(Cpp_Real3, Real)
+ Cpp_Real3 modulo(Cpp_Real3, Real)
+ Cpp_Real3 modulo(Cpp_Real3, Cpp_Real3)
+ Cpp_Real3 abs(Cpp_Real3)
+ Real dot_product(Cpp_Real3, Cpp_Real3)
+ Cpp_Real3 cross_product(Cpp_Real3, Cpp_Real3)
+ Real length_sq(Cpp_Real3)
+ Real length(Cpp_Real3)
+
+ Cpp_Real3 ones()
+ Cpp_Real3 unitx()
+ Cpp_Real3 unity()
+ Cpp_Real3 unitz()
diff --git a/python/lib/ecell4/shape_functions.pxd b/python/lib/ecell4/shape_functions.pxd
new file mode 100644
index 0000000..db52b3d
--- /dev/null
+++ b/python/lib/ecell4/shape_functions.pxd
@@ -0,0 +1,7 @@
+from types cimport Real
+from core cimport Cpp_PlanarSurface
+
+cdef extern from "ecell4/core/PlanarSurface.hpp" namespace "ecell4":
+ Cpp_PlanarSurface create_x_plane(Real)
+ Cpp_PlanarSurface create_y_plane(Real)
+ Cpp_PlanarSurface create_z_plane(Real)
diff --git a/python/lib/ecell4/shapes.pxi b/python/lib/ecell4/shapes.pxi
new file mode 100644
index 0000000..2cf696e
--- /dev/null
+++ b/python/lib/ecell4/shapes.pxi
@@ -0,0 +1,1277 @@
+from cython.operator cimport dereference as deref
+from cython cimport address
+cimport shape_functions
+
+
+cdef class Shape:
+ """A wrapper for a base class of Shapes.
+
+ Warning: This is mainly for developers.
+ Do not use this for your simulation.
+ """
+
+ def __init__(self):
+ """Constructor."""
+ pass
+
+ def __cinit__(self):
+ self.thisptr = new shared_ptr[Cpp_Shape](
+ <Cpp_Shape*>(new Cpp_Sphere())) #XXX: DUMMY
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def is_inside(self, Real3 pos):
+ """Return if the given point is inside or not.
+
+ Parameters
+ ----------
+ pos : Real3
+ A position.
+
+ Returns
+ -------
+ value : float
+ Zero or negative if the given point is inside.
+
+ """
+ return self.thisptr.get().is_inside(deref(pos.thisptr))
+
+ def dimension(self):
+ """Return a dimension of this shape."""
+ return self.thisptr.get().dimension()
+
+cdef class Surface:
+ """
+ """
+
+ def __init__(self, root=None):
+ """Constructor.
+
+ Parameters
+ ----------
+ root : Shape
+ A volume shape
+
+ """
+ pass # XXX: Only used for doc string
+
+ def __cinit__(self, root=None):
+ if root is None:
+ self.thisptr = new shared_ptr[Cpp_Surface](new Cpp_Surface())
+ else:
+ self.thisptr = new shared_ptr[Cpp_Surface](
+ new Cpp_Surface(deref((<Shape>root.as_base()).thisptr)))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def dimension(self):
+ """Return a dimension of this shape."""
+ return self.thisptr.get().dimension()
+
+ def is_inside(self, Real3 pos):
+ """Return if the given point is inside or not.
+
+ Parameters
+ ----------
+ pos : Real3
+ A position.
+
+ Returns
+ -------
+ value : float
+ Zero or negative if the given point is inside.
+
+ """
+ return self.thisptr.get().is_inside(deref(pos.thisptr))
+
+ def as_base(self):
+ """Clone self as a base class. This function is for developers."""
+ cdef shared_ptr[Cpp_Shape] *new_obj = new shared_ptr[Cpp_Shape](
+ <Cpp_Shape*>(new Cpp_Surface(
+ <Cpp_Surface> deref(self.thisptr.get()))))
+ retval = Shape()
+ del retval.thisptr
+ retval.thisptr = new_obj
+ return retval
+
+cdef class Union:
+
+ def __init__(self, a, b):
+ """Constructor.
+
+ Parameters
+ ----------
+ a : Shape
+ The first shape
+ b : Shape
+ The second shape
+
+ """
+ pass # XXX: Only used for doc string
+
+ def __cinit__(self, a, b):
+ self.thisptr = new shared_ptr[Cpp_Union](
+ new Cpp_Union(
+ deref((<Shape>a.as_base()).thisptr),
+ deref((<Shape>b.as_base()).thisptr)))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def dimension(self):
+ """Return a dimension of this shape."""
+ return self.thisptr.get().dimension()
+
+ def is_inside(self, Real3 pos):
+ """Return if the given point is inside or not.
+
+ Parameters
+ ----------
+ pos : Real3
+ A position.
+
+ Returns
+ -------
+ value : float
+ Zero or negative if the given point is inside.
+
+ """
+ return self.thisptr.get().is_inside(deref(pos.thisptr))
+
+ def surface(self):
+ """Create and return a surface shape.
+
+ Returns
+ -------
+ shape : Surface
+ The surface shape.
+
+ """
+ cdef shared_ptr[Cpp_Surface] *new_obj = new shared_ptr[Cpp_Surface](
+ new Cpp_Surface(self.thisptr.get().surface()))
+ retval = Surface()
+ del retval.thisptr
+ retval.thisptr = new_obj
+ return retval
+
+ def as_base(self):
+ """Clone self as a base class. This function is for developers."""
+ cdef shared_ptr[Cpp_Shape] *new_obj = new shared_ptr[Cpp_Shape](
+ <Cpp_Shape*>(new Cpp_Union(
+ <Cpp_Union> deref(self.thisptr.get()))))
+ retval = Shape()
+ del retval.thisptr
+ retval.thisptr = new_obj
+ return retval
+
+cdef class Complement:
+
+ def __init__(self, a, b):
+ """Constructor.
+
+ Parameters
+ ----------
+ a : Shape
+ The first shape
+ b : Shape
+ The second shape
+
+ """
+ pass # XXX: Only used for doc string
+
+ def __cinit__(self, a, b):
+ self.thisptr = new shared_ptr[Cpp_Complement](
+ new Cpp_Complement(
+ deref((<Shape>a.as_base()).thisptr),
+ deref((<Shape>b.as_base()).thisptr)))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def dimension(self):
+ """Return a dimension of this shape."""
+ return self.thisptr.get().dimension()
+
+ def is_inside(self, Real3 pos):
+ """Return if the given point is inside or not.
+
+ Parameters
+ ----------
+ pos : Real3
+ A position.
+
+ Returns
+ -------
+ value : float
+ Zero or negative if the given point is inside.
+
+ """
+ return self.thisptr.get().is_inside(deref(pos.thisptr))
+
+ def surface(self):
+ """Create and return a surface shape.
+
+ Returns
+ -------
+ shape : Surface
+ The surface shape.
+
+ """
+ cdef shared_ptr[Cpp_Surface] *new_obj = new shared_ptr[Cpp_Surface](
+ new Cpp_Surface(self.thisptr.get().surface()))
+ retval = Surface()
+ del retval.thisptr
+ retval.thisptr = new_obj
+ return retval
+
+ def as_base(self):
+ """Clone self as a base class. This function is for developers."""
+ cdef shared_ptr[Cpp_Shape] *new_obj = new shared_ptr[Cpp_Shape](
+ <Cpp_Shape*>(new Cpp_Complement(
+ <Cpp_Complement> deref(self.thisptr.get()))))
+ retval = Shape()
+ del retval.thisptr
+ retval.thisptr = new_obj
+ return retval
+
+cdef class AffineTransformation:
+ """
+ """
+
+ def __init__(self, root=None):
+ """Constructor.
+
+ Parameters
+ ----------
+ root : Shape
+ A volume shape
+
+ """
+ pass # XXX: Only used for doc string
+
+ def __cinit__(self, root=None):
+ if root is None:
+ self.thisptr = new shared_ptr[Cpp_AffineTransformation](
+ new Cpp_AffineTransformation())
+ else:
+ self.thisptr = new shared_ptr[Cpp_AffineTransformation](
+ new Cpp_AffineTransformation(deref((<Shape>root.as_base()).thisptr)))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def dimension(self):
+ """Return a dimension of this shape."""
+ return self.thisptr.get().dimension()
+
+ def is_inside(self, Real3 pos):
+ """Return if the given point is inside or not.
+
+ Parameters
+ ----------
+ pos : Real3
+ A position.
+
+ Returns
+ -------
+ value : float
+ Zero or negative if the given point is inside.
+
+ """
+ return self.thisptr.get().is_inside(deref(pos.thisptr))
+
+ def translate(self, Real3 value):
+ """Translate the object.
+
+ Parameters
+ ----------
+ value : Real3
+ A shift
+
+ """
+ self.thisptr.get().translate(deref(value.thisptr))
+
+ def rescale(self, Real3 value):
+ """Rescale the object.
+
+ Parameters
+ ----------
+ value : Real3
+ A scaling factor
+
+ """
+ self.thisptr.get().rescale(deref(value.thisptr))
+
+ def xroll(self, Real value):
+ """Roll the object around x-axis.
+
+ Parameters
+ ----------
+ value : Real
+ A rotation angle
+
+ """
+ self.thisptr.get().xroll(value)
+
+ def yroll(self, Real value):
+ """Roll the object around y-axis.
+
+ Parameters
+ ----------
+ value : Real
+ A rotation angle
+
+ """
+ self.thisptr.get().yroll(value)
+
+ def zroll(self, Real value):
+ """Roll the object around z-axis.
+
+ Parameters
+ ----------
+ value : Real
+ A rotation angle
+
+ """
+ self.thisptr.get().zroll(value)
+
+ def surface(self):
+ """Create and return a surface shape.
+
+ Returns
+ -------
+ shape : Surface
+ The surface shape.
+
+ """
+ cdef shared_ptr[Cpp_Surface] *new_obj = new shared_ptr[Cpp_Surface](
+ new Cpp_Surface(self.thisptr.get().surface()))
+ retval = Surface()
+ del retval.thisptr
+ retval.thisptr = new_obj
+ return retval
+
+ def as_base(self):
+ """Clone self as a base class. This function is for developers."""
+ cdef shared_ptr[Cpp_Shape] *new_obj = new shared_ptr[Cpp_Shape](
+ <Cpp_Shape*>(new Cpp_AffineTransformation(
+ <Cpp_AffineTransformation> deref(self.thisptr.get()))))
+ retval = Shape()
+ del retval.thisptr
+ retval.thisptr = new_obj
+ return retval
+
+cdef class Sphere:
+ """A class representing a sphere shape, which is available to define
+ structures.
+
+ Sphere(center, radius)
+
+ """
+
+ def __init__(self, Real3 center, Real radius):
+ """Constructor.
+
+ Parameters
+ ----------
+ center : Real3
+ The center position of a sphere.
+ radius : float
+ The radius of a sphere.
+
+ """
+ pass # XXX: Only used for doc string
+
+ def __cinit__(self, Real3 center, Real radius):
+ self.thisptr = new shared_ptr[Cpp_Sphere](
+ new Cpp_Sphere(deref(center.thisptr), radius))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def dimension(self):
+ """Return a dimension of this shape."""
+ return self.thisptr.get().dimension()
+
+ def distance(self, Real3 pos):
+ """Return a minimum distance from the given point to the surface.
+
+ Parameters
+ ----------
+ pos : Real3
+ A position.
+
+ Returns
+ -------
+ distance : float
+ A minimum distance from the given point.
+ Negative if the given point is inside.
+
+ """
+ return self.thisptr.get().distance(deref(pos.thisptr))
+
+ def is_inside(self, Real3 pos):
+ """Return if the given point is inside or not.
+
+ Parameters
+ ----------
+ pos : Real3
+ A position.
+
+ Returns
+ -------
+ value : float
+ Zero or negative if the given point is inside.
+
+ """
+ return self.thisptr.get().is_inside(deref(pos.thisptr))
+
+ def surface(self):
+ """Create and return a surface shape.
+
+ Returns
+ -------
+ shape : SphericalSurface
+ The surface shape.
+
+ """
+ cdef Cpp_SphericalSurface shape = self.thisptr.get().surface()
+ return SphericalSurface_from_Cpp_SphericalSurface(address(shape))
+
+ def as_base(self):
+ """Clone self as a base class. This function is for developers."""
+ cdef shared_ptr[Cpp_Shape] *new_obj = new shared_ptr[Cpp_Shape](
+ <Cpp_Shape*>(new Cpp_Sphere(
+ <Cpp_Sphere> deref(self.thisptr.get()))))
+ retval = Shape()
+ del retval.thisptr
+ retval.thisptr = new_obj
+ return retval
+
+cdef class SphericalSurface:
+ """A class representing a hollow spherical surface, which is
+ available to define structures.
+
+ SphericalSurface(center, radius)
+
+ """
+
+ def __init__(self, Real3 center, Real radius):
+ """Constructor.
+
+ Parameters
+ ----------
+ center : Real3
+ The center position of a sphere.
+ radius : float
+ The radius of a sphere.
+
+ """
+ pass # XXX: Only used for doc string
+
+ def __cinit__(self, Real3 center, Real radius):
+ self.thisptr = new shared_ptr[Cpp_SphericalSurface](
+ new Cpp_SphericalSurface(deref(center.thisptr), radius))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def dimension(self):
+ """Return a dimension of this shape."""
+ return self.thisptr.get().dimension()
+
+ def distance(self, Real3 pos):
+ """Return a minimum distance from the given point to the surface.
+
+ Parameters
+ ----------
+ pos : Real3
+ A position.
+
+ Returns
+ -------
+ distance : float
+ A minimum distance from the given point.
+ Negative if the given point is inside.
+
+ """
+ return self.thisptr.get().distance(deref(pos.thisptr))
+
+ def is_inside(self, Real3 pos):
+ """Return if the given point is inside or not.
+
+ Parameters
+ ----------
+ pos : Real3
+ A position.
+
+ Returns
+ -------
+ value : float
+ Zero or negative if the given point is inside.
+
+ """
+ return self.thisptr.get().is_inside(deref(pos.thisptr))
+
+ def inside(self):
+ """Create and return a volume shape.
+
+ Returns
+ -------
+ shape : Sphere
+ The volume shape.
+
+ """
+ cdef Cpp_Sphere shape = self.thisptr.get().inside()
+ return Sphere_from_Cpp_Sphere(address(shape))
+
+ def as_base(self):
+ """Clone self as a base class. This function is for developers."""
+ cdef shared_ptr[Cpp_Shape] *new_obj = new shared_ptr[Cpp_Shape](
+ <Cpp_Shape*>(new Cpp_SphericalSurface(
+ <Cpp_SphericalSurface> deref(self.thisptr.get()))))
+ retval = Shape()
+ del retval.thisptr
+ retval.thisptr = new_obj
+ return retval
+
+cdef class Cylinder:
+ """A class representing a cylinder shape, which is available to define
+ structures.
+
+ Cylinder(center, radius, axis, half_height)
+
+ """
+
+ def __init__(self, Real3 center, Real radius, Real3 axis, Real half_height):
+ """Constructor.
+
+ Parameters
+ ----------
+ center : Real3
+ The center position of a sphere.
+ radius : float
+ The radius of a sphere.
+ axis : Real3
+ The unit axis vector.
+ half_height : float
+ The half of the length.
+
+ """
+ pass # XXX: Only used for doc string
+
+ def __cinit__(self, Real3 center, Real radius, Real3 axis, Real half_height):
+ self.thisptr = new shared_ptr[Cpp_Cylinder](
+ new Cpp_Cylinder(deref(center.thisptr), radius, deref(axis.thisptr), half_height))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def dimension(self):
+ """Return a dimension of this shape."""
+ return self.thisptr.get().dimension()
+
+ def distance(self, Real3 pos):
+ """Return a minimum distance from the given point to the surface.
+
+ Parameters
+ ----------
+ pos : Real3
+ A position.
+
+ Returns
+ -------
+ distance : float
+ A minimum distance from the given point.
+ Negative if the given point is inside.
+
+ """
+ return self.thisptr.get().distance(deref(pos.thisptr))
+
+ def is_inside(self, Real3 pos):
+ """Return if the given point is inside or not.
+
+ Parameters
+ ----------
+ pos : Real3
+ A position.
+
+ Returns
+ -------
+ value : float
+ Zero or negative if the given point is inside.
+
+ """
+ return self.thisptr.get().is_inside(deref(pos.thisptr))
+
+ def surface(self):
+ """Create and return a surface shape.
+
+ Returns
+ -------
+ shape : CylindricalSurface
+ The surface shape.
+
+ """
+ cdef Cpp_CylindricalSurface shape = self.thisptr.get().surface()
+ return CylindricalSurface_from_Cpp_CylindricalSurface(address(shape))
+
+ def as_base(self):
+ """Clone self as a base class. This function is for developers."""
+ cdef shared_ptr[Cpp_Shape] *new_obj = new shared_ptr[Cpp_Shape](
+ <Cpp_Shape*>(new Cpp_Cylinder(
+ <Cpp_Cylinder> deref(self.thisptr.get()))))
+ retval = Shape()
+ del retval.thisptr
+ retval.thisptr = new_obj
+ return retval
+
+cdef class CylindricalSurface:
+ """A class representing a hollow cylindrical surface, which is
+ available to define structures.
+
+ CylindricalSurface(center, radius, axis, half_height)
+
+ """
+
+ def __init__(self, Real3 center, Real radius, Real3 axis, Real half_height):
+ """Constructor.
+
+ Parameters
+ ----------
+ center : Real3
+ The center position of a sphere.
+ radius : float
+ The radius of a sphere.
+ axis : Real3
+ The unit axis vector.
+ half_height : float
+ The half of the length.
+
+ """
+ pass # XXX: Only used for doc string
+
+ def __init__(self, Real3 center, Real radius, Real3 axis, Real half_height):
+ self.thisptr = new shared_ptr[Cpp_CylindricalSurface](
+ new Cpp_CylindricalSurface(deref(center.thisptr), radius, deref(axis.thisptr), half_height))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def dimension(self):
+ """Return a dimension of this shape."""
+ return self.thisptr.get().dimension()
+
+ def distance(self, Real3 pos):
+ """Return a minimum distance from the given point to the surface.
+
+ Parameters
+ ----------
+ pos : Real3
+ A position.
+
+ Returns
+ -------
+ distance : float
+ A minimum distance from the given point.
+ Negative if the given point is inside.
+
+ """
+ return self.thisptr.get().distance(deref(pos.thisptr))
+
+ def is_inside(self, Real3 pos):
+ """Return if the given point is inside or not.
+
+ Parameters
+ ----------
+ pos : Real3
+ A position.
+
+ Returns
+ -------
+ value : float
+ Zero or negative if the given point is inside.
+
+ """
+ return self.thisptr.get().is_inside(deref(pos.thisptr))
+
+ def inside(self):
+ """Create and return a volume shape.
+
+ Returns
+ -------
+ shape : Cylinder
+ The volume shape.
+
+ """
+ cdef Cpp_Cylinder shape = self.thisptr.get().inside()
+ return Cylinder_from_Cpp_Cylinder(address(shape))
+
+ def as_base(self):
+ """Clone self as a base class. This function is for developers."""
+ cdef shared_ptr[Cpp_Shape] *new_obj = new shared_ptr[Cpp_Shape](
+ <Cpp_Shape*>(new Cpp_CylindricalSurface(
+ <Cpp_CylindricalSurface> deref(self.thisptr.get()))))
+ retval = Shape()
+ del retval.thisptr
+ retval.thisptr = new_obj
+ return retval
+
+cdef class PlanarSurface:
+ """A class representing a planar surface, which is available to define
+ structures.
+
+ PlanarSurface(origin, e0, e1)
+
+ """
+
+ def __init__(self, Real3 origin, Real3 e0, Real3 e1):
+ """Constructor.
+
+ Parameters
+ ----------
+ origin : Real3
+ A position on the plane.
+ e0 : Real3
+ The first vector along the plane.
+ e1 : Real3
+ The second vector along the plane.
+ e0 and e1 must not be parallel.
+ e0 and e1 are not needed to be an unit vector.
+
+ """
+ pass # XXX: Only used for doc string
+
+ def __cinit__(self, Real3 origin, Real3 e0, Real3 e1):
+ self.thisptr = new shared_ptr[Cpp_PlanarSurface](
+ new Cpp_PlanarSurface(deref(origin.thisptr),
+ deref(e0.thisptr), deref(e1.thisptr)))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ # def distance(self, Real3 pos):
+ # """Return a minimum distance from the given point to the surface.
+
+ # Args:
+ # pos (Real3): A position.
+
+ # Returns:
+ # distance (float): A minimum distance from the given point.
+ # Negative if the given point is inside.
+
+ # """
+ # return self.thisptr.get().distance(deref(pos.thisptr))
+
+ def dimension(self):
+ """Return a dimension of this shape."""
+ return self.thisptr.get().dimension()
+
+ def is_inside(self, Real3 pos):
+ """Return if the given point is inside or not.
+
+ Parameters
+ ----------
+ pos : Real3
+ A position.
+
+ Returns
+ -------
+ value : float
+ Zero or negative if the given point is inside.
+
+ """
+ return self.thisptr.get().is_inside(deref(pos.thisptr))
+
+ def as_base(self):
+ """Clone self as a base class. This function is for developers."""
+ cdef shared_ptr[Cpp_Shape] *new_obj = new shared_ptr[Cpp_Shape](
+ <Cpp_Shape*>(new Cpp_PlanarSurface(
+ <Cpp_PlanarSurface> deref(self.thisptr.get()))))
+ retval = Shape()
+ del retval.thisptr
+ retval.thisptr = new_obj
+ return retval
+
+def create_x_plane(Real x):
+ """Return PlanarSurface(Real3(x, 0, 0), Real3(0, 1, 0), Real3(0, 0, 1))."""
+ cdef Cpp_PlanarSurface surf = shape_functions.create_x_plane(x)
+ return PlanarSurface_from_Cpp_PlanarSurface(address(surf))
+
+def create_y_plane(Real y):
+ """Return PlanarSurface(Real3(0, y, 0), Real3(1, 0, 0), Real3(0, 0, 1))."""
+ cdef Cpp_PlanarSurface surf = shape_functions.create_y_plane(y)
+ return PlanarSurface_from_Cpp_PlanarSurface(address(surf))
+
+def create_z_plane(Real z):
+ """Return PlanarSurface(Real3(0, 0, z), Real3(1, 0, 0), Real3(0, 1, 0))."""
+ cdef Cpp_PlanarSurface surf = shape_functions.create_z_plane(z)
+ return PlanarSurface_from_Cpp_PlanarSurface(address(surf))
+
+cdef class Rod:
+ """A class representing a Rod shape, which is available to define
+ structures. The cylinder is aligned to x-axis.
+
+ Rod(length, radius, origin=Real3(0, 0, 0))
+
+ """
+
+ def __init__(self, Real length, Real radius,
+ Real3 origin = Real3(0, 0, 0)):
+ """Constructor.
+
+ Parameters
+ ----------
+ length : float
+ The length of a cylinder part of a rod.
+ radius : float
+ The radius of a cylinder and sphere caps.
+ origin : Real3, optional
+ The center position of a rod.
+
+ """
+ pass # XXX: Only used for doc string
+
+ def __cinit__(self, Real length, Real radius,
+ Real3 origin = Real3(0, 0, 0)):
+ self.thisptr = new shared_ptr[Cpp_Rod](
+ new Cpp_Rod(length, radius, deref(origin.thisptr)))
+
+ def __dealloc__(self):
+ del self.thisptr;
+
+ def dimension(self):
+ """Return a dimension of this shape."""
+ return self.thisptr.get().dimension()
+
+ def distance(self, Real3 pos):
+ """Return a minimum distance from the given point to the surface.
+
+ Parameters
+ ----------
+ pos : Real3
+ A position.
+
+ Returns
+ -------
+ distance : float
+ A minimum distance from the given point.
+ Negative if the given point is inside.
+
+ """
+ return self.thisptr.get().distance(deref(pos.thisptr))
+
+ def is_inside(self, Real3 pos):
+ """Return if the given point is inside or not.
+
+ Parameters
+ ----------
+ pos : Real3
+ A position.
+
+ Returns
+ -------
+ value : float
+ Zero or negative if the given point is inside.
+
+ """
+ return self.thisptr.get().is_inside(deref(pos.thisptr))
+
+ def origin(self):
+ """Return a center position of mass"""
+ cdef Cpp_Real3 origin = self.thisptr.get().origin()
+ return Real3_from_Cpp_Real3(address(origin))
+
+ def length(self):
+ """Return a length of a cylinder part."""
+ return self.thisptr.get().length()
+
+ def radius(self):
+ """Return a radius of a cylinder."""
+ return self.thisptr.get().radius()
+
+ def shift(self, Real3 vec):
+ """Move the center toward the given displacement
+
+ Parameters
+ ----------
+ vec : Real3
+ A displacement.
+
+ """
+ self.thisptr.get().shift(deref(vec.thisptr))
+
+ def surface(self):
+ """Create and return a surface shape.
+
+ Returns
+ -------
+ shape : RodSurface
+ The surface shape.
+
+ """
+ cdef Cpp_RodSurface surface = self.thisptr.get().surface()
+ return RodSurface_from_Cpp_RodSurface(address(surface))
+
+ def as_base(self):
+ """Clone self as a base class. This function is for developers."""
+ cdef shared_ptr[Cpp_Shape] *new_obj = new shared_ptr[Cpp_Shape](
+ <Cpp_Shape*>(new Cpp_Rod(<Cpp_Rod> deref(self.thisptr.get()))))
+ retval = Shape()
+ del retval.thisptr
+ retval.thisptr = new_obj
+ return retval
+
+cdef class RodSurface:
+ """A class representing a hollow rod surface shape, which is
+ available to define structures. The cylinder is aligned to x-axis.
+
+ RodSurface(length, radius, origin=Real3(0, 0, 0))
+
+ """
+
+ def __init__(self, Real length, Real radius,
+ Real3 origin = Real3(0, 0, 0)):
+ """Constructor.
+
+ Parameters
+ ----------
+ length : float
+ The length of a cylinder part of a rod.
+ radius : float
+ The radius of a cylinder and sphere caps.
+ origin : Real3, optional
+ The center position of a rod.
+
+ """
+ pass # XXX: Only used for doc string
+
+
+ def __cinit__(self, Real length, Real radius,
+ Real3 origin = Real3(0, 0, 0)):
+ self.thisptr = new shared_ptr[Cpp_RodSurface](
+ new Cpp_RodSurface(length, radius, deref(origin.thisptr)))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def dimension(self):
+ """Return a dimension of this shape."""
+ return self.thisptr.get().dimension()
+
+ def distance(self, Real3 pos):
+ """Return a minimum distance from the given point to the surface.
+
+ Parameters
+ ----------
+ pos : Real3
+ A position.
+
+ Returns
+ -------
+ distance : float
+ A minimum distance from the given point.
+ Negative if the given point is inside.
+
+ """
+ return self.thisptr.get().distance(deref(pos.thisptr))
+
+ def is_inside(self, Real3 pos):
+ """Return if the given point is inside or not.
+
+ Parameters
+ ----------
+ pos : Real3
+ A position.
+
+ Returns
+ -------
+ value : float
+ Zero or negative if the given point is inside.
+
+ """
+ return self.thisptr.get().is_inside(deref(pos.thisptr))
+
+ def origin(self):
+ """Return a center position of mass"""
+ cdef Cpp_Real3 origin = self.thisptr.get().origin()
+ return Real3_from_Cpp_Real3(address(origin))
+
+ def length(self):
+ """Return a length of a cylinder part."""
+ return self.thisptr.get().length()
+
+ def radius(self):
+ """Return a radius of a cylinder."""
+ return self.thisptr.get().radius()
+
+ def shift(self, Real3 vec):
+ """Move the center toward the given displacement
+
+ Parameters
+ ----------
+ vec : Real3
+ A displacement.
+
+ """
+ self.thisptr.get().shift(deref(vec.thisptr))
+
+ def inside(self):
+ """Create and return a volume shape.
+
+ Returns
+ -------
+ shape : Rod
+ The volume shape.
+
+ """
+ cdef Cpp_Rod shape = self.thisptr.get().inside()
+ return Rod_from_Cpp_Rod(address(shape))
+
+ def as_base(self):
+ """Clone self as a base class. This function is for developers."""
+ cdef shared_ptr[Cpp_Shape] *new_obj = new shared_ptr[Cpp_Shape](
+ <Cpp_Shape*>(new Cpp_RodSurface(
+ <Cpp_RodSurface> deref(self.thisptr.get()))))
+ retval = Shape()
+ del retval.thisptr
+ retval.thisptr = new_obj
+ return retval
+
+cdef class AABB:
+ """A class representing an axis aligned bounding box (AABB),
+ which is available to define structures.
+
+ AABB(lower, upper)
+
+ """
+
+ def __init__(self, Real3 lower, Real3 upper):
+ """Constructor.
+
+ Parameters
+ ----------
+ lower : Real3
+ A vertex suggesting the lower bounds.
+ upper : Real3
+ A vertex suggesting the upper bounds.
+
+ """
+ pass # XXX: Only used for doc string
+
+ def __cinit__(self, Real3 lower, Real3 upper):
+ self.thisptr = new shared_ptr[Cpp_AABB](
+ new Cpp_AABB(deref(lower.thisptr), deref(upper.thisptr)))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def dimension(self):
+ """Return a dimension of this shape."""
+ return self.thisptr.get().dimension()
+
+ def distance(self, Real3 pos):
+ """Return a minimum distance from the given point to the surface.
+
+ Parameters
+ ----------
+ pos : Real3
+ A position.
+
+ Returns
+ -------
+ distance : float
+ A minimum distance from the given point.
+ Negative if the given point is inside.
+
+ """
+ return self.thisptr.get().distance(deref(pos.thisptr))
+
+ def is_inside(self, Real3 pos):
+ """Return if the given point is inside or not.
+
+ Parameters
+ ----------
+ pos : Real3
+ A position.
+
+ Returns
+ -------
+ value : float
+ Zero or negative if the given point is inside.
+
+ """
+ return self.thisptr.get().is_inside(deref(pos.thisptr))
+
+ def upper(self):
+ """Return a vertex suggesting the upper bounds."""
+ cdef Cpp_Real3 pos = self.thisptr.get().upper()
+ return Real3_from_Cpp_Real3(address(pos))
+
+ def lower(self):
+ """Return a vertex suggesting the lower bounds."""
+ cdef Cpp_Real3 pos = self.thisptr.get().lower()
+ return Real3_from_Cpp_Real3(address(pos))
+
+ def surface(self):
+ """Create and return a surface shape.
+
+ Returns
+ -------
+ shape : Surface
+ The surface shape.
+
+ """
+ cdef shared_ptr[Cpp_Surface] *new_obj = new shared_ptr[Cpp_Surface](
+ new Cpp_Surface(self.thisptr.get().surface()))
+ retval = Surface()
+ del retval.thisptr
+ retval.thisptr = new_obj
+ return retval
+
+ def as_base(self):
+ """Clone self as a base class. This function is for developers."""
+ cdef shared_ptr[Cpp_Shape] *new_obj = new shared_ptr[Cpp_Shape](
+ <Cpp_Shape*>(new Cpp_AABB(<Cpp_AABB> deref(self.thisptr.get()))))
+ retval = Shape()
+ del retval.thisptr
+ retval.thisptr = new_obj
+ return retval
+
+cdef class MeshSurface:
+ """A class representing a triangular mesh surface, which is
+ available to define structures.
+ The polygonal shape is given as a STL (STereoLithography) format.
+ This object needs VTK support.
+ """
+
+ def __init__(self, filename, Real3 edge_lengths):
+ """Constructor.
+
+ Parameters
+ ----------
+ filename : str
+ An input file name given in STL format.
+ edge_lengths : Real3
+ Bounds. The object is automatically resized to fit into the
+ given lengths.
+
+ """
+ def __cinit__(self, filename, Real3 edge_lengths):
+ self.thisptr = new shared_ptr[Cpp_MeshSurface](
+ new Cpp_MeshSurface(tostring(filename), deref(edge_lengths.thisptr)))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ # def distance(self, Real3 pos):
+ # """Return a minimum distance from the given point to the surface.
+
+ # Args:
+ # pos (Real3): A position.
+
+ # Returns:
+ # distance (float): A minimum distance from the given point.
+ # Negative if the given point is inside.
+
+ # """
+ # return self.thisptr.get().distance(deref(pos.thisptr))
+
+ def dimension(self):
+ """Return a dimension of this shape."""
+ return self.thisptr.get().dimension()
+
+ def is_inside(self, Real3 pos):
+ """Return if the given point is inside or not.
+
+ Parameters
+ ----------
+ pos : Real3
+ A position.
+
+ Returns
+ -------
+ value : float
+ Zero or negative if the given point is inside.
+
+ """
+ return self.thisptr.get().is_inside(deref(pos.thisptr))
+
+ def as_base(self):
+ """Clone self as a base class. This function is for developers."""
+ cdef shared_ptr[Cpp_Shape] *new_obj = new shared_ptr[Cpp_Shape](
+ <Cpp_Shape*>(new Cpp_MeshSurface(
+ <Cpp_MeshSurface> deref(self.thisptr.get()))))
+ retval = Shape()
+ del retval.thisptr
+ retval.thisptr = new_obj
+ return retval
+
+
+cdef Sphere Sphere_from_Cpp_Sphere(Cpp_Sphere* shape):
+ cdef shared_ptr[Cpp_Sphere] *new_obj = new shared_ptr[Cpp_Sphere](
+ new Cpp_Sphere(<Cpp_Sphere> deref(shape)))
+ retval = Sphere(Real3(0, 0, 0), 0)
+ del retval.thisptr
+ retval.thisptr = new_obj
+ return retval
+
+cdef SphericalSurface SphericalSurface_from_Cpp_SphericalSurface(
+ Cpp_SphericalSurface* shape):
+ cdef shared_ptr[Cpp_SphericalSurface] *new_obj = new shared_ptr[Cpp_SphericalSurface](
+ new Cpp_SphericalSurface(<Cpp_SphericalSurface> deref(shape)))
+ retval = SphericalSurface(Real3(0, 0, 0), 0)
+ del retval.thisptr
+ retval.thisptr = new_obj
+ return retval
+
+cdef Cylinder Cylinder_from_Cpp_Cylinder(Cpp_Cylinder* shape):
+ cdef shared_ptr[Cpp_Cylinder] *new_obj = new shared_ptr[Cpp_Cylinder](
+ new Cpp_Cylinder(<Cpp_Cylinder> deref(shape)))
+ retval = Cylinder(Real3(0, 0, 0), 0, Real3(0, 0, 0), 0)
+ del retval.thisptr
+ retval.thisptr = new_obj
+ return retval
+
+cdef CylindricalSurface CylindricalSurface_from_Cpp_CylindricalSurface(
+ Cpp_CylindricalSurface* shape):
+ cdef shared_ptr[Cpp_CylindricalSurface] *new_obj = new shared_ptr[Cpp_CylindricalSurface](
+ new Cpp_CylindricalSurface(<Cpp_CylindricalSurface> deref(shape)))
+ retval = CylindricalSurface(Real3(0, 0, 0), 0, Real3(0, 0, 0), 0)
+ del retval.thisptr
+ retval.thisptr = new_obj
+ return retval
+
+cdef Rod Rod_from_Cpp_Rod(Cpp_Rod* shape):
+ cdef shared_ptr[Cpp_Rod] *new_obj = new shared_ptr[Cpp_Rod](
+ new Cpp_Rod(<Cpp_Rod> deref(shape)))
+ retval = Rod(0.5e-6, 2e-6)
+ del retval.thisptr
+ retval.thisptr = new_obj
+ return retval
+
+cdef RodSurface RodSurface_from_Cpp_RodSurface(Cpp_RodSurface* shape):
+ cdef shared_ptr[Cpp_RodSurface] *new_obj = new shared_ptr[Cpp_RodSurface](
+ new Cpp_RodSurface(<Cpp_RodSurface> deref(shape)))
+ retval = RodSurface(0.5e-6, 2e-6)
+ del retval.thisptr
+ retval.thisptr = new_obj
+ return retval
+
+cdef AABB AABB_from_Cpp_AABB(Cpp_AABB* shape):
+ cdef shared_ptr[Cpp_AABB] *new_obj = new shared_ptr[Cpp_AABB](
+ new Cpp_AABB(<Cpp_AABB> deref(shape)))
+ retval = AABB(Real3(0, 0, 0), Real3(0, 0, 0))
+ del retval.thisptr
+ retval.thisptr = new_obj
+ return retval
+
+cdef PlanarSurface PlanarSurface_from_Cpp_PlanarSurface(Cpp_PlanarSurface* shape):
+ cdef shared_ptr[Cpp_PlanarSurface] *new_obj = new shared_ptr[Cpp_PlanarSurface](
+ new Cpp_PlanarSurface(<Cpp_PlanarSurface> deref(shape)))
+ retval = PlanarSurface(Real3(0, 0, 0), Real3(1, 0, 0), Real3(0, 1, 0))
+ del retval.thisptr
+ retval.thisptr = new_obj
+ return retval
diff --git a/python/lib/ecell4/shared_ptr.pxd b/python/lib/ecell4/shared_ptr.pxd
new file mode 100644
index 0000000..0db1707
--- /dev/null
+++ b/python/lib/ecell4/shared_ptr.pxd
@@ -0,0 +1,7 @@
+cdef extern from "<boost/shared_ptr.hpp>" namespace "boost":
+ cdef cppclass shared_ptr[T]:
+ shared_ptr()
+ shared_ptr(T*)
+ shared_ptr(shared_ptr[T]&)
+ T* get()
+ void swap(shared_ptr[T]&)
diff --git a/python/lib/ecell4/spatiocyte.pxd b/python/lib/ecell4/spatiocyte.pxd
new file mode 100644
index 0000000..4f5c501
--- /dev/null
+++ b/python/lib/ecell4/spatiocyte.pxd
@@ -0,0 +1,201 @@
+from libcpp.string cimport string
+from libcpp cimport bool
+from libcpp.vector cimport vector
+
+from ecell4.types cimport *
+from ecell4.shared_ptr cimport shared_ptr
+from ecell4.core cimport *
+
+
+## Cpp_ReactionInfo
+cdef extern from "ecell4/spatiocyte/SpatiocyteSimulator.hpp" namespace "ecell4::spatiocyte":
+ cdef cppclass Cpp_ReactionInfo "ecell4::spatiocyte::ReactionInfo":
+ Cpp_ReactionInfo(Real, vector[pair[Cpp_ParticleID, Cpp_Voxel]], vector[pair[Cpp_ParticleID, Cpp_Voxel]])
+ Cpp_ReactionInfo(Cpp_ReactionInfo&)
+ Real t()
+ vector[pair[Cpp_ParticleID, Cpp_Voxel]] reactants()
+ vector[pair[Cpp_ParticleID, Cpp_Voxel]] products()
+
+## ReactionInfo
+# a python wrapper for Cpp_ReactionInfo
+cdef class ReactionInfo:
+ cdef Cpp_ReactionInfo* thisptr
+
+cdef ReactionInfo ReactionInfo_from_Cpp_ReactionInfo(Cpp_ReactionInfo* ri)
+
+## Cpp_SpatiocyteWorld
+# ecell4::spatiocyte::SpatiocyteWorld
+cdef extern from "ecell4/spatiocyte/SpatiocyteWorld.hpp" namespace "ecell4::spatiocyte":
+ cdef cppclass Cpp_SpatiocyteWorld "ecell4::spatiocyte::SpatiocyteWorld":
+ Cpp_SpatiocyteWorld(
+ Cpp_Real3& edge_lengths, const Real& voxel_radius,
+ shared_ptr[Cpp_RandomNumberGenerator] rng) except +
+ Cpp_SpatiocyteWorld(
+ Cpp_Real3& edge_lengths, const Real& voxel_radius) except +
+ Cpp_SpatiocyteWorld(Cpp_Real3& edge_lengths) except +
+ Cpp_SpatiocyteWorld(string&) except +
+ Cpp_SpatiocyteWorld() except +
+
+ void set_t(Real t)
+ Real t()
+ Cpp_Real3& edge_lengths()
+ Real volume()
+ Real voxel_volume()
+ Cpp_Real3 actual_lengths()
+ Real get_volume(Cpp_Species)
+
+ pair[pair[Cpp_ParticleID, Cpp_Particle], bool] new_particle(Cpp_Particle& p)
+ pair[pair[Cpp_ParticleID, Cpp_Particle], bool] new_particle(Cpp_Species& sp, Cpp_Real3& pos)
+ bool remove_particle(Cpp_ParticleID& pid)
+ bool remove_voxel(Cpp_ParticleID& pid)
+ pair[Cpp_ParticleID, Cpp_Particle] get_particle(Cpp_ParticleID& pid)
+ pair[Cpp_ParticleID, Cpp_Voxel] get_voxel(Cpp_ParticleID& pid)
+ pair[Cpp_ParticleID, Cpp_Voxel] get_voxel_at(Integer)
+ bool on_structure(Cpp_Voxel&)
+ # bool on_structure(Cpp_Species&, Integer)
+
+ void set_value(Cpp_Species&, Real)
+ Real get_value(Cpp_Species&)
+ Real get_value_exact(Cpp_Species&)
+ vector[Cpp_Species] list_species()
+ vector[Cpp_Species] list_structure_species()
+ vector[Cpp_Species] list_non_structure_species()
+ Integer num_particles()
+ Integer num_particles(Cpp_Species& sp)
+ Integer num_particles_exact(Cpp_Species& sp)
+ Integer num_voxels()
+ Integer num_voxels(Cpp_Species& sp)
+ Integer num_voxels_exact(Cpp_Species& sp)
+ vector[pair[Cpp_ParticleID, Cpp_Particle]] list_particles()
+ vector[pair[Cpp_ParticleID, Cpp_Particle]] list_particles(Cpp_Species& sp)
+ vector[pair[Cpp_ParticleID, Cpp_Particle]] list_particles_exact(Cpp_Species& sp)
+ vector[pair[Cpp_ParticleID, Cpp_Particle]] list_structure_particles()
+ vector[pair[Cpp_ParticleID, Cpp_Particle]] list_non_structure_particles()
+ bool has_particle(Cpp_ParticleID& pid)
+ bool update_particle(Cpp_ParticleID& pid, Cpp_Particle& p)
+ # vector[pair[pair[Cpp_ParticleID, Cpp_Particle], Real]] list_particles_within_radius(Cpp_Real3& pos, Real& radius)
+ # vector[pair[pair[Cpp_ParticleID, Cpp_Particle], Real]] list_particles_within_radius(Cpp_Real3& pos, Real& radius, Cpp_ParticleID& ignore)
+ # vector[pair[pair[Cpp_ParticleID, Cpp_Particle], Real]] list_particles_within_radius(Cpp_Real3& pos, Real& radius, Cpp_ParticleID& ignore1, Cpp_ParticleID& ignore2)
+ # Cpp_Real3 periodic_transpose(Cpp_Real3& pos1, Cpp_Real3& pos2)
+ # Cpp_Real3 apply_boundary(Cpp_Real3& pos)
+ # Real distance_sq(Cpp_Real3& pos1, Cpp_Real3& pos2)
+ # Real distance(Cpp_Real3& pos1, Cpp_Real3& pos2)
+ # # bool has_species(Cpp_Species& sp)
+ Integer num_molecules(Cpp_Species& sp)
+ Integer num_molecules_exact(Cpp_Species& sp)
+ void add_molecules(Cpp_Species& sp, Integer num)
+ void remove_molecules(Cpp_Species& sp, Integer num)
+ # shared_ptr[Cpp_GSLRandomNumberGenerator] rng()
+ # Integer get_neighbor(Integer, Integer)
+ Integer get_neighbor(Integer, Integer)
+ void save(string filename) except +
+ void load(string filename)
+ pair[pair[Cpp_ParticleID, Cpp_Voxel], bool] new_voxel(Cpp_Voxel& p)
+ pair[pair[Cpp_ParticleID, Cpp_Voxel], bool] new_voxel(Cpp_Species& sp, Integer pos)
+ pair[pair[Cpp_ParticleID, Cpp_Voxel], bool] new_voxel_structure(Cpp_Species& sp, Integer pos)
+ vector[pair[Cpp_ParticleID, Cpp_Voxel]] list_voxels()
+ vector[pair[Cpp_ParticleID, Cpp_Voxel]] list_voxels(Cpp_Species& sp)
+ vector[pair[Cpp_ParticleID, Cpp_Voxel]] list_voxels_exact(Cpp_Species& sp)
+ bool update_voxel(Cpp_ParticleID, Cpp_Voxel)
+ bool has_voxel(Cpp_ParticleID)
+ Real voxel_radius()
+
+ Integer size()
+ Cpp_Integer3 shape()
+ # Integer inner_size()
+ # Cpp_Integer3 inner_shape()
+
+ void bind_to(shared_ptr[Cpp_Model])
+ # Cpp_Real3 coordinate2position(Integer)
+ # Integer position2coordinate(Cpp_Real3)
+ shared_ptr[Cpp_RandomNumberGenerator] rng()
+
+ Cpp_Real3 coordinate2position(Integer)
+ # Cpp_Integer3 coordinate2global(Integer)
+ # Integer global2coordinate(Cpp_Integer3)
+ # Cpp_Real3 global2position(Cpp_Integer3)
+ # Cpp_Integer3 position2global(Cpp_Real3)
+ Integer position2coordinate(Cpp_Real3)
+
+ Integer add_structure(Cpp_Species&, shared_ptr[Cpp_Shape]) except +
+ void add_molecules(Cpp_Species& sp, Integer num, shared_ptr[Cpp_Shape])
+
+ @staticmethod
+ Real calculate_voxel_volume(Real)
+ @staticmethod
+ Cpp_Real3 calculate_hcp_lengths(Real)
+ @staticmethod
+ Cpp_Integer3 calculate_shape(Cpp_Real3&, Real)
+ @staticmethod
+ Real calculate_volume(Cpp_Real3&, Real)
+
+ pair[pair[Cpp_ParticleID, Cpp_Voxel], bool] new_voxel_interface(Cpp_Species& sp, Integer pos)
+ Integer add_interface(Cpp_Species&) except +
+
+ cdef Cpp_SpatiocyteWorld* create_spatiocyte_world_cell_list_impl_alias(
+ Cpp_Real3&, Real, Cpp_Integer3&, shared_ptr[Cpp_RandomNumberGenerator]&)
+ cdef Cpp_SpatiocyteWorld* create_spatiocyte_world_vector_impl_alias(
+ Cpp_Real3&, Real, shared_ptr[Cpp_RandomNumberGenerator]&)
+
+## SpatiocyteWorld
+# a python wrapper for Cpp_SpatiocyteWorld
+cdef class SpatiocyteWorld:
+ cdef shared_ptr[Cpp_SpatiocyteWorld]* thisptr
+
+cdef SpatiocyteWorld SpatiocyteWorld_from_Cpp_SpatiocyteWorld(
+ shared_ptr[Cpp_SpatiocyteWorld] m)
+
+## Cpp_SpatiocyteSimulator
+# ecell4::spatiocyte::SpatiocyteSimulator
+cdef extern from "ecell4/spatiocyte/SpatiocyteSimulator.hpp" namespace "ecell4::spatiocyte":
+ cdef cppclass Cpp_SpatiocyteSimulator "ecell4::spatiocyte::SpatiocyteSimulator":
+ Cpp_SpatiocyteSimulator(
+ shared_ptr[Cpp_Model], shared_ptr[Cpp_SpatiocyteWorld]) except +
+ Cpp_SpatiocyteSimulator(
+ shared_ptr[Cpp_SpatiocyteWorld]) except +
+ Integer num_steps()
+ Real next_time()
+ void step() except +
+ bool step(Real& upto) except +
+ Real t()
+ void set_t(Real)
+ Real dt()
+ void set_dt(Real)
+ void initialize()
+ # void set_alpha(Real)
+ # Real get_alpha()
+ # Real calculate_alpha(Cpp_ReactionRule)
+ bool check_reaction()
+ vector[pair[Cpp_ReactionRule, Cpp_ReactionInfo]] last_reactions()
+ shared_ptr[Cpp_Model] model()
+ shared_ptr[Cpp_SpatiocyteWorld] world()
+ void run(Real) except +
+ void run(Real, shared_ptr[Cpp_Observer]) except +
+ void run(Real, vector[shared_ptr[Cpp_Observer]]) except +
+
+## SpatiocyteSimulator
+# a python wrapper for Cpp_SpatiocyteSimulator
+cdef class SpatiocyteSimulator:
+ cdef Cpp_SpatiocyteSimulator* thisptr
+
+cdef SpatiocyteSimulator SpatiocyteSimulator_from_Cpp_SpatiocyteSimulator(Cpp_SpatiocyteSimulator* s)
+
+## Cpp_SpatiocyteFactory
+# ecell4::spatiocyte::SpatiocyteFactory
+cdef extern from "ecell4/spatiocyte/SpatiocyteFactory.hpp" namespace "ecell4::spatiocyte":
+ cdef cppclass Cpp_SpatiocyteFactory "ecell4::spatiocyte::SpatiocyteFactory":
+ Cpp_SpatiocyteFactory(Real) except +
+ Cpp_SpatiocyteWorld* create_world()
+ Cpp_SpatiocyteWorld* create_world(string)
+ Cpp_SpatiocyteWorld* create_world(Cpp_Real3&)
+ Cpp_SpatiocyteWorld* create_world(shared_ptr[Cpp_Model])
+ Cpp_SpatiocyteSimulator* create_simulator(shared_ptr[Cpp_Model], shared_ptr[Cpp_SpatiocyteWorld])
+ Cpp_SpatiocyteSimulator* create_simulator(shared_ptr[Cpp_SpatiocyteWorld])
+ Cpp_SpatiocyteFactory* rng_ptr(shared_ptr[Cpp_RandomNumberGenerator]&)
+ @staticmethod
+ Real default_voxel_radius()
+
+## SpatiocyteFactory
+# a python wrapper for Cpp_SpatiocyteFactory
+cdef class SpatiocyteFactory:
+ cdef Cpp_SpatiocyteFactory* thisptr
diff --git a/python/lib/ecell4/spatiocyte.pyx b/python/lib/ecell4/spatiocyte.pyx
new file mode 100644
index 0000000..f412ec7
--- /dev/null
+++ b/python/lib/ecell4/spatiocyte.pyx
@@ -0,0 +1,1573 @@
+import collections
+from cython.operator cimport dereference as deref, preincrement as inc
+from cython cimport address
+from libcpp.string cimport string
+from libcpp.vector cimport vector
+
+from ecell4.types cimport *
+from ecell4.shared_ptr cimport shared_ptr
+from ecell4.core cimport *
+
+## ReactionInfo
+cdef class ReactionInfo:
+ """A class stores detailed information about a reaction in spatiocyte.
+
+ ReactionInfo(t, reactants, products)
+
+ """
+
+ def __init__(self, Real t, reactants, products):
+ """Constructor.
+
+ Args:
+ t (Real): A time when a reaction occurred
+ reactants (list): A list of reactants.
+ Reactants are given as a pair of ``ParticleID`` and ``Voxel``.
+ products (list): A list of products.
+ Products are given as a pair of ``ParticleID`` and ``Voxel``.
+
+ """
+ pass #XXX: only used for doc string
+
+
+ def __cinit__(self, Real t, reactants, products):
+ cdef vector[pair[Cpp_ParticleID, Cpp_Voxel]] reactants_
+ cdef vector[pair[Cpp_ParticleID, Cpp_Voxel]] products_
+
+ for pid, p in reactants:
+ reactants_.push_back(
+ pair[Cpp_ParticleID, Cpp_Voxel](
+ deref((<ParticleID>pid).thisptr), deref((<Voxel>p).thisptr)))
+ for pid, p in products:
+ products_.push_back(
+ pair[Cpp_ParticleID, Cpp_Voxel](
+ deref((<ParticleID>pid).thisptr), deref((<Voxel>p).thisptr)))
+
+ self.thisptr = new Cpp_ReactionInfo(t, reactants_, products_)
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def t(self):
+ """Return a time when a reaction occurred."""
+ return self.thisptr.t()
+
+ def reactants(self):
+ """Return a list of reactants
+
+ Returns:
+ list: A list of pairs of ``ParticleID`` and ``Voxel``.
+
+ """
+ cdef vector[pair[Cpp_ParticleID, Cpp_Voxel]] particles
+ particles = self.thisptr.reactants()
+
+ retval = []
+ cdef vector[pair[Cpp_ParticleID, Cpp_Voxel]].iterator \
+ it = particles.begin()
+ while it != particles.end():
+ retval.append(
+ (ParticleID_from_Cpp_ParticleID(
+ <Cpp_ParticleID*>(address(deref(it).first))),
+ Voxel_from_Cpp_Voxel(
+ <Cpp_Voxel*>(address(deref(it).second)))))
+ inc(it)
+ return retval
+
+ def products(self):
+ """Return a list of products
+
+ Returns:
+ list: A list of pairs of ``ParticleID`` and ``Voxel``.
+
+ """
+ cdef vector[pair[Cpp_ParticleID, Cpp_Voxel]] particles
+ particles = self.thisptr.products()
+
+ retval = []
+ cdef vector[pair[Cpp_ParticleID, Cpp_Voxel]].iterator \
+ it = particles.begin()
+ while it != particles.end():
+ retval.append(
+ (ParticleID_from_Cpp_ParticleID(
+ <Cpp_ParticleID*>(address(deref(it).first))),
+ Voxel_from_Cpp_Voxel(
+ <Cpp_Voxel*>(address(deref(it).second)))))
+ inc(it)
+ return retval
+
+ def __reduce__(self):
+ return (ReactionInfo, (self.t(), self.reactants(), self.products()))
+
+cdef ReactionInfo ReactionInfo_from_Cpp_ReactionInfo(Cpp_ReactionInfo* ri):
+ cdef Cpp_ReactionInfo *new_obj = new Cpp_ReactionInfo(<Cpp_ReactionInfo> deref(ri))
+ r = ReactionInfo(0, [], [])
+ del r.thisptr
+ r.thisptr = new_obj
+ return r
+
+## SpatiocyteWorld
+# a python wrapper for Cpp_SpatiocyteWorld
+cdef class SpatiocyteWorld:
+ """A class containing the properties of the spatiocyte world.
+
+ SpatiocyteWorld(edge_lengths=None, voxel_radius=None, GSLRandomNumberGenerator rng=None)
+
+ """
+
+ def __init__(self, edge_lengths = None, voxel_radius = None,
+ GSLRandomNumberGenerator rng = None):
+ """Constructor.
+
+ Parameters
+ ----------
+ edge_lengths : Real3, optional
+ A size of the World.
+ voxel_radius : Real, optional
+ A radius of a voxel.
+ rng : GSLRandomNumberGenerator, optional
+ A random number generator.
+
+ """
+ pass
+
+ def __cinit__(self, edge_lengths = None, voxel_radius = None,
+ GSLRandomNumberGenerator rng = None):
+ cdef string filename
+
+ if edge_lengths is None:
+ self.thisptr = new shared_ptr[Cpp_SpatiocyteWorld](new Cpp_SpatiocyteWorld())
+ elif voxel_radius is None:
+ if isinstance(edge_lengths, Real3):
+ self.thisptr = new shared_ptr[Cpp_SpatiocyteWorld](
+ new Cpp_SpatiocyteWorld(
+ deref((<Real3>edge_lengths).thisptr)))
+ else:
+ filename = tostring(edge_lengths)
+ self.thisptr = new shared_ptr[Cpp_SpatiocyteWorld](
+ new Cpp_SpatiocyteWorld(filename))
+ elif rng is None:
+ self.thisptr = new shared_ptr[Cpp_SpatiocyteWorld](
+ new Cpp_SpatiocyteWorld(
+ deref((<Real3>edge_lengths).thisptr), <Real>voxel_radius))
+ else:
+ self.thisptr = new shared_ptr[Cpp_SpatiocyteWorld](
+ new Cpp_SpatiocyteWorld(
+ deref((<Real3>edge_lengths).thisptr), <Real>voxel_radius,
+ deref(rng.thisptr)))
+
+ def __dealloc__(self):
+ # XXX: Here, we release shared pointer,
+ # and if reference count to the SpatiocyteWorld object,
+ # it will be released automatically.
+ del self.thisptr
+
+ def set_t(self, Real t):
+ """set_t(t)
+
+ Set the value of the time of the world.
+
+ Parameters
+ ----------
+ t : Real
+ The time of the world
+
+ """
+ self.thisptr.get().set_t(t)
+
+ def t(self):
+ """Return the time of the world."""
+ return self.thisptr.get().t()
+
+ def volume(self):
+ """Return the volume of the world."""
+ return self.thisptr.get().volume()
+
+ def voxel_volume(self):
+ """Return the volume of a voxel."""
+ return self.thisptr.get().voxel_volume()
+
+ def get_volume(self, Species sp):
+ """get_volume(sp) -> Real
+
+ Return a volume of the given structure.
+
+ Parameters
+ ----------
+ sp : Species
+ A species for the target structure.
+
+ Returns
+ -------
+ Real:
+ A total volume of voxels belonging to the structure.
+
+ """
+ return self.thisptr.get().get_volume(deref(sp.thisptr))
+
+ def actual_lengths(self):
+ """Return the actual edge lengths of the world.
+
+ Returns
+ -------
+ Real3:
+ The actual edge lengths of the world
+
+ """
+ cdef Cpp_Real3 lengths = self.thisptr.get().actual_lengths()
+ return Real3_from_Cpp_Real3(address(lengths))
+
+ def new_particle(self, arg1, Real3 arg2=None):
+ """new_particle(arg1, arg2=None) -> (ParticleID, Particle)
+
+ Create a new particle.
+
+ Parameters
+ ----------
+ arg1 : Particle
+ A particle to be placed.
+
+ or
+
+ arg1 : Species
+ A species of a particle
+ arg2 : Real3
+ A coordinate to place a particle
+
+ Returns
+ -------
+ tuple:
+ A pair of ParticleID and Particle of a new particle
+
+ """
+ cdef pair[pair[Cpp_ParticleID, Cpp_Particle], bool] retval
+
+ if arg2 is None:
+ retval = self.thisptr.get().new_particle(deref((<Particle> arg1).thisptr))
+ else:
+ retval = self.thisptr.get().new_particle(deref((<Species> arg1).thisptr), deref(arg2.thisptr))
+ return ((ParticleID_from_Cpp_ParticleID(address(retval.first.first)), Particle_from_Cpp_Particle(address(retval.first.second))), retval.second)
+
+ def get_particle(self, ParticleID pid):
+ """get_particle(pid) -> (ParticleID, Particle)
+
+ Return the particle associated a given ParticleID.
+
+ Parameters
+ ----------
+ pid : ParticleID
+ A id of the particle you want
+
+ Returns
+ -------
+ tuple:
+ A pair of ParticleID and Particle
+
+ """
+ cdef pair[Cpp_ParticleID, Cpp_Particle] \
+ pid_particle_pair = self.thisptr.get().get_particle(deref(pid.thisptr))
+ return (ParticleID_from_Cpp_ParticleID(address(pid_particle_pair.first)),
+ Particle_from_Cpp_Particle(address(pid_particle_pair.second)))
+
+ def get_voxel(self, ParticleID pid):
+ """get_voxel(pid) -> (ParticleID, Voxel)
+
+ Return the voxel having a particle associated with a given ParticleID.
+
+ Parameters
+ ----------
+ pid : ParticleID
+ An id of the particle in the voxel you want
+
+ Returns
+ -------
+ tuple:
+ A pair of ParticleID and Voxel
+
+ """
+ cdef pair[Cpp_ParticleID, Cpp_Voxel] pid_voxel_pair
+ pid_voxel_pair = self.thisptr.get().get_voxel(deref(pid.thisptr))
+ return (ParticleID_from_Cpp_ParticleID(address(pid_voxel_pair.first)),
+ Voxel_from_Cpp_Voxel(address(pid_voxel_pair.second)))
+
+ def get_voxel_at(self, Integer coord):
+ """get_voxel_at(coord) -> (ParticleID, Voxel)
+
+ Return the voxel at a given coordinate.
+
+ Parameters
+ ----------
+ coord: Integer
+ A coordinate of the voxel you want
+
+ Returns
+ -------
+ tuple:
+ A pair of ParticleID and Voxel
+
+ """
+ cdef pair[Cpp_ParticleID, Cpp_Voxel] pid_voxel_pair
+ pid_voxel_pair = self.thisptr.get().get_voxel_at(coord)
+ return (ParticleID_from_Cpp_ParticleID(address(pid_voxel_pair.first)),
+ Voxel_from_Cpp_Voxel(address(pid_voxel_pair.second)))
+
+ def on_structure(self, Voxel v):
+ """Check if the given voxel would be on the proper structure at the coordinate
+ Args:
+ v (Voxel): a voxel scheduled to be placed
+ Returns:
+ bool: if it is on the proper structure, or not
+ """
+ return self.thisptr.get().on_structure(deref((<Voxel>v).thisptr))
+
+ # def on_structure(self, Species sp, Integer coord):
+ # """on_structure(sp, coord) -> bool
+
+ # Check if the given species would be on the proper structure at the coordinate.
+
+ # Parameters
+ # ----------
+ # sp : Species
+ # A species scheduled to be placed
+ # coord : Integer
+ # A coordinate to be occupied
+
+ # Returns
+ # -------
+ # bool:
+ # if it is on the proper structure, or not
+
+ # """
+ # return self.thisptr.get().on_structure(deref(sp.thisptr), coord)
+
+ def remove_particle(self, ParticleID pid):
+ """remove_particle(pid)
+
+ Remove the particle associated with a given ParticleID.
+
+ Parameters
+ ----------
+ pid : ParticleID
+ A id of particle to remove
+
+ """
+ self.thisptr.get().remove_particle(deref(pid.thisptr))
+
+ def remove_voxel(self, ParticleID pid):
+ """remove_voxel(pid)
+
+ Remove the particle associated with a given ParticleID.
+
+ Parameters
+ ----------
+ pid : ParticleID
+ A id of particle to remove
+
+ """
+ self.thisptr.get().remove_voxel(deref(pid.thisptr))
+
+ def edge_lengths(self):
+ """edge_lengths() -> Real3
+
+ Return the edge lengths of the world.
+
+ """
+ cdef Cpp_Real3 lengths = self.thisptr.get().edge_lengths()
+ return Real3_from_Cpp_Real3(address(lengths))
+
+ def set_value(self, Species sp, Real value):
+ """set_value(sp, value)
+
+ Set the value of the given species.
+
+ Parameters
+ ----------
+ sp : Species
+ a species whose value you set
+ value : Real
+ a value set
+
+ """
+ self.thisptr.get().set_value(deref(sp.thisptr), value)
+
+ def get_value(self, Species sp):
+ """get_value(sp) -> Real
+
+ Return the value (number) corresponding the given Species.
+
+ Parameters
+ ----------
+ sp : Species
+ a species whose value you require
+
+ Returns
+ -------
+ Real:
+ the value
+
+ """
+ return self.thisptr.get().get_value(deref(sp.thisptr))
+
+ def get_value_exact(self, Species sp):
+ """get_value_exact(sp) -> Real
+
+ Return the value (number) corresponding the given Species.
+
+ Parameters
+ ----------
+ sp : Species
+ a species whose value you require
+
+ Returns
+ -------
+ Real:
+ the value
+
+ """
+ return self.thisptr.get().get_value_exact(deref(sp.thisptr))
+
+ def list_species(self):
+ """list_species() -> [Species]
+
+ Return the list of species.
+
+ Returns
+ -------
+ list:
+ The list of species
+ """
+ cdef vector[Cpp_Species] species = self.thisptr.get().list_species()
+ retval = []
+ cdef vector[Cpp_Species].iterator it = species.begin()
+ while it != species.end():
+ retval.append(
+ Species_from_Cpp_Species(
+ <Cpp_Species*>(address(deref(it)))))
+ inc(it)
+ return retval
+
+ def list_structure_species(self):
+ """list_structure_species() -> [Species]
+
+ Return the list of structure species.
+
+ Returns
+ -------
+ list:
+ The list of species constructing structure
+ """
+ cdef vector[Cpp_Species] species = self.thisptr.get().list_structure_species()
+ retval = []
+ cdef vector[Cpp_Species].iterator it = species.begin()
+ while it != species.end():
+ retval.append(
+ Species_from_Cpp_Species(
+ <Cpp_Species*>(address(deref(it)))))
+ inc(it)
+ return retval
+
+ def list_non_structure_species(self):
+ """list_non_structure_species() -> [Species]
+
+ Return the list of non-structure species.
+
+ Returns
+ -------
+ list:
+ The list of species not constructing structure
+ """
+ cdef vector[Cpp_Species] species = self.thisptr.get().list_non_structure_species()
+ retval = []
+ cdef vector[Cpp_Species].iterator it = species.begin()
+ while it != species.end():
+ retval.append(
+ Species_from_Cpp_Species(
+ <Cpp_Species*>(address(deref(it)))))
+ inc(it)
+ return retval
+
+ def num_particles(self, Species sp = None):
+ """num_particles(sp=None) -> Integer
+
+ Return the number of particles.
+
+ Parameters
+ ----------
+ sp : Species, optional
+ The species of particles to count
+ If no species is given, return the total number of particles.
+
+ Returns
+ -------
+ Integer:
+ The number of particles (of the given species)
+
+ """
+ if sp is None:
+ return self.thisptr.get().num_particles()
+ else:
+ return self.thisptr.get().num_particles(deref(sp.thisptr))
+
+ def num_particles_exact(self, Species sp):
+ """num_particles_exact(sp) -> Integer
+
+ Return the number of particles of a given species.
+
+ Parameters
+ ----------
+ sp : Species
+ The species of particles to count
+
+ Returns
+ -------
+ Integer:
+ The number of particles of a given species
+
+ """
+ return self.thisptr.get().num_particles_exact(deref(sp.thisptr))
+
+ def num_voxels(self, Species sp = None):
+ """num_voxels(sp=None) -> Integer
+
+ Return the number of voxels.
+
+ Parameters
+ ----------
+ sp : Species, optional
+ The species of particles to count
+
+ Returns
+ -------
+ Integer:
+ The number of voxels (of the given species)
+
+ """
+ if sp is None:
+ return self.thisptr.get().num_voxels()
+ else:
+ return self.thisptr.get().num_voxels(deref(sp.thisptr))
+
+ def num_voxels_exact(self, Species sp):
+ """num_voxels_exact(sp) -> Integer
+
+ Return the number of voxels of a given species.
+
+ Parameters
+ ----------
+ sp : Species
+ The species of particles to count
+
+ Returns
+ -------
+ Integer:
+ The number of voxels of a given species
+
+ """
+ return self.thisptr.get().num_voxels_exact(deref(sp.thisptr))
+
+ def list_particles(self, Species sp = None):
+ """list_particles(sp) -> [(ParticleID, Particle)]
+
+ Return the list of particles.
+
+ Parameters
+ ----------
+ sp : Species, optional
+ The species of particles to list up
+ If no species is given, return the whole list of particles.
+
+ Returns
+ -------
+ list:
+ The list of particles (of the given species)
+
+ """
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]] particles
+ if sp is None:
+ particles = self.thisptr.get().list_particles()
+ else:
+ particles = self.thisptr.get().list_particles(deref(sp.thisptr))
+
+ retval = []
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]].iterator \
+ it = particles.begin()
+ while it != particles.end():
+ retval.append(
+ (ParticleID_from_Cpp_ParticleID(
+ <Cpp_ParticleID*>(address(deref(it).first))),
+ Particle_from_Cpp_Particle(
+ <Cpp_Particle*>(address(deref(it).second)))))
+ inc(it)
+ return retval
+
+ def list_particles_exact(self, Species sp):
+ """list_particles_exact(sp) -> [(ParticleID, Particle)]
+
+ Return the list of particles of a given species.
+
+ Parameters
+ ----------
+ sp : Species
+ The species of particles to list up
+
+ Returns
+ -------
+ list:
+ The list of particles of a given species
+
+ """
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]] particles
+ particles = self.thisptr.get().list_particles_exact(deref(sp.thisptr))
+
+ retval = []
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]].iterator \
+ it = particles.begin()
+ while it != particles.end():
+ retval.append(
+ (ParticleID_from_Cpp_ParticleID(
+ <Cpp_ParticleID*>(address(deref(it).first))),
+ Particle_from_Cpp_Particle(
+ <Cpp_Particle*>(address(deref(it).second)))))
+ inc(it)
+ return retval
+
+ def list_structure_particles(self):
+ """list_strucutre_particles() -> [(ParticleID, Particle)]
+
+ Return the list of structure particles
+
+ Returns
+ -------
+ list:
+ The list of particles constructing a structure
+ """
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]] particles
+ particles = self.thisptr.get().list_structure_particles()
+
+ retval = []
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]].iterator \
+ it = particles.begin()
+ while it != particles.end():
+ retval.append(
+ (ParticleID_from_Cpp_ParticleID(
+ <Cpp_ParticleID*>(address(deref(it).first))),
+ Particle_from_Cpp_Particle(
+ <Cpp_Particle*>(address(deref(it).second)))))
+ inc(it)
+ return retval
+
+ def list_non_structure_particles(self):
+ """list_strucutre_particles() -> [(ParticleID, Particle)]
+
+ Return the list of non-structure particles
+
+ Returns
+ -------
+ list:
+ The list of particles not constructing a structure
+ """
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]] particles
+ particles = self.thisptr.get().list_non_structure_particles()
+
+ retval = []
+ cdef vector[pair[Cpp_ParticleID, Cpp_Particle]].iterator \
+ it = particles.begin()
+ while it != particles.end():
+ retval.append(
+ (ParticleID_from_Cpp_ParticleID(
+ <Cpp_ParticleID*>(address(deref(it).first))),
+ Particle_from_Cpp_Particle(
+ <Cpp_Particle*>(address(deref(it).second)))))
+ inc(it)
+ return retval
+
+ def get_neighbor(self, coord, nrand):
+ """get_neighbor(coord, nrand) -> Integer
+
+ Return the neighbor coordinate of a given coordinate.
+
+ Parameters
+ ----------
+ coord : Integer
+ A coordinate of a voxel
+ nrand : Integer
+ A key in the range from 0 to 11 to assign a neighbor voxel
+
+ Returns
+ -------
+ Integer:
+ The coordinate of the neighbor voxel
+
+ """
+ return self.thisptr.get().get_neighbor(coord, nrand)
+
+ def has_particle(self, ParticleID pid):
+ """has_particle(pid) -> bool
+
+ Check if a particle associated with a given particle id exists.
+
+ Parameters
+ ----------
+ pid : ParticleID
+ A particle id to check
+
+ Returns
+ -------
+ bool:
+ if a particle exists, this is true. Otherwise false
+
+ """
+ return self.thisptr.get().has_particle(deref(pid.thisptr))
+
+ def update_particle(self, ParticleID pid, Particle p):
+ """update_particle(pid, p)
+
+ Update a particle.
+
+ Parameters
+ ----------
+ pid : ParticleID
+ A particle id of the particle to update
+ p : Particle
+ The information to update a particle
+
+ Returns
+ -------
+ bool:
+ True if a new particle was created.
+
+ """
+ return self.thisptr.get().update_particle(deref(pid.thisptr), deref(p.thisptr))
+
+ def num_molecules(self, Species sp):
+ """num_molecules(sp) -> Integer
+
+ Return the number of molecules.
+
+ Parameters
+ ----------
+ sp : Species
+ A species whose molecules you count
+
+ Returns
+ -------
+ Integer:
+ The number of molecules (of a given species)
+
+ """
+ # if sp is None:
+ # return self.thisptr.get().num_molecules()
+ # else:
+ # return self.thisptr.get().num_molecules(deref(sp.thisptr))
+ return self.thisptr.get().num_molecules(deref(sp.thisptr))
+
+ def num_molecules_exact(self, Species sp):
+ """num_molecules_exact(sp) -> Integer
+
+ Return the number of molecules of a given species.
+
+ Parameters
+ ----------
+ sp : Species
+ A species whose molecules you count
+
+ Returns
+ -------
+ Integer:
+ The number of molecules of a given species
+
+ """
+ return self.thisptr.get().num_molecules_exact(deref(sp.thisptr))
+
+ def add_molecules(self, Species sp, Integer num, shape=None):
+ """add_molecules(sp, num, shape=None)
+
+ Add some molecules.
+
+ Parameters
+ ----------
+ sp : Species
+ A species of molecules to add
+ num : Integer
+ The number of molecules to add
+ shape : Shape, optional
+ A shape to add molecules on
+
+ """
+ if shape is None:
+ self.thisptr.get().add_molecules(deref(sp.thisptr), num)
+ else:
+ self.thisptr.get().add_molecules(
+ deref(sp.thisptr), num, deref((<Shape>(shape.as_base())).thisptr))
+
+ def remove_molecules(self, Species sp, Integer num):
+ """remove_molecules(sp, num)
+
+ Remove the molecules.
+
+ Parameters
+ ----------
+ sp : Species
+ A species whose molecules to remove
+ num : Integer
+ A number of molecules to be removed
+
+ """
+ self.thisptr.get().remove_molecules(deref(sp.thisptr), num)
+
+ def save(self, filename):
+ """save(filename)
+
+ Save the world to a file.
+
+ Parameters
+ ----------
+ filename : str
+ A filename to save to
+
+ """
+ self.thisptr.get().save(tostring(filename))
+
+ def load(self, filename):
+ """load(filename)
+
+ Load the world from a file.
+
+ Parameters
+ ----------
+ filename : str
+ A filename to load from
+
+ """
+ self.thisptr.get().load(tostring(filename))
+
+ def new_voxel(self, arg1, arg2=None):
+ """new_voxel(arg1, arg2) -> (ParticleID, Voxel)
+
+ Create a particle.
+
+ Parameters
+ ----------
+ arg1 : Voxel
+ The information to create
+
+ or
+
+ arg1 : Species
+ The Species of particles to create
+ arg2 : Integer
+ The number of particles(voxels)
+
+ Returns
+ -------
+ tuple:
+ A pair of ParticleID and Voxel
+
+ """
+ cdef pair[pair[Cpp_ParticleID, Cpp_Voxel], bool] retval
+
+ if arg2 is None:
+ retval = self.thisptr.get().new_voxel(deref((<Voxel> arg1).thisptr))
+ else:
+ retval = self.thisptr.get().new_voxel(deref((<Species> arg1).thisptr), <Integer> arg2)
+ return ((ParticleID_from_Cpp_ParticleID(address(retval.first.first)), Voxel_from_Cpp_Voxel(address(retval.first.second))), retval.second)
+
+ def new_voxel_structure(self, arg1, arg2):
+ """new_voxel_structure(arg1, arg2) -> (ParticleID, Voxel)
+
+ Create a particle.
+
+ Parameters
+ ----------
+ arg1 : Species
+ The Species of particles to create
+ arg2 : Integer
+ A coordinate to place the structure
+
+ Returns
+ -------
+ tuple:
+ A pair of ParticleID and Voxel
+
+ """
+ cdef pair[pair[Cpp_ParticleID, Cpp_Voxel], bool] retval
+
+ retval = self.thisptr.get().new_voxel_structure(deref((<Species> arg1).thisptr), <Integer> arg2)
+ return ((ParticleID_from_Cpp_ParticleID(address(retval.first.first)), Voxel_from_Cpp_Voxel(address(retval.first.second))), retval.second)
+
+ def update_voxel(self, ParticleID pid, Voxel v):
+ """update_voxel(pid, v) -> bool
+
+ Update a particle.
+
+ Parameters
+ ----------
+ pid : ParticleID
+ A particle id of the particle to update
+ v : Voxel
+ The information to update
+
+ Returns
+ -------
+ bool:
+ whether to succeed to update the particle
+
+ """
+ return self.thisptr.get().update_voxel(deref(pid.thisptr), deref(v.thisptr))
+
+ def list_voxels(self, Species sp = None):
+ """list_voxels(sp=None) -> [ParitcleID, Voxel]
+
+ Returns the list of voxels.
+
+ Parameters
+ ----------
+ sp : Species, optional
+ A species of particles to list up.
+ If no species is given, return a list of all voxels.
+
+ Returns
+ -------
+ list:
+ The list of the pair of ParticleID and Voxel
+
+ """
+ cdef vector[pair[Cpp_ParticleID, Cpp_Voxel]] voxels
+ if sp is None:
+ voxels = self.thisptr.get().list_voxels()
+ else:
+ voxels = self.thisptr.get().list_voxels(deref(sp.thisptr))
+
+ retval = []
+ cdef vector[pair[Cpp_ParticleID, Cpp_Voxel]].iterator \
+ it = voxels.begin()
+ while it != voxels.end():
+ retval.append(
+ (ParticleID_from_Cpp_ParticleID(
+ <Cpp_ParticleID*>(address(deref(it).first))),
+ Voxel_from_Cpp_Voxel(
+ <Cpp_Voxel*>(address(deref(it).second)))))
+ inc(it)
+ return retval
+
+ def list_voxels_exact(self, Species sp):
+ """list_voxels_exact(sp) -> [ParitcleID, Voxel]
+
+ Returns the list of voxels.
+
+ Parameters
+ ----------
+ sp : Species, optional
+ A species of particles to list up.
+ If no species is given, return a list of all voxels.
+
+ Returns
+ -------
+ list:
+ The list of the pair of ParticleID and Voxel
+
+ """
+ cdef vector[pair[Cpp_ParticleID, Cpp_Voxel]] voxels
+ voxels = self.thisptr.get().list_voxels_exact(deref(sp.thisptr))
+
+ retval = []
+ cdef vector[pair[Cpp_ParticleID, Cpp_Voxel]].iterator \
+ it = voxels.begin()
+ while it != voxels.end():
+ retval.append(
+ (ParticleID_from_Cpp_ParticleID(
+ <Cpp_ParticleID*>(address(deref(it).first))),
+ Voxel_from_Cpp_Voxel(
+ <Cpp_Voxel*>(address(deref(it).second)))))
+ inc(it)
+ return retval
+
+ def has_voxel(self, ParticleID pid):
+ """has_voxel(pid) -> bool
+
+ Check if a particle exists.
+
+ Parameters
+ ----------
+ pid : ParticleID
+ A particle id of the particle to check
+
+ Returns
+ -------
+ bool:
+ whether a particle associated with a given particle id exists
+
+ """
+ return self.thisptr.get().has_voxel(deref(pid.thisptr))
+
+ def voxel_radius(self):
+ """Return the voxel radius."""
+ return self.thisptr.get().voxel_radius()
+
+ def size(self):
+ """Return the size of voxels."""
+ return self.thisptr.get().size()
+
+ def shape(self):
+ """shape() -> Integer3
+
+ Return the triplet of sizes of column, row and layer.
+
+ """
+ cdef Cpp_Integer3 sizes = self.thisptr.get().shape()
+ return Integer3_from_Cpp_Integer3(address(sizes))
+
+ # def inner_size(self):
+ # """Return the size of inner voxels."""
+ # return self.thisptr.get().inner_size()
+
+ # def inner_shape(self):
+ # """inner_shape() -> Integer3
+ #
+ # Return the triplet of inner sizes of column, row and layer.
+ #
+ # """
+ # cdef Cpp_Integer3 sizes = self.thisptr.get().inner_shape()
+ # return Integer3_from_Cpp_Integer3(address(sizes))
+
+ def bind_to(self, m):
+ """bind_to(m)
+
+ Bind a model to the world
+
+ Parameters
+ ----------
+ m : Model
+ A model to bind
+
+ """
+ self.thisptr.get().bind_to(Cpp_Model_from_Model(m))
+
+ def coordinate2position(self, Integer coord):
+ """coordinate2position(coord) -> Real3
+
+ Transform a coordinate to a position.
+
+ """
+ cdef Cpp_Real3 pos = self.thisptr.get().coordinate2position(coord)
+ return Real3_from_Cpp_Real3(address(pos))
+
+ # def coordinate2global(self, Integer coord):
+ # """coordinate2global(coord) -> Integer3
+ #
+ # Transform a coordinate to a global coordinate.
+ #
+ # """
+ # cdef Cpp_Integer3 g = self.thisptr.get().coordinate2global(coord)
+ # return Integer3_from_Cpp_Integer3(address(g))
+
+ # def global2coordinate(self, Integer3 coord):
+ # """global2coordinate(g) -> Integer
+ #
+ # Transform a global coordinate to a coordinate.
+ #
+ # Parameters
+ # ----------
+ # g : Integer3
+ # A global coordinate
+ #
+ # Returns
+ # -------
+ # Integer:
+ # A coordinate
+ #
+ # """
+ # return self.thisptr.get().global2coordinate(deref(coord.thisptr))
+
+ # def global2position(self, Integer3 g):
+ # """global2position(g) -> Real3
+ #
+ # Transform a global coordinate to a position.
+ #
+ # Parameters
+ # ----------
+ # g : Integer3
+ # A global coordinate
+ #
+ # Returns
+ # -------
+ # Real3:
+ # A position
+ #
+ # """
+ # cdef Cpp_Real3 pos = self.thisptr.get().global2position(deref(g.thisptr))
+ # return Real3_from_Cpp_Real3(address(pos))
+
+ # def position2global(self, Real3 pos):
+ # """position2global(pos) -> Integer3
+ #
+ # Transform a position to a global coordinate.
+ #
+ # Parameters
+ # ----------
+ # pos : Real3
+ # A position
+ #
+ # Returns
+ # -------
+ # Integer3:
+ # A global coordinate
+ #
+ # """
+ # cdef Cpp_Integer3 g = self.thisptr.get().position2global(deref(pos.thisptr))
+ # return Integer3_from_Cpp_Integer3(address(g))
+
+ def position2coordinate(self, Real3 pos):
+ """position2coordinate(pos) -> Integer
+
+ Transform a position to a coordinate.
+
+ Parameters
+ ----------
+ pos : Real3
+ A position
+
+ Returns
+ -------
+ Integer:
+ A coordinate
+
+ """
+ return self.thisptr.get().position2coordinate(deref(pos.thisptr))
+
+ def add_structure(self, Species sp, shape):
+ """add_structure(sp, shape)
+
+ Add a structure.
+
+ Parameters
+ ----------
+ sp : Species
+ A species suggesting the shape.
+ shape : Shape
+ A shape of the structure.
+
+ """
+ return self.thisptr.get().add_structure(
+ deref(sp.thisptr), deref((<Shape>(shape.as_base())).thisptr))
+
+ def add_interface(self, Species sp):
+ """add_interface(sp, shape)
+
+ Add a interface.
+
+ Parameters
+ ----------
+ sp : Species
+ A species suggesting the interface.
+
+ """
+ return self.thisptr.get().add_interface(deref(sp.thisptr))
+
+ def new_voxel_interface(self, arg1, arg2):
+ """new_voxel_interface(arg1, arg2) -> (ParticleID, Voxel)
+
+ Create a particle.
+
+ Parameters
+ ----------
+ arg1 : Species
+ The Species of particles to create
+ arg2 : Integer
+ A coordinate to place the structure
+
+ Returns
+ -------
+ tuple:
+ A pair of ParticleID and Voxel
+
+ """
+ cdef pair[pair[Cpp_ParticleID, Cpp_Voxel], bool] retval
+
+ retval = self.thisptr.get().new_voxel_interface(deref((<Species> arg1).thisptr), <Integer> arg2)
+ return ((ParticleID_from_Cpp_ParticleID(address(retval.first.first)), Voxel_from_Cpp_Voxel(address(retval.first.second))), retval.second)
+
+ def rng(self):
+ """Return a random number generator object."""
+ return GSLRandomNumberGenerator_from_Cpp_RandomNumberGenerator(
+ self.thisptr.get().rng())
+
+ @staticmethod
+ def calculate_voxel_volume(voxel_radius):
+ """Calculate a voxel volume from a voxel radius."""
+ return Cpp_SpatiocyteWorld.calculate_voxel_volume(voxel_radius)
+
+ @staticmethod
+ def calculate_hcp_lengths(voxel_radius):
+ """calculate_hcp_lengths(Real voxel_radius) -> Real3
+
+ Calculate HCP lengths (HCP_L, HCP_X, HCP_Y) from a voxel radius.
+
+ """
+ cdef Cpp_Real3 lengths = Cpp_SpatiocyteWorld.calculate_hcp_lengths(voxel_radius)
+ return Real3_from_Cpp_Real3(address(lengths))
+
+ @staticmethod
+ def calculate_shape(Real3 edge_lengths, voxel_radius):
+ """calculate_shape(Real3 edge_lengths, Real voxel_radius) -> Integer3
+
+ Calculate World shape.
+
+ """
+ cdef Cpp_Integer3 shape = Cpp_SpatiocyteWorld.calculate_shape(
+ deref(edge_lengths.thisptr), voxel_radius)
+ return Integer3_from_Cpp_Integer3(address(shape))
+
+ @staticmethod
+ def calculate_volume(Real3 edge_lengths, voxel_radius):
+ """calculate_volume(Real3 edge_lengths, Real voxel_radius) -> Real
+
+ Calculate World volume.
+
+ """
+ return Cpp_SpatiocyteWorld.calculate_volume(
+ deref(edge_lengths.thisptr), voxel_radius)
+
+ def as_base(self):
+ """Return self as a base class. Only for developmental use."""
+ retval = Space()
+ del retval.thisptr
+ retval.thisptr = new shared_ptr[Cpp_Space](
+ <shared_ptr[Cpp_Space]>deref(self.thisptr))
+ return retval
+
+cdef SpatiocyteWorld SpatiocyteWorld_from_Cpp_SpatiocyteWorld(
+ shared_ptr[Cpp_SpatiocyteWorld] w):
+ r = SpatiocyteWorld(Real3(1, 1, 1))
+ r.thisptr.swap(w)
+ return r
+
+def create_spatiocyte_world_cell_list_impl(
+ edge_lengths, voxel_radius, matrix_sizes, rng):
+ cdef shared_ptr[Cpp_SpatiocyteWorld]* w = new shared_ptr[Cpp_SpatiocyteWorld](
+ create_spatiocyte_world_cell_list_impl_alias(
+ deref((<Real3>edge_lengths).thisptr), <Real>voxel_radius,
+ deref((<Integer3>matrix_sizes).thisptr),
+ deref((<GSLRandomNumberGenerator>rng).thisptr)))
+ return SpatiocyteWorld_from_Cpp_SpatiocyteWorld(deref(w))
+
+def create_spatiocyte_world_vector_impl(edge_lengths, voxel_radius, rng):
+ cdef shared_ptr[Cpp_SpatiocyteWorld]* w = new shared_ptr[Cpp_SpatiocyteWorld](
+ create_spatiocyte_world_vector_impl_alias(
+ deref((<Real3>edge_lengths).thisptr), <Real>voxel_radius,
+ deref((<GSLRandomNumberGenerator>rng).thisptr)))
+ return SpatiocyteWorld_from_Cpp_SpatiocyteWorld(deref(w))
+
+## SpatiocyteSimulator
+# a python wrapper for Cpp_SpatiocyteSimulator
+cdef class SpatiocyteSimulator:
+ """ A class running the simulation with the spatiocyte algorithm.
+
+ SpatiocyteSimulator(m, w)
+
+ """
+
+ def __init__(self, m, w=None):
+ """SpatiocyteSimulator(m, w)
+ SpatiocyteSimulator(w)
+
+ Constructor.
+
+ Parameters
+ ----------
+ m : Model
+ A model
+ w : SpatiocyteWorld
+ A world
+
+ """
+ pass
+
+ def __cinit__(self, m, w=None):
+ if w is None:
+ # Cpp_SpatiocyteSimulator(shared_ptr[Cpp_SpatiocyteWorld])
+ self.thisptr = new Cpp_SpatiocyteSimulator(
+ deref((<SpatiocyteWorld>m).thisptr))
+ else:
+ self.thisptr = new Cpp_SpatiocyteSimulator(
+ Cpp_Model_from_Model(m), deref((<SpatiocyteWorld>w).thisptr))
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def num_steps(self):
+ """Return the number of steps."""
+ return self.thisptr.num_steps()
+
+ def step(self, upto = None):
+ """step(upto=None) -> bool
+
+ Step the simulation.
+
+ Parameters
+ ----------
+ upto : Real, optional
+ The time which to step the simulation up to
+
+ Returns
+ -------
+ bool:
+ True if the simulation did not reach the given time.
+ When upto is not given, nothing will be returned.
+
+ """
+ if upto is None:
+ self.thisptr.step()
+ else:
+ return self.thisptr.step(upto)
+
+ def t(self):
+ """Return the time."""
+ return self.thisptr.t()
+
+ def set_t(self, Real t_new):
+ """set_t(t)
+
+ Set the current time.
+
+ Parameters
+ ----------
+ t : Real
+ A current time.
+
+ """
+ self.thisptr.set_t(t_new)
+
+ def dt(self):
+ """Return the step interval."""
+ return self.thisptr.dt()
+
+ def next_time(self):
+ """Return the scheduled time for the next step."""
+ return self.thisptr.next_time()
+
+ def set_dt(self, Real dt):
+ """set_dt(dt)
+
+ Set a step interval.
+
+ Parameters
+ ----------
+ dt : Real
+ A step interval
+
+ """
+ self.thisptr.set_dt(dt)
+
+ def initialize(self):
+ """Initialize the simulator."""
+ self.thisptr.initialize()
+
+ def check_reaction(self):
+ """Return if any reaction occurred at the last step, or not."""
+ return self.thisptr.check_reaction()
+
+ def last_reactions(self):
+ """last_reactions() -> [(ReactionRule, ReactionInfo)]
+
+ Return reactions occuring at the last step.
+
+ Returns
+ -------
+ list:
+ The list of reaction rules and infos.
+
+ """
+ cdef vector[pair[Cpp_ReactionRule, Cpp_ReactionInfo]] reactions = self.thisptr.last_reactions()
+ cdef vector[pair[Cpp_ReactionRule, Cpp_ReactionInfo]].iterator it = reactions.begin()
+ retval = []
+ while it != reactions.end():
+ retval.append((
+ ReactionRule_from_Cpp_ReactionRule(
+ <Cpp_ReactionRule*>(address(deref(it).first))),
+ ReactionInfo_from_Cpp_ReactionInfo(
+ <Cpp_ReactionInfo*>(address(deref(it).second)))))
+ inc(it)
+ return retval
+
+ # def set_alpha(self, Real alpha):
+ # """set_alpha(alpha)
+
+ # Set the value of alpha.
+
+ # Parameters
+ # ----------
+ # alpha : Real
+ # The value of alpha
+
+ # """
+ # self.thisptr.set_alpha(alpha)
+
+ # def get_alpha(self):
+ # """Return the value of alpha."""
+ # return self.thisptr.get_alpha()
+
+ # def calculate_alpha(self, ReactionRule rule):
+ # """calculate_alpha(rule) -> Real
+
+ # Return the recommended value of alpha
+
+ # Parameters
+ # ----------
+ # rule : ReactionRule
+ # A reaction rule.
+
+ # Returns
+ # -------
+ # Real:
+ # The recommneded value of alpha
+
+ # """
+ # return self.thisptr.calculate_alpha(deref(rule.thisptr))
+
+ def model(self):
+ """Return the model bound."""
+ return Model_from_Cpp_Model(self.thisptr.model())
+
+ def world(self):
+ """Return the world bound."""
+ return SpatiocyteWorld_from_Cpp_SpatiocyteWorld(self.thisptr.world())
+
+ def run(self, Real duration, observers=None):
+ """run(duration, observers)
+
+ Run the simulation.
+
+ Parameters
+ ----------
+ duration : Real
+ A duration for running a simulation.
+ A simulation is expected to be stopped at t() + duration.
+ observers : list of Obeservers, optional
+ observers
+
+ """
+ cdef vector[shared_ptr[Cpp_Observer]] tmp
+
+ if observers is None:
+ self.thisptr.run(duration)
+ elif isinstance(observers, collections.Iterable):
+ for obs in observers:
+ tmp.push_back(deref((<Observer>(obs.as_base())).thisptr))
+ self.thisptr.run(duration, tmp)
+ else:
+ self.thisptr.run(duration,
+ deref((<Observer>(observers.as_base())).thisptr))
+
+cdef SpatiocyteSimulator SpatiocyteSimulator_from_Cpp_SpatiocyteSimulator(Cpp_SpatiocyteSimulator* s):
+ r = SpatiocyteSimulator(
+ Model_from_Cpp_Model(s.model()), SpatiocyteWorld_from_Cpp_SpatiocyteWorld(s.world()))
+ del r.thisptr
+ r.thisptr = s
+ return r
+
+## SpatiocyteFactory
+# a python wrapper for Cpp_SpatiocyteFactory
+cdef class SpatiocyteFactory:
+ """ A factory class creating a SpatiocyteWorld instance and a SpatiocyteSimulator instance.
+
+ SpatiocyteFactory(Real voxel_radius)
+
+ """
+
+ def __init__(self, voxel_radius=None):
+ """SpatiocyteFactory(Real voxel_radius=None)
+
+ Constructor.
+
+ Parameters
+ ----------
+ voxel_radius : Real, optional
+ A radius of a voxel.
+
+ """
+ pass
+
+ def __cinit__(self, voxel_radius=None):
+ self.thisptr = new Cpp_SpatiocyteFactory(
+ Cpp_SpatiocyteFactory.default_voxel_radius() if voxel_radius is None else <Real>voxel_radius)
+
+ def __dealloc__(self):
+ del self.thisptr
+
+ def rng(self, GSLRandomNumberGenerator rng):
+ """rng(GSLRandomNumberGenerator) -> SpatiocyteFactory
+
+ Set a random number generator, and return self.
+
+ """
+ cdef Cpp_SpatiocyteFactory *ptr = self.thisptr.rng_ptr(deref(rng.thisptr))
+ assert ptr == self.thisptr
+ return self
+
+ def create_world(self, arg1=None):
+ """create_world(arg1=None) -> SpatiocyteWorld
+
+ Return a SpatiocyteWorld instance.
+
+ Parameters
+ ----------
+ arg1 : Real3
+ The lengths of edges of a SpatiocyteWorld created
+
+ or
+
+ arg1 : str
+ The path of a HDF5 file for SpatiocyteWorld
+
+ Returns
+ -------
+ SpatiocyteWorld:
+ The created world
+
+ """
+ if arg1 is None:
+ return SpatiocyteWorld_from_Cpp_SpatiocyteWorld(
+ shared_ptr[Cpp_SpatiocyteWorld](self.thisptr.create_world()))
+ elif isinstance(arg1, Real3):
+ return SpatiocyteWorld_from_Cpp_SpatiocyteWorld(
+ shared_ptr[Cpp_SpatiocyteWorld](
+ self.thisptr.create_world(deref((<Real3>arg1).thisptr))))
+ elif isinstance(arg1, str):
+ return SpatiocyteWorld_from_Cpp_SpatiocyteWorld(
+ shared_ptr[Cpp_SpatiocyteWorld](self.thisptr.create_world(<string>(arg1))))
+ else:
+ return SpatiocyteWorld_from_Cpp_SpatiocyteWorld(
+ shared_ptr[Cpp_SpatiocyteWorld](self.thisptr.create_world(
+ Cpp_Model_from_Model(arg1))))
+
+ def create_simulator(self, arg1, SpatiocyteWorld arg2=None):
+ """create_simulator(arg1, arg2) -> SpatiocyteSimulator
+
+ Return a SpatiocyteSimulator instance.
+
+ Parameters
+ ----------
+ arg1 : SpatiocyteWorld
+ A world
+
+ or
+
+ arg1 : Model
+ A simulation model
+ arg2 : SpatiocyteWorld
+ A world
+
+ Returns
+ -------
+ SpatiocyteSimulator:
+ The created simulator
+
+ """
+ if arg2 is None:
+ return SpatiocyteSimulator_from_Cpp_SpatiocyteSimulator(
+ self.thisptr.create_simulator(deref((<SpatiocyteWorld>arg1).thisptr)))
+ else:
+ return SpatiocyteSimulator_from_Cpp_SpatiocyteSimulator(
+ self.thisptr.create_simulator(
+ Cpp_Model_from_Model(arg1), deref(arg2.thisptr)))
diff --git a/python/lib/ecell4/types.pxd b/python/lib/ecell4/types.pxd
new file mode 100644
index 0000000..73527b9
--- /dev/null
+++ b/python/lib/ecell4/types.pxd
@@ -0,0 +1,9 @@
+from libc.stdint cimport int64_t
+
+ctypedef int64_t Integer
+ctypedef double Real
+
+cdef extern from "ecell4/core/types.hpp" namespace "ecell4":
+ # cdef Real inf
+ cdef Real epsilon
+ cdef Real N_A
diff --git a/python/lib/ecell4/util.pxd b/python/lib/ecell4/util.pxd
new file mode 100644
index 0000000..c977dbd
--- /dev/null
+++ b/python/lib/ecell4/util.pxd
@@ -0,0 +1,13 @@
+cdef inline bint richcmp_helper(int compare, int op):
+ if op == 2: # ==
+ return compare == 0
+ elif op == 3: # !=
+ return compare != 0
+ elif op == 0: # <
+ return compare < 0
+ elif op == 1: # <=
+ return compare <= 0
+ elif op == 4: # >
+ return compare > 0
+ elif op == 5: # >=
+ return compare >= 0
diff --git a/python/lib/ecell4/util/__init__.py b/python/lib/ecell4/util/__init__.py
new file mode 100644
index 0000000..59218d7
--- /dev/null
+++ b/python/lib/ecell4/util/__init__.py
@@ -0,0 +1,12 @@
+import collections
+
+from .decorator import reaction_rules, species_attributes, get_model, reset_model
+from . import viz
+from .simulation import run_simulation, ensemble_simulations, load_world
+from . import ports
+from .show import show
+
+__all__ = [
+ 'run_simulation', 'ensemble_simulations', 'load_world',
+ 'reaction_rules', 'species_attributes', 'get_model', 'show',
+ 'viz', 'ports']
diff --git a/python/lib/ecell4/util/cyjs.py b/python/lib/ecell4/util/cyjs.py
new file mode 100644
index 0000000..a3a1a4f
--- /dev/null
+++ b/python/lib/ecell4/util/cyjs.py
@@ -0,0 +1,71 @@
+import uuid
+import json
+import os
+import re
+from collections import defaultdict
+from jinja2 import Template
+from IPython.core.display import display, HTML
+
+def init_cyjs():
+ from IPython.core.display import display, HTML
+ path = os.path.abspath(os.path.dirname(__file__)) + '/templates/init_cyjs.js'
+ # print path
+ html = open(path).read()
+ return display(HTML(html))
+
+def plot_species(species):
+ nodes = []
+ edges = []
+ binds = defaultdict(list)
+
+ usps = species.units()
+ for usp in usps:
+ nodes.append({ 'data': { 'id': usp.name(), 'name': usp.name() } })
+ components = usp.serial()[len(usp.name())+1:-1]
+ # print components
+ for component in components.split(","):
+ nodes.append({ 'data': { 'id': component+"_"+usp.name(), 'parent': usp.name(), 'name': component } })
+
+ if re.search('\^[0-9]+', component) != None:
+ bsmatch = re.search('\^[0-9]+', component)
+ binds[bsmatch.group()].append(component+"_"+usp.name())
+ nodes.pop()
+ nodes.append({ 'data': { 'id': component+"_"+usp.name(), 'parent': usp.name(), 'name': component[:-2] } })
+
+ if re.search('\=[a-zA-Z0-9]+', component) != None:
+ nodes.pop()
+ # print re.search('\=[a-zA-Z0-9]+', component).group()
+ if re.search('\=[a-zA-Z0-9]+', component).group() == "=U":
+ nodes.append({ 'data': { 'id': component+"_"+usp.name(), 'parent': usp.name(), 'faveColor': '#FFFFFF', 'faveShape': 'rectangle', 'name': component[:-2] } })
+ elif re.search('\=[a-zA-Z0-9]+', component).group() == "=P":
+ nodes.append({ 'data': { 'id': component+"_"+usp.name(), 'parent': usp.name(), 'faveColor': '#FF0000', 'faveShape': 'rectangle', 'name': component[:-2] } })
+ else:
+ nodes.append({ 'data': { 'id': component+"_"+usp.name(), 'parent': usp.name(), 'name': component } })
+
+ if re.search('\^[0-9]+', component) != None and re.search('\=[a-zA-Z0-9]+', component) != None:
+ bsmatch = re.search('\^[0-9]+', component)
+ binds[bsmatch.group()].pop()
+ binds[bsmatch.group()].append(component+"_"+usp.name())
+ nodes.pop()
+ if re.search('\=[a-zA-Z0-9]+', component).group() == "=U":
+ nodes.append({ 'data': { 'id': component+"_"+usp.name(), 'parent': usp.name(), 'faveColor': '#FFFFFF', 'faveShape': 'rectangle', 'name': component[:-4] } })
+ elif re.search('\=[a-zA-Z0-9]+', component).group() == "=P":
+ nodes.append({ 'data': { 'id': component+"_"+usp.name(), 'parent': usp.name(), 'faveColor': '#FF0000', 'faveShape': 'rectangle', 'name': component[:-4] } })
+ # bsindices = re.findall('\^[0-9]+', component)
+ # bsnames = re.findall('[a-zA-Z0-9]+\^', component)
+ # if len(bsindices) != len(bsnames):
+ # print "warning!!!"
+ # for i, bsindex in enumerate(bsindices):
+ # nodes.append({ 'data': { 'id': bsnames[i]+'_'+usp.name(), 'parent': usp.name() } })
+ # binds[bsindex].append(bsnames[i]+'_'+usp.name())
+
+ # print json.dumps(nodes)
+ for i in binds.items():
+ edges.append({ 'data': { 'id': i[0], 'source': i[1][0], 'target': i[1][1] } })
+ # print json.dumps(edges)
+
+ path = os.path.abspath(os.path.dirname(__file__)) + '/templates/template.html'
+ # print path
+ template = Template(open(path).read())
+ html = template.render(nodes=json.dumps(nodes), edges = json.dumps(edges), uuid="cy" + str(uuid.uuid4()))
+ return display(HTML(html))
diff --git a/python/lib/ecell4/util/decorator.py b/python/lib/ecell4/util/decorator.py
new file mode 100644
index 0000000..788b397
--- /dev/null
+++ b/python/lib/ecell4/util/decorator.py
@@ -0,0 +1,426 @@
+import copy
+import types
+import numbers
+import warnings
+import functools
+import itertools
+
+from . import parseobj
+from .decorator_base import Callback, JustParseCallback, ParseDecorator
+
+import ecell4.core
+
+ENABLE_RATELAW = True
+ENABLE_IMPLICIT_DECLARATION = True
+
+SPECIES_ATTRIBUTES = []
+REACTION_RULES = []
+
+def generate_Species(obj):
+ if isinstance(obj, parseobj.AnyCallable):
+ obj = obj._as_ParseObj()
+
+ if isinstance(obj, parseobj.ParseObj):
+ return ((ecell4.core.Species(str(obj)), None), )
+ elif isinstance(obj, parseobj.InvExp):
+ return (None, )
+ elif isinstance(obj, parseobj.MulExp):
+ subobjs = obj._elements()
+
+ retval, coef = None, 1
+ for subobj in subobjs:
+ if isinstance(subobj, numbers.Number):
+ coef *= subobj
+ elif retval is not None:
+ raise RuntimeError(
+ 'only a single species must be given; %s given'
+ % (repr(obj)))
+ else:
+ retval = generate_Species(subobj)
+
+ return [(sp[0], coef if sp[1] is None else sp[1] * coef)
+ if sp is not None else None
+ for sp in retval]
+
+ elif isinstance(obj, parseobj.AddExp):
+ subobjs = obj._elements()
+ return tuple(itertools.chain(*[
+ generate_Species(subobj) for subobj in subobjs]))
+ else:
+ raise RuntimeError('invalid expression; "%s" given' % str(obj))
+
+def generate_ReactionRule(lhs, rhs, k=None):
+ if k is None:
+ raise RuntimeError('no parameter is specified')
+
+ if (callable(k)
+ or (ENABLE_RATELAW and isinstance(k, parseobj.ExpBase))
+ or any([sp[1] is not None for sp in itertools.chain(lhs, rhs)])):
+ from ecell4.ode import ODEReactionRule, ODERatelawCallback
+ rr = ODEReactionRule()
+ for sp in lhs:
+ rr.add_reactant(sp[0], 1 if sp[1] is None else sp[1])
+ for sp in rhs:
+ rr.add_product(sp[0], 1 if sp[1] is None else sp[1])
+ if ENABLE_RATELAW and isinstance(k, parseobj.ExpBase):
+ name = str(k)
+ func = generate_ratelaw(k, rr, ENABLE_IMPLICIT_DECLARATION)
+ rr.set_ratelaw(ODERatelawCallback(func, name))
+ elif callable(k):
+ rr.set_ratelaw(ODERatelawCallback(k))
+ else:
+ rr.set_k(k)
+ return rr
+ elif isinstance(k, numbers.Number):
+ return ecell4.core.ReactionRule([sp[0] for sp in lhs], [sp[0] for sp in rhs], k)
+
+ raise RuntimeError(
+ 'parameter must be given as a number; "%s" given' % str(k))
+
+def traverse_ParseObj(obj, keys):
+ reserved_vars = ['_t', 'pi']
+ reserved_funcs = ['exp', 'log', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'pow']
+
+ if isinstance(obj, parseobj.AnyCallable):
+ obj = obj._as_ParseObj()
+
+ if isinstance(obj, parseobj.ParseObj):
+ if obj._size() == 1 and (
+ obj._elems[0].name in reserved_funcs or
+ obj._elems[0].name in reserved_vars):
+ subobj = obj._elems[0]
+ assert subobj.key is None
+ assert subobj.modification is None
+ if subobj.args is not None:
+ assert subobj.name not in reserved_vars
+ assert subobj.kwargs == {}
+ subobj.args = tuple([
+ traverse_ParseObj(subobj.args[i], keys)
+ for i in range(len(subobj.args))])
+ else:
+ assert subobj.kwargs is None
+ else:
+ serial = ecell4.core.Species(str(obj)).serial()
+ if serial in keys:
+ return "{{{0:d}}}".format(keys.index(serial))
+ keys.append(serial)
+ return "{{{0:d}}}".format(len(keys) - 1)
+ elif isinstance(obj, parseobj.ExpBase):
+ for i in range(len(obj._elems)):
+ obj._elems[i] = traverse_ParseObj(obj._elems[i], keys)
+ return obj
+
+def generate_ratelaw(obj, rr, implicit=False):
+ keys = []
+ exp = str(traverse_ParseObj(copy.deepcopy(obj), keys))
+ aliases = {}
+ for i, sp in enumerate(rr.reactants()):
+ aliases[sp.serial()] = "_r[{0:d}]".format(i)
+ for i, sp in enumerate(rr.products()):
+ aliases[sp.serial()] = "_p[{0:d}]".format(i)
+ names = []
+ for key in keys:
+ if key in aliases.keys():
+ names.append(aliases[key])
+ elif implicit:
+ names.append("_r[{0:d}]".format(len(rr.reactants())))
+ aliases[key] = names[-1]
+ rr.add_reactant(ecell4.core.Species(key), 1)
+ rr.add_product(ecell4.core.Species(key), 1)
+ else:
+ raise RuntimeError(
+ 'unknown variable [{}] was used.'.format(key))
+ exp = exp.format(*names)
+ # print(exp)
+ import math
+ f = eval("lambda _r, _p, _v, _t, _rr: {0}".format(exp))
+ f.__globals__['exp'] = math.exp
+ f.__globals__['log'] = math.log
+ f.__globals__['sin'] = math.sin
+ f.__globals__['cos'] = math.cos
+ f.__globals__['tan'] = math.tan
+ f.__globals__['asin'] = math.asin
+ f.__globals__['acos'] = math.acos
+ f.__globals__['atan'] = math.atan
+ f.__globals__['pi'] = math.pi
+ f.__globals__['pow'] = pow
+ return f
+ # return (lambda _r, _p, *args: eval(exp))
+
+def parse_ReactionRule_options(elements):
+ opts = {}
+
+ if len(elements) == 0:
+ raise RuntimeError(
+ 'only one attribute is allowed. [{:d}] given'.format(len(elements)))
+ elif len(elements) == 1:
+ opts['k'] = elements[0]
+ return opts
+
+ for elem in elements:
+ if (isinstance(elem, parseobj.ParseObj) and len(elem._elems) > 0
+ and elem._elems[0].name == '_policy'):
+ policy = elem._elems[0]
+ if len(elem._elems) != 1:
+ raise RuntimeError(
+ '_policy only accepts one argument; '
+ + ' [{}] given'.format(len(elem._elems)))
+ elif policy.args is None or len(policy.args) != 1 or (policy.kwargs is not None and len(policy.kwargs) > 0) or policy.key is not None or policy.modification is not None:
+ raise RuntimeError(
+ '_policy is not well-formed [{}]'.format(
+ str(policy)))
+
+ if 'policy' not in opts.keys():
+ opts['policy'] = policy.args[0]
+ else:
+ opts['policy'] |= policy.args[0]
+ # elif (isinstance(elem, parseobj.ParseObj) and len(elem._elems) > 0
+ # and elem._elems[0].name == '_tag'):
+ # tag = elem._elems[0]
+ # if len(elem._elems) != 1:
+ # raise RuntimeError(
+ # '_tag only accepts one argument; '
+ # + ' [{}] given'.format(len(elem._elems)))
+ # elif tag.args is None or len(tag.args) == 0 or (tag.kwargs is not None and len(tag.kwargs) > 0) or tag.key is not None or tag.modification is not None:
+ # raise RuntimeError(
+ # '_tag is not well-formed [{}]'.format(
+ # str(tag)))
+
+ # if 'tag' not in opts.keys():
+ # opts['tag'] = copy.copy(tag.args)
+ # else:
+ # opts['tag'].extend(tag.args)
+ else:
+ if 'k' in opts.keys():
+ raise RuntimeError('only one attribute is allowed. [%d] given' % (
+ len(elements)))
+ opts['k'] = elem
+
+ if 'k' not in opts.keys():
+ raise RuntimeError('no kinetic rate or law is given.')
+
+ return opts
+
+class SpeciesAttributesCallback(Callback):
+
+ def __init__(self, *args):
+ Callback.__init__(self)
+
+ self.keys = None
+ if len(args) > 0:
+ for key in args:
+ if not isinstance(key, (str, bytes)):
+ raise RuntimeError('non string key "%s" was given' % key)
+ self.keys = args
+
+ self.bitwise_operations = []
+
+ def get(self):
+ return copy.copy(self.bitwise_operations)
+
+ def set(self):
+ global SPECIES_ATTRIBUTES
+ SPECIES_ATTRIBUTES.extend(self.bitwise_operations)
+
+ def notify_bitwise_operations(self, obj):
+ if not isinstance(obj, parseobj.OrExp):
+ raise RuntimeError('an invalid object was given [%s]' % (repr(obj)))
+ # elif len(obj._elements()) != 2:
+ # raise RuntimeError, 'only one attribute is allowed. [%d] given' % (
+ # len(obj._elements()))
+
+ elems = obj._elements()
+ rhs = elems[-1]
+ if isinstance(rhs, parseobj.ExpBase):
+ return
+
+ for lhs in elems[: -1]:
+ species_list = generate_Species(lhs)
+ if len(species_list) != 1:
+ raise RuntimeError(
+ 'only a single species must be given; %d given'
+ % len(species_list))
+ elif species_list[0] is None:
+ raise RuntimeError("no species given [%s]" % (repr(obj)))
+ elif species_list[0][1] is not None:
+ raise RuntimeError(
+ "stoichiometry is not available here [%s]" % (repr(obj)))
+
+ sp = species_list[0][0]
+
+ if self.keys is None:
+ if not isinstance(rhs, dict):
+ raise RuntimeError(
+ 'parameter must be given as a dict; "%s" given'
+ % str(rhs))
+ for key, value in rhs.items():
+ if not (isinstance(key, (str, bytes))
+ and isinstance(value, (str, bytes))):
+ raise RuntimeError(
+ 'attributes must be given as a pair of strings;'
+ + ' "%s" and "%s" given'
+ % (str(key), str(value)))
+ sp.set_attribute(key, value)
+ else:
+ if not isinstance(rhs, (tuple, list)):
+ if len(self.keys) == 1:
+ rhs = (rhs, )
+ else:
+ raise RuntimeError(
+ 'parameters must be given as a tuple or list; "%s" given'
+ % str(rhs))
+ if len(rhs) != len(self.keys):
+ raise RuntimeError(
+ 'the number of parameters must be %d; %d given'
+ % (len(self.keys), len(rhs)))
+ else:
+ for key, value in zip(self.keys, rhs):
+ if not isinstance(value, (str, bytes)):
+ raise RuntimeError(
+ 'paramter must be given as a string; "%s" given'
+ % str(value))
+ sp.set_attribute(key, value)
+
+ self.bitwise_operations.append(sp)
+
+ def notify_comparisons(self, obj):
+ raise RuntimeError(
+ 'ReactionRule definitions are not allowed'
+ + ' in "species_attributes"')
+
+class ReactionRulesCallback(Callback):
+
+ def __init__(self):
+ Callback.__init__(self)
+
+ self.comparisons = []
+
+ def get(self):
+ return copy.copy(self.comparisons)
+
+ def set(self):
+ global REACTION_RULES
+ REACTION_RULES.extend(self.comparisons)
+
+ def notify_comparisons(self, obj):
+ if not isinstance(obj, parseobj.CmpExp):
+ raise RuntimeError('an invalid object was given [%s]' % (repr(obj)))
+ elif isinstance(obj, parseobj.NeExp):
+ warnings.warn('"<>" is deprecated; use "==" instead',
+ DeprecationWarning)
+
+ lhs, rhs = obj._lhs, obj._rhs
+
+ if isinstance(lhs, parseobj.OrExp):
+ lhs = lhs._elements()[0]
+
+ if not isinstance(rhs, parseobj.OrExp):
+ raise RuntimeError('an invalid object was given'
+ + ' as a right-hand-side [%s].' % (repr(rhs))
+ + ' OrExp must be given')
+
+ if len(rhs._elements()) == 0:
+ raise RuntimeError('no product is given')
+
+ opts = parse_ReactionRule_options(rhs._elements()[1: ])
+ rhs = rhs._elements()[0]
+ params = opts['k']
+
+ lhs, rhs = generate_Species(lhs), generate_Species(rhs)
+ lhs = tuple(sp for sp in lhs if sp is not None)
+ rhs = tuple(sp for sp in rhs if sp is not None)
+
+ if isinstance(obj, (parseobj.EqExp, parseobj.NeExp)):
+ if not isinstance(params, (tuple, list)):
+ raise RuntimeError(
+ 'parameter must be a list or tuple with length 2; "%s" given'
+ % str(params))
+ elif len(params) != 2:
+ raise RuntimeError(
+ "parameter must be a list or tuple with length 2;"
+ + " length %d given" % len(params))
+ # self.comparisons.append(generate_ReactionRule(lhs, rhs, params[0]))
+ # self.comparisons.append(generate_ReactionRule(rhs, lhs, params[1]))
+ rr = generate_ReactionRule(lhs, rhs, params[0])
+ if 'policy' in opts.keys():
+ rr.set_policy(opts['policy'])
+ self.comparisons.append(rr)
+ rr = generate_ReactionRule(rhs, lhs, params[1])
+ if 'policy' in opts.keys():
+ rr.set_policy(opts['policy'])
+ self.comparisons.append(rr)
+ elif isinstance(obj, parseobj.GtExp):
+ # self.comparisons.append(generate_ReactionRule(lhs, rhs, params))
+ rr = generate_ReactionRule(lhs, rhs, params)
+ if 'policy' in opts.keys():
+ rr.set_policy(opts['policy'])
+ self.comparisons.append(rr)
+ else:
+ raise RuntimeError('an invalid object was given [%s]' % (repr(obj)))
+
+def get_model(is_netfree=False, without_reset=False, seeds=None, effective=False):
+ """
+ Generate a model with parameters in the global scope, ``SPECIES_ATTRIBUTES``
+ and ``REACTIONRULES``.
+
+ Parameters
+ ----------
+ is_netfree : bool, optional
+ Return ``NetfreeModel`` if True, and ``NetworkModel`` if else.
+ Default is False.
+ without_reset : bool, optional
+ Do not reset the global variables after the generation if True.
+ Default is False.
+ seeds : list, optional
+ A list of seed ``Species`` for expanding the model.
+ If this is not None, generate a ``NetfreeModel`` once, and return a
+ ``NetworkModel``, which is an expanded form of that with the given seeds.
+ Default is None.
+ effective : bool, optional
+ See ``NetfreeModel.effective`` and ``Netfree.set_effective``.
+ Only meaningfull with option ``is_netfree=True``.
+ Default is False
+
+ Returns
+ -------
+ model : NetworkModel, NetfreeModel, or ODENetworkModel
+
+ """
+ if any([not isinstance(rr, ecell4.core.ReactionRule) for rr in REACTION_RULES]):
+ from ecell4.ode import ODENetworkModel
+ m = ODENetworkModel()
+ elif seeds is not None or is_netfree:
+ m = ecell4.core.NetfreeModel()
+ else:
+ m = ecell4.core.NetworkModel()
+
+ for sp in SPECIES_ATTRIBUTES:
+ m.add_species_attribute(sp)
+ for rr in REACTION_RULES:
+ m.add_reaction_rule(rr)
+
+ if not without_reset:
+ reset_model()
+
+ if seeds is not None:
+ return m.expand(seeds)
+
+ if isinstance(m, ecell4.core.NetfreeModel):
+ m.set_effective(effective)
+
+ return m
+
+def reset_model():
+ """
+ Reset all values, ``SPECIES_ATTRIBUTES`` and ``REACTIONRULES``,
+ in the global scope.
+
+ """
+ global SPECIES_ATTRIBUTES
+ global REACTION_RULES
+
+ SPECIES_ATTRIBUTES = []
+ REACTION_RULES = []
+
+reaction_rules = functools.partial(ParseDecorator, ReactionRulesCallback)
+species_attributes = functools.partial(ParseDecorator, SpeciesAttributesCallback)
diff --git a/python/lib/ecell4/util/decorator_base.py b/python/lib/ecell4/util/decorator_base.py
new file mode 100644
index 0000000..e897613
--- /dev/null
+++ b/python/lib/ecell4/util/decorator_base.py
@@ -0,0 +1,259 @@
+import copy
+import types
+import warnings
+import functools
+import inspect
+import re
+
+from . import parseobj
+
+
+class Callback(object):
+ """callback before the operations"""
+
+ def __init__(self):
+ pass
+
+ def set(self):
+ pass
+
+ def get(self):
+ return None
+
+ def notify_unary_operations(self, obj):
+ pass
+
+ def notify_bitwise_operations(self, obj):
+ pass
+
+ def notify_comparisons(self, obj):
+ pass
+
+class JustParseCallback(Callback):
+
+ def __init__(self):
+ Callback.__init__(self)
+
+ self.comparisons = []
+
+ def get(self):
+ return copy.copy(self.comparisons)
+
+ def notify_comparisons(self, obj):
+ if isinstance(obj, parseobj.NeExp):
+ warnings.warn('"<>" is deprecated; use "==" instead',
+ DeprecationWarning)
+ self.comparisons.append(obj)
+
+class TransparentCallback(object):
+
+ def __init__(self):
+ Callback.__init__(self)
+
+ def set(self):
+ pass
+
+ def get(self):
+ return None
+
+ def notify_unary_operations(self, obj):
+ pass
+
+ def notify_bitwise_operations(self, obj):
+ pass
+
+ def notify_comparisons(self, obj):
+ pass
+
+def keys_from_builtins(vardict):
+ b = vardict['__builtins__']
+ if isinstance(b, types.ModuleType):
+ return dir(b)
+ else:
+ return dict(b).keys()
+
+class ParseDecorator:
+
+ def __init__(self, callback_class, func=None):
+ self.__callback_class = callback_class
+
+ self.__callback = None
+ self.__newvars = {}
+
+ if func is not None:
+ self.__func = func
+ functools.update_wrapper(self, func)
+ else:
+ self.__func = lambda *args, **kwargs: []
+
+ def set_callback(self, callback):
+ self.__callback = callback
+
+ def wrapper(self, *args, **kwargs):
+ try:
+ vardict = copy.copy(self.__func.func_globals)
+ func_code = self.__func.func_code
+ name = self.__func.func_name
+ defaults = self.__func.func_defaults
+ except AttributeError:
+ vardict = copy.copy(self.__func.__globals__)
+ func_code = self.__func.__code__
+ name = self.__func.__name__
+ defaults = self.__func.__defaults__
+
+ ignores = ("_", "__", "___", "_i", "_ii", "_iii",
+ "_i1", "_i2", "_i3", "_dh", "_sh", "_oh")
+ for ignore in ignores:
+ if ignore in vardict.keys():
+ del vardict[ignore]
+
+ if "_eval" not in vardict.keys():
+ vardict["_eval"] = self.__evaluate
+ if "_callback" not in vardict.keys():
+ vardict["_callback"] = self.__callback
+ else:
+ pass #XXX: raise an exception?
+
+ for k in func_code.co_names:
+ if (not k in vardict.keys()
+ and not k in keys_from_builtins(vardict)): # is this enough?
+ vardict[k] = parseobj.AnyCallable(self.__callback, k)
+ g = types.FunctionType(func_code, vardict, name=name, argdefs=defaults)
+ with warnings.catch_warnings():
+ # warnings.simplefilter("always")
+ g(*args, **kwargs)
+ return self.__callback.get()
+
+ def __call__(self, *args, **kwargs):
+ calling_frame = inspect.currentframe().f_back
+ if ('_callback' in calling_frame.f_globals.keys()
+ and isinstance(calling_frame.f_globals['_callback'], self.__callback_class)):
+ self.set_callback(calling_frame.f_globals["_callback"])
+ else:
+ self.set_callback(self.__callback_class())
+ retval = self.wrapper(*args, **kwargs)
+ self.__callback = None
+ return retval
+
+ def __enter__(self):
+ # print "ParseDecorator#__enter__"
+ self.set_callback(self.__callback_class())
+ calling_frame = inspect.currentframe().f_back
+ vardict = copy.copy(calling_frame.f_globals)
+ ignores = ("_", "__", "___", "_i", "_ii", "_iii",
+ "_i1", "_i2", "_i3", "_dh", "_sh", "_oh")
+
+ if "_eval" not in calling_frame.f_globals.keys():
+ calling_frame.f_globals["_eval"] = self.__evaluate
+ self.__newvars["_eval"] = None
+ if "_callback" not in calling_frame.f_globals.keys():
+ calling_frame.f_globals["_callback"] = self.__callback
+ self.__newvars["_callback"] = None
+ else:
+ pass #XXX: raise an exception?
+
+ for k in calling_frame.f_code.co_names:
+ if k in ('_eval', '_callback'):
+ pass
+ elif k in ignores:
+ # print "WARNING: '%s' was overridden." % k
+ calling_frame.f_globals[k] = parseobj.AnyCallable(self.__callback, k)
+ self.__newvars[k] = vardict.get(k)
+ elif (not k in vardict.keys()
+ and not k in keys_from_builtins(vardict)):
+ # print "WARNING: '%s' is undefined." % k
+ calling_frame.f_globals[k] = parseobj.AnyCallable(self.__callback, k)
+ self.__newvars[k] = None
+ return self
+
+ def __exit__(self, exc_type, exc_value, traceback):
+ # print "ParseDecorator#__exit__", exc_type, exc_value, traceback
+ if self.__callback is not None:
+ if exc_type is None:
+ # print self.__callback.get()
+ self.__callback.set()
+
+ self.__callback = None
+ calling_frame = inspect.currentframe().f_back
+ for k, v in self.__newvars.items():
+ if v is None:
+ del calling_frame.f_globals[k]
+ # print "WARNING: '%s' was removed." % k
+ else:
+ calling_frame.f_globals[k] = v
+ # print "WARNING: '%s' was recovered to be '%s'." % (k, v)
+
+ def __evaluate(self, expr, params={}):
+ class AnyCallableLocals:
+
+ def __init__(self, callback, locals):
+ self.callback = callback
+ self.locals = locals
+
+ def __getitem__(self, key):
+ if key in self.locals.keys():
+ return self.locals[key]
+ return parseobj.AnyCallable(self.callback, key)
+
+ l = locals()
+ l.update(params)
+
+ if "-" in expr:
+ print(expr, "NOTICE: - can not be used in Species descriptor, we replaced it with _")
+ expr = expr.replace("-", "_")
+
+ if "|" in expr:
+ print(expr, "NOTICE: | can not be used in Species descriptor, we remove it")
+ expr = expr.replace("|", "")
+
+ prog = re.compile("^[0-9]")
+ if prog.match(expr):
+ print(expr, "NOTICE: Species name that begins with numbers is not allowed, we put x to the head")
+ expr = "x" + expr
+
+ return eval(expr, globals(), AnyCallableLocals(self.__callback, l))
+
+# def parse_decorator(callback_class, func):
+# @functools.wraps(func)
+# def wrapped(*args, **kwargs):
+# cache = callback_class()
+# try:
+# vardict = copy.copy(self.__func.func_globals)
+# func_code = func.func_code
+# name = self.__func.func_name
+# defaults = self.__func.func_defaults
+# except AttributeError:
+# vardict = copy.copy(self.__func.__globals__)
+# func_code = func.__code__
+# name = self.__func.__name__
+# defaults = self.__func.__defaults__
+# for ignore in ("_", "__", "___", "_i", "_ii", "_iii",
+# "_i1", "_i2", "_i3", "_dh", "_sh", "_oh"):
+# if ignore in vardict.keys():
+# del vardict[ignore]
+# for k in func_code.co_names:
+# if (not k in vardict.keys()
+# and not k in keys_from_builtins(vardict)): # is this enough?
+# vardict[k] = parseobj.AnyCallable(cache, k)
+# g = types.FunctionType(func_code, vardict, name=name, argdefs=defaults)
+# with warnings.catch_warnings():
+# # warnings.simplefilter("always")
+# g(*args, **kwargs)
+# return cache.get()
+# return wrapped
+
+# def transparent(func):
+# @functools.wraps(func)
+# def wrapped(*args, **kwargs):
+# calling_frame = inspect.currentframe().f_back
+# if '_callback' not in calling_frame.f_globals.keys():
+# raise RuntimeError(
+# 'transparent functions are only callable in the parse_decorater scope')
+# cache = calling_frame.f_globals["_callback"] # callback_class()
+# decorator = ParseDecorator(None, func)
+# decorator.set_callback(cache)
+# return decorator.wrapper(*args, **kwargs)
+# return wrapped
+
+# just_parse = functools.partial(parse_decorator, JustParseCallback)
+just_parse = functools.partial(ParseDecorator, JustParseCallback)
diff --git a/python/lib/ecell4/util/legacy/__init__.py b/python/lib/ecell4/util/legacy/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/python/lib/ecell4/util/legacy/bdml.py b/python/lib/ecell4/util/legacy/bdml.py
new file mode 100644
index 0000000..aa2864f
--- /dev/null
+++ b/python/lib/ecell4/util/legacy/bdml.py
@@ -0,0 +1,27 @@
+from export import Exporter
+import xml.etree.ElementTree as ET
+from export import particle_spatiocyte_loader
+
+class BdmlExporter(Exporter):
+ def export(self):
+ component = ET.Element('component')
+ for i in range(181):
+ time = ET.SubElement(component, 'time')
+ time.text = str(i*.5)
+
+ hoge = particle_spatiocyte_loader.load_particles_from_spatiocyte(self.model, index=i)
+
+ measurementList = ET.SubElement(component, 'measurementList')
+
+ for s in hoge.species:
+ measurement = ET.SubElement(measurementList, 'measurement')
+ targetref = ET.SubElement(measurement, 'targetRef')
+ targetref.text = s
+ for particle in hoge.list_particles(sid=s):
+ point = ET.SubElement(targetref, 'point')
+ point.text = ','.join(map(str, particle[1].position))
+
+ f = open(self.model.replace(".dat", ".bdml"), 'w')
+ f.write(ET.tostring(component))
+ f.close()
+
diff --git a/python/lib/ecell4/util/legacy/bng_exporter.py b/python/lib/ecell4/util/legacy/bng_exporter.py
new file mode 100644
index 0000000..a993e38
--- /dev/null
+++ b/python/lib/ecell4/util/legacy/bng_exporter.py
@@ -0,0 +1,325 @@
+import string # for convert into .bngl
+import copy
+from types import MethodType
+
+import ecell4.util.legacy.species as species
+import ecell4.util.legacy.options as options
+
+from collections import defaultdict
+
+# Register Related
+def is_register(s):
+ return 1 < len(s) and s[0] == '_'
+
+class SubunitRegister:
+ def __init__(self, name):
+ self.name = name
+ self.domains = set()
+ def add_domain(self, domain):
+ self.domains.add( domain )
+ def get_name(self):
+ return self.name
+ def get_domains(self):
+ return self.domains
+ def __repr__(self):
+ return "SubunitRegister: %s %s" % (self.name, list(self.domains) )
+ def __str__(self):
+ return self.__repr__()
+
+class DomainStateRegister:
+ def __init__(self, name):
+ self.name = name
+ self.domains = set()
+ def add_domain(self, domain):
+ self.domains.add( domain )
+ def get_name(self):
+ return self.name
+ def get_domains(self):
+ return self.domains
+ def __repr__(self):
+ return "DomainStateRegister: %s %s" % (self.name, list(self.domains))
+ def __str__(self):
+ return self.__repr__()
+
+def check_registers(rr):
+ if not isinstance(rr, species.ReactionRule):
+ raise RuntimeError("Invalid argument")
+ found_registers = dict()
+ for sp_obj in rr.reactants() + rr.products():
+ for subunit_obj in sp_obj.get_subunit_list():
+ su_name = subunit_obj.get_name()
+ # subunit register
+ if is_register(su_name):
+ if not found_registers.has_key(su_name):
+ found_registers[su_name] = SubunitRegister(su_name)
+ for domain, (state, binding) in subunit_obj.get_modifications_list().items():
+ found_registers[su_name].add_domain( domain )
+ # domain-state register
+ for domain, (state, binding) in subunit_obj.get_modifications_list().items():
+ if is_register(state):
+ if not found_registers.has_key(state):
+ found_registers[state] = DomainStateRegister(state)
+ found_registers[state].add_domain(domain)
+ return found_registers
+
+def dump_registers_dict( reg_dict, fdesc ):
+ for reg_name, reg_obj in reg_dict.items():
+ fdesc.write( "%s : %s\n" % (reg_name, reg_obj) )
+
+# Formatters for each class
+# class Species
+def convert2bng_species(self, labels = None):
+ return ".".join([subunit.convert2bng(labels) for subunit in self.subunits])
+
+# class Subunit
+def convert2bng_subunit(self, labels = None):
+ mods1, mods2 = [], []
+ for mod, (state, binding) in self.modifications.items():
+ if state == '':
+ if binding == '_':
+ mods1.append("%s!+" % (mod))
+ elif binding != '':
+ mods1.append("%s!%s" % (mod, binding))
+ else:
+ mods1.append(mod)
+ elif is_register(state):
+ if labels != None and (state in labels) and 0 < len(labels[state]):
+ if binding == '_':
+ mods2.append("%s~%s!+" % (mod, binding))
+ elif binding == "":
+ mods2.append("%s~%s" % (mod, labels[state]))
+ else:
+ mods2.append("%s~%s!%s" % (mod, labels[state], binding))
+ else:
+ print ("Warning: The candidate for label %s was not found" % state)
+ if binding == '_':
+ mods2.append("%s~%s!+" % (mod, binding))
+ elif binding == "":
+ mods2.append("%s~%s" % (mod, state))
+ else:
+ mods2.append("%s~%s!%s" % (mod, state, binding))
+ else:
+ if binding == '_':
+ mods2.append("%s~%s!+" % (mod, state))
+ elif binding == "":
+ mods2.append("%s~%s" % (mod, state))
+ else:
+ mods2.append("%s~%s!%s" % (mod, state, binding))
+ mods1.sort()
+ mods2.sort()
+ mods1.extend(mods2)
+ su_name = self.name
+ if is_register(su_name):
+ #import ipdb; ipdb.set_trace()
+ if labels != None and labels.has_key(su_name):
+ su_name = labels[su_name]
+ else:
+ print ("Warning: The candidate for label %s was not found" % su_name)
+ #return str(self).translate(string.maketrans('=^', '~!'))
+ return "%s(%s)" % (su_name, ",".join(mods1))
+
+def generate_Null():
+ sp = species.Species()
+ su = species.Subunit("Null")
+ sp.add_subunit(su)
+ return sp
+
+def generate_Src():
+ sp = species.Species()
+ su = species.Subunit("Src")
+ sp.add_subunit(su)
+ return sp
+
+species_Null = generate_Null()
+species_Src = generate_Src()
+
+# class ReactionRule
+def convert2bng_reactionrule(self, labels = None):
+ reactants_bng_queries = [sp.convert2bng(labels) for sp in self.reactants()]
+ products_bng_queries = [sp.convert2bng(labels) for sp in self.products()]
+ if self.is_degradation() == True:
+ reactants_bng_queries.append("Null")
+ products_bng_queries.append("Null")
+ elif self.is_synthesis() == True:
+ reactants_bng_queries.append("Src")
+ products_bng_queries.append("Src")
+
+ return "%s -> %s" % (
+ #"+".join([sp.convert2bng(labels) for sp in self.reactants()]),
+ #"+".join([sp.convert2bng(labels) for sp in self.products()]))
+ "+".join(reactants_bng_queries),
+ "+".join(products_bng_queries))
+
+# classe Options
+def convert2bng_include_reactants(self):
+ return "include_reactants(%d,%s)" % (self._IncludeReactants__idx, self._IncludeReactants__pttrn)
+def convert2bng_exclude_reactants(self):
+ return "exclude_reactants(%d,%s)" % (self._ExcludeReactants__idx, self._ExcludeReactants__pttrn)
+def convert2bng_include_products(self):
+ return "include_products(%d,%s)" % (self._IncludeProducts__idx, self._IncludeProducts__pttrn)
+def convert2bng_exclude_products(self):
+ return "exclude_products(%d,%s)" % (self._ExcludeProducts__idx, self._ExcludeProducts__pttrn)
+
+class Convert2BNGManager(object):
+ def __init__(self, species, rules):
+ self.__expanded = False
+ self.__species = species
+ self.__rules = rules
+ self.__modification_collection_dict = defaultdict(lambda:defaultdict(set))
+ self.__modification_collection_dict_ext = defaultdict(lambda:defaultdict(set))
+ # about registers
+ self.__reg_assign_candidate = [None] * len(rules)
+ if 0 < len(species) and 0 < len(rules):
+ self.build_modification_collection_dict()
+ # add convert2bng method for related classes
+ self.initialize_methods()
+ # analyze all reactions
+ self.expand_reactions()
+
+ def initialize_methods(self):
+ species.Species.convert2bng = MethodType(convert2bng_species, None, species.Species)
+ species.Subunit.convert2bng = MethodType(convert2bng_subunit, None, species.Subunit)
+ species.ReactionRule.convert2bng = MethodType(convert2bng_reactionrule, None, species.ReactionRule)
+ options.IncludeReactants.convert2bng = MethodType(convert2bng_include_reactants, None, options.IncludeReactants)
+ options.ExcludeReactants.convert2bng = MethodType(convert2bng_exclude_reactants, None, options.ExcludeReactants)
+ options.IncludeProducts.convert2bng = MethodType(convert2bng_include_products, None, options.IncludeProducts)
+ options.ExcludeProducts.convert2bng = MethodType(convert2bng_exclude_products, None, options.ExcludeProducts)
+
+ def expand_reactions(self):
+ import sys
+ for (i, rr) in enumerate(self.__rules):
+ self.__reg_assign_candidate[i] = self.expand_reactionrule(rr)
+ #print self.__reg_assign_candidate[i]
+ self.__expanded = True
+
+ def expand_reactionrule(self, rr):
+ reg_map = check_registers(rr)
+ reg_assign_candidates = defaultdict( set )
+ for (reg_name), reg_obj in reg_map.items():
+ if isinstance(reg_obj, SubunitRegister):
+ for subunit_name, domain_state_dict in self.__modification_collection_dict.items():
+ domains = set( domain_state_dict.keys() )
+ if (reg_obj.get_domains()).issubset(domains):
+ reg_assign_candidates[reg_name].add(subunit_name)
+ reg_assign_candidates[reg_name].discard('')
+ elif isinstance(reg_obj, DomainStateRegister):
+ for modifying_domain in list( reg_obj.get_domains() ):
+ for su_name, domain_state_dict in self.__modification_collection_dict.items():
+ if domain_state_dict.has_key(modifying_domain):
+ reg_assign_candidates[reg_name].update(domain_state_dict[modifying_domain])
+ reg_assign_candidates[reg_name].discard('')
+ return reg_assign_candidates
+
+ def dump_modification_collection_dict(self, fdesc):
+ for (subunit_name, domain_state_dict) in self.__modification_collection_dict.items():
+ fdesc.write( ("%s\n" % subunit_name) )
+ for (domain_name, state_set) in domain_state_dict.items():
+ fdesc.write( ("\t%s\t%s\n" % (domain_name, list(state_set))) )
+
+ def add_modification_collection_dict_subunit(self, subunit_obj):
+ if isinstance(subunit_obj, species.Subunit):
+ su_name = subunit_obj.get_name()
+ if is_register(su_name):
+ return # do nothing
+ # search the same subunit, domain and then, add there
+ if not self.__modification_collection_dict.has_key(su_name):
+ self.__modification_collection_dict[su_name] = defaultdict(set)
+ for domain, (state, binding) in subunit_obj.get_modifications_list().items():
+ if not is_register(state):
+ self.__modification_collection_dict[su_name][domain].add(state)
+ return
+ else:
+ raise RuntimeError("Invalid instance was passed as an argument")
+
+ def build_modification_collection_dict(self):
+ # style: dict[subunit][modification] = set(states)
+ # reset
+ self.__modification_collection_dict = defaultdict(lambda:defaultdict(set))
+ # Build modification dictionary by species
+ for (sp, attr) in self.__species:
+ for subunit_obj in sp.get_subunit_list():
+ self.add_modification_collection_dict_subunit(subunit_obj)
+ # Build modification dictionary by ReactionRules
+ reactants = []
+ products = []
+ for rr in self.__rules:
+ reactants = rr.reactants()
+ products = rr.products()
+ # Following if-else statements is to enable output Null and Src
+ # in 'molecule_types' section in degradation/synthesis reactions.
+ if rr.is_degradation() == True:
+ self.add_modification_collection_dict_subunit(species_Null.get_subunit_list()[0])
+ elif rr.is_synthesis() == True:
+ self.add_modification_collection_dict_subunit( species_Src.get_subunit_list()[0])
+ # Add each substrates
+ for r in reactants + products:
+ for subunit_obj in r.get_subunit_list():
+ self.add_modification_collection_dict_subunit(subunit_obj)
+ self.__modification_collection_dict_ext = copy.deepcopy(self.__modification_collection_dict)
+
+ def get_modification_collection_dict(self):
+ return self.__modification_collection_dict
+
+ def write_section_seed_species(self, fd):
+ fd.write("begin seed species\n")
+ for i, (sp, attr) in enumerate( self.__species ):
+ fd.write("\t%s\t%f\n" % (sp.convert2bng(), attr))
+ fd.write("end seed species\n")
+
+ def write_section_molecule_types(self, fd):
+ def build_molecules_type_query_list(current_dict):
+ retval = []
+ for su_name in current_dict:
+ mod_list = []
+ for m, state_list in current_dict[su_name].items():
+ mod = "%s" % m
+ for state in list(set(state_list)):
+ if state != '' and state != "_":
+ mod = "%s~%s" % (mod, state)
+ mod_list.append(mod)
+ retval.append("%s(%s)" % (su_name, ','.join(mod_list) ))
+ return retval
+
+ # write
+ fd.write("begin molecule types\n")
+ for s in build_molecules_type_query_list(self.__modification_collection_dict_ext):
+ fd.write("\t%s\n" % s)
+ fd.write("end molecule types\n")
+
+ def write_section_reaction_rules(self, fd):
+ def convert2bngl_label_expanded_reactionrule_recursive(
+ rr, label_list, candidates, acc, bnglstr_acc):
+ acc_conbination = copy.deepcopy(acc)
+ for mod in candidates[ label_list[0] ]:
+ acc_conbination[label_list[0]] = mod
+ if len(label_list) == 1:
+ bnglstr_acc.append( rr.convert2bng(acc_conbination) )
+ else:
+ convert2bngl_label_expanded_reactionrule_recursive(
+ rr, label_list[1:], candidates, acc_conbination, bnglstr_acc)
+
+ fd.write("begin reaction rules\n")
+ for i, rr in enumerate(self.__rules):
+ fd.write( ("\t# %s\n" % rr) )
+ reg_assign_candidates = self.__reg_assign_candidate[i]
+ if reg_assign_candidates:
+ fd.write("\t# candidates for labels:\n") #Comments
+ fd.write("\t# %s\n" % reg_assign_candidates) #Comments
+ bngl_strs = []
+ convert2bngl_label_expanded_reactionrule_recursive(
+ rr, reg_assign_candidates.keys(), reg_assign_candidates, {}, bngl_strs)
+ for applied in bngl_strs:
+ s = "\t%s\t%f" % (applied, rr.options()[0])
+ for cond in rr.options():
+ if isinstance(cond, options.Option):
+ s = "%s %s" % (s, cond.convert2bng())
+ s += "\n"
+ fd.write(s)
+ else: # containing no labels
+ s = "\t%s\t%f" % (rr.convert2bng(), rr.options()[0])
+ for cond in rr.options():
+ if isinstance(cond, options.Option):
+ s = "%s %s" % (s, cond.convert2bng() )
+ s += "\n"
+ fd.write(s)
+ fd.write("end reaction rules\n")
diff --git a/python/lib/ecell4/util/legacy/decorator2.py b/python/lib/ecell4/util/legacy/decorator2.py
new file mode 100644
index 0000000..b54c670
--- /dev/null
+++ b/python/lib/ecell4/util/legacy/decorator2.py
@@ -0,0 +1,423 @@
+import types
+import numbers
+import copy
+import functools
+
+import options
+import species
+import ecell4.util.parseobj as parseobj
+from ecell4.util.decorator_base import Callback, parse_decorator
+
+
+def is_parseobj(obj):
+ return (isinstance(obj, parseobj.ParseObj)
+ or isinstance(obj, parseobj.AnyCallable))
+
+def generate_Species(obj):
+ if isinstance(obj, parseobj.AnyCallable):
+ obj = obj._as_ParseObj()
+
+ if isinstance(obj, parseobj.ParseObj):
+ sp = species.Species()
+ for elem in obj._elements():
+ su = species.Subunit(elem.name)
+ if elem.args is not None:
+ for mod in elem.args:
+ if is_parseobj(mod) and mod._size() == 1:
+ arg = mod._elements()[0]
+ name, binding = arg.name, arg.modification
+ if binding is None:
+ su.add_modification(name, "", "")
+ else:
+ binding = str(binding)
+ if not (binding.isdigit() or binding == ""
+ or binding[0] == "_"):
+ raise RuntimeError, (
+ "invalid binding [%s] given." % (binding))
+ su.add_modification(name, "", binding)
+ elif (isinstance(mod, parseobj.InvExp)
+ and is_parseobj(mod._target())
+ and mod._target()._size() == 1):
+ arg = mod._target()._elements()[0]
+ name, binding = arg.name, arg.modification
+ if binding is not None:
+ raise RuntimeError, (
+ "invalid binding [%s] given." % (binding))
+ su.add_exclusion(name)
+ elif isinstance(mod, tuple):
+ if any([not isinstance(dom, parseobj.AnyCallable)
+ for dom in mod]):
+ raise RuntimeError, (
+ "invalid commutative definition [%s] found"
+ % (str(mod)))
+
+ doms = [dom._elements()[0].name for dom in mod]
+ su.set_commutative(doms)
+ else:
+ raise RuntimeError, (
+ "invalid argument [%s] found." % str(mod))
+ if elem.kwargs is not None:
+ for name, value in elem.kwargs.items():
+ if is_parseobj(value) and value._size() == 1:
+ arg = value._elements()[0]
+ state, binding = str(arg.name), arg.modification
+ if binding is None:
+ su.add_modification(name, state, "")
+ else:
+ binding = str(binding)
+ if not (binding.isdigit() or binding == ""
+ or binding[0] == "_"):
+ raise RuntimeError, (
+ "invalid binding [%s] given." % (binding))
+ su.add_modification(name, state, binding)
+ elif ((isinstance(value, list) or isinstance(value, tuple))
+ and all([is_parseobj(dom) and dom._size() == 1
+ for dom in value])):
+ doms = tuple(dom._elements()[0].name for dom in value)
+ su.add_domain_class(name, doms)
+
+ if isinstance(value, tuple):
+ su.set_commutative(doms)
+ else:
+ raise RuntimeError, (
+ "invalid argument [%s] found." % str(value))
+ sp.add_subunit(su)
+ return (sp, )
+ elif isinstance(obj, parseobj.InvExp):
+ return (None, )
+ elif isinstance(obj, parseobj.AddExp):
+ subobjs = obj._elements()
+ return tuple(generate_Species(subobj)[0] for subobj in subobjs)
+
+ raise RuntimeError, 'invalid expression; "%s" given' % str(obj)
+
+def generate_ReactionRule(lhs, rhs, opts):
+ # if len(lhs) == 0 or len(lhs) == 1 or len(lhs) == 2:
+ # return species.ReactionRule(lhs, rhs, opts)
+ # raise RuntimeError, (
+ # "the number of reactants must be less than 3; %d given" % len(lhs))
+ return species.ReactionRule(lhs, rhs, opts)
+
+def generate_Option(opt):
+ # if not (isinstance(opt, parseobj.AnyCallable)
+ # or isinstance(opt, parseobj.ParseObj)):
+ # raise RuntimeError
+
+ if opt._size() != 1:
+ raise RuntimeError
+
+ elem = opt._elements()[0]
+ if elem.name == "IncludeReactants" or elem.name == "ExcludeReactants":
+ if not (len(elem.args) == 2
+ and type(elem.args[0]) == int
+ and (isinstance(elem.args[1], parseobj.AnyCallable)
+ or isinstance(elem.args[1], parseobj.ParseObj))):
+ raise RuntimeError, "invalid type of arguments given [%s]" % (
+ str(elem.args))
+
+ if isinstance(elem.args[1], parseobj.ParseObj):
+ raise RuntimeError, "only a subunit name is allowed here."
+
+ pttrn = elem.args[1]._elements()[0].name
+ if elem.name == "ExcludeReactants":
+ return (options.ExcludeReactants(elem.args[0], pttrn),
+ options.ExcludeProducts(elem.args[0], pttrn))
+ elif elem.name == "IncludeReactants":
+ return (options.IncludeReactants(elem.args[0], pttrn),
+ options.IncludeProducts(elem.args[0], pttrn))
+ elif elem.name == "IncludeProducts" or elem.name == "ExcludeProducts":
+ if not (len(elem.args) == 2
+ and type(elem.args[0]) == int
+ and (isinstance(elem.args[1], parseobj.AnyCallable)
+ or isinstance(elem.args[1], parseobj.ParseObj))):
+ raise RuntimeError
+
+ if isinstance(elem.args[1], parseobj.ParseObj):
+ raise RuntimeError, "only a subunit name is allowed here."
+
+ pttrn = elem.args[1]._elements()[0].name
+ if elem.name == "ExcludeProducts":
+ return (options.ExcludeProducts(elem.args[0], pttrn),
+ options.ExcludeReactants(elem.args[0], pttrn))
+ elif elem.name == "IncludeProducts":
+ return (options.IncludeProducts(elem.args[0], pttrn),
+ options.IncludeReactants(elem.args[0], pttrn))
+ elif elem.name == "CaseIf":
+ if len(elem.args) != 1:
+ raise RuntimeError, (
+ "just one argument must be given [%d]." % (len(elem.args)))
+
+ kwargs = {}
+ for key, value in elem.kwargs.items():
+ if type(value) is str:
+ kwargs[key] = value
+ elif is_parseobj(value) and len(value._elements()) == 1:
+ kwargs[key] = value._elements()[0].name
+ else:
+ raise RuntimeError, (
+ "an invalid value [%s] given." % (str(value)))
+
+ value = elem.args[0]
+ if type(value) is tuple or type(value) is list:
+ if len(value) != 2:
+ raise RuntimeError, (
+ "an invalid argument [%s] given." % (str(value)))
+ return (options.CaseIf(value[0], **kwargs),
+ options.CaseIf(value[1], **kwargs))
+ else:
+ return (options.CaseIf(value, **kwargs), None)
+ else:
+ # raise RuntimeError
+ return (opt, None)
+
+def generate_Options1(opts):
+ retval = []
+ for opt in opts:
+ if (isinstance(opt, parseobj.AnyCallable)
+ or isinstance(opt, parseobj.ParseObj)):
+ lhs, rhs = generate_Option(opt)
+ if lhs is not None:
+ retval.append(lhs)
+ # elif isinstance(opt, numbers.Number):
+ # retval.append(opt)
+ # else:
+ # raise RuntimeError, "an invalid option [%s] given." % (opt)
+ else:
+ retval.append(opt)
+ return retval
+
+def generate_Options2(opts):
+ retval1, retval2 = [], []
+ for opt in opts:
+ if (isinstance(opt, parseobj.AnyCallable)
+ or isinstance(opt, parseobj.ParseObj)):
+ lhs, rhs = generate_Option(opt)
+ if lhs is not None:
+ retval1.append(lhs)
+ if rhs is not None:
+ retval2.append(rhs)
+ elif ((isinstance(opt, types.ListType)
+ or isinstance(opt, types.TupleType))
+ and len(opt) == 2):
+ # if (isinstance(opt[0], numbers.Number)
+ # and isinstance(opt[1], numbers.Number)):
+ # raise RuntimeError
+ retval1.append(opt[0])
+ retval2.append(opt[1])
+ else:
+ raise RuntimeError, "an invalid option [%s] given." % (opt)
+ return retval1, retval2
+
+class SpeciesAttributesCallback(Callback):
+
+ def __init__(self, *args):
+ Callback.__init__(self)
+
+ self.bitwise_operations = []
+
+ def get(self):
+ return copy.copy(self.bitwise_operations)
+
+ def notify_bitwise_operations(self, obj):
+ if not isinstance(obj, parseobj.OrExp):
+ raise RuntimeError, 'an invalid object was given [%s]' % (repr(obj))
+ elif len(obj._elements()) != 2:
+ raise RuntimeError, 'only one attribute is allowed. [%d] given' % (
+ len(obj._elements()))
+
+ lhs, rhs = obj._elements()
+
+ species_list = generate_Species(lhs)
+ if len(species_list) != 1:
+ raise RuntimeError, (
+ 'only a single species must be given; %d given'
+ % len(species_list))
+
+ sp = species_list[0]
+ if sp is None:
+ raise RuntimeError, "no species given [%s]" % (repr(obj))
+
+ self.bitwise_operations.append((sp, rhs))
+
+ def notify_comparisons(self, obj):
+ raise RuntimeError, (
+ 'ReactionRule definitions are not allowed'
+ + ' in "species_attributes"')
+
+class ReactionRulesCallback(Callback):
+
+ def __init__(self):
+ Callback.__init__(self)
+
+ self.comparisons = []
+
+ def get(self):
+ return copy.copy(self.comparisons)
+
+ def notify_comparisons(self, obj):
+ if not isinstance(obj, parseobj.CmpExp):
+ raise RuntimeError, 'an invalid object was given [%s]' % (repr(obj))
+ elif isinstance(obj, parseobj.NeExp):
+ warnings.warn('"<>" is deprecated; use "==" instead',
+ DeprecationWarning)
+
+ lhs, rhs = obj._lhs, obj._rhs
+
+ if isinstance(lhs, parseobj.OrExp):
+ lhs = lhs._elements()[0]
+
+ if isinstance(rhs, parseobj.OrExp):
+ opts = rhs._elements()[1: ]
+ rhs = rhs._elements()[0]
+ else:
+ opts = []
+
+ lhs, rhs = generate_Species(lhs), generate_Species(rhs)
+ lhs = tuple(sp for sp in lhs if sp is not None)
+ rhs = tuple(sp for sp in rhs if sp is not None)
+
+ if isinstance(obj, parseobj.EqExp) or isinstance(obj, parseobj.NeExp):
+ opts1, opts2 = generate_Options2(opts)
+ self.comparisons.append(generate_ReactionRule(lhs, rhs, opts1))
+ self.comparisons.append(generate_ReactionRule(rhs, lhs, opts2))
+ elif isinstance(obj, parseobj.GtExp):
+ opts = generate_Options1(opts)
+ self.comparisons.append(generate_ReactionRule(lhs, rhs, opts))
+ else:
+ raise RuntimeError, 'an invalid object was given [%s]' % (repr(obj))
+
+species_attributes = functools.partial(parse_decorator, SpeciesAttributesCallback)
+reaction_rules = functools.partial(parse_decorator, ReactionRulesCallback)
+
+class AnyCallableGenerator(dict):
+
+ def __init__(self, *args, **kwargs):
+ dict.__init__(self, *args, **kwargs)
+
+ self.__cache = Callback()
+
+ def __setitem__(self, key, value):
+ dict.__setitem__(self, key, value)
+
+ def __getitem__(self, key):
+ retval = self.get(key)
+ if retval is None:
+ return parseobj.AnyCallable(self.__cache, key)
+ return retval
+
+def create_species(expr):
+ vardict = AnyCallableGenerator()
+ obj = eval(expr, globals(), vardict)
+ retval = generate_Species(obj)
+ if len(retval) != 1:
+ raise RuntimeError, "multiple species were defined in the expression."
+ return retval[0]
+
+def create_reaction_rule(expr):
+ vardict = AnyCallableGenerator()
+ obj = eval(expr, globals(), vardict)
+ callback = ReactionRulesCallback()
+ callback.notify_comparisons(obj)
+ retval = callback.get()
+ if len(retval) != 1:
+ raise RuntimeError, "multiple rules were defined in the expression."
+ return retval[0]
+
+
+if __name__ == "__main__":
+ def cmp_subunit(sp, idx1, idx2):
+ retval = species.CmpSubunit(sp)(sp.subunits[idx1], sp.subunits[idx2])
+ print "%s %s %s in %s" % (
+ str(sp.subunits[idx1]),
+ "==" if retval == 0 else (">" if retval == 1 else "<"),
+ str(sp.subunits[idx2]),
+ str(sp))
+ return retval
+
+ sp1 = create_species("Grb2(SH2^1,SH3^2).Grb2(SH2^3,SH3^4).Grb2(SH2^5,SH3^6).Grb2(SH2^7,SH3^8).Shc(PTB^9,Y317=pY^3).Shc(PTB^10,Y317=pY^7).Sos(dom^2).Sos(dom^4).Sos(dom^6).Sos(dom^8).egf(r^11).egf(r^12).egfr(l^11,r^13,Y1068=pY^1,Y1148=pY^9).egfr(l^12,r^13,Y1068=pY^5,Y1148=pY^10)")
+ sp2 = create_species("egf(r^1).egfr(l^1,r^4,Y1068=pY^2,Y1148=pY^6).Grb2(SH2^2,SH3).egf(r^3).egfr(l^3,r^4,Y1068=pY,Y1148=pY^9).Shc(PTB^6,Y317=pY^7).Grb2(SH2^7,SH3).Shc(PTB^9,Y317=pY^10).Grb2(SH2^10,SH3)")
+ sp3 = create_species("A(bs^1).B(l^1,r^2).A(bs^2)")
+ sp4 = create_species("A(bs^1).B(l^1,r^3).B(r^3,l^2).A(bs^2)")
+ sp5 = create_species("A(bs^1).B(l^2,r^3).B(r^3,l^1).A(bs^2)")
+
+ sp6 = create_species("L(l1^1,l2^2).L(l1^3,l2^4).L(l1^5,l2^6).R(r1^3,r2^2).R(r1^5,r2^4).R(r1^1,r2^6)")
+
+ cmp_subunit(sp1, 0, 1)
+ cmp_subunit(sp1, 0, 2)
+ cmp_subunit(sp1, 0, 3)
+ cmp_subunit(sp1, 10, 11)
+ cmp_subunit(sp2, 0, 3)
+ cmp_subunit(sp2, 2, 6)
+ cmp_subunit(sp2, 2, 8)
+ cmp_subunit(sp2, 6, 8)
+ cmp_subunit(sp3, 0, 2)
+ cmp_subunit(sp4, 0, 3)
+ cmp_subunit(sp4, 1, 2)
+
+ cmp_subunit(sp6, 0, 1)
+ cmp_subunit(sp6, 0, 2)
+ cmp_subunit(sp6, 1, 2)
+ cmp_subunit(sp6, 3, 4)
+ cmp_subunit(sp6, 3, 5)
+ cmp_subunit(sp6, 4, 5)
+
+ print ""
+ sp1.sort()
+ print sp1
+ sp2.sort()
+ print sp2
+ sp3.sort()
+ print sp3
+ sp4.sort()
+ print sp4
+ sp5.sort()
+ print sp5
+ sp6.sort()
+ print sp6
+ print ""
+
+ import random
+ sp = create_species("L(l1^1,l2^2).L(l1^3,l2^4).L(l1^5,l2^6).R(r1^3,r2^2).R(r1^5,r2^4).R(r1^1,r2^6)")
+ # sp = create_species("L(l1^1,l2^2).L(l1^3,l2^4).L(l1^5,l2^6).R(r1^1,r2^6).R(r1^3,r2^2).R(r1^5,r2^4)")
+ # sp = create_species("L(l^1,r^2).L(l^2,r^3).L(l^3,r^1)")
+ # sp = create_species("L(l^1,r^2).L(l^2,r^3).L(l^3,r^4).L(l^4,r^1)")
+ newbs = range(1, 7)
+ # print 'ORIGINAL :', sp
+ for _ in range(10):
+ random.shuffle(sp.subunits)
+ random.shuffle(newbs)
+ sp.update_indices()
+ for su in sp.subunits:
+ for mod in su.modifications.keys():
+ state, bs = su.modifications[mod]
+ if bs.isdigit():
+ su.modifications[mod] = (state, str(newbs[int(bs) - 1]))
+ # print '[%d] SHUFFLED:' % _, sp
+ sp.sort()
+ print '[%d] SORTED :' % _, sp
+
+ print ""
+ sp1 = create_species("L(l1^3,l2^5).R(r1^6,r2^5).L(l1^6,l2^2).L(l1^4,l2^1).R(r1^3,r2^1).R(r1^4,r2^2)")
+ sp1.sort()
+ print sp1
+ sp2 = create_species("L(l1^3,l2^5).R(r1^1,r2^6).R(r1^4,r2^5).R(r1^3,r2^2).L(l1^1,l2^2).L(l1^4,l2^6)")
+ sp2.sort()
+ print sp2
+
+ print ""
+ sp1 = create_species("L(l^2,r^3).L(l^3,r^1).L(l^1,r^2)")
+ print sp1
+ sp1.sort()
+ print sp1
+ sp2 = create_species("L(l^1,r^3).L(l^2,r^1).L(l^3,r^2)")
+ print sp2
+ sp2.sort()
+ print sp2
+
+ sp1 = create_species("A(bs1^1).B(bs1^1,bs2^2).C(bs1^2)")
+ pttrn1 = create_species("_1(bs1^_)")
+ pttrn2 = create_species("_1(bs1^_,~bs2)")
+ print "apply \"%s\" to \"%s\"." % (str(pttrn1), str(sp1))
+ print pttrn1.match(sp1)
+ print "apply \"%s\" to \"%s\"." % (str(pttrn2), str(sp1))
+ print pttrn2.match(sp1)
diff --git a/python/lib/ecell4/util/legacy/lattice_space.py b/python/lib/ecell4/util/legacy/lattice_space.py
new file mode 100644
index 0000000..072596e
--- /dev/null
+++ b/python/lib/ecell4/util/legacy/lattice_space.py
@@ -0,0 +1,95 @@
+# coding: utf-8
+"""ec4vis.plugins.particle_space --- Draft implementation of ParticleSpace.
+"""
+
+import numpy
+
+# try:
+# import ec4vis
+# except ImportError:
+# import sys, os
+# p = os.path.abspath(__file__); sys.path.insert(0, p[: p.rindex(os.sep + 'ec4vis')])
+
+from spatiocyte_tools import coord2point
+from particle_space import Particle
+
+class LatticeParticle(object):
+
+ def __init__(self, sid, coord):
+ self.sid = sid
+ self.coord = coord
+
+# end of LatticeParticle
+
+class LatticeParticleSpace(object):
+
+ def __init__(self, col_size, row_size, layer_size, lspecies, voxel_radius):
+ self.__lattice_pool = {}
+ #self.__col_size = col_size
+ self.__row_size = row_size
+ self.__layer_size = layer_size
+ self.__lspecies = lspecies
+ self.__voxel_radius = voxel_radius
+
+ @property
+ def species(self):
+ if self.__lattice_pool is None:
+ return []
+ else:
+ species = []
+ for key in self.__lattice_pool.keys():
+ (string, radius) = self.__lspecies[key]
+ print "key : %d, string : %s, radius : %f" % (key, string, radius)
+ species.append(string)
+ return species
+
+ def add_particle(self, lattice):
+ sid = lattice.sid
+ if sid not in self.__lattice_pool.keys():
+ self.__lattice_pool[sid] = [lattice]
+ else:
+ self.__lattice_pool[sid].append(lattice)
+
+ def __lattice2particle(self, lattice):
+ pos = coord2point(lattice.coord, self.__row_size, self.__layer_size)
+ pos = numpy.array(pos) * 2 * self.__voxel_radius
+ (string, radius) = self.__lspecies[lattice.sid]
+ return Particle(string, pos, radius)
+
+ def __lattices2particles(self, lattices):
+ particles = []
+ pid = 0
+ for lattice in lattices:
+ particles.append((pid,self.__lattice2particle(lattice)))
+ return particles
+
+ def __string2key(self, string):
+ for key in range(len(self.__lspecies)):
+ (s, r) = self.__lspecies[key]
+ if (string is s):
+ return key
+ return None
+
+ def list_particles(self, sid=None):
+ if sid is None:
+ retval = []
+ for lattices in self.__lattice_pool.values():
+ retval.extend(self.__lattices2particles(lattices))
+ return retval
+ else:
+ sid = self.__string2key(sid)
+ if sid is None:
+ return None
+ return self.__lattices2particles(self.__lattice_pool[sid])
+
+ def num_particles(self, sid=None):
+ if sid is None:
+ counts = [len(lattices) for lattices in self.__lattice_pool.values()]
+ return sum(counts)
+ else:
+ sid = self.__string2key(sid)
+ if sid is None:
+ return 0
+ return len(self.__lattice_pool[sid])
+
+# end of LatticeParticleSpace
diff --git a/python/lib/ecell4/util/legacy/network.py b/python/lib/ecell4/util/legacy/network.py
new file mode 100644
index 0000000..93f71e2
--- /dev/null
+++ b/python/lib/ecell4/util/legacy/network.py
@@ -0,0 +1,150 @@
+import itertools
+import copy
+import sys
+
+import species
+
+
+def check_stoichiometry(sp, max_stoich):
+ for pttrn, num_subunits in max_stoich.items():
+ if sp.num_subunits(pttrn) > num_subunits:
+ return False
+ return True
+
+def dump_reaction(reactants, products):
+ # reactants, products = reaction
+ for sp in itertools.chain(reactants, products):
+ sp.sort()
+
+ retval = "+".join(sorted([str(sp) for sp in reactants]))
+ retval += ">"
+ retval += "+".join(sorted([str(sp) for sp in products]))
+ return retval
+
+def reaction_rule_match_recurse(
+ rr, idx, seeds1, seeds2, reactants, contexts, ignore):
+ if idx >= rr.num_reactants():
+ return rr.generate(reactants, contexts)
+ elif idx == ignore[0]:
+ return reaction_rule_match_recurse(
+ rr, idx + 1, seeds1, seeds2, reactants + [ignore[1]],
+ contexts, ignore)
+
+ if idx < ignore[0]:
+ seeds = itertools.chain(seeds1, seeds2)
+ else:
+ seeds = seeds2
+
+ retval = []
+ for sp in seeds:
+ newcontexts = rr.match_partial(idx, sp, copy.deepcopy(contexts))
+ if newcontexts is None or len(contexts) == 0:
+ continue
+ tmp = reaction_rule_match_recurse(
+ rr, idx + 1, seeds1, seeds2, reactants + [sp], newcontexts, ignore)
+ retval.extend(tmp)
+ return retval
+
+def generate_recurse(seeds1, rules, seeds2, max_stoich={}):
+ seeds = list(itertools.chain(seeds1, seeds2))
+ newseeds, newreactions = [], []
+ for rr in rules:
+ num_reactants = rr.num_reactants()
+ if num_reactants == 0:
+ continue # skip rules for synthesis
+
+ for i in range(num_reactants):
+ for sp in seeds1:
+ contexts = rr.match_partial(i, sp)
+ if contexts is None or len(contexts) == 0:
+ continue
+
+ reactions = reaction_rule_match_recurse(
+ rr, 0, seeds1, seeds2, [], contexts, ignore=(i, sp))
+
+ newreactions.extend(reactions)
+ for (reactants, products, opts) in reactions:
+ for newsp in products:
+ if (newsp not in seeds and newsp not in newseeds
+ and check_stoichiometry(newsp, max_stoich)):
+ newsp.sort()
+ newseeds.append(newsp)
+ return (newseeds, seeds, newreactions)
+
+def generate_reactions(newseeds, rules, max_iter=sys.maxint, max_stoich={}):
+ seeds, cnt, reactions = [], 0, []
+
+ for rr in rules:
+ if rr.num_reactants() == 0:
+ reactions.append((rr.reactants(), rr.products(), rr.options()))
+ for newsp in rr.products():
+ if (newsp not in newseeds
+ and check_stoichiometry(newsp, max_stoich)):
+ newsp.sort()
+ newseeds.append(newsp)
+
+ while len(newseeds) != 0 and cnt < max_iter:
+ # print "[RESULT%d] %d seeds, %d newseeds, %d reactions." % (
+ # cnt, len(seeds), len(newseeds), len(reactions))
+ newseeds, seeds, newreactions = generate_recurse(
+ newseeds, rules, seeds, max_stoich)
+ reactions.extend(newreactions)
+ cnt += 1
+ # print "[RESULT%d] %d seeds, %d newseeds, %d reactions." % (
+ # cnt, len(seeds), len(newseeds), len(reactions))
+ # print ""
+
+ seeds.sort(key=str)
+ # for i, sp in enumerate(seeds):
+ # print "%5d %s" % (i + 1, str(sp))
+ # print ""
+
+ # reactions = list(set([dump_reaction(reaction) for reaction in reactions]))
+ dump_rrobj_map = dict()
+ for r in reactions:
+ s = dump_reaction(r[0], r[1])
+ dump_rrobj_map[s] = r
+ reactions = dump_rrobj_map.values()
+ # for i, reaction in enumerate(reactions):
+ # print "%5d %s" % (i + 1, reaction)
+
+ return seeds + newseeds, reactions
+
+def generate_NetworkModel(seeds, rules):
+ def is_ValidKineticParameter(val):
+ return (not isinstance(val, bool)
+ and isinstance(val, (int, long, float, complex)))
+
+ import ecell4.core as core
+
+
+ model = core.NetworkModel()
+
+ for sp in seeds:
+ model.add_species_attribute(core.Species(str(sp)))
+
+ for r_tuple in rules:
+ rr = core.ReactionRule()
+ for reactant in r_tuple[0]:
+ rr.add_reactant(core.Species(str(reactant)))
+ for product in r_tuple[1]:
+ rr.add_product(core.Species(str(product)))
+
+ # kinetic parameter
+ if isinstance(r_tuple[2], list):
+ for opt in r_tuple[2]:
+ if is_ValidKineticParameter(opt):
+ rr.set_k(opt)
+ break
+ elif is_ValidKineticParameter(r_tuple[2]):
+ rr.set_k(r_tuple[2])
+ else:
+ raise RuntimeError, "No kinetic rate is defined. [%s]" % str(r_tuple)
+
+ model.add_reaction_rule(rr)
+
+ return model
+
+
+if __name__ == '__main__':
+ pass
diff --git a/python/lib/ecell4/util/legacy/options.py b/python/lib/ecell4/util/legacy/options.py
new file mode 100644
index 0000000..1ee1f8d
--- /dev/null
+++ b/python/lib/ecell4/util/legacy/options.py
@@ -0,0 +1,112 @@
+class Option(object):
+
+ def __init__(self):
+ pass
+
+ def check(self, reactants, products, context, corresp=None):
+ return None
+
+ def get(self, reactants, products, context, corresp=None):
+ return None
+
+class CaseIf(Option):
+
+ def __init__(self, value, **kwargs):
+ self.value = value
+ self.kwargs = kwargs
+
+ for key in self.kwargs.keys():
+ if type(key) != str:
+ raise RuntimeError, (
+ "a key [%s] must be a string." % (str(key)))
+
+ def check(self, reactants, products, context, corresp=None):
+ for key, value in self.kwargs.items():
+ if context.get(key) != value:
+ return True
+ return False
+
+ def get(self, reactants, products, context, corresp=None):
+ return self.value
+
+class CountSubunits(Option):
+
+ def __init__(self, idx, pttrn):
+ Option.__init__(self)
+
+ if type(pttrn) != str:
+ raise RuntimeError, (
+ "a pattern for subunits must be a string [%s]." % (str(pttrn)))
+ elif pttrn[0] == "_":
+ raise RuntimeError, ("an invalid pattern [%s] given." % (pttrn))
+
+ self.idx = idx
+ self.pttrn = pttrn
+
+class IncludeReactants(CountSubunits):
+
+ def __init__(self, idx, pttrn):
+ CountSubunits.__init__(self, idx, pttrn)
+
+ def check(self, reactants, products, context, corresp=None):
+ if not (len(reactants) > self.idx - 1):
+ raise RuntimeError, (
+ "the number of reactants is too small [%d < %d]." % (
+ len(reactants), self.idx))
+
+ sp = reactants[self.idx - 1]
+ return (self.pttrn in [su.name for su in sp.subunits])
+
+class ExcludeReactants(CountSubunits):
+
+ def __init__(self, idx, pttrn):
+ CountSubunits.__init__(self, idx, pttrn)
+
+ def check(self, reactants, products, context, corresp=None):
+ if not (len(reactants) > self.idx - 1):
+ raise RuntimeError, (
+ "the number of reactants is too small [%d < %d]." % (
+ len(reactants), self.idx))
+
+ sp = reactants[self.idx - 1]
+ return not (self.pttrn in [su.name for su in sp.subunits])
+
+class IncludeProducts(CountSubunits):
+
+ def __init__(self, idx, pttrn):
+ CountSubunits.__init__(self, idx, pttrn)
+
+ def check(self, reactants, products, context, corresp=None):
+ if corresp is None:
+ if not (len(products) > self.idx - 1):
+ raise RuntimeError, (
+ "the number of products is too small [%d < %d]." % (
+ len(products), self.idx))
+ sp = products[self.idx]
+ else:
+ if not (len(corresp) > self.idx - 1):
+ raise RuntimeError, (
+ "no corresponding subunit found [%d < %d]." % (
+ len(corresp), self.idx))
+ sp = products[corresp[self.idx - 1]]
+ return (self.pttrn in [su.name for su in sp.subunits])
+
+class ExcludeProducts(CountSubunits):
+
+ def __init__(self, idx, pttrn):
+ CountSubunits.__init__(self, idx, pttrn)
+
+ def check(self, reactants, products, context, corresp=None):
+ if corresp is None:
+ if not (len(products) > self.idx - 1):
+ raise RuntimeError, (
+ "the number of products is too small [%d < %d]." % (
+ len(products), self.idx))
+ sp = products[self.idx]
+ else:
+ if not (len(corresp) > self.idx - 1):
+ raise RuntimeError, (
+ "no corresponding subunit found [%d < %d]." % (
+ len(corresp), self.idx))
+ sp = products[corresp[self.idx - 1]]
+ return not (self.pttrn in [su.name for su in sp.subunits])
diff --git a/python/lib/ecell4/util/legacy/particle_space.py b/python/lib/ecell4/util/legacy/particle_space.py
new file mode 100644
index 0000000..6821af5
--- /dev/null
+++ b/python/lib/ecell4/util/legacy/particle_space.py
@@ -0,0 +1,52 @@
+# coding: utf-8
+"""ec4vis.plugins.particle_space --- Draft implementation of ParticleSpace.
+"""
+
+
+class Particle(object):
+
+ def __init__(self, sid, pos, radius, D = 0.0):
+ self.sid = sid
+ self.position = pos
+ self.radius = radius
+ self.D = D
+
+# end of Particle
+
+class ParticleSpace(object):
+
+ def __init__(self):
+ self.__species_pool = {}
+
+ @property
+ def species(self):
+ if self.__species_pool is None:
+ return []
+ else:
+ return self.__species_pool.keys()
+
+ def add_particle(self, pid, particle):
+ if particle.sid not in self.__species_pool.keys():
+ self.__species_pool[particle.sid] = [(pid, particle)]
+ else:
+ self.__species_pool[particle.sid].append((pid, particle))
+
+ def list_particles(self, sid=None):
+ if sid is None:
+ retval = []
+ for sid, particles in self.__species_pool.items():
+ retval.extend(particles)
+ return retval
+ elif sid not in self.__species_pool:
+ return None
+ return self.__species_pool[sid]
+
+ def num_particles(self, sid=None):
+ if sid is None:
+ counts = [len(particles) for particles in self.__species_pool.values()]
+ return sum(counts)
+ if sid not in self.__species_pool:
+ return 0
+ return len(self.__species_pool[sid])
+
+# end of ParticleSpace
diff --git a/python/lib/ecell4/util/legacy/particle_spatiocyte_loader.py b/python/lib/ecell4/util/legacy/particle_spatiocyte_loader.py
new file mode 100644
index 0000000..b6e7454
--- /dev/null
+++ b/python/lib/ecell4/util/legacy/particle_spatiocyte_loader.py
@@ -0,0 +1,161 @@
+# coding: utf-8
+"""ec4vis.plugins.particle_spatiocyte_loader --- Simple Spatiocyte data loader plugin.
+"""
+import os.path
+import re
+import glob
+from urlparse import urlparse
+from spatiocyte_tools import SpatiocyteLogReader
+from lattice_space import LatticeParticle, LatticeParticleSpace
+
+#import wx, wx.aui
+
+# this allows module-wise execution
+# try:
+# import ec4vis
+# except ImportError:
+# import sys, os
+# p = os.path.abspath(__file__); sys.path.insert(0, p[: p.rindex(os.sep + 'ec4vis')])
+
+# from ec4vis.logger import debug, log_call, warning
+# from ec4vis.pipeline import PipelineNode, PipelineSpec, UpdateEvent, UriSpec, register_pipeline_node
+# from ec4vis.pipeline.specs import NumberOfItemsSpec
+# from ec4vis.plugins.lattice_space import LatticeParticle, LatticeParticleSpace
+# from ec4vis.plugins.spatiocyte_tools import SpatiocyteLogReader
+
+# from ec4vis.plugins.particle_csv_loader import ParticleSpaceSpec # TODO
+
+def load_particles_from_spatiocyte(filename, index=0, ps=None):
+ if not os.path.isfile(filename):
+ return ps
+
+ try:
+ reader = SpatiocyteLogReader(filename)
+ if ps is None:
+ header = reader.getHeader()
+ col_size = header['aColSize']
+ row_size = header['aRowSize']
+ layer_size = header['aLayerSize']
+ lspecies = header['latticeSpecies']
+ voxel_radius = header['aVoxelRadius']
+ ps = LatticeParticleSpace(col_size, row_size, layer_size,
+ lspecies, voxel_radius)
+ species = reader.skipSpeciesTo(index)
+ molecules = species['Molecules'];
+ #debug("index : %d" % index)
+ for sp in molecules:
+ sid = sp['index']
+ for coord in sp['Coords']:
+ ps.add_particle(LatticeParticle(sid, coord))
+ finally:
+ reader.close()
+ return ps
+
+# class ParticleSpatiocyteLoaderProgressDialog(wx.ProgressDialog):
+
+# def __init__(self, filenames):
+# wx.ProgressDialog.__init__(
+# self, "Loading ...",
+# "File remaining", len(filenames),
+# style=wx.PD_ELAPSED_TIME | wx.PD_REMAINING_TIME | wx.PD_AUTO_HIDE)
+
+# self.filenames = filenames
+# self.index = 0
+
+# def Show(self):
+# for i, filename in enumerate(self.filenames):
+# ps = load_particles_from_spatiocyte(filename, self.index)
+# if not self.Update(i):
+# return None
+# return ps
+
+# class ParticleSpatiocyteLoaderNode(PipelineNode):
+# """Simple Spatiocyte loader.
+# """
+# INPUT_SPEC = [UriSpec]
+# OUTPUT_SPEC = [ParticleSpaceSpec, NumberOfItemsSpec]
+
+# def __init__(self, *args, **kwargs):
+# self._particle_space = None
+# self._uri = None
+# PipelineNode.__init__(self, *args, **kwargs)
+
+# @log_call
+# def internal_update(self):
+# """Reset cached spatiocyte data.
+# """
+# self._particle_space = None
+
+# def load_spatiocyte_file(self, fullpath):
+# rexp = re.compile('(.+)\.dat$')
+# mobj = rexp.match(fullpath)
+# if mobj is None:
+# raise IOError, 'No suitable file.'
+
+# index = 19 #TODO
+# filenames = glob.glob(fullpath)
+# if len(filenames) > 1:
+# dialog = ParticleSpatiocyteLoaderProgressDialog(filenames)
+# dialog.index = index
+# ps = dialog.Show()
+# dialog.Destroy()
+# elif len(filenames) == 1:
+# ps = load_particles_from_spatiocyte(filenames[0],index)
+# else:
+# ps = None
+# return ps
+
+# def fetch_particle_space(self, **kwargs):
+# """Property getter for particle_space
+# """
+# # examine cache
+# uri = self.parent.request_data(UriSpec, **kwargs)
+# if not (self._uri == uri):
+# self._particle_space = None
+# self._uri = uri
+
+# if self._particle_space:
+# pass
+# else: # self._particle_space is None
+# if uri is None:
+# return
+
+# debug('spatiocyte data uri=%s' % uri)
+
+# try:
+# parsed = urlparse(uri)
+# fullpath = parsed.netloc + parsed.path
+# self._particle_space = self.load_spatiocyte_file(fullpath)
+# except IOError, e:
+# warning('Failed to open %s: %s', fullpath, str(e))
+# pass
+
+# # self._particle_space is left None if something wrong in loading data.
+# return self._particle_space
+
+# @log_call
+# def request_data(self, spec, **kwargs):
+# """Provides particle data.
+# """
+# if spec == NumberOfItemsSpec:
+# debug('Serving NumberOfItemsSpec')
+# if self.fetch_particle_space(**kwargs) is None:
+# return 0
+# else:
+# return 1
+# elif spec == ParticleSpaceSpec:
+# debug('Serving ParticleSpaceSpec')
+# # this may be None if datasource is not valid.
+# ps = self.fetch_particle_space(**kwargs)
+# print ps.list_particles()
+# return ps
+# return None
+
+
+# register_pipeline_node(ParticleSpatiocyteLoaderNode)
+
+
+# if __name__=='__main__':
+# # TBD
+# from doctest import testmod, ELLIPSIS
+# testmod(optionflags = ELLIPSIS)
diff --git a/python/lib/ecell4/util/legacy/sbml_exporter.py b/python/lib/ecell4/util/legacy/sbml_exporter.py
new file mode 100644
index 0000000..e1aecb3
--- /dev/null
+++ b/python/lib/ecell4/util/legacy/sbml_exporter.py
@@ -0,0 +1,140 @@
+
+import sys
+import os.path
+from libsbml import *
+import ecell4.core as core
+import ecell4.util.legacy.species
+
+Level = 2
+Version = 4
+
+def convert2SBML(nw_model, sp_attrs, fname):
+ level = 2
+ version = 4
+ sbmlDoc = SBMLDocument(level, version)
+ if not isinstance(nw_model, core.NetworkModel):
+ return
+
+ # Model {{{
+ model = sbmlDoc.createModel()
+ model.setId("E-Cell4_Model") # XXX
+ # }}}
+
+ # Define Units {{{
+ unitdef = model.createUnitDefinition()
+ unitdef.setId("per_second")
+ # }}}
+
+ # Compartment {{{
+ compName = "cytosol"
+ comp = model.createCompartment()
+ comp.setId(compName)
+ comp.setSize(1.0) # XXX
+ # }}}
+
+ # Draw Species {{{
+ # first, seed species
+ all_species = dict()
+ sp_index = 0
+ # Distribute IDs for each species
+ #import ipdb; ipdb.set_trace()
+ for (sp, attr) in sp_attrs:
+ ast = ASTNode(AST_NAME)
+ ast.setName(str(sp))
+ all_species[ str(sp) ] = ("sp{}".format(sp_index), attr, ast)
+ sp_index += 1
+ #import ipdb; ipdb.set_trace()
+ for sp in nw_model.list_species():
+ if not all_species.has_key( sp.name() ):
+ ast = ASTNode(AST_NAME)
+ ast.setName( sp.name() )
+ all_species[ sp.name() ] = ("sp{}".format(sp_index), 0, ast)
+ sp_index += 1
+ # Add to SBML model object
+ for (sp, (sp_id, attr, ast) ) in all_species.items():
+ sbml_sp = model.createSpecies()
+ sbml_sp.setId(sp_id)
+ sbml_sp.setName(str(sp))
+ if isinstance(attr, (int, long, float, complex)):
+ sbml_sp.setInitialAmount(attr)
+ sbml_sp.setCompartment(compName)
+ #}}}
+
+ # Draw Reactions {{{
+ astCytosol = ASTNode(AST_NAME)
+ astCytosol.setName("cytosol");
+ r_index = 0
+ for rr in nw_model.reaction_rules():
+ sbml_reaction = model.createReaction()
+ sbml_reaction.setId("r{}".format(r_index))
+ kl = sbml_reaction.createKineticLaw()
+
+ # Kinetic Parameter
+ astKon = ASTNode(AST_NAME)
+ astKon.setName("k{}".format(r_index))
+
+ multiple_factors = []
+ multiple_factors.append( astCytosol.deepCopy() )
+ multiple_factors.append(astKon)
+ for reactant in rr.reactants():
+ sbml_spr = sbml_reaction.createReactant()
+ (sbml_spid, attr, ast) = all_species[ reactant.name()]
+ #sbml_spr.setSpecies( all_species[ reactant.name() ][0] )
+ sbml_spr.setSpecies( sbml_spid)
+ multiple_factors.append( ast.deepCopy() )
+ for product in rr.products():
+ sbml_spr = sbml_reaction.createProduct()
+ (sbml_spid, attr, ast) = all_species[ product.name() ]
+ sbml_spr.setSpecies( sbml_spid)
+ # Build Tree
+ #asttimes = ASTNode(AST_TIMES)
+ '''
+ if 2 < len(multiple_factors):
+ current_node = ASTNode(AST_TIMES)
+ current_node.addChild( multiple_factors.pop(0))
+ kl.setMath(current_node)
+ while 0 < len(multiple_factors):
+ if len(multiple_factors) == 1:
+ current_node.addChild(multiple_factors.pop(0))
+ elif 1 < len(multiple_factors):
+ new_node = ASTNode(AST_TIMES)
+ new_node.addChild(multiple_factors.pop(0))
+ current_node.addChild(new_node)
+ current_node = new_node
+ '''
+ import ipdb;ipdb.set_trace()
+ ast2 = ASTNode(AST_TIMES)
+ ast2.addChild(astKon)
+ if len( rr.reactants() ) == 1:
+ # 1 molecule reaction
+ (sbml_spid, attr, ast_reactant) = all_species[rr.reactants()[0].name()]
+ ast2.addChild( ast_reactant.deepCopy())
+
+ elif len( rr.reactants() ) == 2:
+ (sbml_spid0, attr0, ast_reactant0) = all_species[rr.reactants()[0].name()]
+ (sbml_spid1, attr1, ast_reactant1) = all_species[rr.reactants()[1].name()]
+ # 2 molecule reaction
+ ast3 = ASTNode(AST_TIMES)
+ ast3.addChild( ast_reactant0.deepCopy() )
+ ast3.addChild( ast_reactant1.deepCopy() )
+ ast2.addChild(ast3)
+ else:
+ raise RuntimeError("substances are too many.")
+ ast1 = ASTNode(AST_TIMES)
+ ast1.addChild(astCytosol)
+ ast1.addChild(ast2)
+ kl.setMath(ast1)
+ r_index += 1
+ # }}}
+ writeSBML(sbmlDoc, fname)
+ return
+
+
+#sbmlDoc = convert2SBML()
+#SBMLok = sbmlDoc.checkInternalConsistency();
+'''
+if SBMLok == 0:
+ print "success"
+else:
+ print "fail"
+'''
diff --git a/python/lib/ecell4/util/legacy/spatiocyte_tools.py b/python/lib/ecell4/util/legacy/spatiocyte_tools.py
new file mode 100644
index 0000000..01ec29f
--- /dev/null
+++ b/python/lib/ecell4/util/legacy/spatiocyte_tools.py
@@ -0,0 +1,396 @@
+# coding; utf-8
+#
+# from ecell3-spatiocyte/SpatiocyteStepper.cpp
+#
+
+from math import sqrt
+import struct
+
+HCP_LATTICE = 0
+CUBIC_LATTICE = 1
+NVR = 0.5# the Normalized Voxel Radius
+HCPl = NVR / sqrt(2)
+HCPx = NVR * sqrt(8.0/3)
+HCPy = NVR * sqrt(3)
+
+latticeType = HCP_LATTICE
+
+def coord2point(coord, row_size, layer_size):
+ """
+ input : coord, row_size, layer_size
+ output: a tuple (x, y, z)
+ """
+ (grow, glayer, gcol) = coord2global(coord, row_size, layer_size)
+ if latticeType == HCP_LATTICE:
+ y = (gcol % 2) * HCPl + HCPy * glayer
+ z = grow * 2 * NVR + ((glayer + gcol) % 2) * NVR
+ x = gcol * HCPx
+ elif latticeType == CUBIC_LATTICE:
+ y = glayer * 2 * NVR
+ z = grow * 2 * NVR
+ x = gcol * 2 * NVR
+ else:
+ return
+ point = (x, y, z)
+ return point
+
+def coord2global(coord, row_size, layer_size):
+ """
+ input : coord, row_size, layer_size
+ output: a tuple (grow, glayer, gcol)
+ """
+ gcol = coord / (row_size * layer_size)
+ glayer = (coord % (row_size * layer_size)) / row_size
+ grow = (coord % (row_size * layer_size)) % row_size
+ point = (grow, glayer, gcol)
+ return point
+
+class SpatiocyteLogReader:
+
+ def __init__(self, logfile):
+ self.logfile = open(logfile, 'rb')
+ self.readInitialization()
+ self.readCompVacant()
+ self.headerSeek = self.tell()
+ self.logfile.seek(0,2)
+ self.footerSeek = self.tell()
+ self.logfile.seek(self.headerSeek)
+
+ def close(self):
+ self.logfile.close()
+
+ def tell(self):
+ return self.logfile.tell()
+
+ def isEnd(self):
+ return self.tell() == self.footerSeek
+
+ def readInitialization(self):
+ '''
+ corresponding to VisualizationLogProcess::initializeLog()
+ '''
+ self.readHeader()
+ self.readLatticeSpecies()
+ #self.readPolymerSpecies()
+ #self.readOffLatticeSpecies()
+
+
+ def readHeader(self):
+ data = {}
+ data['aLatticeType'] = struct.unpack('<I', self.logfile.read(4))[0]
+ data['theMeanCount'] = struct.unpack('I', self.logfile.read(4))[0]
+ data['aStartCoord'] = struct.unpack('I', self.logfile.read(4))[0]
+
+ data['aRowSize'] = struct.unpack('I', self.logfile.read(4))[0]
+ data['aLayerSize'] = struct.unpack('I', self.logfile.read(4))[0]
+ data['aColSize'] = struct.unpack('I', self.logfile.read(4))[0]
+
+ data['aRealRowSize'] = struct.unpack('d', self.logfile.read(8))[0]
+ data['aRealLayerSize'] = struct.unpack('d', self.logfile.read(8))[0]
+ data['aRealColSize'] = struct.unpack('d', self.logfile.read(8))[0]
+
+ data['theLatticeSpSize'] = struct.unpack('I', self.logfile.read(4))[0]
+ data['thePolymerSize'] = struct.unpack('I', self.logfile.read(4))[0]
+ data['aResersvedSize'] = struct.unpack('I', self.logfile.read(4))[0]
+ data['theOffLatticeSpSize'] = struct.unpack('I', self.logfile.read(4))[0]
+ data['theLogMarker'] = struct.unpack('I', self.logfile.read(4))[0]
+ data['aVoxelRadius'] = struct.unpack('d', self.logfile.read(8))[0]
+ '''
+ header_format = '<IIIIIIdddIIIIId'
+ header_titles = ['aLatticeType', 'theMeanCount', 'aStartCoord',
+ 'aRowSize', 'aLayerSize', 'aColSize', 'aRealRowSize',
+ 'aRealLayerSize', 'aRealColSize', 'theLatticeSpSize',
+ 'thePolymerSize', 'aResersvedSize', 'theOffLatticeSpSize',
+ 'theLogMarker', 'aVoxelRadius']
+ data = struct.unpack(header_format,f.read(4*19))
+ '''
+ self.header = data
+
+ def getHeader(self):
+ return self.header
+
+
+ def readLatticeSpecies(self):
+ species = []
+
+ for i in range(self.header['theLatticeSpSize']):
+ aStringSize = struct.unpack('I', self.logfile.read(4))[0]
+ aString = struct.unpack(str(aStringSize) + 's',
+ self.logfile.read(aStringSize))[0]
+ aRadius = struct.unpack('d', self.logfile.read(8))[0]
+ print (aString, aRadius)
+ species.append((aString, aRadius))
+
+ self.header['latticeSpecies'] = species
+
+
+ def readPolymerSpecies(self):
+ species = []
+
+ for i in range(self.header['thePolymerSize']):
+ aRadius = struct.unpack('d', self.logfile.read(8))[0]
+ species.append(aRadius)
+
+ self.header['polymerSpecies'] = species
+
+
+ def readOffLatticeSpecies(self):
+ species = []
+ for i in range(self.header['theOffLatticeSpSize']):
+ aStringSize = struct.unpack('I', self.logfile.read(4)[0])
+ aString = struct.unpack(str(aStringSize) + 's',
+ self.logfile.read(aStringSize))[0]
+ aRadius = struct.unpack('d', logfile.read(8))[0]
+ species.append((aString, aRadius))
+
+ self.header['offLatticeSpecies'] = species
+
+
+ def readCompVacant(self):
+ '''
+ corresponding to VisualizationLogProces::logCompVacant()
+ '''
+ data = {}
+
+ aCurrentTime = struct.unpack('d', self.logfile.read(8))[0]
+ i = 0
+ data['Coords'] = {}
+ for index in range(self.header['theLatticeSpSize']+1):
+ i = struct.unpack('I', self.logfile.read(4))[0]
+ if i == self.header['theLogMarker']:
+ break
+ aSize = struct.unpack('i', self.logfile.read(4))[0]
+ data['Coords'][i] = []
+ for j in range(aSize):
+ aCoord = struct.unpack('I', self.logfile.read(4))
+ data['Coords'][i].append(aCoord)
+ data['Points'] = {}
+ for index in range(self.header['theOffLatticeSpSize']+1):
+ i = struct.unpack('I', self.logfile.read(4))[0]
+ if i == self.header['theLogMarker']:
+ break
+ aSize = struct.unpack('i', self.logfile.read(4))[0]
+ data['Points'][i] = []
+ for j in range(aSize):
+ (x, y, z) = struct.unpack('ddd', self.logfile.read(8*3))
+ data['Points'][i].append({'x':x, 'y':y, 'z':z})
+
+ self.header['compVacant'] = data
+
+
+ def readSpecies(self):
+ '''
+ corresponding to VisualizationLogProcess::logSpecies()
+ '''
+ data = {}
+
+ aCurrentTime = struct.unpack('d', self.logfile.read(8))[0]
+ data['aCurrentTime'] = aCurrentTime
+
+ data['Molecules'] = []
+ for i in range(self.header['theLatticeSpSize']):
+ molecules = self.readMolecules()
+ data['Molecules'].append(molecules)
+
+ data['SourceMolecules'] = []
+ for i in range(self.header['thePolymerSize']):
+ molecules = self.readSourceMolecules()
+ data['SourceMolecules'].append(molecules)
+
+ data['TargetMolecules'] = []
+ for i in range(self.header['thePolymerSize']):
+ molecules = self.readTargetMolecules()
+ data['TargetMolecules'].append(molecules)
+
+ data['SharedMolecules'] = []
+ for i in range(self.header['thePolymerSize']):
+ molecule = self.readSharedMolecules()
+ data['SharedMolecules'].append(molecule)
+
+ theLogMarker0 = struct.unpack('I', self.logfile.read(4))[0]
+ if theLogMarker0 != self.header['theLogMarker']:
+ print '[ERROR]\tthe log marker is different!'
+ sys.exit()
+
+ data['Polymers'] = []
+ for i in range(self.header['thePolymerSize']):
+ polymer = self.readPolymers()
+ data['Polymers'].append(polymer)
+
+ data['OffLattice'] = []
+ for i in range(self.header['theOffLatticeSpSize']):
+ offLattice = self.readOffLattice()
+ data['OffLattice'].append(offLattice)
+
+ theLogMarker1 = struct.unpack('I', self.logfile.read(4))[0]
+ if theLogMarker1 != self.header['theLogMarker']:
+ print '[ERROR]\tthe log marker is different!'
+ sys.exit()
+
+ return data
+
+
+ def skipSpecies(self):
+
+ self.logfile.seek(8,1)
+
+ for i in range(self.header['theLatticeSpSize']):
+ self.skipMolecules()
+
+ for i in range(self.header['thePolymerSize']):
+ self.skipSourceMolecules()
+
+ for i in range(self.header['thePolymerSize']):
+ self.skipTargetMolecules()
+
+ for i in range(self.header['thePolymerSize']):
+ self.skipSharedMolecules()
+
+ theLogMarker0 = struct.unpack('I', self.logfile.read(4))[0]
+ if theLogMarker0 != self.header['theLogMarker']:
+ print '[ERROR]\tthe log marker is different!'
+ sys.exit()
+
+ for i in range(self.header['thePolymerSize']):
+ polymer = self.skipPolymers()
+
+ for i in range(self.header['theOffLatticeSpSize']):
+ offLattice = self.skipOffLattice()
+
+
+ theLogMarker1 = struct.unpack('I', self.logfile.read(4))[0]
+ if theLogMarker1 != self.header['theLogMarker']:
+ print '[ERROR]\tthe log marker is different!'
+ sys.exit()
+
+ def skipSpeciesTo(self, index):
+ currentSeek = self.tell()
+ self.logfile.seek(self.headerSeek)
+
+ for i in range(index):
+ self.skipSpecies()
+ if self.isEnd():
+ self.logfile.seek(currentSeek)
+ print index," is out of bound."
+ return
+
+ return self.readSpecies()
+
+
+ def readMolecules(self):
+ '''
+ read aSpecies->getCoord(i) i(0:aSpecies->size())
+ '''
+ molecules = {}
+ (index, size) = struct.unpack('ii', self.logfile.read(8))
+ molecules['index'] = index
+ molecules['Coords'] = []
+ for i in range(size):
+ aCoord = struct.unpack('I', self.logfile.read(4))[0]
+ molecules['Coords'].append(aCoord)
+ return molecules
+
+
+ def skipMolecules(self):
+ self.logfile.seek(4,1)
+ size = struct.unpack('i', self.logfile.read(4))[0]
+ self.logfile.seek(4*size,1)
+
+
+ def readSourceMolecules(self):
+ '''
+ read aSpecies->getSourceCoords()
+ '''
+ data = {}
+ (aSourceIndex, aSize) = struct.unpack('ii', self.logfile.read(8))
+ data['index'] = aSourceIndex
+ data['Coords'] = []
+ for i in range(aSize):
+ aCoord = struct.unpack('I', self.logfile.read(4))[0]
+ data['Coords'].append(aCoord)
+ return data
+
+
+ def skipSourceMolecules(self):
+ self.logfile.seek(4,1)
+ size = struct.unpack('i', self.logfile.read(4))[0]
+ self.logfile.seek(4*size)
+
+
+ def readTargetMolecules(self):
+ '''
+ read aSpecies->getTargetCoords()
+ '''
+ data = {}
+ (aTargetIndex, aSize) = struct.unpack('ii', self.logfile.read(8))
+ data['index'] = aTargetIndex
+ data['Coords'] = []
+ for i in range(aSize):
+ aCoord = struct.unpack('I', self.logfile.read(4))[0]
+ data['Coords'].append(aCoord)
+ return data
+
+
+ def readTargetMolecules(self):
+ self.logfile.seek(4,1)
+ size = struct.unpack('i', self.logfile.read(4))[0]
+ self.logfile.seek(4*size)
+
+
+ def readSharedMolecules(self):
+ '''
+ read aSpecies->getSharedCoords()
+ '''
+ data = {}
+ (aSharedIndex, aSize) = struct.unpack('ii', self.logfile.read(8))
+ data['index'] = aSharedIndex
+ data['Coords'] = []
+ for i in range(aSize):
+ aCoord = struct.unpack('I', self.logfile.read(4))[0]
+ data['Coords'].append(aCoord)
+ return data
+
+ def skipSharedMolecules(self):
+ self.logfile.seek(4,1)
+ size = struct.unpack('i', self.logfile.read(4))[0]
+ self.logfile.seek(4*size)
+
+
+ def readPolymers(self):
+ '''
+ read aSpecies->getPoint(i) i(0:aSpecies->size())
+ '''
+ data = {}
+ (anIndex, aSize) = struct.unpack('ii', self.logfile.read(8))
+ data['index'] = anIndex
+ data['Points'] = []
+ for i in range(aSize):
+ (x, y, z) = struct.unpack('ddd', self.logfile.read(8*3))
+ data['Points'].append({'x':x, 'y':y, 'z':z})
+ return data
+
+ def skipPolymers(self):
+ self.logfile.seek(4,1)
+ size = struct.unpack('i', self.logfile.read(4))[0]
+ self.logfile.seek(24*size)
+
+
+ def readOffLattice(self):
+ '''
+ read aSpecies->getPoint(i)
+ or aSpecies->getMultiscaleStructurePoint(i) i(0:aSpecies->size())
+ '''
+ data = {}
+ (anIndex, aSize) = struct.unpack('ii', self.logfile.read(8))
+ data['index'] = anIndex
+ data['Points'] = []
+ for i in range(aSize):
+ (x, y, z) = struct.unpack('ddd', self.logfile.read(8*3))
+ data['Points'].append({'x':x, 'y':y, 'z':z})
+ return data
+
+ def skipOffLattice(self):
+ self.logfile.seek(4,1)
+ size = struct.unpack('i', self.logfile.read(4))[0]
+ self.logfile.seek(24*size)
+
diff --git a/python/lib/ecell4/util/legacy/species.py b/python/lib/ecell4/util/legacy/species.py
new file mode 100644
index 0000000..a8d9c72
--- /dev/null
+++ b/python/lib/ecell4/util/legacy/species.py
@@ -0,0 +1,1431 @@
+import copy
+import itertools
+import sys
+
+import options
+
+
+label_subunit = lambda x: "subunit%s" % x
+label_binding = lambda x: "binding%s" % x
+label_domain = lambda x, y: "_%s__%s" % (x, y)
+
+def is_label_domain(key, subunit):
+ header = "_%s__" % subunit
+ return (len(key) > len(header) and key[: len(header)] == header)
+
+class Species(object):
+
+ def __init__(self):
+ self.subunits = []
+
+ self.conditions = None
+
+ def num_bindings(self):
+ labels, n = [], 0
+ for subunit in self.subunits:
+ for mod, (state, binding) in subunit.modifications.items():
+ if binding == "":
+ continue
+ elif binding[0] == "_":
+ if len(binding) != 1:
+ raise RuntimeError, "[%s] not supported yet." % binding
+ n += 1
+ else:
+ labels.append(int(binding))
+ return n + len(set(labels))
+
+ def get_binding_stride(self):
+ retval = 0
+ for subunit in self.subunits:
+ for mod, (state, binding) in subunit.modifications.items():
+ if binding != "" and binding[0] != "_":
+ retval = max(retval, int(binding))
+ return retval
+
+ def update_indices(self):
+ for i, subunit in enumerate(self.subunits):
+ subunit.index = i
+
+ def add_subunit(self, subunit):
+ subunit.index = len(self.subunits)
+ self.subunits.append(subunit)
+
+ def get_subunit_list(self):
+ return self.subunits
+
+ def num_subunits(self, pttrn=None):
+ if pttrn is None:
+ return len(self.subunits)
+
+ retval = 0
+ for su in self.subunits:
+ if su.name == pttrn:
+ retval += 1
+ return retval
+
+ def generate_conditions(self, stride=0):
+ conditions = []
+ for i, subunit in enumerate(self.subunits):
+ conditions.extend(
+ subunit.generate_conditions(label_subunit(stride + i)))
+ conditions.sort(key=lambda x: x.priority)
+ return conditions
+
+ def match(self, sp, contexts=None, stride=None):
+ if contexts is None:
+ contexts = Contexts()
+ contexts.initialize()
+ elif len(contexts) == 0:
+ return contexts
+
+ if stride is None:
+ stride = contexts.num_subunits()
+
+ if self.conditions is None:
+ self.conditions = self.generate_conditions(stride)
+
+ for condition in self.conditions:
+ contexts = condition.match(sp, contexts)
+ if len(contexts) == 0:
+ break
+
+ # conditions = self.generate_conditions(stride)
+
+ # for condition in conditions:
+ # contexts = condition.match(sp, contexts)
+ # if len(contexts) == 0:
+ # break
+
+ contexts.clear_locals()
+ return contexts
+
+ def sort(self):
+ cmpsu = CmpSubunit(self)
+ cmpsu.sort()
+
+ def __str__(self):
+ # self.sort() #XXX: check if it's already sorted or not
+ return ".".join([str(subunit) for subunit in self.subunits])
+
+ def __repr__(self):
+ return '<"%s">' % (str(self))
+
+ def __eq__(self, rhs):
+ if len(self.subunits) != len(rhs.subunits):
+ # quick filtering
+ return False
+ else:
+ return (len(self.match(rhs)) > 0 and len(rhs.match(self)) > 0)
+
+class Subunit(object):
+
+ def __init__(self, name):
+ self.name = name
+ self.modifications = {}
+ self.exclusions = []
+ self.domain_classes = {}
+ self.commutatives = Commutatives()
+
+ self.index = None #XXX
+
+ def get_name(self):
+ return self.name
+
+ def generate_conditions(self, key):
+ conditions = []
+ conditions.append(SubunitContainingCondition(key, self.name))
+ for mod in self.exclusions:
+ conditions.append(
+ ExcludedModificationCondition(key, mod))
+
+ for mod, value in self.domain_classes.items():
+ conditions.append(
+ DomainClassCondition(key, mod, value))
+
+ for value in self.commutatives.as_sets():
+ conditions.append(
+ CommutativeCondition(key, value))
+
+ for mod, (state, binding) in self.modifications.items():
+ conditions.append(
+ ModificationNameCondition(key, mod))
+ conditions.append(
+ ModificationBindingCondition(key, mod, binding))
+ if state != "":
+ conditions.append(
+ ModificationStateCondition(key, mod, state))
+ return conditions
+
+ def add_modification(self, mod, state="", binding=""):
+ if isinstance(binding, str) and len(binding) > 1 and binding[0] == "_":
+ raise RuntimeError, "A binding label [%s] not allowed" % (binding)
+
+ self.modifications[mod] = (state, str(binding))
+
+ def get_modifications_list(self):
+ return self.modifications
+
+ def add_exclusion(self, mod):
+ if not mod in self.exclusions:
+ self.exclusions.append(mod)
+
+ def add_domain_class(self, mod, value):
+ if (not (isinstance(value, list) or isinstance(value, tuple))
+ or len(value) == 0):
+ raise ValueError, "Invalid argument [%s] given." % str(value)
+
+ self.domain_classes[mod] = value
+
+ def set_commutative(self, mods):
+ self.commutatives.set_commutative(*mods)
+
+ def __str__(self):
+ mods1 = ["~%s" % (mod) for mod in self.exclusions]
+
+ mods2, mods3 = [], []
+ for mod, (state, binding) in self.modifications.items():
+ if state == "":
+ if binding != "":
+ mods2.append("%s^%s" % (mod, binding))
+ else:
+ mods2.append(mod)
+ elif binding == "":
+ mods3.append("%s=%s" % (mod, state))
+ else:
+ mods3.append("%s=%s^%s" % (mod, state, binding))
+
+ mods4 = ["%s=[%s]" % (mod, ",".join([str(elem) for elem in value]))
+ for mod, value in self.domain_classes.items()]
+
+ mods5 = ["(%s)" % (",".join(subset))
+ for subset in self.commutatives.as_sets()]
+
+ mods1.sort()
+ mods2.sort()
+ mods3.sort()
+ mods4.sort()
+ mods5.sort()
+
+ labels = ",".join(itertools.chain(mods1, mods2, mods5, mods3, mods4))
+ if labels == "":
+ return self.name
+ else:
+ return "%s(%s)" % (self.name, labels)
+
+ def __repr__(self):
+ return '<"%s">' % (str(self))
+
+class Commutatives(object):
+
+ def __init__(self):
+ self.__indices = {}
+
+ def __len__(self):
+ return len(self.__indices)
+
+ def keys(self):
+ return self.__indices.keys()
+
+ def get_commutatives(self, key1):
+ idx1 = self.__indices.get(key1)
+ if idx1 is None:
+ return []
+ else:
+ return [key2 for key2, idx2 in self.__indices.items()
+ if idx2 == idx1]
+
+ def set_commutative(self, *keys):
+ if len(keys) == 0:
+ return
+
+ collection, newset = [], []
+ for key in keys:
+ if key in self.__indices.keys():
+ collection.append(self.__indices[key])
+ else:
+ newset.append(key)
+
+ if len(collection) == 0:
+ newidx = (max(self.__indices.values()) + 1
+ if len(self.__indices) > 0 else 1)
+ else:
+ newidx = min(collection)
+ for key in self.__indices.keys():
+ if self.__indices[key] in collection:
+ self.__indices[key] = newidx
+
+ for key in newset:
+ self.__indices[key] = newidx
+
+ def is_commutative(self, *keys):
+ if len(keys) < 2:
+ raise RuntimeError, "at least two keys must be given"
+
+ idx1 = self.__indices.get(keys[0])
+ if idx1 is None:
+ # raise RuntimeError, "an invalid key [%s] given" % (keys[0])
+ return False
+
+ for key in keys[1: ]:
+ idx2 = self.__indices.get(key)
+ if idx2 is None:
+ # raise RuntimeError, "an invalid key [%s] given" % (key)
+ return False
+ elif idx2 != idx1:
+ return False
+ return True
+
+ def is_comprised(self, com):
+ if len(com) < len(self):
+ return False
+
+ for subset in self.as_sets():
+ if not com.is_commutative(*subset):
+ return False
+ return True
+
+ def as_sets(self):
+ return commutative_generator(self.__indices)
+
+def commutative_generator(indices):
+ i, done, keys = 0, [], indices.keys()
+
+ for i in range(len(keys)):
+ value = indices[keys[i]]
+ if value in done:
+ continue
+ done.append(value)
+ retval = [key for key in keys[i: ] if indices[key] == value]
+ retval.sort()
+ yield tuple(retval)
+
+def check_connectivity(src, markers=[]):
+ adjacencies = {}
+ tmp = {}
+ for i, su in enumerate(src.subunits):
+ adjacencies[i] = []
+ for mod, (state, binding) in su.modifications.items():
+ if binding == "":
+ continue
+
+ if binding in tmp.keys():
+ if tmp[binding] is None:
+ raise RuntimeError, "[%s] duplicated in [%s:%d]" % (
+ binding, src, src.get_binding_stride())
+
+ adjacencies[i].append(tmp[binding])
+ adjacencies[tmp[binding]].append(i)
+ tmp[binding] = None
+ else:
+ tmp[binding] = i
+ for binding, value in tmp.items():
+ if value is not None:
+ raise RuntimeError, "no target for [%s] in [%s]" % (binding, src)
+
+ L = list(range(len(src.subunits)))
+ Ks = []
+ while len(L) != 0:
+ K = [L.pop()]
+ reconnect(L, K, adjacencies)
+ Ks.append(K)
+
+ if len(Ks) == 0:
+ return (None, [None for _ in markers])
+ elif len(Ks) == 1:
+ return ((src, ), [0 for _ in markers])
+ else:
+ products, correspondence = [], [None for _ in markers]
+ for K in Ks:
+ sp = Species()
+ for i in K:
+ sp.add_subunit(copy.deepcopy(src.subunits[i]))
+ if src.subunits[i].index in markers:
+ correspondence[markers.index(src.subunits[i].index)] = len(products)
+ sp.update_indices()
+ products.append(sp)
+ return (tuple(products), correspondence)
+
+def reconnect(L, K, adjacencies):
+ src = K[-1]
+ for i in adjacencies[src]:
+ if not i in K:
+ if i in L:
+ L.remove(i)
+ K.append(i)
+ reconnect(L, K, adjacencies)
+
+def concatenate_species(*species_list):
+ retval, stride = Species(), 0
+ for sp in species_list:
+ for su in sp.subunits:
+ newsu = Subunit(su.name)
+ for mod in su.exclusions:
+ newsu.add_exclusion(mod)
+ for key, value in su.domain_classes.items():
+ newsu.add_domain_class(key, value)
+ for subset in su.commutatives.as_sets():
+ newsu.set_commutative(subset)
+ for mod, (state, binding) in su.modifications.items():
+ if binding != "" and binding[0] != "_":
+ if not binding.isdigit():
+ raise RuntimeError
+ binding = int(binding) + stride
+ newsu.add_modification(mod, state, binding)
+ retval.add_subunit(newsu)
+ stride += sp.get_binding_stride()
+ retval.update_indices()
+ return retval
+
+class ReactionRule(object):
+
+ def __init__(self, reactants, products, opts=[]):
+ self.__reactants = reactants
+ self.__products = products
+ self.__options = opts
+
+ self.initialize()
+
+ def reactants(self):
+ return copy.deepcopy(self.__reactants)
+
+ def products(self):
+ return copy.deepcopy(self.__products)
+
+ def options(self):
+ # return copy.deepcopy(self.__options)
+ return self.__options
+
+ def num_reactants(self):
+ return len(self.__reactants)
+
+ def num_products(self):
+ return len(self.__products)
+
+ def initialize(self):
+ self.__correspondences = []
+ self.__removed = []
+
+ reactant_subunits = list(itertools.chain(
+ *[sp.subunits for sp in self.__reactants]))
+ product_subunits = list(itertools.chain(
+ *[sp.subunits for sp in self.__products]))
+ num_subunits = len(reactant_subunits)
+
+ for i, su1 in enumerate(product_subunits):
+ for j, su2 in enumerate(reactant_subunits):
+ if (su1.name == su2.name
+ and set(su1.exclusions) == set(su2.exclusions)
+ and set(su1.modifications.keys())
+ == set(su2.modifications.keys())
+ and set(su1.domain_classes.keys())
+ == set(su2.domain_classes.keys())
+ and set(su1.domain_classes.values())
+ == set(su2.domain_classes.values())):
+ if len(self.__correspondences) > i:
+ # raise RuntimeError, "multiple correspondence found [%s]" % su1
+ print "WARN: multiple correspondence found [%s]" % su1
+ elif j in self.__correspondences:
+ print "WARN: multiple correspondence skipped [%s]" % su1
+ else:
+ self.__correspondences.append(j)
+ if len(self.__correspondences) == i:
+ self.__correspondences.append(num_subunits)
+ num_subunits += 1
+
+ for i in range(len(reactant_subunits)):
+ if not i in self.__correspondences:
+ self.__removed.append(i)
+
+ def __generate(self, context, reactants):
+ def serno(idx):
+ value = context.get(label_subunit(idx))
+ if value is None:
+ raise RuntimeError, (
+ "no corresponding subunit found [%s]" % label_subunit(idx))
+
+ i, stride1, stride2 = 0, 0, 0
+ while i < len(self.__reactants):
+ stride1 += len(self.__reactants[i].subunits)
+ if idx < stride1:
+ return value.index + stride2
+ stride2 += len(reactants[i].subunits)
+ i += 1
+
+ raise RuntimeError, (
+ "an invalid subunit given [%s]" % label_subunit(idx))
+
+ reactant_subunits = list(itertools.chain(
+ *[sp.subunits for sp in self.__reactants]))
+ product_subunits = list(itertools.chain(
+ *[sp.subunits for sp in self.__products]))
+ num_subunits = len(reactant_subunits)
+
+ indices = [serno(i) for i in range(num_subunits)]
+
+ if len(indices) != len(set(indices)):
+ return None, None
+
+ retval = concatenate_species(*reactants)
+ cache_binding = {}
+ new_correspondence = []
+
+ for i, subunit in enumerate(product_subunits):
+ correspondence = self.__correspondences[i]
+
+ if correspondence >= len(reactant_subunits):
+ retval.add_subunit(copy.deepcopy(subunit))
+ target = retval.subunits[-1]
+ else:
+ target = retval.subunits[serno(correspondence)]
+ new_correspondence.append(target.index)
+
+ # for mod in subunit.exclusions:
+ # pass
+
+ for mod, (state, binding) in subunit.modifications.items():
+ if correspondence < len(reactant_subunits):
+ if mod == "":
+ raise RuntimeError, "an empty name for modification given."
+ elif mod[0] != "_":
+ label = label_domain(label_subunit(correspondence), mod)
+ elif mod in context.keys():
+ label = mod
+ else:
+ raise RuntimeError, "invalid name [%s] given." % mod
+
+ mod = context.get(label)
+ if mod is None:
+ raise RuntimeError, (
+ "no corresponding context found [%s]" % mod)
+
+ value = target.modifications.get(mod)
+ if value is None:
+ newstate, newbinding = "", ""
+ else:
+ newstate, newbinding = value
+
+ if state == "":
+ pass
+ elif state[0] == "_":
+ if len(state) == 1:
+ pass
+ else:
+ newstate = context[state]
+ else:
+ newstate = state
+
+ if binding == "":
+ newbinding = ""
+ elif binding[0] == "_":
+ if len(binding) == 1:
+ pass
+ else:
+ newbinding = context[binding] #XXX this seems problematic
+ else:
+ stride = 0
+ for j, product in enumerate(self.__products):
+ stride += len(product.subunits)
+ if stride > i:
+ label = int(binding) * len(self.__products) + j
+ break
+
+ if label in cache_binding.keys():
+ newbinding = cache_binding[label]
+ else:
+ newbinding = str(retval.get_binding_stride() + 1)
+ cache_binding[label] = newbinding
+
+ target.add_modification(mod, newstate, newbinding)
+
+ removed = [serno(i) for i in self.__removed]
+ removed.sort()
+ for i in reversed(removed):
+ su = retval.subunits.pop(i)
+ # retval.update_indices()
+
+ markers, stride = [], 0
+ for sp in self.__products:
+ markers.append(new_correspondence[stride])
+ stride += len(sp.subunits)
+
+ return check_connectivity(retval, markers)
+
+ def check_options(self, reactants, products, context, corresp=None):
+ for opt in self.__options:
+ if isinstance(opt, options.Option):
+ if not opt.check(reactants, products, context, corresp):
+ return opt.get(reactants, products, context, corresp)
+ else:
+ return opt
+ return 0.0 # default
+
+ def match(self, *reactants):
+ contexts = None
+ if len(self.__reactants) != len(reactants):
+ return contexts
+
+ for sp1, sp2 in zip(self.__reactants, reactants):
+ contexts = sp1.match(sp2, contexts)
+ return contexts
+
+ def match_partial(self, idx, sp, contexts=None):
+ if idx < 0 or idx >= len(self.__reactants):
+ raise RuntimeError, "invalid index [%d] given." % (idx)
+
+ if idx == 0:
+ stride = 0
+ else:
+ stride = sum([
+ self.__reactants[i].num_subunits() for i in range(idx)])
+
+ return self.__reactants[idx].match(sp, contexts, stride)
+
+ def generate(self, reactants, contexts=None):
+ if type(reactants) not in (list, tuple):
+ # just for the safety. remove this later
+ raise RuntimeError, "invalid argument [%s] given." % (
+ str(reactants))
+
+ if contexts is None:
+ contexts = self.match(*reactants)
+
+ if contexts is None or len(contexts) == 0:
+ return []
+ # elif len(self.__products) == 0:
+ # return [()]
+
+ retval = []
+ for context in contexts:
+ products, corresp = self.__generate(context, reactants)
+ if products is None:
+ continue
+
+ if len(self.__options) > 0:
+ opt = self.check_options(reactants, products, context, corresp)
+ if opt is not None:
+ reaction = (copy.deepcopy(reactants), products, opt)
+ retval.append(reaction)
+ else:
+ reaction = (copy.deepcopy(reactants), products, None)
+ retval.append(reaction)
+ return retval
+
+ def __str__(self):
+ return "%s>%s" % (
+ "+".join([str(sp) for sp in self.__reactants]),
+ "+".join([str(sp) for sp in self.__products]))
+
+ def is_degradation(self):
+ return len(self.__products) == 0
+
+ def is_synthesis(self):
+ return len(self.__reactants) == 0
+
+class Condition(object):
+
+ def __init__(self):
+ self.priority = 0
+
+ def match(self, sp, contexts):
+ return None
+
+class DomainClassCondition(Condition):
+
+ def __init__(self, key, name, values):
+ Condition.__init__(self)
+
+ self.key_subunit = key
+ self.name = name
+
+ self.size_values = len(values)
+ self.named, self.unnamed = [], []
+ for value in values:
+ if value[0] == "_":
+ if len(value) > 1:
+ if value in self.unnamed:
+ raise RuntimeError, "key [%s] is not unique." % value
+ self.unnamed.append(value)
+ else:
+ self.named.append(value)
+
+ def predicator(self, subunit, name):
+ values = subunit.domain_classes.get(self.name)
+ return (values is not None) and (name in values)
+
+ def generator(self, subunit):
+ values = subunit.domain_classes.get(self.name)
+ if values is None or len(values) < self.size_values:
+ return None
+
+ values = set(values)
+ for value in self.named:
+ if value not in values:
+ return None
+ else:
+ values.remove(value)
+
+ return list(itertools.permutations(values, self.size_unnamed))
+
+ def match(self, sp, contexts):
+ if (self.name == "" or
+ (self.name[0] == "_" and not contexts.has_key(self.name))):
+ raise RuntimeError, "[%s] not defined." % self.name
+
+ retval = contexts
+
+ unnamed = copy.copy(self.unnamed)
+ for key in self.unnamed:
+ if contexts.has_key(key):
+ # raise RuntimeError, "key [%s] already assigned" % key
+ unnamed.remove(key)
+ retval = retval.filter2(self.predicator, self.key_subunit, key)
+ self.size_unnamed = len(unnamed) # this must be immutable in generator
+
+ retval = retval.product_any(
+ self.generator, self.key_subunit, unnamed)
+ return retval
+
+class CommutativeCondition(Condition):
+
+ def __init__(self, key, doms):
+ Condition.__init__(self)
+
+ self.key_subunit = key
+ self.doms = doms
+
+ for dom in doms:
+ if dom[0] == "_":
+ raise RuntimeError, (
+ "a commutative definition for [%s] not allowed" % (dom))
+
+ def predicator(self, subunit):
+ # for dom in self.doms:
+ # if dom not in subunit.commutatives.keys():
+ # return False
+ return subunit.commutatives.is_commutative(*self.doms)
+
+ def match(self, sp, contexts):
+ return contexts.filter1(self.predicator, self.key_subunit)
+
+class ModificationNameCondition(Condition):
+
+ def __init__(self, key, mod):
+ Condition.__init__(self)
+
+ self.key_subunit = key
+ self.mod = mod
+
+ def generator(self, subunit):
+ value = subunit.modifications.get(self.mod)
+ if value is None:
+ value = subunit.domain_classes.get(self.mod)
+ if value is None:
+ return []
+ else:
+ return list(value)
+ elif self.mod in subunit.commutatives.keys():
+ return subunit.commutatives.get_commutatives(self.mod)
+ else:
+ return [self.mod]
+
+ def match(self, sp, contexts):
+ if self.mod == "":
+ raise RuntimeError, "an empty name for modification given."
+ elif self.mod[0] == "_" and not contexts.has_key(self.mod):
+ raise RuntimeError, "[%s] not defined." % self.mod
+
+ if self.mod[0] != "_":
+ label_key = label_domain(self.key_subunit, self.mod)
+
+ retval = contexts.product2(
+ self.generator, self.key_subunit, label_key)
+ if retval is None or len(retval) == 0:
+ return retval
+
+ keys = [key for key in retval.keys()
+ if is_label_domain(key, self.key_subunit) and key != label_key]
+ if len(keys) > 0:
+ return retval.filter_unique(label_key, keys) #XXX: an irregular use of Contexts
+ else:
+ return retval
+ elif contexts.has_key(self.mod):
+ return contexts
+ else:
+ raise RuntimeError, "invalid name [%s] given." % self.mod
+
+class SubunitContainingCondition(Condition):
+
+ def __init__(self, key, name):
+ Condition.__init__(self)
+ self.key_subunit = key
+ self.name = name
+
+ def predicator(self, subunit, name):
+ return (subunit.name == name)
+
+ def modifier(self, subunit):
+ return subunit.name
+
+ def match(self, sp, contexts):
+ if self.name[0] == "_":
+ pttrn = copy.copy(sp.subunits)
+ retval = contexts.product(self.key_subunit, pttrn)
+ if len(self.name) == 1 or len(pttrn) == 0:
+ return retval
+ elif contexts.has_key(self.name):
+ return retval.filter2(self.predicator, self.key_subunit, self.name)
+ else:
+ return retval.update(self.modifier, self.key_subunit, self.name)
+ else:
+ pttrn = [subunit for subunit in sp.subunits
+ if subunit.name == self.name]
+ return contexts.product(self.key_subunit, pttrn)
+
+class ModificationStateCondition(Condition):
+
+ def __init__(self, key, mod, state):
+ Condition.__init__(self)
+ self.key_subunit = key
+ self.mod = mod
+ self.state = state
+
+ def predicator1(self, subunit, mod):
+ value = subunit.modifications.get(mod)
+ return (value is not None and value[0] == self.state)
+
+ def predicator2(self, subunit, mod):
+ value = subunit.modifications.get(mod)
+ return value is not None
+
+ def predicator3(self, subunit, mod, state):
+ value = subunit.modifications.get(mod)
+ return value[0] == state
+
+ def modifier(self, subunit, mod):
+ return subunit.modifications.get(mod)[0]
+
+ def match(self, sp, contexts):
+ if self.mod == "":
+ raise RuntimeError, "an empty name for modification given."
+ elif self.mod[0] != "_":
+ label = label_domain(self.key_subunit, self.mod)
+ elif contexts.has_key(self.mod):
+ label = self.mod
+ else:
+ raise RuntimeError, "invalid name [%s] given." % self.mod
+
+ if self.state[0] != "_":
+ return contexts.filter2(
+ self.predicator1, self.key_subunit, label)
+ elif len(self.state) == 1: # self.state == "_"
+ return contexts.filter2(
+ self.predicator2, self.key_subunit, label)
+ elif contexts.has_key(self.state):
+ return contexts.filter3(
+ self.predicator3, self.key_subunit, label, self.state)
+ else:
+ return contexts.update2(
+ self.modifier, self.key_subunit, label, self.state)
+
+class ModificationBindingCondition(Condition):
+
+ def __init__(self, key, mod, binding):
+ Condition.__init__(self)
+ self.key_subunit = key
+ self.mod = mod
+ self.binding = binding
+
+ if self.binding == "":
+ self.key_binding = ""
+ elif self.binding[0] == "_":
+ self.key_binding = self.binding
+ else:
+ self.key_binding = label_binding(self.binding)
+
+ def predicator1(self, subunit, mod):
+ check_binding = (
+ (lambda x: x != "") if self.binding == "_" else
+ (lambda x: x == ""))
+ value = subunit.modifications.get(mod)
+ return (value is not None and check_binding(value[1]))
+
+ def predicator2(self, subunit, mod, target):
+ value = subunit.modifications.get(mod)
+ return (value is not None and value[1] == target)
+
+ def modifier1(self, subunit, mod):
+ value = subunit.modifications.get(mod)
+ if (value is not None and value[1] != ""):
+ return value[1]
+ else:
+ return None
+
+ def modifier2(self, subunit, mod):
+ value = subunit.modifications.get(mod)
+ if (value is not None and value[1] != ""):
+ return value[1]
+ else:
+ return None
+
+ def match(self, sp, contexts):
+ if self.mod == "":
+ raise RuntimeError, "an empty name for modification given."
+ elif self.mod[0] != "_":
+ label = label_domain(self.key_subunit, self.mod)
+ elif contexts.has_key(self.mod):
+ label = self.mod
+ else:
+ raise RuntimeError, "invalid name [%s] given." % self.mod
+
+ if self.binding == "_" or self.binding == "":
+ return contexts.filter2(
+ self.predicator1, self.key_subunit, label)
+ elif contexts.has_key(self.key_binding):
+ return contexts.filter3(
+ self.predicator2, self.key_subunit, label, self.key_binding)
+ else:
+ return contexts.update2(
+ self.modifier1, self.key_subunit, label, self.key_binding)
+
+class ExcludedModificationCondition(Condition):
+
+ def __init__(self, key, mod):
+ Condition.__init__(self)
+ self.key_subunit = key
+ self.mod = mod
+
+ def predicator(self, subunit):
+ if subunit.modifications.get(self.mod) is not None:
+ return False
+ else:
+ return (subunit.domain_classes.get(self.mod) is None)
+
+ def match(self, sp, contexts):
+ return contexts.filter1(self.predicator, self.key_subunit)
+
+class Contexts(object):
+
+ def __init__(self):
+ self.__data = []
+ self.__keys = None
+
+ def __iter__(self):
+ return iter(self.__data)
+
+ def __len__(self):
+ return len(self.__data)
+
+ def __str__(self):
+ return str(self.__data)
+
+ def initialize(self):
+ if self.__keys is not None:
+ raise RuntimeError, "initialized called twice."
+
+ self.__keys = []
+ self.__data = [{}]
+
+ def clear_locals(self):
+ if self.__keys is None:
+ return
+
+ for i, key in reversed(zip(range(len(self.__keys)), self.__keys)):
+ if key[0] != "_" and (len(key) > 7 and key[: 7] != "subunit"):
+ for data in self.__data:
+ del data[key]
+ self.__keys.pop(i)
+
+ def _append(self, value):
+ if not isinstance(value, dict):
+ raise RuntimeError
+
+ if self.__keys is None:
+ self.__keys = value.keys()
+ else:
+ if len(value) != len(self.__keys):
+ raise RuntimeError, "invalid keys [%s] given." % (value.keys())
+ for key in value.keys():
+ if not key in self.__keys:
+ raise RuntimeError, "invalid key [%s] found." % (key)
+
+ self.__data.append(value)
+
+ def has_key(self, key):
+ return (key in self.__keys)
+
+ def keys(self):
+ return copy.copy(self.__keys)
+
+ def __str__(self):
+ return str(self.__data)
+
+ def num_subunits(self):
+ indices = [
+ int(key[7: ]) for key in self.__keys if key[: 7] == "subunit"]
+ if len(indices) == 0:
+ return 0
+ else:
+ return max(indices) + 1
+ # return len([key for key in self.__keys if key[: 7] == "subunit"])
+
+ def product(self, key, values):
+ """key is always a subunit."""
+ if self.has_key(key):
+ raise RuntimeError, "key [%s] already exists." % (key)
+
+ retval = Contexts()
+ for context in self.__data:
+ for value in values:
+ newcontext = copy.copy(context)
+ newcontext[key] = value
+ retval._append(newcontext)
+ return retval
+
+ def product2(self, generator, key1, key2):
+ """key1 is always a subunit."""
+ if self.has_key(key2):
+ raise RuntimeError, "key [%s] already exists." % (key2)
+ elif not self.has_key(key1):
+ raise RuntimeError, "invalid key [%s] found." % (key1)
+
+ retval = Contexts()
+ for context in self.__data:
+ values = generator(context[key1])
+ for value in values:
+ if value is None:
+ continue
+ newcontext = copy.copy(context)
+ newcontext[key2] = value
+ retval._append(newcontext)
+ return retval
+
+ def product_any(self, generator, key, newkeys):
+ if not self.has_key(key):
+ raise RuntimeError, "invalid key [%s] given." % (key)
+ elif any([self.has_key(elem) for elem in newkeys]):
+ raise RuntimeError, "key [%s] already exists." % str(newkeys)
+
+ retval = Contexts()
+ for context in self.__data:
+ subsets = generator(context[key])
+ if subsets is None:
+ continue
+ for values in subsets:
+ if values is None or len(values) != len(newkeys):
+ raise RuntimeError, "invalid return value [%s]" % str(values)
+ newcontext = copy.copy(context)
+ for newkey, value in zip(newkeys, values):
+ newcontext[newkey] = value
+ retval._append(newcontext)
+ return retval
+
+ def filter1(self, predicator, key1):
+ """key1 is always a subunit."""
+ if not self.has_key(key1):
+ raise RuntimeError, "invalid key [%s] found." % (key1)
+
+ retval = Contexts()
+ for context in self.__data:
+ if predicator(context[key1]):
+ retval._append(context)
+ return retval
+
+ def filter2(self, predicator, key1, key2):
+ """key1 always indicates a subunit, but key2 doesn't."""
+ if not self.has_key(key1):
+ raise RuntimeError, "invalid key [%s] found." % (key1)
+ if not self.has_key(key2):
+ raise RuntimeError, "invalid key [%s] found." % (key2)
+
+ retval = Contexts()
+ for context in self.__data:
+ if predicator(context[key1], context[key2]):
+ retval._append(context)
+ return retval
+
+ def filter3(self, predicator, key1, key2, key3):
+ """key1 always indicates a subunit, but key2 doesn't."""
+ if not self.has_key(key1):
+ raise RuntimeError, "invalid key [%s] found." % (key1)
+ if not self.has_key(key2):
+ raise RuntimeError, "invalid key [%s] found." % (key2)
+ if not self.has_key(key3):
+ raise RuntimeError, "invalid key [%s] found." % (key3)
+
+ retval = Contexts()
+ for context in self.__data:
+ if predicator(context[key1], context[key2], context[key3]):
+ retval._append(context)
+ return retval
+
+ def filter_unique(self, newkey, keys):
+ #XXX: an irregular use of Contexts
+
+ if not self.has_key(newkey):
+ raise RuntimeError, "invalid key [%s] found." % (newkey)
+ for key in keys:
+ if not self.has_key(key):
+ raise RuntimeError, "invalid key [%s] found." % (key)
+
+ retval = Contexts()
+ for context in self.__data:
+ newvalue = context[newkey]
+ if all([context[key] != newvalue for key in keys]):
+ retval._append(context)
+ return retval
+
+ def update(self, modifier, key1, key2):
+ """key1 always indicates a subunit, but key2 doesn't."""
+ return self.product2(lambda su: [modifier(su)], key1, key2)
+
+ def update2(self, modifier, key1, key2, key3):
+ if not self.has_key(key1):
+ raise RuntimeError, "invalid key [%s] found." % (key1)
+ if not self.has_key(key2):
+ raise RuntimeError, "invalid key [%s] found." % (key2)
+ if self.has_key(key3):
+ raise RuntimeError, "key [%s] already exists." % (key3)
+
+ retval = Contexts()
+ for context in self.__data:
+ value = modifier(context[key1], context[key2])
+ if value is not None:
+ newcontext = copy.copy(context)
+ newcontext[key3] = value
+ retval._append(newcontext)
+ return retval
+
+class CmpSubunit:
+
+ def __init__(self, sp):
+ self.__species = sp
+
+ self.initialize()
+
+ def initialize(self):
+ self.__species.update_indices()
+ self.__subunits = copy.deepcopy(self.__species.subunits)
+
+ self.__bindings = {}
+ for i, su in enumerate(self.__subunits):
+ for mod, (state, binding) in su.modifications.items():
+ if binding == "":
+ continue
+ elif binding[0] == "_":
+ continue
+
+ if not binding in self.__bindings.keys():
+ self.__bindings[binding] = [(i, mod)]
+ elif len(self.__bindings[binding]) == 1:
+ self.__bindings[binding].append((i, mod))
+ else:
+ raise RuntimeError, "an invalid bindig found. [%s]" % (binding)
+
+ def sort_recurse(self, idx, stride):
+ su = self.__species.subunits[idx]
+ if su.index < 0:
+ su.index = stride
+ stride += 1
+ else:
+ return stride
+
+ mods = su.modifications.keys()
+ for mod in sorted(mods):
+ state, binding = su.modifications[mod]
+ if binding != "" and binding[0] != "_":
+ pair = self.__bindings[binding]
+ tgt_idx, tgt_mod = pair[0] if pair[1][0] == idx else pair[1]
+ stride = self.sort_recurse(tgt_idx, stride)
+ return stride
+
+ def sort(self):
+ """only available for a connected graph"""
+ self.__species.subunits.sort(cmp=self)
+ self.initialize()
+
+ for su in self.__species.subunits:
+ su.index = -1
+
+ self.sort_recurse(0, 0)
+ self.__species.subunits.sort(key=lambda su: su.index)
+ self.__species.update_indices()
+
+ stride, newbindings = 1, {}
+ for su in self.__species.subunits:
+ mods = su.modifications.keys()
+ for mod in sorted(mods):
+ state, binding = su.modifications[mod]
+ if binding == "" or binding[0] == "_":
+ continue
+
+ newbinding = newbindings.get(binding)
+
+ #XXX: updating subunits through the reference)
+ if newbinding is None:
+ su.modifications[mod] = (state, str(stride))
+ newbindings[binding] = str(stride)
+ stride += 1
+ else:
+ su.modifications[mod] = (state, newbinding)
+
+ def cmp_recurse(self, idx1, idx2, ignore):
+ if idx1 == idx2:
+ return 0
+ elif idx1 > idx2:
+ pair_key = (idx1, idx2)
+ else:
+ pair_key = (idx2, idx1)
+
+ if pair_key in ignore:
+ return 0 # already checked
+
+ su1, su2 = self.__subunits[idx1], self.__subunits[idx2]
+ if su1.name != su2.name:
+ return cmp(su1.name, su2.name)
+
+ mods1, mods2 = su1.exclusions, su2.exclusions
+ if len(mods1) != len(mods2):
+ return cmp(len(mods1), len(mods2))
+
+ mods1.sort()
+ mods2.sort()
+
+ for mod1, mod2 in zip(mods1, mods2):
+ if mod1 != mod2:
+ return cmp(mod1, mod2)
+
+ mods1, mods2 = su1.modifications.keys(), su2.modifications.keys()
+ if len(mods1) != len(mods2):
+ return cmp(len(mods1), len(mods2))
+
+ mods1.sort()
+ mods2.sort()
+
+ for mod1, mod2 in zip(mods1, mods2):
+ if mod1 != mod2:
+ return cmp(mod1, mod2)
+
+ state1, state2 = (
+ su1.modifications[mod1][0], su2.modifications[mod2][0])
+ if state1 != state2:
+ return cmp(state1, state2)
+
+ ignore.append(pair_key)
+
+ for mod1, mod2 in zip(mods1, mods2):
+ binding1, binding2 = (
+ su1.modifications[mod1][1], su2.modifications[mod2][1])
+ if binding1 == binding2:
+ continue
+ elif binding1 == "" or binding2 == "":
+ ignore.pop()
+ return cmp(binding1, binding2)
+
+ pair1, pair2 = self.__bindings[binding1], self.__bindings[binding2]
+ tgt_idx1, tgt_mod1 = pair1[0] if pair1[1][0] == idx1 else pair1[1]
+ tgt_idx2, tgt_mod2 = pair2[0] if pair2[1][0] == idx2 else pair2[1]
+
+ if tgt_mod1 != tgt_mod2:
+ ignore.pop()
+ return cmp(tgt_mod1, tgt_mod2)
+
+ retval = self.cmp_recurse(tgt_idx1, tgt_idx2, ignore)
+ if retval != 0:
+ ignore.pop()
+ return retval
+ else:
+ ignore.pop()
+ return 0
+
+ def __call__(self, lhs, rhs):
+ return self.cmp_recurse(lhs.index, rhs.index, [])
+
+
+if __name__ == "__main__":
+ s1 = Species()
+ su1 = Subunit("X")
+ su1.add_modification("a", binding=1)
+ su1.add_modification("b", state="c")
+ s1.add_subunit(su1)
+ su2 = Subunit("X")
+ su2.add_modification("a", binding=2)
+ su2.add_modification("b", state="c", binding=1)
+ s1.add_subunit(su2)
+ su3 = Subunit("Y")
+ su3.add_modification("d", binding=2)
+ su3.add_modification("b", state="f")
+ su3.add_modification("g")
+ s1.add_subunit(su3)
+
+ s2 = Species()
+ su1 = Subunit("X")
+ su1.add_modification("a", binding="_")
+ su1.add_modification("b", state="c")
+ s2.add_subunit(su1)
+
+ s3 = Species()
+ su1 = Subunit("X")
+ su1.add_modification("a", binding=1)
+ su1.add_modification("b", binding="_")
+ s3.add_subunit(su1)
+ su2 = Subunit("Y")
+ su2.add_modification("d", binding=1)
+ s3.add_subunit(su2)
+
+ s4 = Species()
+ su1 = Subunit("X")
+ su1.add_modification("a", binding="_")
+ # su1.add_modification("a", binding="_1")
+ s4.add_subunit(su1)
+
+ s5 = Species()
+ su1 = Subunit("X")
+ su1.add_modification("a")
+ s5.add_subunit(su1)
+
+ s6 = Species()
+ su1 = Subunit("X")
+ su1.add_modification("b", binding=1)
+ s6.add_subunit(su1)
+ su2 = Subunit("X")
+ su2.add_modification("a", binding=1)
+ s6.add_subunit(su2)
+
+ s7 = Species()
+ su1 = Subunit("_")
+ su1.add_modification("b", binding="")
+ s7.add_subunit(su1)
+
+ s8 = Species()
+ su1 = Subunit("_1")
+ su1.add_modification("a", binding="1")
+ s8.add_subunit(su1)
+ su2 = Subunit("_2")
+ su2.add_modification("d", binding="1")
+ s8.add_subunit(su2)
+
+ s9 = Species()
+ su1 = Subunit("X")
+ su1.add_modification("a", binding="_1")
+ s9.add_subunit(su1)
+ su2 = Subunit("Y")
+ su2.add_modification("d", binding="_1")
+ s9.add_subunit(su2)
+
+ s10 = Species()
+ su1 = Subunit("X")
+ su1.add_modification("b", state="_1")
+ s10.add_subunit(su1)
+
+ s11 = Species()
+ su1 = Subunit("X")
+ su1.add_modification("b", state="_")
+ s11.add_subunit(su1)
+
+ print "Species1 =", s1
+
+ for pttrn in [s2, s3, s4, s5, s6, s7, s8, s9, s10, s11]:
+ print "Species Pattern =", pttrn
+ contexts = pttrn.match(s1)
+ num_patterns = len(contexts)
+ print "Match Result => %d Patterns found: %s" % (num_patterns, contexts)
+
+ # Grb2(SH2!1,SH3!2).Grb2(SH2!3,SH3!4).Grb2(SH2!5,SH3!6).Grb2(SH2!7,SH3!8).Shc(PTB!9,Y317~pY!3).Shc(PTB!10,Y317~pY!7).Sos(dom!2).Sos(dom!4).Sos(dom!6).Sos(dom!8).egf(r!11).egf(r!12).egfr(Y1068~pY!1,Y1148~pY!9,l!11,r!13).egfr(Y1068~pY!5,Y1148~pY!10,l!12,r!13)
+ # egfr(Y1148~pY!1).Shc(PTB!1,Y317~pY)
+
+ sp1 = Species()
+ su = Subunit("Grb2")
+ su.add_modification("SH2", binding=1)
+ su.add_modification("SH3", binding=2)
+ sp1.add_subunit(su)
+ su = Subunit("Grb2")
+ su.add_modification("SH2", binding=3)
+ su.add_modification("SH3", binding=4)
+ sp1.add_subunit(su)
+ su = Subunit("Grb2")
+ su.add_modification("SH2", binding=5)
+ su.add_modification("SH3", binding=6)
+ sp1.add_subunit(su)
+ # su = Subunit("Grb2")
+ # su.add_modification("SH2", binding=7)
+ # su.add_modification("SH3", binding=8)
+ # sp1.add_subunit(su)
+ su = Subunit("Shc")
+ su.add_modification("PTB", binding=9)
+ su.add_modification("Y317", state="pY", binding=3)
+ sp1.add_subunit(su)
+ su = Subunit("Shc")
+ su.add_modification("PTB", binding=10)
+ # su.add_modification("Y317", state="pY", binding=7)
+ su.add_modification("Y317", state="Y")
+ sp1.add_subunit(su)
+ su = Subunit("Sos")
+ su.add_modification("dom", binding=2)
+ sp1.add_subunit(su)
+ su = Subunit("Sos")
+ su.add_modification("dom", binding=4)
+ sp1.add_subunit(su)
+ su = Subunit("Sos")
+ su.add_modification("dom", binding=6)
+ sp1.add_subunit(su)
+ # su = Subunit("Sos")
+ # su.add_modification("dom", binding=8)
+ # sp1.add_subunit(su)
+ su = Subunit("egf")
+ su.add_modification("r", binding=11)
+ sp1.add_subunit(su)
+ su = Subunit("egf")
+ su.add_modification("r", binding=12)
+ sp1.add_subunit(su)
+ su = Subunit("egfr")
+ su.add_modification("Y1068", state="pY", binding=1)
+ su.add_modification("Y1148", state="pY", binding=9)
+ su.add_modification("l", binding=11)
+ su.add_modification("r", binding=13)
+ sp1.add_subunit(su)
+ su = Subunit("egfr")
+ su.add_modification("Y1068", state="pY", binding=5)
+ su.add_modification("Y1148", state="pY", binding=10)
+ su.add_modification("l", binding=12)
+ su.add_modification("r", binding=13)
+ sp1.add_subunit(su)
+
+ sp2 = Species()
+ su = Subunit("egfr")
+ su.add_modification("Y1068", state="pY", binding=1)
+ sp2.add_subunit(su)
+ su = Subunit("Grb2")
+ su.add_modification("SH2", binding=1)
+ su.add_modification("SH3", binding="_")
+ sp2.add_subunit(su)
+
+ print ""
+ print sp1
+ print sp2
+ print sp2.match(sp1)
+
+ sp3 = Species()
+ su = Subunit("egfr")
+ su.add_modification("r", binding="_")
+ su.add_modification("Y1148", state="pY", binding=1)
+ sp3.add_subunit(su)
+ su = Subunit("Shc")
+ su.add_modification("PTB", binding=1)
+ su.add_modification("Y317", state="Y")
+ sp3.add_subunit(su)
+
+ print sp3
+ print sp3.match(sp1)
+
+ sp4 = Species()
+ su = Subunit("Shc")
+ su.add_modification("PTB", binding=1)
+ su.add_modification("Y317", state="pY")
+ sp4.add_subunit(su)
+ su = Subunit("egfr")
+ su.add_modification("r", binding="_")
+ su.add_modification("Y1148", state="pY", binding=1)
+ sp4.add_subunit(su)
+
+ rr1 = FirstOrderReactionRule(sp3, sp4)
+ print rr1.match(sp1)
diff --git a/python/lib/ecell4/util/logger.py b/python/lib/ecell4/util/logger.py
new file mode 100644
index 0000000..876a7eb
--- /dev/null
+++ b/python/lib/ecell4/util/logger.py
@@ -0,0 +1,19 @@
+from functools import wraps
+import logging
+
+# logging.basicConfig(level=logging.DEBUG)
+
+
+def log_call(func):
+ bits = []
+ for attr in ['__module__', '__name__']:
+ if hasattr(func, attr):
+ bits.append(getattr(func, attr))
+ func_id = '.'.join(bits)
+ @wraps(func)
+ def wrapped(*args, **kwargs):
+ logging.debug("%s, args=%s, kwargs=%s" % (func_id, args, kwargs))
+ ret = func(*args, **kwargs)
+ logging.debug("%s, retval=%s" % (func_id, repr(ret)))
+ return ret
+ return wrapped
diff --git a/python/lib/ecell4/util/parseobj.py b/python/lib/ecell4/util/parseobj.py
new file mode 100644
index 0000000..e6d15da
--- /dev/null
+++ b/python/lib/ecell4/util/parseobj.py
@@ -0,0 +1,703 @@
+import operator
+import copy
+from .logger import log_call
+import inspect
+
+
+class AnyCallable:
+ """AnyCallable must be immutable.
+All the members must start with '_'."""
+
+ def __init__(self, root, name):
+ self.__root = root # a reference to a callback
+ self.__name = name
+
+ def _as_ParseObj(self):
+ return ParseObj(self.__root, self.__name)
+
+ def __getattr__(self, key):
+ return getattr(self._as_ParseObj(), key)
+
+ def __deepcopy__(self, key):
+ return AnyCallable(self.__root, self.__name)
+
+ def __coerce__(self, other):
+ return None
+
+ def __str__(self):
+ return self.__name
+
+ def __repr__(self):
+ return "<%s.%s: %s>" % (
+ self.__class__.__module__, self.__class__.__name__, str(self))
+
+ def __getitem__(self, key):
+ return operator.getitem(self._as_ParseObj(), key)
+
+ def __call__(self, *args, **kwargs):
+ return self._as_ParseObj()(*args, **kwargs)
+
+ # operators
+
+ def __inv__(self):
+ # return operator.inv(self._as_ParseObj())
+ retval = InvExp(self.__root, self)
+ self.__root.notify_unary_operations(retval)
+ return retval
+
+ def __invert__(self):
+ return self.__inv__()
+
+ def __pos__(self):
+ return operator.pos(self._as_ParseObj())
+
+ def __neg__(self):
+ return operator.neg(self._as_ParseObj())
+
+ def __xor__(self, rhs):
+ return operator.xor(self._as_ParseObj(), rhs)
+
+ def __gt__(self, rhs):
+ return operator.gt(self._as_ParseObj(), rhs)
+
+ def __eq__(self, rhs):
+ return operator.eq(self._as_ParseObj(), rhs)
+
+ def __ne__(self, rhs):
+ return operator.ne(self._as_ParseObj(), rhs)
+
+ # def __lshift__(self, rhs):
+ # return operator.lshift(self._as_ParseObj(), rhs)
+
+ # def __rlshift__(self, lhs):
+ # return operator.lshift(lhs, self._as_ParseObj())
+
+ # bitwise operations
+
+ def __or__(self, rhs):
+ return operator.or_(self._as_ParseObj(), rhs)
+
+ def __ror__(self, lhs):
+ return operator.or_(lhs, self._as_ParseObj())
+
+ def __and__(self, rhs):
+ return operator.and_(self._as_ParseObj(), rhs)
+
+ def __and__(self, lhs):
+ return operator.and_(lhs, self._as_ParseObj())
+
+ # arithmatic operators
+
+ def __add__(self, rhs):
+ return operator.add(self._as_ParseObj(), rhs)
+
+ def __radd__(self, lhs):
+ return operator.add(lhs, self._as_ParseObj())
+
+ def __sub__(self, rhs):
+ return operator.sub(self._as_ParseObj(), rhs)
+
+ def __rsub__(self, lhs):
+ return operator.sub(lhs, self._as_ParseObj())
+
+ def __div__(self, rhs):
+ return operator.div(self._as_ParseObj(), rhs)
+
+ def __rdiv__(self, lhs):
+ return operator.div(lhs, self._as_ParseObj())
+
+ def __truediv__(self, rhs):
+ return operator.truediv(self._as_ParseObj(), rhs)
+
+ def __rtruediv__(self, lhs):
+ return operator.truediv(lhs, self._as_ParseObj())
+
+ def __mul__(self, rhs):
+ return operator.mul(self._as_ParseObj(), rhs)
+
+ def __rmul__(self, lhs):
+ return operator.mul(lhs, self._as_ParseObj())
+
+ def __pow__(self, rhs):
+ return operator.pow(self._as_ParseObj(), rhs)
+
+ def __rpow__(self, lhs):
+ return operator.pow(lhs, self._as_ParseObj())
+
+class ParseElem:
+
+ def __init__(self, name):
+ self.name = name
+ self.args = None
+ self.kwargs = None
+ self.key = None
+ self.modification = None
+
+ def update_arguments(self, *args, **kwargs):
+ if self.args is None:
+ self.args = args
+ else:
+ self.args += args
+
+ if self.kwargs is None:
+ self.kwargs = kwargs
+ else:
+ self.kwargs.update(kwargs)
+
+ def set_key(self, key):
+ self.key = key
+
+ def set_modification(self, rhs):
+ self.modification = rhs
+
+ def __str__(self):
+ label = self.name
+
+ if self.args is not None or self.kwargs is not None:
+ attrs = []
+ if self.args is not None:
+ attrs += ["%s" % str(v) for v in self.args]
+ if self.kwargs is not None:
+ attrs += ["%s=%s" % (k, v) for k, v in self.kwargs.items()]
+ label += "(%s)" % (",".join(attrs))
+
+ if self.modification is not None:
+ label += "^%s" % str(self.modification)
+ if self.key is not None:
+ label += "[%s]" % str(self.key)
+ return label
+
+ def __repr__(self):
+ return "<%s.%s: %s>" % (
+ self.__class__.__module__, self.__class__.__name__, str(self))
+
+class ExpBase(object):
+
+ def __init__(self, root):
+ self.__root = root
+
+ @property
+ def _root(self):
+ return self.__root
+
+ def __repr__(self):
+ return "<%s.%s: %s>" % (
+ self.__class__.__module__, self.__class__.__name__, str(self))
+
+ def __coerce__(self, other):
+ return None
+
+ # operators
+
+ def __inv__(self):
+ retval = InvExp(self.__root, self)
+ self.__root.notify_unary_operations(retval)
+ return retval
+
+ def __invert__(self):
+ return self.__inv__()
+
+ def __pos__(self):
+ retval = PosExp(self.__root, self)
+ self.__root.notify_unary_operations(retval)
+ return retval
+
+ def __neg__(self):
+ retval = NegExp(self.__root, self)
+ self.__root.notify_unary_operations(retval)
+ return retval
+
+ # def __xor__(self, rhs):
+
+ def __gt__(self, rhs):
+ retval = GtExp(self.__root, self, rhs)
+ self.__root.notify_comparisons(retval)
+ return retval
+
+ def __eq__(self, rhs):
+ retval = EqExp(self.__root, self, rhs)
+ self.__root.notify_comparisons(retval)
+ return retval
+
+ def __ne__(self, rhs):
+ retval = NeExp(self.__root, self, rhs)
+ self.__root.notify_comparisons(retval)
+ return retval
+
+ # def __lshift__(self, rhs):
+ # retval = LshiftExp(self.__root, self, rhs)
+ # return retval
+
+ # def __rlshift__(self, lhs):
+ # retval = LshiftExp(self.__root, lhs, self)
+ # return retval
+
+ # bitwise operations
+
+ def __or__(self, rhs):
+ retval = OrExp(self.__root, self, rhs)
+ self.__root.notify_bitwise_operations(retval)
+ return retval
+
+ def __ror__(self, lhs):
+ retval = OrExp(self.__root, lhs, self)
+ self.__root.notify_bitwise_operations(retval)
+ return retval
+
+ def __and__(self, rhs):
+ retval = AndExp(self.__root, self, rhs)
+ self.__root.notify_bitwise_operations(retval)
+ return retval
+
+ def __rand__(self, lhs):
+ retval = AndExp(self.__root, lhs, self)
+ self.__root.notify_bitwise_operations(retval)
+ return retval
+
+ # operators
+
+ def __add__(self, rhs):
+ retval = AddExp(self.__root, self, rhs)
+ return retval
+
+ def __radd__(self, lhs):
+ retval = AddExp(self.__root, lhs, self)
+ return retval
+
+ def __sub__(self, rhs):
+ retval = SubExp(self.__root, self, rhs)
+ return retval
+
+ def __rsub__(self, lhs):
+ retval = SubExp(self.__root, lhs, self)
+ return retval
+
+ def __div__(self, rhs):
+ retval = DivExp(self.__root, self, rhs)
+ return retval
+
+ def __rdiv__(self, lhs):
+ retval = DivExp(self.__root, lhs, self)
+ return retval
+
+ def __truediv__(self, rhs):
+ retval = DivExp(self.__root, self, rhs)
+ return retval
+
+ def __rtruediv__(self, lhs):
+ retval = DivExp(self.__root, lhs, self)
+ return retval
+
+ def __mul__(self, rhs):
+ retval = MulExp(self.__root, self, rhs)
+ return retval
+
+ def __rmul__(self, lhs):
+ retval = MulExp(self.__root, lhs, self)
+ return retval
+
+ def __pow__(self, rhs):
+ retval = PowExp(self.__root, self, rhs)
+ return retval
+
+ def __rpow__(self, lhs):
+ retval = PowExp(self.__root, lhs, self)
+ return retval
+
+class ParseObj(ExpBase):
+ """All the members must start with '_'."""
+
+ def __init__(self, root, name=None, elems=None):
+ ExpBase.__init__(self, root)
+
+ if name is None and elems is None:
+ raise RuntimeError("a name or elements must be given")
+
+ if elems is None:
+ self._elems = []
+ else:
+ self._elems = copy.copy(elems)
+
+ if name is not None:
+ self._elems += [ParseElem(name)]
+
+ def _elements(self):
+ return copy.copy(self._elems)
+
+ def _size(self):
+ return len(self._elems)
+
+ def _last(self):
+ return self._elems[-1]
+
+ def _append(self, elem):
+ if not isinstance(elem, ParseElem):
+ raise RuntimeError("an invalid unit name was given [%s]" % (
+ str(elem)))
+ self._elems.append(elem)
+
+ def _extend(self, elems):
+ for elem in elems:
+ if not isinstance(elem, ParseElem):
+ raise RuntimeError("an invalid unit name was given [%s]" % (
+ str(elem)))
+ self._elems.extend(elems)
+
+ def _eval_last(self, *args, **kwargs):
+ obj = self._elems.pop()
+ return obj(*args, **kwargs)
+
+ def __deepcopy__(self, memo):
+ return ParseObj(self._root, elems=copy.deepcopy(self._elems))
+
+ @log_call
+ def __call__(self, *args, **kwargs):
+ if len(args) == 0 and len(kwargs) == 0:
+ return self
+
+ retval = copy.deepcopy(self)
+ retval._last().update_arguments(*args, **kwargs)
+ return retval
+
+ @log_call
+ def __getitem__(self, key):
+ retval = copy.deepcopy(self)
+ retval._last().set_key(key)
+ return retval
+
+ @log_call
+ def __xor__(self, rhs):
+ retval = copy.deepcopy(self)
+ retval._last().set_modification(rhs)
+ return retval
+
+ # @log_call #XXX: donot wrap
+ def __getattr__(self, key):
+ if key[0] == "_" and len(key) > 1 and not key[1: ].isdigit():
+ raise RuntimeError(
+ "'%s' object has no attribute '%s'"
+ % (self.__class__.__name__, key))
+
+ retval = copy.deepcopy(self)
+ calling_frame = inspect.currentframe().f_back
+
+ try:
+ obj = eval(key, calling_frame.f_globals, calling_frame.f_locals)
+ except NameError:
+ retval._append(ParseElem(key))
+ return retval
+
+ if isinstance(obj, (AnyCallable, ParseObj)):
+ retval._extend(obj._elements())
+ elif isinstance(obj, ParseElem):
+ retval._append(obj)
+ else:
+ raise ValueError(
+ "[%s] must be either ParseObj or ParseElem. [%s] given."
+ % (key, str(obj)))
+ return retval
+
+ def __str__(self):
+ labels = [str(elem) for elem in self._elems]
+ return ".".join(labels)
+
+class UnaryExp(ExpBase):
+
+ def __init__(self, root, target, opr=""):
+ ExpBase.__init__(self, root)
+ self._elems = [target]
+ self.__opr = opr
+
+ def _elements(self):
+ return copy.copy(self.__elements)
+
+ @property
+ def _target(self):
+ return self._elems[0]
+
+ def __str__(self):
+ return "%s%s" % (self.__opr, self._elems[0])
+
+class InvExp(UnaryExp):
+
+ def __init__(self, root, target):
+ UnaryExp.__init__(self, root, target, "~")
+
+ def __deepcopy__(self, memo):
+ return InvExp(self._root, copy.deepcopy(self._target))
+
+class PosExp(UnaryExp):
+
+ def __init__(self, root, target):
+ UnaryExp.__init__(self, root, target, "+")
+
+ def __deepcopy__(self, memo):
+ return PosExp(self._root, copy.deepcopy(self._target))
+
+class NegExp(UnaryExp):
+
+ def __init__(self, root, target):
+ UnaryExp.__init__(self, root, target, "-")
+
+ def __deepcopy__(self, memo):
+ return NegExp(self._root, copy.deepcopy(self._target))
+
+class AddExp(ExpBase):
+
+ def __init__(self, root, lhs, rhs):
+ ExpBase.__init__(self, root)
+
+ self._elems = []
+ self.__append(lhs)
+ self.__append(rhs)
+
+ def _elements(self):
+ return copy.copy(self._elems)
+
+ def __append(self, obj):
+ if isinstance(obj, AnyCallable):
+ self._elems.append(obj._as_ParseObj())
+ elif isinstance(obj, AddExp):
+ self._elems.extend(obj._elements())
+ else:
+ self._elems.append(obj)
+
+ def __str__(self):
+ return "(%s)" % ("+".join([str(obj) for obj in self._elems]))
+
+ def __deepcopy__(self, memo):
+ retval = AddExp(self._root, None, None)
+ retval._elems = copy.deepcopy(self._elems)
+ return retval
+
+class SubExp(ExpBase):
+
+ def __init__(self, root, lhs, rhs):
+ ExpBase.__init__(self, root)
+
+ self._elems = []
+ self.__append(lhs)
+ self.__append(rhs)
+
+ def _elements(self):
+ return copy.copy(self._elems)
+
+ def __append(self, obj):
+ if isinstance(obj, AnyCallable):
+ self._elems.append(obj._as_ParseObj())
+ elif len(self._elems) > 0 and isinstance(obj, SubExp):
+ self._elems.extend(obj._elements())
+ else:
+ self._elems.append(obj)
+
+ def __str__(self):
+ return "(%s)" % ("-".join([str(obj) for obj in self._elems]))
+
+ def __deepcopy__(self, memo):
+ retval = SubExp(self._root, None, None)
+ retval._elems = copy.deepcopy(self._elems)
+ return retval
+
+class DivExp(ExpBase):
+
+ def __init__(self, root, lhs, rhs):
+ ExpBase.__init__(self, root)
+
+ self._elems = []
+ self.__append(lhs)
+ self.__append(rhs)
+
+ def _elements(self):
+ return copy.copy(self._elems)
+
+ def __append(self, obj):
+ if isinstance(obj, AnyCallable):
+ self._elems.append(obj._as_ParseObj())
+ elif len(self._elems) > 0 and isinstance(obj, DivExp):
+ self._elems.extend(obj._elements())
+ else:
+ self._elems.append(obj)
+
+ def __str__(self):
+ return "(%s)" % ("/".join([str(obj) for obj in self._elems]))
+
+ def __deepcopy__(self, memo):
+ retval = DivExp(self._root, None, None)
+ retval._elems = copy.deepcopy(self._elems)
+ return retval
+
+class MulExp(ExpBase):
+
+ def __init__(self, root, lhs, rhs):
+ ExpBase.__init__(self, root)
+
+ self._elems = []
+ self.__append(lhs)
+ self.__append(rhs)
+
+ def _elements(self):
+ return copy.copy(self._elems)
+
+ def __append(self, obj):
+ if isinstance(obj, AnyCallable):
+ self._elems.append(obj._as_ParseObj())
+ elif isinstance(obj, MulExp):
+ self._elems.extend(obj._elements())
+ else:
+ self._elems.append(obj)
+
+ def __str__(self):
+ return "(%s)" % ("*".join([str(obj) for obj in self._elems]))
+
+ def __deepcopy__(self, memo):
+ retval = MulExp(self._root, None, None)
+ retval._elems = copy.deepcopy(self._elems)
+ return retval
+
+# class LshiftExp(ExpBase):
+#
+# def __init__(self, root, lhs, rhs):
+# ExpBase.__init__(self, root)
+#
+# self._elems = []
+# self.__append(lhs)
+# self.__append(rhs)
+#
+# def _elements(self):
+# return copy.copy(self._elems)
+#
+# def __append(self, obj):
+# if isinstance(obj, AnyCallable):
+# self._elems.append(obj._as_ParseObj())
+# elif isinstance(obj, LshiftExp):
+# self._elems.extend(obj._elements())
+# else:
+# self._elems.append(obj)
+#
+# def __str__(self):
+# return "(%s)" % ("<<".join([str(obj) for obj in self._elems]))
+
+class PowExp(ExpBase):
+
+ def __init__(self, root, lhs, rhs):
+ ExpBase.__init__(self, root)
+ self._elems = [lhs, rhs]
+
+ @property
+ def _lhs(self):
+ return self._elems[0]
+
+ @property
+ def _rhs(self):
+ return self._elems[1]
+
+ def _elements(self):
+ return copy.copy(self._elems)
+
+ def __str__(self):
+ return "pow(%s,%s)" % (self._elems[0], self._elems[1])
+ # return "(%s**%s)" % (self._elems[0], self._elems[1])
+
+ def __deepcopy__(self, memo):
+ retval = PowExp(self._root, None, None)
+ retval._elems = copy.deepcopy(self._elems)
+ return retval
+
+class OrExp(ExpBase):
+
+ def __init__(self, root, lhs, rhs):
+ ExpBase.__init__(self, root)
+
+ self._elems = []
+ self.__append(lhs)
+ self.__append(rhs)
+
+ def _elements(self):
+ return copy.copy(self._elems)
+
+ def __append(self, obj):
+ if isinstance(obj, AnyCallable):
+ self._elems.append(obj._as_ParseObj())
+ elif isinstance(obj, OrExp):
+ self._elems.extend(obj._elements())
+ else:
+ self._elems.append(obj)
+
+ def __str__(self):
+ return "(%s)" % ("|".join([str(obj) for obj in self._elems]))
+
+ def __deepcopy__(self, memo):
+ retval = OrExp(self._root, None, None)
+ retval._elems = copy.deepcopy(self._elems)
+ return retval
+
+class AndExp(ExpBase):
+
+ def __init__(self, root, lhs, rhs):
+ ExpBase.__init__(self, root)
+
+ self._elems = []
+ self.__append(lhs)
+ self.__append(rhs)
+
+ def _elements(self):
+ return copy.copy(self._elems)
+
+ def __append(self, obj):
+ if isinstance(obj, AnyCallable):
+ self._elems.append(obj._as_ParseObj())
+ elif isinstance(obj, AndExp):
+ self._elems.extend(obj._elements())
+ else:
+ self._elems.append(obj)
+
+ def __str__(self):
+ return "(%s)" % ("&".join([str(obj) for obj in self._elems]))
+
+ def __deepcopy__(self, memo):
+ retval = AndExp(self._root, None, None)
+ retval._elems = copy.deepcopy(self._elems)
+ return retval
+
+class CmpExp(ExpBase):
+
+ def __init__(self, root, lhs, rhs, opr=""):
+ ExpBase.__init__(self, root)
+ self.__lhs = lhs
+ self.__rhs = rhs
+ self.__opr = opr
+
+ @property
+ def _lhs(self):
+ return self.__lhs
+
+ @property
+ def _rhs(self):
+ return self.__rhs
+
+ def __str__(self):
+ return "%s%s%s" % (self.__lhs, self.__opr, self.__rhs)
+
+class GtExp(CmpExp):
+
+ def __init__(self, root, lhs, rhs):
+ CmpExp.__init__(self, root, lhs, rhs, ">")
+
+ def __deepcopy__(self, memo):
+ return GtExp(self._root, copy.deepcopy(self._lhs), copy.deepcopy(self._rhs))
+
+class NeExp(CmpExp):
+
+ def __init__(self, root, lhs, rhs):
+ CmpExp.__init__(self, root, lhs, rhs, "<>")
+
+ def __deepcopy__(self, memo):
+ return NeExp(self._root, copy.deepcopy(self._lhs), copy.deepcopy(self._rhs))
+
+class EqExp(CmpExp):
+
+ def __init__(self, root, lhs, rhs):
+ CmpExp.__init__(self, root, lhs, rhs, "==")
+
+ def __deepcopy__(self, memo):
+ return EqExp(self._root, copy.deepcopy(self._lhs), copy.deepcopy(self._rhs))
diff --git a/python/lib/ecell4/util/ports.py b/python/lib/ecell4/util/ports.py
new file mode 100644
index 0000000..eb66738
--- /dev/null
+++ b/python/lib/ecell4/util/ports.py
@@ -0,0 +1,407 @@
+import itertools
+import copy
+import warnings
+import re
+
+import ecell4
+
+def replace_parseobj(expr, substitutes={}):
+ import ecell4.util.decorator_base
+ obj = ecell4.util.decorator_base.just_parse().evaluate(expr)
+
+ from ecell4.util.decorator import traverse_ParseObj
+ keys = []
+ newexpr = str(traverse_ParseObj(copy.deepcopy(obj), keys))
+ names = []
+ for key in keys:
+ if key in substitutes.keys():
+ names.append(substitutes[key])
+ else:
+ raise RuntimeError(
+ 'unknown variable [{}] was used.'.format(key))
+ return newexpr.format(*names)
+
+def export_sbml(model, y0={}, volume=1.0):
+ """
+ Export a model as a SBMLDocument.
+
+ Parameters
+ ----------
+ model : NetworkModel or ODENetworkModel
+ y0 : dict
+ Initial condition.
+ volume : Real or Real3, optional
+ A size of the simulation volume.
+
+ """
+ import libsbml
+
+ document = libsbml.SBMLDocument(3, 1)
+
+ # ns = libsbml.XMLNamespaces()
+ # ns.add("http://www.ecell.org/ns/ecell4", "ecell4") #XXX: DUMMY URI
+ # document.setNamespaces(ns)
+
+ m = document.createModel()
+
+ comp1 = m.createCompartment()
+ comp1.setId('world')
+ comp1.setConstant(True)
+ if isinstance(volume, ecell4.Real3):
+ comp1.setSize(volume[0] * volume[1] * volume[2])
+ else:
+ comp1.setSize(volume)
+ comp1.setSpatialDimensions(3)
+
+ species_list = []
+ for rr in model.reaction_rules():
+ for sp in itertools.chain(rr.reactants(), rr.products()):
+ species_list.append(sp)
+ species_list = list(set(species_list))
+ species_list.sort()
+
+ sid_map = {}
+ for cnt, sp in enumerate(species_list):
+ sid_map[sp.serial()] = "s{:d}".format(cnt)
+
+ for sp in species_list:
+ sid = sid_map[sp.serial()]
+ s1 = m.createSpecies()
+ s1.setId(sid)
+ s1.setName(sp.serial())
+ s1.setCompartment('world')
+ s1.setConstant(False)
+ if sp.serial() in y0.keys():
+ s1.setInitialAmount(y0[sp.serial()])
+ else:
+ s1.setInitialAmount(0)
+
+ s1.setBoundaryCondition(False)
+ s1.setHasOnlySubstanceUnits(False)
+
+ # s1.appendAnnotation('<annotation><ecell4:extension><ecell4:species serial="{:s}"/></ecell4:extension></annotation>'.format(sp.serial()))
+
+ if isinstance(model, (ecell4.NetworkModel, ecell4.Model)):
+ for cnt, rr in enumerate(model.reaction_rules()):
+ r1 = m.createReaction()
+ r1.setId("r{:d}".format(cnt))
+ r1.setReversible(False)
+ r1.setFast(False)
+
+ kinetic_law = r1.createKineticLaw()
+ # p1 = kinetic_law.createLocalParameter()
+ # p1.setId("k")
+ p1 = m.createParameter()
+ p1.setId("k{:d}".format(cnt))
+ p1.setConstant(True)
+ p1.setValue(rr.k())
+
+ species_coef_map = {}
+ for sp in rr.reactants():
+ if sp not in species_coef_map.keys():
+ species_coef_map[sp] = 1
+ else:
+ species_coef_map[sp] += 1
+
+ # math_exp = "k"
+ math_exp = "k{:d}".format(cnt)
+ for sp, coef in species_coef_map.items():
+ sid = sid_map[sp.serial()]
+ s1 = r1.createReactant()
+ s1.setSpecies(sid)
+ s1.setConstant(False)
+ s1.setStoichiometry(coef)
+ if coef == 1:
+ math_exp += "*{:s}".format(sid)
+ else:
+ math_exp += "*pow({:s},{:g})".format(sid, coef)
+
+ species_coef_map = {}
+ for sp in rr.products():
+ if sp not in species_coef_map.keys():
+ species_coef_map[sp] = 1
+ else:
+ species_coef_map[sp] += 1
+
+ for sp, coef in species_coef_map.items():
+ sid = sid_map[sp.serial()]
+ s1 = r1.createProduct()
+ s1.setSpecies(sid)
+ s1.setConstant(False)
+ s1.setStoichiometry(coef)
+
+ math_ast = libsbml.parseL3Formula(math_exp)
+ kinetic_law.setMath(math_ast)
+
+ elif isinstance(model, ecell4.ode.ODENetworkModel):
+ for cnt, rr in enumerate(model.reaction_rules()):
+ r1 = m.createReaction()
+ r1.setId("r{:d}".format(cnt))
+ r1.setReversible(True)
+ r1.setFast(False)
+
+ kinetic_law = r1.createKineticLaw()
+
+ species_coef_map = {}
+ for sp, coef in zip(rr.reactants(), rr.reactants_coefficients()):
+ if sp not in species_coef_map.keys():
+ species_coef_map[sp] = coef
+ else:
+ species_coef_map[sp] += coef
+
+ if rr.is_massaction():
+ p1 = m.createParameter()
+ p1.setId("k{:d}".format(cnt))
+ # p1 = kinetic_law.createLocalParameter()
+ # p1.setId("k")
+ p1.setConstant(True)
+ p1.setValue(rr.k())
+ # math_exp = "k"
+ math_exp = "k{:d}".format(cnt)
+ for sp, coef in species_coef_map.items():
+ sid = sid_map[sp.serial()]
+ if coef == 1.0:
+ math_exp += "*{:s}".format(sid)
+ else:
+ math_exp += "*pow({:s},{:g})".format(sid, coef)
+ else:
+ math_exp = rr.get_ratelaw().as_string()
+ if math_exp in ('', '<lambda>'):
+ warnings.warn(
+ "The given ODEReactionRule [{:s}] might be invalid.".format(
+ rr.as_string()))
+ math_exp = replace_parseobj(math_exp, sid_map)
+
+ for sp, coef in species_coef_map.items():
+ sid = sid_map[sp.serial()]
+ s1 = r1.createReactant()
+ s1.setSpecies(sid)
+ s1.setConstant(False)
+ s1.setStoichiometry(coef)
+
+ species_coef_map = {}
+ for sp, coef in zip(rr.products(), rr.products_coefficients()):
+ if sp not in species_coef_map.keys():
+ species_coef_map[sp] = coef
+ else:
+ species_coef_map[sp] += coef
+
+ for sp, coef in species_coef_map.items():
+ sid = sid_map[sp.serial()]
+ s1 = r1.createProduct()
+ s1.setSpecies(sid)
+ s1.setConstant(False)
+ s1.setStoichiometry(coef)
+
+ math_ast = libsbml.parseL3Formula(math_exp)
+ kinetic_law.setMath(math_ast)
+
+ else:
+ raise ValueError(
+ "The invalid type of a Model was given [{:s}].".format(str(model))
+ + " NetworkModel or ODENetworkModel must be given.")
+
+ document.validateSBML()
+ num_errors = (document.getNumErrors(libsbml.LIBSBML_SEV_ERROR)
+ + document.getNumErrors(libsbml.LIBSBML_SEV_FATAL))
+ if num_errors > 0:
+ messages = "The generated document is not valid."
+ messages += " {} errors were found:\n".format(num_errors)
+ for i in range(document.getNumErrors(libsbml.LIBSBML_SEV_ERROR)):
+ err = document.getErrorWithSeverity(i, libsbml.LIBSBML_SEV_ERROR)
+ messages += "{}: {}\n".format(err.getSeverityAsString(), err.getShortMessage())
+ for i in range(document.getNumErrors(libsbml.LIBSBML_SEV_FATAL)):
+ err = document.getErrorWithSeverity(i, libsbml.LIBSBML_SEV_FATAL)
+ messages += "{}: {}\n".format(err.getSeverityAsString(), err.getShortMessage())
+ raise RuntimeError(messages)
+
+ return document
+
+def save_sbml(filename, model, y0={}, volume=1.0):
+ """
+ Save a model in the SBML format.
+
+ Parameters
+ ----------
+ model : NetworkModel or ODENetworkModel
+ y0 : dict
+ Initial condition.
+ volume : Real or Real3, optional
+ A size of the simulation volume.
+
+ """
+ import libsbml
+
+ document = export_sbml(model, y0, volume)
+
+ # with open(filename, 'w') as fout:
+ # fout.write(libsbml.writeSBMLToString(document))
+ # writer = libsbml.SBMLWriter()
+ # writer.writeSBML(document, filename)
+ libsbml.writeSBML(document, filename)
+
+ # reader = libsbml.SBMLReader()
+ # document = reader.readSBML(filename)
+ # if document.getNumErrors() > 0:
+ # document.printErrors()
+
+def import_sbml(document):
+ """
+ Import a model from a SBMLDocument.
+
+ Parameters
+ ----------
+ document : SBMLDocument
+
+ Returns
+ -------
+ model : NetworkModel or ODENetworkModel
+ y0 : dict
+ Initial condition.
+ volume : Real or Real3, optional
+ A size of the simulation volume.
+
+ """
+ from ecell4.util.decorator import generate_ratelaw
+
+ m = document.getModel()
+
+ if m.getNumCompartments() == 0:
+ raise RuntimeError("No compartment was found.")
+ elif m.getNumCompartments() > 1:
+ warnings.warn(
+ "[{:d}] compartments were found.".format(m.getNumCompartments())
+ + " The second or later ones would be omitted.")
+
+ comp1 = m.getCompartment(0)
+ volume = comp1.getVolume()
+
+ y0 = {}
+ sid_map = {}
+ for s1 in m.getListOfSpecies():
+ sid = s1.getId()
+ serial = s1.getName()
+ sid_map[sid] = serial
+ value = s1.getInitialAmount()
+ if value != 0:
+ y0[serial] = value
+
+ kmap = {}
+ for p1 in m.getListOfParameters():
+ pid = p1.getId()
+ if not re.match("^k[0-9]+$", pid):
+ warnings.warn(
+ "Parameter [{:s}] was just ommited.".format(pid))
+ rid = "r{:s}".format(pid[1: ])
+ kmap[rid] = p1.getValue()
+
+ is_ode = False
+ rrs = []
+
+ for r1 in m.getListOfReactions():
+ rid = r1.getId()
+
+ is_massaction = (rid in kmap.keys())
+ if is_massaction:
+ k = kmap[rid]
+ else:
+ kinetic_law = r1.getKineticLaw()
+ formula = kinetic_law.getFormula()
+ k = replace_parseobj(formula, sid_map)
+
+ reactants, products = [], []
+
+ #XXX: The order of reactants is not consistent
+ for s1 in r1.getListOfReactants():
+ sid = s1.getSpecies()
+ if sid not in sid_map:
+ raise RuntimeError(
+ "Unknown Species' Id [{:s}] was given".format(sid))
+ serial = sid_map[sid]
+ coef = s1.getStoichiometry()
+ reactants.append((serial, coef))
+
+ #XXX: The order of products is not consistent
+ for s1 in r1.getListOfProducts():
+ sid = s1.getSpecies()
+ if sid not in sid_map:
+ raise RuntimeError(
+ "Unknown Species' Id [{:s}] was given".format(sid))
+ serial = sid_map[sid]
+ coef = s1.getStoichiometry()
+ products.append((serial, coef))
+
+ if (not is_massaction
+ or len(reactants) > 2
+ or any([coef not in (1, 2) for sp, coef in reactants])
+ or any([not coef.is_integer() for sp, coef in products])
+ or (len(reactants) == 2 and (reactants[0][1] == 2 or reactants[1][1] == 2))):
+ is_ode = True
+ rr = ecell4.ode.ODEReactionRule()
+
+ for serial, coef in reactants:
+ rr.add_reactant(ecell4.Species(serial), coef)
+ for serial, coef in products:
+ rr.add_product(ecell4.Species(serial), coef)
+
+ if is_massaction:
+ rr.set_k(k)
+ else:
+ func = generate_ratelaw(k, rr)
+ rr.set_ratelaw(ecell4.ode.ODERatelawCallback(func, k))
+ else:
+ if len(reactants) == 1 and reactants[0][1] == 2:
+ reactants[0] = (reactants[0][0], 1)
+ reactants.append(reactants[0])
+
+ rr = ecell4.ReactionRule()
+ for serial, coef in reactants:
+ rr.add_reactant(ecell4.Species(serial))
+ for serial, coef in products:
+ for _ in range(int(coef)):
+ rr.add_product(ecell4.Species(serial))
+ rr.set_k(k)
+
+ rrs.append(rr)
+
+ m = ecell4.ode.ODENetworkModel() if is_ode else ecell4.NetworkModel()
+ for rr in rrs:
+ m.add_reaction_rule(rr)
+
+ return m, y0, volume
+
+def load_sbml(filename):
+ """
+ Load a model from a SBML file.
+
+ Parameters
+ ----------
+ filename : str
+ The input SBML filename.
+
+ Returns
+ -------
+ model : NetworkModel or ODENetworkModel
+ y0 : dict
+ Initial condition.
+ volume : Real or Real3, optional
+ A size of the simulation volume.
+
+ """
+ import libsbml
+
+ document = libsbml.readSBML(filename)
+ document.validateSBML()
+ num_errors = (document.getNumErrors(libsbml.LIBSBML_SEV_ERROR)
+ + document.getNumErrors(libsbml.LIBSBML_SEV_FATAL))
+ if num_errors > 0:
+ messages = "The generated document is not valid."
+ messages += " {} errors were found:\n".format(num_errors)
+ for i in range(document.getNumErrors(libsbml.LIBSBML_SEV_ERROR)):
+ err = document.getErrorWithSeverity(i, libsbml.LIBSBML_SEV_ERROR)
+ messages += "{}: {}\n".format(err.getSeverityAsString(), err.getShortMessage())
+ for i in range(document.getNumErrors(libsbml.LIBSBML_SEV_FATAL)):
+ err = document.getErrorWithSeverity(i, libsbml.LIBSBML_SEV_FATAL)
+ messages += "{}: {}\n".format(err.getSeverityAsString(), err.getShortMessage())
+ raise RuntimeError(messages)
+ return import_sbml(document)
diff --git a/python/lib/ecell4/util/progressbar.py b/python/lib/ecell4/util/progressbar.py
new file mode 100644
index 0000000..2cfbf95
--- /dev/null
+++ b/python/lib/ecell4/util/progressbar.py
@@ -0,0 +1,186 @@
+from __future__ import print_function #XXX: this is for Python2.X
+import sys
+import collections
+
+try:
+ from IPython.core.display import clear_output
+ have_ipython = True
+except ImportError:
+ have_ipython = False
+
+class ProgressBar:
+
+ def __init__(self, width=30, slug='#', space='-',
+ bar_template=' [{bar}] {info}', head=None):
+ self.width = width
+ self.slug = slug
+ self.space = space
+ self.bar_template = bar_template
+ self.head = head
+
+ # self.markers = '|/-\\'
+ # self.__updates = 0
+
+ self.__last = (0.0, 0.0)
+
+ self.update(0.0)
+
+ if have_ipython:
+ self.animate = self.animate_ipython
+ self.flush = self.flush_ipython
+ else:
+ self.animate = self.animate_noipython
+ self.flush = self.flush_noipython
+
+ def format_eta(self, eta):
+ eta = int(eta)
+ seconds = eta % 60
+ eta //= 60
+ minutes = eta % 60
+ eta //= 60
+ hours = eta % 24
+ eta //= 24
+ if eta > 0:
+ days = eta
+ return '{:d} {:02d}:{:02d}:{:02d}'.format(days, hours, minutes, seconds)
+ else:
+ return '{:02d}:{:02d}:{:02d}'.format(hours, minutes, seconds)
+
+ def update(self, progress, elapsed=None):
+ if progress > 1.0:
+ progress = 1.0
+ elif progress < 0.0:
+ progress = 0.0
+
+ nmax = self.width - 2
+ n = int(round(progress * nmax))
+
+ if self.head is not None and (0 < n < nmax):
+ bar = '{}{}{}'.format(self.slug * (n - 1), self.head, self.space * (nmax - n))
+ else:
+ bar = '{}{}'.format(self.slug * n, self.space * (nmax - n))
+
+ # marker += ' {}'.format(self.markers[self.__updates])
+ # self.__updates = (self.__updates + 1) % len(self.markers)
+
+ info = ' {:>5.1f}%'.format(progress * 100)
+ if elapsed is not None:
+ info += ' Elapsed: ' + self.format_eta(elapsed)
+ # info += ' Elapsed: ' + "{}".format(elapsed)
+ if progress > self.__last[0]:
+ # speed = elapsed / progress
+ speed = (elapsed - self.__last[1]) / (progress - self.__last[0])
+ info += ' ETA: ' + self.format_eta(speed * (1.0 - progress))
+ # info += ' ETA: ' + "{}".format(speed * (1.0 - progress))
+ self.__last = (progress, elapsed)
+
+ items = {'bar': bar, 'info': info}
+ self.progressbar = self.bar_template.format(**items)
+
+ def flush_ipython(self):
+ try:
+ clear_output()
+ except Exception:
+ # terminal IPython has no clear_output
+ pass
+ print('\r', end='')
+ sys.stdout.flush()
+
+ def flush_noipython(self):
+ print('\r', end='')
+ sys.stdout.flush()
+
+ def animate_ipython(self, *args, **kwargs):
+ self.update(*args, **kwargs)
+
+ try:
+ clear_output()
+ except Exception:
+ # terminal IPython has no clear_output
+ pass
+ print('\r {}'.format(self.progressbar), end='')
+ sys.stdout.flush()
+
+ def animate_noipython(self, *args, **kwargs):
+ self.update(*args, **kwargs)
+ print('\r{}'.format(self.progressbar), end='')
+ sys.stdout.flush()
+
+class ProgressBarSimulatorWrapper:
+ """A wrapper class to show a progress bar for running a simulation
+ """
+
+ def __init__(self, sim, timeout=10, flush=False, **kwargs):
+ """Constructor.
+
+ Parameters
+ ----------
+ sim : Simulator
+ A wrapped Simulator object
+ timeout : float, optional
+ An interval to update the progress bar. Given as seconds.
+ Default is 10.
+ flush : bool, optional
+ Clear the output at finishing a simulation.
+ Default is False.
+
+ See Also
+ --------
+ ProgressBar
+
+ """
+ if int(timeout) <= 0:
+ raise ValueError(
+ 'timeout [{}] must be larger than 0.'.format(timeout))
+ self.__sim = sim
+ self.__timeout = timeout
+ self.__flush = flush
+ self.__kwargs = kwargs
+
+ def run(self, duration, obs):
+ """Run the simulation.
+
+ Parameters
+ ----------
+ duration : Real
+ a duration for running a simulation.
+ A simulation is expected to be stopped at t() + duration.
+ observers : list of Obeservers, optional
+ observers
+
+ """
+ from ecell4.core import TimeoutObserver
+
+ timeout = TimeoutObserver(self.__timeout)
+ if isinstance(obs, collections.Iterable):
+ obs = tuple(obs) + (timeout, )
+ else:
+ obs = (obs, timeout)
+ p = ProgressBar(**self.__kwargs)
+ p.animate(0.0)
+ tstart = self.__sim.t()
+ upto = tstart + duration
+ while self.__sim.t() < upto:
+ self.__sim.run(upto - self.__sim.t(), obs)
+ p.animate((self.__sim.t() - tstart) / duration, timeout.accumulation())
+ if self.__flush:
+ p.flush()
+ else:
+ print()
+
+ def __getattr__(self, key):
+ return getattr(self.__sim, key)
+
+progressbar = ProgressBarSimulatorWrapper
+
+
+if __name__ == "__main__":
+ import time
+
+ # print(have_ipython)
+
+ p = ProgressBar()
+ for i in range(1001):
+ p.animate(i * 0.001, i * 0.03)
+ time.sleep(0.03)
+ print()
diff --git a/python/lib/ecell4/util/show.py b/python/lib/ecell4/util/show.py
new file mode 100644
index 0000000..68a8b0b
--- /dev/null
+++ b/python/lib/ecell4/util/show.py
@@ -0,0 +1,33 @@
+import ecell4
+
+from .viz import plot_number_observer, plot_trajectory, plot_world
+from .simulation import load_world
+
+
+def show(target, *args, **kwargs):
+ """
+ An utility function to display the given target object in the proper way.
+
+ Paramters
+ ---------
+ target : NumberObserver, TrajectoryObserver, World, str
+ When a NumberObserver object is given, show it with viz.plot_number_observer.
+ When a TrajectoryObserver object is given, show it with viz.plot_trajectory_observer.
+ When a World or a filename suggesting HDF5 is given, show it with viz.plot_world.
+
+ """
+ if isinstance(target, (ecell4.FixedIntervalNumberObserver, ecell4.NumberObserver, ecell4.TimingNumberObserver, )):
+ plot_number_observer(target, *args, **kwargs)
+ elif isinstance(target, (ecell4.FixedIntervalTrajectoryObserver, ecell4.FixedIntervalTrackingObserver)):
+ plot_trajectory(target, *args, **kwargs)
+ elif isinstance(target, (ecell4.ode.ODEWorld, ecell4.gillespie.GillespieWorld, ecell4.spatiocyte.SpatiocyteWorld, ecell4.meso.MesoscopicWorld, ecell4.bd.BDWorld, ecell4.egfrd.EGFRDWorld)):
+ plot_world(target, *args, **kwargs)
+ elif isinstance(target, str):
+ try:
+ w = simulation.load_world(target)
+ except RuntimeError as e:
+ raise ValueError("The given target [{}] is not supported.".format(repr(target)))
+ else:
+ show(w, *args, **kwargs)
+ else:
+ raise ValueError("The given target [{}] is not supported.".format(repr(target)))
diff --git a/python/lib/ecell4/util/simulation.py b/python/lib/ecell4/util/simulation.py
new file mode 100644
index 0000000..37fdf71
--- /dev/null
+++ b/python/lib/ecell4/util/simulation.py
@@ -0,0 +1,255 @@
+import collections
+
+from .decorator import get_model, reset_model
+from . import viz
+
+
+def load_world(filename):
+ """
+ Load a world from the given HDF5 filename.
+ The return type is determined by ``ecell4.core.load_version_information``.
+
+ Parameters
+ ----------
+ filename : str
+ A HDF5 filename.
+
+ Returns
+ -------
+ w : World
+ Return one from ``BDWorld``, ``EGFRDWorld``, ``MesoscopicWorld``,
+ ``ODEWorld``, ``GillespieWorld`` and ``SpatiocyteWorld``.
+
+ """
+ import ecell4
+
+ vinfo = ecell4.core.load_version_information(filename)
+ if vinfo.startswith("ecell4-bd"):
+ return ecell4.bd.BDWorld(filename)
+ elif vinfo.startswith("ecell4-egfrd"):
+ return ecell4.egfrd.EGFRDWorld(filename)
+ elif vinfo.startswith("ecell4-meso"):
+ return ecell4.meso.MesoscopicWorld(filename)
+ elif vinfo.startswith("ecell4-ode"):
+ return ecell4.ode.ODEWorld(filename)
+ elif vinfo.startswith("ecell4-gillespie"):
+ return ecell4.gillespie.GillespieWorld(filename)
+ elif vinfo.startswith("ecell4-spatiocyte"):
+ return ecell4.spatiocyte.SpatiocyteWorld(filename)
+ elif vinfo == "":
+ raise RuntimeError("No version information was found in [{0}]".format(filename))
+ raise RuntimeError("Unkown version information [{0}]".format(vinfo))
+
+def get_factory(solver, *args):
+ import ecell4
+
+ if solver == 'ode':
+ return ecell4.ode.ODEFactory(*args)
+ elif solver == 'gillespie':
+ return ecell4.gillespie.GillespieFactory(*args)
+ elif solver == 'spatiocyte':
+ return ecell4.spatiocyte.SpatiocyteFactory(*args)
+ elif solver == 'meso':
+ return ecell4.meso.MesoscopicFactory(*args)
+ elif solver == 'bd':
+ return ecell4.bd.BDFactory(*args)
+ elif solver == 'egfrd':
+ return ecell4.egfrd.EGFRDFactory(*args)
+ else:
+ raise ValueError(
+ 'unknown solver name was given: ' + repr(solver)
+ + '. use ode, gillespie, spatiocyte, meso, bd or egfrd')
+
+def list_species(model, seeds=[]):
+ from ecell4.ode import ODENetworkModel
+ from ecell4 import Species
+ if isinstance(model, ODENetworkModel):
+ #XXX: A bit messy way
+ return sorted([sp.serial() for sp in model.list_species()])
+
+ if not isinstance(seeds, list):
+ seeds = list(seeds)
+
+ expanded = model.expand([Species(serial) for serial in seeds])
+ species_list = [sp.serial() for sp in expanded.list_species()]
+ species_list = sorted(set(seeds + species_list))
+ return species_list
+
+def run_simulation(
+ t, y0={}, volume=1.0, model=None, solver='ode',
+ is_netfree=False, species_list=None, without_reset=False,
+ return_type='matplotlib', opt_args=(), opt_kwargs={},
+ structures={}, observers=(), progressbar=0, rndseed=None,
+ factory=None, ## deprecated
+ **kwargs):
+ """Run a simulation with the given model and plot the result on IPython
+ notebook with matplotlib.
+
+ Parameters
+ ----------
+ t : array or Real
+ A sequence of time points for which to solve for 'm'.
+ y0 : dict
+ Initial condition.
+ volume : Real or Real3, optional
+ A size of the simulation volume.
+ Keyword 'v' is a shortcut for specifying 'volume'.
+ model : Model, optional
+ Keyword 'm' is a shortcut for specifying 'model'.
+ solver : str, tuple or Factory, optional
+ Solver type. Choose one from 'ode', 'gillespie', 'spatiocyte', 'meso',
+ 'bd' and 'egfrd'. Default is 'ode'.
+ When tuple is given, the first value must be str as explained above.
+ All the rest is used as arguments for the corresponding factory class.
+ Keyword 's' is a shortcut for specifying 'solver'.
+ species_list : list of str, optional
+ A list of names of Species observed. If None, log all.
+ Default is None.
+ return_type : str, optional
+ Choose a type of return value from 'array', 'observer',
+ 'matplotlib', 'nyaplot', 'world', 'dataframe' or None.
+ If None, return and plot nothing. Default is 'matplotlib'.
+ 'dataframe' requires numpy and pandas libraries.
+ Keyword 'r' is a shortcut for specifying 'return_type'.
+ opt_args: list, tuple or dict, optional
+ Arguments for plotting. If return_type suggests no plotting, just ignored.
+ opt_kwargs: dict, optional
+ Arguments for plotting. If return_type suggests no plotting or
+ opt_args is a list or tuple, just ignored.
+ i.e.) viz.plot_number_observer(obs, *opt_args, **opt_kwargs)
+ is_netfree: bool, optional
+ Whether the model is netfree or not. When a model is given as an
+ argument, just ignored. Default is False.
+ structures : dict, optional
+ A dictionary which gives pairs of a name and shape of structures.
+ Not fully supported yet.
+ observers : Observer or list, optional
+ A list of extra observer references.
+ progressbar : float, optional
+ A timeout for a progress bar in seconds.
+ When the value is not more than 0, show nothing.
+ Default is 0.
+ rndseed : int, optional
+ A random seed for a simulation.
+ This argument will be ignored when 'solver' is given NOT as a string.
+
+ Returns
+ -------
+ value : list, TimingNumberObserver, World or None
+ Return a value suggested by ``return_type``.
+ When ``return_type`` is 'array', return a time course data.
+ When ``return_type`` is 'observer', return an observer.
+ When ``return_type`` is 'world', return the last state of ``World``.
+ Return nothing if else.
+
+ """
+ for key, value in kwargs.items():
+ if key == 'r':
+ return_type = value
+ elif key == 'v':
+ volume = value
+ elif key == 's':
+ solver = value
+ elif key == 'm':
+ model = value
+ else:
+ raise ValueError(
+ "An unknown keyword argument was given [{}={}]".format(key, value))
+
+ import ecell4
+
+ if factory is not None:
+ # f = factory #XXX: will be deprecated in the future. just use solver
+ raise ValueError(
+ "Argument 'factory' is no longer available. Use 'solver' instead.")
+ elif isinstance(solver, str):
+ f = get_factory(solver)
+ elif isinstance(solver, collections.Iterable):
+ f = get_factory(*solver)
+ else:
+ f = solver
+
+ if rndseed is not None:
+ f = f.rng(ecell4.GSLRandomNumberGenerator(rndseed))
+
+ if model is None:
+ model = ecell4.util.decorator.get_model(is_netfree, without_reset)
+
+ if isinstance(volume, ecell4.Real3):
+ edge_lengths = volume
+ else:
+ L = ecell4.cbrt(volume)
+ edge_lengths = ecell4.Real3(L, L, L)
+
+ w = f.create_world(edge_lengths)
+
+ for (name, shape) in structures.items():
+ w.add_structure(ecell4.Species(name), shape)
+
+ if isinstance(w, ecell4.ode.ODEWorld):
+ # w.bind_to(model) # stop binding for ode
+ for serial, n in y0.items():
+ w.set_value(ecell4.Species(serial), n)
+ else:
+ w.bind_to(model)
+ for serial, n in y0.items():
+ w.add_molecules(ecell4.Species(serial), n)
+
+ if species_list is None:
+ species_list = list_species(model, y0.keys())
+
+ if not isinstance(t, collections.Iterable):
+ t = [float(t) * i / 100 for i in range(101)]
+
+ obs = ecell4.TimingNumberObserver(t, species_list)
+ sim = f.create_simulator(model, w)
+ # sim = f.create_simulator(w)
+
+ if not isinstance(observers, collections.Iterable):
+ observers = (observers, )
+ if return_type not in ('world', None):
+ observers = (obs, ) + tuple(observers)
+
+ if progressbar > 0:
+ from .progressbar import progressbar as pb
+ pb(sim, timeout=progressbar, flush=True).run(t[-1], observers)
+ else:
+ sim.run(t[-1], observers)
+
+ if return_type in ('matplotlib', 'm'):
+ if isinstance(opt_args, (list, tuple)):
+ ecell4.viz.plot_number_observer(obs, *opt_args, **opt_kwargs)
+ elif isinstance(opt_args, dict):
+ # opt_kwargs is ignored
+ ecell4.viz.plot_number_observer(obs, **opt_args)
+ else:
+ raise ValueError('opt_args [{}] must be list or dict.'.format(
+ repr(opt_args)))
+ elif return_type in ('nyaplot', 'n'):
+ if isinstance(opt_args, (list, tuple)):
+ ecell4.viz.plot_number_observer_with_nya(obs, *opt_args, **opt_kwargs)
+ elif isinstance(opt_args, dict):
+ # opt_kwargs is ignored
+ ecell4.viz.plot_number_observer_with_nya(obs, **opt_args)
+ else:
+ raise ValueError('opt_args [{}] must be list or dict.'.format(
+ repr(opt_args)))
+ elif return_type in ('observer', 'o'):
+ return obs
+ elif return_type in ('array', 'a'):
+ return obs.data()
+ elif return_type in ('dataframe', 'd'):
+ import pandas
+ import numpy
+ data = numpy.array(obs.data()).T
+ return pandas.concat([
+ pandas.DataFrame(dict(Time=data[0], Value=data[i + 1],
+ Species=sp.serial(), **opt_kwargs))
+ for i, sp in enumerate(obs.targets())])
+ elif return_type in ('world', 'w'):
+ return sim.world()
+
+def ensemble_simulations(N=1, *args, **kwargs):
+ """Deprecated"""
+ raise RuntimeError(
+ "This function was deprecated. Use ecell4.extra.ensemble.ensemble_simulations instread.")
diff --git a/python/lib/ecell4/util/templates/ecelllogo/logo01.png b/python/lib/ecell4/util/templates/ecelllogo/logo01.png
new file mode 100644
index 0000000..57b9f8e
Binary files /dev/null and b/python/lib/ecell4/util/templates/ecelllogo/logo01.png differ
diff --git a/python/lib/ecell4/util/templates/ecelllogo/logo02.png b/python/lib/ecell4/util/templates/ecelllogo/logo02.png
new file mode 100644
index 0000000..5ebb7ce
Binary files /dev/null and b/python/lib/ecell4/util/templates/ecelllogo/logo02.png differ
diff --git a/python/lib/ecell4/util/templates/ecelllogo/logo03.png b/python/lib/ecell4/util/templates/ecelllogo/logo03.png
new file mode 100644
index 0000000..3f84668
Binary files /dev/null and b/python/lib/ecell4/util/templates/ecelllogo/logo03.png differ
diff --git a/python/lib/ecell4/util/templates/ecelllogo/logo04.png b/python/lib/ecell4/util/templates/ecelllogo/logo04.png
new file mode 100644
index 0000000..930821c
Binary files /dev/null and b/python/lib/ecell4/util/templates/ecelllogo/logo04.png differ
diff --git a/python/lib/ecell4/util/templates/ecelllogo/logo05.png b/python/lib/ecell4/util/templates/ecelllogo/logo05.png
new file mode 100644
index 0000000..beb5c82
Binary files /dev/null and b/python/lib/ecell4/util/templates/ecelllogo/logo05.png differ
diff --git a/python/lib/ecell4/util/templates/ecelllogo/logo06.png b/python/lib/ecell4/util/templates/ecelllogo/logo06.png
new file mode 100644
index 0000000..b3176c2
Binary files /dev/null and b/python/lib/ecell4/util/templates/ecelllogo/logo06.png differ
diff --git a/python/lib/ecell4/util/templates/ecelllogo/logo07.png b/python/lib/ecell4/util/templates/ecelllogo/logo07.png
new file mode 100644
index 0000000..f47e216
Binary files /dev/null and b/python/lib/ecell4/util/templates/ecelllogo/logo07.png differ
diff --git a/python/lib/ecell4/util/templates/ecelllogo/logo08.png b/python/lib/ecell4/util/templates/ecelllogo/logo08.png
new file mode 100644
index 0000000..5c2db02
Binary files /dev/null and b/python/lib/ecell4/util/templates/ecelllogo/logo08.png differ
diff --git a/python/lib/ecell4/util/templates/ecelllogo/logo09.png b/python/lib/ecell4/util/templates/ecelllogo/logo09.png
new file mode 100644
index 0000000..ebb77b8
Binary files /dev/null and b/python/lib/ecell4/util/templates/ecelllogo/logo09.png differ
diff --git a/python/lib/ecell4/util/templates/ecelllogo/logo10.png b/python/lib/ecell4/util/templates/ecelllogo/logo10.png
new file mode 100644
index 0000000..4947231
Binary files /dev/null and b/python/lib/ecell4/util/templates/ecelllogo/logo10.png differ
diff --git a/python/lib/ecell4/util/templates/ecelllogo/logo11.png b/python/lib/ecell4/util/templates/ecelllogo/logo11.png
new file mode 100644
index 0000000..31838f9
Binary files /dev/null and b/python/lib/ecell4/util/templates/ecelllogo/logo11.png differ
diff --git a/python/lib/ecell4/util/templates/ecelllogo/logo12.png b/python/lib/ecell4/util/templates/ecelllogo/logo12.png
new file mode 100644
index 0000000..2fa1f0d
Binary files /dev/null and b/python/lib/ecell4/util/templates/ecelllogo/logo12.png differ
diff --git a/python/lib/ecell4/util/templates/ecelllogo/logo13.png b/python/lib/ecell4/util/templates/ecelllogo/logo13.png
new file mode 100644
index 0000000..625f517
Binary files /dev/null and b/python/lib/ecell4/util/templates/ecelllogo/logo13.png differ
diff --git a/python/lib/ecell4/util/templates/ecelllogo/logo14.png b/python/lib/ecell4/util/templates/ecelllogo/logo14.png
new file mode 100644
index 0000000..2bc28c9
Binary files /dev/null and b/python/lib/ecell4/util/templates/ecelllogo/logo14.png differ
diff --git a/python/lib/ecell4/util/templates/ecelllogo/logo15.png b/python/lib/ecell4/util/templates/ecelllogo/logo15.png
new file mode 100644
index 0000000..e61e10d
Binary files /dev/null and b/python/lib/ecell4/util/templates/ecelllogo/logo15.png differ
diff --git a/python/lib/ecell4/util/templates/init_cyjs.js b/python/lib/ecell4/util/templates/init_cyjs.js
new file mode 100644
index 0000000..2af157f
--- /dev/null
+++ b/python/lib/ecell4/util/templates/init_cyjs.js
@@ -0,0 +1,19 @@
+<script>
+if(window['cytoscape'] === undefined){
+ var paths = {
+ cytoscape: 'https://cdnjs.cloudflare.com/ajax/libs/cytoscape/2.6.10/cytoscape'
+ };
+
+ console.log('Begin loading all JavaScript libs...');
+ require.config({paths: paths});
+
+ require(['cytoscape'], function(cytoscape){
+ window['cytoscape'] = cytoscape;
+ console.log('Finished loading jQuery and Cytoscape.js.');
+
+ var event = document.createEvent("HTMLEvents");
+ event.initEvent("load_cytoscape", true, false);
+ window.dispatchEvent(event);
+ });
+}
+</script>
diff --git a/python/lib/ecell4/util/templates/movie.tmpl b/python/lib/ecell4/util/templates/movie.tmpl
new file mode 100644
index 0000000..c0489ab
--- /dev/null
+++ b/python/lib/ecell4/util/templates/movie.tmpl
@@ -0,0 +1,74 @@
+<html>
+ <head>
+ <script type="text/javascript">
+ //
+ // templ variables: model_id, data
+ // * model_id: uuid
+ // * data: array of array of hash
+ // [
+ // [{df: {x: [0,1,2,..,4], y: [], z: []}, t: 0}, {}],
+ // [],[],[],...
+ // ]
+ // * colors: array of string
+ // * names: array of string
+ // * options: hash
+ //
+ (function(){
+ if(window["THREE"] === undefined || window["d3"] === undefined){
+ require.config({
+ paths:{
+ d3: [
+ 'https://d3js.org/d3.v3.min',
+ 'custom/d3.min'
+ ],
+ THREE: [
+ 'https://cdnjs.cloudflare.com/ajax/libs/three.js/r66/three.min',
+ 'custom/three.min'
+ ],
+ Elegans: [
+ 'https://cdn.rawgit.com/domitry/elegans/15e85b0dafdb6f09181c1ee2f0c47218f6fd698d/release/elegans.min',
+ 'custom/elegans'
+ ]
+ },
+ shim:{
+ THREE: {
+ exports: 'THREE'
+ },
+ Elegans: {
+ deps: ['THREE'],
+ exports: 'Elegans'
+ }
+ }
+ });
+
+ require(["d3", "THREE"], function(d3){
+ window["d3"] = d3;
+ });
+ }
+
+ require(["Elegans"], function(){
+ console.log("Begin rendering...");
+ var stage = new Elegans.Stage(d3.select("#"+{{model_id}})[0][0], {{options}});
+ var data = {{data}};
+ var colors = {{colors}};
+ var names = {{names}};
+ var sizes = {{sizes}};
+
+ for(var i=0; i < data.length; i++){
+ Elegans.DataBase.add("database-particles"+String(i), data[i], "df", "t", 0)
+ stage.add(new Elegans.Particles("database-particles"+String(i), {
+ color: colors[i],
+ name: names[i],
+ size: sizes[i]
+ }));
+ }
+
+ stage.render();
+ });
+ })();
+ </script>
+ </head>
+ <body>
+ <div id={{model_id}}></div>
+ </body>
+</html>
diff --git a/python/lib/ecell4/util/templates/nya.tmpl b/python/lib/ecell4/util/templates/nya.tmpl
new file mode 100644
index 0000000..3e8ed15
--- /dev/null
+++ b/python/lib/ecell4/util/templates/nya.tmpl
@@ -0,0 +1,69 @@
+<html>
+ <head>
+ <script type="text/javascript">
+ (function(){
+ if(window["THREE"] === undefined || window["d3"] === undefined){
+ require.config({
+ paths:{
+ d3: [
+ 'https://d3js.org/d3.v3.min',
+ 'custom/d3.min'
+ ],
+ THREE: [
+ 'https://cdnjs.cloudflare.com/ajax/libs/three.js/r66/three.min',
+ 'custom/three.min'
+ ],
+ Nyaplot: [
+ 'https://rawgit.com/domitry/Nyaplotjs/master/release/nyaplot',
+ 'custom/nyaplot'
+ ],
+ svg2png: 'https://cdn.rawgit.com/domitry/svg2png/850731291ef598b201687ed5b1e215df248d8aeb/src/main'
+ },
+ shim:{
+ THREE: {
+ exports: 'THREE'
+ },
+ Nyaplot: {
+ deps: ['THREE'],
+ exports: 'Nyaplot'
+ }
+ }
+ });
+
+ require(["d3", "THREE"], function(d3){
+ window["d3"] = d3;
+
+ d3.select(document)
+ .on("contextmenu", function(){
+ d3.selectAll("canvas").style("z-index", 10);
+ d3.selectAll(".download_menu").style("z-index", 100);
+ });
+ });
+ }
+
+ require(["svg2png", "Nyaplot"], function(util){
+ console.log("Begin rendering...");
+ var models = {{model}};
+ Nyaplot.core.parse(models, '#{{model_id}}');
+
+ var div = d3.select('#{{model_id}}');
+ var svg = div.select('svg');
+
+ if({{to_png}}){
+ util.svg2uri(svg)
+ .then(function(uri){
+ svg.remove();
+ div
+ .append("img")
+ .attr("src", uri);
+ });
+ }
+
+ });
+ })();
+ </script>
+ </head>
+ <body>
+ <div id="{{model_id}}"></div>
+ </body>
+</html>
diff --git a/python/lib/ecell4/util/templates/particles.tmpl b/python/lib/ecell4/util/templates/particles.tmpl
new file mode 100644
index 0000000..31cf4fc
--- /dev/null
+++ b/python/lib/ecell4/util/templates/particles.tmpl
@@ -0,0 +1,58 @@
+<html>
+ <head>
+ <script type="text/javascript">
+ (function(){
+ if(window["THREE"] === undefined || window["d3"] === undefined){
+ require.config({
+ paths:{
+ d3: [
+ 'https://d3js.org/d3.v3.min',
+ 'custom/d3.min'
+ ],
+ THREE: [
+ 'https://cdnjs.cloudflare.com/ajax/libs/three.js/r66/three.min',
+ 'custom/three.min'
+ ],
+ Elegans: [
+ 'https://cdn.rawgit.com/domitry/elegans/15e85b0dafdb6f09181c1ee2f0c47218f6fd698d/release/elegans.min',
+ 'custom/elegans'
+ ]
+ },
+ shim:{
+ THREE: {
+ exports: 'THREE'
+ },
+ Elegans: {
+ deps: ['THREE'],
+ exports: 'Elegans'
+ }
+ }
+ });
+
+ require(["d3", "THREE"], function(d3){
+ window["d3"] = d3;
+
+ d3.select(document)
+ .on("contextmenu", function(){
+ d3.selectAll("canvas").style("z-index", 10);
+ d3.selectAll(".download_menu").style("z-index", 100);
+ });
+ });
+ }
+
+ require(["Elegans"], function(){
+ console.log("Begin rendering...");
+ var model = {{ model }};
+ // Elegans.Embed.parse("#"+{{model_id}},model).render();
+ var stage = Elegans.Embed.parse("#"+{{model_id}},model);
+ stage.world.camera.position.set({{px}}, {{py}}, {{pz}});
+ stage.world.camera.rotation.set({{rx}}, {{ry}}, {{rz}});
+ stage.render();
+ });
+ })();
+ </script>
+ </head>
+ <body>
+ <div id={{model_id}}></div>
+ </body>
+</html>
diff --git a/python/lib/ecell4/util/templates/template.html b/python/lib/ecell4/util/templates/template.html
new file mode 100644
index 0000000..65c1e57
--- /dev/null
+++ b/python/lib/ecell4/util/templates/template.html
@@ -0,0 +1,62 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8 />
+<title>Animated BFS</title>
+<style type="text/css">
+body {
+ font: 14px helvetica neue, helvetica, arial, sans-serif;
+}
+
+#{{uuid}} {
+ height: 500px;
+ width: 500px;
+ position: absolute;
+ left: 0;
+ top: 0;
+}
+</style>
+
+<script>
+(function(){
+
+function render(){
+$('#{{uuid}}').cytoscape({
+
+ elements: {
+ nodes: {{nodes}},
+
+ edges: {{edges}}
+ },
+
+ ready: function(){
+ window.cy = this;
+
+ var cyjson = "text/json;charset=utf-8," + encodeURIComponent(JSON.stringify(cy.json()));
+ $('<a href="data:' + cyjson + '" download="data.json">download JSON</a>').appendTo('#{{uuid}}');
+ }
+
+});
+};
+
+var before_render = function(){
+ if(window['cytoscape'] === undefined){
+ console.log("wait!");
+ window.addEventListener("load_cytoscape", before_render);
+ }else{
+ console.log("begin rendering!");
+ render();
+ }
+}
+
+before_render();
+
+})();
+</script>
+</head>
+<body>
+ <div id="{{uuid}}"></div>
+ <!-- When only #uuid div is placed on this page, the height of output-box on ipynb will be 0px. One line below will prevent that. -->
+ <div id="dammy" style="width:700px;height:500px">
+</body>
+</html>
diff --git a/python/lib/ecell4/util/viz.py b/python/lib/ecell4/util/viz.py
new file mode 100644
index 0000000..6480dfd
--- /dev/null
+++ b/python/lib/ecell4/util/viz.py
@@ -0,0 +1,2174 @@
+"""ecell4.util.viz: Visualizer of particles based on D3.js, THREE.js
+and Elegans.
+"""
+
+import os
+import uuid
+import json
+import base64
+import copy
+import random
+import types
+from tempfile import NamedTemporaryFile
+
+from .vizstyles import default_color_scale, matplotlib_color_scale, elegans_color_scale, attractive_mpl_color_scale
+
+
+def __on_ipython_notebook():
+ try:
+ import IPython.terminal.interactiveshell
+ if isinstance(get_ipython(), IPython.terminal.interactiveshell.TerminalInteractiveShell):
+ return False
+ except ImportError:
+ return False
+ except NameError:
+ return False
+ return True
+
+def plot_number_observer(*args, **kwargs):
+ """
+ Generate a plot from NumberObservers and show it.
+ See plot_number_observer_with_matplotlib and _with_nya for details.
+
+ Parameters
+ ----------
+ obs : NumberObserver (e.g. FixedIntervalNumberObserver)
+ interactive : bool, default False
+ Choose a visualizer. If False, show the plot with matplotlib.
+ If True (only available on IPython Notebook), show it with nyaplot.
+
+ Examples
+ --------
+ >>> plot_number_observer(obs1)
+ >>> plot_number_observer(obs1, interactive=True)
+
+ """
+ interactive = kwargs.pop('interactive', False)
+ if interactive:
+ plot_number_observer_with_nya(*args, **kwargs)
+ # elif __on_ipython_notebook():
+ # kwargs['to_png'] = True
+ # plot_number_observer_with_nya(*args, **kwargs)
+ else:
+ if kwargs.pop('to_png', None) is not None:
+ #XXX: Remove an option available only on nyaplot for the consistency
+ import warnings
+ warnings.warn(
+ "An option 'to_png' is not available with matplotlib. Just ignored.")
+ plot_number_observer_with_matplotlib(*args, **kwargs)
+
+def plot_world(*args, **kwargs):
+ """
+ Generate a plot from received instance of World and show it.
+ See also plot_world_with_elegans and plot_world_with_matplotlib.
+
+ Parameters
+ ----------
+ world : World or str
+ World or a HDF5 filename to render.
+ interactive : bool, default True
+ Choose a visualizer. If False, show the plot with matplotlib.
+ If True (only available on IPython Notebook), show it with elegans.
+
+ Examples
+ --------
+ >>> plot_world(w)
+ >>> plot_world(w, interactive=False)
+
+ """
+ interactive = kwargs.pop('interactive', True)
+ if interactive:
+ plot_world_with_elegans(*args, **kwargs)
+ else:
+ plot_world_with_matplotlib(*args, **kwargs)
+
+def plot_movie(*args, **kwargs):
+ """
+ Generate a movie from received instances of World and show them.
+ See also plot_movie_with_elegans and plot_movie_with_matplotlib.
+
+ Parameters
+ ----------
+ worlds : list of World
+ Worlds to render.
+ interactive : bool, default True
+ Choose a visualizer. If False, show the plot with matplotlib.
+ If True (only available on IPython Notebook), show it with elegans.
+
+ """
+ interactive = kwargs.pop('interactive', False)
+ if interactive:
+ plot_movie_with_elegans(*args, **kwargs)
+ else:
+ plot_movie_with_matplotlib(*args, **kwargs)
+
+def plot_trajectory(*args, **kwargs):
+ """
+ Generate a plot from received instance of TrajectoryObserver and show it
+ See also plot_trajectory_with_elegans and plot_trajectory_with_matplotlib.
+
+ Parameters
+ ----------
+ obs : TrajectoryObserver
+ TrajectoryObserver to render.
+ interactive : bool, default True
+ Choose a visualizer. If False, show the plot with matplotlib.
+ If True (only available on IPython Notebook), show it with elegans.
+
+ Examples
+ --------
+ >>> plot_trajectory(obs)
+ >>> plot_trajectory(obs, interactive=False)
+
+ """
+ interactive = kwargs.pop('interactive', True)
+ if interactive:
+ plot_trajectory_with_elegans(*args, **kwargs)
+ else:
+ plot_trajectory_with_matplotlib(*args, **kwargs)
+
+def plot_number_observer_with_matplotlib(*args, **kwargs):
+ """
+ Generate a plot from NumberObservers and show it on IPython notebook
+ with matplotlib.
+
+ Parameters
+ ----------
+ obs : NumberObserver (e.g. FixedIntervalNumberObserver)
+ fmt : str, optional
+ opt : dict, optional
+ matplotlib plot options.
+
+ Examples
+ --------
+ >>> plot_number_observer(obs1)
+ >>> plot_number_observer(obs1, 'o')
+ >>> plot_number_observer(obs1, obs2, obs3, {'linewidth': 2})
+ >>> plot_number_observer(obs1, 'k-', obs2, 'k--')
+
+ """
+ import matplotlib.pylab as plt
+ import numpy
+ import collections
+
+ special_keys = ("xlim", "ylim", "xlabel", "ylabel", "legend", "x", "y")
+ plot_opts = {key: value for key, value in kwargs.items()
+ if key not in special_keys}
+
+ if 'axes.prop_cycle' in plt.rcParams.keys():
+ color_cycle = [prop['color'] for prop in plt.rcParams['axes.prop_cycle']]
+ else:
+ color_cycle = plt.rcParams['axes.color_cycle']
+
+ if "y" in kwargs.keys() and isinstance(kwargs["y"], str):
+ kwargs["y"] = (kwargs["y"], )
+
+ fig = plt.figure()
+ ax = fig.add_subplot(111)
+
+ if len(args) > 1 and isinstance(args[1], str):
+ if len(args) % 2 == 0:
+ observers = [(args[i], args[i + 1]) for i in range(0, len(args), 2)]
+ else:
+ observers = [(args[i], args[i + 1]) for i in range(0, len(args) - 1, 2)]
+ observers.append(args[-1], None)
+ else:
+ observers = [(obs, None) for obs in args]
+
+ color_map = {}
+ data, xidx = None, 0
+ for obs, fmt in observers:
+ if isinstance(obs, types.FunctionType):
+ if data is None:
+ raise ValueError("A function must be given after an observer.")
+ y = [obs(xi) for xi in data[xidx]]
+ opts = plot_opts.copy()
+ label = obs.__name__
+ opts["label"] = label
+ if label not in color_map.keys():
+ color_map[label] = color_cycle[len(color_map) % len(color_cycle)]
+ opts["label"] = label
+ opts["color"] = color_map[label]
+ if fmt is None:
+ ax.plot(data[xidx], y, **opts)
+ else:
+ ax.plot(data[xidx], y, fmt, **opts)
+ continue
+
+ data = numpy.array(obs.data()).T
+
+ try:
+ err = obs.error().T
+ except AttributeError:
+ err = None
+
+ if "x" in kwargs.keys():
+ targets = [sp.serial() for sp in obs.targets()]
+ if kwargs["x"] not in targets:
+ raise ValueError("[{0}] given as 'x' was not found.".fomrat(kwargs["x"]))
+ xidx = targets.index(kwargs["x"]) + 1
+ else:
+ xidx = 0
+
+ if "y" in kwargs.keys():
+ targets = [sp.serial() for sp in obs.targets()]
+ targets = [(targets.index(serial), serial)
+ for serial in kwargs["y"] if serial in targets]
+ else:
+ targets = [sp.serial() for sp in obs.targets()]
+ targets = list(enumerate(targets))
+ targets.sort(key=lambda x: x[1])
+
+ for idx, serial in targets:
+ opts = plot_opts.copy()
+
+ label = serial
+ if len(label) > 0 and label[0] == '_':
+ label = '$\_$' + label[1:] # XXX: lazy escaping for a special character
+ if label not in color_map.keys():
+ color_map[label] = color_cycle[len(color_map) % len(color_cycle)]
+ opts["label"] = label
+ opts["color"] = color_map[label]
+
+ if err is None:
+ if fmt is None:
+ ax.plot(data[xidx], data[idx + 1], **opts)
+ else:
+ ax.plot(data[xidx], data[idx + 1], fmt, **opts)
+ else:
+ if fmt is None:
+ ax.errorbar(data[xidx], data[idx + 1],
+ xerr=(None if xidx == 0 else err[xidx]), yerr=err[idx + 1],
+ **opts)
+ else:
+ ax.errorbar(data[xidx], data[idx + 1],
+ xerr=(None if xidx == 0 else err[xidx]), yerr=err[idx + 1],
+ fmt=fmt, **opts)
+
+ # if "legend" not in kwargs.keys() or kwargs["legend"]:
+ # ax.legend(*ax.get_legend_handles_labels(), loc="best", shadow=True)
+ if "legend" not in kwargs.keys() or (kwargs["legend"] is not None and kwargs["legend"] is not False):
+ legend_opts = {"loc": "best", "shadow": True}
+ if "legend" in kwargs and isinstance(kwargs["legend"], dict):
+ legend_opts.update(kwargs["legend"])
+ ax.legend(*ax.get_legend_handles_labels(), **legend_opts)
+
+ if "xlabel" in kwargs.keys():
+ ax.set_xlabel(kwargs["xlabel"])
+ elif "x" in kwargs.keys():
+ ax.set_xlabel("The Number of Molecules [{0}]".format(kwargs["x"]))
+ else:
+ ax.set_xlabel("Time")
+ if "ylabel" in kwargs.keys():
+ ax.set_ylabel(kwargs["ylabel"])
+ else:
+ ax.set_ylabel("The Number of Molecules")
+ if "xlim" in kwargs.keys():
+ ax.set_xlim(kwargs["xlim"])
+ if "ylim" in kwargs.keys():
+ ax.set_ylim(kwargs["ylim"])
+ plt.show()
+
+def plot_number_observer_with_nya(obs, config={}, width=600, height=400, x=None, y=None, to_png=False):
+ """
+ Generate a plot from NumberObservers and show it on IPython notebook
+ with nyaplot.
+
+ Parameters
+ ----------
+ obs : NumberObserver (e.g. FixedIntervalNumberObserver)
+ config : dict, optional
+ A config data for coloring. The dictionary will be updated during this plot.
+ width : int, optional
+ height : int, optional
+ x : str, optional
+ A serial for x-axis. If None, x-axis corresponds time.
+ y : str or list of str
+ Serials for y axis.
+
+ """
+ from IPython.core.display import display, HTML
+ import numpy
+
+ config = {}
+ color_scale = default_color_scale(config=config)
+
+ data1, data2 = [], []
+ data = numpy.array(obs.data())
+
+ if x is None:
+ xidx = 0
+ else:
+ tmp = [sp.serial() for sp in obs.targets()]
+ if x not in tmp:
+ raise ValueError("[{0}] given as 'x' was not found.".fomrat(x))
+ xidx = tmp.index(x) + 1
+
+ if y is None:
+ targets = [sp.serial() for sp in obs.targets()]
+ targets = list(enumerate(targets))
+ targets.sort(key=lambda x: x[1])
+ else:
+ if isinstance(y, str):
+ y = (y, )
+ targets = [sp.serial() for sp in obs.targets()]
+ targets = [(targets.index(serial), serial)
+ for serial in y if serial in targets]
+
+ for line in data:
+ tmp = {"x": line[xidx]}
+ for i, (idx, serial) in enumerate(targets):
+ tmp["y{0}".format(i + 1)] = line[idx + 1]
+ data1.append(tmp)
+ for i, (idx, serial) in enumerate(targets):
+ label = serial
+ tmp = {"type": "line", "data": "data1",
+ "options": {"x": "x", "y": "y{0}".format(i + 1),
+ "stroke_width": 2, "title": label,
+ "color": color_scale.get_color(label)}}
+ data2.append(tmp)
+
+ xmin, xmax = data.T[xidx].min(), data.T[xidx].max()
+ yview = data.T.take([idx + 1 for idx, serial in targets], axis=0)
+ ymin, ymax = yview.min(), yview.max()
+
+ model = {
+ "data": {"data1": data1},
+ "panes": [{"type": 'rectangular',
+ "diagrams": data2,
+ "options": {"width": width, "height": height, "xrange": [xmin, xmax],
+ "yrange": [ymin, ymax], "legend": True, "zoom": True}}]}
+ model_id = 'viz{0:s}'.format(str(uuid.uuid4()))
+ display(HTML(generate_html(
+ {'model': json.dumps(model), 'model_id': model_id, 'to_png': json.dumps(to_png)},
+ '/templates/nya.tmpl')))
+
+def __parse_world(
+ world, radius=None, species_list=None, max_count=None,
+ predicator=None):
+ """
+ Private function to parse world. Return infomation about particles
+ (name, coordinates and particle size) for each species.
+
+ """
+ from ecell4 import Species
+
+ if species_list is None:
+ species_list = [
+ p.species().serial() for pid, p in world.list_particles()]
+ species_list = sorted(
+ set(species_list), key=species_list.index) # XXX: pick unique ones
+
+ species = []
+ for name in species_list:
+ particles = [
+ {'pos': p.position(), 'r': p.radius()}
+ for pid, p in world.list_particles(Species(name))
+ if predicator is None or predicator(pid, p)]
+ # particles = [
+ # {'pos': p.position(), 'r': p.radius()}
+ # for pid, p in world.list_particles()
+ # if (p.species().serial() == name and
+ # (predicator is None or predicator(pid, p)))]
+
+ if len(particles) == 0:
+ continue
+
+ if max_count is not None and len(particles) > max_count:
+ particles = random.sample(particles, max_count)
+
+ data = {
+ 'x': [p['pos'][0] for p in particles],
+ 'y': [p['pos'][1] for p in particles],
+ 'z': [p['pos'][2] for p in particles]
+ }
+
+ # assume that all particles belong to one species have the same radius
+ r = max([p['r'] for p in particles]) if radius is None else radius
+ r = r if r > 0 else min(world.edge_lengths()) * 0.005
+ size = 30.0 / max(world.edge_lengths()) * r
+
+ species.append({
+ 'name': name,
+ 'data': data,
+ 'size': size
+ })
+
+ return species
+
+def __get_range_of_world(world, scale=1.0):
+ edge_lengths = world.edge_lengths() * scale
+ max_length = max(tuple(edge_lengths))
+
+ rangex = [(edge_lengths[0] - max_length) * 0.5,
+ (edge_lengths[0] + max_length) * 0.5]
+ rangey = [(edge_lengths[1] - max_length) * 0.5,
+ (edge_lengths[1] + max_length) * 0.5]
+ rangez = [(edge_lengths[2] - max_length) * 0.5,
+ (edge_lengths[2] + max_length) * 0.5]
+
+ return {'x': rangex, 'y': rangey, 'z': rangez}
+
+def __get_range_of_trajectories(data, plot_range=None):
+ from ecell4 import Real3
+
+ if plot_range is None:
+ if len(data) == 0:
+ xmin, xmax, ymin, ymax, zmin, zmax = 0, 1, 0, 1, 0, 1
+ else:
+ xmin, xmax, ymin, ymax, zmin, zmax = None, None, None, None, None, None
+
+ for i, traj in enumerate(data):
+ xarr, yarr, zarr = [], [], []
+ for pos in traj:
+ xarr.append(pos[0])
+ yarr.append(pos[1])
+ zarr.append(pos[2])
+
+ if xmin is None:
+ if len(traj) > 0:
+ xmin, xmax = min(xarr), max(xarr)
+ ymin, ymax = min(yarr), max(yarr)
+ zmin, zmax = min(zarr), max(zarr)
+ else:
+ xmin, xmax = min([xmin] + xarr), max([xmax] + xarr)
+ ymin, ymax = min([ymin] + yarr), max([ymax] + yarr)
+ zmin, zmax = min([zmin] + zarr), max([zmax] + zarr)
+
+ max_length = max(xmax - xmin, ymax - ymin, zmax - zmin)
+ rangex = [(xmin + xmax - max_length) * 0.5,
+ (xmin + xmax + max_length) * 0.5]
+ rangey = [(ymin + ymax - max_length) * 0.5,
+ (ymin + ymax + max_length) * 0.5]
+ rangez = [(zmin + zmax - max_length) * 0.5,
+ (zmin + zmax + max_length) * 0.5]
+
+ return {'x': rangex, 'y': rangey, 'z': rangez}
+ elif isinstance(plot_range, dict):
+ return plot_range
+ elif isinstance(plot_range, (list, tuple)):
+ if len(plot_range) != 3:
+ raise ValueError(
+ 'The size of plot_range [{}] must be 3.'.format(len(plot_range)))
+ elif (isinstance(plot_range[0], (list, tuple)) and
+ isinstance(plot_range[1], (list, tuple)) and
+ isinstance(plot_range[2], (list, tuple))):
+ return {'x': plot_range[0], 'y': plot_range[1], 'z': plot_range[2]}
+ else:
+ return {'x': (0, plot_range[0]),
+ 'y': (0, plot_range[1]),
+ 'z': (0, plot_range[2])}
+ elif isinstance(plot_range, Real3):
+ return {'x': (0, plot_range[0]),
+ 'y': (0, plot_range[1]),
+ 'z': (0, plot_range[2])}
+ else:
+ raise ValueError(
+ 'plot_range must be list, tuple or dict. [{}] was given.'.format(
+ repr(plot_range)))
+
+def plot_movie_with_elegans(
+ worlds, radius=None, width=500, height=500, config={}, grid=False,
+ species_list=None):
+ """
+ Generate a movie from received instances of World and show them
+ on IPython notebook.
+
+ Parameters
+ ----------
+ worlds : list of World
+ Worlds to render.
+ radius : float, default None
+ If this value is set, all particles in the world will be rendered
+ as if their radius are the same.
+ width : float, default 500
+ Width of the plotting area.
+ height : float, default 500
+ Height of the plotting area.
+ config : dict, default {}
+ Dict for configure default colors. Its values are colors unique
+ to each speices. The dictionary will be updated during this plot.
+ Colors included in config dict will never be used for other speices.
+ species_list : array of string, default None
+ If set, plot_movie will not search the list of species
+
+ """
+ from IPython.core.display import display, HTML
+ from jinja2 import Template
+
+ data = {}
+ sizes = {}
+ for i, world in enumerate(worlds):
+ species = __parse_world(world, radius, species_list)
+ for species_info in species:
+ if data.get(species_info['name']) is None:
+ data[species_info['name']] = []
+ data[species_info['name']].append({
+ 'df': species_info['data'],
+ 't': i
+ })
+ sizes[species_info['name']] = species_info['size']
+
+ options = {
+ 'player': True,
+ 'autorange': False,
+ 'space_mode': 'wireframe',
+ 'grid': grid,
+ 'range': __get_range_of_world(worlds[0])
+ }
+
+ model_id = '"movie' + str(uuid.uuid4()) + '"'
+ color_scale = default_color_scale(config=config)
+
+ display(HTML(generate_html({
+ 'model_id': model_id,
+ 'names': json.dumps(list(data.keys())),
+ 'data': json.dumps(list(data.values())),
+ 'colors': json.dumps([color_scale.get_color(name)
+ for name in data.keys()]),
+ 'sizes': json.dumps([sizes[name] for name in data.keys()]),
+ 'options': json.dumps(options)
+ }, '/templates/movie.tmpl')))
+
+def plot_world_with_elegans(
+ world, radius=None, width=350, height=350, config={}, grid=True,
+ wireframe=False, species_list=None, debug=None, max_count=1000,
+ camera_position=(-22, 23, 32), camera_rotation=(-0.6, 0.5, 0.6),
+ return_id=False, predicator=None):
+ """
+ Generate a plot from received instance of World and show it on IPython notebook.
+ This method returns the instance of dict that indicates color setting
+ for each speices. You can use the dict as the parameter of plot_world,
+ in order to use the same colors in another plot.
+
+ Parameters
+ ----------
+ world : World or str
+ World or a HDF5 filename to render.
+ radius : float, default None
+ If this value is set, all particles in the world will be rendered
+ as if their radius are the same.
+ width : float, default 350
+ Width of the plotting area.
+ height : float, default 350
+ Height of the plotting area.
+ config : dict, default {}
+ Dict for configure default colors. Its values are colors unique
+ to each speices. The dictionary will be updated during this plot.
+ Colors included in config dict will never be used for other speices.
+ species_list : array of string, default None
+ If set, plot_world will not search the list of species.
+ max_count : Integer, default 1000
+ The maximum number of particles to show for each species.
+ debug : array of dict, default []
+ *** EXPERIMENTAL IMPRIMENTATION ***
+ Example:
+ >> [{'type': 'box', 'x': 10, 'y': 10, 'z': 10, 'options': {'width': 1, 'height': 1}}]
+ type: 'box', 'plane', 'sphere', and 'cylinder'
+ x, y, z: float
+ options:
+ box: width, height, depth
+ plane: width, height
+ sphere: radius
+ cylinder: radius, height
+ camera_position : tuple, default (-22, 23, 32)
+ camera_rotaiton : tuple, default (-0.6, 0.5, 0.6)
+ Initial position and rotation of camera.
+ return_id : bool, default False
+ If True, return a model id, which is required for `to_png` function.
+
+ """
+ from IPython.core.display import display, HTML
+ from .simulation import load_world
+
+ if isinstance(world, str):
+ world = load_world(world)
+
+ species = __parse_world(world, radius, species_list, max_count, predicator)
+ color_scale = default_color_scale(config=config)
+ plots = []
+
+ for species_info in species:
+ plots.append({
+ 'type': 'Particles',
+ 'data': species_info['data'],
+ 'options': {
+ 'name': species_info['name'],
+ 'color': color_scale.get_color(species_info['name']),
+ 'size': species_info['size']
+ }
+ })
+
+ if debug is not None:
+ data = {'type': [], 'x': [], 'y': [], 'z': [], 'options': []}
+ for obj in debug:
+ for k, v in obj.items():
+ data[k].append(v)
+
+ plots.append({
+ 'type': 'DebugObject',
+ 'data': data,
+ 'options': {}
+ })
+
+ model = {
+ 'plots': plots,
+ 'options': {
+ 'world_width': width,
+ 'world_height': height,
+ 'range': __get_range_of_world(world),
+ 'autorange': False,
+ 'grid': grid,
+ 'save_image': True
+ # 'save_image': False
+ }
+ }
+
+ if wireframe:
+ model['options']['space_mode'] = 'wireframe'
+
+ model_id = '"viz' + str(uuid.uuid4()) + '"'
+ display(HTML(generate_html(
+ {'model': json.dumps(model), 'model_id': model_id,
+ 'px': camera_position[0], 'py': camera_position[1], 'pz': camera_position[2],
+ 'rx': camera_rotation[0], 'ry': camera_rotation[1], 'rz': camera_rotation[2]},
+ '/templates/particles.tmpl')))
+
+ if return_id:
+ return model_id
+
+def to_png(plot_id):
+ from IPython.display import display, HTML
+ my_uuid = "\"png" + str(uuid.uuid4()) + "\""
+
+ js = """
+<script>
+ function searchCell(uuid){
+ var n = IPython.notebook.ncells();
+ for(var i=0; i<n; i++){
+ var cell = IPython.notebook.get_cell(i);
+ if(typeof cell.output_area != "undefined"){
+ var outputs = cell.output_area.outputs.filter(function(out){
+console.log("Hi!");
+ var html = out.data["text/html"];
+ if(typeof html == "undefined")return false;
+ if(html.includes(uuid))return true;
+ return false;
+ });
+ if(outputs.length>0)return cell;
+ }
+ }
+ return null;
+ }
+
+ var vis_id = %s;
+ var my_uuid = %s;
+ var vis_div = d3.select("#" + vis_id);
+ var my_div = d3.select("#" + my_uuid);
+
+ var canvas = vis_div.select("canvas").node();
+ var context = canvas.getContext("experimental-webgl", {preserveDrawingBuffer: true});
+ var uri = canvas.toDataURL('image/png');
+
+ my_div.append("img").attr("src", uri);
+
+ window.setTimeout(function(){
+ if(typeof window.IPython != "undefined"){
+ try{
+ var html = my_div.node().outerHTML;
+ var cell = searchCell(my_uuid);
+ if(cell == null)throw new Error("The cell whose id is " + my_uuid + " not found.");
+ cell.output_area.outputs[0].data["text/html"] = html;
+ }
+ catch(e){
+ console.warn("Maybe the front-end API of Jupyter has changed. message:" + e.message);
+ }
+ }
+}, 0);
+
+</script>
+<div id=%s></div>
+ """%(plot_id, my_uuid, my_uuid)
+ display(HTML(js))
+
+
+def plot_dense_array(
+ arr, length=256, ranges=None, colors=["#a6cee3", "#fb9a99"], grid=False, camera_position=(-22, 23, 32), camera_rotation=(-0.6, 0.5, 0.6)):
+ """
+ Volume renderer
+
+ Parameters
+ ----------
+ arr : list of numpy.array
+ i.e. [array([[1,2,3], [2,3,4]]), array([[1,2,3]])]
+ ranges : list of tuple
+ ranges for x, y, and z axis
+ i.e. [(-100, 100), (-100, 100), (-100, 100)]
+ colors : list of string
+ colors for species
+ length : int
+ length of the texture
+ 256 or 64
+ camera_position : tuple, default (-22, 23, 32)
+ camera_rotaiton : tuple, default (-0.6, 0.5, 0.6)
+ Initial position and rotation of camera.
+
+ """
+ import numpy
+ from PIL import Image
+ from base64 import b64encode
+ from tempfile import TemporaryFile
+ from math import sqrt
+ from IPython.core.display import display, HTML
+ from functools import reduce
+
+ # unfold 3d box into 2d grid
+ def unfold(arr, dtype=None):
+ dtype = arr.dtype if dtype is None else dtype
+ i = sqrt(arr.shape[2])
+ f_per_row, f_per_column = i, i
+ # single channel (luminance)
+ try:
+ depth, height, width = arr.shape[:]
+ arr = arr.reshape((depth*height, width))
+ new_arr = numpy.empty((height*f_per_column, width*f_per_row), dtype=dtype)
+ # multi channel (RGB)
+ except ValueError:
+ depth, height, width, channel = arr.shape
+ arr = arr.reshape((depth*height, width, channel))
+ new_arr = numpy.empty((height*f_per_column, width*f_per_row, channel), dtype=dtype)
+ for h in range(0, int(f_per_column)):
+ for w in range(0, int(f_per_row)):
+ val = arr[(f_per_row*h+w)*height : (f_per_row*h+w+1)*height]
+ new_arr[h*height : (h+1)*height, w*width : (w+1)*width] = val
+ return new_arr
+
+ def hist(arr, ranges, length, color):
+ # create sample
+ hist, bins = numpy.histogramdd(arr, bins=tuple([length]*3), range=tuple(ranges))
+ # standardize value
+ colors = [int(color[1:][i*2:(i+1)*2], 16) for i in range(0, 3)]
+ len1d = reduce(lambda val, memo: memo*val, hist.shape, 1)
+ arr = [((val/numpy.max(hist))*(hist.copy())).reshape(len1d) for val in colors]
+ # add blue and green
+ return numpy.array(arr, dtype=numpy.int8).transpose().reshape(tuple(list(hist.shape) + [3]))
+ ranges = ranges if ranges is not None else [(numpy.min(a), numpy.max(a)) for a in numpy.array(arr).reshape((sum(map(lambda a: len(a), arr)), 3)).transpose()]
+
+ hist_arr = [hist(a, ranges, length, colors[i]) for i, a in enumerate(arr)]
+ compressed = reduce(lambda p, n: p+n, hist_arr)
+
+ img = Image.fromarray(unfold(compressed), "RGB")
+ fp = TemporaryFile("r+b")
+ img.save(fp, "PNG")
+ fp.seek(0)
+ encoded_url = "data:image/png;base64," + b64encode(fp.read())
+
+ model = {
+ 'plots': [{
+ 'type': 'Volume',
+ 'data': encoded_url,
+ 'options': {
+ 'name': "",
+ 'width': length,
+ 'height': length,
+ 'depth': length,
+ 'f_per_row': sqrt(length),
+ 'f_per_column': sqrt(length)
+ }
+ }],
+ 'options': {
+ 'grid': grid,
+ 'save_image': True
+ }
+ }
+
+ model_id = '"viz' + str(uuid.uuid4()) + '"'
+ display(HTML(generate_html(
+ {'model': json.dumps(model), 'model_id': model_id,
+ 'px': camera_position[0], 'py': camera_position[1], 'pz': camera_position[2],
+ 'rx': camera_rotation[0], 'ry': camera_rotation[1], 'rz': camera_rotation[2]},
+ '/templates/particles.tmpl')))
+
+def generate_html(keywords, tmpl_path):
+ """
+ Generate static html file from JSON model and its own id.
+
+ Parameters
+ ----------
+ model : dict
+ JSON model from which ecell4.viz generates a plot.
+ model_id : string
+ Unique id for the plot.
+
+ Returns
+ -------
+ html :
+ A HTML object
+ """
+ from jinja2 import Template
+
+ path = os.path.abspath(os.path.dirname(__file__)) + tmpl_path
+ template = Template(open(path).read())
+ html = template.render(**keywords)
+ return html
+
+
+def plot_trajectory_with_elegans(
+ obs, width=350, height=350, config={}, grid=True, wireframe=False,
+ max_count=10, camera_position=(-22, 23, 32), camera_rotation=(-0.6, 0.5, 0.6),
+ plot_range=None):
+ """
+ Generate a plot from received instance of TrajectoryObserver and show it
+ on IPython notebook.
+
+ Parameters
+ ----------
+ obs : TrajectoryObserver
+ TrajectoryObserver to render.
+ width : float, default 350
+ Width of the plotting area.
+ height : float, default 350
+ Height of the plotting area.
+ config : dict, default {}
+ Dict for configure default colors. Its values are colors unique
+ to each particle. The dictionary will be updated during this plot.
+ Colors included in config dict will never be used for other particles.
+ camera_position : tuple, default (-30, 31, 42)
+ camera_rotaiton : tuple, default (-0.6, 0.5, 0.6)
+ Initial position and rotation of camera.
+ plot_range : tuple, default None
+ Range for plotting. A triplet of pairs suggesting (rangex, rangey, rangez).
+ If None, the minimum volume containing all the trajectories is used.
+
+ """
+ from IPython.core.display import display, HTML
+
+ color_scale = default_color_scale(config=config)
+ plots = []
+
+ xmin, xmax, ymin, ymax, zmin, zmax = None, None, None, None, None, None
+
+ data = obs.data()
+ if max_count is not None and len(data) > max_count:
+ data = random.sample(data, max_count)
+
+ for i, y in enumerate(data):
+ xarr, yarr, zarr = [], [], []
+ for pos in y:
+ xarr.append(pos[0])
+ yarr.append(pos[1])
+ zarr.append(pos[2])
+
+ if xmin is None:
+ if len(y) > 0:
+ xmin, xmax = min(xarr), max(xarr)
+ ymin, ymax = min(yarr), max(yarr)
+ zmin, zmax = min(zarr), max(zarr)
+ else:
+ xmin, xmax = min([xmin] + xarr), max([xmax] + xarr)
+ ymin, ymax = min([ymin] + yarr), max([ymax] + yarr)
+ zmin, zmax = min([zmin] + zarr), max([zmax] + zarr)
+
+ name = str(i + 1)
+ c = color_scale.get_color(name)
+ plots.append({
+ 'type': 'Line',
+ 'data': {'x': xarr, 'y': yarr, 'z': zarr},
+ 'options': {
+ 'name': name,
+ 'thickness': 2, # XXX: 'thikness' doesn't work on Windows
+ 'colors': [c, c]}
+ })
+
+ if plot_range is None:
+ if xmin is None:
+ xmin, xmax, ymin, ymax, zmin, zmax = 0, 1, 0, 1, 0, 1
+
+ max_length = max(xmax - xmin, ymax - ymin, zmax - zmin)
+ rangex = [(xmin + xmax - max_length) * 0.5,
+ (xmin + xmax + max_length) * 0.5]
+ rangey = [(ymin + ymax - max_length) * 0.5,
+ (ymin + ymax + max_length) * 0.5]
+ rangez = [(zmin + zmax - max_length) * 0.5,
+ (zmin + zmax + max_length) * 0.5]
+ wrange = {'x': rangex, 'y': rangey, 'z': rangez}
+ else:
+ wrange = __get_range_of_trajectories(None, plot_range)
+
+ model = {
+ 'plots': plots,
+ 'options': {
+ 'world_width': width,
+ 'world_height': height,
+ 'range': wrange,
+ 'autorange': False,
+ 'grid': grid,
+ 'save_image': True
+ }
+ }
+
+ if wireframe:
+ model['options']['space_mode'] = 'wireframe'
+
+ model_id = '"viz' + str(uuid.uuid4()) + '"'
+ display(HTML(generate_html(
+ {'model': json.dumps(model), 'model_id': model_id,
+ 'px': camera_position[0], 'py': camera_position[1], 'pz': camera_position[2],
+ 'rx': camera_rotation[0], 'ry': camera_rotation[1], 'rz': camera_rotation[2]},
+ '/templates/particles.tmpl')))
+
+def logo(x=1, y=None):
+ if not isinstance(x, int):
+ x = 1
+ else:
+ x = min(10, max(1, x))
+ if y is None or not isinstance(y, int):
+ y = 1
+ else:
+ y = min(10, max(1, y))
+
+ from IPython.core.display import display, HTML, Javascript
+
+ template = """<script type="text/javascript">
+ var y = 0;
+ var running = false, stop = true;
+ var base64a = ["%s", "%s", "%s", "%s", "%s",
+ "%s", "%s", "%s", "%s", "%s",
+ "%s", "%s", "%s", "%s", "%s"];
+ var maxcnt = base64a.length;
+ var timer_id;
+
+ function move() {
+ if (running)
+ {
+ y = (y + 1) %% maxcnt;
+ var logos = document.getElementsByName('ecelllogo');
+ for (var i = 0; i < logos.length; i++) {
+ logos[i].src = "data:image/png;base64," + base64a[y + 1];
+ }
+ if (stop && y == maxcnt - 1) {
+ // clearInterval(id);
+ running = false;
+ stop = true;
+ }
+ }
+ }
+
+ function action() {
+ if (!stop) {
+ stop = true;
+ }
+ else if (!running) {
+ running = true;
+ stop = false;
+ if (timer_id != undefined) {
+ clearInterval(timer_id);
+ }
+ timer_id = setInterval('move();', 120);
+ }
+ }
+ </script>
+ %s
+ """
+
+ filenames = [
+ os.path.join(os.path.abspath(os.path.dirname(__file__)),
+ '/templates/ecelllogo/logo%02d.png' % (i + 1))
+ for i in range(15)]
+ base64s = [
+ base64.b64encode(open(filename, 'rt').read())
+ for filename in filenames]
+ img_html = ('<img name="ecelllogo" style="position:relative;'
+ + ' left:0px;" alt="ecelllogo"'
+ + ' src="data:image/png;base64,%s"' % (base64s[0])
+ + ' onClick="action();" />')
+ h = HTML(template % tuple(base64s + [("<p>%s</p>" % (img_html * x)) * y]))
+ display(h)
+
+def anim_to_html(anim, filename=None, fps=6, crf=10, bitrate='1M'):
+ VIDEO_TAG = """<video controls>
+ <source src="data:video/x-webm;base64,{0}" type="video/webm">
+ Your browser does not support the video tag.
+ </video>"""
+ import base64
+
+ if not hasattr(anim, '_encoded_video'):
+ if filename is None:
+ f = NamedTemporaryFile(suffix='.webm', delete=False)
+ filename = f.name
+ f.close()
+ # anim.save(filename, fps=fps, extra_args=['-vcodec', 'libvpx'])
+ anim.save(filename, fps=fps, codec='libvpx', extra_args=['-crf', str(crf), '-b:v', bitrate])
+ # anim.save(filename, writer='mencoder', fps=fps, extra_args=['-lavcopts', 'vcodec=libvpx'])
+ video = open(filename, "rb").read()
+ os.remove(filename)
+ # with NamedTemporaryFile(suffix='.webm') as f:
+ # anim.save(f.name, fps=fps, extra_args=['-vcodec', 'libvpx'])
+ # video = open(f.name, "rb").read()
+ else:
+ with open(filename, 'w') as f:
+ anim.save(f.name, fps=fps, extra_args=['-vcodec', 'libvpx'])
+ video = open(f.name, "rb").read()
+ # anim._encoded_video = video.encode("base64")
+ anim._encoded_video = base64.encodestring(video).decode('utf-8')
+ return VIDEO_TAG.format(anim._encoded_video)
+
+def display_anim(ani, output=None, fps=6, crf=10, bitrate='1M'):
+ if output is None:
+ from IPython.display import display, HTML
+ display(HTML(anim_to_html(ani, output, fps=fps, crf=crf, bitrate=bitrate)))
+ elif os.path.splitext(output.lower())[1] == '.webm':
+ ani.save(output, fps=fps, codec='libvpx', extra_args=['-crf', str(crf), '-b:v', bitrate])
+ elif os.path.splitext(output.lower())[1] == '.mp4':
+ ani.save(output, fps=fps, codec='mpeg4', extra_args=['-crf', str(crf), '-b:v', bitrate])
+ else:
+ raise ValueError(
+ "An output filename is only accepted with extension '.webm' or 'mp4'.")
+
+def __prepare_mplot3d_with_matplotlib(
+ wrange, figsize, grid, wireframe, angle, noaxis):
+ from mpl_toolkits.mplot3d import Axes3D
+ import matplotlib.pyplot as plt
+
+ fig = plt.figure(figsize=(figsize, figsize))
+ ax = fig.gca(projection='3d')
+ ax.set_aspect('equal')
+
+ if wireframe:
+ ax.w_xaxis.set_pane_color((0, 0, 0, 0))
+ ax.w_yaxis.set_pane_color((0, 0, 0, 0))
+ ax.w_zaxis.set_pane_color((0, 0, 0, 0))
+
+ ax.grid(grid)
+ ax.set_xlim(*wrange['x'])
+ ax.set_ylim(*wrange['y'])
+ ax.set_zlim(*wrange['z'])
+ ax.set_xlabel('X')
+ ax.set_ylabel('Y')
+ ax.set_zlabel('Z')
+
+ if noaxis:
+ ax.set_axis_off()
+
+ if angle is not None:
+ ax.azim, ax.elev, ax.dist = angle
+
+ return (fig, ax)
+
+def __scatter_world_with_matplotlib(
+ world, ax, species_list, marker_size, max_count, **kwargs):
+ from ecell4 import Species
+ color_scale = matplotlib_color_scale()
+
+ scatters, plots = [], []
+ for i, name in enumerate(species_list):
+ xs, ys, zs = [], [], []
+ particles = world.list_particles_exact(Species(name))
+ if max_count is not None and len(particles) > max_count:
+ particles = random.sample(particles, max_count)
+ for pid, p in particles:
+ pos = p.position()
+ xs.append(pos[0])
+ ys.append(pos[1])
+ zs.append(pos[2])
+ c = color_scale.get_color(name)
+ scatters.append(
+ ax.scatter(
+ xs, ys, zs,
+ marker='o', s=(2 ** marker_size), lw=0, c=c,
+ label=name, **kwargs))
+ plots.extend(ax.plot([], [], 'o', c=c, label=name)) #XXX: A dirty hack to show the legends with keeping the 3d transparency effect on scatter
+ return scatters, plots
+
+def __plot_trajectory_with_matplotlib(lines, ax, upto=None, **kwargs):
+ color_scale = default_color_scale()
+ plots = []
+ for i, line in enumerate(lines):
+ plots.append(
+ ax.plot(line[0][: upto], line[1][: upto], line[2][: upto],
+ label=i, color=color_scale.get_color(i), **kwargs)[0])
+ return plots
+
+def plot_world_with_matplotlib(
+ world, marker_size=3, figsize=6, grid=True,
+ wireframe=False, species_list=None, max_count=1000, angle=None,
+ legend=True, noaxis=False, **kwargs):
+ """
+ Generate a plot from received instance of World and show it on IPython notebook.
+
+ Parameters
+ ----------
+ world : World or str
+ World to render. A HDF5 filename is also acceptable.
+ marker_size : float, default 3
+ Marker size for all species. Size is passed to scatter function
+ as argument, s=(2 ** marker_size).
+ figsize : float, default 6
+ Size of the plotting area. Given in inch.
+ species_list : array of string, default None
+ If set, plot_world will not search the list of species.
+ max_count : Integer, default 1000
+ The maximum number of particles to show for each species.
+ None means no limitation.
+ angle : tuple, default None
+ A tuple of view angle which is given as (azim, elev, dist).
+ If None, use default assumed to be (-60, 30, 10).
+ legend : bool, default True
+
+ """
+ import matplotlib.pyplot as plt
+
+ if species_list is None:
+ species_list = [p.species().serial() for pid, p in world.list_particles()]
+ species_list = sorted(
+ set(species_list), key=species_list.index) # XXX: pick unique ones
+
+ fig, ax = __prepare_mplot3d_with_matplotlib(
+ __get_range_of_world(world), figsize, grid, wireframe, angle, noaxis)
+ scatters, plots = __scatter_world_with_matplotlib(
+ world, ax, species_list, marker_size, max_count, **kwargs)
+
+ # if legend:
+ # ax.legend(handles=plots, labels=species_list, loc='best', shadow=True)
+ if legend is not None and legend is not False:
+ legend_opts = {"loc": "best", "shadow": True}
+ if isinstance(legend, dict):
+ legend_opts.update(legend)
+ ax.legend(handles=plots, labels=species_list, **legend_opts)
+
+ plt.show()
+
+def plot_trajectory_with_matplotlib(
+ obs, max_count=10, figsize=6, legend=True, angle=None,
+ wireframe=False, grid=True, noaxis=False, plot_range=None, **kwargs):
+ """
+ Generate a plot from received instance of TrajectoryObserver and show it
+ on IPython notebook.
+
+ Parameters
+ ----------
+ obs : TrajectoryObserver
+ TrajectoryObserver to render.
+ max_count : Integer, default 10
+ The maximum number of particles to show. If None, show all.
+ figsize : float, default 6
+ Size of the plotting area. Given in inch.
+ angle : tuple, default None
+ A tuple of view angle which is given as (azim, elev, dist).
+ If None, use default assumed to be (-60, 30, 10).
+ legend : bool, default True
+ plot_range : tuple, default None
+ Range for plotting. A triplet of pairs suggesting (rangex, rangey, rangez).
+ If None, the minimum volume containing all the trajectories is used.
+
+ """
+ import matplotlib.pyplot as plt
+
+ data = obs.data()
+ if max_count is not None and len(data) > max_count:
+ data = random.sample(data, max_count)
+
+ fig, ax = __prepare_mplot3d_with_matplotlib(
+ __get_range_of_trajectories(data, plot_range),
+ figsize, grid, wireframe, angle, noaxis)
+
+ lines = []
+ for i, y in enumerate(data):
+ xarr, yarr, zarr = [], [], []
+ for pos in y:
+ xarr.append(pos[0])
+ yarr.append(pos[1])
+ zarr.append(pos[2])
+
+ lines.append((xarr, yarr, zarr))
+
+ __plot_trajectory_with_matplotlib(lines, ax, **kwargs)
+
+ # if legend:
+ # ax.legend(loc='best', shadow=True)
+ if legend is not None and legend is not False:
+ legend_opts = {"loc": "best", "shadow": True}
+ if isinstance(legend, dict):
+ legend_opts.update(legend)
+ ax.legend(**legend_opts)
+ plt.show()
+
+def __prepare_plot_with_matplotlib(
+ wrange, figsize, grid, wireframe, noaxis):
+ import matplotlib.pyplot as plt
+
+ fig = plt.figure(figsize=(figsize, figsize))
+ ax = fig.gca()
+ ax.set_aspect('equal')
+
+ # if wireframe:
+ # ax.w_xaxis.set_pane_color((0, 0, 0, 0))
+ # ax.w_yaxis.set_pane_color((0, 0, 0, 0))
+ # ax.w_zaxis.set_pane_color((0, 0, 0, 0))
+
+ ax.grid(grid)
+ ax.set_xlim(*wrange['x'])
+ ax.set_ylim(*wrange['y'])
+ ax.set_xlabel('X')
+ ax.set_ylabel('Y')
+
+ if noaxis:
+ ax.set_axis_off()
+
+ return (fig, ax)
+
+def __plot_trajectory2d_with_matplotlib(lines, ax, upto=None, **kwargs):
+ color_scale = default_color_scale()
+ plots = []
+ for i, line in enumerate(lines):
+ plots.append(
+ ax.plot(line[0][: upto], line[1][: upto],
+ label=i, color=color_scale.get_color(i), **kwargs)[0])
+ return plots
+
+def plot_trajectory2d_with_matplotlib(
+ obs, plane='xy', max_count=10, figsize=6, legend=True,
+ wireframe=False, grid=True, noaxis=False, plot_range=None, **kwargs):
+ """
+ Make a 2D plot from received instance of TrajectoryObserver and show it
+ on IPython notebook.
+
+ Parameters
+ ----------
+ obs : TrajectoryObserver
+ TrajectoryObserver to render.
+ plane : str, default 'xy'
+ 'xy', 'yz', 'zx'.
+ max_count : Integer, default 10
+ The maximum number of particles to show. If None, show all.
+ figsize : float, default 6
+ Size of the plotting area. Given in inch.
+ legend : bool, default True
+ plot_range : tuple, default None
+ Range for plotting. A triplet of pairs suggesting (rangex, rangey, rangez).
+ If None, the minimum volume containing all the trajectories is used.
+
+ """
+ import matplotlib.pyplot as plt
+
+ plane = plane.lower()
+ if len(plane) != 2 or plane[0] not in ('x', 'y', 'z') or plane[1] not in ('x', 'y', 'z'):
+ raise ValueError("invalid 'plane' argument [{}] was given.".format(repr(plane)))
+ xidx = 0 if plane[0] == 'x' else (1 if plane[0] == 'y' else 2)
+ yidx = 0 if plane[1] == 'x' else (1 if plane[1] == 'y' else 2)
+
+ data = obs.data()
+ if max_count is not None and len(data) > max_count:
+ data = random.sample(data, max_count)
+
+ wrange = __get_range_of_trajectories(data, plot_range)
+ wrange = (wrange['x'], wrange['y'], wrange['z'])
+ wrange = {'x': wrange[xidx], 'y': wrange[yidx]}
+ fig, ax = __prepare_plot_with_matplotlib(
+ wrange, figsize, grid, wireframe, noaxis)
+ ax.set_xlabel(plane[0].upper())
+ ax.set_ylabel(plane[1].upper())
+
+ lines = []
+ for i, y in enumerate(data):
+ xarr, yarr, zarr = [], [], []
+ for pos in y:
+ xarr.append(pos[xidx])
+ yarr.append(pos[yidx])
+
+ lines.append((xarr, yarr))
+
+ __plot_trajectory2d_with_matplotlib(lines, ax, **kwargs)
+
+ # if legend:
+ # ax.legend(loc='best', shadow=True)
+ if legend is not None and legend is not False:
+ legend_opts = {"loc": "best", "shadow": True}
+ if isinstance(legend, dict):
+ legend_opts.update(legend)
+ ax.legend(**legend_opts)
+ plt.show()
+
+def plot_movie_of_trajectory2d_with_matplotlib(
+ obs, plane='xy', figsize=6, grid=True,
+ wireframe=False, max_count=None, angle=None, noaxis=False,
+ interval=0.16, repeat_delay=3000, stride=1, rotate=None,
+ legend=True, output=None, crf=10, bitrate='1M', plot_range=None, **kwargs):
+ """
+ Generate a move from the received list of instances of World,
+ and show it on IPython notebook. This function may require ffmpeg.
+
+ Parameters
+ ----------
+ worlds : list or FixedIntervalHDF5Observer
+ A list of Worlds to render.
+ plane : str, default 'xy'
+ 'xy', 'yz', 'zx'.
+ figsize : float, default 6
+ Size of the plotting area. Given in inch.
+ max_count : Integer, default None
+ The maximum number of particles to show for each species.
+ None means no limitation.
+ interval : Integer, default 0.16
+ Parameters for matplotlib.animation.ArtistAnimation.
+ stride : Integer, default 1
+ Stride per frame.
+ legend : bool, default True
+ output : str, default None
+ An output filename. '.webm' or '.mp4' is only accepted.
+ If None, display a movie on IPython Notebook.
+ crf : int, default 10
+ The CRF value can be from 4-63. Lower values mean better quality.
+ bitrate : str, default '1M'
+ Target bitrate
+ plot_range : tuple, default None
+ Range for plotting. A triplet of pairs suggesting (rangex, rangey, rangez).
+ If None, the minimum volume containing all the trajectories is used.
+
+ """
+ import matplotlib.pyplot as plt
+ import matplotlib.animation as animation
+ from IPython.display import display, HTML
+ from ecell4 import Species, FixedIntervalHDF5Observer
+ from .simulation import load_world
+ import math
+
+ # print("Taking all data ...")
+
+ plane = plane.lower()
+ if len(plane) != 2 or plane[0] not in ('x', 'y', 'z') or plane[1] not in ('x', 'y', 'z'):
+ raise ValueError("invalid 'plane' argument [{}] was given.".format(repr(plane)))
+ xidx = 0 if plane[0] == 'x' else (1 if plane[0] == 'y' else 2)
+ yidx = 0 if plane[1] == 'x' else (1 if plane[1] == 'y' else 2)
+
+ data = obs.data()
+ if max_count is not None and len(data) > max_count:
+ data = random.sample(data, max_count)
+
+ lines = []
+ num_frames = 0
+ for i, y in enumerate(data):
+ xarr, yarr, zarr = [], [], []
+ for pos in y:
+ xarr.append(pos[xidx])
+ yarr.append(pos[yidx])
+
+ lines.append((xarr, yarr))
+ num_frames = max(num_frames, len(y))
+ num_frames = int(math.ceil(float(num_frames) / stride))
+
+ # print("Start preparing mplot3d ...")
+
+ wrange = __get_range_of_trajectories(data, plot_range)
+ wrange = (wrange['x'], wrange['y'], wrange['z'])
+ wrange = {'x': wrange[xidx], 'y': wrange[yidx]}
+ fig, ax = __prepare_plot_with_matplotlib(
+ wrange, figsize, grid, wireframe, noaxis)
+ ax.set_xlabel(plane[0].upper())
+ ax.set_ylabel(plane[1].upper())
+
+ def _update_plot(i, plots, lines):
+ upto = i * stride
+ for plot, line in zip(plots, lines):
+ plot.set_xdata(line[0][: upto])
+ plot.set_ydata(line[1][: upto])
+
+ fig.canvas.draw()
+
+ # print("Start making animation ...")
+
+ plots = __plot_trajectory2d_with_matplotlib(lines, ax, 0, **kwargs)
+
+ # if legend:
+ # ax.legend(loc='best', shadow=True)
+ if legend is not None and legend is not False:
+ legend_opts = {"loc": "best", "shadow": True}
+ if isinstance(legend, dict):
+ legend_opts.update(legend)
+ ax.legend(**legend_opts)
+
+ ani = animation.FuncAnimation(
+ fig, _update_plot, fargs=(plots, lines),
+ frames=num_frames, interval=interval, blit=False)
+
+ plt.close(ani._fig)
+ # print("Start generating a movie ...")
+ display_anim(ani, output, fps=1.0 / interval, crf=crf, bitrate=bitrate)
+
+def plot_movie_with_matplotlib(
+ worlds, marker_size=3, figsize=6, grid=True,
+ wireframe=False, species_list=None, max_count=None, angle=None, noaxis=False,
+ interval=0.16, repeat_delay=3000, stride=1, rotate=None,
+ legend=True, output=None, crf=10, bitrate='1M', **kwargs):
+ """
+ Generate a movie from the received list of instances of World,
+ and show it on IPython notebook. This function may require ffmpeg.
+
+ Parameters
+ ----------
+ worlds : list or FixedIntervalHDF5Observer
+ A list of Worlds to render.
+ marker_size : float, default 3
+ Marker size for all species. Size is passed to scatter function
+ as argument, s=(2 ** marker_size).
+ figsize : float, default 6
+ Size of the plotting area. Given in inch.
+ species_list : array of string, default None
+ If set, plot_world will not search the list of species.
+ max_count : Integer, default None
+ The maximum number of particles to show for each species.
+ None means no limitation.
+ angle : tuple, default None
+ A tuple of view angle which is given as (azim, elev, dist).
+ If None, use default assumed to be (-60, 30, 10).
+ interval : Integer, default 0.16
+ Parameters for matplotlib.animation.ArtistAnimation.
+ stride : Integer, default 1
+ Stride per frame.
+ rotate : tuple, default None
+ A pair of rotation angles, elev and azim, for animation.
+ None means no rotation, same as (0, 0).
+ legend : bool, default True
+ output : str, default None
+ An output filename. '.webm' or '.mp4' is only accepted.
+ If None, display a movie on IPython Notebook.
+ crf : int, default 10
+ The CRF value can be from 4-63. Lower values mean better quality.
+ bitrate : str, default '1M'
+ Target bitrate
+
+ """
+ import matplotlib.pyplot as plt
+ import matplotlib.animation as animation
+ from ecell4 import Species, FixedIntervalHDF5Observer
+ from .simulation import load_world
+
+ # print("Start generating species_list ...")
+
+ if isinstance(worlds, FixedIntervalHDF5Observer):
+ obs = worlds
+ worlds = []
+ for i in range(0, obs.num_steps(), stride):
+ filename = obs.filename(i)
+ if os.path.isfile(filename):
+ worlds.append(load_world(filename))
+ elif len(worlds) >0:
+ worlds.append(worlds[-1])
+ else:
+ worlds = worlds[:: stride]
+
+ if species_list is None:
+ species_list = []
+ for world in worlds:
+ species_list.extend(
+ [p.species().serial() for pid, p in world.list_particles()])
+ species_list = sorted(
+ set(species_list), key=species_list.index) # XXX: pick unique ones
+
+ # print("Start preparing mplot3d ...")
+
+ fig, ax = __prepare_mplot3d_with_matplotlib(
+ __get_range_of_world(worlds[0]), figsize, grid, wireframe, angle, noaxis)
+
+ from mpl_toolkits.mplot3d.art3d import juggle_axes
+
+ def _update_plot(i, scatters, worlds, species_list):
+ world = worlds[i]
+ for i, name in enumerate(species_list):
+ xs, ys, zs = [], [], []
+ particles = world.list_particles_exact(Species(name))
+ if max_count is not None and len(particles) > max_count:
+ particles = random.sample(particles, max_count)
+ for pid, p in particles:
+ pos = p.position()
+ xs.append(pos[0])
+ ys.append(pos[1])
+ zs.append(pos[2])
+ scatters[i]._offsets3d = juggle_axes(xs, ys, zs, 'z')
+
+ if rotate is not None:
+ ax.elev += rotate[0]
+ ax.azim += rotate[1]
+
+ fig.canvas.draw()
+
+ # print("Start making animation ...")
+
+ color_scale = matplotlib_color_scale()
+ scatters = []
+ for i, name in enumerate(species_list):
+ scatters.append(
+ ax.scatter([], [], [], marker='o', s=(2 ** marker_size),
+ lw=0, c=color_scale.get_color(name), label=name))
+
+ # if legend:
+ # ax.legend(loc='best', shadow=True)
+ if legend is not None and legend is not False:
+ legend_opts = {"loc": "best", "shadow": True}
+ if isinstance(legend, dict):
+ legend_opts.update(legend)
+ ax.legend(**legend_opts)
+
+ ani = animation.FuncAnimation(
+ fig, _update_plot, fargs=(scatters, worlds, species_list),
+ frames=len(worlds), interval=interval, blit=False)
+
+ plt.close(ani._fig)
+ # print("Start generating a movie ...")
+ display_anim(ani, output, fps=1.0 / interval, crf=crf, bitrate=bitrate)
+
+def plot_movie_of_trajectory_with_matplotlib(
+ obs, figsize=6, grid=True,
+ wireframe=False, max_count=None, angle=None, noaxis=False,
+ interval=0.16, repeat_delay=3000, stride=1, rotate=None,
+ legend=True, output=None, crf=10, bitrate='1M', plot_range=None, **kwargs):
+ """
+ Generate a move from the received list of instances of World,
+ and show it on IPython notebook. This function may require ffmpeg.
+
+ Parameters
+ ----------
+ worlds : list or FixedIntervalHDF5Observer
+ A list of Worlds to render.
+ marker_size : float, default 3
+ Marker size for all species. Size is passed to scatter function
+ as argument, s=(2 ** marker_size).
+ figsize : float, default 6
+ Size of the plotting area. Given in inch.
+ max_count : Integer, default None
+ The maximum number of particles to show for each species.
+ None means no limitation.
+ angle : tuple, default None
+ A tuple of view angle which is given as (azim, elev, dist).
+ If None, use default assumed to be (-60, 30, 10).
+ interval : Integer, default 0.16
+ Parameters for matplotlib.animation.ArtistAnimation.
+ stride : Integer, default 1
+ Stride per frame.
+ rotate : tuple, default None
+ A pair of rotation angles, elev and azim, for animation.
+ None means no rotation, same as (0, 0).
+ legend : bool, default True
+ output : str, default None
+ An output filename. '.webm' or '.mp4' is only accepted.
+ If None, display a movie on IPython Notebook.
+ crf : int, default 10
+ The CRF value can be from 4-63. Lower values mean better quality.
+ bitrate : str, default '1M'
+ Target bitrate
+ plot_range : tuple, default None
+ Range for plotting. A triplet of pairs suggesting (rangex, rangey, rangez).
+ If None, the minimum volume containing all the trajectories is used.
+
+ """
+ import matplotlib.pyplot as plt
+ import matplotlib.animation as animation
+ from ecell4 import Species, FixedIntervalHDF5Observer
+ from .simulation import load_world
+ import math
+
+ # print("Taking all data ...")
+
+ data = obs.data()
+ if max_count is not None and len(data) > max_count:
+ data = random.sample(data, max_count)
+
+ lines = []
+ num_frames = 0
+ for i, y in enumerate(data):
+ xarr, yarr, zarr = [], [], []
+ for pos in y:
+ xarr.append(pos[0])
+ yarr.append(pos[1])
+ zarr.append(pos[2])
+
+ lines.append((xarr, yarr, zarr))
+ num_frames = max(num_frames, len(y))
+ num_frames = int(math.ceil(float(num_frames) / stride))
+
+ # print("Start preparing mplot3d ...")
+
+ fig, ax = __prepare_mplot3d_with_matplotlib(
+ __get_range_of_trajectories(data, plot_range),
+ figsize, grid, wireframe, angle, noaxis)
+
+ def _update_plot(i, plots, lines):
+ upto = i * stride
+ for plot, line in zip(plots, lines):
+ plot.set_data(line[0][: upto], line[1][: upto])
+ plot.set_3d_properties(line[2][: upto])
+
+ if rotate is not None:
+ ax.elev += rotate[0]
+ ax.azim += rotate[1]
+
+ fig.canvas.draw()
+
+ # print("Start making animation ...")
+
+ plots = __plot_trajectory_with_matplotlib(lines, ax, 0, **kwargs)
+
+ # if legend:
+ # ax.legend(loc='best', shadow=True)
+ if legend is not None and legend is not False:
+ legend_opts = {"loc": "best", "shadow": True}
+ if isinstance(legend, dict):
+ legend_opts.update(legend)
+ ax.legend(**legend_opts)
+
+ ani = animation.FuncAnimation(
+ fig, _update_plot, fargs=(plots, lines),
+ frames=num_frames, interval=interval, blit=False)
+
+ plt.close(ani._fig)
+ # print("Start generating a movie ...")
+ display_anim(ani, output, fps=1.0 / interval, crf=crf, bitrate=bitrate)
+
+plot_movie_of_trajectory = plot_movie_of_trajectory_with_matplotlib # default
+
+def plot_world_with_attractive_mpl(
+ world, marker_size=6, figsize=6, grid=True,
+ wireframe=False, species_list=None, max_count=1000, angle=None,
+ legend=True, noaxis=False, whratio=1.33, scale=1.0, **kwargs):
+ """
+ Generate a plot from received instance of World and show it on IPython notebook.
+
+ Parameters
+ ----------
+ world : World or str
+ World to render. A HDF5 filename is also acceptable.
+ marker_size : float, default 3
+ Marker size for all species. Size is passed to scatter function
+ as argument, s=(2 ** marker_size).
+ figsize : float, default 6
+ Size of the plotting area. Given in inch.
+ species_list : array of string, default None
+ If set, plot_world will not search the list of species.
+ max_count : Integer, default 1000
+ The maximum number of particles to show for each species.
+ None means no limitation.
+ angle : tuple, default None
+ A tuple of view angle which is given as (azim, elev, dist).
+ If None, use default assumed to be (-60, 30, 10).
+ legend : bool, default True
+ whratio : float, default 1.33
+ A ratio between figure width and height.
+ Customize this to keep a legend within the figure.
+ scale : float, default 1
+ A length-scaling factor
+
+ """
+ import matplotlib.pyplot as plt
+
+ if species_list is None:
+ species_list = [p.species().serial() for pid, p in world.list_particles()]
+ species_list = sorted(
+ set(species_list), key=species_list.index) # XXX: pick unique ones
+
+ fig, ax = __prepare_mplot3d_with_attractive_mpl(
+ __get_range_of_world(world, scale), figsize, grid, wireframe, angle,
+ noaxis, whratio)
+ scatters, plots = __scatter_world_with_attractive_mpl(
+ world, ax, species_list, marker_size, max_count, scale, **kwargs)
+
+ # if legend:
+ # ax.legend(handles=plots, labels=species_list, loc='best', shadow=True)
+ if legend is not None and legend is not False:
+ legend_opts = {'loc': 'center left', 'bbox_to_anchor': (1.0, 0.5),
+ 'shadow': False, 'frameon': False, 'fontsize': 'x-large',
+ 'scatterpoints': 1}
+ if isinstance(legend, dict):
+ legend_opts.update(legend)
+ ax.legend(**legend_opts)
+ # ax.legend(handles=plots, labels=species_list, **legend_opts)
+
+ plt.show()
+
+def __prepare_mplot3d_with_attractive_mpl(
+ wrange, figsize, grid, wireframe, angle, noaxis, whratio):
+ from mpl_toolkits.mplot3d import Axes3D
+ from mpl_toolkits.mplot3d.axis3d import Axis
+ import matplotlib.pyplot as plt
+ import itertools
+
+ fig = plt.figure(figsize=(figsize * whratio, figsize))
+ ax = plt.subplot(111, projection='3d')
+ ax.set_axis_bgcolor('white')
+
+ for axis in (ax.xaxis, ax.yaxis, ax.zaxis):
+ if wireframe:
+ axis._axinfo['grid']['color'] = (0.9176470588235294, 0.9176470588235294, 0.9490196078431372, 1)
+ axis._axinfo['grid']['linewidth'] = 0.6
+ else:
+ axis._axinfo['grid']['color'] = (1, 1, 1, 1)
+ axis._axinfo['grid']['linewidth'] = 1.0
+
+ for tick in axis.get_major_ticks():
+ tick.label.set_fontsize(14)
+
+ ax.set_xlim(*wrange['x'])
+ ax.set_ylim(*wrange['y'])
+ ax.set_zlim(*wrange['z'])
+ ax.set_xlabel('X', fontsize=20, labelpad=12)
+ ax.set_ylabel('Y', fontsize=20, labelpad=12)
+ ax.set_zlabel('Z', fontsize=20, labelpad=12)
+
+ for axis in (ax.w_xaxis, ax.w_yaxis, ax.w_zaxis):
+ axis.line.set_color("white")
+ axis.set_pane_color((0.9176470588235294, 0.9176470588235294, 0.9490196078431372, 0 if wireframe else 1))
+
+ for line in itertools.chain(ax.get_xticklines(),
+ ax.get_yticklines(),
+ ax.get_zticklines()):
+ line.set_visible(False)
+
+ ax.grid(grid)
+
+ if noaxis:
+ ax.set_axis_off()
+
+ if angle is not None:
+ ax.azim, ax.elev, ax.dist = angle
+
+ plt.subplots_adjust(left=0.0, right=1.0 / whratio, top=1.02, bottom=0.02)
+ return (fig, ax)
+
+def __scatter_world_with_attractive_mpl(
+ world, ax, species_list, marker_size, max_count, scale, **kwargs):
+ from ecell4 import Species
+ color_scale = attractive_mpl_color_scale({})
+
+ scatters, plots = [], []
+ for i, name in enumerate(species_list):
+ xs, ys, zs = [], [], []
+ particles = world.list_particles_exact(Species(name))
+ if max_count is not None and len(particles) > max_count:
+ particles = random.sample(particles, max_count)
+ for pid, p in particles:
+ pos = p.position() * scale
+ xs.append(pos[0])
+ ys.append(pos[1])
+ zs.append(pos[2])
+ c = color_scale.get_color(name)
+ opts = dict(marker='o', s=(2 ** marker_size), edgecolors='white', alpha=0.7)
+ opts.update(kwargs)
+ scatters.append(
+ ax.scatter(xs, ys, zs, c=c, label=name, **opts))
+ # plots.extend(ax.plot([], [], 'o', c=c, markeredgecolor='white', label=name)) #XXX: A dirty hack to show the legends with keeping the 3d transparency effect on scatter
+ return scatters, plots
+
+def plot_movie_with_attractive_mpl(
+ worlds, marker_size=6, figsize=6, grid=True,
+ wireframe=False, species_list=None, max_count=None, angle=None, noaxis=False,
+ interval=0.16, repeat_delay=3000, stride=1, rotate=None,
+ legend=True, whratio=1.33, scale=1, output=None, crf=10, bitrate='1M', **kwargs):
+ """
+ Generate a move from the received list of instances of World,
+ and show it on IPython notebook. This function may require ffmpeg.
+
+ Parameters
+ ----------
+ worlds : list or FixedIntervalHDF5Observer
+ A list of Worlds to render.
+ marker_size : float, default 3
+ Marker size for all species. Size is passed to scatter function
+ as argument, s=(2 ** marker_size).
+ figsize : float, default 6
+ Size of the plotting area. Given in inch.
+ species_list : array of string, default None
+ If set, plot_world will not search the list of species.
+ max_count : Integer, default None
+ The maximum number of particles to show for each species.
+ None means no limitation.
+ angle : tuple, default None
+ A tuple of view angle which is given as (azim, elev, dist).
+ If None, use default assumed to be (-60, 30, 10).
+ interval : Integer, default 0.16
+ Parameters for matplotlib.animation.ArtistAnimation.
+ stride : Integer, default 1
+ Stride per frame.
+ rotate : tuple, default None
+ A pair of rotation angles, elev and azim, for animation.
+ None means no rotation, same as (0, 0).
+ legend : bool, default True
+ whratio : float, default 1.33
+ A ratio between figure width and height.
+ Customize this to keep a legend within the figure.
+ scale : float, default 1
+ A length-scaling factor
+ crf : int, default 10
+ The CRF value can be from 4-63. Lower values mean better quality.
+ bitrate : str, default '1M'
+ Target bitrate
+ output : str, default None
+ An output filename. '.webm' or '.mp4' is only accepted.
+ If None, display a movie on IPython Notebook.
+
+ """
+ import matplotlib.pyplot as plt
+ import matplotlib.animation as animation
+ from ecell4 import Species, FixedIntervalHDF5Observer
+ from .simulation import load_world
+ import os.path
+
+ # print("Start generating species_list ...")
+
+ if isinstance(worlds, FixedIntervalHDF5Observer):
+ obs = worlds
+ worlds = []
+ for i in range(0, obs.num_steps(), stride):
+ filename = obs.filename(i)
+ if os.path.isfile(filename):
+ worlds.append(load_world(filename))
+ elif len(worlds) >0:
+ worlds.append(worlds[-1])
+ else:
+ worlds = worlds[:: stride]
+
+ if species_list is None:
+ species_list = []
+ for world in worlds:
+ species_list.extend(
+ [p.species().serial() for pid, p in world.list_particles()])
+ species_list = sorted(
+ set(species_list), key=species_list.index) # XXX: pick unique ones
+
+ # print("Start preparing mplot3d ...")
+
+ fig, ax = __prepare_mplot3d_with_attractive_mpl(
+ __get_range_of_world(worlds[0], scale), figsize, grid, wireframe, angle,
+ noaxis, whratio)
+
+ from mpl_toolkits.mplot3d.art3d import juggle_axes
+
+ def _update_plot(i, scatters, worlds, species_list):
+ world = worlds[i]
+ for i, name in enumerate(species_list):
+ xs, ys, zs = [], [], []
+ particles = world.list_particles_exact(Species(name))
+ if max_count is not None and len(particles) > max_count:
+ particles = random.sample(particles, max_count)
+ for pid, p in particles:
+ pos = p.position() * scale
+ xs.append(pos[0])
+ ys.append(pos[1])
+ zs.append(pos[2])
+ scatters[i]._offsets3d = juggle_axes(xs, ys, zs, 'z')
+
+ if rotate is not None:
+ ax.elev += rotate[0]
+ ax.azim += rotate[1]
+
+ fig.canvas.draw()
+
+ # print("Start making animation ...")
+
+ color_scale = attractive_mpl_color_scale({})
+ scatters = []
+ for i, name in enumerate(species_list):
+ opts = dict(marker='o', s=(2 ** marker_size), edgecolors='white', alpha=0.7)
+ opts.update(kwargs)
+ scatters.append(
+ ax.scatter(
+ [], [], [], c=color_scale.get_color(name), label=name, **opts))
+
+ # if legend:
+ # ax.legend(loc='best', shadow=True)
+ if legend is not None and legend is not False:
+ legend_opts = {'loc': 'center left', 'bbox_to_anchor': (1.0, 0.5),
+ 'shadow': False, 'frameon': False, 'fontsize': 'x-large',
+ 'scatterpoints': 1}
+ if isinstance(legend, dict):
+ legend_opts.update(legend)
+ ax.legend(**legend_opts)
+
+ ani = animation.FuncAnimation(
+ fig, _update_plot, fargs=(scatters, worlds, species_list),
+ frames=len(worlds), interval=interval, blit=False)
+
+ plt.close(ani._fig)
+
+ # print("Start generating a movie ...")
+ display_anim(ani, output, fps=1.0 / interval, crf=crf, bitrate=bitrate)
+
+def plot_world2d_with_matplotlib(
+ world, plane='xy', marker_size=3, figsize=6, grid=True,
+ wireframe=False, species_list=None, max_count=1000, angle=None,
+ legend=True, noaxis=False, scale=1.0, **kwargs):
+ """
+ Make a 2D plot from received instance of World and show it on IPython notebook.
+
+ Parameters
+ ----------
+ world : World or str
+ World to render. A HDF5 filename is also acceptable.
+ plane : str, default 'xy'
+ 'xy', 'yz', 'zx'.
+ marker_size : float, default 3
+ Marker size for all species. Size is passed to scatter function
+ as argument, s=(2 ** marker_size).
+ figsize : float, default 6
+ Size of the plotting area. Given in inch.
+ species_list : array of string, default None
+ If set, plot_world will not search the list of species.
+ max_count : Integer, default 1000
+ The maximum number of particles to show for each species.
+ None means no limitation.
+ angle : tuple, default None
+ A tuple of view angle which is given as (azim, elev, dist).
+ If None, use default assumed to be (-60, 30, 10).
+ legend : bool, default True
+ scale : float, default 1
+ A length-scaling factor
+
+ """
+ import matplotlib.pyplot as plt
+
+ plane = plane.lower()
+ if len(plane) != 2 or plane[0] not in ('x', 'y', 'z') or plane[1] not in ('x', 'y', 'z'):
+ raise ValueError("invalid 'plane' argument [{}] was given.".format(repr(plane)))
+ xidx = 0 if plane[0] == 'x' else (1 if plane[0] == 'y' else 2)
+ yidx = 0 if plane[1] == 'x' else (1 if plane[1] == 'y' else 2)
+
+ if species_list is None:
+ species_list = [p.species().serial() for pid, p in world.list_particles()]
+ species_list = sorted(
+ set(species_list), key=species_list.index) # XXX: pick unique ones
+
+ wrange = __get_range_of_world(world, scale)
+ wrange = (wrange['x'], wrange['y'], wrange['z'])
+ wrange = {'x': wrange[xidx], 'y': wrange[yidx]}
+
+ fig, ax = __prepare_plot_with_matplotlib(
+ wrange, figsize, grid, wireframe, noaxis)
+ scatters, plots = __scatter_world2d_with_matplotlib(
+ world, (xidx, yidx), ax, species_list, marker_size, max_count, scale, **kwargs)
+ ax.set_xlabel(plane[0].upper())
+ ax.set_ylabel(plane[1].upper())
+
+ # if legend:
+ # ax.legend(handles=plots, labels=species_list, loc='best', shadow=True)
+ if legend is not None and legend is not False:
+ legend_opts = {'loc': 'center left', 'bbox_to_anchor': (1.0, 0.5),
+ 'shadow': False, 'frameon': False, 'fontsize': 'x-large',
+ 'scatterpoints': 1}
+ if isinstance(legend, dict):
+ legend_opts.update(legend)
+ ax.legend(**legend_opts)
+ # ax.legend(handles=plots, labels=species_list, **legend_opts)
+
+ plt.show()
+
+def __scatter_world2d_with_matplotlib(
+ world, indices, ax, species_list, marker_size, max_count, scale, **kwargs):
+ from ecell4 import Species
+ color_scale = matplotlib_color_scale()
+
+ scatters, plots = [], []
+ for i, name in enumerate(species_list):
+ xs, ys = [], []
+ particles = world.list_particles_exact(Species(name))
+ if max_count is not None and len(particles) > max_count:
+ particles = random.sample(particles, max_count)
+ for pid, p in particles:
+ pos = p.position() * scale
+ xs.append(pos[indices[0]])
+ ys.append(pos[indices[1]])
+ c = color_scale.get_color(name)
+ scatters.append(
+ ax.scatter(
+ xs, ys,
+ marker='o', s=(2 ** marker_size), lw=0, c=c,
+ label=name, **kwargs))
+ return scatters, plots
+
+def plot_movie2d_with_matplotlib(
+ worlds, plane='xy', marker_size=3, figsize=6, grid=True,
+ wireframe=False, species_list=None, max_count=None, angle=None, noaxis=False,
+ interval=0.16, repeat_delay=3000, stride=1, rotate=None,
+ legend=True, scale=1, output=None, crf=10, bitrate='1M', **kwargs):
+ """
+ Generate a movie projected on the given plane from the received list
+ of instances of World, and show it on IPython notebook.
+ This function may require ffmpeg.
+
+ Parameters
+ ----------
+ worlds : list or FixedIntervalHDF5Observer
+ A list of Worlds to render.
+ plane : str, default 'xy'
+ 'xy', 'yz', 'zx'.
+ marker_size : float, default 3
+ Marker size for all species. Size is passed to scatter function
+ as argument, s=(2 ** marker_size).
+ figsize : float, default 6
+ Size of the plotting area. Given in inch.
+ species_list : array of string, default None
+ If set, plot_world will not search the list of species.
+ max_count : Integer, default None
+ The maximum number of particles to show for each species.
+ None means no limitation.
+ angle : tuple, default None
+ A tuple of view angle which is given as (azim, elev, dist).
+ If None, use default assumed to be (-60, 30, 10).
+ interval : Integer, default 0.16
+ Parameters for matplotlib.animation.ArtistAnimation.
+ stride : Integer, default 1
+ Stride per frame.
+ rotate : tuple, default None
+ A pair of rotation angles, elev and azim, for animation.
+ None means no rotation, same as (0, 0).
+ legend : bool, default True
+ scale : float, default 1
+ A length-scaling factor
+ output : str, default None
+ An output filename. '.webm' or '.mp4' is only accepted.
+ If None, display a movie on IPython Notebook.
+ crf : int, default 10
+ The CRF value can be from 4-63. Lower values mean better quality.
+ bitrate : str, default '1M'
+ Target bitrate
+
+ """
+ import matplotlib.pyplot as plt
+ import matplotlib.animation as animation
+ from ecell4 import Species, FixedIntervalHDF5Observer
+ from .simulation import load_world
+
+ # print("Start generating species_list ...")
+
+ plane = plane.lower()
+ if len(plane) != 2 or plane[0] not in ('x', 'y', 'z') or plane[1] not in ('x', 'y', 'z'):
+ raise ValueError("invalid 'plane' argument [{}] was given.".format(repr(plane)))
+ xidx = 0 if plane[0] == 'x' else (1 if plane[0] == 'y' else 2)
+ yidx = 0 if plane[1] == 'x' else (1 if plane[1] == 'y' else 2)
+
+ if isinstance(worlds, FixedIntervalHDF5Observer):
+ obs = worlds
+ worlds = []
+ for i in range(0, obs.num_steps(), stride):
+ filename = obs.filename(i)
+ if os.path.isfile(filename):
+ worlds.append(load_world(filename))
+ elif len(worlds) >0:
+ worlds.append(worlds[-1])
+ else:
+ worlds = worlds[:: stride]
+
+ if species_list is None:
+ species_list = []
+ for world in worlds:
+ species_list.extend(
+ [p.species().serial() for pid, p in world.list_particles()])
+ species_list = sorted(
+ set(species_list), key=species_list.index) # XXX: pick unique ones
+
+ # print("Start preparing mplot3d ...")
+
+ # fig, ax = __prepare_mplot3d_with_matplotlib(
+ # __get_range_of_world(worlds[0]), figsize, grid, wireframe, angle, noaxis)
+ wrange = __get_range_of_world(worlds[0], scale)
+ wrange = (wrange['x'], wrange['y'], wrange['z'])
+ wrange = {'x': wrange[xidx], 'y': wrange[yidx]}
+
+ fig, ax = __prepare_plot_with_matplotlib(
+ wrange, figsize, grid, wireframe, noaxis)
+ ax.set_xlabel(plane[0].upper())
+ ax.set_ylabel(plane[1].upper())
+
+ from mpl_toolkits.mplot3d.art3d import juggle_axes
+
+ def _update_plot(i, scatters, worlds, species_list):
+ world = worlds[i]
+ for i, name in enumerate(species_list):
+ offsets = []
+ particles = world.list_particles_exact(Species(name))
+ if max_count is not None and len(particles) > max_count:
+ particles = random.sample(particles, max_count)
+ for pid, p in particles:
+ pos = p.position() * scale
+ offsets.append((pos[xidx], pos[yidx]))
+ scatters[i].set_offsets(offsets)
+
+ fig.canvas.draw()
+
+ # print("Start making animation ...")
+
+ color_scale = matplotlib_color_scale()
+ scatters = []
+ for i, name in enumerate(species_list):
+ scatters.append(
+ ax.scatter([], [], marker='o', s=(2 ** marker_size),
+ lw=0, c=color_scale.get_color(name), label=name))
+
+ # if legend:
+ # ax.legend(loc='best', shadow=True)
+ if legend is not None and legend is not False:
+ legend_opts = {"loc": "best", "shadow": True}
+ if isinstance(legend, dict):
+ legend_opts.update(legend)
+ ax.legend(**legend_opts)
+
+ ani = animation.FuncAnimation(
+ fig, _update_plot, fargs=(scatters, worlds, species_list),
+ frames=len(worlds), interval=interval, blit=False)
+
+ plt.close(ani._fig)
+ # print("Start generating a movie ...")
+ display_anim(ani, output, fps=1.0 / interval, crf=crf, bitrate=bitrate)
+
+def plot_world_with_plotly(world, species_list=None, max_count=1000):
+ """
+ Plot a World on IPython Notebook
+ """
+ if isinstance(world, str):
+ from .simulation import load_world
+ world = load_world(world)
+
+ if species_list is None:
+ species_list = [sp.serial() for sp in world.list_species()]
+ species_list.sort()
+
+ import random
+ from ecell4 import Species
+
+ positions = {}
+ for serial in species_list:
+ x, y, z = [], [], []
+ particles = world.list_particles_exact(Species(serial))
+ if max_count is not None and len(particles) > max_count:
+ particles = random.sample(particles, max_count)
+ for pid, p in particles:
+ pos = p.position()
+ x.append(pos[0])
+ y.append(pos[1])
+ z.append(pos[2])
+
+ positions[serial] = (x, y, z)
+
+ import plotly
+ import plotly.graph_objs as go
+
+ plotly.offline.init_notebook_mode()
+
+ marker = dict(size=6, line=dict(color='rgb(204, 204, 204)', width=1),
+ opacity=0.9, symbol='circle')
+
+ data = []
+ for serial, (x, y, z) in positions.items():
+ trace = go.Scatter3d(
+ x=x, y=y, z=z, mode='markers',
+ marker=marker, name=serial)
+ data.append(trace)
+
+ layout = go.Layout(margin=dict(l=0, r=0, b=0, t=0))
+ fig = go.Figure(data=data, layout=layout)
+ plotly.offline.iplot(fig)
+
+def display_pdb(entity, width=400, height=400):
+ from IPython.display import display, IFrame
+ import ecell4.datasource.pdb as pdb
+ entity_id = pdb.PDBDataSource.parse_entity(entity)
+ if entity is None:
+ raise ValueError('An invalid entity [{}] was given.'.format(repr(entity)))
+ display(IFrame("http://gjbekker.github.io/molmil/#molmil.loadPDB('{}');".format(entity_id), width, height))
diff --git a/python/lib/ecell4/util/vizstyles.py b/python/lib/ecell4/util/vizstyles.py
new file mode 100644
index 0000000..3aeb7c7
--- /dev/null
+++ b/python/lib/ecell4/util/vizstyles.py
@@ -0,0 +1,64 @@
+import copy
+
+
+def periodic_color_scale(color_list):
+ class PeriodicColorScale:
+ """
+ Color generator
+ """
+
+ COLORS = color_list
+
+ def __init__(self, config={}):
+ """
+ Initialize a color scale
+
+ Parameters
+ ----------
+ config : dict, default {}
+ Dict for configure default colors. Its values are colors unique
+ to each key. Colors included in config will never be used.
+
+ """
+ self.__config = config
+ self.__buffer = copy.copy(self.COLORS)
+
+ for color in self.__config.values():
+ if color in self.__buffer:
+ self.__buffer.remove(color)
+ if len(self.__buffer) == 0:
+ self.__buffer = copy.copy(self.COLORS)
+
+ def get_color(self, name):
+ """
+ Get color unique to the recieved name
+
+ Parameters
+ ----------
+ name : string
+ This method returns one color unique to this parameter.
+
+ """
+ if self.__config.get(name) is None:
+ self.__config[name] = self.__buffer.pop(0)
+ if len(self.__buffer) == 0:
+ self.__buffer = copy.copy(self.COLORS)
+
+ return self.__config[name]
+
+ def get_config(self):
+ """Get an instance of dic as the config of colors."""
+ return self.__config
+ return PeriodicColorScale
+
+elegans_color_scale = periodic_color_scale(
+ ["#a6cee3", "#1f78b4", "#b2df8a", "#33a02c", "#e31a1c", "#8dd3c7",
+ "#ffffb3", "#bebada", "#fb8072", "#80b1d3", "#fdb462", "#b3de69",
+ "#fccde5", "#d9d9d9", "#bc80bd", "#ccebc5", "#ffed6f"])
+matplotlib_color_scale = periodic_color_scale(
+ ["#0000ff", "#008800", "#ff0000", "#ff00ff", "#ffff00", "#00ffff",
+ "#000000"])
+default_color_scale = elegans_color_scale
+
+attractive_mpl_color_scale = periodic_color_scale(
+ [(0.2980392156862745, 0.4470588235294118, 0.6901960784313725), (0.3333333333333333, 0.6588235294117647, 0.40784313725490196), (0.7686274509803922, 0.3058823529411765, 0.3215686274509804), (0.5058823529411764, 0.4470588235294118, 0.6980392156862745), (0.8, 0.7254901960784313, 0.4549019607843137), (0.39215686274509803, 0.7098039215686275, 0.803921568627451)]) # originally from the seaborn color palette
diff --git a/python/samples/conv2bngl.py b/python/samples/conv2bngl.py
new file mode 100644
index 0000000..edb75f0
--- /dev/null
+++ b/python/samples/conv2bngl.py
@@ -0,0 +1,67 @@
+from ecell4.reaction_reader.decorator2 import species_attributes, reaction_rules
+from ecell4.reaction_reader.network import generate_reactions
+from ecell4.util.bng_exporter import Convert2BNGManager
+
+
+ at species_attributes
+def attributegen():
+ egf(r) | 0.1
+ Grb2(SH2, SH3) | 0.2
+ Shc(PTB, Y317=Y) | 0.3
+ Sos(dom) | 0.4
+ egfr(l, r, Y1068=Y, Y1148=Y) | 0.5
+ Grb2(SH2, SH3^1).Sos(dom^1) | 0.6
+
+ at reaction_rules
+def rulegen():
+ # Ligand-receptor binding (ligand-monomer)
+ egfr(l, r) + egf(r) == egfr(l^1, r).egf(r^1) | (0.1, 0.2)
+
+ # Note changed multiplicity
+ # Receptor-aggregation
+ egfr(l^_, r) + egfr(l^_, r) == egfr(l^_,r^3).egfr(l^_,r^3) | (0.3, 0.4)
+ # egfr(l^_1, r) + egfr(l^_2, r) == egfr(l^_1,r^3).egfr(l^_2,r^3) | (kp2, km2) #XXX: this should work, but not now
+
+ # Transphosphorylation of egfr by RTK
+ egfr(r^_, Y1068=Y) > egfr(r^_, Y1068=pY) | 0.5
+ egfr(r^_, Y1148=Y) > egfr(r^_, Y1148=pY) | 0.6
+
+ # Dephosphorylation
+ egfr(Y1068=pY) > egfr(Y1068=Y) | 0.7
+ egfr(Y1148=pY) > egfr(Y1148=Y) | 0.8
+
+ # Shc transphosphorylation
+ egfr(r^_, Y1148=pY^1).Shc(PTB^1,Y317=Y) > egfr(r^_,Y1148=pY^1).Shc(PTB^1,Y317=pY) | 0.9
+ Shc(PTB^_,Y317=pY) > Shc(PTB^_,Y317=Y) | 1.0
+
+ # Y1068 activity
+ egfr(Y1068=pY) + Grb2(SH2,SH3) == egfr(Y1068=pY^1).Grb2(SH2^1,SH3) | (0.1, 0.2)
+ egfr(Y1068=pY) + Grb2(SH2,SH3^_) == egfr(Y1068=pY^1).Grb2(SH2^1,SH3^_) | (0.3, 0.4)
+ egfr(Y1068=pY^1).Grb2(SH2^1,SH3) + Sos(dom) == egfr(Y1068=pY^1).Grb2(SH2^1,SH3^2).Sos(dom^2) | (0.5, 0.6)
+
+ # Y1148 activity
+ egfr(Y1148=pY) + Shc(PTB,Y317=Y) == egfr(Y1148=pY^1).Shc(PTB^1,Y317=Y) | (0.7, 0.8)
+ egfr(Y1148=pY) + Shc(PTB,Y317=pY) == egfr(Y1148=pY^1).Shc(PTB^1,Y317=pY) | (0.9, 1.0)
+ egfr(Y1148=pY) + Shc(PTB,Y317=pY^1).Grb2(SH2^1,SH3) == egfr(Y1148=pY^2).Shc(PTB^2,Y317=pY^1).Grb2(SH2^1,SH3) | (0.1, 0.2)
+ egfr(Y1148=pY) + Shc(PTB,Y317=pY^1).Grb2(SH2^1,SH3^3).Sos(dom^3) == egfr(Y1148=pY^2).Shc(PTB^2,Y317=pY^1).Grb2(SH2^1,SH3^3).Sos(dom^3) | (0.3, 0.4)
+
+ egfr(Y1148=pY^1).Shc(PTB^1,Y317=pY) + Grb2(SH2,SH3) == egfr(Y1148=pY^1).Shc(PTB^1,Y317=pY^2).Grb2(SH2^2,SH3) | (0.5, 0.6)
+
+ egfr(Y1148=pY^1).Shc(PTB^1,Y317=pY) + Grb2(SH2,SH3^3).Sos(dom^3) == egfr(Y1148=pY^1).Shc(PTB^1,Y317=pY^2).Grb2(SH2^2,SH3^3).Sos(dom^3) | (0.7, 0.8)
+
+ Shc(PTB^_,Y317=pY^2).Grb2(SH2^2,SH3) + Sos(dom) == Shc(PTB^_,Y317=pY^2).Grb2(SH2^2,SH3^3).Sos(dom^3) | (0.9, 1.0)
+
+ # Cytosolic
+ Shc(PTB,Y317=pY) + Grb2(SH2,SH3) == Shc(PTB,Y317=pY^1).Grb2(SH2^1,SH3) | (1.1, 1.2)
+ Shc(PTB,Y317=pY) + Grb2(SH2,SH3^_) == Shc(PTB,Y317=pY^1).Grb2(SH2^1,SH3^_) | (1.3, 1.4)
+ Shc(PTB,Y317=pY) > Shc(PTB,Y317=Y) | 1.5
+ Grb2(SH2,SH3) + Sos(dom) == Grb2(SH2,SH3^1).Sos(dom^1) | (1.6, 1.7)
+ Shc(PTB,Y317=pY^2).Grb2(SH2^2,SH3) + Sos(dom) == Shc(PTB,Y317=pY^2).Grb2(SH2^2,SH3^3).Sos(dom^3) | (1.8, 1.9)
+
+
+if __name__ == "__main__":
+ with open("new_export.bngl", "w") as f:
+ bng_mng = Convert2BNGManager(attributegen(), rulegen())
+ bng_mng.write_section_molecule_types(f)
+ bng_mng.write_section_seed_species(f)
+ bng_mng.write_section_reaction_rules(f)
diff --git a/python/samples/conv2sbml.py b/python/samples/conv2sbml.py
new file mode 100644
index 0000000..c7d0d6b
--- /dev/null
+++ b/python/samples/conv2sbml.py
@@ -0,0 +1,75 @@
+from ecell4.reaction_reader.decorator2 import species_attributes, reaction_rules
+#from ecell4.reaction_reader.species import generate_reactions
+from ecell4.util.sbml_exporter import convert2SBML
+from ecell4.reaction_reader.network import generate_NetworkModel, generate_reactions
+
+
+ at species_attributes
+def attributegen():
+ egf(r) | 0.1
+ Grb2(SH2, SH3) | 0.2
+ Shc(PTB, Y317=Y) | 0.3
+ Sos(dom) | 0.4
+ egfr(l, r, Y1068=Y, Y1148=Y) | 0.5
+ Grb2(SH2, SH3^1).Sos(dom^1) | 0.6
+
+ at reaction_rules
+def rulegen():
+ # Ligand-receptor binding (ligand-monomer)
+ egfr(l, r) + egf(r) == egfr(l^1, r).egf(r^1) | (0.1, 0.2)
+
+ # Note changed multiplicity
+ # Receptor-aggregation
+ egfr(l^_, r) + egfr(l^_, r) == egfr(l^_,r^3).egfr(l^_,r^3) | (0.3, 0.4)
+ # egfr(l^_1, r) + egfr(l^_2, r) == egfr(l^_1,r^3).egfr(l^_2,r^3) | (kp2, km2) #XXX: this should work, but not now
+
+ # Transphosphorylation of egfr by RTK
+ egfr(r^_, Y1068=Y) > egfr(r^_, Y1068=pY) | 0.5
+ egfr(r^_, Y1148=Y) > egfr(r^_, Y1148=pY) | 0.6
+
+ # Dephosphorylation
+ egfr(Y1068=pY) > egfr(Y1068=Y) | 0.7
+ egfr(Y1148=pY) > egfr(Y1148=Y) | 0.8
+
+ # Shc transphosphorylation
+ egfr(r^_, Y1148=pY^1).Shc(PTB^1,Y317=Y) > egfr(r^_,Y1148=pY^1).Shc(PTB^1,Y317=pY) | 0.9
+ Shc(PTB^_,Y317=pY) > Shc(PTB^_,Y317=Y) | 1.0
+
+ # Y1068 activity
+ egfr(Y1068=pY) + Grb2(SH2,SH3) == egfr(Y1068=pY^1).Grb2(SH2^1,SH3) | (0.1, 0.2)
+ egfr(Y1068=pY) + Grb2(SH2,SH3^_) == egfr(Y1068=pY^1).Grb2(SH2^1,SH3^_) | (0.3, 0.4)
+ egfr(Y1068=pY^1).Grb2(SH2^1,SH3) + Sos(dom) == egfr(Y1068=pY^1).Grb2(SH2^1,SH3^2).Sos(dom^2) | (0.5, 0.6)
+
+ # Y1148 activity
+ egfr(Y1148=pY) + Shc(PTB,Y317=Y) == egfr(Y1148=pY^1).Shc(PTB^1,Y317=Y) | (0.7, 0.8)
+ egfr(Y1148=pY) + Shc(PTB,Y317=pY) == egfr(Y1148=pY^1).Shc(PTB^1,Y317=pY) | (0.9, 1.0)
+ egfr(Y1148=pY) + Shc(PTB,Y317=pY^1).Grb2(SH2^1,SH3) == egfr(Y1148=pY^2).Shc(PTB^2,Y317=pY^1).Grb2(SH2^1,SH3) | (0.1, 0.2)
+ egfr(Y1148=pY) + Shc(PTB,Y317=pY^1).Grb2(SH2^1,SH3^3).Sos(dom^3) == egfr(Y1148=pY^2).Shc(PTB^2,Y317=pY^1).Grb2(SH2^1,SH3^3).Sos(dom^3) | (0.3, 0.4)
+
+ egfr(Y1148=pY^1).Shc(PTB^1,Y317=pY) + Grb2(SH2,SH3) == egfr(Y1148=pY^1).Shc(PTB^1,Y317=pY^2).Grb2(SH2^2,SH3) | (0.5, 0.6)
+
+ egfr(Y1148=pY^1).Shc(PTB^1,Y317=pY) + Grb2(SH2,SH3^3).Sos(dom^3) == egfr(Y1148=pY^1).Shc(PTB^1,Y317=pY^2).Grb2(SH2^2,SH3^3).Sos(dom^3) | (0.7, 0.8)
+
+ Shc(PTB^_,Y317=pY^2).Grb2(SH2^2,SH3) + Sos(dom) == Shc(PTB^_,Y317=pY^2).Grb2(SH2^2,SH3^3).Sos(dom^3) | (0.9, 1.0)
+
+ # Cytosolic
+ Shc(PTB,Y317=pY) + Grb2(SH2,SH3) == Shc(PTB,Y317=pY^1).Grb2(SH2^1,SH3) | (1.1, 1.2)
+ Shc(PTB,Y317=pY) + Grb2(SH2,SH3^_) == Shc(PTB,Y317=pY^1).Grb2(SH2^1,SH3^_) | (1.3, 1.4)
+ Shc(PTB,Y317=pY) > Shc(PTB,Y317=Y) | 1.5
+ Grb2(SH2,SH3) + Sos(dom) == Grb2(SH2,SH3^1).Sos(dom^1) | (1.6, 1.7)
+ Shc(PTB,Y317=pY^2).Grb2(SH2^2,SH3) + Sos(dom) == Shc(PTB,Y317=pY^2).Grb2(SH2^2,SH3^3).Sos(dom^3) | (1.8, 1.9)
+
+
+if __name__ == "__main__":
+ newseeds = []
+ attrs = attributegen()
+ for i, (sp, attr) in enumerate(attrs):
+ #print i, sp, attr
+ newseeds.append(sp)
+ #print ''
+ reaction_rules = rulegen()
+
+ seeds, rules = generate_reactions(newseeds , reaction_rules, max_iter = 5)
+
+ m = generate_NetworkModel(seeds, rules)
+ convert2SBML(m, attrs, "egfr_n5.xml")
diff --git a/python/samples/dissociation.py b/python/samples/dissociation.py
new file mode 100644
index 0000000..012bb28
--- /dev/null
+++ b/python/samples/dissociation.py
@@ -0,0 +1,37 @@
+from ecell4.core import *
+from ecell4.ode import *
+
+
+def singlerun():
+ L, k1 = 1.0, 1.0
+ sp1, sp2, sp3 = Species("A"), Species("B"), Species("C")
+ rr1 = create_unbinding_reaction_rule(sp1, sp2, sp3, k1)
+
+ m = NetworkModel()
+ m.add_species_attribute(sp1)
+ m.add_species_attribute(sp2)
+ m.add_species_attribute(sp3)
+ m.add_reaction_rule(rr1)
+
+ w = ODEWorld(Real3(L, L, L))
+ w.add_molecules(sp1, 60)
+
+ target = ODESimulator(m, w)
+ target.initialize()
+
+ next_time = 0.0
+ dt = 0.01
+
+ print "t = %g\t A = %g\t B = %g\t C = %g" % (
+ target.t(), w.num_molecules(sp1), w.num_molecules(sp2),
+ w.num_molecules(sp3))
+ for i in range(200):
+ next_time += dt
+ target.step(next_time)
+ print "t = %g\t A = %g\t B = %g\t C = %g" % (
+ target.t(), w.num_molecules(sp1), w.num_molecules(sp2),
+ w.num_molecules(sp3))
+
+
+if __name__ == "__main__":
+ singlerun()
diff --git a/python/samples/drosophila.py b/python/samples/drosophila.py
new file mode 100644
index 0000000..acf0561
--- /dev/null
+++ b/python/samples/drosophila.py
@@ -0,0 +1,104 @@
+from ecell4.core import *
+from ecell4.ode import *
+from ecell4.util.decorator import *
+
+
+def ratelaw_func(reactants, products, volume, t, rr):
+ #import ipdb; ipdb.set_trace()
+ flux = float(0.1 * volume)
+ for c in reactants:
+ flux *= c/volume
+ return flux
+
+def ratelaw_func2(reactants, products, volume, t, rr):
+ ka, U = 0.1, 0.5
+ N = 60
+ kd = ka * volume * (1 - U) / (U * U * N)
+ flux = float(kd * volume)
+ for c in reactants:
+ flux *= c/volume
+ return flux
+
+def singlerun1():
+ L = 1e-16
+ edge_length = Real3(L, L, L)
+ volume = L * L * L
+ N = 60
+ ka, U = 0.1, 0.5
+ sp1, sp2, sp3 = Species("A"), Species("B"), Species("C")
+ rr1 = ODEReactionRule()
+ rr1.add_reactant(sp1, 1.0)
+ rr1.add_product(sp2, 1.0)
+ rr1.add_product(sp3, 1.0)
+ # rl1 = ODERatelawMassAction(ka)
+ # rr1.set_ratelaw_massaction(rl1)
+ # rl_cb = ODERatelawCallback(ratelaw_func)
+ # rr1.set_ratelaw(rl_cb)
+ # rl_cb = ODERatelawCallback(lambda r, p, V, t, rr: ka * r[0])
+ # rr1.set_ratelaw(rl_cb)
+ # rr1.set_ratelaw(ODERatelawCallback(lambda r, p, V, t, rr: ka * r[0]))
+
+ rr2 = ODEReactionRule()
+ rr2.add_reactant(sp2, 1.0)
+ rr2.add_reactant(sp3, 1.0)
+ rr2.add_product(sp1, 1.0)
+ kd = ka * volume * (1 - U) / (U * U * N)
+ # rl2 = ODERatelawMassAction(kd)
+ # rr2.set_ratelaw(rl2)
+ # rl_cb2 = ODERatelawCallback(ratelaw_func2)
+ # rr2.set_ratelaw(rl_cb2)
+ # rl_cb2 = ODERatelawCallback(lambda r, p, V, t, rr: kd / V * r[0] * r[1])
+ # rr2.set_ratelaw(rl_cb2)
+ # rr2.set_ratelaw(ODERatelawCallback(lambda r, p, V, t, rr: kd / V * r[0] * r[1]))
+
+ m = ODENetworkModel()
+ m.add_reaction_rule(rr1)
+ m.add_reaction_rule(rr2)
+ for r in m.ode_reaction_rules():
+ print("# {}".format(r.as_string()))
+
+ w = ODEWorld(edge_length)
+ w.add_molecules(sp1, N)
+
+ sim = ODESimulator(m, w)
+
+ # obs = FixedIntervalNumberObserver(0.01, ["A", "B", "C"])
+ # sim.run(10.0, obs)
+ # print(obs.data())
+
+ next_time, dt = 0.0, 0.01
+ print("{}\t{}\t{}\t{}".format(
+ sim.t(), w.get_value(sp1), w.get_value(sp2), w.get_value(sp3)))
+ for i in xrange(1000):
+ next_time += dt
+ sim.step(next_time)
+ print("{}\t{}\t{}\t{}".format(
+ sim.t(), w.get_value(sp1), w.get_value(sp2), w.get_value(sp3)))
+
+def singlerun2():
+ L = 1e-16
+ edge_length = Real3(L, L, L)
+ volume = L * L * L
+ N = 60
+ ka, U = 0.1, 0.5
+ kd = ka * volume * (1 - U) / (U * U * N)
+
+ with reaction_rules():
+ A == B + C | (lambda r, p, V, t, rr: ka * r[0],
+ lambda r, p, V, t, rr: kd / V * r[0] * r[1])
+
+ m = get_model()
+
+ w = ODEWorld(edge_length)
+ w.add_molecules(Species("A"), N)
+
+ sim = ODESimulator(m, w)
+ obs = FixedIntervalNumberObserver(0.01, ["A", "B", "C"])
+ sim.run(20.0, obs)
+
+ for data in obs.data():
+ print("{}\t{}\t{}\t{}".format(*data))
+
+# singlerun1()
+singlerun2()
+print("# done")
diff --git a/python/samples/ode_simulator.py b/python/samples/ode_simulator.py
new file mode 100644
index 0000000..59e4c8f
--- /dev/null
+++ b/python/samples/ode_simulator.py
@@ -0,0 +1,104 @@
+from ecell4.core import *
+from ecell4.ode import *
+from ecell4.util.decorator import *
+
+
+def ratelaw_func(reactants, products, volume, t, rr):
+ #import ipdb; ipdb.set_trace()
+ flux = float(0.1 * volume)
+ for c in reactants:
+ flux *= c/volume
+ return flux
+
+def ratelaw_func2(reactants, products, volume, t, rr):
+ ka, U = 0.1, 0.5
+ N = 60
+ kd = ka * volume * (1 - U) / (U * U * N)
+ flux = float(kd * volume)
+ for c in reactants:
+ flux *= c/volume
+ return flux
+
+def singlerun1():
+ L = 1e-16
+ edge_length = Real3(L, L, L)
+ volume = L * L * L
+ N = 60
+ ka, U = 0.1, 0.5
+ sp1, sp2, sp3 = Species("A"), Species("B"), Species("C")
+ rr1 = ODEReactionRule()
+ rr1.add_reactant(sp1, 1.0)
+ rr1.add_product(sp2, 1.0)
+ rr1.add_product(sp3, 1.0)
+ # rl1 = ODERatelawMassAction(ka)
+ # rr1.set_ratelaw_massaction(rl1)
+ # rl_cb = ODERatelawCallback(ratelaw_func)
+ # rr1.set_ratelaw(rl_cb)
+ # rl_cb = ODERatelawCallback(lambda r, p, V, t, rr: ka * r[0])
+ # rr1.set_ratelaw(rl_cb)
+ # rr1.set_ratelaw(ODERatelawCallback(lambda r, p, V, t, rr: ka * r[0]))
+
+ rr2 = ODEReactionRule()
+ rr2.add_reactant(sp2, 1.0)
+ rr2.add_reactant(sp3, 1.0)
+ rr2.add_product(sp1, 1.0)
+ kd = ka * volume * (1 - U) / (U * U * N)
+ # rl2 = ODERatelawMassAction(kd)
+ # rr2.set_ratelaw(rl2)
+ # rl_cb2 = ODERatelawCallback(ratelaw_func2)
+ # rr2.set_ratelaw(rl_cb2)
+ # rl_cb2 = ODERatelawCallback(lambda r, p, V, t, rr: kd / V * r[0] * r[1])
+ # rr2.set_ratelaw(rl_cb2)
+ # rr2.set_ratelaw(ODERatelawCallback(lambda r, p, V, t, rr: kd / V * r[0] * r[1]))
+
+ m = ODENetworkModel()
+ m.add_reaction_rule(rr1)
+ m.add_reaction_rule(rr2)
+ for r in m.ode_reaction_rules():
+ print("# {}".format(r.as_string()))
+
+ w = ODEWorld(edge_length)
+ w.add_molecules(sp1, N)
+
+ sim = ODESimulator(m, w)
+
+ # obs = FixedIntervalNumberObserver(0.01, ["A", "B", "C"])
+ # sim.run(10.0, obs)
+ # print(obs.data())
+
+ next_time, dt = 0.0, 0.01
+ print("{}\t{}\t{}\t{}".format(
+ sim.t(), w.get_value(sp1), w.get_value(sp2), w.get_value(sp3)))
+ for i in xrange(1000):
+ next_time += dt
+ sim.step(next_time)
+ print("{}\t{}\t{}\t{}".format(
+ sim.t(), w.get_value(sp1), w.get_value(sp2), w.get_value(sp3)))
+
+def singlerun2():
+ L = 1e-16
+ edge_length = Real3(L, L, L)
+ volume = L * L * L
+ N = 60
+ ka, U = 0.1, 0.5
+ kd = ka * volume * (1 - U) / (U * U * N)
+
+ with reaction_rules():
+ A == B + C | (lambda r, p, V, t, rr: ka * r[0],
+ lambda r, p, V, t, rr: kd / V * r[0] * r[1])
+
+ m = get_model()
+
+ w = ODEWorld(edge_length)
+ w.add_molecules(Species("A"), N)
+
+ sim = ODESimulator(m, w, Explicit_Euler)
+ obs = FixedIntervalNumberObserver(0.01, ["A", "B", "C"])
+ sim.run(20.0, obs)
+
+ for data in obs.data():
+ print("{}\t{}\t{}\t{}".format(*data))
+
+# singlerun1()
+singlerun2()
+print("# done")
diff --git a/python/samples/ode_simulator_pickle.py b/python/samples/ode_simulator_pickle.py
new file mode 100644
index 0000000..e368fbb
--- /dev/null
+++ b/python/samples/ode_simulator_pickle.py
@@ -0,0 +1,149 @@
+from ecell4.core import *
+from ecell4.ode import *
+from ecell4.util.decorator import *
+
+#import pickle
+import dill as pickle
+
+
+def ratelaw_func(reactants, products, volume, t, rr):
+ #import ipdb; ipdb.set_trace()
+ flux = float(0.1 * volume)
+ for c in reactants:
+ flux *= c/volume
+ return flux
+
+def ratelaw_func2(reactants, products, volume, t, rr):
+ ka, U = 0.1, 0.5
+ N = 60
+ kd = ka * volume * (1 - U) / (U * U * N)
+ flux = float(kd * volume)
+ for c in reactants:
+ flux *= c/volume
+ return flux
+
+def singlerun1():
+ L = 1e-16
+ edge_length = Real3(L, L, L)
+ volume = L * L * L
+ N = 60
+ ka, U = 0.1, 0.5
+ sp1, sp2, sp3 = Species("A"), Species("B"), Species("C")
+ rr1 = ODEReactionRule()
+ rr1.add_reactant(sp1, 1.0)
+ rr1.add_product(sp2, 1.0)
+ rr1.add_product(sp3, 1.0)
+ #rl1 = ODERatelawMassAction(ka)
+ #rr1.set_ratelaw_massaction(rl1)
+ rl_cb = ODERatelawCallback(ratelaw_func)
+ rr1.set_ratelaw(rl_cb)
+ # rl_cb = ODERatelawCallback(lambda r, p, V, t, rr: ka * r[0])
+ # rr1.set_ratelaw(rl_cb)
+ # rr1.set_ratelaw(ODERatelawCallback(lambda r, p, V, t, rr: ka * r[0]))
+
+ rr2 = ODEReactionRule()
+ rr2.add_reactant(sp2, 1.0)
+ rr2.add_reactant(sp3, 1.0)
+ rr2.add_product(sp1, 1.0)
+ kd = ka * volume * (1 - U) / (U * U * N)
+ # rl2 = ODERatelawMassAction(kd)
+ # rr2.set_ratelaw(rl2)
+ rl_cb2 = ODERatelawCallback(ratelaw_func2)
+ rr2.set_ratelaw(rl_cb2)
+ # rl_cb2 = ODERatelawCallback(lambda r, p, V, t, rr: kd / V * r[0] * r[1])
+ # rr2.set_ratelaw(rl_cb2)
+ # rr2.set_ratelaw(ODERatelawCallback(lambda r, p, V, t, rr: kd / V * r[0] * r[1]))
+
+ m = ODENetworkModel()
+ m.add_reaction_rule(rr1)
+ m.add_reaction_rule(rr2)
+
+
+ # Save
+ #dump_obj = dumper.dump_network_model(m)
+ with open("test3.pickle", "wb") as f:
+ pickle.dump(m, f)
+
+ for r in m.ode_reaction_rules():
+ print("# {}".format(r.as_string()))
+
+ w = ODEWorld(edge_length)
+ w.add_molecules(sp1, N)
+
+ sim = ODESimulator(m, w)
+
+ # obs = FixedIntervalNumberObserver(0.01, ["A", "B", "C"])
+ # sim.run(10.0, obs)
+ # print(obs.data())
+
+ next_time, dt = 0.0, 0.01
+ print("{}\t{}\t{}\t{}".format(
+ sim.t(), w.get_value(sp1), w.get_value(sp2), w.get_value(sp3)))
+ for i in xrange(1000):
+ next_time += dt
+ sim.step(next_time)
+ print("{}\t{}\t{}\t{}".format(
+ sim.t(), w.get_value(sp1), w.get_value(sp2), w.get_value(sp3)))
+
+def singlerun1_load():
+ L = 1e-16
+ edge_length = Real3(L, L, L)
+ #volume = L * L * L
+ N = 60
+ sp1, sp2, sp3 = Species("A"), Species("B"), Species("C")
+
+ # Load the Model
+ with open("test3.pickle", "rb") as f:
+ m = pickle.load(f)
+ #m = dumper.load_network_model(dump_obj)
+ #import ipdb; ipdb.set_trace()
+
+ for r in m.ode_reaction_rules():
+ print("# {}".format(r.as_string()))
+
+ w = ODEWorld(edge_length)
+ w.add_molecules(sp1, N)
+
+ sim = ODESimulator(m, w)
+
+ # obs = FixedIntervalNumberObserver(0.01, ["A", "B", "C"])
+ # sim.run(10.0, obs)
+ # print(obs.data())
+
+ next_time, dt = 0.0, 0.01
+ print("{}\t{}\t{}\t{}".format(
+ sim.t(), w.get_value(sp1), w.get_value(sp2), w.get_value(sp3)))
+ for i in xrange(1000):
+ next_time += dt
+ sim.step(next_time)
+ print("{}\t{}\t{}\t{}".format(
+ sim.t(), w.get_value(sp1), w.get_value(sp2), w.get_value(sp3)))
+
+def singlerun2():
+ L = 1e-16
+ edge_length = Real3(L, L, L)
+ volume = L * L * L
+ N = 60
+ ka, U = 0.1, 0.5
+ kd = ka * volume * (1 - U) / (U * U * N)
+
+ with reaction_rules():
+ A == B + C | (lambda r, p, V, t, rr: ka * r[0],
+ lambda r, p, V, t, rr: kd / V * r[0] * r[1])
+
+ m = get_model()
+
+ w = ODEWorld(edge_length)
+ w.add_molecules(Species("A"), N)
+
+ sim = ODESimulator(m, w, Explicit_Euler)
+ obs = FixedIntervalNumberObserver(0.01, ["A", "B", "C"])
+ sim.run(20.0, obs)
+
+ for data in obs.data():
+ print("{}\t{}\t{}\t{}".format(*data))
+
+#singlerun1()
+singlerun1_load()
+#singlerun2()
+print("# done")
diff --git a/python/samples/oregonator.py b/python/samples/oregonator.py
new file mode 100644
index 0000000..6a6eb04
--- /dev/null
+++ b/python/samples/oregonator.py
@@ -0,0 +1,90 @@
+from ecell4.core import *
+from ecell4.ode import *
+
+import sys
+
+def generate_ode_reaction(leftside, rightside, k = 0.0):
+ reaction = ODEReactionRule()
+ for (coeff, sp) in leftside:
+ if isinstance(coeff, float) and isinstance(sp, Species):
+ reaction.add_reactant(sp, coeff)
+ for (coeff, sp) in rightside:
+ if isinstance(coeff, float) and isinstance(sp, Species):
+ reaction.add_product(sp, coeff)
+ if (k != 0.0):
+ reaction.set_k(k)
+ return reaction
+
+# Variable(adjust is needed)
+init_A = 6.0e-2
+init_B = 0.0
+init_P = 0.0
+init_X = 5.025e-11
+init_Y = 3.0e-2
+init_Z = 4.8e-8
+
+f = 1.0
+
+k_1 = 1.34
+k_2 = 1.6e+9
+k_3 = 8.0e+3
+k_4 = 4.0e+7
+k_5 = 1.0
+
+show_interval_steps = 100
+
+def singlerun():
+ L = 1.0
+ edge_length = Real3(L, L, L)
+ volume = L * L * L
+
+ # Species
+ A, B = Species("A"), Species("B")
+ X, Y, Z = Species("X"), Species("Y"), Species("Z")
+ P = Species("P")
+
+ # A + Y -> X + P
+ rr1 = generate_ode_reaction( [(1.0, A), (1.0, Y)], [(1.0, X), (1.0, P)] )
+ rr1.set_k(k_1)
+ # X + Y -> P
+ rr2 = generate_ode_reaction( [(1.0, X), (1.0, Y)], [(2.0, P)] )
+ rr2.set_k(k_2)
+ # A + X -> 2X + 2Z
+ rr3 = generate_ode_reaction( [(1.0, A), (1.0, X)], [(2.0, X), (1.0, Z)] )
+ rr3.set_k(k_3)
+ # X + X -> A + P
+ rr4 = generate_ode_reaction( [(2.0, X)], [(1.0, A), (1.0, P)] )
+ rr4.set_k(k_4)
+ # Z -> fY
+ rr5 = generate_ode_reaction( [(1.0, Z)], [(f, Y)] )
+ rr5.set_k(k_5)
+
+ m = ODENetworkModel()
+ for r in [rr1, rr2, rr3, rr4, rr5]:
+ m.add_reaction_rule(r)
+ for r in m.ode_reaction_rules():
+ print r.as_string()
+
+ w = ODEWorld(edge_length)
+ w.set_value(A, init_A)
+ w.set_value(B, init_B)
+ w.set_value(P, init_P)
+ w.set_value(X, init_X)
+ w.set_value(Y, init_Y)
+ w.set_value(Z, init_Z)
+
+ sim = ODESimulator(m, w)
+ next_time, dt = 0.0, 0.01
+
+ print "{:5f},{:e},{:e},{:e}".format(
+ sim.t(), w.get_value(X), w.get_value(Y), w.get_value(Z))
+ for i in xrange(200000):
+ next_time += dt
+ sim.step(next_time)
+ if i % show_interval_steps == 0:
+ #sys.stderr.write("{}\n".format(sim.t()) )
+ print "{:5f},{:e},{:e},{:e}".format(
+ sim.t(), w.get_value(X), w.get_value(Y), w.get_value(Z))
+
+singlerun()
+print "done"
diff --git a/python/samples/reaction_reader/CaOscillate_Func/CaOscillate_Func.py b/python/samples/reaction_reader/CaOscillate_Func/CaOscillate_Func.py
new file mode 100644
index 0000000..c361be6
--- /dev/null
+++ b/python/samples/reaction_reader/CaOscillate_Func/CaOscillate_Func.py
@@ -0,0 +1,98 @@
+from ecell4.reaction_reader.decorator2 import species_attributes, reaction_rules
+from ecell4.reaction_reader.network import generate_reactions
+
+
+ at species_attributes
+def attributegen():
+ Null | 1
+ Ga | 2
+ PLC | 3
+ Ca | 4
+
+ at reaction_rules
+def rulegen():
+ Null > Ga + Null | 1
+ Ga > Ga + Ga | 2
+ Ga + PLC > PLC | 3
+ Ga + Ca > Ca | 4
+ Ga > PLC + Ga | 5
+ PLC + Null > Null | 6
+ Ga > Ca + Ga | 7
+ Ca + Null > Null | 8
+
+if __name__ == "__main__":
+ newseeds = []
+ for i, (sp, attr) in enumerate(attributegen()):
+ print i, sp, attr
+ newseeds.append(sp)
+ print ''
+
+ rules = rulegen()
+ for i, rr in enumerate(rules):
+ print i, rr
+ print ''
+
+ generate_reactions(newseeds, rules)
+
+# begin model
+# begin parameters
+# Na 6.022e23 # Avogadro's # [mol^-1]
+# V 1e-21 # Volume [L]
+# #
+# k1 0.212*Na*V # [M s^-1]
+# k2 2.85 # [s^-1]
+# k3 1.52 # [s^-1]
+# K4 0.19*Na*V # [M]
+# k5 4.88 # [s^-1]
+# K6 1.18*Na*V # [M]
+# k7 1.24 # [s^-1]
+# k8 32.24*Na*V # [M s^-1]
+# K9 29.09*Na*V # [M]
+# k10 13.58 # [s^-1]
+# k11 153.0*Na*V # [M s^-1]
+# K12 0.16*Na*V # [M]
+# #
+# Ga_0 0.01*Na*V # [M]
+# PLC_0 0.01*Na*V # [M]
+# Ca_0 0.01*Na*V # [M]
+# end parameters
+#
+# begin molecule types
+# Null()
+# Ga()
+# PLC()
+# Ca()
+# end molecule types
+#
+# begin species
+# Null() 1
+# Ga() Ga_0
+# PLC() PLC_0
+# Ca() Ca_0
+# end species
+#
+# begin observables
+# Molecules G Ga()
+# Molecules P PLC()
+# Molecules C Ca()
+# Molecules NULL Null()
+# end observables
+#
+# begin reaction rules
+# Null() -> Ga() + Null() k1
+# Ga() -> Ga() + Ga() k2
+# Ga() + PLC() -> PLC() k3/(K4+G) #Sat(k3,K4)
+# Ga() + Ca() -> Ca() k5/(K6+G) #Sat(k5,K6)
+# Ga() -> PLC() + Ga() k7
+# PLC() + Null() -> Null() k8/(K9+P) #Sat(k8,K9)
+# Ga() -> Ca() + Ga() k10
+# Ca() + Null() -> Null() k11/(K12+C) #Sat(k11,K12)
+# end reaction rules
+# end model
+#
+# ## actions ##
+# generate_network({overwrite=>1})
+# simulate({method=>"ode",t_end=>20,n_output_steps=>200,verbose=>1,atol=>1e-12,rtol=>1e-12})
+# #simulate({method=>"ssa",t_end=>20,n_output_steps=>200,verbose=>1})
+# #simulate({method=>"pla",t_end=>20,n_output_steps=>200,verbose=>1,pla_config=>"fEuler|sb|pre:post|eps=0.03"})
+# #simulate({argfile=>"Models2/simargs.txt"})
diff --git a/python/samples/reaction_reader/CaOscillate_Func/convert.py b/python/samples/reaction_reader/CaOscillate_Func/convert.py
new file mode 100644
index 0000000..eadaf93
--- /dev/null
+++ b/python/samples/reaction_reader/CaOscillate_Func/convert.py
@@ -0,0 +1,21 @@
+from ecell4.reaction_reader.decorator2 import species_attributes, reaction_rules
+from ecell4.reaction_reader.species import generate_reactions
+from ecell4.reaction_reader.bng_exporter import Convert2BNGManager
+
+from CaOscillate_Func import attributegen, rulegen
+
+'''
+with open("too_old_export.bngl", "w") as fd:
+ export_bng(fd, attributegen(), rulegen())
+'''
+
+#with open("old_export.bngl", "w") as fd:
+# convert2bng_moleculetypes(fd, rulegen() )
+# convert2bng_seed_species(fd, attributegen() )
+# convert2bng_reaction_rules(fd, rulegen() )
+
+with open("new_export.bngl", "w") as f:
+ bng_mng = Convert2BNGManager(attributegen(), rulegen())
+ bng_mng.write_section_molecule_types(f)
+ bng_mng.write_section_seed_species(f)
+ bng_mng.write_section_reaction_rules(f)
diff --git a/python/samples/reaction_reader/Haugh2b/Haugh2b.py b/python/samples/reaction_reader/Haugh2b/Haugh2b.py
new file mode 100644
index 0000000..707881f
--- /dev/null
+++ b/python/samples/reaction_reader/Haugh2b/Haugh2b.py
@@ -0,0 +1,146 @@
+from ecell4.reaction_reader.decorator2 import species_attributes, reaction_rules
+from ecell4.reaction_reader.network import generate_reactions
+
+
+ at species_attributes
+def attributegen(R_tot):
+ R(KD,Y1=P) | R_tot
+ S1(PTP,SH2) | 1.00
+ S2(SH2,Y=U) | 0.25
+
+ at reaction_rules
+def rulegen(
+ kon_S1, koff_S1, kon_S2, koff_S2, kp1_PTP, km1_PTP, kcat_PTP,
+ kp1_KD, km1_KD, kcat_KD, chi_m):
+ # Binding of S1(SH2) from cytosol
+ (R(Y1=P) + S1(SH2) == R(Y1=P^1).S1(SH2^1)
+ | (kon_S1, koff_S1) | ExcludeReactants(2, R))
+
+ # Binding of S1(SH2) from membrane
+ (R(Y1=P) + S1(SH2) == R(Y1=P^1).S1(SH2^1)
+ | (chi_m*kon_S1, koff_S1) | IncludeReactants(2, R))
+
+ # Binding of S2(SH2) from cytosol
+ (R(Y1=P) + S2(SH2) == R(Y1=P^1).S2(SH2^1)
+ | (kon_S2, koff_S2) | ExcludeReactants(2, R))
+
+ # Binding of S2(SH2) from membrane
+ (R(Y1=P) + S2(SH2) == R(Y1=P^1).S2(SH2^1)
+ | (chi_m*kon_S2, koff_S2) | IncludeReactants(2, R))
+
+ # Binding of R(KD) to S2(Y=U) intracomplex and phosphorylation
+ R(KD,Y1=P^1).S2(SH2^1,Y=U) == R(KD^2,Y1=P^1).S2(SH2^1,Y=U^2) | (kp1_KD, km1_KD)
+ R(KD^2,Y1=P^1).S2(SH2^1,Y=U^2) > R(KD,Y1=P^1).S2(SH2^1,Y=P) | kcat_KD
+
+ # Binding of S2(Y=P) in cytosol to S1(PTP) in cytosol
+ (S2(Y=P) + S1(PTP) == S2(Y=P^1).S1(PTP^1)
+ | (kp1_PTP, km1_PTP) | ExcludeReactants(1, R) | ExcludeReactants(2, R))
+
+ # Binding of S2(Y=P) in cytosol to S1(PTP) at membrane
+ (S2(Y=P) + S1(PTP) == S2(Y=P^1).S1(PTP^1)
+ | (kp1_PTP, km1_PTP) | ExcludeReactants(1, R) | IncludeReactants(2, R))
+
+ # Binding of S2(Y=P) at membran to S1(PTP) in cytosol
+ (S2(Y=P) + S1(PTP) == S2(Y=P^1).S1(PTP^1)
+ | (kp1_PTP, km1_PTP) | IncludeReactants(1, R) | ExcludeReactants(2, R))
+
+ # Binding of S2(Y=P) at membrane to S1(PTP) at membrane
+ (S2(Y=P) + S1(PTP) == S2(Y=P^1).S1(PTP^1)
+ | (chi_m*kp1_PTP, km1_PTP) | IncludeReactants(1, R) | IncludeReactants(2, R))
+
+ # Dephosphorylation of S2(Y=P)
+ S2(Y=P^1).S1(PTP^1) > S2(Y=U) + S1(PTP) | kcat_PTP
+
+
+if __name__ == "__main__":
+ newseeds = []
+ for i, (sp, attr) in enumerate(attributegen(1)):
+ print i, sp, attr
+ newseeds.append(sp)
+ print ''
+
+ rules = rulegen(1, 0.1, 1, 0.001, 0.1, 90, 10, 10, 99, 1, 100)
+ for i, rr in enumerate(rules):
+ print i, rr
+ print ''
+
+ generate_reactions(newseeds, rules)
+
+#begin model
+#begin parameters
+# kon_S1 1
+# koff_S1 0.1
+# kon_S2 1
+# koff_S2 0.001
+# kp1_PTP 0.1
+# km1_PTP 90
+# kcat_PTP 10
+# kp1_KD 10
+# km1_KD 99
+# kcat_KD 1
+# chi_m 100
+# R_tot 1
+#end parameters
+#
+#begin species
+# #R(KD,Y1~U,Y2~U) 1.00
+# R(KD,Y1~P) R_tot
+# S1(PTP,SH2) 1.00
+# S2(SH2,Y~U) 0.25
+#end species
+#
+#begin reaction rules
+#
+# # Binding of S1(SH2) from cytosol
+# R(Y1~P) + S1(SH2) <-> R(Y1~P!1).S1(SH2!1) kon_S1, koff_S1 \
+# exclude_reactants(2,R)
+#
+# # Binding of S1(SH2) from membrane
+# R(Y1~P) + S1(SH2) <-> R(Y1~P!1).S1(SH2!1) chi_m*kon_S1, koff_S1 \
+# include_reactants(2,R)
+#
+# # Binding of S2(SH2) from cytosol
+# R(Y1~P) + S2(SH2) <-> R(Y1~P!1).S2(SH2!1) kon_S2, koff_S2 \
+# exclude_reactants(2,R)
+#
+# # Binding of S2(SH2) from membrane
+# R(Y1~P) + S2(SH2) <-> R(Y1~P!1).S2(SH2!1) chi_m*kon_S2, koff_S2 \
+# include_reactants(2,R)
+#
+# # Binding of R(KD) to S2(Y~U) intracomplex and phosphorylation
+# R(KD,Y1~P!1).S2(SH2!1,Y~U) <-> R(KD!2,Y1~P!1).S2(SH2!1,Y~U!2) kp1_KD, km1_KD
+# R(KD!2,Y1~P!1).S2(SH2!1,Y~U!2) -> R(KD,Y1~P!1).S2(SH2!1,Y~P) kcat_KD
+#
+# # Binding of S2(Y~P) in cytosol to S1(PTP) in cytosol
+# S2(Y~P) + S1(PTP) <-> S2(Y~P!1).S1(PTP!1) kp1_PTP, km1_PTP \
+# exclude_reactants(1,R) exclude_reactants(2,R)
+#
+# # Binding of S2(Y~P) in cytosol to S1(PTP) at membrane
+# S2(Y~P) + S1(PTP) <-> S2(Y~P!1).S1(PTP!1) kp1_PTP, km1_PTP \
+# exclude_reactants(1,R) include_reactants(2,R)
+#
+# # Binding of S2(Y~P) at membran to S1(PTP) in cytosol
+# S2(Y~P) + S1(PTP) <-> S2(Y~P!1).S1(PTP!1) kp1_PTP, km1_PTP \
+# include_reactants(1,R) exclude_reactants(2,R)
+#
+# # Binding of S2(Y~P) at membrane to S1(PTP) at membrane
+# S2(Y~P) + S1(PTP) <-> S2(Y~P!1).S1(PTP!1) chi_m*kp1_PTP, km1_PTP \
+# include_reactants(1,R) include_reactants(2,R)
+#
+# # Dephosphorylation of S2(Y~P)
+# S2(Y~P!1).S1(PTP!1) -> S2(Y~U) + S1(PTP) kcat_PTP
+#end reaction rules
+#
+#begin observables
+# Molecules S2_P_tot S2(Y~P!?)
+# Molecules S2_P_mem S2(SH2!1,Y~P!?).R(Y1~P!1), S2(SH2,Y~P!1).S1(PTP!1,SH2!2).R(Y1!2)
+# Molecules R_total R
+# Molecules S1_total S1
+# Molecules S2_total S2
+#end observables
+#end model
+#
+### actions ##
+#generate_network({overwrite=>1})
+#simulate({method=>"ode",t_end=>50,n_steps=>5,rtol=>1e-12,atol=>1e-12})
+#
diff --git a/python/samples/reaction_reader/Haugh2b/convert.py b/python/samples/reaction_reader/Haugh2b/convert.py
new file mode 100644
index 0000000..6eab5b7
--- /dev/null
+++ b/python/samples/reaction_reader/Haugh2b/convert.py
@@ -0,0 +1,13 @@
+from ecell4.reaction_reader.decorator2 import species_attributes, reaction_rules
+from ecell4.reaction_reader.species import generate_reactions
+from ecell4.reaction_reader.bng_exporter import Convert2BNGManager
+
+from Haugh2b import attributegen, rulegen
+
+
+with open("new_export.bngl", "w") as f:
+ rules = rulegen(1, 0.1, 1, 0.001, 0.1, 90, 10, 10, 99, 1, 100)
+ bng_mng = Convert2BNGManager(attributegen(1), rules)
+ bng_mng.write_section_molecule_types(f)
+ bng_mng.write_section_seed_species(f)
+ bng_mng.write_section_reaction_rules(f)
diff --git a/python/samples/reaction_reader/Repressilator/Repressilator.py b/python/samples/reaction_reader/Repressilator/Repressilator.py
new file mode 100644
index 0000000..18036c9
--- /dev/null
+++ b/python/samples/reaction_reader/Repressilator/Repressilator.py
@@ -0,0 +1,195 @@
+import math
+
+from ecell4.reaction_reader.decorator2 import species_attributes, reaction_rules
+from ecell4.reaction_reader.network import generate_reactions
+
+
+ at species_attributes
+def attributegen():
+ gTetR(lac1,lac2) | 1
+ gCI(tet1,tet2) | 1
+ gLacI(cI1,cI2) | 1
+ # gTetR(lac1^1,lac2^2).pLacI(tet^1).pLacI(tet^2) | 1
+ # gCI(tet1^1,tet2^2).pTetR(cI^1).pTetR(cI^2) | 1
+ # gLacI(cI1^1,cI2^2).pCI(lac^1).pCI(lac^2) | 1
+ # mTetR | 3163
+ # mCI | 6819
+ # mLacI | 129
+ # pTetR(cI) | 183453
+ # pCI(lac) | 2006198
+ # pLacI(tet) | 165670
+
+ at reaction_rules
+def rulegen(Na, V, c0, c1, c2, c3, c4, c5, c6, c7, tF, rF, pF):
+ (gTetR(lac1,lac2) + pLacI(tet) == gTetR(lac1^1,lac2).pLacI(tet^1)
+ | (c0 / Na / V * tF / pF, c1 * tF))
+
+ (gTetR(lac1^_,lac2) + pLacI(tet) == gTetR(lac1^_,lac2^1).pLacI(tet^1)
+ | (c0 / Na / V * tF / pF, c2 * tF))
+
+ gTetR(lac1,lac2) > gTetR(lac1,lac2) + mTetR | (c3 * rF)
+ gTetR(lac1^_) > gTetR(lac1^_) + mTetR | (c4 * rF)
+ mTetR > mTetR + pTetR(cI) | (c5 / rF * pF)
+ mTetR > ~mTetR | c6
+ pTetR(cI) > ~pTetR(cI) | c7
+
+ (gCI(tet1,tet2) + pTetR(cI) == gCI(tet1^1,tet2).pTetR(cI^1)
+ | (c0 / Na / V * tF / pF, c1 * tF))
+
+ (gCI(tet1^_,tet2) + pTetR(cI) == gCI(tet1^_,tet2^1).pTetR(cI^1)
+ | (c0 / Na / V * tF / pF, c2 * tF))
+
+ gCI(tet1,tet2) > gCI(tet1,tet2) + mCI | (c3 * rF)
+ gCI(tet1^_) > gCI(tet1^_) + mCI | (c4 * rF)
+ mCI > mCI + pCI(lac) | (c5 / rF * pF)
+ mCI > ~mCI | c6
+ pCI(lac) > ~pCI(lac) | c7
+
+ (gLacI(cI1,cI2) + pCI(lac) == gLacI(cI1^1,cI2).pCI(lac^1)
+ | (c0 / Na / V * tF / pF, c1 * tF))
+
+ (gLacI(cI1^_,cI2) + pCI(lac) == gLacI(cI1^_,cI2^1).pCI(lac^1)
+ | (c0 / Na / V * tF / pF, c2 * tF))
+
+ gLacI(cI1,cI2) > gLacI(cI1,cI2) + mLacI | (c3 * rF)
+ gLacI(cI1^_) > gLacI(cI1^_) + mLacI | (c4 * rF)
+ mLacI > mLacI + pLacI(tet) | (c5 / rF * pF)
+ mLacI > ~mLacI | c6
+ pLacI(tet) > ~pLacI(tet) | c7
+
+# (gTetR(lac,lac) + pLacI(tet) == gTetR(lac^1,lac).pLacI(tet^1)
+# | (c0 / Na / V * tF / pF, c1 * tF))
+#
+# (gTetR(lac^_,lac) + pLacI(tet) == gTetR(lac^_,lac^1).pLacI(tet^1)
+# | (c0 / Na / V * tF / pF, c2 * tF))
+#
+# gTetR(lac,lac) > gTetR(lac,lac) + mTetR | (c3 * rF)
+# gTetR(lac^_) > gTetR(lac^_) + mTetR | (c4 * rF)
+# mTetR > mTetR + pTetR(cI) | (c5 / rF * pF)
+# mTetR + Null > Null | c6
+# pTetR(cI) + Null > Null | c7
+#
+# (gCI(tet,tet) + pTetR(cI) == gCI(tet^1,tet).pTetR(cI^1)
+# | (c0 / Na / V * tF / pF, c1 * tF))
+#
+# (gCI(tet^_,tet) + pTetR(cI) == gCI(tet^_,tet^1).pTetR(cI^1)
+# | (c0 / Na / V * tF / pF, c2 * tF))
+#
+# gCI(tet,tet) > gCI(tet,tet) + mCI | (c3 * rF)
+#
+# gCI(tet^_) > gCI(tet^_) + mCI | (c4 * rF)
+# mCI > mCI + pCI(lac) | (c5 / rF * pF)
+# mCI + Null > Null | c6
+# pCI(lac) + Null > Null | c7
+#
+# (gLacI(cI,cI) + pCI(lac) == gLacI(cI^1,cI).pCI(lac^1)
+# | (c0 / Na / V * tF / pF, c1 * tF))
+#
+# (gLacI(cI^_,cI) + pCI(lac) == gLacI(cI^_,cI^1).pCI(lac^1)
+# | (c0 / Na / V * tF / pF, c2 * tF))
+#
+# gLacI(cI,cI) > gLacI(cI,cI) + mLacI | (c3 * rF)
+# gLacI(cI^_) > gLacI(cI^_) + mLacI | (c4 * rF)
+# mLacI > mLacI + pLacI(tet) | (c5 / rF * pF)
+# mLacI + Null > Null | c6
+# pLacI(tet) + Null > Null | c7
+
+
+if __name__ == "__main__":
+ newseeds = []
+ for i, (sp, attr) in enumerate(attributegen()):
+ print i, sp, attr
+ newseeds.append(sp)
+ print ''
+
+ rules = rulegen(
+ 6.022e23 ,1.4e-15, 1e9, 224, 9, 0.5, 5e-4, 0.167,
+ math.log(2) / 120, math.log(2) / 600, 1e-4, 1000, 1000)
+ for i, rr in enumerate(rules):
+ print i, rr
+ print ''
+
+ generate_reactions(newseeds, rules)
+
+#begin model
+#begin parameters
+# Na 6.022e23 # Avogadro's [mol^-1]
+# V 1.4e-15 # Cell volume [L]
+# #
+# c0 1e9 # M^-1 s^-1
+# c1 224 # s^-1
+# c2 9 # s^-1
+# c3 0.5 # s^-1
+# c4 5e-4 # s^-1
+# c5 0.167 # s^-1
+# c6 ln(2)/120 # s^-1
+# c7 ln(2)/600 # s^-1
+# #
+# tF 1e-4 # telegraph factor
+# rF 1000 # rna factor
+# pF 1000 # protein factor
+#end parameters
+#
+#begin molecule types
+# Null()
+# gTetR(lac,lac)
+# gCI(tet,tet)
+# gLacI(cI,cI)
+# mTetR()
+# mCI()
+# mLacI()
+# pTetR(cI)
+# pCI(lac)
+# pLacI(tet)
+#end molecule types
+#
+#begin seed species
+# Null() 1
+# gTetR(lac!1,lac!2).pLacI(tet!1).pLacI(tet!2) 1
+# gCI(tet!1,tet!2).pTetR(cI!1).pTetR(cI!2) 1
+# gLacI(cI!1,cI!2).pCI(lac!1).pCI(lac!2) 1
+# mTetR() 3163
+# mCI() 6819
+# mLacI() 129
+# pTetR(cI) 183453
+# pCI(lac) 2006198
+# pLacI(tet) 165670
+#end seed species
+#
+#begin observables
+# Molecules pTetR pTetR(cI)
+# Molecules pCI pCI(lac)
+# Molecules pLacI pLacI(tet)
+# Molecules NULL Null()
+#end observables
+#
+#begin reaction rules
+# gTetR(lac,lac) + pLacI(tet) <-> gTetR(lac!1,lac).pLacI(tet!1) c0/Na/V*tF/pF, c1*tF
+# gTetR(lac!+,lac) + pLacI(tet) <-> gTetR(lac!+,lac!1).pLacI(tet!1) c0/Na/V*tF/pF, c2*tF
+# gTetR(lac,lac) -> gTetR(lac,lac) + mTetR() c3*rF
+# gTetR(lac!+) -> gTetR(lac!+) + mTetR() c4*rF
+# mTetR() -> mTetR() + pTetR(cI) c5/rF*pF
+# mTetR() + Null() -> Null() c6
+# pTetR(cI) + Null() -> Null() c7
+# #
+# gCI(tet,tet) + pTetR(cI) <-> gCI(tet!1,tet).pTetR(cI!1) c0/Na/V*tF/pF, c1*tF
+# gCI(tet!+,tet) + pTetR(cI) <-> gCI(tet!+,tet!1).pTetR(cI!1) c0/Na/V*tF/pF, c2*tF
+# gCI(tet,tet) -> gCI(tet,tet) + mCI() c3*rF
+# gCI(tet!+) -> gCI(tet!+) + mCI() c4*rF
+# mCI() -> mCI() + pCI(lac) c5/rF*pF
+# mCI() + Null() -> Null() c6
+# pCI(lac) + Null() -> Null() c7
+# #
+# gLacI(cI,cI) + pCI(lac) <-> gLacI(cI!1,cI).pCI(lac!1) c0/Na/V*tF/pF, c1*tF
+# gLacI(cI!+,cI) + pCI(lac) <-> gLacI(cI!+,cI!1).pCI(lac!1) c0/Na/V*tF/pF, c2*tF
+# gLacI(cI,cI) -> gLacI(cI,cI) + mLacI() c3*rF
+# gLacI(cI!+) -> gLacI(cI!+) + mLacI() c4*rF
+# mLacI() -> mLacI() + pLacI(tet) c5/rF*pF
+# mLacI() + Null() -> Null() c6
+# pLacI(tet) + Null() -> Null() c7
+#end reaction rules
+#end model
+#
+#generate_network({overwrite=>1})
+#simulate({method=>"ode",t_end=>4e4,n_steps=>4e2,verbose=>1,atol=>1e-12,rtol=>1e-12})
+##simulate({method=>"pla",t_end=>4e4,n_steps=>4e2,verbose=>1,pla_config=>"fEuler|sb|pre:post|eps=0.03"})
diff --git a/python/samples/reaction_reader/Repressilator/convert.py b/python/samples/reaction_reader/Repressilator/convert.py
new file mode 100644
index 0000000..8705fec
--- /dev/null
+++ b/python/samples/reaction_reader/Repressilator/convert.py
@@ -0,0 +1,16 @@
+from ecell4.reaction_reader.decorator2 import species_attributes, reaction_rules
+from ecell4.reaction_reader.species import generate_reactions
+from ecell4.reaction_reader.bng_exporter import Convert2BNGManager
+
+from Repressilator import attributegen, rulegen
+import math
+
+rules = rulegen(
+ 6.022e23 ,1.4e-15, 1e9, 224, 9, 0.5, 5e-4, 0.167,
+ math.log(2) / 120, math.log(2) / 600, 1e-4, 1000, 1000)
+
+with open("export.bngl", "w") as f:
+ bng_mng = Convert2BNGManager(attributegen(), rules)
+ bng_mng.write_section_molecule_types(f)
+ bng_mng.write_section_seed_species(f)
+ bng_mng.write_section_reaction_rules(f)
diff --git a/python/samples/reaction_reader/Repressilator/export.bngl b/python/samples/reaction_reader/Repressilator/export.bngl
new file mode 100644
index 0000000..db17713
--- /dev/null
+++ b/python/samples/reaction_reader/Repressilator/export.bngl
@@ -0,0 +1,73 @@
+begin molecule types
+ Null()
+ gTetR(lac1,lac2)
+ mCI()
+ gCI(tet1,tet2)
+ pCI(lac)
+ mTetR()
+ pLacI(tet)
+ pTetR(cI)
+ gLacI(cI2,cI1)
+ mLacI()
+end molecule types
+begin seed species
+ gTetR(lac1,lac2) 1.000000
+ gCI(tet1,tet2) 1.000000
+ gLacI(cI1,cI2) 1.000000
+end seed species
+begin reaction rules
+ # gTetR(lac1,lac2)+pLacI(tet)>gTetR(lac1^1,lac2).pLacI(tet^1)
+ gTetR(lac1,lac2)+pLacI(tet) -> gTetR(lac1!1,lac2).pLacI(tet!1) 0.000000
+ # gTetR(lac1^1,lac2).pLacI(tet^1)>gTetR(lac1,lac2)+pLacI(tet)
+ gTetR(lac1!1,lac2).pLacI(tet!1) -> gTetR(lac1,lac2)+pLacI(tet) 0.022400
+ # gTetR(lac1^_,lac2)+pLacI(tet)>gTetR(lac1^_,lac2^1).pLacI(tet^1)
+ gTetR(lac1!+,lac2)+pLacI(tet) -> gTetR(lac1!+,lac2!1).pLacI(tet!1) 0.000000
+ # gTetR(lac1^_,lac2^1).pLacI(tet^1)>gTetR(lac1^_,lac2)+pLacI(tet)
+ gTetR(lac1!+,lac2!1).pLacI(tet!1) -> gTetR(lac1!+,lac2)+pLacI(tet) 0.000900
+ # gTetR(lac1,lac2)>gTetR(lac1,lac2)+mTetR()
+ gTetR(lac1,lac2) -> gTetR(lac1,lac2)+mTetR() 500.000000
+ # gTetR(lac1^_)>gTetR(lac1^_)+mTetR()
+ gTetR(lac1!+) -> gTetR(lac1!+)+mTetR() 0.500000
+ # mTetR()>mTetR()+pTetR(cI)
+ mTetR() -> mTetR()+pTetR(cI) 0.167000
+ # mTetR()>
+ mTetR()+Null -> Null 0.005776
+ # pTetR(cI)>
+ pTetR(cI)+Null -> Null 0.001155
+ # gCI(tet1,tet2)+pTetR(cI)>gCI(tet1^1,tet2).pTetR(cI^1)
+ gCI(tet1,tet2)+pTetR(cI) -> gCI(tet1!1,tet2).pTetR(cI!1) 0.000000
+ # gCI(tet1^1,tet2).pTetR(cI^1)>gCI(tet1,tet2)+pTetR(cI)
+ gCI(tet1!1,tet2).pTetR(cI!1) -> gCI(tet1,tet2)+pTetR(cI) 0.022400
+ # gCI(tet1^_,tet2)+pTetR(cI)>gCI(tet1^_,tet2^1).pTetR(cI^1)
+ gCI(tet1!+,tet2)+pTetR(cI) -> gCI(tet1!+,tet2!1).pTetR(cI!1) 0.000000
+ # gCI(tet1^_,tet2^1).pTetR(cI^1)>gCI(tet1^_,tet2)+pTetR(cI)
+ gCI(tet1!+,tet2!1).pTetR(cI!1) -> gCI(tet1!+,tet2)+pTetR(cI) 0.000900
+ # gCI(tet1,tet2)>gCI(tet1,tet2)+mCI()
+ gCI(tet1,tet2) -> gCI(tet1,tet2)+mCI() 500.000000
+ # gCI(tet1^_)>gCI(tet1^_)+mCI()
+ gCI(tet1!+) -> gCI(tet1!+)+mCI() 0.500000
+ # mCI()>mCI()+pCI(lac)
+ mCI() -> mCI()+pCI(lac) 0.167000
+ # mCI()>
+ mCI()+Null -> Null 0.005776
+ # pCI(lac)>
+ pCI(lac)+Null -> Null 0.001155
+ # gLacI(cI1,cI2)+pCI(lac)>gLacI(cI1^1,cI2).pCI(lac^1)
+ gLacI(cI1,cI2)+pCI(lac) -> gLacI(cI1!1,cI2).pCI(lac!1) 0.000000
+ # gLacI(cI1^1,cI2).pCI(lac^1)>gLacI(cI1,cI2)+pCI(lac)
+ gLacI(cI1!1,cI2).pCI(lac!1) -> gLacI(cI1,cI2)+pCI(lac) 0.022400
+ # gLacI(cI1^_,cI2)+pCI(lac)>gLacI(cI1^_,cI2^1).pCI(lac^1)
+ gLacI(cI1!+,cI2)+pCI(lac) -> gLacI(cI1!+,cI2!1).pCI(lac!1) 0.000000
+ # gLacI(cI1^_,cI2^1).pCI(lac^1)>gLacI(cI1^_,cI2)+pCI(lac)
+ gLacI(cI1!+,cI2!1).pCI(lac!1) -> gLacI(cI1!+,cI2)+pCI(lac) 0.000900
+ # gLacI(cI1,cI2)>gLacI(cI1,cI2)+mLacI()
+ gLacI(cI1,cI2) -> gLacI(cI1,cI2)+mLacI() 500.000000
+ # gLacI(cI1^_)>gLacI(cI1^_)+mLacI()
+ gLacI(cI1!+) -> gLacI(cI1!+)+mLacI() 0.500000
+ # mLacI()>mLacI()+pLacI(tet)
+ mLacI() -> mLacI()+pLacI(tet) 0.167000
+ # mLacI()>
+ mLacI()+Null -> Null 0.005776
+ # pLacI(tet)>
+ pLacI(tet)+Null -> Null 0.001155
+end reaction rules
diff --git a/python/samples/reaction_reader/SHP2_base_model/SHP2_base_model.py b/python/samples/reaction_reader/SHP2_base_model/SHP2_base_model.py
new file mode 100644
index 0000000..5ce324e
--- /dev/null
+++ b/python/samples/reaction_reader/SHP2_base_model/SHP2_base_model.py
@@ -0,0 +1,299 @@
+from ecell4.reaction_reader.decorator2 import species_attributes, reaction_rules
+from ecell4.reaction_reader.network import generate_reactions
+
+
+ at species_attributes
+def attributegen():
+ S(CSH2,NSH2=C,PTP=C) | 1
+ # Pre-dimerized receptors
+ R(DD^1,Y1=U,Y2=P).R(DD^1,Y1=U,Y2=P) | 2
+
+ at reaction_rules
+def rulegen(
+ kdim, kopen, kclose, kon_CSH2, koff_CSH2, kon_NSH2, koff_NSH2, kkin_Y1,
+ kon_PTP, koff_PTP, kcat_PTP, chi_r1, chi_r2, chi_r3, chi_r4, chi_r5,
+ chi_r6, chi_r7, chi_r8, chi_r9, chi_r10 , chi_r11, R_dim, S_tot):
+
+ # Intra-complex phosphorylation
+ R(DD^_,Y1=U) > R(DD^_,Y1=P) | kkin_Y1
+
+ # Equilibrium between the closed form and open form of S
+ S(NSH2=C,PTP=C) == S(NSH2=O,PTP=O) | (kopen, kclose)
+
+ # # Binding of S(CSH2) from cytosol
+ # (R(Y2=P) + S(CSH2) == R(Y2=P^1).S(CSH2^1)
+ # | (kon_CSH2,koff_CSH2) | ExcludeReactants(2, R))
+
+ # # Binding of S(NSH2=O) from cytosol
+ # (R(Y2=P) + S(NSH2=O) == R(Y2=P^1).S(NSH2=O^1)
+ # | (kon_NSH2,koff_NSH2) | ExcludeReactants(2, R))
+
+ # # Binding of S(PTP=O) from cytosol
+ # (R(Y1=P) + S(PTP=O) == R(Y1=P^1).S(PTP=O^1)
+ # | (kon_PTP,koff_PTP) | ExcludeReactants(2, R))
+
+ # Binding of S(CSH2) from cytosol
+ (R(Y2=P) + S(CSH2,NSH2,PTP) == R(Y2=P^1).S(CSH2^1,NSH2,PTP)
+ | (kon_CSH2,koff_CSH2))
+
+ # Binding of S(NSH2=O) from cytosol
+ (R(Y2=P) + S(CSH2,PTP,NSH2=O) == R(Y2=P^1).S(CSH2,PTP,NSH2=O^1)
+ | (kon_NSH2,koff_NSH2))
+
+ # Binding of S(PTP=O) from cytosol
+ (R(Y1=P) + S(CSH2,NSH2,PTP=O) == R(Y1=P^1).S(CSH2,NSH2,PTP=O^1)
+ | (kon_PTP,koff_PTP))
+
+ # Dephosphorylation of R(Y1=P)
+ R(Y1=P^1).S(PTP=O^1) > R(Y1=U) + S(PTP=O) | kcat_PTP
+ R(Y1=P^1).S(PTP=O^1) > R(Y1=U).S(PTP=O) | kcat_PTP
+
+ # 1 Intra-complex binding: CSH2 bound, association of NSH2 (open) with other receptor
+ (R(Y2=P).S(CSH2^_,NSH2=O,PTP=O) == R(Y2=P^1).S(CSH2^_,NSH2=O^1,PTP=O)
+ | (chi_r1 * kon_NSH2, koff_NSH2))
+
+ # 2 Intra-complex binding: CSH2 bound, association of PTP (open) with same receptor
+ (R(Y1=P,Y2=P^1).S(CSH2^1,NSH2=O,PTP=O)
+ == R(Y1=P^2,Y2=P^1).S(CSH2^1,NSH2=O,PTP=O^2)
+ | (chi_r2 * kon_PTP, koff_PTP))
+
+ # 3 Intra-complex binding: CSH2 bound, association of PTP (open) with other receptor
+ (R(Y1=P).R(Y2=P^1).S(CSH2^1,NSH2=O,PTP=O)
+ == R(Y1=P^2).R(Y2=P^1).S(CSH2^1,NSH2=O,PTP=O^2)
+ | (chi_r3 * kon_PTP, koff_PTP))
+
+ # 4 Intra-complex binding: NSH2 bound, association of CSH2 with other receptor
+ (R(Y2=P).S(CSH2,NSH2=O^_,PTP=O) == R(Y2=P^1).S(CSH2^1,NSH2=O^_,PTP=O)
+ | (chi_r1 * kon_CSH2, koff_CSH2))
+
+ # 5 Intra-complex binding: NSH2 bound, association of PTP with other receptor
+ (R(Y1=P).R(Y2=P^1).S(CSH2,NSH2=O^1,PTP=O)
+ == R(Y1=P^2).R(Y2=P^1).S(CSH2,NSH2=O^1,PTP=O^2)
+ | (chi_r4 * kon_PTP, koff_PTP))
+
+ # 6 Intracomplex binding: NSH2 bound, association of PTP with same receptor
+ (R(Y1=P,Y2=P^1).S(CSH2,NSH2=O^1,PTP=O)
+ == R(Y1=P^2,Y2=P^1).S(CSH2,NSH2=O^1,PTP=O^2)
+ | (chi_r5 * kon_PTP, koff_PTP))
+
+ # 7 Intra-complex binding: PTP bound, association of CSH2 with same receptor
+ (R(Y1=P^1,Y2=P).S(CSH2,NSH2=O,PTP=O^1)
+ == R(Y1=P^1,Y2=P^2).S(CSH2^2,NSH2=O,PTP=O^1)
+ | (chi_r2 * kon_CSH2, koff_CSH2))
+
+ # 8 Intra-complex binding: PTP bound, association of CSH2 with other receptor
+ (R(Y1=P^1).R(Y2=P).S(CSH2,NSH2=O,PTP=O^1)
+ == R(Y1=P^1).R(Y2=P^2).S(CSH2^2,NSH2=O,PTP=O^1)
+ | (chi_r3 * kon_CSH2, koff_CSH2))
+
+ # 9 Intra-complex binding: PTP bound, association of NSH2 with other receptor
+ (R(Y1=P^1).R(Y2=P).S(CSH2,NSH2=O,PTP=O^1)
+ == R(Y1=P^1).R(Y2=P^2).S(CSH2,NSH2=O^2,PTP=O^1)
+ | (chi_r4 * kon_NSH2, koff_NSH2))
+
+ # 10 Intra-complex binding: PTP bound, association of NSH2 with same receptor
+ (R(Y1=P^1,Y2=P).S(CSH2,NSH2=O,PTP=O^1)
+ == R(Y1=P^1,Y2=P^2).S(CSH2,NSH2=O^2,PTP=O^1)
+ | (chi_r5 * kon_NSH2, koff_NSH2))
+
+ # 11 Intra-complex binding: CSH2 & NSH2 bound, assoc. of PTP with same receptor as CSH2
+ (R(Y1=P,Y2=P^1).R(Y2=P^2).S(CSH2^1,NSH2=O^2,PTP=O)
+ == R(Y1=P^3,Y2=P^1).R(Y2=P^2).S(CSH2^1,NSH2=O^2,PTP=O^3)
+ | (chi_r6 * kon_PTP,koff_PTP))
+
+ # 12 Intra-complex binding: CSH2 & NSH2 bound, assoc. of PTP with same receptor as NSH2
+ (R(Y1=P,Y2=P^1).R(Y2=P^2).S(CSH2^2,NSH2=O^1,PTP=O)
+ == R(Y1=P^3,Y2=P^1).R(Y2=P^2).S(CSH2^2,NSH2=O^1,PTP=O^3)
+ | (chi_r7 * kon_PTP, koff_PTP))
+
+ # 13 Intra-complex binding: CSH2 & PTP bound to the same receptor, assoc. of NSH2
+ (R(Y1=P^1,Y2=P^2).R(Y2=P).S(CSH2^2,NSH2=O,PTP=O^1)
+ == R(Y1=P^1,Y2=P^2).R(Y2=P^3).S(CSH2^2,NSH2=O^3,PTP=O^1)
+ | (chi_r8 * kon_NSH2, koff_NSH2))
+
+ # 14 Intra-complex binding: CSH2 & PTP bound to different receptors, assoc. of NSH2
+ (R(Y2=P^1).R(Y1=P^2,Y2=P).S(CSH2^1,NSH2=O,PTP=O^2)
+ == R(Y2=P^1).R(Y1=P^2,Y2=P^3).S(CSH2^1,NSH2=O^3,PTP=O^2)
+ | (chi_r9 * kon_NSH2, koff_NSH2))
+
+ # 15 Intra-complex binding: PTP & NSH2 bound to different receptors, assoc. of CSH2
+ (R(Y2=P^1).R(Y1=P^2,Y2=P).S(CSH2,NSH2=O^1,PTP=O^2)
+ == R(Y2=P^1).R(Y1=P^2,Y2=P^3).S(CSH2^3,NSH2=O^1,PTP=O^2)
+ | (chi_r10 * kon_CSH2, koff_CSH2))
+
+ # 16 Intra-complex binding: PTP & NSH2 bound to same receptor, assoc. of CSH2
+ (R(Y1=P^1,Y2=P^2).R(Y2=P).S(CSH2,NSH2=O^2,PTP=O^1)
+ == R(Y1=P^1,Y2=P^2).R(Y2=P^3).S(CSH2^3,NSH2=O^2,PTP=O^1)
+ | (chi_r11 * kon_CSH2, koff_CSH2))
+
+
+if __name__ == "__main__":
+ newseeds = []
+ for i, (sp, attr) in enumerate(attributegen()):
+ print i, sp, attr
+ newseeds.append(sp)
+ print ''
+
+ rules = rulegen(
+ 1000, 10, 500, 1, 1, 1, 1, 0.1,
+ 1, 10, 1, 1000, 100, 1000, 1000, 100,
+ 100, 100, 1000, 100, 100, 1000, 0.025, 0.05)
+ for i, rr in enumerate(rules):
+ print i, rr
+ print ''
+
+ generate_reactions(newseeds, rules)
+
+## Base model of Shp2 regulation from Barua, Faeder, and Haugh (2006).
+## Copyright 2006, North Carolina State University and Los Alamos National
+## Laboratory
+#
+## Concentration units are in micromolar; time units are in seconds.
+#begin model
+#begin parameters
+# kdim 1000
+#
+# kopen 10
+# kclose 500
+#
+# kon_CSH2 1
+# koff_CSH2 1
+#
+# kon_NSH2 1
+# koff_NSH2 1
+#
+# kkin_Y1 0.1
+#
+# kon_PTP 1
+# koff_PTP 10
+# kcat_PTP 1
+#
+# chi_r1 1000
+# chi_r2 100
+# chi_r3 1000
+# chi_r4 1000
+# chi_r5 100
+# chi_r6 100
+# chi_r7 100
+# chi_r8 1000 # Equals chi_r1*chi_r6/chi_r2
+# chi_r9 100 # Equals chi_r1*chi_r7/chi_r3
+# chi_r10 100 # Equals chi_r1*chi_r6/chi_r4
+# chi_r11 1000 # Equals chi_r1*chi_r7/chi_r5
+#
+# R_dim 0.025 # R_tot= 2*R_dim
+# S_tot 0.05
+#end parameters
+#
+#begin molecule types
+# R(DD,Y1~U~P,Y2~P)
+# S(NSH2~C~O,CSH2,PTP~C~O)
+#end molecule types
+#
+#begin seed species
+# S(NSH2~C,CSH2,PTP~C) S_tot
+# # Pre-dimerized receptors
+# R(DD!1,Y1~U,Y2~P).R(DD!1,Y1~U,Y2~P) R_dim
+#end seed species
+#
+#begin reaction rules
+# # Intra-complex phosphorylation
+# R(DD!+,Y1~U) -> R(DD!+,Y1~P) kkin_Y1
+#
+# # Equilibrium between the closed form and open form of S
+# S(NSH2~C,PTP~C) <-> S(NSH2~O,PTP~O) kopen, kclose
+#
+# # Binding of S(CSH2) from cytosol
+# R(Y2~P) + S(CSH2) <-> R(Y2~P!1).S(CSH2!1) kon_CSH2,koff_CSH2 \
+# exclude_reactants(2,R)
+#
+# # Binding of S(NSH2~O) from cytosol
+# R(Y2~P) + S(NSH2~O) <-> R(Y2~P!1).S(NSH2~O!1) kon_NSH2,koff_NSH2 \
+# exclude_reactants(2,R)
+#
+# # Binding of S(PTP~O) from cytosol
+# R(Y1~P) + S(PTP~O) <-> R(Y1~P!1).S(PTP~O!1) kon_PTP,koff_PTP \
+# exclude_reactants(2,R)
+#
+# # Dephosphorylation of R(Y1~P)
+# R(Y1~P!1).S(PTP~O!1) -> R(Y1~U) + S(PTP~O) kcat_PTP
+# R(Y1~P!1).S(PTP~O!1) -> R(Y1~U).S(PTP~O) kcat_PTP
+#
+# # 1 Intra-complex binding: CSH2 bound, association of NSH2 (open) with other receptor
+# R(Y2~P).S(NSH2~O,CSH2!+,PTP~O) <-> \
+# R(Y2~P!1).S(NSH2~O!1,CSH2!+,PTP~O) chi_r1*kon_NSH2, koff_NSH2
+#
+# # 2 Intra-complex binding: CSH2 bound, association of PTP (open) with same receptor
+# R(Y1~P,Y2~P!1).S(NSH2~O,CSH2!1,PTP~O) <-> \
+# R(Y1~P!2,Y2~P!1).S(NSH2~O,CSH2!1,PTP~O!2) chi_r2*kon_PTP, koff_PTP
+#
+# # 3 Intra-complex binding: CSH2 bound, association of PTP (open) with other receptor
+# R(Y1~P).R(Y2~P!1).S(NSH2~O,CSH2!1,PTP~O) <-> \
+# R(Y1~P!2).R(Y2~P!1).S(NSH2~O,CSH2!1,PTP~O!2) chi_r3*kon_PTP, koff_PTP
+#
+# # 4 Intra-complex binding: NSH2 bound, association of CSH2 with other receptor
+# R(Y2~P).S(NSH2~O!+,CSH2,PTP~O) <-> \
+# R(Y2~P!1).S(NSH2~O!+,CSH2!1,PTP~O) chi_r1*kon_CSH2, koff_CSH2
+#
+# # 5 Intra-complex binding: NSH2 bound, association of PTP with other receptor
+# R(Y1~P).R(Y2~P!1).S(NSH2~O!1,CSH2,PTP~O) <-> \
+# R(Y1~P!2).R(Y2~P!1).S(NSH2~O!1,CSH2,PTP~O!2) chi_r4*kon_PTP, koff_PTP
+#
+# # 6 Intracomplex binding: NSH2 bound, association of PTP with same receptor
+# R(Y1~P,Y2~P!1).S(NSH2~O!1,CSH2,PTP~O) <-> \
+# R(Y1~P!2,Y2~P!1).S(NSH2~O!1,CSH2,PTP~O!2) chi_r5*kon_PTP, koff_PTP
+#
+# # 7 Intra-complex binding: PTP bound, association of CSH2 with same receptor
+# R(Y1~P!1,Y2~P).S(NSH2~O,CSH2,PTP~O!1) <-> \
+# R(Y1~P!1,Y2~P!2).S(NSH2~O,CSH2!2,PTP~O!1) chi_r2*kon_CSH2, koff_CSH2
+#
+# # 8 Intra-complex binding: PTP bound, association of CSH2 with other receptor
+# R(Y1~P!1).R(Y2~P).S(NSH2~O,CSH2,PTP~O!1) <-> \
+# R(Y1~P!1).R(Y2~P!2).S(NSH2~O,CSH2!2,PTP~O!1) chi_r3*kon_CSH2, koff_CSH2
+#
+# # 9 Intra-complex binding: PTP bound, association of NSH2 with other receptor
+# R(Y1~P!1).R(Y2~P).S(NSH2~O,CSH2,PTP~O!1) <-> \
+# R(Y1~P!1).R(Y2~P!2).S(NSH2~O!2,CSH2,PTP~O!1) chi_r4*kon_NSH2, koff_NSH2
+#
+# # 10 Intra-complex binding: PTP bound, association of NSH2 with same receptor
+# R(Y1~P!1,Y2~P).S(NSH2~O,CSH2,PTP~O!1) <-> \
+# R(Y1~P!1,Y2~P!2).S(NSH2~O!2,CSH2,PTP~O!1) chi_r5*kon_NSH2, koff_NSH2
+#
+# # 11 Intra-complex binding: CSH2 & NSH2 bound, assoc. of PTP with same receptor as CSH2
+# R(Y1~P,Y2~P!1).R(Y2~P!2).S(NSH2~O!2,CSH2!1,PTP~O) <-> \
+# R(Y1~P!3,Y2~P!1).R(Y2~P!2).S(NSH2~O!2,CSH2!1,PTP~O!3) \
+# chi_r6*kon_PTP,koff_PTP
+#
+# # 12 Intra-complex binding: CSH2 & NSH2 bound, assoc. of PTP with same receptor as NSH2
+# R(Y1~P,Y2~P!1).R(Y2~P!2).S(NSH2~O!1,CSH2!2,PTP~O) <-> \
+# R(Y1~P!3,Y2~P!1).R(Y2~P!2).S(NSH2~O!1,CSH2!2,PTP~O!3) \
+# chi_r7*kon_PTP, koff_PTP
+#
+# # 13 Intra-complex binding: CSH2 & PTP bound to the same receptor, assoc. of NSH2
+# R(Y1~P!1,Y2~P!2).R(Y2~P).S(NSH2~O,CSH2!2,PTP~O!1) <-> \
+# R(Y1~P!1,Y2~P!2).R(Y2~P!3).S(NSH2~O!3,CSH2!2,PTP~O!1) \
+# chi_r8*kon_NSH2, koff_NSH2
+#
+# # 14 Intra-complex binding: CSH2 & PTP bound to different receptors, assoc. of NSH2
+# R(Y2~P!1).R(Y1~P!2,Y2~P).S(NSH2~O,CSH2!1,PTP~O!2) <-> \
+# R(Y2~P!1).R(Y1~P!2,Y2~P!3).S(NSH2~O!3,CSH2!1,PTP~O!2) \
+# chi_r9*kon_NSH2, koff_NSH2
+#
+# # 15 Intra-complex binding: PTP & NSH2 bound to different receptors, assoc. of CSH2
+# R(Y2~P!1).R(Y1~P!2,Y2~P).S(NSH2~O!1,CSH2,PTP~O!2) <-> \
+# R(Y2~P!1).R(Y1~P!2,Y2~P!3).S(NSH2~O!1,CSH2!3,PTP~O!2) \
+# chi_r10*kon_CSH2, koff_CSH2
+#
+# # 16 Intra-complex binding: PTP & NSH2 bound to same receptor, assoc. of CSH2
+# R(Y1~P!1,Y2~P!2).R(Y2~P).S(NSH2~O!2,CSH2,PTP~O!1) <-> \
+# R(Y1~P!1,Y2~P!2).R(Y2~P!3).S(NSH2~O!2,CSH2!3,PTP~O!1) \
+# chi_r11*kon_CSH2, koff_CSH2
+#end reaction rules
+#
+#begin observables
+# Molecules pYR R(Y1~P!?)
+#end observables
+#end model
+#
+#generate_network({overwrite=>1})
+#simulate({method=>"ode",t_end=>1000,n_steps=>100,steady_state=>1,atol=>1e-10,rtol=>1e-8,sparse=>0})
+#
diff --git a/python/samples/reaction_reader/SHP2_base_model/convert.py b/python/samples/reaction_reader/SHP2_base_model/convert.py
new file mode 100644
index 0000000..74a1f2e
--- /dev/null
+++ b/python/samples/reaction_reader/SHP2_base_model/convert.py
@@ -0,0 +1,21 @@
+from ecell4.reaction_reader.decorator2 import species_attributes, reaction_rules
+from ecell4.reaction_reader.species import generate_reactions
+from ecell4.reaction_reader.bng_exporter import Convert2BNGManager
+
+from SHP2_base_model import attributegen, rulegen
+
+'''
+with open("too_old_export.bngl", "w") as fd:
+ export_bng(fd, attributegen(), rulegen())
+'''
+
+#with open("old_export.bngl", "w") as fd:
+# convert2bng_moleculetypes(fd, rulegen() )
+# convert2bng_seed_species(fd, attributegen() )
+# convert2bng_reaction_rules(fd, rulegen() )
+
+with open("new_export.bngl", "w") as f:
+ bng_mng = Convert2BNGManager(attributegen(), rulegen(1000, 10, 500, 1, 1, 1, 1, 0.1, 1, 10, 1, 1000, 100, 1000, 1000, 100, 100, 100, 1000, 100, 100, 1000, 0.025, 0.05))
+ bng_mng.write_section_molecule_types(f)
+ bng_mng.write_section_seed_species(f)
+ bng_mng.write_section_reaction_rules(f)
diff --git a/python/samples/reaction_reader/blbr/blbr.py b/python/samples/reaction_reader/blbr/blbr.py
new file mode 100644
index 0000000..8e8208e
--- /dev/null
+++ b/python/samples/reaction_reader/blbr/blbr.py
@@ -0,0 +1,75 @@
+from ecell4.reaction_reader.decorator2 import species_attributes, reaction_rules
+from ecell4.reaction_reader.network import generate_reactions
+
+
+ at species_attributes
+def attributegen():
+ R(r1,r2,r=(r1,r2)) | R0
+ L(l1,l2,l=(l1,l2)) | L0
+
+ at reaction_rules
+def rulegen():
+ # Ligand addition
+ R(r) + L(_1,_2,l=[_1,_2]) == R(r^1).L(_1^1,_2,l=[_1,_2]) | (kp1, km1)
+ # R(r) + L(l1,l2) == R(r^1).L(l1^1,l2) | (kp1, km1)
+
+ # Chain elongation
+ R(r) + L(_1,_2^_,l=[_1,_2]) == R(r^1).L(_1^1,_2^_,l=[_1,_2]) | (kp2, km2)
+ # R(r) + L(l1,l2^_) == R(r^1).L(l1^1,l2^_) | (kp2, km2)
+
+ # Ring closure
+ R(r).L(l) == R(r^1).L(l^1) | (kp3, km3)
+
+
+if __name__ == "__main__":
+ newseeds = []
+ for i, (sp, attr) in enumerate(attributegen()):
+ print i, sp, attr
+ newseeds.append(sp)
+ print ''
+
+ rules = rulegen()
+ for i, rr in enumerate(rules):
+ print i, rr
+ print ''
+
+ seeds, reactions = generate_reactions(
+ newseeds, rules, max_stoich={"R": 5, "L": 5})
+ for i, seed in enumerate(seeds):
+ print i, seed
+ # print ''
+ # for i, reaction in enumerate(reactions):
+ # print i, reaction
+
+# setOption("SpeciesLabel","HNauty")
+# begin model
+# begin parameters
+# kp1 1
+# km1 1
+# kp2 1
+# km2 1
+# kp3 1
+# km3 1
+# R0 3e5
+# L0 3e5
+# end parameters
+#
+# begin seed species
+# R(r,r) R0
+# L(l,l) L0
+# end seed species
+#
+# begin reaction rules
+# # Ligand addition
+# R(r) + L(l,l) <-> R(r!1).L(l!1,l) kp1,km1
+#
+# # Chain elongation
+# R(r) + L(l,l!+) <-> R(r!1).L(l!1,l!+) kp2,km2
+#
+# # Ring closure
+# R(r).L(l) <-> R(r!1).L(l!1) kp3,km3
+# end reaction rules
+# end model
+#
+# ## actions ##
+# generate_network({overwrite=>1,max_stoich=>{R=>5,L=>5}})
diff --git a/python/samples/reaction_reader/catalysis/catalysis.py b/python/samples/reaction_reader/catalysis/catalysis.py
new file mode 100644
index 0000000..c87644f
--- /dev/null
+++ b/python/samples/reaction_reader/catalysis/catalysis.py
@@ -0,0 +1,123 @@
+from ecell4.reaction_reader.decorator2 import species_attributes, reaction_rules
+from ecell4.reaction_reader.network import generate_reactions
+
+
+k1 = 0.1
+k2 = 0.2
+k3 = 0.3
+k4 = 0.4
+
+ at species_attributes
+def attributegen():
+ S(e,y=zero) | 1
+ kinase(s) | 2
+ pptase(s) | 3
+ ATP() | 4
+ ADP() | 5
+
+ at reaction_rules
+def rulegen():
+ # binding rules
+ S(e) + kinase(s) == S(e^1).kinase(s^1) | (1,2)
+ S(e) + pptase(s) == S(e^1).pptase(s^1) | (3,4)
+ # catalysis
+ S(e^1,y=zero).kinase(s^1) + ATP == S(e^1,y=P).kinase(s^1) + ADP | (5,6)
+ S(e^1,y=P).pptase(s^1) == S(e^1,y=zero).pptase(s^1) | (7,8)
+
+if __name__ == "__main__":
+ newseeds = []
+ for i, (sp, attr) in enumerate(attributegen()):
+ print i, sp, attr
+ newseeds.append(sp)
+ print ''
+
+ rules = rulegen()
+ for i, rr in enumerate(rules):
+ print i, rr
+ print ''
+
+ generate_reactions(newseeds, rules)
+
+
+## Catalysis in energy BNG
+## justin.s.hogg at gmail.com, 9 Apr 2013
+#
+## requires BioNetGen version >= 2.2.4
+#version("2.2.4")
+## Quantities have units in moles, so set this to Avogadro's Number
+#setOption("NumberPerQuantityUnit",6.0221e23)
+#
+#begin model
+#begin parameters
+# # fundamental constants
+# RT 2.577 # kJ/mol
+# NA 6.022e23 # /mol
+# # simulation volume, L
+# volC 1e-12
+# # initial concentrations, mol/L
+# conc_S_0 1e-6
+# conc_kinase_0 10e-9
+# conc_pptase_0 10e-9
+# conc_ATP_0 1.0e-3
+# conc_ADP_0 0.1e-3
+# # standard free energy of formation, kJ/mol
+# Gf_Sp 51.1
+# Gf_S_kinase -41.5
+# Gf_S_pptase -41.5
+# Gf_ATP 51.1
+# # baseline activation energy, kJ/mol
+# Ea0_S_kinase -7.7
+# Ea0_S_pptase -7.7
+# Ea0_cat_kinase -11.9
+# Ea0_cat_pptase 11.9
+# # rate distribution parameter, no units
+# phi 0.5
+#end parameters
+#begin compartments
+# # generic compartment
+# C 3 volC
+#end compartments
+#begin molecule types
+# S(e,y~0~P) # substrate with enzyme binding domain and site of phosphorylation
+# kinase(s) # kinase enzyme
+# pptase(s) # phosphotase enzyme
+# ATP()
+# ADP()
+#end molecule types
+#begin species
+# S(e,y~0)@C conc_S_0*NA*volC
+# kinase(s)@C conc_kinase_0*NA*volC
+# pptase(s)@C conc_pptase_0*NA*volC
+# $ATP()@C conc_ATP_0*NA*volC # ATP concentration held constant
+# $ADP()@C conc_ADP_0*NA*volC # ADP concentration held constant
+#end species
+#begin reaction rules
+# # binding rules
+# S(e) + kinase(s) <-> S(e!1).kinase(s!1) Arrhenius(phi,Ea0_S_kinase)
+# S(e) + pptase(s) <-> S(e!1).pptase(s!1) Arrhenius(phi,Ea0_S_pptase)
+# # catalysis
+# S(e!1,y~0).kinase(s!1) + ATP <-> S(e!1,y~P).kinase(s!1) + ADP Arrhenius(phi,Ea0_cat_kinase)
+# S(e!1,y~P).pptase(s!1) <-> S(e!1,y~0).pptase(s!1) Arrhenius(phi,Ea0_cat_pptase)
+#end reaction rules
+#begin energy patterns
+# S(y~P) Gf_Sp/RT # phosphorylated subtrate
+# S(e!0).kinase(s!0) Gf_S_kinase/RT # substrate-kinase binding
+# S(e!0).pptase(s!0) Gf_S_pptase/RT # substrate-pptase binding
+# ATP() Gf_ATP/RT # ATP energy (relative to ADP)
+#end energy patterns
+#begin observables
+# Molecules Sp S(y~P)
+# Molecules S_kinase S(e!1).kinase(s!1)
+# Molecules S_pptase S(e!1).pptase(s!1)
+# Molecules Stot S()
+# Molecules kinaseTot kinase()
+# Molecules pptaseTot pptase()
+#end observables
+#end model
+#
+## generate reaction network..
+#generate_network({overwrite=>1})
+#
+## simulate ODE system to steady state..
+#simulate({method=>"ode",t_start=>0,t_end=>3600,n_steps=>120,atol=>1e-3,rtol=>1e-7})
+#
diff --git a/python/samples/reaction_reader/catalysis/convert.py b/python/samples/reaction_reader/catalysis/convert.py
new file mode 100644
index 0000000..2b698f5
--- /dev/null
+++ b/python/samples/reaction_reader/catalysis/convert.py
@@ -0,0 +1,21 @@
+from ecell4.reaction_reader.decorator2 import species_attributes, reaction_rules
+from ecell4.reaction_reader.species import generate_reactions
+from ecell4.reaction_reader.bng_exporter import Convert2BNGManager
+
+from catalysis import attributegen, rulegen
+
+'''
+with open("too_old_export.bngl", "w") as fd:
+ export_bng(fd, attributegen(), rulegen())
+'''
+
+#with open("old_export.bngl", "w") as fd:
+# convert2bng_moleculetypes(fd, rulegen() )
+# convert2bng_seed_species(fd, attributegen() )
+# convert2bng_reaction_rules(fd, rulegen() )
+
+with open("new_export.bngl", "w") as f:
+ bng_mng = Convert2BNGManager(attributegen(), rulegen())
+ bng_mng.write_section_molecule_types(f)
+ bng_mng.write_section_seed_species(f)
+ bng_mng.write_section_reaction_rules(f)
diff --git a/python/samples/reaction_reader/egfr/egfr.py b/python/samples/reaction_reader/egfr/egfr.py
new file mode 100644
index 0000000..2014814
--- /dev/null
+++ b/python/samples/reaction_reader/egfr/egfr.py
@@ -0,0 +1,82 @@
+from ecell4.reaction_reader.decorator2 import species_attributes, reaction_rules
+from ecell4.reaction_reader.network import generate_reactions
+
+
+ at species_attributes
+def attributegen():
+ egf_tot = 0.0
+ Grb2_tot= 0.0
+ Shc_tot = 0.0
+ Sos_tot = 0.0
+ egfr_tot= 0.0
+ Grb2_Sos_tot = 0.0
+
+ egf(r) | egf_tot
+ Grb2(SH2, SH3) | Grb2_tot
+ Shc(PTB, Y317=Y) | Shc_tot
+ Sos(dom) | Sos_tot
+ egfr(l, r, Y1068=Y, Y1148=Y) | egfr_tot
+ Grb2(SH2, SH3^1).Sos(dom^1) | Grb2_Sos_tot
+
+ at reaction_rules
+def rulegen():
+ (kp1, km1, kp2, km2, kp3, km3, kp14, km14, kp9, km9, kp11, km11, kp10, km10, kp13, km13, kp15, km15,
+ kp18, km18, kp20, km20, kp17, km17, kp24, km24, kp19, km19, kp21, km21, kp23, km23, km16, kp12, km12, kp22, km22) = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
+ # Ligand-receptor binding (ligand-monomer)
+ egfr(l, r) + egf(r) == egfr(l^1, r).egf(r^1) | (kp1, km1)
+
+ # Note changed multiplicity
+ # Receptor-aggregation
+ egfr(l^_, r) + egfr(l^_, r) == egfr(l^_,r^3).egfr(l^_,r^3) | (kp2, km2)
+ # egfr(l^_1, r) + egfr(l^_2, r) == egfr(l^_1,r^3).egfr(l^_2,r^3) | (kp2, km2) #XXX: this should work, but not now
+
+ # Transphosphorylation of egfr by RTK
+ egfr(r^_, Y1068=Y) > egfr(r^_, Y1068=pY) | kp3
+ egfr(r^_, Y1148=Y) > egfr(r^_, Y1148=pY) | kp3
+
+ # Dephosphorylation
+ egfr(Y1068=pY) > egfr(Y1068=Y) | km3
+ egfr(Y1148=pY) > egfr(Y1148=Y) | km3
+
+ # Shc transphosphorylation
+ egfr(r^_, Y1148=pY^1).Shc(PTB^1,Y317=Y) > egfr(r^_,Y1148=pY^1).Shc(PTB^1,Y317=pY) | kp14
+ Shc(PTB^_,Y317=pY) > Shc(PTB^_,Y317=Y) | km14
+
+ # Y1068 activity
+ egfr(Y1068=pY) + Grb2(SH2,SH3) == egfr(Y1068=pY^1).Grb2(SH2^1,SH3) | (kp9, km9)
+ egfr(Y1068=pY) + Grb2(SH2,SH3^_) == egfr(Y1068=pY^1).Grb2(SH2^1,SH3^_) | (kp11, km11)
+ egfr(Y1068=pY^1).Grb2(SH2^1,SH3) + Sos(dom) == egfr(Y1068=pY^1).Grb2(SH2^1,SH3^2).Sos(dom^2) | (kp10, km10)
+
+ # Y1148 activity
+ egfr(Y1148=pY) + Shc(PTB,Y317=Y) == egfr(Y1148=pY^1).Shc(PTB^1,Y317=Y) | (kp13, km13)
+ egfr(Y1148=pY) + Shc(PTB,Y317=pY) == egfr(Y1148=pY^1).Shc(PTB^1,Y317=pY) | (kp15, km15)
+ egfr(Y1148=pY) + Shc(PTB,Y317=pY^1).Grb2(SH2^1,SH3) == egfr(Y1148=pY^2).Shc(PTB^2,Y317=pY^1).Grb2(SH2^1,SH3) | (kp18, km18)
+ egfr(Y1148=pY) + Shc(PTB,Y317=pY^1).Grb2(SH2^1,SH3^3).Sos(dom^3) == egfr(Y1148=pY^2).Shc(PTB^2,Y317=pY^1).Grb2(SH2^1,SH3^3).Sos(dom^3) | (kp20, km20)
+
+ egfr(Y1148=pY^1).Shc(PTB^1,Y317=pY) + Grb2(SH2,SH3) == egfr(Y1148=pY^1).Shc(PTB^1,Y317=pY^2).Grb2(SH2^2,SH3) | (kp17, km17)
+
+ egfr(Y1148=pY^1).Shc(PTB^1,Y317=pY) + Grb2(SH2,SH3^3).Sos(dom^3) == egfr(Y1148=pY^1).Shc(PTB^1,Y317=pY^2).Grb2(SH2^2,SH3^3).Sos(dom^3) | (kp24, km24)
+
+ Shc(PTB^_,Y317=pY^2).Grb2(SH2^2,SH3) + Sos(dom) == Shc(PTB^_,Y317=pY^2).Grb2(SH2^2,SH3^3).Sos(dom^3) | (kp19, km19)
+
+ # Cytosolic
+ Shc(PTB,Y317=pY) + Grb2(SH2,SH3) == Shc(PTB,Y317=pY^1).Grb2(SH2^1,SH3) | (kp21, km21)
+ Shc(PTB,Y317=pY) + Grb2(SH2,SH3^_) == Shc(PTB,Y317=pY^1).Grb2(SH2^1,SH3^_) | (kp23, km23)
+ Shc(PTB,Y317=pY) > Shc(PTB,Y317=Y) | km16
+ Grb2(SH2,SH3) + Sos(dom) == Grb2(SH2,SH3^1).Sos(dom^1) | (kp12, km12)
+ Shc(PTB,Y317=pY^2).Grb2(SH2^2,SH3) + Sos(dom) == Shc(PTB,Y317=pY^2).Grb2(SH2^2,SH3^3).Sos(dom^3) | (kp22, km22)
+
+
+if __name__ == "__main__":
+ newseeds = []
+ for i, (sp, attr) in enumerate(attributegen()):
+ print i, sp, attr
+ newseeds.append(sp)
+ print ''
+
+ rules = rulegen()
+ for i, rr in enumerate(rules):
+ print i, rr
+ print ''
+
+ generate_reactions(newseeds, rules)
diff --git a/python/samples/reaction_reader/egfr/gen_nw.py b/python/samples/reaction_reader/egfr/gen_nw.py
new file mode 100644
index 0000000..9875236
--- /dev/null
+++ b/python/samples/reaction_reader/egfr/gen_nw.py
@@ -0,0 +1,31 @@
+import ecell4.core as core
+import ecell4.ode as ode
+
+from ecell4.reaction_reader.decorator2 import species_attributes, reaction_rules
+from ecell4.reaction_reader.network import generate_reactions, generate_NetworkModel
+
+from egfr import attributegen, rulegen
+
+
+newseeds = []
+attrs = attributegen()
+for i, (sp, attr) in enumerate(attrs):
+ #print i, sp, attr
+ newseeds.append(sp)
+ #print ''
+reaction_rules = rulegen()
+
+seeds, rules = generate_reactions(newseeds, reaction_rules, max_iter=3)
+m = generate_NetworkModel(seeds, rules)
+w = ode.ODEWorld(1.0)
+for (sp, attr) in attrs:
+ w.add_molecules(core.Species(str(sp)), attr)
+
+target = ode.ODESimulator(m, w)
+next_time = 0.0
+dt = 0.01
+
+for i in range(100):
+ next_time += dt
+ print "{}\t{} = {}".format(target.t(), str(seeds[0]), w.num_molecules(core.Species(str(seeds[0]))))
+ target.step(next_time)
diff --git a/python/samples/reaction_reader/gene_expr_func/gene_expr_func.py b/python/samples/reaction_reader/gene_expr_func/gene_expr_func.py
new file mode 100644
index 0000000..a6654f1
--- /dev/null
+++ b/python/samples/reaction_reader/gene_expr_func/gene_expr_func.py
@@ -0,0 +1,141 @@
+from ecell4.reaction_reader.decorator2 import species_attributes, reaction_rules
+from ecell4.reaction_reader.network import generate_reactions
+
+
+ at species_attributes
+def attributegen():
+ DNA(promoter=s0) | 1
+ # mRNA | 0
+ # Protein | 0
+
+ at reaction_rules
+def rulegen(k0, k1, v0, v1, d0, d1):
+ # promoter activation
+ DNA(promoter=s0) == DNA(promoter=s1) | (k0, k1)
+
+ # mRNA synthesis
+ # Src > Src + mRNA | v0 * DNA(promoter=s1)
+ ~DNA(promoter=s1) > ~DNA(promoter=s1) + mRNA | v0
+
+ # Protein synthesis
+ # Src > Src + Protein | v1 * mRNA
+ ~mRNA > ~mRNA + Protein | v1
+
+ # degradation
+ mRNA > ~mRNA | d0
+ Protein > ~Protein | d1
+
+
+if __name__ == "__main__":
+ newseeds = []
+ for i, (sp, attr) in enumerate(attributegen()):
+ print i, sp, attr
+ newseeds.append(sp)
+ print ''
+
+ rules = rulegen(
+ 0.6 * 0.0005, 0.2 * 0.0005, 4 * 0.0005,
+ 10 * 10 * 0.0005, 10 * 0.0005, 0.0005)
+ for i, rr in enumerate(rules):
+ print i, rr
+ print ''
+
+ generate_reactions(newseeds, rules)
+
+## Three-stage Model of Gene Expression
+## from: V Shahrezaei and PS Swain (2008) PNAS
+## doi: 10.1073/pnas.0803850105
+##
+## Let n be the number of proteins in the system at equilibrium.
+## In the limit that gam -> infinity, we have:
+## P(n) = G(alpha+n)*G(beta+n)*G(kap0+kap1)/G(n+1)/G(alpha)/G(beta)/G(kap1+kap2+n)
+## * (b/(1+b))^n * (1 - b/(1+b))^alpha * 2F1(alpha+n, kap0+kap1-beta; kap0+kap1+n; b/(1+b))
+## where alpha = 0.5*(a+kap0+kap1+phi),
+## beta = 0.5*(a+kap0+kap1-phi),
+## phi^2 = (a+kap0+kap1)^2-4*a*kap0,
+## G is the Gamma function, and
+## 2F1 is the Gauss hypergeometric function.
+##
+## We can validate the equilibrium distribution of our simulator by collecting N=10,000 samples,
+## placing those samples into B=20 bins, and comparing the expected and observed frequencies
+## using the Pearson's chi-square test with D=19 degrees of freedom.
+##
+## Bins: n = 0, 1-2, 3-6, 7-9, 10-12, 13-15, 16-17, 18-20, 21-23, 24-26, 27-28, 29-31,
+## 32-35, 36-38, 39-42, 43-46, 47-52, 53-59, 60-71, 72-infinity
+##
+## p(Bins): 0.0407, 0.0435, 0.0655, 0.0470, 0.0490, 0.0515, 0.0356, 0.0546, 0.0551, 0.0546,
+## 0.0355, 0.0514, 0.0640, 0.0439, 0.0527, 0.0459, 0.0566, 0.0494, 0.0530, 0.0503
+##
+## chi-square calculation: SUM_b=1..B[ (Observed(b) - N*pBin(b))^2 / (N*pBin(b)) ]
+##
+## p-values: 0.200 => 23.900
+## 0.100 => 27.204
+## 0.050 => 30.144
+## 0.020 => 33.687
+## 0.010 => 36.191
+## 0.005 => 38.582
+## 0.002 => 41.610
+## 0.001 => 43.820
+## (degrees of freedom = 19)
+#
+#begin model
+#begin parameters
+# # unitless parameters
+# a 4 # a = v0/d1
+# b 10 # b = v1/d0
+# gam 10 # gam = d0/d
+# kap0 0.6 # kap0 = k0/d1
+# kap1 0.2 # kap1 = k1/d1
+# # kinetic parameters
+# d1 0.0005 # /s
+# d0 gam*d1 # /s
+# k0 kap0*d1 # /s
+# k1 kap1*d1 # /s
+# v0 a*d1 # /s
+# v1 b*d0 # /s
+#end parameters
+#begin molecule types
+# DNA(promoter~0~1)
+# mRNA()
+# Protein()
+# Src()
+# Null()
+#end molecule types
+#begin seed species
+# DNA(promoter~0) 1
+# mRNA() 0
+# Protein() 0
+# Src() 1
+# $Null() 0
+#end seed species
+#begin observables
+# Molecules DNA_Active DNA(promoter~1)
+# Molecules DNA_Total DNA()
+# Molecules mRNA_Total mRNA()
+# Molecules Protein_Total Protein()
+#end observables
+#begin functions
+# fcn_mRNA() = v0*DNA_Active
+# fcn_Prot() = v1*mRNA_Total
+#end functions
+#begin reaction rules
+# # promoter activation
+# DNA(promoter~0) <-> DNA(promoter~1) k0,k1
+# # mRNA synthesis
+# Src() -> Src() + mRNA() fcn_mRNA()
+# # Protein synthesis
+# Src() -> Src() + Protein() fcn_Prot()
+# # degradation
+# mRNA() -> Null() d0
+# Protein() -> Null() d1
+#end reaction rules
+#end model
+#
+### actions ##
+#generate_network({overwrite=>1})
+#simulate_ssa({suffix=>"burnin",t_start=>0,t_end=>10000000,n_steps=>1})
+#saveConcentrations()
+#simulate_ssa({suffix=>"ssa_equil",t_start=>0,t_end=>200000000,n_steps=>10000})
+#resetConcentrations()
+#simulate_nf({suffix=>"nf_equil",t_start=>0,t_end=>200000000,n_steps=>10000,param=>"-gml 1000000"})
+#
diff --git a/python/samples/reaction_reader/label_test/label_test.py b/python/samples/reaction_reader/label_test/label_test.py
new file mode 100644
index 0000000..f3d2d7b
--- /dev/null
+++ b/python/samples/reaction_reader/label_test/label_test.py
@@ -0,0 +1,43 @@
+from ecell4.reaction_reader.decorator2 import species_attributes, reaction_rules
+from ecell4.reaction_reader.species import generate_reactions
+
+from ecell4.reaction_reader.bng_exporter import check_label_containing_reaction , Convert2BNGManager
+
+ at species_attributes
+def attributegen():
+ R0 = 14
+ L0 = 15
+ #A(r1,r2) | R0
+ #B(l1,l2) | L0
+ A(x=P, phos=YT^1).C(bs^1) | R0
+ B(y=S, phos=pT^1).D(bs^1) | L0
+
+
+Kp1 = 1.0
+Kp2 = 1.0
+
+ at reaction_rules
+def rulegen():
+ #A(x=_1) > B(y=_1) | Kp1
+ A(x=_1) + B(y=_1) > A(x=_1^1).B(y=_1^1) | Kp2
+ A(x=_1, phos=_2) + B(y=_2) > A(x=_1, phos=_2^1).B(y=_1^1) | Kp2
+
+
+if __name__ == "__main__":
+ newseeds = []
+ for i, (sp, attr) in enumerate(attributegen()):
+ print i, sp, attr
+ newseeds.append(sp)
+ print ''
+
+ rules = rulegen()
+ for i, rr in enumerate(rules):
+ print i, rr
+ print ''
+ s = Convert2BNGManager(attributegen(), rulegen() )
+
+ with open("expanded.bngl", "w") as fd:
+ s.write_section_molecule_types(fd)
+ s.write_section_seed_species(fd)
+ s.write_section_reaction_rules(fd)
+ #generate_reactions(newseeds, rules)
diff --git a/python/samples/reaction_reader/mapk/mapk.py b/python/samples/reaction_reader/mapk/mapk.py
new file mode 100644
index 0000000..c8f32ac
--- /dev/null
+++ b/python/samples/reaction_reader/mapk/mapk.py
@@ -0,0 +1,38 @@
+from ecell4.reaction_reader.decorator_base import just_parse
+from ecell4.reaction_reader.decorator import reaction_rules
+
+
+# @reaction_rules
+ at just_parse
+def reactions(kon, koff, kcat):
+ mapk(phos=YT) + kk(bs) > mapk(phos=YT^1).kk(bs^1) | kon
+ mapk(phos=YT^1).kk(bs^1) > mapk(phos=YT) + kk(bs) | koff
+ mapk(phos=YT^1).kk(bs^1) > mapk(phos=pYT) + kk(bs) | kcat
+
+ mapk(phos=pYT) + pp(bs) == mapk(phos=pYT^1).pp(bs^1) | (kon, koff)
+ mapk(phos=pYT^1).pp(bs^1) > mapk(phos=YT) + pp(bs) | kcat
+
+ mapk(phos=pYT) + kk(bs) <> mapk(phos=pYT^1).kk(bs^1) | (kon, koff)
+ mapk(phos=pYT^1).kk(bs^1) > mapk(phos=pYpT) + kk(bs) | kcat
+
+ (mapk(phos=pYpT) + pp(bs)
+ == mapk(phos=pYpT^1).pp(bs^1) | (kon, koff)
+ > mapk(phos=pYT) + pp(bs) | kcat)
+
+ # (mapk(phos=YT) + kk(bs)
+ # == mapk(phos=YT^1).kk(bs^1) | (kon, koff)
+ # > mapk(phos=pYT) + kk(bs) | kcat
+ # == mapk(phos=pYT^1).kk(bs^1) | (kon, koff)
+ # > mapk(phos=pYpT) + kk(bs) | kcat)
+
+ # (mapk(phos=pYpT) + pp(bs)
+ # == mapk(phos=pYpT^1).pp(bs^1) | (kon, koff)
+ # > mapk(phos=pYT) + pp(bs) | kcat
+ # == mapk(phos=pYT^1).pp(bs^1) | (kon, koff)
+ # > mapk(phos=YT) + pp(bs) | kcat)
+
+
+if __name__ == "__main__":
+ rules = reactions(1, 2, 3)
+ for i, rr in enumerate(rules):
+ print i + 1, rr
diff --git a/python/samples/reaction_reader/multi/multi.py b/python/samples/reaction_reader/multi/multi.py
new file mode 100644
index 0000000..8ec4528
--- /dev/null
+++ b/python/samples/reaction_reader/multi/multi.py
@@ -0,0 +1,68 @@
+from ecell4.reaction_reader.decorator2 import reaction_rules, create_species
+from ecell4.reaction_reader.network import generate_reactions
+
+
+def test1():
+ @reaction_rules
+ def rulegen():
+ _(ps=u) > _(ps=p)
+ _1(bs) + _1(bs) > _1(bs^1)._1(bs^1)
+ # (_(ps=u) + K(bs) == _(ps=u^1).K(bs^1) | ExcludeReactants(1, K)
+ # > _(ps=p) + K(bs))
+
+ rules = rulegen()
+ print generate_reactions(
+ [create_species("K(bs)"), create_species("A(ps=u)")], rules)[0]
+ print generate_reactions(
+ [create_species("K(bs)"), create_species("A(ps1=u,ps2=u)")], rules)[0]
+ print generate_reactions(
+ [create_species("K(bs)"),
+ create_species("A(ps1=u,ps2=u,ps=(ps1,ps2))")], rules)[0]
+ print generate_reactions(
+ [create_species("K(bs)"),
+ create_species("A(ps1=u,ps2=u,ps=(ps1,ps2),bs=(ps1,))")], rules)[0]
+
+def test2():
+ @reaction_rules
+ def rulegen():
+ (A(bs) + B(bs) > A(bs^1).B(bs^1)
+ | ExcludeReactants(1, B) | ExcludeReactants(2, A))
+
+ rules = rulegen()
+ print generate_reactions(
+ [create_species("A(bs1, bs2, bs=(bs1, bs2))"),
+ create_species("B(bs1, bs3, bs=(bs1, bs3))")], rules)[0]
+
+def test3():
+ @reaction_rules
+ def rulegen():
+ # _(ps=u) > _(ps=p)
+ # _(_1=u) > _(_1=p)
+ # A(ps1=u) > A(ps1=p)
+ # A(ps1=u,ps=(ps1,ps2)) > A(ps1=p,ps=(ps1,ps2))
+ # A(_1=u,ps=(_1,_)) > A(_1=p,ps=(_1,_))
+ A(_1=u,_2=u,ps=(_1,_2)) > A(_1=p,_2=u,ps=(_1,_2))
+
+ rules = rulegen()
+ print generate_reactions(
+ [create_species("A(ps1=u,ps=(ps1,))")], rules)[0]
+ print generate_reactions(
+ [create_species("A(ps1=u,ps2=u,ps=(ps1,ps2))")], rules)[0]
+ print generate_reactions(
+ [create_species("A(ps1=u,ps2=u,ps3=u,ps=(ps1,ps2,ps3))")], rules)[0]
+
+def test4():
+ @reaction_rules
+ def rulegen():
+ A(_1=u,ps=(_1,)) + A(_1=u,ps=(_1,)) > A(_1=u^1,ps=(_1,)).A(_1=u^1,ps=(_1,))
+
+ rules = rulegen()
+ print generate_reactions(
+ [create_species("A(ps1=u,ps2=u,ps3=u,ps=(ps1,ps2,ps3))")], rules, max_iter=1)[0]
+
+
+if __name__ == '__main__':
+ # test1()
+ # test2()
+ # test3()
+ test4()
diff --git a/python/samples/reaction_reader/simple/simple.py b/python/samples/reaction_reader/simple/simple.py
new file mode 100644
index 0000000..72be3af
--- /dev/null
+++ b/python/samples/reaction_reader/simple/simple.py
@@ -0,0 +1,66 @@
+from ecell4.reaction_reader.decorator import species_attributes, reaction_rules
+
+
+ at species_attributes
+def attributes():
+ K | {'N': '120'}
+ KK | {'N': '30'}
+ PP | {'N': '30'}
+
+ at reaction_rules
+def reactions(kon1, koff1, kcat1, kon2, koff2, kcat2):
+ (K + KK == K_KK | (kon1, koff1)
+ > Kp + KK | kcat1
+ == Kp_KK | (kon2, koff2)
+ > Kpp + KK | kcat2)
+
+ (Kpp + PP == Kpp_PP | (kon1, koff1)
+ > Kp + PP | kcat1
+ == Kp_PP | (kon2, koff2)
+ > K + PP | kcat2)
+
+
+if __name__ == "__main__":
+ import sys
+ import csv
+
+ import ecell4.core
+ import ecell4.gillespie
+
+
+ m = ecell4.core.NetworkModel()
+
+ for sp in attributes():
+ m.add_species_attribute(sp)
+
+ rules_list = reactions(
+ 4.483455086786913e-20, 1.35, 1.5,
+ 9.299017957780264e-20, 1.73, 15.0)
+ for rr in rules_list:
+ m.add_reaction_rule(rr)
+
+ species_list = m.list_species()
+
+ rng = ecell4.core.GSLRandomNumberGenerator()
+ rng.seed(0)
+
+ volume = 1e-18
+ w = ecell4.gillespie.GillespieWorld(volume, rng)
+ # for sp in attributes():
+ for sp in species_list:
+ sp = m.apply_species_attributes(sp)
+ if sp.has_attribute("N"):
+ w.add_molecules(sp, int(sp.get_attribute("N")))
+
+ sim = ecell4.gillespie.GillespieSimulator(m, w)
+
+ writer = csv.writer(sys.stdout, delimiter='\t')
+ writer.writerow(['#t'] + [sp.name() for sp in species_list])
+ writer.writerow(
+ ['%.6e' % sim.t()]
+ + ['%d' % w.num_molecules(sp) for sp in species_list])
+ for i in xrange(1000):
+ sim.step()
+ writer.writerow(
+ ['%.6e' % sim.t()]
+ + ['%d' % w.num_molecules(sp) for sp in species_list])
diff --git a/python/samples/reaction_reader/simple_system/convert.py b/python/samples/reaction_reader/simple_system/convert.py
new file mode 100644
index 0000000..4b67243
--- /dev/null
+++ b/python/samples/reaction_reader/simple_system/convert.py
@@ -0,0 +1,21 @@
+from ecell4.reaction_reader.decorator2 import species_attributes, reaction_rules
+from ecell4.reaction_reader.species import generate_reactions
+from ecell4.reaction_reader.bng_exporter import Convert2BNGManager
+
+from simple_system import attributegen, rulegen
+
+'''
+with open("too_old_export.bngl", "w") as fd:
+ export_bng(fd, attributegen(), rulegen())
+'''
+
+#with open("old_export.bngl", "w") as fd:
+# convert2bng_moleculetypes(fd, rulegen() )
+# convert2bng_seed_species(fd, attributegen() )
+# convert2bng_reaction_rules(fd, rulegen() )
+
+with open("new_export.bngl", "w") as f:
+ bng_mng = Convert2BNGManager(attributegen(), rulegen())
+ bng_mng.write_section_molecule_types(f)
+ bng_mng.write_section_seed_species(f)
+ bng_mng.write_section_reaction_rules(f)
diff --git a/python/samples/reaction_reader/simple_system/simple_system.py b/python/samples/reaction_reader/simple_system/simple_system.py
new file mode 100644
index 0000000..1bc537d
--- /dev/null
+++ b/python/samples/reaction_reader/simple_system/simple_system.py
@@ -0,0 +1,166 @@
+from ecell4.reaction_reader.decorator2 import species_attributes, reaction_rules
+from ecell4.reaction_reader.network import generate_reactions
+
+
+ at species_attributes
+def attributegen():
+ X(y,p=s0) | 5000
+ X(y,p=s1) | 0
+ Y(x) | 500
+
+ at reaction_rules
+def rulegen():
+ X(y,p=s0) + Y(x) > X(y^1,p=s0).Y(x^1) | 1
+ X(y^1,p=s0).Y(x^1) > X(y,p=s0) + Y(x) | 2
+ X(y^1,p=s0).Y(x^1) > X(y,p=s1) + Y(x) | 3
+
+ X(p=s1) > X(p=s0) | 4
+
+
+if __name__ == "__main__":
+ newseeds = []
+ for i, (sp, attr) in enumerate(attributegen()):
+ print i, sp, attr
+ newseeds.append(sp)
+ print ''
+
+ rules = rulegen()
+ for i, rr in enumerate(rules):
+ print i, rr
+ print ''
+
+ generate_reactions(newseeds, rules)
+
+## simple_system.bngl
+##
+## An example model for running NFsim to get you started.
+##
+## Comments in BNGL are always preceded with a pound (#) character, so that any text that
+## follows a pound character is ignored. The model file below is commented to help you
+## understand the main parts of a BNGL file. Note that some commands at the end of the
+## model file that allow you to run the model with different simulators are commented out.
+## To use these other options, simply remove the pound character before the command.
+#
+#begin model
+#
+## The first part of a BNGL file is the parameters block, where you can define the rates
+## of equations or the starting numbers of any of the molecular species.
+#begin parameters
+# kon 10
+# koff 5
+# kcat 0.7
+# dephos 0.5
+#end parameters
+#
+#
+## Next, we define the set of molecule types in the system. This is a declaration only, so
+## we don't specify how many of each molecules there are, and we have to provide a list
+## of all possible state values for each component of each molecule with a tilda (~)
+## character.
+#begin molecule types
+# X(y,p~0~1)
+# Y(x)
+#end molecule types
+#
+#
+## Here is where we declare the starting molecules in our simulation. Each component
+## must be assigned a single state value, and we have to provide how many of each
+## molecule exists in the system. The number of starting molecules can also be
+## specified with one of the parameters defined earlier
+#begin species
+# X(y,p~0) 5000
+# X(y,p~1) 0
+# Y(x) 500
+#end species
+#
+#
+## Observables allow us to define simulation output. Here we have declared a number
+## of Molecules observables with the given name and pattern. If you look at the output
+## gdat files that are generated from simulations of this model, you will see that they
+## each have a count for every simulation time.
+#begin observables
+# Molecules X_free X(p~0,y)
+# Molecules X_p_total X(p~1)
+# Molecules Xp_free X(p~1,y)
+# Molecules XY X(y!1).Y(x!1)
+# Molecules Ytotal Y()
+# Molecules Xtotal X()
+#end observables
+#
+#
+## This model does not require any user-defined functions, but you would
+## declare them here if you needed to. See the user manual for help with
+## declaring your own functions.
+#begin functions
+#
+#end functions
+#
+#
+## This is a very simple system indeed. The only rules that are defined
+## tell us that X can bind Y if X is dephosphorylated. Then the XY complex
+## can either disassociate, or a phosphorylation reaction can occur. Finally, X
+## will dephosphorylate regardless of whether or not it is bound to Y, although
+## for these rules, it will always be unbound to Y if it is phosphorylated.
+## Here are the rule definitions:
+#begin reaction rules
+# X(y,p~0) + Y(x) -> X(y!1,p~0).Y(x!1) kon
+# X(y!1,p~0).Y(x!1) -> X(y,p~0) + Y(x) koff
+# X(y!1,p~0).Y(x!1) -> X(y,p~1) + Y(x) kcat
+#
+# X(p~1) -> X(p~0) dephos
+#end reaction rules
+#
+#end model
+#
+## COMMAND FOR RUNNING OR PROCESSING THIS BNGL FILE
+#
+## Now we can run NFsim directly from BioNetGen using the simulate_nf command, where
+## "t_end" is the simulation time, "n_steps" is the number of steps, and "suffix" is
+## the filename ending of this run. The suffix allows us to run the same model
+## multiple times here, and distinguish between all the runs with different "suffix"s.
+## Note that this step will also automatically create an NFsim readable XML model
+## specification file.
+#
+## simulate_nf({t_end=>100,n_steps=>50});
+#
+## We can also use the keyword "param" to pass any command line arguments to NFsim
+## that we want. As an example, we can rerun the model with the verbose (-v) option
+## and the universal traversal limit (-utl) option. See the manual for a description
+## of Universal Traversal Limits, and other command line arguments.
+#
+## simulate_nf({suffix=>nfVerbose,t_end=>100,n_steps=>50,param=>"-v -utl 3"});
+#
+## If we want to run NFsim directly from the console, and ignore BioNetGen altogether
+## after the BNGL file has been processed, we need to include the "writeXML" command.
+## This will write out your model to "simple_system.xml". In general, the XML file
+## name will match the BNGL file name, with an XML extension instead of .bngl.
+#
+#writeXML()
+#
+## If you uncomment and use this command here, then you can run NFsim directly by
+## calling the NFsim_[version] executable from the command-line, where [version] is
+## the NFsim version that matches your operating system. See the user manual for more
+## help.
+#
+## Finally, if we want to simulate this model with ordinary differential equations (ODEs)
+## of with Gillespie's stochastic simulation algorithm (SSA) in BioNetGen, we have
+## to first generate the reaction network with the following command. The overwrite
+## option (which you can remove) is set to 1 here so that every time this is run, the
+## reaction network output file will be regenerated.
+#
+#generate_network({overwrite=>1})
+#
+## Then we can call the simulate_ode or simulate_ssa methods to run the model file. Again,
+## the suffix parameter is used to name the output of the simulations. Note also that
+## between BioNetGen ODE and SSA simulation commands, we have to reset the molecule concentrations.
+## this is needed because BioNetGen allows you to restart a simulation from the end of
+## a previous simulation. While this does not apply to NFsim, you can still change parameters
+## mid-simulation by using an RNF script (see example.rnf file in the same directory as this
+## model).
+#
+#simulate({method=>"ode",t_end=>100,n_steps=>50})
+#
+## resetConcentrations()
+## simulate({method=>"ssa",suffix=>ssa,t_end=>100,n_steps=>50})
+#
+
diff --git a/python/samples/reaction_reader/tag/tag.py b/python/samples/reaction_reader/tag/tag.py
new file mode 100644
index 0000000..dde904e
--- /dev/null
+++ b/python/samples/reaction_reader/tag/tag.py
@@ -0,0 +1,63 @@
+from ecell4.reaction_reader.decorator2 import species_attributes, reaction_rules
+from ecell4.reaction_reader.species import generate_reactions
+
+ at species_attributes
+def attributegen():
+ A(f=off) | 1
+ B() | 2
+ C(f=off) | 0
+ D() | 3
+ E(f=off) | 0
+ I() | 0
+
+ at reaction_rules
+def rulegen():
+ A(f=_1) + B() == C(f=_1) | (1,2)
+ C(f=_1) + D() == E(f=_1) | (3,4)
+ A(f=off) + I == A(f=on) | (5,6)
+
+#begin parameters
+#NA 6.02e23 # Acogadro's number( molecules/mol)
+#f 0.1 # Fraction of the cell to simulate
+#Vo f*1.0e-10 # Extracellular volume=1/cell_density (L)
+#V f*3.0e-12 # Cytoplasmic volume (L)
+## Initial concentrations (copies per cell)
+#A_tot 10000
+#B_tot 8000
+#D_tot 50000
+## Rate constants
+## Divide by NA*V to convert bimolecular rate constants
+## from /M/sec to /(molecule/cell)/sec
+#kpAB 3.0e6/(NA*V)
+#kmAB 0.06
+#kpCD 1.0e6/(NA*V)
+#kmCD 0.06
+#kpI 1.0e7/(NA*V)
+#kmI 0.1
+#end parameters
+#
+#begin molecule types
+#A(f~off~on)
+#B()
+#C(f~off~on)
+#D()
+#E(f~off~on)
+#I()
+#end molecule types
+#
+#begin seed species
+#A(f~off) A_tot
+#B() B_tot
+#C(f~off) 0
+#D() D_tot
+#E(f~off) 0
+#I() 0
+#end seed species
+#
+#begin reaction rules
+#A(f%1) + B() <-> C(f%1) kpAB, kmAB
+#C(f%1) + D() <-> E(f%1) kpCD, kmCD
+#A(f~off) + I <-> A(f~on) kpI, kmI
+#end reaction rules
+#
+#generate_network({overwrite=>1});
diff --git a/python/samples/reaction_reader/tag_extend/tag_extend.py b/python/samples/reaction_reader/tag_extend/tag_extend.py
new file mode 100644
index 0000000..e511cf2
--- /dev/null
+++ b/python/samples/reaction_reader/tag_extend/tag_extend.py
@@ -0,0 +1,26 @@
+
+from ecell4.reaction_reader.decorator2 import species_attributes, reaction_rules
+from ecell4.reaction_reader.species import generate_reactions
+from ecell4.reaction_reader.bng_exporter import Convert2BNGManager
+import sys
+
+ at species_attributes
+def attributegen():
+ X(b=off) | 3
+ Y(a=pY) | 4
+
+ at reaction_rules
+def rulegen():
+ X(a^_,b=off) > X(a^_,b=on) | 1 # X(a!+,b~off)
+ #X(a^_1) + ...
+ X(a=_1,b=_2) > Y(a=_1) + Z(b=_2) | 2# X(a%1,b%2)
+ Y(a=_1) + Z(b=_1) > X(a=_1,b=_1) | 3
+ _1(b=off) > _1(b=on) | 4
+ _1(a) + _2(a) > _1(a^1)._2(a^1) | 5
+ _1(a) + _1(a) > _1(a^1)._1(a^1) | 6
+ #_1(a=_2) + ...
+
+bng_mng = Convert2BNGManager(attributegen(), rulegen() )
+bng_mng.write_section_molecule_types(sys.stdout)
+bng_mng.write_section_seed_species(sys.stdout)
+bng_mng.write_section_reaction_rules(sys.stdout)
diff --git a/python/samples/reaction_reader/test_fixed/test_fixed.py b/python/samples/reaction_reader/test_fixed/test_fixed.py
new file mode 100644
index 0000000..ebbc90f
--- /dev/null
+++ b/python/samples/reaction_reader/test_fixed/test_fixed.py
@@ -0,0 +1,52 @@
+from ecell4.reaction_reader.decorator2 import species_attributes, reaction_rules
+from ecell4.reaction_reader.network import generate_reactions
+
+
+ at species_attributes
+def attributegen():
+ A(a) | 1
+ B(b) | 1
+
+ at reaction_rules
+def rulegen():
+ A(a) + B(b) > A(a^1).B(b^1) | kp1
+
+if __name__ == "__main__":
+ newseeds = []
+ for i, (sp, attr) in enumerate(attributegen()):
+ print i, sp, attr
+ newseeds.append(sp)
+ print ''
+
+ rules = rulegen()
+ for i, rr in enumerate(rules):
+ print i, rr
+ print ''
+
+ generate_reactions(newseeds, rules)
+
+
+#begin model
+#begin parameters
+# kp1 1
+# km1 100
+#end parameters
+#
+#begin molecule types
+# A(a)
+# B(b)
+#end molecule types
+#
+#begin seed species
+# $A(a) 1
+# B(b) 1
+#end seed species
+#
+#begin reaction rules
+# A(a) + B(b) -> A(a!1).B(b!1) kp1
+#end reaction rules
+#end model
+#
+### actions ##
+#generate_network({overwrite=>1})
+#simulate({method=>"ode",t_end=>10,n_steps=>20})
diff --git a/python/samples/reaction_reader/tlbr/convert.py b/python/samples/reaction_reader/tlbr/convert.py
new file mode 100644
index 0000000..38afc42
--- /dev/null
+++ b/python/samples/reaction_reader/tlbr/convert.py
@@ -0,0 +1,24 @@
+from ecell4.reaction_reader.decorator2 import species_attributes, reaction_rules
+from ecell4.reaction_reader.species import generate_reactions
+from ecell4.reaction_reader.bng_exporter import Convert2BNGManager
+
+
+from tlbr import attributegen, rulegen
+
+
+
+'''
+with open("too_old_export.bngl", "w") as fd:
+ export_bng(fd, attributegen(), rulegen())
+'''
+
+#with open("old_export.bngl", "w") as fd:
+# convert2bng_moleculetypes(fd, rulegen() )
+# convert2bng_seed_species(fd, attributegen() )
+# convert2bng_reaction_rules(fd, rulegen() )
+
+with open("new_export.bngl", "w") as f:
+ bng_mng = Convert2BNGManager(attributegen(), rulegen())
+ bng_mng.write_section_molecule_types(f)
+ bng_mng.write_section_seed_species(f)
+ bng_mng.write_section_reaction_rules(f)
diff --git a/python/samples/reaction_reader/tlbr/tlbr.py b/python/samples/reaction_reader/tlbr/tlbr.py
new file mode 100644
index 0000000..65406ef
--- /dev/null
+++ b/python/samples/reaction_reader/tlbr/tlbr.py
@@ -0,0 +1,86 @@
+from ecell4.reaction_reader.decorator2 import species_attributes, reaction_rules
+from ecell4.reaction_reader.network import generate_reactions
+
+
+ at species_attributes
+def attributegen():
+ R(l1,l2, l=(l1,l2)) | Rec_tot
+ #R(l) | Rec_tot
+ L(r1,r2,r3, r=(r1,r2,r3)) | Lig_tot
+
+ at reaction_rules
+def rulegen():
+ R(l) + L(_1, _2, _3, r=[_1,_2,_3]) == R(l^1).L(_1^1, _2, _3, r=[_1,_2,_3]) | (kp1, koff)
+ R(l) + L(_1, _2, _3^_, r=[_1,_2,_3]) == R(l^1).L(_1^1, _2, _3^_, r=[_1,_2,_3]) | (kp2, koff)
+ R(l) + L(_1, _2^_, _3^_, r=[_1,_2,_3]) == R(l^1).L(_1^1, _2^_, _3^_, r=[_1,_2,_3]) | (kp2, koff)
+
+if __name__ == "__main__":
+ newseeds = []
+ for i, (sp, attr) in enumerate(attributegen()):
+ print i, sp, attr
+ newseeds.append(sp)
+ print ''
+
+ rules = rulegen()
+ for i, rr in enumerate(rules):
+ print i, rr
+ print ''
+
+ seeds, reactions = generate_reactions(
+ newseeds, rules, max_stoich={"R": 5, "L": 2 })
+ for i, seed in enumerate(seeds):
+ print i, seed
+
+
+# generate_reactions(newseeds, rules)
+
+
+## Trivalent-ligand, Bivalen-receptor model
+## (requires NFsim installation!)
+##
+## References:
+## 1) B Goldstein, AS Perelson. "Equilibrium theory for the clustering
+## of bivalent cell surface receptors by trivalent ligands".
+## Biophysical Journal. 1985, vol45, p1109-1123.
+## 2) MW Sneddon, JR Faeder, T Emonet. "Efficient modeling, simulation and
+## course-graining of biological complexity with NFsim".
+## Nature methods. 2011, vol8, p177-183.
+#begin model
+#begin parameters
+# ## Sol-gel Phase
+# Lig_tot 4200
+# Rec_tot 300
+# cTot 0.84
+# beta 50
+# koff 0.01
+#
+# kp1 (cTot*koff)/(3.0*Lig_tot) #FREE BINDING RATE
+# kp2 (beta*koff)/Rec_tot #CROSSLINKING RATE
+#end parameters
+#begin molecule types
+# R(l,l)
+# L(r,r,r)
+#end molecule types
+#begin seed species
+# R(l,l) Rec_tot
+# L(r,r,r) Lig_tot
+#end seed species
+#begin observables
+# Species Clusters R(l!0).L(r!0,r!1).R(l!1) # Any species with crosslinked receptors
+# Molecules LRmotif L(r!0).R(l!0)
+# Molecules Lfreesite L(r)
+# Molecules Rfreesite R(l)
+# Species Lmonomer L(r,r,r)
+# Species Rmonomer R(l,l)
+# Molecules Ltot L()
+# Molecules Rtot R()
+#end observables
+#begin reaction rules
+# R(l) + L(r,r,r) <-> R(l!1).L(r!1,r,r) kp1, koff
+# R(l) + L(r,r,r!+) <-> R(l!1).L(r!1,r,r!+) kp2, koff
+# R(l) + L(r,r!+,r!+) <-> R(l!1).L(r!1,r!+,r!+) kp2, koff
+#end reaction rules
+#end model
+#
+### actions ##
+#simulate_nf({t_start=>0,t_end=>200,n_steps=>200,complex=>1})
diff --git a/python/samples/reaction_reader/toy-jim/convert.py b/python/samples/reaction_reader/toy-jim/convert.py
new file mode 100644
index 0000000..3fbcf29
--- /dev/null
+++ b/python/samples/reaction_reader/toy-jim/convert.py
@@ -0,0 +1,21 @@
+from ecell4.reaction_reader.decorator2 import species_attributes, reaction_rules
+from ecell4.reaction_reader.species import generate_reactions
+from ecell4.reaction_reader.bng_exporter import Convert2BNGManager
+
+from toyjim import attributegen, rulegen
+
+'''
+with open("too_old_export.bngl", "w") as fd:
+ export_bng(fd, attributegen(), rulegen())
+'''
+
+#with open("old_export.bngl", "w") as fd:
+# convert2bng_moleculetypes(fd, rulegen() )
+# convert2bng_seed_species(fd, attributegen() )
+# convert2bng_reaction_rules(fd, rulegen() )
+
+with open("new_export.bngl", "w") as f:
+ bng_mng = Convert2BNGManager(attributegen(), rulegen())
+ bng_mng.write_section_molecule_types(f)
+ bng_mng.write_section_seed_species(f)
+ bng_mng.write_section_reaction_rules(f)
diff --git a/python/samples/reaction_reader/toy-jim/toyjim.py b/python/samples/reaction_reader/toy-jim/toyjim.py
new file mode 100644
index 0000000..7306b9d
--- /dev/null
+++ b/python/samples/reaction_reader/toy-jim/toyjim.py
@@ -0,0 +1,194 @@
+from ecell4.reaction_reader.decorator2 import species_attributes, reaction_rules
+from ecell4.reaction_reader.network import generate_reactions
+
+
+ at species_attributes
+def attributegen():
+ # Set to zero for equilibration
+ L(r) | 0
+ # r binds to l of R
+
+ R(l,r,a) | 1
+ # l binds to r of L
+ # r binds to r of R
+
+ A(r,k) | 2
+ # r binds to a of R
+ # k binds to a of K
+
+ K(a,Y=U) | 3
+ # a binds to k of A
+ # Y is phosphorylation site that is either unphosphorylated (U) or
+ # phosphorylated (P)
+
+ Null() | 0
+
+ at reaction_rules
+def rulegen():
+ # Ligand binding (L+R)
+ # Note: specifying r in R here means that the r component must not
+ # be bound. This prevents dissociation of ligand from R
+ # when R is in a dimer.
+ L(r) + R(l,r) == L(r^1).R(l^1,r) | (1,2)
+
+ # Aggregation (R+R)
+ # Note: R must be bound to ligand to dimerize.
+ L(r^1).R(l^1,r) + L(r^1).R(l^1,r) == L(r^1).R(l^1,r^3).L(r^2).R(l^2,r^3) | (3,4)
+
+ # Receptor binding to adaptor (R+A)
+ # Note: A and R can bind independent of whether A is bound to K or
+ # whether R is in a dimer.
+ A(r) + R(a) == A(r^1).R(a^1) | (5,6)
+
+ # Adaptor binding kinase
+ # Note: Doesn't depend on phosphorylation state of K or whether A is bound to
+ # receptor, i.e. binding rate is same whether A is on membrane (bound to
+ # R) or in cytosol.
+ A(k) + K(a) == A(k^1).K(a^1) | (7,8)
+
+ # Kinase transphosphorylation by inactive kinase
+ # Note: Rule doesn't specify how two K's are associated
+ K(Y=U).K(Y=U) > K(Y=U).K(Y=P) | 9
+
+ # Kinase transphosphorylation by active kinase
+ # Note: Rule doesn't specify how two K's are associated
+ K(Y=P).K(Y=U) > K(Y=P).K(Y=P) | 10
+
+ # Dephosphorylation of kinase in membrane complex
+ R(a^1).A(r^1,k^2).K(a^2,Y=P) > R(a^1).A(r^1,k^2).K(a^2,Y=U) | 11
+
+ # Dephosphorylation of kinase in cytosol
+ K(a,Y=P) > K(a,Y=U) | 12
+
+if __name__ == "__main__":
+ newseeds = []
+ for i, (sp, attr) in enumerate(attributegen()):
+ print i, sp, attr
+ newseeds.append(sp)
+ print ''
+
+ rules = rulegen()
+ for i, rr in enumerate(rules):
+ print i, rr
+ print ''
+
+ generate_reactions(newseeds, rules)
+
+
+## The model consists of a monovalent extracellular ligand,
+## a monovalent cell-surface receptor, a bivalent cytosolic adapter protein,
+## and a cytosolic kinase. The receptor dimerizes through a
+## receptor-receptor interaction that depends on ligand binding.
+## The adapter binds the receptor and the kinase.
+## When two kinases are juxtaposed through binding to
+## receptor-associated adapter proteins, one of the kinases can
+## transphosphorylate the second kinase.
+#
+#begin model
+#begin parameters
+# L_tot 1
+# R_tot 1
+# A_tot 1
+# K_tot 1
+#
+# kpL 0.1
+# kmL 0.1
+# # kpD and kmD were divided by two from their values in toy.in
+# # give the right symmetry factor.
+# kpD 1.0
+# kmD 0.1
+# kpA 0.1
+# kmA 0.1
+# kpK 0.1
+# kmK 0.1
+# pK 1
+# pKs 10
+# dM 1
+# dC 10
+#end parameters
+#
+#begin seed species
+# # Set to zero for equilibration
+# L(r) 0
+# # r binds to l of R
+#
+# R(l,r,a) R_tot
+# # l binds to r of L
+# # r binds to r of R
+#
+# A(r,k) A_tot
+# # r binds to a of R
+# # k binds to a of K
+#
+# K(a,Y~U) K_tot
+# # a binds to k of A
+# # Y is phosphorylation site that is either unphosphorylated (U) or
+# # phosphorylated (P)
+#
+# Null() 0
+#end seed species
+#
+#begin reaction rules
+# # Ligand binding (L+R)
+# # Note: specifying r in R here means that the r component must not
+# # be bound. This prevents dissociation of ligand from R
+# # when R is in a dimer.
+# L(r) + R(l,r) <-> L(r!1).R(l!1,r) kpL, kmL
+#
+# # Aggregation (R+R)
+# # Note: R must be bound to ligand to dimerize.
+# L(r!1).R(l!1,r) + L(r!1).R(l!1,r) <-> L(r!1).R(l!1,r!3).L(r!2).R(l!2,r!3) kpD,kmD
+#
+# # Receptor binding to adaptor (R+A)
+# # Note: A and R can bind independent of whether A is bound to K or
+# # whether R is in a dimer.
+# A(r) + R(a) <-> A(r!1).R(a!1) kpA,kmA
+#
+# # Adaptor binding kinase
+# # Note: Doesn't depend on phosphorylation state of K or whether A is bound to
+# # receptor, i.e. binding rate is same whether A is on membrane (bound to
+# # R) or in cytosol.
+# A(k) + K(a) <-> A(k!1).K(a!1) kpK,kmK
+#
+# # Kinase transphosphorylation by inactive kinase
+# # Note: Rule doesn't specify how two K's are associated
+# K(Y~U).K(Y~U) -> K(Y~U).K(Y~P) pK
+#
+# # Kinase transphosphorylation by active kinase
+# # Note: Rule doesn't specify how two K's are associated
+# K(Y~P).K(Y~U) -> K(Y~P).K(Y~P) pKs
+#
+# # Dephosphorylation of kinase in membrane complex
+# R(a!1).A(r!1,k!2).K(a!2,Y~P) -> R(a!1).A(r!1,k!2).K(a!2,Y~U) dM
+#
+# # Dephosphorylation of kinase in cytosol
+# K(a,Y~P) -> K(a,Y~U) dC
+#end reaction rules
+#
+#begin observables
+# Molecules RecDim R(r!+)
+# Molecules Rec_A R(a!1).A(r!1)
+# Molecules Rec_K R(a!1).A(r!1,k!2).K(a!2)
+# Molecules Rec_Kp R(a!1).A(r!1,k!2).K(a!2,Y~P)
+# Molecules RecDim_Kp R.R(a!1).A(r!1,k!2).K(a!2,Y~P)
+# Molecules L_total L
+# Molecules A_total A
+# Molecules K_total K
+# Molecules R_total R
+#end observables
+#end model
+#
+### actions ##
+#generate_network({overwrite=>1})
+#
+## Equilibration
+#simulate({method=>"ode",suffix=>"equil",t_end=>1000,n_steps=>10,atol=>1e-10,rtol=>1e-8,sparse=>1,steady_state=>1})
+#writeSBML()
+#
+## Kinetics
+#setConcentration("L(r)","L_tot")
+#simulate({method=>"ode",t_end=>120,n_steps=>120,atol=>1e-10,rtol=>1e-8})
+#
+## Modified Kinetics, starts from end point of previous simulate command
+##setParameter("pKs",0)
+##simulate({method=>"ode",suffix=>"kinetics2",t_end=>100,n_steps=>10,atol=>1e-10,rtol=>1e-8})
diff --git a/python/samples/sample.py b/python/samples/sample.py
new file mode 100644
index 0000000..2537b8d
--- /dev/null
+++ b/python/samples/sample.py
@@ -0,0 +1,85 @@
+import numpy
+import time
+from ecell4.core import *
+
+# from ecell4.spatiocyte import (
+# SpatiocyteWorld as world_type, SpatiocyteSimulator as simulator_type)
+from ecell4.gillespie import (
+ GillespieWorld as world_type, GillespieSimulator as simulator_type)
+# from ecell4.ode import (
+# ODEWorld as world_type, ODESimulator as simulator_type)
+
+
+def singlerun(seed):
+ L, voxel_radius = 1e-6, 2.5e-9
+
+ radius, D = "2.5e-9", "1e-12"
+ sp1 = Species("A", radius, D)
+ sp2 = Species("B", radius, D)
+ sp3 = Species("C", radius, D)
+
+ N, kd, U = 60, 0.5, 0.5
+ ka = kd * (L * L * L) * (1 - U) / (U * U * N)
+ kon, koff = ka, kd
+ # kD = 4 * numpy.pi * 4 * float(radius) * float(D)
+ # kon = kD * ka / (kD + ka)
+ # koff = kd * kon / ka
+ rr1 = create_unbinding_reaction_rule(sp1, sp2, sp3, koff)
+ rr2 = create_binding_reaction_rule(sp2, sp3, sp1, kon)
+
+ m = NetworkModel()
+ m.add_species_attribute(sp1)
+ m.add_species_attribute(sp2)
+ m.add_species_attribute(sp3)
+ m.add_reaction_rule(rr1)
+ m.add_reaction_rule(rr2)
+
+ rng = GSLRandomNumberGenerator()
+ rng.seed(seed)
+
+ # w = world_type(Real3(L, L, L), voxel_radius, rng) # spatiocyte
+ w = world_type(Real3(L, L, L), rng) # gillespie
+ # w = world_type(Real3(L, L, L)) # ode
+ w.add_molecules(sp1, N)
+ # w.save("test.h5")
+
+ sim = simulator_type(m, w)
+ sim.initialize()
+
+ data = []
+
+ def log(mode="a"):
+ t, N1, N2, N3 = (sim.t(),
+ w.num_molecules(sp1), w.num_molecules(sp2), w.num_molecules(sp3))
+ print "%e\t%g\t%g\t%g" % (t, N1, N2, N3)
+ data.append(numpy.array([t, N1, N2, N3]))
+
+ next_time, dt = 0.0, 0.05
+ log()
+ for i in range(100):
+ next_time += dt
+ while sim.step(next_time):
+ pass
+ log()
+
+ return numpy.asarray(data)
+
+def run(filename="test.dat", num_trials=10):
+ singlerun(0)
+
+ # data = singlerun(0)
+ # for i in range(1, num_trials):
+ # data += singlerun(i)
+ # numpy.savetxt(filename, data / num_trials)
+
+
+if __name__ == "__main__":
+ import sys
+
+
+ if len(sys.argv) > 2:
+ run(sys.argv[1], int(sys.argv[2]))
+ elif len(sys.argv) == 2:
+ run(sys.argv[1])
+ else:
+ run()
diff --git a/python/samples/simple.py b/python/samples/simple.py
new file mode 100644
index 0000000..e8271cd
--- /dev/null
+++ b/python/samples/simple.py
@@ -0,0 +1,68 @@
+import math
+from ecell4.core import *
+
+# from ecell4.spatiocyte import (
+# SpatiocyteWorld as world_type, SpatiocyteSimulator as simulator_type)
+from ecell4.gillespie import (
+ GillespieWorld as world_type, GillespieSimulator as simulator_type)
+# from ecell4.ode import (
+# ODEWorld as world_type, ODESimulator as simulator_type)
+
+
+def singlerun(seed):
+ L, voxel_radius = 1e-6, 2.5e-9
+
+ radius, D = "2.5e-9", "1e-12"
+ sp1 = Species("A", radius, D)
+ sp2 = Species("B", radius, D)
+ sp3 = Species("C", radius, D)
+
+ N, kd, U = 60, 0.5, 0.5
+ ka = kd * (L * L * L) * (1 - U) / (U * U * N)
+ kon, koff = ka, kd
+ # kD = 4 * math.pi * 4 * float(radius) * float(D)
+ # kon = kD * ka / (kD + ka)
+ # koff = kd * kon / ka
+ rr1 = create_unbinding_reaction_rule(sp1, sp2, sp3, koff)
+ rr2 = create_binding_reaction_rule(sp2, sp3, sp1, kon)
+
+ m = NetworkModel()
+ m.add_species_attribute(sp1)
+ m.add_species_attribute(sp2)
+ m.add_species_attribute(sp3)
+ m.add_reaction_rule(rr1)
+ m.add_reaction_rule(rr2)
+
+ rng = GSLRandomNumberGenerator()
+ rng.seed(seed)
+
+ # w = world_type(Real3(L, L, L), voxel_radius, rng) # spatiocyte
+ w = world_type(Real3(L, L, L), rng) # gillespie
+ # w = world_type(Real3(L, L, L)) # ode
+ w.add_molecules(sp1, N)
+ w.save("test.h5")
+
+ sim = simulator_type(m, w)
+ sim.initialize()
+
+ data = []
+
+ def log(mode="a"):
+ t, N1, N2, N3 = (sim.t(),
+ w.num_molecules(sp1), w.num_molecules(sp2), w.num_molecules(sp3))
+ print "%e\t%g\t%g\t%g" % (t, N1, N2, N3)
+ data.append((t, N1, N2, N3))
+
+ next_time, dt = 0.0, 0.05
+ log()
+ for i in xrange(100):
+ next_time += dt
+ while sim.step(next_time):
+ pass
+ log()
+
+ return data
+
+
+if __name__ == "__main__":
+ singlerun(0)
diff --git a/python/setup.py.in b/python/setup.py.in
new file mode 100644
index 0000000..db8bdb6
--- /dev/null
+++ b/python/setup.py.in
@@ -0,0 +1,210 @@
+import sys
+import os.path
+import glob
+import unittest
+
+from setuptools import setup
+from distutils.core import Command, Extension
+# from distutils.core import setup, Command, Extension
+
+from logging import getLogger, StreamHandler, Formatter, DEBUG
+logger = getLogger(__name__)
+handler = StreamHandler()
+formatter = Formatter('%(levelname)s:%(name)s:%(message)s')
+handler.setLevel(DEBUG)
+handler.setFormatter(formatter)
+logger.setLevel(DEBUG)
+logger.addHandler(handler)
+
+try:
+ from Cython.Build import cythonize
+ from Cython.Distutils import build_ext
+except ImportError:
+ logger.error("You don't seem to have Cython installed. Please get a")
+ logger.error("copy from www.cython.org and install it")
+ sys.exit(1)
+
+os.environ["CC"] = "${CMAKE_C_COMPILER}"
+os.environ["CXX"] = "${CMAKE_CXX_COMPILER}"
+source_dir = "${PROJECT_SOURCE_DIR}"
+python_dir = os.path.join("${CMAKE_CURRENT_SOURCE_DIR}", "lib")
+include_dirs = [source_dir] + "${INCLUDE_PATH}".split(";")
+
+logger.debug("CC={}".format(os.environ["CC"]))
+logger.debug("CXX={}".format(os.environ["CXX"]))
+logger.debug("source_dir={}".format(source_dir))
+logger.debug("python_dir={}".format(python_dir))
+logger.debug("include_dirs={}".format(include_dirs))
+
+sys.path.append(python_dir)
+
+class run_tests(Command):
+ user_options = []
+
+ def initialize_options(self):
+ pass
+
+ def finalize_options(self):
+ pass
+
+ def run(self):
+ top_level_dir=os.path.join("${CMAKE_CURRENT_SOURCE_DIR}", "tests")
+ test_loader = unittest.TestLoader()
+ def load_tests(module_name):
+ return test_loader.discover(
+ os.path.join(top_level_dir, module_name), top_level_dir=top_level_dir)
+
+ suite = unittest.TestSuite()
+ suite.addTest(load_tests("core"))
+ # suite.addTest(load_tests("gillespie"))
+ # suite.addTest(load_tests("bd"))
+ # suite.addTest(load_tests("ode"))
+ # suite.addTest(load_tests("spatiocyte"))
+ suite.addTest(load_tests("util"))
+ test_runner = unittest.TextTestRunner()
+ test_runner.run(suite)
+
+libraries = []
+library_dirs = []
+
+with_cpp_shared_libraries = False
+
+if "--prefer-shared" in sys.argv:
+ #XXX: This might be not a proper way to give a user defined parameter
+ with_cpp_shared_libraries = True
+ sys.argv.remove("--prefer-shared")
+
+with_hdf5 = (sys.platform in ("win32", "darwin") or not with_cpp_shared_libraries)
+
+if "--hdf5" in sys.argv:
+ #XXX: This might be not a proper way to give a user defined parameter
+ with_hdf5 = True
+ sys.argv.remove("--hdf5")
+
+if "--disable_hdf5" in sys.argv:
+ #XXX: This might be not a proper way to give a user defined parameter
+ with_hdf5 = False
+ sys.argv.remove("--disable-hdf5")
+
+if sys.platform == "win32" and sys.version_info.major == 2:
+ libraries.extend(['gsl', 'cblas'])
+ extra_compile_args = ["/EHsc", "-DWIN32_MSC", "-DHAVE_CONFIG_H", "-DHAVE_INLINE"]
+ # extra_compile_args.append('-DNO_BESSEL_TABLE')
+elif sys.platform == "win32" and sys.version_info.major == 3:
+ libraries.extend(['gsl', 'gslcblas'])
+ extra_compile_args = ["/EHsc", "/w", "-DWIN32_MSC", "-DHAVE_CONFIG_H"] # "-DHAVE_INLINE"
+ # extra_compile_args.append('-DNO_BESSEL_TABLE')
+elif sys.platform == "darwin":
+ libraries.extend(['gsl', 'gslcblas', 'm'])
+ extra_compile_args = ["-DNO_BESSEL_TABLE", "-DHAVE_CONFIG_H"]
+else: # for linux
+ libraries.extend(['gsl', 'gslcblas', 'm'])
+ extra_compile_args = ["-DNO_BESSEL_TABLE", "-DHAVE_CONFIG_H"]
+
+logger.debug("with_hdf5={}".format(with_hdf5))
+
+if with_hdf5:
+ libraries.extend(['hdf5_cpp', 'hdf5'])
+ library_dirs.extend("${HDF5_LIBRARY_DIRS}".split(";"))
+ extra_compile_args.append("-DWITH_HDF5")
+ if sys.platform == "win32":
+ extra_compile_args.extend(
+ ["-D_HDF5USEDLL_", "-DHDF5CPP_USEDLL", "-DH5_BUILT_AS_DYNAMIC_LIB"])
+
+if True: # with_vtk
+ libraries.extend("${VTK_LIBRARIES}".split(";"))
+ library_dirs.extend("${VTK_LIBRARY_DIRS}".split(";"))
+
+libraries = [name for name in libraries if name.strip() != ""]
+library_dirs = [path for path in library_dirs if path.strip() != ""]
+
+logger.debug("libraries={}".format(libraries))
+logger.debug("library_dirs={}".format(library_dirs))
+logger.debug("extra_compile_args={}".format(extra_compile_args))
+logger.debug("with_cpp_shared_libraries={}".format(with_cpp_shared_libraries))
+
+if with_cpp_shared_libraries:
+ ext_modules = [
+ Extension("ecell4.core", sources=[os.path.join(python_dir, "ecell4/core.pyx")],
+ include_dirs=include_dirs, libraries=["ecell4-core"], language="c++",
+ extra_compile_args=extra_compile_args),
+ Extension("ecell4.egfrd", sources=[os.path.join(python_dir, "ecell4/egfrd.pyx")],
+ include_dirs=include_dirs, libraries=["ecell4-core", "ecell4-egfrd"],
+ language="c++", extra_compile_args=extra_compile_args + ["-w"]),
+ Extension("ecell4.gillespie", sources=[os.path.join(python_dir, "ecell4/gillespie.pyx")],
+ include_dirs=include_dirs, libraries=["ecell4-core", "ecell4-gillespie"],
+ language="c++", extra_compile_args=extra_compile_args),
+ Extension("ecell4.bd", sources=[os.path.join(python_dir, "ecell4/bd.pyx")],
+ include_dirs=include_dirs, libraries=["ecell4-core", "ecell4-bd"],
+ language="c++", extra_compile_args=extra_compile_args),
+ Extension("ecell4.ode", sources=[os.path.join(python_dir, "ecell4/ode.pyx")],
+ include_dirs=include_dirs, libraries=["ecell4-core", "ecell4-ode"],
+ language="c++", extra_compile_args=extra_compile_args),
+ Extension("ecell4.spatiocyte", sources=[os.path.join(python_dir, "ecell4/spatiocyte.pyx")],
+ include_dirs=include_dirs, libraries=["ecell4-core", "ecell4-spatiocyte"],
+ language="c++", extra_compile_args=extra_compile_args),
+ Extension("ecell4.meso", sources=[os.path.join(python_dir, "ecell4/meso.pyx")],
+ include_dirs=include_dirs, libraries=["ecell4-core", "ecell4-meso"],
+ language="c++", extra_compile_args=extra_compile_args),
+ ]
+else:
+ core_src = glob.glob(os.path.join(source_dir, "ecell4/core/*.cpp"))
+ ext_modules = [
+ Extension("ecell4.core", sources=[os.path.join(python_dir, "ecell4/core.pyx")] + core_src,
+ extra_compile_args=extra_compile_args, library_dirs=library_dirs,
+ include_dirs=include_dirs, libraries=libraries, language="c++"),
+ Extension("ecell4.gillespie",
+ sources=[os.path.join(python_dir, "ecell4/gillespie.pyx")]
+ + glob.glob(os.path.join(source_dir, "ecell4/gillespie/*.cpp")) + core_src,
+ extra_compile_args=extra_compile_args, library_dirs=library_dirs,
+ libraries=libraries, include_dirs=include_dirs, language="c++"),
+ Extension("ecell4.bd",
+ sources=[os.path.join(python_dir, "ecell4/bd.pyx")]
+ + glob.glob(os.path.join(source_dir, "ecell4/bd/*.cpp")) + core_src,
+ extra_compile_args=extra_compile_args, library_dirs=library_dirs,
+ libraries=libraries, include_dirs=include_dirs, language="c++"),
+ Extension("ecell4.ode",
+ sources=[os.path.join(python_dir, "ecell4/ode.pyx")]
+ + glob.glob(os.path.join(source_dir, "ecell4/ode/*.cpp")) + core_src,
+ extra_compile_args=extra_compile_args, library_dirs=library_dirs,
+ libraries=libraries, include_dirs=include_dirs, language="c++"),
+ Extension("ecell4.spatiocyte",
+ sources=[os.path.join(python_dir, "ecell4/spatiocyte.pyx")]
+ + glob.glob(os.path.join(source_dir, "ecell4/spatiocyte/*.cpp")) + core_src,
+ extra_compile_args=extra_compile_args, library_dirs=library_dirs,
+ libraries=libraries, include_dirs=include_dirs, language="c++"),
+ Extension("ecell4.meso",
+ sources=[os.path.join(python_dir, "ecell4/meso.pyx")]
+ + glob.glob(os.path.join(source_dir, "ecell4/meso/*.cpp")) + core_src,
+ extra_compile_args=extra_compile_args, library_dirs=library_dirs,
+ libraries=libraries, include_dirs=include_dirs, language="c++"),
+ Extension("ecell4.egfrd",
+ sources=[os.path.join(python_dir, "ecell4/egfrd.pyx")]
+ + glob.glob(os.path.join(source_dir, "ecell4/egfrd/*.cpp")) + core_src,
+ extra_compile_args=extra_compile_args, library_dirs=library_dirs,
+ libraries=libraries, include_dirs=include_dirs, language="c++")
+ ]
+
+ext_modules = cythonize(ext_modules)
+
+def convert_path(pathname):
+ if os.sep == '/':
+ return pathname
+ return pathname.replace('/', os.sep) #XXX: This is a workaround for Windows
+
+setup(
+ name = "ecell",
+ version = "${PROJECT_VERSION}",
+ package_dir = {"": convert_path(python_dir)},
+ package_data = {"ecell4.util": [
+ "templates/init_ipynb.js", "templates/init_cyjs.js", "templates/template.html",
+ "templates/*.tmpl", "templates/ecelllogo/*.png"]},
+ data_files = [('ecell4-licenses', glob.glob(os.path.join(convert_path(source_dir), 'licenses/*')))],
+ packages = ["ecell4", "ecell4.util", "ecell4.extra", "ecell4.datasource"],
+ cmdclass = {'build_ext': build_ext, 'test': run_tests},
+ license = "the GNU General Public License v2",
+ author = "Kazunari Kaizu",
+ author_email = "kaizu at riken.jp",
+ url = "https://github.com/ecell/ecell4",
+ ext_modules = ext_modules
+ )
diff --git a/python/tests/core/__init__.py b/python/tests/core/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/python/tests/core/test_context.py b/python/tests/core/test_context.py
new file mode 100644
index 0000000..1c56f01
--- /dev/null
+++ b/python/tests/core/test_context.py
@@ -0,0 +1,27 @@
+from ecell4.core import *
+
+import unittest
+
+
+class ContextText(unittest.TestCase):
+
+ def setUp(self):
+ pass
+
+ def test1(self):
+ sp1 = Species("A")
+ self.assertEqual(sp1.count(Species("A")), 1)
+ self.assertEqual(sp1.count(Species("A.A")), 2)
+
+ def test2(self):
+ sp1 = Species("A.B")
+ self.assertEqual(sp1.count(Species("A.B")), 1)
+ self.assertEqual(sp1.count(Species("B.A")), 1)
+
+ def test3(self):
+ sp1 = Species("A(p=u^_)")
+ self.assertEqual(sp1.count(Species("A(p=u^1).B(b^1)")), 1)
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/python/tests/core/test_core.py b/python/tests/core/test_core.py
new file mode 100644
index 0000000..2497fe9
--- /dev/null
+++ b/python/tests/core/test_core.py
@@ -0,0 +1,86 @@
+"""
+from ecell4.core import *
+
+
+# a = Species("A")
+# space = CompartmentSpaceVectorImpl(0.5)
+# space.add_species(a)
+
+
+def BuildEnvironmentTest():
+ volume = 0.5
+ sp1 = Species("A")
+ sp2 = Species("B")
+
+ # Build NetworkModel.
+ rr = ReactionRule()
+ rr.add_reactant(sp1)
+ rr.add_product(sp2)
+ rr.set_k(0.5)
+
+ rr_rev = ReactionRule()
+ rr_rev.add_reactant(sp2)
+ rr_rev.add_product(sp1)
+ rr_rev.set_k(0.2)
+
+ model = NetworkModel()
+ model.add_species(sp1)
+ model.add_species(sp2)
+ model.add_reaction_rule(rr)
+ model.add_reaction_rule(rr_rev)
+
+ # Build Space
+ volume = 0.5
+ space = CompartmentSpaceVectorImpl(volume)
+ space.add_species(sp1)
+ space.add_species(sp2)
+ space.add_molecules(sp1, 8)
+ space.add_molecules(sp2, 5)
+ print space.num_species()
+
+def CompartmentSpaceTest():
+ print 'start ...'
+ volume = 0.5
+ sp1 = Species("A")
+ sp2 = Species("B")
+ space = CompartmentSpaceVectorImpl(0.5)
+ if space.volume() == 0.5:
+ pass
+ else:
+ print "volume() fail"
+ space.set_volume(0.8)
+
+ if space.volume() == 0.8:
+ pass
+ else:
+ print "set_volume() fail"
+
+ space.add_species(sp1)
+ space.add_species(sp2)
+ if space.num_species() == 2:
+ pass
+ else:
+ print "num_species() failed"
+
+ space.add_molecules(sp1, 100)
+ space.add_molecules(sp2, 200)
+ if space.num_molecules(sp1) == 100 and space.num_molecules(sp2) == 200:
+ pass
+ else:
+ print "num_molecules fail"
+
+ space.remove_molecules(sp1, 50)
+ if space.num_molecules(sp1) == 50:
+ pass
+ else:
+ print "remove_molecules fail"
+ space.remove_species(sp1)
+ if space.num_species() == 1:
+ pass
+ else:
+ print "remove_speces failed"
+ print '... done'
+
+CompartmentSpaceTest()
+# BuildEnvironmentTest()
+"""
diff --git a/python/tests/core/test_network_model.py b/python/tests/core/test_network_model.py
new file mode 100644
index 0000000..9c90987
--- /dev/null
+++ b/python/tests/core/test_network_model.py
@@ -0,0 +1,56 @@
+from ecell4.core import *
+
+import unittest
+
+
+class NetowrkModelTest(unittest.TestCase):
+
+ def setUp(self):
+ pass
+
+ def test_constructor(self):
+ model = NetworkModel()
+
+ def test_add_species_attribute(self):
+ model = NetworkModel()
+ sp1, sp2 = Species("A"), Species("B")
+
+ self.assertFalse(model.has_species_attribute(sp1))
+ self.assertFalse(model.has_species_attribute(sp2))
+
+ model.add_species_attribute(sp1)
+ self.assertTrue(model.has_species_attribute(sp1))
+ self.assertFalse(model.has_species_attribute(sp2))
+
+ model.remove_species_attribute(sp1)
+ self.assertFalse(model.has_species_attribute(sp1))
+ self.assertFalse(model.has_species_attribute(sp2))
+
+ def test_query_reaction_rule(self):
+ model = NetworkModel()
+
+ sp1, sp2, sp3 = Species("A"), Species("B"), Species("C")
+ rr1 = create_degradation_reaction_rule(sp1, 1)
+ rr2 = create_unimolecular_reaction_rule(sp1, sp2, 1)
+ rr3 = create_binding_reaction_rule(sp1, sp2, sp3, 1)
+ rr4 = create_unbinding_reaction_rule(sp3, sp1, sp2, 1)
+ model.add_reaction_rule(rr1)
+ model.add_reaction_rule(rr2)
+ model.add_reaction_rule(rr3)
+ model.add_reaction_rule(rr4)
+ rules1 = model.query_reaction_rules(sp1)
+ rules2 = model.query_reaction_rules(sp2)
+ rules3 = model.query_reaction_rules(sp3)
+ rules4 = model.query_reaction_rules(sp1, sp2)
+
+ self.assertEqual(len(rules1), 2)
+ self.assertEqual(len(rules2), 0)
+ self.assertEqual(len(rules3), 1)
+ self.assertEqual(len(rules3[0].products()), 2)
+ self.assertEqual(len(rules4), 1)
+ self.assertEqual(len(rules4[0].products()), 1)
+ self.assertEqual(rules4[0].products()[0].serial(), "C")
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/python/tests/core/test_particle_space.py b/python/tests/core/test_particle_space.py
new file mode 100644
index 0000000..eed7060
--- /dev/null
+++ b/python/tests/core/test_particle_space.py
@@ -0,0 +1,34 @@
+from ecell4.core import *
+
+import unittest
+
+
+class ParticleSpaceTest(unittest.TestCase):
+
+ def setUp(self):
+ self.ParticleSpace = ParticleSpaceVectorImpl
+
+ def test_constructor(self):
+ space = self.ParticleSpace(Real3(1e-6, 1e-6, 1e-6))
+
+ def test_edge_lengths(self):
+ space = self.ParticleSpace(Real3(1e-6, 1e-6, 1e-6))
+ lengths = space.edge_lengths()
+ self.assertEqual(lengths[0], 1e-6)
+ self.assertEqual(lengths[1], 1e-6)
+ self.assertEqual(lengths[2], 1e-6)
+
+ def test_update_particle(self):
+ space = self.ParticleSpace(Real3(1e-6, 1e-6, 1e-6))
+ self.assertEqual(len(space.list_particles()), 0)
+ space.update_particle(
+ ParticleID((1, 2)),
+ Particle(Species("A"), Real3(0, 0, 0), 2.5e-9, 0))
+ self.assertEqual(len(space.list_particles()), 1)
+ pid, p = space.list_particles()[0]
+ self.assertEqual(pid.lot(), 1)
+ self.assertEqual(pid.serial(), 2)
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/python/tests/core/test_species.py b/python/tests/core/test_species.py
new file mode 100644
index 0000000..512f955
--- /dev/null
+++ b/python/tests/core/test_species.py
@@ -0,0 +1,83 @@
+from ecell4.core import *
+
+import unittest
+
+
+class SpeciesTest(unittest.TestCase):
+
+ def setUp(self):
+ pass
+
+ def test1(self):
+ sp = Species('A')
+ self.assertEqual(sp.serial(), 'A')
+
+ def test2(self):
+ sp = Species()
+ sp.add_unit(UnitSpecies('B'))
+ sp.add_unit(UnitSpecies('C'))
+ sp.add_unit(UnitSpecies('A'))
+ self.assertEqual(sp.serial(), 'B.C.A')
+ self.assertEqual(sp.num_units(), 3)
+
+ def test3(self):
+ sp = Species('A')
+
+ sp.set_attribute('foo', 'bar')
+ sp.set_attribute('spam', 'ham')
+ sp.set_attribute('hoge', 'hage')
+
+ self.assertTrue(sp.has_attribute('spam'))
+ self.assertTrue(sp.has_attribute('foo'))
+ self.assertTrue(sp.has_attribute('hoge'))
+ self.assertFalse(sp.has_attribute('eggs'))
+
+ sp.remove_attribute('spam')
+ self.assertFalse(sp.has_attribute('spam'))
+
+ self.assertEqual(sp.get_attribute('foo'), 'bar')
+ self.assertEqual(sp.get_attribute('hoge'), 'hage')
+
+ attrs = sp.list_attributes()
+ self.assertEqual(len(attrs), 2)
+ for key, value in attrs:
+ self.assertTrue(key == 'foo' or key == 'hoge')
+ self.assertTrue(
+ (key == 'foo' and value == 'bar')
+ or (key == 'hoge' and value == 'hage'))
+
+ def test4(self):
+ sp = Species()
+ sp.deserialize('A.B.C')
+ self.assertEqual(sp.serial(), 'A.B.C')
+ self.assertEqual(sp.num_units(), 3)
+
+ sp.add_unit(UnitSpecies('D'))
+ self.assertEqual(sp.serial(), 'A.B.C.D')
+ self.assertEqual(sp.num_units(), 4)
+
+ units = sp.units()
+ self.assertEqual(len(units), 4)
+
+ def test5(self):
+ sp = Species('X(a,b=c^1).Y(d=e^1,f=g)')
+ units = sp.units()
+
+ self.assertEqual(sp.num_units(), 2)
+ self.assertEqual(len(units), 2)
+
+ self.assertEqual(units[0].name(), 'X')
+ self.assertEqual(units[1].name(), 'Y')
+
+ units[1].add_site('h', 'i', '')
+
+ def test6(self):
+ sp = Species(" A . B . C.D")
+ units = sp.units()
+ self.assertEqual(len(units), 4)
+ self.assertEqual(units[0].name(), "A")
+ self.assertEqual(units[1].name(), "B")
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/python/tests/util/__init__.py b/python/tests/util/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/readthedocs/api/bd.rst b/readthedocs/api/bd.rst
new file mode 100644
index 0000000..2850e76
--- /dev/null
+++ b/readthedocs/api/bd.rst
@@ -0,0 +1,5 @@
+E-Cell4 bd API
+================
+
+.. automodule:: ecell4.bd
+ :members:
\ No newline at end of file
diff --git a/readthedocs/api/core.rst b/readthedocs/api/core.rst
new file mode 100644
index 0000000..de949b9
--- /dev/null
+++ b/readthedocs/api/core.rst
@@ -0,0 +1,5 @@
+E-Cell4 core API
+================
+
+.. automodule:: ecell4.core
+ :members:
\ No newline at end of file
diff --git a/readthedocs/api/egfrd.rst b/readthedocs/api/egfrd.rst
new file mode 100644
index 0000000..cc9067f
--- /dev/null
+++ b/readthedocs/api/egfrd.rst
@@ -0,0 +1,5 @@
+E-Cell4 egfrd API
+=================
+
+.. automodule:: ecell4.egfrd
+ :members:
diff --git a/readthedocs/api/gillespie.rst b/readthedocs/api/gillespie.rst
new file mode 100644
index 0000000..89be288
--- /dev/null
+++ b/readthedocs/api/gillespie.rst
@@ -0,0 +1,5 @@
+E-Cell4 gillespie API
+=====================
+
+.. automodule:: ecell4.gillespie
+ :members:
\ No newline at end of file
diff --git a/readthedocs/api/meso.rst b/readthedocs/api/meso.rst
new file mode 100644
index 0000000..e27cb01
--- /dev/null
+++ b/readthedocs/api/meso.rst
@@ -0,0 +1,5 @@
+E-Cell4 meso API
+================
+
+.. automodule:: ecell4.meso
+ :members:
\ No newline at end of file
diff --git a/readthedocs/api/ode.rst b/readthedocs/api/ode.rst
new file mode 100644
index 0000000..8b81dcc
--- /dev/null
+++ b/readthedocs/api/ode.rst
@@ -0,0 +1,5 @@
+E-Cell4 ode API
+===============
+
+.. automodule:: ecell4.ode
+ :members:
\ No newline at end of file
diff --git a/readthedocs/api/spatiocyte.rst b/readthedocs/api/spatiocyte.rst
new file mode 100644
index 0000000..5cf47a3
--- /dev/null
+++ b/readthedocs/api/spatiocyte.rst
@@ -0,0 +1,5 @@
+E-Cell4 spatiocyte API
+======================
+
+.. automodule:: ecell4.spatiocyte
+ :members:
\ No newline at end of file
diff --git a/readthedocs/api/util.decorator.rst b/readthedocs/api/util.decorator.rst
new file mode 100644
index 0000000..2e30f41
--- /dev/null
+++ b/readthedocs/api/util.decorator.rst
@@ -0,0 +1,5 @@
+E-Cell4 util.decorator API
+==========================
+
+.. automodule:: ecell4.util.decorator
+ :members:
\ No newline at end of file
diff --git a/readthedocs/api/util.rst b/readthedocs/api/util.rst
new file mode 100644
index 0000000..39e7f29
--- /dev/null
+++ b/readthedocs/api/util.rst
@@ -0,0 +1,5 @@
+E-Cell4 util API
+================
+
+.. automodule:: ecell4.util
+ :members:
\ No newline at end of file
diff --git a/readthedocs/api/util.viz.rst b/readthedocs/api/util.viz.rst
new file mode 100644
index 0000000..1d5c92c
--- /dev/null
+++ b/readthedocs/api/util.viz.rst
@@ -0,0 +1,5 @@
+E-Cell4 util.viz API
+====================
+
+.. automodule:: ecell4.util.viz
+ :members:
\ No newline at end of file
diff --git a/readthedocs/conf.py b/readthedocs/conf.py
new file mode 100644
index 0000000..c92558b
--- /dev/null
+++ b/readthedocs/conf.py
@@ -0,0 +1,70 @@
+import sys
+import os
+
+extensions = ['sphinx.ext.pngmath', 'sphinx.ext.autodoc', 'sphinx.ext.autosummary', 'numpydoc', 'IPython.sphinxext.ipython_console_highlighting', 'IPython.sphinxext.ipython_directive']
+
+templates_path = ['_templates']
+
+master_doc = 'index'
+
+project = u'E-Cell'
+copyright = u'2015-, E-Cell project'
+author = u'Kazunari Kaizu'
+
+version = '4.1.2'
+release = '4.1.2'
+
+language = None
+
+exclude_patterns = ['_build']
+
+pygments_style = 'sphinx'
+
+import sphinx_rtd_theme
+html_theme = "sphinx_rtd_theme"
+html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
+
+html_static_path = ['_static']
+
+html_show_sourcelink = True
+
+htmlhelp_basename = 'Testdoc'
+
+latex_elements = {
+# The paper size ('letterpaper' or 'a4paper').
+#'papersize': 'letterpaper',
+
+# The font size ('10pt', '11pt' or '12pt').
+#'pointsize': '10pt',
+
+# Additional stuff for the LaTeX preamble.
+#'preamble': '',
+
+# Latex figure (float) alignment
+#'figure_align': 'htbp',
+}
+
+latex_documents = [
+ (master_doc, 'Test.tex', u'Test Documentation',
+ u'Test', 'manual'),
+]
+
+man_pages = [
+ (master_doc, 'test', u'Test Documentation',
+ [author], 1)
+]
+
+texinfo_documents = [
+ (master_doc, 'Test', u'Test Documentation',
+ author, 'Test', 'One line description of project.',
+ 'Miscellaneous'),
+]
+
+from recommonmark.parser import CommonMarkParser
+
+# The suffix of source filenames.
+source_suffix = ['.rst', '.md']
+
+source_parsers = {
+ '.md': CommonMarkParser,
+}
diff --git a/readthedocs/examples/example1.rst b/readthedocs/examples/example1.rst
new file mode 100644
index 0000000..925aeb6
--- /dev/null
+++ b/readthedocs/examples/example1.rst
@@ -0,0 +1,483 @@
+
+Attractors
+==========
+
+.. code:: ipython2
+
+ %matplotlib inline
+ import numpy
+ from ecell4 import *
+ util.decorator.ENABLE_RATELAW = True
+
+Rössler attractor
+-----------------
+
+.. code:: ipython2
+
+ a, b, c = 0.2, 0.2, 5.7
+
+ with reaction_rules():
+ ~x > x | (-y - z)
+ ~y > y | (x + a * y)
+ ~z > z | (b + z * (x - c))
+
+.. code:: ipython2
+
+ run_simulation(numpy.linspace(0, 200, 4001), y0={'x': 1.0}, return_type='nyaplot',
+ opt_args={'x': 'x', 'y': ('y', 'z'), 'to_png': True})
+
+
+
+.. raw:: html
+
+ <html>
+ <head>
+ <script type="text/javascript">
+ (function(){
+ if(window["THREE"] === undefined || window["d3"] === undefined){
+ require.config({
+ paths:{
+ d3: [
+ 'https://d3js.org/d3.v3.min',
+ 'custom/d3.min'
+ ],
+ THREE: [
+ 'https://cdnjs.cloudflare.com/ajax/libs/three.js/r66/three.min',
+ 'custom/three.min'
+ ],
+ Nyaplot: [
+ 'https://rawgit.com/domitry/Nyaplotjs/master/release/nyaplot',
+ 'custom/nyaplot'
+ ],
+ svg2png: 'https://cdn.rawgit.com/domitry/svg2png/850731291ef598b201687ed5b1e215df248d8aeb/src/main'
+ },
+ shim:{
+ THREE: {
+ exports: 'THREE'
+ },
+ Nyaplot: {
+ deps: ['THREE'],
+ exports: 'Nyaplot'
+ }
+ }
+ });
+
+ require(["d3", "THREE"], function(d3){
+ window["d3"] = d3;
+
+ d3.select(document)
+ .on("contextmenu", function(){
+ d3.selectAll("canvas").style("z-index", 10);
+ d3.selectAll(".download_menu").style("z-index", 100);
+ });
+ });
+ }
+
+ require(["svg2png", "Nyaplot"], function(util){
+ console.log("Begin rendering...");
+ var models = {"data": {"data1": [{"y1": 0.0, "x": 1.0, "y2": 0.0}, {"y1": 0.0502259583650198, "x": 0.9985146168952178, "y2": 0.008911698869948734}, {"y1": 0.1008085474154494, "x": 0.9941113646000678, "y2": 0.01595507805828006}, {"y1": 0.15160650961836827, "x": 0.9868592990047272, "y2": 0.021517380094786646}, {"y1": 0.2024803651556751, "x": 0.976817275506335, "y2": 0.025903428051639994}, {"y1": 0.25329201054582356, "x": 0.9640375237487291, "y2": 0.029353586534861965}, {"y1": [...]
+ Nyaplot.core.parse(models, '#viz959b1c9e-0808-4cfa-ae31-7894c95e0c24');
+
+ var div = d3.select('#viz959b1c9e-0808-4cfa-ae31-7894c95e0c24');
+ var svg = div.select('svg');
+
+ if(true){
+ util.svg2uri(svg)
+ .then(function(uri){
+ svg.remove();
+ div
+ .append("img")
+ .attr("src", uri);
+ });
+ }
+
+ });
+ })();
+ </script>
+ </head>
+ <body>
+ <div id="viz959b1c9e-0808-4cfa-ae31-7894c95e0c24"></div>
+ </body>
+ </html>
+
+
+Modified Chua chaotic attractor
+-------------------------------
+
+.. code:: ipython2
+
+ alpha, beta = 10.82, 14.286
+ a, b, d = 1.3, 0.1, 0.2
+
+ with reaction_rules():
+ h = -b * sin(numpy.pi * x / (2 * a) + d)
+ ~x > x | (alpha * (y - h))
+ ~y > y | (x - y + z)
+ ~z > z | (-beta * y)
+
+.. code:: ipython2
+
+ run_simulation(numpy.linspace(0, 250, 5001),
+ y0={'x': 0, 'y': 0.49899, 'z': 0.2}, return_type='nyaplot',
+ opt_args={'x': 'x', 'y': 'y', 'to_png': True})
+
+
+
+.. raw:: html
+
+ <html>
+ <head>
+ <script type="text/javascript">
+ (function(){
+ if(window["THREE"] === undefined || window["d3"] === undefined){
+ require.config({
+ paths:{
+ d3: [
+ 'https://d3js.org/d3.v3.min',
+ 'custom/d3.min'
+ ],
+ THREE: [
+ 'https://cdnjs.cloudflare.com/ajax/libs/three.js/r66/three.min',
+ 'custom/three.min'
+ ],
+ Nyaplot: [
+ 'https://rawgit.com/domitry/Nyaplotjs/master/release/nyaplot',
+ 'custom/nyaplot'
+ ],
+ svg2png: 'https://cdn.rawgit.com/domitry/svg2png/850731291ef598b201687ed5b1e215df248d8aeb/src/main'
+ },
+ shim:{
+ THREE: {
+ exports: 'THREE'
+ },
+ Nyaplot: {
+ deps: ['THREE'],
+ exports: 'Nyaplot'
+ }
+ }
+ });
+
+ require(["d3", "THREE"], function(d3){
+ window["d3"] = d3;
+
+ d3.select(document)
+ .on("contextmenu", function(){
+ d3.selectAll("canvas").style("z-index", 10);
+ d3.selectAll(".download_menu").style("z-index", 100);
+ });
+ });
+ }
+
+ require(["svg2png", "Nyaplot"], function(util){
+ console.log("Begin rendering...");
+ var models = {"data": {"data1": [{"y1": 0.49899, "x": 0.0}, {"y1": 0.48271417585224513, "x": 0.2852012819012039}, {"y1": 0.46451209139290833, "x": 0.5769961811676663}, {"y1": 0.44531644156862527, "x": 0.8704591939169043}, {"y1": 0.4257744247564485, "x": 1.1593663862101995}, {"y1": 0.40619909442852425, "x": 1.437194172995993}, {"y1": 0.38658847779932815, "x": 1.698257260394981}, {"y1": 0.3667030362855968, "x": 1.938481238878394}, {"y1": 0.34617060517701886, "x": 2.15557880300 [...]
+ Nyaplot.core.parse(models, '#viz0b861587-df54-43a4-bbf8-a185195b0b41');
+
+ var div = d3.select('#viz0b861587-df54-43a4-bbf8-a185195b0b41');
+ var svg = div.select('svg');
+
+ if(true){
+ util.svg2uri(svg)
+ .then(function(uri){
+ svg.remove();
+ div
+ .append("img")
+ .attr("src", uri);
+ });
+ }
+
+ });
+ })();
+ </script>
+ </head>
+ <body>
+ <div id="viz0b861587-df54-43a4-bbf8-a185195b0b41"></div>
+ </body>
+ </html>
+
+
+Lorenz system
+-------------
+
+.. code:: ipython2
+
+ p, r, b = 10, 28, 8.0 / 3
+
+ with reaction_rules():
+ ~x > x | (-p * x + p * y)
+ ~y > y | (-x * z + r * x - y)
+ ~z > z | (x * y - b * z)
+
+.. code:: ipython2
+
+ run_simulation(numpy.linspace(0, 25, 2501),
+ y0={'x': 10, 'y': 1, 'z': 1}, return_type='nyaplot',
+ opt_args={'x': 'x', 'y': ('y', 'z'), 'to_png': True})
+
+
+
+.. raw:: html
+
+ <html>
+ <head>
+ <script type="text/javascript">
+ (function(){
+ if(window["THREE"] === undefined || window["d3"] === undefined){
+ require.config({
+ paths:{
+ d3: [
+ 'https://d3js.org/d3.v3.min',
+ 'custom/d3.min'
+ ],
+ THREE: [
+ 'https://cdnjs.cloudflare.com/ajax/libs/three.js/r66/three.min',
+ 'custom/three.min'
+ ],
+ Nyaplot: [
+ 'https://rawgit.com/domitry/Nyaplotjs/master/release/nyaplot',
+ 'custom/nyaplot'
+ ],
+ svg2png: 'https://cdn.rawgit.com/domitry/svg2png/850731291ef598b201687ed5b1e215df248d8aeb/src/main'
+ },
+ shim:{
+ THREE: {
+ exports: 'THREE'
+ },
+ Nyaplot: {
+ deps: ['THREE'],
+ exports: 'Nyaplot'
+ }
+ }
+ });
+
+ require(["d3", "THREE"], function(d3){
+ window["d3"] = d3;
+
+ d3.select(document)
+ .on("contextmenu", function(){
+ d3.selectAll("canvas").style("z-index", 10);
+ d3.selectAll(".download_menu").style("z-index", 100);
+ });
+ });
+ }
+
+ require(["svg2png", "Nyaplot"], function(util){
+ console.log("Begin rendering...");
+ var models = {"data": {"data1": [{"y1": 1.0, "x": 10.0, "y2": 1.0}, {"y1": 3.563695749303273, "x": 9.269459031824127, "y2": 1.1908773194239388}, {"y1": 5.921452997521007, "x": 8.841906935263138, "y2": 1.5831292019787593}, {"y1": 8.135740096843763, "x": 8.672021084782264, "y2": 2.1483727779503723}, {"y1": 10.257270888895425, "x": 8.724180132675537, "y2": 2.880641586744062}, {"y1": 12.323924489188594, "x": 8.970363891357882, "y2": 3.7900309465320166}, {"y1": 14.359962929336167 [...]
+ Nyaplot.core.parse(models, '#viz4063df0f-bcdb-4db0-b03c-bee627378fd8');
+
+ var div = d3.select('#viz4063df0f-bcdb-4db0-b03c-bee627378fd8');
+ var svg = div.select('svg');
+
+ if(true){
+ util.svg2uri(svg)
+ .then(function(uri){
+ svg.remove();
+ div
+ .append("img")
+ .attr("src", uri);
+ });
+ }
+
+ });
+ })();
+ </script>
+ </head>
+ <body>
+ <div id="viz4063df0f-bcdb-4db0-b03c-bee627378fd8"></div>
+ </body>
+ </html>
+
+
+Tamari attractor
+----------------
+
+.. code:: ipython2
+
+ a = 1.013
+ b = -0.021
+ c = 0.019
+ d = 0.96
+ e = 0
+ f = 0.01
+ g = 1
+ u = 0.05
+ i = 0.05
+
+ with reaction_rules():
+ ~x > x | ((x - a * y) * cos(z) - b * y * sin(z))
+ ~y > y | ((x + c * y) * sin(z) + d * y * cos(z))
+ ~z > z | (e + f * z + g * a * atan((1 - u) / (1 - i) * x * y))
+
+.. code:: ipython2
+
+ run_simulation(numpy.linspace(0, 800, 8001),
+ y0={'x': 0.9, 'y': 1, 'z': 1}, return_type='nyaplot',
+ opt_args={'x': 'x', 'y': ('y', 'z'), 'to_png': True})
+
+
+
+.. raw:: html
+
+ <html>
+ <head>
+ <script type="text/javascript">
+ (function(){
+ if(window["THREE"] === undefined || window["d3"] === undefined){
+ require.config({
+ paths:{
+ d3: [
+ 'https://d3js.org/d3.v3.min',
+ 'custom/d3.min'
+ ],
+ THREE: [
+ 'https://cdnjs.cloudflare.com/ajax/libs/three.js/r66/three.min',
+ 'custom/three.min'
+ ],
+ Nyaplot: [
+ 'https://rawgit.com/domitry/Nyaplotjs/master/release/nyaplot',
+ 'custom/nyaplot'
+ ],
+ svg2png: 'https://cdn.rawgit.com/domitry/svg2png/850731291ef598b201687ed5b1e215df248d8aeb/src/main'
+ },
+ shim:{
+ THREE: {
+ exports: 'THREE'
+ },
+ Nyaplot: {
+ deps: ['THREE'],
+ exports: 'Nyaplot'
+ }
+ }
+ });
+
+ require(["d3", "THREE"], function(d3){
+ window["d3"] = d3;
+
+ d3.select(document)
+ .on("contextmenu", function(){
+ d3.selectAll("canvas").style("z-index", 10);
+ d3.selectAll(".download_menu").style("z-index", 100);
+ });
+ });
+ }
+
+ require(["svg2png", "Nyaplot"], function(util){
+ console.log("Begin rendering...");
+ var models = {"data": {"data1": [{"y1": 1.0, "x": 0.9, "y2": 1.0}, {"y1": 1.1308053876503206, "x": 0.8927650745839679, "y2": 1.078253267804811}, {"y1": 1.2626603848507265, "x": 0.8809449622707514, "y2": 1.161938788520057}, {"y1": 1.3920298327129812, "x": 0.8668387655031342, "y2": 1.2501892685927087}, {"y1": 1.5152083819683664, "x": 0.8532390943299769, "y2": 1.3422580095836096}, {"y1": 1.6286106766352906, "x": 0.8431596452049006, "y2": 1.437573849341679}, {"y1": 1.72903105123 [...]
+ Nyaplot.core.parse(models, '#vizbb90cab0-0d3a-4055-a69a-070762b2b669');
+
+ var div = d3.select('#vizbb90cab0-0d3a-4055-a69a-070762b2b669');
+ var svg = div.select('svg');
+
+ if(true){
+ util.svg2uri(svg)
+ .then(function(uri){
+ svg.remove();
+ div
+ .append("img")
+ .attr("src", uri);
+ });
+ }
+
+ });
+ })();
+ </script>
+ </head>
+ <body>
+ <div id="vizbb90cab0-0d3a-4055-a69a-070762b2b669"></div>
+ </body>
+ </html>
+
+
+Moore-Spiegel attractor
+-----------------------
+
+.. code:: ipython2
+
+ T, R = 6, 20
+ with reaction_rules():
+ ~x > x | y
+ ~y > y | z
+ ~z > z | (-z - (T - R + R * x * x) * y - T * x)
+
+.. code:: ipython2
+
+ run_simulation(numpy.linspace(0, 100, 5001),
+ y0={'x': 1, 'y': 0, 'z': 0}, return_type='nyaplot',
+ opt_args={'x': 'x', 'y': 'y', 'to_png': True})
+
+
+
+.. raw:: html
+
+ <html>
+ <head>
+ <script type="text/javascript">
+ (function(){
+ if(window["THREE"] === undefined || window["d3"] === undefined){
+ require.config({
+ paths:{
+ d3: [
+ 'https://d3js.org/d3.v3.min',
+ 'custom/d3.min'
+ ],
+ THREE: [
+ 'https://cdnjs.cloudflare.com/ajax/libs/three.js/r66/three.min',
+ 'custom/three.min'
+ ],
+ Nyaplot: [
+ 'https://rawgit.com/domitry/Nyaplotjs/master/release/nyaplot',
+ 'custom/nyaplot'
+ ],
+ svg2png: 'https://cdn.rawgit.com/domitry/svg2png/850731291ef598b201687ed5b1e215df248d8aeb/src/main'
+ },
+ shim:{
+ THREE: {
+ exports: 'THREE'
+ },
+ Nyaplot: {
+ deps: ['THREE'],
+ exports: 'Nyaplot'
+ }
+ }
+ });
+
+ require(["d3", "THREE"], function(d3){
+ window["d3"] = d3;
+
+ d3.select(document)
+ .on("contextmenu", function(){
+ d3.selectAll("canvas").style("z-index", 10);
+ d3.selectAll(".download_menu").style("z-index", 100);
+ });
+ });
+ }
+
+ require(["svg2png", "Nyaplot"], function(util){
+ console.log("Begin rendering...");
+ var models = {"data": {"data1": [{"y1": 0.0, "x": 1.0}, {"y1": -0.0011918007407905264, "x": 0.9999920407288675}, {"y1": -0.004732826926772631, "x": 0.9999366652877512}, {"y1": -0.010568013751712454, "x": 0.9997874321018403}, {"y1": -0.018637742718978702, "x": 0.9994990466895423}, {"y1": -0.028878022337947114, "x": 0.9990274510146395}, {"y1": -0.0412207263022121, "x": 0.9983299086701102}, {"y1": -0.05559390025421219, "x": 0.9973650846291147}, {"y1": -0.07192214587538248, "x": [...]
+ Nyaplot.core.parse(models, '#vizcbd37e71-8e49-4b28-8f95-cd44afb90fc4');
+
+ var div = d3.select('#vizcbd37e71-8e49-4b28-8f95-cd44afb90fc4');
+ var svg = div.select('svg');
+
+ if(true){
+ util.svg2uri(svg)
+ .then(function(uri){
+ svg.remove();
+ div
+ .append("img")
+ .attr("src", uri);
+ });
+ }
+
+ });
+ })();
+ </script>
+ </head>
+ <body>
+ <div id="vizcbd37e71-8e49-4b28-8f95-cd44afb90fc4"></div>
+ </body>
+ </html>
+
diff --git a/readthedocs/examples/example10.rst b/readthedocs/examples/example10.rst
new file mode 100644
index 0000000..45ce11b
--- /dev/null
+++ b/readthedocs/examples/example10.rst
@@ -0,0 +1,95 @@
+
+Simple Equilibrium
+==================
+
+This is a simple equilibrium model as an example. Here, we explain how
+to model and run a simulation without using decorators
+(``species_attributes`` and ``reaction_rules``) and ``run_simulation``
+method.
+
+.. code:: ipython2
+
+ %matplotlib inline
+ from ecell4 import *
+
+Choose one module from a list of methods supported on E-Cell4.
+
+.. code:: ipython2
+
+ # f = gillespie.GillespieFactory
+ # f = ode.ODEFactory()
+ # f = spatiocyte.SpatiocyteFactory()
+ # f = bd.BDFactory()
+ # f = meso.MesoscopicFactory()
+ f = egfrd.EGFRDFactory()
+
+Set up parameters:
+
+.. code:: ipython2
+
+ L, N, kd, U, D, radius = 1.0, 60, 0.1, 0.5, "1", "0.01"
+ volume = L * L * L
+ ka = kd * volume * (1 - U) / (U * U * N)
+
+ sp1, sp2, sp3 = Species("A", radius, D), Species("B", radius, D), Species("A_B", radius, D)
+ rr1, rr2 = create_binding_reaction_rule(sp1, sp2, sp3, ka), create_unbinding_reaction_rule(sp3, sp1, sp2, kd)
+
+Create a model:
+
+.. code:: ipython2
+
+ m = NetworkModel()
+ m.add_species_attribute(sp1)
+ m.add_species_attribute(sp2)
+ m.add_species_attribute(sp3)
+ m.add_reaction_rule(rr1)
+ m.add_reaction_rule(rr2)
+
+Create a world and simulator:
+
+.. code:: ipython2
+
+ w = f.create_world(Real3(L, L, L))
+ w.bind_to(m)
+ w.add_molecules(Species("A"), N)
+ w.add_molecules(Species("B"), N)
+
+ sim = f.create_simulator(w)
+ sim.set_dt(1e-3) #XXX: This is too large to get the accurate result with BDSimulator.
+
+Run a simulation:
+
+.. code:: ipython2
+
+ next_time, dt = 0.0, 0.05
+ data = [(w.t(), w.num_molecules(sp1), w.num_molecules(sp2), w.num_molecules(sp3))]
+ for i in range(100):
+ next_time += dt
+ while (sim.step(next_time)): pass
+ data.append((w.t(), w.num_molecules(sp1), w.num_molecules(sp2), w.num_molecules(sp3)))
+
+Plot with Matplotlib:
+
+.. code:: ipython2
+
+ import matplotlib.pylab as plt
+ from numpy import array
+
+ data = array(data)
+ plt.plot(data.T[0], data.T[1], "r-", label=sp1.serial())
+ plt.plot(data.T[0], data.T[2], "g--", label=sp2.serial())
+ plt.plot(data.T[0], data.T[3], "b:", label=sp3.serial())
+ plt.xlabel("Time")
+ plt.ylabel("Number Of Molecules")
+ plt.xlim(data.T[0][0], data.T[0][-1])
+ plt.legend(loc="best", shadow=True)
+ plt.show()
+
+
+
+.. image:: example10_files/example10_13_0.png
+
+
+See also `Reversible <../Tests/Reversible.ipynb>`__ and Reversible
+(Diffusion-limited) in the Tests section for more detailed comparisons
+between methods.
diff --git a/readthedocs/examples/example10_files/example10_13_0.png b/readthedocs/examples/example10_files/example10_13_0.png
new file mode 100644
index 0000000..5b70c2a
Binary files /dev/null and b/readthedocs/examples/example10_files/example10_13_0.png differ
diff --git a/readthedocs/examples/example11.rst b/readthedocs/examples/example11.rst
new file mode 100644
index 0000000..5444f56
--- /dev/null
+++ b/readthedocs/examples/example11.rst
@@ -0,0 +1,70 @@
+
+Tyson1991
+=========
+
+This model is described in the article:
+
+- J.J. Tyson, "Modeling the cell division cycle: cdc2 and cyclin
+ interactions.", Proc. Natl. Acad. Sci. U.S.A., 88(16), 7328-32, 1991.
+
+Abstract: The proteins cdc2 and cyclin form a heterodimer (maturation
+promoting factor) that controls the major events of the cell cycle. A
+mathematical model for the interactions of cdc2 and cyclin is
+constructed. Simulation and analysis of the model show that the control
+system can operate in three modes: as a steady state with high
+maturation promoting factor activity, as a spontaneous oscillator, or as
+an excitable switch. We associate the steady state with metaphase arrest
+in unfertilized eggs, the spontaneous oscillations with rapid division
+cycles in early embryos, and the excitable switch with growth-controlled
+division cycles typical of nonembryonic cells.
+
+.. code:: ipython2
+
+ %matplotlib inline
+ from ecell4 import *
+
+.. code:: ipython2
+
+ with reaction_rules():
+ YT = Y + YP + M + pM
+ CT = C2 + CP + M + pM
+
+ ~Y > Y | 0.015 / CT
+ Y > ~Y | 0.0 * Y
+ CP + Y > pM | 200.0 * CP * Y / CT
+ pM > M | pM * (0.018 + 180 * ((M / CT) ** 2))
+ M > pM | 0.0 * M
+ M > C2 + YP | 1.0 * M
+ YP > ~YP | 0.6 * YP
+ C2 > CP | 1000000.0 * C2
+ CP > C2 | 1000.0 * CP
+
+ m = get_model()
+
+.. code:: ipython2
+
+ for rr in m.reaction_rules():
+ print(rr.as_string())
+
+
+.. parsed-literal::
+
+ C2+CP+M+pM>Y+C2+CP+M+pM|(0.015/(C2+CP+M+pM))
+ Y>|(0.0*Y)
+ CP+Y+C2+M>pM+C2+M|((200.0*CP*Y)/(C2+CP+M+pM))
+ pM+C2+CP>M+C2+CP|(pM*(0.018+(180*pow((M/(C2+CP+M+pM)),2))))
+ M>pM|(0.0*M)
+ M>C2+YP|(1.0*M)
+ YP>|(0.6*YP)
+ C2>CP|(1000000.0*C2)
+ CP>C2|(1000.0*CP)
+
+
+.. code:: ipython2
+
+ run_simulation(100.0, model=m, y0={'CP': 0.75, 'pM': 0.25})
+
+
+
+.. image:: example11_files/example11_4_0.png
+
diff --git a/readthedocs/examples/example11_files/example11_4_0.png b/readthedocs/examples/example11_files/example11_4_0.png
new file mode 100644
index 0000000..d390015
Binary files /dev/null and b/readthedocs/examples/example11_files/example11_4_0.png differ
diff --git a/readthedocs/examples/example2.rst b/readthedocs/examples/example2.rst
new file mode 100644
index 0000000..859d55d
--- /dev/null
+++ b/readthedocs/examples/example2.rst
@@ -0,0 +1,53 @@
+
+Drosophila Circadian Clock
+==========================
+
+This is a model of the oscillating Drosophila period protein(PER). This
+model is based on the model introduced in the following publication.
+
+- A. Goldbeter, "A model for circadian oscillations in the Drosophila
+ period protein(PER)", Proc R Soc Lond B Biol Sci, Vol.261:319-324,
+ Sep 1995.
+
+.. code:: ipython2
+
+ %matplotlib inline
+ import numpy
+ from ecell4 import *
+ util.decorator.ENABLE_RATELAW = True
+
+.. code:: ipython2
+
+ with reaction_rules():
+ ~M > M | 0.76 / (1 + Pn ** 3)
+ M > ~M | 0.65 * M / (0.5 + M)
+ ~P0 > P0 | 0.38 * M
+ P0 == P1 | (3.2 * P0 / (2 + P0), 1.58 * P1 / (2 + P1))
+ P1 == P2 | (5 * P1 / (2 + P1), 2.5 * P2 / (2 + P2))
+ P2 == Pn | (1.9, 1.3)
+ P2 > ~P2 | 0.95 * P2 / (0.2 + P2)
+
+.. code:: ipython2
+
+ y0 = {"M": 3.61328202E-01, "Pn": 6.21367E-01, "P0": 3.01106835E-01, "P1": 3.01106835E-01, "P2": 3.61328202E-01}
+ obs = run_simulation(numpy.linspace(0, 100, 400), y0, return_type='observer')
+
+.. code:: ipython2
+
+ # viz.plot_number_observer(obs, interactive=True)
+ viz.plot_number_observer(obs)
+
+
+
+.. image:: example2_files/example2_4_0.png
+
+
+.. code:: ipython2
+
+ # viz.plot_number_observer(obs, x="Pn", y=("M", "P0", "P1", "P2"), interactive=True)
+ viz.plot_number_observer(obs, x="Pn", y=("M", "P0", "P1", "P2"))
+
+
+
+.. image:: example2_files/example2_5_0.png
+
diff --git a/readthedocs/examples/example2_files/example2_4_0.png b/readthedocs/examples/example2_files/example2_4_0.png
new file mode 100644
index 0000000..834b170
Binary files /dev/null and b/readthedocs/examples/example2_files/example2_4_0.png differ
diff --git a/readthedocs/examples/example2_files/example2_5_0.png b/readthedocs/examples/example2_files/example2_5_0.png
new file mode 100644
index 0000000..5afd9e4
Binary files /dev/null and b/readthedocs/examples/example2_files/example2_5_0.png differ
diff --git a/readthedocs/examples/example3.rst b/readthedocs/examples/example3.rst
new file mode 100644
index 0000000..24e257b
--- /dev/null
+++ b/readthedocs/examples/example3.rst
@@ -0,0 +1,123 @@
+
+Dual Phosphorylation Cycle
+==========================
+
+.. code:: ipython2
+
+ from ecell4.core import *
+ from ecell4.util import *
+
+.. code:: ipython2
+
+ @species_attributes
+ def attrgen(radius, D):
+ K | {"radius": radius, "D": D}
+ Kp | {"radius": radius, "D": D}
+ Kpp | {"radius": radius, "D": D}
+ KK | {"radius": radius, "D": D}
+ PP | {"radius": radius, "D": D}
+ K_KK | {"radius": radius, "D": D}
+ Kp_KK | {"radius": radius, "D": D}
+ Kpp_PP | {"radius": radius, "D": D}
+ Kp_PP | {"radius": radius, "D": D}
+
+ @reaction_rules
+ def rulegen(kon1, koff1, kcat1, kon2, koff2, kcat2):
+ (K + KK == K_KK | (kon1, koff1)
+ > Kp + KK | kcat1
+ == Kp_KK | (kon2, koff2)
+ > Kpp + KK | kcat2)
+
+ (Kpp + PP == Kpp_PP | (kon1, koff1)
+ > Kp + PP | kcat1
+ == Kp_PP | (kon2, koff2)
+ > K + PP | kcat2)
+
+.. code:: ipython2
+
+ m = NetworkModel()
+
+.. code:: ipython2
+
+ for i, sp in enumerate(attrgen("0.0025", "1")):
+ print(i, sp.serial(), sp.get_attribute("radius"), sp.get_attribute("D"))
+ m.add_species_attribute(sp)
+
+
+.. parsed-literal::
+
+ 0 K 0.0025 1
+ 1 Kp 0.0025 1
+ 2 Kpp 0.0025 1
+ 3 KK 0.0025 1
+ 4 PP 0.0025 1
+ 5 K_KK 0.0025 1
+ 6 Kp_KK 0.0025 1
+ 7 Kpp_PP 0.0025 1
+ 8 Kp_PP 0.0025 1
+
+
+.. code:: ipython2
+
+ ka1, kd1, kcat1 = 0.04483455086786913, 1.35, 1.5
+ ka2, kd2, kcat2 = 0.09299017957780264, 1.73, 15.0
+
+ for i, rr in enumerate(rulegen(ka1, kd2, kcat1, ka2, kd2, kcat2)):
+ reactants, products, k = rr.reactants(), rr.products(), rr.k()
+ print(i, rr.as_string())
+ m.add_reaction_rule(rr)
+
+
+.. parsed-literal::
+
+ 0 K+KK>K_KK|0.0448346
+ 1 K_KK>K+KK|1.73
+ 2 K_KK>Kp+KK|1.5
+ 3 Kp+KK>Kp_KK|0.0929902
+ 4 Kp_KK>Kp+KK|1.73
+ 5 Kp_KK>Kpp+KK|15
+ 6 Kpp+PP>Kpp_PP|0.0448346
+ 7 Kpp_PP>Kpp+PP|1.73
+ 8 Kpp_PP>Kp+PP|1.5
+ 9 Kp+PP>Kp_PP|0.0929902
+ 10 Kp_PP>Kp+PP|1.73
+ 11 Kp_PP>K+PP|15
+
+
+.. code:: ipython2
+
+ from ecell4.gillespie import GillespieWorld as world_type, GillespieSimulator as simulator_type
+ # from ecell4.ode import ODEWorld as world_type, ODESimulator as simulator_type
+
+ w = world_type(Real3(1, 1, 1))
+ # w.bind_to(m)
+ w.add_molecules(Species("K"), 120)
+ w.add_molecules(Species("KK"), 30)
+ w.add_molecules(Species("PP"), 30)
+ sim = simulator_type(m, w)
+
+.. code:: ipython2
+
+ obs = FixedIntervalNumberObserver(1.0, ["K", "K_KK", "Kp", "Kp_KK", "Kp_PP", "Kpp", "Kpp_PP"])
+ sim.run(60, [obs])
+
+.. code:: ipython2
+
+ %matplotlib inline
+ import matplotlib.pylab as plt
+ from numpy import array
+
+ data = array(obs.data()).T
+ plt.plot(data[0], data[1] + data[2], "r-", label="K")
+ plt.plot(data[0], data[3] + data[4] + data[5], "g--", label="Kp")
+ plt.plot(data[0], data[6] + data[7], "b:", label="Kpp")
+ plt.xlabel("Time")
+ plt.ylabel("Number Of Molecules")
+ plt.xlim(data[0][0], data[0][-1])
+ plt.legend(loc="best", shadow=True)
+ plt.show()
+
+
+
+.. image:: example3_files/example3_8_0.png
+
diff --git a/readthedocs/examples/example3_files/example3_8_0.png b/readthedocs/examples/example3_files/example3_8_0.png
new file mode 100644
index 0000000..9b2396d
Binary files /dev/null and b/readthedocs/examples/example3_files/example3_8_0.png differ
diff --git a/readthedocs/examples/example4.rst b/readthedocs/examples/example4.rst
new file mode 100644
index 0000000..01f9323
--- /dev/null
+++ b/readthedocs/examples/example4.rst
@@ -0,0 +1,288 @@
+
+Simple EGFR model
+=================
+
+- http://bionetgen.org/index.php/Simple\_EGFR\_model
+- M.L. Blinov, J.R. Faeder, B. Goldstein, W.S. Hlavacek, "A network
+ model of early events in epidermal growth factor receptor signaling
+ that accounts for combinatorial complexity.", Biosystems, 83(2-3),
+ 136-151, 2006.
+
+.. code:: ipython3
+
+ %matplotlib inline
+ from ecell4 import *
+
+.. code:: ipython3
+
+ NA = 6.02e23 # Avogadro's number (molecules/mol)
+ f = 1 # Fraction of the cell to simulate
+ Vo = f * 1.0e-10 # Extracellular volume=1/cell_density (L)
+ V = f * 3.0e-12 # Cytoplasmic volume (L)
+
+ EGF_init = 20 * 1e-9 * NA * Vo # Initial amount of ligand (20 nM) converted to copies per cell
+
+ # Initial amounts of cellular components (copies per cell)
+ EGFR_init = f * 1.8e5
+ Grb2_init = f * 1.5e5
+ Sos1_init = f * 6.2e4
+
+ # Rate constants
+ # Divide by NA*V to convert bimolecular rate constants
+ # from /M/sec to /(molecule/cell)/sec
+ kp1 = 9.0e7 / (NA * Vo) # ligand-monomer binding
+ km1 = 0.06 # ligand-monomer dissociation
+ kp2 = 1.0e7 / (NA * V) # aggregation of bound monomers
+ km2 = 0.1 # dissociation of bound monomers
+ kp3 = 0.5 # dimer transphosphorylation
+ km3 = 4.505 # dimer dephosphorylation
+ kp4 = 1.5e6 / (NA * V) # binding of Grb2 to receptor
+ km4 = 0.05 # dissociation of Grb2 from receptor
+ kp5 = 1.0e7 / (NA * V) # binding of Grb2 to Sos1
+ km5 = 0.06 # dissociation of Grb2 from Sos1
+ deg = 0.01 # degradation of receptor dimers
+
+.. code:: ipython3
+
+ with reaction_rules():
+ # R1: Ligand-receptor binding
+ EGFR(L, CR1) + EGF(R) == EGFR(L^1, CR1).EGF(R^1) | (kp1, km1)
+
+ # R2: Receptor-aggregation
+ EGFR(L^_, CR1) + EGFR(L^_, CR1) == EGFR(L^_,CR1^1).EGFR(L^_,CR1^1) | (kp2, km2)
+
+ # R3: Transphosphorylation of EGFR by RTK
+ EGFR(CR1^_, Y1068=U) > EGFR(CR1^_, Y1068=P) | kp3
+
+ # R4: Dephosphorylation
+ EGFR(Y1068=P) > EGFR(Y1068=U) | km3
+
+ # R5: Grb2 binding to pY1068
+ EGFR(Y1068=P) + Grb2(SH2) == EGFR(Y1068=P^1).Grb2(SH2^1) | (kp4, km4)
+
+ # R6: Grb2 binding to Sos1
+ Grb2(SH3) + Sos1(PxxP) == Grb2(SH3^1).Sos1(PxxP^1) | (kp5, km5)
+
+ # R7: Receptor dimer internalization/degradation
+ (EGF(R^1).EGF(R^2).EGFR(L^1,CR1^3).EGFR(L^2,CR1^3) > ~EmptySet | deg
+ | _policy(ReactionRule.STRICT | ReactionRule.DESTROY))
+
+ m = get_model(is_netfree=True, effective=True)
+
+.. code:: ipython3
+
+ y0 = {"EGF(R)": EGF_init, "EGFR(L, CR1, Y1068=U)": EGFR_init, "Grb2(SH2, SH3)": Grb2_init, "Sos1(PxxP)": Sos1_init}
+
+.. code:: ipython3
+
+ newm = m.expand([Species(serial) for serial in y0.keys()])
+
+.. code:: ipython3
+
+ print("{} species and {} reactions were generated.".format(len(newm.list_species()), len(newm.reaction_rules())))
+
+ for i, sp in enumerate(newm.list_species()):
+ print("{}: {}".format(i + 1, sp.serial()))
+
+ for i, rr in enumerate(newm.reaction_rules()):
+ print("{}: {}".format(i + 1, rr.as_string()))
+
+
+.. parsed-literal::
+
+ 22 species and 86 reactions were generated.
+ 1: EGF(R)
+ 2: EGF(R^1).EGFR(CR1,L^1,Y1068=P)
+ 3: EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3)
+ 4: EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3^3).Sos1(PxxP^3)
+ 5: EGF(R^1).EGFR(CR1,L^1,Y1068=U)
+ 6: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P).EGF(R^3)
+ 7: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P^4).EGF(R^3).Grb2(SH2^4,SH3)
+ 8: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P^4).EGF(R^3).Grb2(SH2^4,SH3^5).Sos1(PxxP^5)
+ 9: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=U).EGF(R^3)
+ 10: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=P^5).EGF(R^4).Grb2(SH2^5,SH3).Grb2(SH2^3,SH3)
+ 11: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=P^5).EGF(R^4).Grb2(SH2^5,SH3).Grb2(SH2^3,SH3^6).Sos1(PxxP^6)
+ 12: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=P^5).EGF(R^4).Grb2(SH2^5,SH3^6).Sos1(PxxP^6).Grb2(SH2^3,SH3^7).Sos1(PxxP^7)
+ 13: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=U).EGF(R^4).Grb2(SH2^3,SH3)
+ 14: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=U).EGF(R^4).Grb2(SH2^3,SH3^5).Sos1(PxxP^5)
+ 15: EGF(R^1).EGFR(CR1^2,L^1,Y1068=U).EGFR(CR1^2,L^3,Y1068=U).EGF(R^3)
+ 16: EGFR(CR1,L,Y1068=P)
+ 17: EGFR(CR1,L,Y1068=P^1).Grb2(SH2^1,SH3)
+ 18: EGFR(CR1,L,Y1068=P^1).Grb2(SH2^1,SH3^2).Sos1(PxxP^2)
+ 19: EGFR(CR1,L,Y1068=U)
+ 20: Grb2(SH2,SH3)
+ 21: Grb2(SH2,SH3^1).Sos1(PxxP^1)
+ 22: Sos1(PxxP)
+ 1: EGF(R)+EGFR(CR1,L,Y1068=U)>EGF(R^1).EGFR(CR1,L^1,Y1068=U)|1.49502e-06
+ 2: Grb2(SH2,SH3)+Sos1(PxxP)>Grb2(SH2,SH3^1).Sos1(PxxP^1)|5.5371e-06
+ 3: EGF(R^1).EGFR(CR1,L^1,Y1068=U)>EGF(R)+EGFR(CR1,L,Y1068=U)|0.06
+ 4: EGF(R^1).EGFR(CR1,L^1,Y1068=U)+EGF(R^1).EGFR(CR1,L^1,Y1068=U)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=U).EGFR(CR1^2,L^3,Y1068=U).EGF(R^3)|2.76855e-06
+ 5: Grb2(SH2,SH3^1).Sos1(PxxP^1)>Grb2(SH2,SH3)+Sos1(PxxP)|0.06
+ 6: EGF(R^1).EGFR(CR1^2,L^1,Y1068=U).EGFR(CR1^2,L^3,Y1068=U).EGF(R^3)>EGF(R^1).EGFR(CR1,L^1,Y1068=U)+EGF(R^1).EGFR(CR1,L^1,Y1068=U)|0.1
+ 7: EGF(R^1).EGFR(CR1^2,L^1,Y1068=U).EGFR(CR1^2,L^3,Y1068=U).EGF(R^3)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=U).EGF(R^3)|1
+ 8: EGF(R^1).EGFR(CR1^2,L^1,Y1068=U).EGFR(CR1^2,L^3,Y1068=U).EGF(R^3)>|0.01
+ 9: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=U).EGF(R^3)>EGF(R^1).EGFR(CR1,L^1,Y1068=P)+EGF(R^1).EGFR(CR1,L^1,Y1068=U)|0.1
+ 10: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=U).EGF(R^3)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P).EGF(R^3)|0.5
+ 11: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=U).EGF(R^3)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=U).EGFR(CR1^2,L^3,Y1068=U).EGF(R^3)|4.505
+ 12: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=U).EGF(R^3)+Grb2(SH2,SH3^1).Sos1(PxxP^1)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=U).EGF(R^4).Grb2(SH2^3,SH3^5).Sos1(PxxP^5)|8.30565e-07
+ 13: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=U).EGF(R^3)+Grb2(SH2,SH3)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=U).EGF(R^4).Grb2(SH2^3,SH3)|8.30565e-07
+ 14: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=U).EGF(R^3)>|0.01
+ 15: EGF(R^1).EGFR(CR1,L^1,Y1068=P)>EGF(R)+EGFR(CR1,L,Y1068=P)|0.06
+ 16: EGF(R^1).EGFR(CR1,L^1,Y1068=P)+EGF(R^1).EGFR(CR1,L^1,Y1068=P)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P).EGF(R^3)|2.76855e-06
+ 17: EGF(R^1).EGFR(CR1,L^1,Y1068=P)+EGF(R^1).EGFR(CR1,L^1,Y1068=U)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=U).EGF(R^3)|5.5371e-06
+ 18: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P).EGF(R^3)>EGF(R^1).EGFR(CR1,L^1,Y1068=P)+EGF(R^1).EGFR(CR1,L^1,Y1068=P)|0.1
+ 19: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=U).EGF(R^4).Grb2(SH2^3,SH3^5).Sos1(PxxP^5)>EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3^3).Sos1(PxxP^3)+EGF(R^1).EGFR(CR1,L^1,Y1068=U)|0.1
+ 20: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=U).EGF(R^4).Grb2(SH2^3,SH3)>EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3)+EGF(R^1).EGFR(CR1,L^1,Y1068=U)|0.1
+ 21: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=U).EGF(R^4).Grb2(SH2^3,SH3^5).Sos1(PxxP^5)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P^4).EGF(R^3).Grb2(SH2^4,SH3^5).Sos1(PxxP^5)|0.5
+ 22: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=U).EGF(R^4).Grb2(SH2^3,SH3)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P^4).EGF(R^3).Grb2(SH2^4,SH3)|0.5
+ 23: EGF(R^1).EGFR(CR1,L^1,Y1068=P)>EGF(R^1).EGFR(CR1,L^1,Y1068=U)|4.505
+ 24: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P).EGF(R^3)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=U).EGF(R^3)|9.01
+ 25: EGF(R^1).EGFR(CR1,L^1,Y1068=P)+Grb2(SH2,SH3^1).Sos1(PxxP^1)>EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3^3).Sos1(PxxP^3)|8.30565e-07
+ 26: EGF(R^1).EGFR(CR1,L^1,Y1068=P)+Grb2(SH2,SH3)>EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3)|8.30565e-07
+ 27: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P).EGF(R^3)+Grb2(SH2,SH3^1).Sos1(PxxP^1)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P^4).EGF(R^3).Grb2(SH2^4,SH3^5).Sos1(PxxP^5)|1.66113e-06
+ 28: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P).EGF(R^3)+Grb2(SH2,SH3)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P^4).EGF(R^3).Grb2(SH2^4,SH3)|1.66113e-06
+ 29: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=U).EGF(R^4).Grb2(SH2^3,SH3^5).Sos1(PxxP^5)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=U).EGF(R^3)+Grb2(SH2,SH3^1).Sos1(PxxP^1)|0.05
+ 30: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=U).EGF(R^4).Grb2(SH2^3,SH3)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=U).EGF(R^3)+Grb2(SH2,SH3)|0.05
+ 31: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=U).EGF(R^4).Grb2(SH2^3,SH3)+Sos1(PxxP)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=U).EGF(R^4).Grb2(SH2^3,SH3^5).Sos1(PxxP^5)|5.5371e-06
+ 32: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=U).EGF(R^4).Grb2(SH2^3,SH3^5).Sos1(PxxP^5)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=U).EGF(R^4).Grb2(SH2^3,SH3)+Sos1(PxxP)|0.06
+ 33: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P).EGF(R^3)>|0.01
+ 34: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=U).EGF(R^4).Grb2(SH2^3,SH3^5).Sos1(PxxP^5)>|0.01
+ 35: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=U).EGF(R^4).Grb2(SH2^3,SH3)>|0.01
+ 36: EGF(R)+EGFR(CR1,L,Y1068=P)>EGF(R^1).EGFR(CR1,L^1,Y1068=P)|1.49502e-06
+ 37: EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3^3).Sos1(PxxP^3)>EGF(R)+EGFR(CR1,L,Y1068=P^1).Grb2(SH2^1,SH3^2).Sos1(PxxP^2)|0.06
+ 38: EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3)>EGF(R)+EGFR(CR1,L,Y1068=P^1).Grb2(SH2^1,SH3)|0.06
+ 39: EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3^3).Sos1(PxxP^3)+EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3^3).Sos1(PxxP^3)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=P^5).EGF(R^4).Grb2(SH2^5,SH3^6).Sos1(PxxP^6).Grb2(SH2^3,SH3^7).Sos1(PxxP^7)|2.76855e-06
+ 40: EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3)+EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3^3).Sos1(PxxP^3)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=P^5).EGF(R^4).Grb2(SH2^5,SH3).Grb2(SH2^3,SH3^6).Sos1(PxxP^6)|5.5371e-06
+ 41: EGF(R^1).EGFR(CR1,L^1,Y1068=P)+EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3^3).Sos1(PxxP^3)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P^4).EGF(R^3).Grb2(SH2^4,SH3^5).Sos1(PxxP^5)|5.5371e-06
+ 42: EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3^3).Sos1(PxxP^3)+EGF(R^1).EGFR(CR1,L^1,Y1068=U)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=U).EGF(R^4).Grb2(SH2^3,SH3^5).Sos1(PxxP^5)|5.5371e-06
+ 43: EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3)+EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=P^5).EGF(R^4).Grb2(SH2^5,SH3).Grb2(SH2^3,SH3)|2.76855e-06
+ 44: EGF(R^1).EGFR(CR1,L^1,Y1068=P)+EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P^4).EGF(R^3).Grb2(SH2^4,SH3)|5.5371e-06
+ 45: EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3)+EGF(R^1).EGFR(CR1,L^1,Y1068=U)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=U).EGF(R^4).Grb2(SH2^3,SH3)|5.5371e-06
+ 46: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P^4).EGF(R^3).Grb2(SH2^4,SH3^5).Sos1(PxxP^5)>EGF(R^1).EGFR(CR1,L^1,Y1068=P)+EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3^3).Sos1(PxxP^3)|0.1
+ 47: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P^4).EGF(R^3).Grb2(SH2^4,SH3)>EGF(R^1).EGFR(CR1,L^1,Y1068=P)+EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3)|0.1
+ 48: EGFR(CR1,L,Y1068=P)>EGFR(CR1,L,Y1068=U)|4.505
+ 49: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P^4).EGF(R^3).Grb2(SH2^4,SH3^5).Sos1(PxxP^5)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=U).EGF(R^4).Grb2(SH2^3,SH3^5).Sos1(PxxP^5)|4.505
+ 50: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P^4).EGF(R^3).Grb2(SH2^4,SH3)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=U).EGF(R^4).Grb2(SH2^3,SH3)|4.505
+ 51: EGFR(CR1,L,Y1068=P)+Grb2(SH2,SH3^1).Sos1(PxxP^1)>EGFR(CR1,L,Y1068=P^1).Grb2(SH2^1,SH3^2).Sos1(PxxP^2)|8.30565e-07
+ 52: EGFR(CR1,L,Y1068=P)+Grb2(SH2,SH3)>EGFR(CR1,L,Y1068=P^1).Grb2(SH2^1,SH3)|8.30565e-07
+ 53: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P^4).EGF(R^3).Grb2(SH2^4,SH3^5).Sos1(PxxP^5)+Grb2(SH2,SH3^1).Sos1(PxxP^1)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=P^5).EGF(R^4).Grb2(SH2^5,SH3^6).Sos1(PxxP^6).Grb2(SH2^3,SH3^7).Sos1(PxxP^7)|8.30565e-07
+ 54: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P^4).EGF(R^3).Grb2(SH2^4,SH3^5).Sos1(PxxP^5)+Grb2(SH2,SH3)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=P^5).EGF(R^4).Grb2(SH2^5,SH3).Grb2(SH2^3,SH3^6).Sos1(PxxP^6)|8.30565e-07
+ 55: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P^4).EGF(R^3).Grb2(SH2^4,SH3)+Grb2(SH2,SH3^1).Sos1(PxxP^1)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=P^5).EGF(R^4).Grb2(SH2^5,SH3).Grb2(SH2^3,SH3^6).Sos1(PxxP^6)|8.30565e-07
+ 56: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P^4).EGF(R^3).Grb2(SH2^4,SH3)+Grb2(SH2,SH3)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=P^5).EGF(R^4).Grb2(SH2^5,SH3).Grb2(SH2^3,SH3)|8.30565e-07
+ 57: EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3^3).Sos1(PxxP^3)>EGF(R^1).EGFR(CR1,L^1,Y1068=P)+Grb2(SH2,SH3^1).Sos1(PxxP^1)|0.05
+ 58: EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3)>EGF(R^1).EGFR(CR1,L^1,Y1068=P)+Grb2(SH2,SH3)|0.05
+ 59: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P^4).EGF(R^3).Grb2(SH2^4,SH3^5).Sos1(PxxP^5)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P).EGF(R^3)+Grb2(SH2,SH3^1).Sos1(PxxP^1)|0.05
+ 60: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P^4).EGF(R^3).Grb2(SH2^4,SH3)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P).EGF(R^3)+Grb2(SH2,SH3)|0.05
+ 61: EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3)+Sos1(PxxP)>EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3^3).Sos1(PxxP^3)|5.5371e-06
+ 62: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P^4).EGF(R^3).Grb2(SH2^4,SH3)+Sos1(PxxP)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P^4).EGF(R^3).Grb2(SH2^4,SH3^5).Sos1(PxxP^5)|5.5371e-06
+ 63: EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3^3).Sos1(PxxP^3)>EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3)+Sos1(PxxP)|0.06
+ 64: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P^4).EGF(R^3).Grb2(SH2^4,SH3^5).Sos1(PxxP^5)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P^4).EGF(R^3).Grb2(SH2^4,SH3)+Sos1(PxxP)|0.06
+ 65: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P^4).EGF(R^3).Grb2(SH2^4,SH3^5).Sos1(PxxP^5)>|0.01
+ 66: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P^4).EGF(R^3).Grb2(SH2^4,SH3)>|0.01
+ 67: EGF(R)+EGFR(CR1,L,Y1068=P^1).Grb2(SH2^1,SH3^2).Sos1(PxxP^2)>EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3^3).Sos1(PxxP^3)|1.49502e-06
+ 68: EGF(R)+EGFR(CR1,L,Y1068=P^1).Grb2(SH2^1,SH3)>EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3)|1.49502e-06
+ 69: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=P^5).EGF(R^4).Grb2(SH2^5,SH3^6).Sos1(PxxP^6).Grb2(SH2^3,SH3^7).Sos1(PxxP^7)>EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3^3).Sos1(PxxP^3)+EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3^3).Sos1(PxxP^3)|0.1
+ 70: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=P^5).EGF(R^4).Grb2(SH2^5,SH3).Grb2(SH2^3,SH3^6).Sos1(PxxP^6)>EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3)+EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3^3).Sos1(PxxP^3)|0.1
+ 71: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=P^5).EGF(R^4).Grb2(SH2^5,SH3).Grb2(SH2^3,SH3)>EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3)+EGF(R^1).EGFR(CR1,L^1,Y1068=P^2).Grb2(SH2^2,SH3)|0.1
+ 72: EGFR(CR1,L,Y1068=P^1).Grb2(SH2^1,SH3^2).Sos1(PxxP^2)>EGFR(CR1,L,Y1068=P)+Grb2(SH2,SH3^1).Sos1(PxxP^1)|0.05
+ 73: EGFR(CR1,L,Y1068=P^1).Grb2(SH2^1,SH3)>EGFR(CR1,L,Y1068=P)+Grb2(SH2,SH3)|0.05
+ 74: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=P^5).EGF(R^4).Grb2(SH2^5,SH3^6).Sos1(PxxP^6).Grb2(SH2^3,SH3^7).Sos1(PxxP^7)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P^4).EGF(R^3).Grb2(SH2^4,SH3^5).Sos1(PxxP^5)+Grb2(SH2,SH3^1).Sos1(PxxP^1)|0.1
+ 75: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=P^5).EGF(R^4).Grb2(SH2^5,SH3).Grb2(SH2^3,SH3^6).Sos1(PxxP^6)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P^4).EGF(R^3).Grb2(SH2^4,SH3)+Grb2(SH2,SH3^1).Sos1(PxxP^1)|0.05
+ 76: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=P^5).EGF(R^4).Grb2(SH2^5,SH3).Grb2(SH2^3,SH3^6).Sos1(PxxP^6)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P^4).EGF(R^3).Grb2(SH2^4,SH3^5).Sos1(PxxP^5)+Grb2(SH2,SH3)|0.05
+ 77: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=P^5).EGF(R^4).Grb2(SH2^5,SH3).Grb2(SH2^3,SH3)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P).EGFR(CR1^2,L^3,Y1068=P^4).EGF(R^3).Grb2(SH2^4,SH3)+Grb2(SH2,SH3)|0.1
+ 78: EGFR(CR1,L,Y1068=P^1).Grb2(SH2^1,SH3)+Sos1(PxxP)>EGFR(CR1,L,Y1068=P^1).Grb2(SH2^1,SH3^2).Sos1(PxxP^2)|5.5371e-06
+ 79: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=P^5).EGF(R^4).Grb2(SH2^5,SH3).Grb2(SH2^3,SH3^6).Sos1(PxxP^6)+Sos1(PxxP)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=P^5).EGF(R^4).Grb2(SH2^5,SH3^6).Sos1(PxxP^6).Grb2(SH2^3,SH3^7).Sos1(PxxP^7)|5.5371e-06
+ 80: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=P^5).EGF(R^4).Grb2(SH2^5,SH3).Grb2(SH2^3,SH3)+Sos1(PxxP)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=P^5).EGF(R^4).Grb2(SH2^5,SH3).Grb2(SH2^3,SH3^6).Sos1(PxxP^6)|1.10742e-05
+ 81: EGFR(CR1,L,Y1068=P^1).Grb2(SH2^1,SH3^2).Sos1(PxxP^2)>EGFR(CR1,L,Y1068=P^1).Grb2(SH2^1,SH3)+Sos1(PxxP)|0.06
+ 82: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=P^5).EGF(R^4).Grb2(SH2^5,SH3^6).Sos1(PxxP^6).Grb2(SH2^3,SH3^7).Sos1(PxxP^7)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=P^5).EGF(R^4).Grb2(SH2^5,SH3).Grb2(SH2^3,SH3^6).Sos1(PxxP^6)+Sos1(PxxP)|0.12
+ 83: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=P^5).EGF(R^4).Grb2(SH2^5,SH3).Grb2(SH2^3,SH3^6).Sos1(PxxP^6)>EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=P^5).EGF(R^4).Grb2(SH2^5,SH3).Grb2(SH2^3,SH3)+Sos1(PxxP)|0.06
+ 84: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=P^5).EGF(R^4).Grb2(SH2^5,SH3^6).Sos1(PxxP^6).Grb2(SH2^3,SH3^7).Sos1(PxxP^7)>|0.01
+ 85: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=P^5).EGF(R^4).Grb2(SH2^5,SH3).Grb2(SH2^3,SH3^6).Sos1(PxxP^6)>|0.01
+ 86: EGF(R^1).EGFR(CR1^2,L^1,Y1068=P^3).EGFR(CR1^2,L^4,Y1068=P^5).EGF(R^4).Grb2(SH2^5,SH3).Grb2(SH2^3,SH3)>|0.01
+
+
+.. code:: ipython3
+
+ species_list = ["EGFR",
+ "EGF(R)",
+ "EGFR(CR1^_)",
+ "EGFR(Y1068=P^_0)",
+ "Grb2(SH2, SH3^1).Sos1(PxxP^1)",
+ "EGFR(Y1068^1).Grb2(SH2^1, SH3^2).Sos1(PxxP^2)"]
+ run_simulation(120, model=newm, y0=y0, species_list=species_list,
+ opt_kwargs={'interactive': True, 'to_png': True})
+
+
+
+.. raw:: html
+
+ <html>
+ <head>
+ <script type="text/javascript">
+ (function(){
+ if(window["THREE"] === undefined || window["d3"] === undefined){
+ require.config({
+ paths:{
+ d3: [
+ 'https://d3js.org/d3.v3.min',
+ 'custom/d3.min'
+ ],
+ THREE: [
+ 'https://cdnjs.cloudflare.com/ajax/libs/three.js/r66/three.min',
+ 'custom/three.min'
+ ],
+ Nyaplot: [
+ 'https://rawgit.com/domitry/Nyaplotjs/master/release/nyaplot',
+ 'custom/nyaplot'
+ ],
+ svg2png: 'https://cdn.rawgit.com/domitry/svg2png/850731291ef598b201687ed5b1e215df248d8aeb/src/main'
+ },
+ shim:{
+ THREE: {
+ exports: 'THREE'
+ },
+ Nyaplot: {
+ deps: ['THREE'],
+ exports: 'Nyaplot'
+ }
+ }
+ });
+
+ require(["d3", "THREE"], function(d3){
+ window["d3"] = d3;
+
+ d3.select(document)
+ .on("contextmenu", function(){
+ d3.selectAll("canvas").style("z-index", 10);
+ d3.selectAll(".download_menu").style("z-index", 100);
+ });
+ });
+ }
+
+ require(["svg2png", "Nyaplot"], function(util){
+ console.log("Begin rendering...");
+ var models = {"panes": [{"diagrams": [{"options": {"title": "EGF(R)", "color": "#a6cee3", "x": "x", "y": "y1", "stroke_width": 2}, "data": "data1", "type": "line"}, {"options": {"title": "EGFR", "color": "#1f78b4", "x": "x", "y": "y2", "stroke_width": 2}, "data": "data1", "type": "line"}, {"options": {"title": "EGFR(CR1^_)", "color": "#b2df8a", "x": "x", "y": "y3", "stroke_width": 2}, "data": "data1", "type": "line"}, {"options": {"title": "EGFR(Y1068=P^_0)", "color": "#33a0 [...]
+ Nyaplot.core.parse(models, '#vizd1ad5439-c7f4-45d6-a065-64802caea557');
+
+ var div = d3.select('#vizd1ad5439-c7f4-45d6-a065-64802caea557');
+ var svg = div.select('svg');
+
+ if(true){
+ util.svg2uri(svg)
+ .then(function(uri){
+ svg.remove();
+ div
+ .append("img")
+ .attr("src", uri);
+ });
+ }
+
+ });
+ })();
+ </script>
+ </head>
+ <body>
+ <div id="vizd1ad5439-c7f4-45d6-a065-64802caea557"></div>
+ </body>
+ </html>
+
diff --git a/readthedocs/examples/example5.rst b/readthedocs/examples/example5.rst
new file mode 100644
index 0000000..786730f
--- /dev/null
+++ b/readthedocs/examples/example5.rst
@@ -0,0 +1,45 @@
+
+A Simple Model of the Glycolysis of Human Erythrocytes
+======================================================
+
+This is a model for the glycolysis of human erythrocytes which takes
+into account ATP-synthesis and -consumption. This model is based on the
+model introduced in the following publication.
+
+- Rapoport, T.A. and Heinrich, R. (1975) "Mathematical analysis of
+ multienzyme systems. I. Modelling of the glycolysis of human
+ erythrocytes.", Biosystems., 7, 1, 120-129.
+- Heinrich, R. and Rapoport, T.A. (1975) "Mathematical analysis of
+ multienzyme systems. II. Steady state and transient control.",
+ Biosystems., 7, 1, 130-136.
+
+.. code:: ipython2
+
+ %matplotlib inline
+ from ecell4 import *
+ util.decorator.ENABLE_RATELAW = True
+
+.. code:: ipython2
+
+ with reaction_rules():
+ 2 * ATP > 2 * A13P2G + 2 * ADP | (3.2 * ATP / (1.0 + (ATP / 1.0) ** 4.0))
+ A13P2G > A23P2G | 1500
+ A23P2G > PEP | 0.15
+ A13P2G + ADP > PEP + ATP | 1.57e+4
+ PEP + ADP > ATP | 559
+ AMP + ATP > 2 * ADP | (1.0 * (AMP * ATP - 2.0 * ADP * ADP))
+ ATP > ADP | 1.46
+
+.. code:: ipython2
+
+ y0 = {"A13P2G": 0.0005082, "A23P2G": 5.0834, "PEP": 0.020502,
+ "AMP": 0.080139, "ADP": 0.2190, "ATP": 1.196867}
+
+.. code:: ipython2
+
+ run_simulation(100, y0=y0)
+
+
+
+.. image:: example5_files/example5_4_0.png
+
diff --git a/readthedocs/examples/example5_files/example5_4_0.png b/readthedocs/examples/example5_files/example5_4_0.png
new file mode 100644
index 0000000..c33910f
Binary files /dev/null and b/readthedocs/examples/example5_files/example5_4_0.png differ
diff --git a/readthedocs/examples/example6.rst b/readthedocs/examples/example6.rst
new file mode 100644
index 0000000..10b33bf
--- /dev/null
+++ b/readthedocs/examples/example6.rst
@@ -0,0 +1,124 @@
+
+Hodgkin-Huxley Model
+====================
+
+- A.L. Hodgkin, A.F. Huxley, "A quantitative description of membrane
+ current and its application to conduction and excitation in nerve",
+ J. Physiol., 117, 500-544, 1952.
+
+.. code:: ipython2
+
+ %matplotlib inline
+ import numpy as np
+ from ecell4 import *
+
+.. code:: ipython2
+
+ Q10 = 3.0
+ GNa = 120.0 # mS/cm^2
+ GK = 36.0 # mS/cm^2
+ gL = 0.3 # mS/cm^2
+ EL = -64.387 # mV
+ ENa = 40.0 # mV
+ EK = -87.0 # mV
+ Cm = 1.0 # uF/cm^2
+
+ T = 6.3 # degrees C
+ Iext = 10.0 # nA
+
+ with reaction_rules():
+ Q = Q10 ** ((T - 6.3) / 10)
+
+ alpha_m = -0.1 * (Vm + 50) / (exp(-(Vm + 50) / 10) - 1)
+ beta_m = 4 * exp(-(Vm + 75) / 18)
+ ~m > m | Q * (alpha_m * (1 - m) - beta_m * m)
+
+ alpha_h = 0.07 * exp(-(Vm + 75) / 20)
+ beta_h = 1.0 / (exp(-(Vm + 45) / 10) + 1)
+ ~h > h | Q * (alpha_h * (1 - h) - beta_h * h)
+
+ alpha_n = -0.01 * (Vm + 65) / (exp(-(Vm + 65) / 10) - 1)
+ beta_n = 0.125 * exp(-(Vm + 75) / 80)
+ ~n > n | Q * (alpha_n * (1 - n) - beta_n * n)
+
+ gNa = (m ** 3) * h * GNa
+ INa = gNa * (Vm - ENa)
+ gK = (n ** 4) * GK
+ IK = gK * (Vm - EK)
+ IL = gL * (Vm - EL)
+ ~Vm > Vm | (Iext - (IL + INa + IK)) / Cm
+
+ hhm = get_model()
+
+.. code:: ipython2
+
+ for rr in hhm.reaction_rules():
+ print(rr.as_string())
+
+
+.. parsed-literal::
+
+ Vm>m+Vm|(1.0*((((-0.1*(Vm+50))/(exp((-(Vm+50)/10))-1))*(1-m))-(4*exp((-(Vm+75)/18))*m)))
+ Vm>h+Vm|(1.0*((0.07*exp((-(Vm+75)/20))*(1-h))-((1.0/(exp((-(Vm+45)/10))+1))*h)))
+ Vm>n+Vm|(1.0*((((-0.01*(Vm+65))/(exp((-(Vm+65)/10))-1))*(1-n))-(0.125*exp((-(Vm+75)/80))*n)))
+ m+h+n>Vm+m+h+n|((10.0-((0.3*(Vm--64.387))+(pow(m,3)*h*120.0*(Vm-40.0))+(pow(n,4)*36.0*(Vm--87.0))))/1.0)
+
+
+.. code:: ipython2
+
+ run_simulation(np.linspace(0, 100, 1001), model=hhm, y0={'Vm': -75}, species_list=['Vm'])
+
+
+
+.. image:: example6_files/example6_4_0.png
+
+
+FitzHugh–Nagumo Model
+=====================
+
+- R. FitzHugh, "Mathematical models of threshold phenomena in the nerve
+ membrane.", Bull. Math. Biophysics, 17:257—278, 1955.
+
+.. code:: ipython2
+
+ a = 0.7
+ b = 0.8
+ c = 12.5
+ Iext = 0.5
+
+ with reaction_rules():
+ ~u > u | -v + u - (u ** 3) / 3 + Iext
+ ~v > v | (u - b * v + a) / c
+
+ fnm = get_model()
+
+.. code:: ipython2
+
+ for rr in fnm.reaction_rules():
+ print(rr.as_string())
+
+
+.. parsed-literal::
+
+ v>u+v|(((-v+u)-(pow(u,3)/3))+0.5)
+ u>v+u|(((u-(0.8*v))+0.7)/12.5)
+
+
+.. code:: ipython2
+
+ run_simulation(np.linspace(0, 200, 501), model=fnm)
+
+
+
+.. image:: example6_files/example6_8_0.png
+
+
+.. code:: ipython2
+
+ run_simulation(np.linspace(0, 200, 501), model=fnm, # return_type='nyaplot',
+ opt_kwargs={'x': 'u', 'y': ['v']})
+
+
+
+.. image:: example6_files/example6_9_0.png
+
diff --git a/readthedocs/examples/example6_files/example6_4_0.png b/readthedocs/examples/example6_files/example6_4_0.png
new file mode 100644
index 0000000..dd37da7
Binary files /dev/null and b/readthedocs/examples/example6_files/example6_4_0.png differ
diff --git a/readthedocs/examples/example6_files/example6_8_0.png b/readthedocs/examples/example6_files/example6_8_0.png
new file mode 100644
index 0000000..e376858
Binary files /dev/null and b/readthedocs/examples/example6_files/example6_8_0.png differ
diff --git a/readthedocs/examples/example6_files/example6_9_0.png b/readthedocs/examples/example6_files/example6_9_0.png
new file mode 100644
index 0000000..e53e15d
Binary files /dev/null and b/readthedocs/examples/example6_files/example6_9_0.png differ
diff --git a/readthedocs/examples/example7.rst b/readthedocs/examples/example7.rst
new file mode 100644
index 0000000..a0ff1ac
--- /dev/null
+++ b/readthedocs/examples/example7.rst
@@ -0,0 +1,63040 @@
+
+Lotka-Volterra 2D
+=================
+
+The Original Model in Ordinary Differential Equations
+-----------------------------------------------------
+
+.. code:: ipython3
+
+ %matplotlib inline
+ from ecell4 import *
+
+.. code:: ipython3
+
+ alpha = 1
+
+ with reaction_rules():
+ ~u > u | u * (1 - v)
+ ~v > v | alpha * v * (u - 1)
+
+ m = get_model()
+
+.. code:: ipython3
+
+ run_simulation(15, {'u': 1.25, 'v': 0.66}, model=m)
+
+
+
+.. image:: example7_files/example7_4_0.png
+
+
+The Modified Model Decomposed into Elementary Reactions
+-------------------------------------------------------
+
+.. code:: ipython3
+
+ alpha = 1
+
+ with species_attributes():
+ u | {'D': '0.1'}
+ v | {'D': '0.1'}
+
+ with reaction_rules():
+ u > u + u | 1.0
+ u + v > v | 1.0
+
+ u + v > u + v2 | alpha
+ v2 > v + v | alpha * 10000.0
+ v > ~v | alpha
+
+ m = get_model()
+
+.. code:: ipython3
+
+ run_simulation(40, {'u': 1.25 * 1600, 'v': 0.66 * 1600}, volume=1600, model=m)
+
+
+
+.. image:: example7_files/example7_7_0.png
+
+
+.. code:: ipython3
+
+ run_simulation(40, {'u': 1.25 * 1600, 'v': 0.66 * 1600}, volume=1600, model=m, solver='gillespie')
+
+
+
+.. image:: example7_files/example7_8_0.png
+
+
+A Lotka-Volterra-like Model in 2D
+---------------------------------
+
+.. code:: ipython3
+
+ rng = GSLRandomNumberGenerator()
+ rng.seed(0)
+
+.. code:: ipython3
+
+ w = meso.MesoscopicWorld(Real3(40, 40, 1), Integer3(160, 160, 1), rng)
+ w.bind_to(m)
+
+.. code:: ipython3
+
+ V = w.volume()
+ print(V)
+
+
+.. parsed-literal::
+
+ 1600.0
+
+
+.. code:: ipython3
+
+ w.add_molecules(Species("u"), int(1.25 * V))
+ w.add_molecules(Species("v"), int(0.66 * V))
+
+.. code:: ipython3
+
+ sim = meso.MesoscopicSimulator(w)
+ obs1 = FixedIntervalNumberObserver(0.1, ('u', 'v', 'v2'))
+ obs2 = FixedIntervalHDF5Observer(2, "test%03d.h5")
+
+.. code:: ipython3
+
+ sim.run(100, (obs1, obs2))
+
+.. code:: ipython3
+
+ viz.plot_number_observer(obs1)
+
+
+
+.. image:: example7_files/example7_16_0.png
+
+
+.. code:: ipython3
+
+ viz.plot_world(w, radius=0.2)
+
+
+
+.. raw:: html
+
+ <html>
+ <head>
+ <script type="text/javascript">
+ (function(){
+ if(window["THREE"] === undefined || window["d3"] === undefined){
+ require.config({
+ paths:{
+ d3: [
+ 'https://d3js.org/d3.v3.min',
+ 'custom/d3.min'
+ ],
+ THREE: [
+ 'https://cdnjs.cloudflare.com/ajax/libs/three.js/r66/three.min',
+ 'custom/three.min'
+ ],
+ Elegans: [
+ 'https://cdn.rawgit.com/domitry/elegans/15e85b0dafdb6f09181c1ee2f0c47218f6fd698d/release/elegans.min',
+ 'custom/elegans'
+ ]
+ },
+ shim:{
+ THREE: {
+ exports: 'THREE'
+ },
+ Elegans: {
+ deps: ['THREE'],
+ exports: 'Elegans'
+ }
+ }
+ });
+
+ require(["d3", "THREE"], function(d3){
+ window["d3"] = d3;
+
+ d3.select(document)
+ .on("contextmenu", function(){
+ d3.selectAll("canvas").style("z-index", 10);
+ d3.selectAll(".download_menu").style("z-index", 100);
+ });
+ });
+ }
+
+ require(["Elegans"], function(){
+ console.log("Begin rendering...");
+ var model = {"options": {"world_width": 350, "save_image": true, "autorange": false, "grid": true, "range": {"y": [0.0, 40.0], "z": [-19.5, 20.5], "x": [0.0, 40.0]}, "world_height": 350}, "plots": [{"options": {"color": "#a6cee3", "name": "u", "size": 0.15000000000000002}, "data": {"y": [22.01570423413068, 13.224675867531914, 39.88337114040041, 5.6622179767582566, 3.866738061013166, 1.4582246770733036, 23.934528621961363, 1.2442705989815295, 21.169241612427868, 22.854223291680682, [...]
+ // Elegans.Embed.parse("#"+"viz3e3e70f0-34f5-4578-9260-2acabd2ec096",model).render();
+ var stage = Elegans.Embed.parse("#"+"viz3e3e70f0-34f5-4578-9260-2acabd2ec096",model);
+ stage.world.camera.position.set(-22, 23, 32);
+ stage.world.camera.rotation.set(-0.6, 0.5, 0.6);
+ stage.render();
+ });
+ })();
+ </script>
+ </head>
+ <body>
+ <div id="viz3e3e70f0-34f5-4578-9260-2acabd2ec096"></div>
+ </body>
+ </html>
+
+
+.. code:: ipython3
+
+ viz.plot_movie_with_attractive_mpl(
+ obs2, linewidth=0, noaxis=True, figsize=6, whratio=1.4,
+ angle=(-90, 90, 6), bitrate='10M')
+
+
+
+.. raw:: html
+
+ <video controls>
+ <source src="data:video/x-webm;base64,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
+ iRl0/kYJ8y+e9COBHx214RcRUp7LtcEXohYTyYWOotrXGLR4XCyRM1UFRbj12FF+tymlrNAxZrP/
+ xKUYW6pm700hK82ni0w292B0QGlAoc+SvOxgiVBdN0iEXCwS5WYr5YNdojrkuImncSUF3qYI8YQk
+ STBdc+OTU+ILd+a9vEhCypJWrNh/zIucF2hWziAMyzQAy7/UiwYIhxfxrk/cLn2XQdaDx6wsYWM5
+ wixCgAAAAAB1oQEAAAAAAAONpgEAAAAAAAOE7oEBpUN+8G0AnQEqRwNYAgBHCIWFiIWEiAICAAYW
+ BPcGgWSfa9ubJzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7
+ Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7
+ Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7
+ Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7
+ Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7
+ Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7
+ Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7
+ Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7
+ Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7
+ Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7
+ Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7
+ Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7
+ Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7
+ Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7
+ Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7
+ Jzh7Jzh7Jzh5AP7/uoMAoAEAAAAAASWXoSElN4EAoACR6gMDEDAAHtkSZlkqQ7EWydBesEmdK59V
+ vXD+7/i+xzj/xd+p/ZL/ve0hxr1cenftH7N/vn78/Xx+l/9nV56Z/qP/L/mfTq83/Z/+5/hv9X//
+ /+X8rv8t/3vvM+nH6K/8H3k/YP/Nf6x/2P7/+///R+jnpC/zH/U9Q/9d/2n/+/5fup/8X92ver/X
+ /+L///+d8DX9b/1X//9tj/7eyb/wf/j7DP7x+rj/3////2fhr/sv/I/db4KP2s6/jgc/83+Xfu0+
+ Sfq3+A/LT0F/HfoP7x+UPwJ/en+f4hfS/5z/teh/8j+3P5380v8Z+9nyT/w/9B49/m/8N/xvzj/2
+ nyF/kP82/y/5g/4v95/rA+v/9XeH7x/tv/V6hftn9l/5356/6v3wfoP+x6V/qv+a/7fuB/zn+0f8
+ r8+P9R9C/8jw2P1P/Q9A//q9mz+4/+P+x/f/2MfqX+f/9v+m/3f///532E/z3+2/9n/Hf6n/+/7z
+ 52/3n+Cn5//9L/8fKz+2P7tY7Al4SDwHx8tmYVern2H/b/5/+/WdkP/n/86SCfx0BfkmmUvGT9sY
+ cvXpqGfrwe0ar8PiZRqZCKZNlGAgcLzrE4KTT1ZkcIErfvvYiRlIdTRrnQUUKxf7zIhrexAGWzK+
+ iztp7zrT5OK72YFJTB1GF5wjqQnfsSm9X+MaZT0b/AzJh2McOZhW1KnEYvxMgqOKDxUIY4I4TQX8
+ U55rQk4ibBppOQCbj6mVYrTkQdLIFHoZmORxMKzGky8pwDX4CiXkRUBO5/U23FgEmH2sK99ADkKD
+ FRL9Eo1T+URO4+YH6kPjOmEEIO2ADiwGYEkFJDPHBOGd3ki6u6IZ0zaMBFn+t+/uOq825++batOG
+ FsS/7gFJor008dLH+e6wMTglJzNoc9oo6dS/SeIe+s9Qscl1XUP2UeXOJNDGf+Ku+/Lf74iPDIgL
+ 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
+ AX3wgQM=
+ " type="video/webm">
+ Your browser does not support the video tag.
+ </video>
+
+
+.. code:: ipython3
+
+ # from zipfile import ZipFile
+ # with ZipFile('test.zip', 'w') as myzip:
+ # for i in range(obs2.num_steps()):
+ # myzip.write('test{:03d}.h5'.format(i))
diff --git a/readthedocs/examples/example7_files/example7_16_0.png b/readthedocs/examples/example7_files/example7_16_0.png
new file mode 100644
index 0000000..1b8b8d1
Binary files /dev/null and b/readthedocs/examples/example7_files/example7_16_0.png differ
diff --git a/readthedocs/examples/example7_files/example7_4_0.png b/readthedocs/examples/example7_files/example7_4_0.png
new file mode 100644
index 0000000..e845bd7
Binary files /dev/null and b/readthedocs/examples/example7_files/example7_4_0.png differ
diff --git a/readthedocs/examples/example7_files/example7_7_0.png b/readthedocs/examples/example7_files/example7_7_0.png
new file mode 100644
index 0000000..04505e3
Binary files /dev/null and b/readthedocs/examples/example7_files/example7_7_0.png differ
diff --git a/readthedocs/examples/example7_files/example7_8_0.png b/readthedocs/examples/example7_files/example7_8_0.png
new file mode 100644
index 0000000..aef0eee
Binary files /dev/null and b/readthedocs/examples/example7_files/example7_8_0.png differ
diff --git a/readthedocs/examples/example8.rst b/readthedocs/examples/example8.rst
new file mode 100644
index 0000000..048d7d1
--- /dev/null
+++ b/readthedocs/examples/example8.rst
@@ -0,0 +1,20748 @@
+
+MinDE System with Mesoscopic Simulator
+======================================
+
+Fange D, Elf J (2006) Noise-Induced Min Phenotypes in E. coli. PLoS
+Comput Biol 2(6): e80. doi:10.1371/journal.pcbi.0020080
+
+.. code:: ipython2
+
+ %matplotlib inline
+ from ecell4 import *
+
+Declaring ``Species`` and ``ReactionRule``\ s:
+
+.. code:: ipython2
+
+ with species_attributes():
+ D | DE | {"D": "0.01", "location": "M"}
+ D_ADP | D_ATP | E | {"D": "2.5", "location": "C"}
+
+ with reaction_rules():
+ D_ATP + M > D | 0.0125
+ D_ATP + D > D + D | 9e+6 * (1e+15 / N_A)
+ D + E > DE | 5.58e+7 * (1e+15 / N_A)
+ DE > D_ADP + E | 0.7
+ D_ADP > D_ATP | 0.5
+
+ m = get_model()
+
+Make a ``World``. The second argument, ``0.05``, means its subvolume
+length:
+
+.. code:: ipython2
+
+ w = meso.MesoscopicWorld(Real3(4.6, 1.1, 1.1), 0.05)
+ w.bind_to(m)
+
+Make a structures. ``Species`` ``C`` is for cytoplasm, and ``M`` is for
+membrane:
+
+.. code:: ipython2
+
+ rod = Rod(3.5, 0.55, w.edge_lengths() * 0.5)
+ w.add_structure(Species("C"), rod)
+ w.add_structure(Species("M"), rod.surface())
+
+Throw-in molecules:
+
+.. code:: ipython2
+
+ w.add_molecules(Species("D_ATP"), 2001)
+ w.add_molecules(Species("D_ADP"), 2001)
+ w.add_molecules(Species("E"), 1040)
+
+Run a simulation for 120 seconds. Two ``Observer``\ s below are for
+logging. ``obs1`` logs only the number of molecules, and ``obs2`` does a
+whole state of the ``World``.
+
+.. code:: ipython2
+
+ sim = meso.MesoscopicSimulator(w)
+ obs1 = FixedIntervalNumberObserver(0.1, [sp.serial() for sp in m.list_species()])
+ obs2 = FixedIntervalHDF5Observer(1.0, 'minde%03d.h5')
+
+.. code:: ipython2
+
+ from ecell4.util.progressbar import progressbar
+
+.. code:: ipython2
+
+ duration = 120
+ progressbar(sim, timeout=1).run(duration, (obs1, obs2))
+
+
+.. parsed-literal::
+
+ [############################] 100.0% Elapsed: 00:30:18 ETA: 00:00:00
+
+
+Visualize the final state of the ``World``:
+
+.. code:: ipython2
+
+ viz.plot_world(w, radius=0.01, species_list=('D', 'DE'))
+
+
+
+.. raw:: html
+
+ <html>
+ <head>
+ <script type="text/javascript">
+ (function(){
+ if(window["THREE"] === undefined || window["d3"] === undefined){
+ require.config({
+ paths:{
+ d3: [
+ 'https://d3js.org/d3.v3.min',
+ 'custom/d3.min'
+ ],
+ THREE: [
+ 'https://cdnjs.cloudflare.com/ajax/libs/three.js/r66/three.min',
+ 'custom/three.min'
+ ],
+ Elegans: [
+ 'https://cdn.rawgit.com/domitry/elegans/15e85b0dafdb6f09181c1ee2f0c47218f6fd698d/release/elegans.min',
+ 'custom/elegans'
+ ]
+ },
+ shim:{
+ THREE: {
+ exports: 'THREE'
+ },
+ Elegans: {
+ deps: ['THREE'],
+ exports: 'Elegans'
+ }
+ }
+ });
+
+ require(["d3", "THREE"], function(d3){
+ window["d3"] = d3;
+
+ d3.select(document)
+ .on("contextmenu", function(){
+ d3.selectAll("canvas").style("z-index", 10);
+ d3.selectAll(".download_menu").style("z-index", 100);
+ });
+ });
+ }
+
+ require(["Elegans"], function(){
+ console.log("Begin rendering...");
+ var model = {"options": {"save_image": true, "range": {"y": [-1.7499999999999998, 2.8499999999999996], "z": [-1.7499999999999998, 2.8499999999999996], "x": [0.0, 4.6]}, "grid": true, "world_width": 350, "autorange": false, "world_height": 350}, "plots": [{"type": "Particles", "options": {"name": "D", "color": "#a6cee3", "size": 0.06521739130434784}, "data": {"y": [0.4954793289769441, 1.0818914355360905, 0.007984977890737354, 1.0814392077620143, 0.2278120046714321, 0.660149050957988 [...]
+ // Elegans.Embed.parse("#"+"viz4100be8c-7e87-45cb-a0cf-532ce316ddbe",model).render();
+ var stage = Elegans.Embed.parse("#"+"viz4100be8c-7e87-45cb-a0cf-532ce316ddbe",model);
+ stage.world.camera.position.set(-22, 23, 32);
+ stage.world.camera.rotation.set(-0.6, 0.5, 0.6);
+ stage.render();
+ });
+ })();
+ </script>
+ </head>
+ <body>
+ <div id="viz4100be8c-7e87-45cb-a0cf-532ce316ddbe"></div>
+ </body>
+ </html>
+
+
+Plot a time course of the number of molecules:
+
+.. code:: ipython2
+
+ viz.plot_number_observer(obs1)
+
+
+
+.. image:: example8_files/example8_18_0.png
+
+
+.. code:: ipython2
+
+ viz.plot_movie_with_matplotlib(obs2, species_list=('D', 'DE'))
+
+
+
+.. raw:: html
+
+ <video controls>
+ <source src="data:video/x-webm;base64,GkXfowEAAAAAAAAfQoaBAUL3gQFC8oEEQvOBCEKChHdlYm1Ch4ECQoWBAhhTgGcBAAAAABHksxFN
+ m3RALU27i1OrhBVJqWZTrIHfTbuMU6uEFlSua1OsggEwTbuNU6uEHFO7a1OsgxHkluwBAAAAAAAA
+ owAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmAQAA
+ AAAAAEUq17GDD0JATYCNTGF2ZjU2LjQwLjEwMVdBjUxhdmY1Ni40MC4xMDFzpJC50pw0GOtl4f2c
+ /8xSkraeRImIQNLoAAAAAAAWVK5rAQAAAAAAAEGuAQAAAAAAADjXgQFzxYEBnIEAIrWcg3VuZIaF
+ Vl9WUDiDgQEj44OECYloAOABAAAAAAAADLCCAli6ggJYU8CBAR9DtnUBAAAAAAUH9OeBAKABAAAA
+ AAAzOKFwkoEAAAAwEgGdASpYAlgCAAcIhYWIhYSIAgO3an7f9u+rvT3/Hn+QdJmuE6gcoH+q6QH+
+ A/zz/Pf2D2K/7N0gPAA/rd6O/+8/unwC/sN+3PwB/qTqufz7/Bf5D8bv2A9Z/81/nfxm/bbuyfeP
+ rF+2f9y+9z9m/nPDF8Z9yHk0/AP3L8ev7z/wP7/93f5f7T/2O/mft38zf9P8Lv2c/rf2C/ln8Z/t
+ 34qf2b/ef3b/y/B//o/jN40Orf8D7M/gF9m/sH91/GL++/8T/Ff+/77e534c+8/+V+2H5NfQD/P/
+ 6J/YvyS/vX/Z97b++eUr+H/6P9f/Gn6BP4v/Nv8V/ev8T/mv7l/2/uI/0/+J/q/9H/uv9h///ip+
+ kf7H/j/lP/hf/n+BH8i/k/9d/t/+G/xX91/9f7+fnT7Nf3O9h79R/vD/f+n9BmZmZmZmZmZmZmZm
+ ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm
+ ZmZmZmZmZmZmZmZmZmZmZmZmZmW88wyxnQPimfJ44FQH8ZCfJscpANVVVVVVVVVVUjOhHbE3c8AA
+ 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
+ 2tsJE4ti3oMXI4UPJYbvMS6joGyIzirss6sFStY8/3FW2YcaL8JPvJ3n9zfH0CaCo8cZkUZHw6kr
+ pFlHo1Ehpce4hY7a6OGRFs4FVv69Tsp+njWWKrHyoOhMdtSGHv0cXv+4qt4jj0Mn2bOFy7MP7OLa
+ A94zd0B/ZVZ7NJ5xSswAdaEBAAAAAAACmaYBAAAAAAACkO6BAaVCinBPAJ0BKlgCWAIARwiFhYiF
+ hIgCAgAGFgT3BoFkn2vbmyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4
+ eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4
+ eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4
+ eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4
+ eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4
+ eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4
+ eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4
+ eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4
+ eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4
+ eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4
+ eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eycu
+ AP7/uoMAoAEAAAAAABOxoVNegQCgALE+AAQQMAAYDKsaFdPk//F/t3JyeJOQ+R+yn/y/4P03+on8
+ 8f873Av03/Xb2j/539L/cD/Wv9/6Jn+I/+/++9pb///6D3P/s/7BP9T/zn//9or/l+wb+1vn/+y9
+ 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
+ " type="video/webm">
+ Your browser does not support the video tag.
+ </video>
+
+
diff --git a/readthedocs/examples/example8_files/example8_18_0.png b/readthedocs/examples/example8_files/example8_18_0.png
new file mode 100644
index 0000000..d39ecb9
Binary files /dev/null and b/readthedocs/examples/example8_files/example8_18_0.png differ
diff --git a/readthedocs/examples/example9.rst b/readthedocs/examples/example9.rst
new file mode 100644
index 0000000..65d16a5
--- /dev/null
+++ b/readthedocs/examples/example9.rst
@@ -0,0 +1,36038 @@
+
+MinDE System with Spatiocyte Simulator
+======================================
+
+.. code:: ipython2
+
+ %matplotlib inline
+ from ecell4 import *
+
+Declaring Species and ReactionRules:
+
+.. code:: ipython2
+
+ with species_attributes():
+ cytoplasm | {'radius': '1e-8', 'D': '0'}
+ MinDatp | MinDadp | {'radius': '1e-8', 'D': '16e-12', 'location': 'cytoplasm'}
+ MinEE_C | {'radius': '1e-8', 'D': '10e-12', 'location': 'cytoplasm'}
+ membrane | {'radius': '1e-8', 'D': '0', 'location': 'cytoplasm'}
+ MinD | MinEE_M | MinDEE | MinDEED | {'radius': '1e-8', 'D': '0.02e-12', 'location': 'membrane'}
+
+ with reaction_rules():
+ membrane + MinDatp > MinD | 2.2e-8
+ MinD + MinDatp > MinD + MinD | 3e-20
+ MinD + MinEE_C > MinDEE | 5e-19
+ MinDEE > MinEE_M + MinDadp | 1
+ MinDadp > MinDatp | 5
+ MinDEE + MinD > MinDEED | 5e-15
+ MinDEED > MinDEE + MinDadp | 1
+ MinEE_M > MinEE_C | 0.83
+
+ m = get_model()
+
+Make a World.
+
+.. code:: ipython2
+
+ f = spatiocyte.SpatiocyteFactory(1e-8)
+ w = f.create_world(Real3(4.6e-6, 1.1e-6, 1.1e-6))
+ w.bind_to(m)
+
+Make a Structures.
+
+.. code:: ipython2
+
+ rod = Rod(3.5e-6, 0.51e-6, w.edge_lengths() * 0.5)
+ w.add_structure(Species('cytoplasm'), rod)
+ w.add_structure(Species('membrane'), rod.surface())
+
+
+
+
+.. parsed-literal::
+
+ 47500
+
+
+
+Throw-in molecules.
+
+.. code:: ipython2
+
+ w.add_molecules(Species('MinDadp'), 1300)
+ w.add_molecules(Species('MinDEE'), 700)
+
+Run a simulation for 240 seconds.
+
+.. code:: ipython2
+
+ sim = f.create_simulator(m, w)
+
+.. code:: ipython2
+
+ #from functools import reduce
+ #alpha = reduce(lambda x, y: min(x, sim.calculate_alpha(y)), m.reaction_rules())
+ #sim.set_alpha(alpha)
+
+.. code:: ipython2
+
+ from ecell4.util.progressbar import progressbar
+
+.. code:: ipython2
+
+ obs1 = FixedIntervalNumberObserver(0.1, ('MinDatp', 'MinDadp', 'MinEE_C', 'MinD', 'MinEE_M', 'MinDEE', 'MinDEED'))
+
+.. code:: ipython2
+
+ obs2 = FixedIntervalHDF5Observer(1.0, "minde%03d.h5")
+
+.. code:: ipython2
+
+ duration = 240
+
+.. code:: ipython2
+
+ progressbar(sim, timeout=1).run(duration, (obs1, obs2))
+
+
+.. parsed-literal::
+
+ [############################] 100.0% Elapsed: 00:40:46 ETA: 00:00:00
+
+
+.. code:: ipython2
+
+ viz.plot_number_observer(obs1)
+
+
+
+.. image:: example9_files/example9_18_0.png
+
+
+.. code:: ipython2
+
+ viz.plot_movie_with_matplotlib([spatiocyte.SpatiocyteWorld("minde%03d.h5" % i) for i in range(obs2.num_steps())], species_list=('MinD', 'MinEE_M', 'MinDEE', 'MinDEED'))
+
+
+
+.. raw:: html
+
+ <video controls>
+ <source src="data:video/x-webm;base64,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
+ UD1nC/aoenVENWYXuaMGZdajWM6eIKSNdhY1f4GFqlyHmRRvE6yzkdndeTqy8392WOVtHUAD1CHS
+ ZEkIG6uheklRvb/1fpaOhkcg9wq3bAcUmopF4Q1GNJahOp8BpA7ePFbTEQIj6sExpIIroB6jNFZA
+ VUpXOL6VRZQQ7eOQIdJkSQgbq6rHVMvtOJAWcvPrUx90GVV/s70Qu8Vh8w6NFKBOIsWNuJsOLyT8
+ lpguJWRRviRmgB9kEsqqOqbLS0B/7CLaajXC5iEAHa/1507VUu0a1yKMtTMdxlHqQrfr5PyhlRCQ
+ +V31kpxKxtyxWCDs5C7TkmlN0QIs0f66ngptgnEWb92RjRJH2c/D4tyYEgCNuDO6XnxuxkdAwnRl
+ XCn+Ol0XWPX+vOna/150v6T1/GVF1RcRDbNwpo1guXwyGelOyLCdbJtGUH7hDGVdrSMH3pWU12Vv
+ mayPGvi/V3sJUcs+O4SniW1m9kf3boeomKJCBurqul4svWFA9bjB1AUmKJ4IBu7l2M6QLh1N6L6W
+ ha9jEws6lwhZWejRPL5AeVsfkuzyBEt3+W+yEaQ+ule/TQz85V3eAUud20l4iBze6R9CFnmsAzvo
+ mTZeGi0ADdXVdO1/rzjb8MOcYxX7sRFMpOdV0x7xQvUool6IuEdDEjjCQCKEJ9H9kRIaix0jz9c4
+ azEvUC+jA+A9+5T49u04W/jKz0ak3SkHv8feV+RosE1pqTe6JUpgvI8uES/FzNINQnDU44Rh87a8
+ G6uq6dr/XnTtfYSJkZAmVsnug3KuN2ZFnud1RvG3AQanahApPSEO3D296BpqoutvKS/Lnu4O8w5T
+ mZjVU6w1a+MTPmx0cmGKzzjxJDTxcnvDpMiSEDdXVdO1/rP9y4rPRw8dzDwHf0tpKAWsJRTjcUS9
+ cZRf9lNhcTvtEocM5f5R9MbygqIZ9mZywG8gPqvf/GaX6nUhoYpsS3n9c+Egt6c9+mJU9uUsuq6d
+ r/XnTtfMSL7oeWGR1JvN+LJ6Wqvo/ve7ioFEuKJeuMpHdbXpxKNl2v9edO1/rzp2v9edO1/rzp2v
+ 9edO1/rzp2v9edO1/rzp2v9edO1/rzp2v9edO1/rzp2v9edO1/rzp2v9edO1/rzp2v9edO1/rzp2
+ v9edO1/rzp2v9edO1/rzp2v9edO1/rzp2v9edO18wP7/o+i7pb2wf0OLsl4jbUCb4LrjWtHFqCW6
+ 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
+ 69gO2T53AL2UztI2SUDSSIjd0O38EApFMPXbWkQBfvReC4Md4Wi0uUrfXRvG2f60gpp6TDKJ5rLH
+ TkDLA39Ed2bAKQD4cAjnSsKH4OoWPz271u0BGOl/266DDC7htHtDqi+TMYQArwXceZvdQILYFQBt
+ FyraQ13Y+S/+UoeOJlWmjExe08pyTFYmzLe3pl0iBkbH5wD4n6jkG+OLQ55hhNVsSwE/J+pGsFp2
+ i+jcLy61R26cvD6pg4GfN5eHc1cNa7+LL7qBZYGQLeEfATUI0FMMKVtoVO7Szx9DKrt1QCKJx/hM
+ MVXZlrm7D6XCalbGSAFTOr8/FFBTFrwD8g0+aT25ZsCn7y/ovyACrePwcyLA6fC88HizPQUAvyNe
+ lJRamlJRPxHu53JylO+FYe7epdzicHijjwmtktBttKmgctaU2Q82+oDKiWUx032oJbUbVrhsMhus
+ PnJIqV5ZSm0t4Yc8Spbz+pFrFUnuFufs2VCp4VOpKjpTy6yeiW7VONii774hRyefnrASHyv76Aik
+ O2e1NJrb1iR9hyeOc4JRC90EzZHQ3tJpQNkxAqRMi93rbdeZFQFu/VLjCM12kP6L67muIJp3+qMW
+ rzox6N9ovfKeyssE3Dn9i2dbN+ygA4Kvfmo39Q6kOUY5A5w2I+gbAZCFE9bTXtZmB+H3sku0Jl7s
+ wpJz57CAJWbxkPqDsW0Ye4IJZs4Rsvo/A1DbzJ7WNmBewX/Gs/F3YS8hW3GbjzW73H0Yhm97d4Cf
+ qWWb4GOpztiVIq42Ts7IzxWpRYr76jdOAtlE69yyljVrzAB1oQEAAAAAAAKZpgEAAAAAAAKQ7oEB
+ pUKKcE8AnQEqWAJYAgBHCIWFiIWEiAICAAYWBPcGgWSfa9ubJzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7
+ Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7
+ Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7
+ Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7
+ Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7
+ Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7
+ Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7
+ Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7
+ Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7
+ Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7
+ Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7
+ Jzh7Jzh7Jzh7Jzh7Jzh7Jzh7Jy4A/v+6gwCgAQAAAAAAJ/ShZ6GBAKAAsVUABBAwABgNQ7o2gZ8v
+ lwGXxy8RH+zX5xbvb2dHpjdg9+bvuD/zb+o/7n9pf/b8a/n/35veSxwfv/whuoRxh/KD9/s6P/f/
+ /hfNPzAfmx+fPx8xieMR+an50/ZPeNzOP69/yfz/+VH+Q/6vk7/Pv3R/PX5Kv6V/tvzr/y3738y1
+ +xH/1gdTXwgE/lyNLkb5V2X+8DZ4Vc2F2s0x18G7g6F6tTDam3m0miWkgg4x9OGHiw/B8LWLxFX9
+ GNwD1D2M075TA0nyRfFhig3MFtGCbWT6eZAngIWcKp0kIYwV4t4LjE1QLgCdeSA7vqF2Z+2fXeIn
+ WXg6wDPFdQKoGAYLcvcmBARCuJpdfSDgJRPx3oATi68BYMaqOQBbTw4M7m0VIDsuCqhGCGgwXVMJ
+ vSoQBMNscIp7TXPtSKNjcKtDbFf/6i8Aq2NuCo+VkRYFArMLrlNDO1oDGa2491ogbExSljWA+q0N
+ 0gmHcRQFWWzecq1RT+HfV12y+3ImTjQVldPoFoXBZWTKut5z7y2OaCEw1fzZcKunOfUYkuERLm31
+ +krytAEua+TaqzZrYBX8di7YR/o5AWbt1ChCr9QJ/0HaujEcIT5BybdsaUaE8RcwqnvCgOkjmupw
+ F8mM9ihfVMdffQTZ6bhOnIgAQZ+DxYktjyUKnpCFoeuzjo4BijiMPG7pMgn86jI+HCOSe41Njkmd
+ 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
+ kJIQN1dV0udGSdPlAcq49luxneCybo0isDZ40mmAk75IKI7fJ4zTWEl1kVZkngYWqXIeZFG8WQBu
+ gcmIGJlaxuCXV5uDY0uTSsGxurquna/1m9JKje3/q/S0dDI5B7hVu2A4pNRSLwhqMaS1CdT4DSB2
+ 8eK2mIgRH1YJjSQRXQD1GaKyAqpSucX0qiygh28cgQ6TIkhA3V1WOqZfacSAs5efWpj7oMqr/Z3o
+ hd4rD5h0aKUCcRYsbcTYcXkn5LTBcSsijfEjNAD7IJZVUdU2WloD/2EW01GuFzEIAO1/rzp2qpdo
+ 1rkUZamY7jKPUhW/XyflDKiEh8rvrJTiVjblisEHZyF2nJNKbogRZo/11PBTbBOIs37sjGiSPs5+
+ HxbkwJAEbcGd0vPjdjI6BhOjKuFP8dLousev9edO1/rzpf0nr+MqLqi4iG2bhTRrBcvhkM9KdkWE
+ 62TaMoP3CGMq7WkYPvSsprsrfM1keNfF+rvYSo5Z8dwlPEtrN7I/u3Q9RMUSEDdXVdLxZesKB63G
+ DqApMUTwQDd3LsZ0gXDqb0X0tC17GJhZ1LhCys9GieXyA8rY/JdnkCJbv8t9kI0h9dK9+mhn5yru
+ 8Apc7tpLxEDm90j6ELPNYBnfRMmy8NFoAG6uq6dr/XnG34Yc4xiv3YiKZSc6rpj3ihepRRL0RcI6
+ GJHGEgEUIT6P7IiQ1FjpHn65w1mJeoF9GB8B79ynx7dpwt/GVno1JulIPf4+8r8jRYJrTUm90SpT
+ BeR5cIl+LmaQahOGpxwjD5214N1dV07X+vOna+wkTIyBMrZPdBuVcbsyLPc7qjeNuAg1O1CBSekI
+ duHt70DTVRdbeUl+XPdwd5hynMzGqp1hq18YmfNjo5MMVnnHiSGni5PeHSZEkIG6uq6dr/Wf7lxW
+ ejh47mHgO/pbSUAtYSinG4ol64yi/7KbC4nfaJQ4Zy/yj6Y3lBUQz7MzlgN5AfVe/+M0v1OpDQxT
+ YlvP658JBb0579MSp7cpZdV07X+vOna+YkX3Q8sMjqTeb8WT0tVfR/e93FQKJcUS9cZSO62vTiUb
+ Ltf686dr/XnTtf686dr/XnTtf686dr/XnTtf686dr/XnTtf686dr/XnTtf686dr/XnTtf686dr/X
+ nTtf686dr/XnTtf686dr/XnTtf686dr/XnTtf686dr/XnTtf686dr/XnTtf686dr5gD+/6PoutUz
+ 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
+ ghrGS/FDM9oMGHKvgf/BPsIe/358j/NjjgjU1RkuRd/QawYS/6y5e3MAg+Gcr38qN0K49RfGrphK
+ w4uZt9HTSnXfYRInkhDUomG7WHLEf8RRul3xexDSbyuIXFAZLrXKyoJOr8qa6rjOqax5XNK17R9Q
+ wQMsoyaCz7hEMHbX3YKb3/CWBmVX4xYM9KQhcjO5bNmGmk0jBsmKffFtdYuI9c2HxTvG3EZbhElB
+ E4zEEZZ1nMPbCpwwQIHNlDn5BYxYUojovXiOAw4DjSu88FWv3gT4OlnkhQ5D0ohuyYOBDmXcwryd
+ kMX1f8A80iIrNTvPhhhflER2jRxUmYQuZ2KlXBKI8J0STpy93sIi7DZ5BrHvEuaWNbjRnFSlhSzK
+ 5Wkg0EX09rQmEyXbTzsCUKa3yxtzbSvv3aHKE0khb0+HdRWjiuZNBPTxgfA+61iUY+V7QT2vsPMj
+ U1/XpItyA/Wo7bB3FU8fKwIFtXPrI7sh+LDOrX2yPJvuXuAAdaEBAAAAAAACmaYBAAAAAAACkO6B
+ AaVCinBPAJ0BKlgCWAIARwiFhYiFhIgCAgAGFgT3BoFkn2vbmyc4eyc4eyc4eyc4eyc4eyc4eyc4
+ eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4
+ eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4
+ eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4
+ eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4
+ eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4
+ eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4
+ eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4
+ eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4
+ 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
+ +80P/iEyvpxTCSd1JYSzM6ppo1qEIx0o6XHuRWKmO1DfD2xNPc5fdo6IBvIZB+mLgT8QWG+jUM66
+ dwXXf6wB7cvWdJ9UBJSJcSNx9j0f9OPniBGQku6IF0msNvjI0KnnSHKSjAg5abecXIpsMp7IrQst
+ +FE1ZBjJk6xxhyRx8Uq8pDfk/wtbEKat4qHZUUZfEFz/pS9UHVhFoBHSrCyEuRd5ntLGHjfEBZEA
+ 2Z2sPGB0DW3vdHfTJdGLOqmbhCzp4gVa9bROgjlhaqzEjeegSTGsG/z+kYWALubpQlI6V1Xr6Gj1
+ mPuS8UmPLBjm8t8PzyFGzmlUd5WT2OTg28UHQgnXcD2Qo8oY+K3SO0MUw5ZvGlSH8j9Kg6g/TA6K
+ FdbEQBh9umQB+NuD4Limgt2Y+g9SK5zBykbcU4GykpziLd42YjuzFrvIR6EXgGZUHtuBEcj80Lv9
+ d2UwlPeEhALq2INF0nhn+H/5boxfeMYYefJbO2u/K4UZW/wJlrTzp1VS0/fvNEpGp0hXr495yKQG
+ zZJ8Y7VN3HSpAioinTdXB3rO1EGWDMYeP7Do5iOvAnebHrNaptUuli1rbHc2Dn9dTMchYwD87bOr
+ wU7xXaS8kTVBjMAieTxfP8+TgTZjdVhAzZM1l1oobyDWImmotIgiu41Ij6NQ9XW5pynbaCLTfKOb
+ SZQXxC/4pBlDqtwZ760W/hqtVkdX2/Xm7m07SRckkuLlhAU5vz2dxDnfvxKO5/wyXLcLtZ8UqhFM
+ DHgwQ7eL3x3dJXGeGijKZNVTiuUnpxn8hIaR4+WPKWxHfarrUy1qy4/HYPDPVdT5DxguTGq8EbFu
+ w74ZeXdJ5qHLy734I0FeskbkK5IlEZAYlwhduZPkve5e1msKE1ipGIxX0PSlETWCRqHBtF+vvHmH
+ 12q+Tx9zdTU5ez7qb5ybjZByOwhoa7QEY8PR6qn6ANUrDyvRb5TYeNKBmRxyk7beFWwaYwnhKH/n
+ p0ZCYTLWhlnJHkrNPTaTHrre5CpvnWaJeD6pcQhnl2usruEEB7G2mwvQ9RSc4RU2meDg5VKtaFhb
+ PmNPhX1gV2vJLawaeOH/eOgME78fl7HbB3R9dQ1khFczsm6Oyc/rZtmrDIOiQ8GOwCbSAU+TEW8C
+ Hi4Cw/UJyv0DbfvCOvGvayMq2LM2m3d5kLNhJcIpNlkLWu62zXbuiDcpwctGgkBzYVMPq+PmNE3x
+ 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
+ " type="video/webm">
+ Your browser does not support the video tag.
+ </video>
+
+
+.. code:: ipython2
+
+ viz.plot_world(spatiocyte.SpatiocyteWorld("minde240.h5"), species_list=('MinD', 'MinEE_M', 'MinDEE', 'MinDEED'))
+
+
+
+.. raw:: html
+
+ <html>
+ <head>
+ <script type="text/javascript">
+ (function(){
+ if(window["THREE"] === undefined || window["d3"] === undefined){
+ require.config({
+ paths:{
+ d3: [
+ 'https://d3js.org/d3.v3.min',
+ 'custom/d3.min'
+ ],
+ THREE: [
+ 'https://cdnjs.cloudflare.com/ajax/libs/three.js/r66/three.min',
+ 'custom/three.min'
+ ],
+ Elegans: [
+ 'https://cdn.rawgit.com/domitry/elegans/15e85b0dafdb6f09181c1ee2f0c47218f6fd698d/release/elegans.min',
+ 'custom/elegans'
+ ]
+ },
+ shim:{
+ THREE: {
+ exports: 'THREE'
+ },
+ Elegans: {
+ deps: ['THREE'],
+ exports: 'Elegans'
+ }
+ }
+ });
+
+ require(["d3", "THREE"], function(d3){
+ window["d3"] = d3;
+
+ d3.select(document)
+ .on("contextmenu", function(){
+ d3.selectAll("canvas").style("z-index", 10);
+ d3.selectAll(".download_menu").style("z-index", 100);
+ });
+ });
+ }
+
+ require(["Elegans"], function(){
+ console.log("Begin rendering...");
+ var model = {"options": {"save_image": true, "world_width": 350, "range": {"z": [-1.75e-06, 2.85e-06], "y": [-1.75e-06, 2.85e-06], "x": [0.0, 4.6e-06]}, "grid": true, "world_height": 350, "autorange": false}, "plots": [{"options": {"color": "#a6cee3", "size": 0.06521739130434782, "name": "MinD"}, "data": {"z": [9e-08, 1.5e-07, 1.4e-07, 5.2e-07, 3.8e-07, 1.2000000000000002e-07, 1e-07, 1.8e-07, 9.7e-07, 2.8e-07, 2.1e-07, 3.5e-07, 4e-07, 4e-07, 2.7e-07, 3.1e-07, 6.6e-07, 4.4e-07, 6.5e [...]
+ // Elegans.Embed.parse("#"+"vizea62f03b-780e-43ec-9adb-470fe2446cac",model).render();
+ var stage = Elegans.Embed.parse("#"+"vizea62f03b-780e-43ec-9adb-470fe2446cac",model);
+ stage.world.camera.position.set(-22, 23, 32);
+ stage.world.camera.rotation.set(-0.6, 0.5, 0.6);
+ stage.render();
+ });
+ })();
+ </script>
+ </head>
+ <body>
+ <div id="vizea62f03b-780e-43ec-9adb-470fe2446cac"></div>
+ </body>
+ </html>
+
+
diff --git a/readthedocs/examples/example9_files/example9_18_0.png b/readthedocs/examples/example9_files/example9_18_0.png
new file mode 100644
index 0000000..625e18f
Binary files /dev/null and b/readthedocs/examples/example9_files/example9_18_0.png differ
diff --git a/readthedocs/images/ecell-logo-with-title.png b/readthedocs/images/ecell-logo-with-title.png
new file mode 100755
index 0000000..2f333f7
Binary files /dev/null and b/readthedocs/images/ecell-logo-with-title.png differ
diff --git a/readthedocs/images/gfrd.png b/readthedocs/images/gfrd.png
new file mode 100644
index 0000000..e0a08e2
Binary files /dev/null and b/readthedocs/images/gfrd.png differ
diff --git a/readthedocs/images/hairball.png b/readthedocs/images/hairball.png
new file mode 100644
index 0000000..2b56401
Binary files /dev/null and b/readthedocs/images/hairball.png differ
diff --git a/readthedocs/images/intro_28_0.png b/readthedocs/images/intro_28_0.png
new file mode 100644
index 0000000..44dcb2f
Binary files /dev/null and b/readthedocs/images/intro_28_0.png differ
diff --git a/readthedocs/images/intro_31_0.png b/readthedocs/images/intro_31_0.png
new file mode 100644
index 0000000..9525345
Binary files /dev/null and b/readthedocs/images/intro_31_0.png differ
diff --git a/readthedocs/images/intro_37_0.png b/readthedocs/images/intro_37_0.png
new file mode 100644
index 0000000..44dcb2f
Binary files /dev/null and b/readthedocs/images/intro_37_0.png differ
diff --git a/readthedocs/images/meso_10_0.png b/readthedocs/images/meso_10_0.png
new file mode 100644
index 0000000..10eb232
Binary files /dev/null and b/readthedocs/images/meso_10_0.png differ
diff --git a/readthedocs/images/meso_12_0.png b/readthedocs/images/meso_12_0.png
new file mode 100644
index 0000000..bce7569
Binary files /dev/null and b/readthedocs/images/meso_12_0.png differ
diff --git a/readthedocs/images/meso_32_0.png b/readthedocs/images/meso_32_0.png
new file mode 100644
index 0000000..344b3d1
Binary files /dev/null and b/readthedocs/images/meso_32_0.png differ
diff --git a/readthedocs/images/meso_33_0.png b/readthedocs/images/meso_33_0.png
new file mode 100644
index 0000000..505188c
Binary files /dev/null and b/readthedocs/images/meso_33_0.png differ
diff --git a/readthedocs/images/meso_7_0.png b/readthedocs/images/meso_7_0.png
new file mode 100644
index 0000000..4af4ad3
Binary files /dev/null and b/readthedocs/images/meso_7_0.png differ
diff --git a/readthedocs/images/output_7_0.png b/readthedocs/images/output_7_0.png
new file mode 100644
index 0000000..40af939
Binary files /dev/null and b/readthedocs/images/output_7_0.png differ
diff --git a/readthedocs/images/spatiocyte3.png b/readthedocs/images/spatiocyte3.png
new file mode 100644
index 0000000..df63f2f
Binary files /dev/null and b/readthedocs/images/spatiocyte3.png differ
diff --git a/readthedocs/images/spatiocyte_21_0.png b/readthedocs/images/spatiocyte_21_0.png
new file mode 100644
index 0000000..c62af85
Binary files /dev/null and b/readthedocs/images/spatiocyte_21_0.png differ
diff --git a/readthedocs/images/spatiocyte_48_0.png b/readthedocs/images/spatiocyte_48_0.png
new file mode 100644
index 0000000..793ba59
Binary files /dev/null and b/readthedocs/images/spatiocyte_48_0.png differ
diff --git a/readthedocs/images/worldsim_1_0.png b/readthedocs/images/worldsim_1_0.png
new file mode 100644
index 0000000..44dcb2f
Binary files /dev/null and b/readthedocs/images/worldsim_1_0.png differ
diff --git a/readthedocs/images/worldsim_24_0.png b/readthedocs/images/worldsim_24_0.png
new file mode 100644
index 0000000..a8071d7
Binary files /dev/null and b/readthedocs/images/worldsim_24_0.png differ
diff --git a/readthedocs/images/worldsim_28_0.png b/readthedocs/images/worldsim_28_0.png
new file mode 100644
index 0000000..f45481f
Binary files /dev/null and b/readthedocs/images/worldsim_28_0.png differ
diff --git a/readthedocs/index.rst b/readthedocs/index.rst
new file mode 100644
index 0000000..5ae40bb
--- /dev/null
+++ b/readthedocs/index.rst
@@ -0,0 +1,67 @@
+.. image:: ./images/ecell-logo-with-title.png
+
+E-Cell System version 4 API reference
+=================================================
+
+E-Cell System is a software platform for modeling, simulation and
+analysis of complex, heterogeneous and multi-scale systems like the
+cell.
+
+E-Cell4 is a free and open-source software licensed under the GNU
+General Public License version 2.
+The source code is available on
+`GitHub <https://github.com/ecell/ecell4>`__.
+
+Please refer to https://github.com/ecell/ecell4 for information about **installation instructions**.
+
+Tutorials
+---------
+
+.. toctree::
+ :glob:
+
+ tutorials/tutorial1
+ tutorials/tutorial2
+ tutorials/tutorial3
+ tutorials/tutorial4
+ tutorials/tutorial5
+ tutorials/tutorial6
+ tutorials/tutorial7
+ tutorials/tutorial8
+ tutorials/tutorial9
+ tutorials/tutorial10
+
+Examples
+--------
+
+.. toctree::
+ :glob:
+
+ examples/example1
+ examples/example2
+ examples/example3
+ examples/example4
+ examples/example5
+ examples/example6
+ examples/example7
+ examples/example8
+ examples/example9
+ examples/example10
+ examples/example11
+
+API
+---
+
+.. toctree::
+ :glob:
+
+ api/core
+ api/gillespie
+ api/ode
+ api/meso
+ api/spatiocyte
+ api/bd
+ api/egfrd
+ api/util
+ api/util.viz
+ api/util.decorator
diff --git a/readthedocs/installation.md b/readthedocs/installation.md
new file mode 100644
index 0000000..f85525f
--- /dev/null
+++ b/readthedocs/installation.md
@@ -0,0 +1,170 @@
+Installation and usage
+======================
+
+- [Installation](#installation)
+ - [Requirements](#requirements)
+ - [Windows](#windows)
+ - [Mac Linux](#mac-linux)
+
+- [How to try E-Cell4 examples](#how-to-try-e-cell4-examples)
+
+- [Simple examples](#simple-examples)
+ - [A reversible binding reaction](#a-reversible-binding-reaction)
+ - [Particle tracking on a spherical surface](#particle-tracking-on-a-spherical-surface)
+
+- [Docker container for E-Cell4](#docker-container-for-e-cell4)
+
+Installation
+------------
+
+### Requirements
+
+#### Minimum requirements
+- Python or **32bit** Miniconda for Windows (2.7 and 3.4, 3.5 both major versions are supported [3.4 is only supported on Linux])
+- pip (8.1 and later)
+- hdf5 (required only on **Windows**. works only for **version 1.8.16**)
+
+#### Optional requirements
+We strongly recommend that you run E-Cell4 with [Jupyter Notebook](http://jupyter.org/).
+And some E-Cell4 functions (for visualization, datastore) optionaly depend on
+- matplotlib (**1.5.1** and later)
+- ffmpeg
+- pandas
+
+### Windows
+
+Please use **32bit** [Miniconda](http://conda.pydata.org/miniconda.html), even if you use 64bit Windows.
+We have NOT supported 64bit Python yet.
+
+- Install **32bit** Miniconda for Windows from http://conda.pydata.org/miniconda.html
+- Run the follwing commands on command prompt
+- (**Important**) E-Cell4 for Windows works only for hdf5 version **1.8.16**. Please check the version of hdf5, even if you installed hdf5 before with conda.
+
+ ```shell
+ conda install hdf5 notebook matplotlib
+ pip install ecell
+ ```
+
+Although Jupyter Notebook is optional, we strongly recommend that you run E-Cell4 with jupyter.
+If you use animated visualization with E-Cell4, please install [ffmpeg windows build](http://ffmpeg.zeranoe.com/builds/) and add its path to your **USER** PATH enviromental variable.
+
+### Mac Linux
+
+We recommend that you install [Miniconda](http://conda.pydata.org/miniconda.html) to manage Python packages.
+After installing Miniconda, run the following commands in your terminal.
+
+```shell
+# After installing Miniconda2 or Miniconda3 (Here we assume that you installed Miniconda2).
+~/miniconda2/bin/conda install matplotlib jupyter
+
+# Download E-Cell4 whl file for your Python version from https://github.com/ecell/ecell4/releases before running this command.
+~/miniconda2/bin/pip install ecell
+
+# If you want animation support, install ffmpeg with homebrew
+brew install ffmpeg
+# or if you use Ubuntu Linux
+# apt install ffmpeg
+```
+
+How to try E-Cell4 examples
+---------------------------
+Here we download example notebooks from https://github.com/ecell/ecell4-notebooks and open it with Jupyter Notebook.
+
+### Windows
+Open powershell and run these commands.
+Here we assume that you installed Miniconda(Python2.7) to C:¥Miniconda2
+
+```shell
+cd C:¥Miniconda2¥Scripts
+wget https://github.com/ecell/ecell4-notebooks/archive/master.zip -OutFile master.zip
+Expand-Archive master.zip
+.¥jupyter-notebook.exe .¥master¥ecell4-notebooks-master¥
+```
+
+### Mac Linux
+Here we assume that you installed Miniconda(Python2.7) to ~/miniconda2
+
+```shell
+wget https://github.com/ecell/ecell4-notebooks/archive/master.zip
+unzip master.zip
+cd ecell4-notebooks-master
+~/miniconda2/bin/jupyter-notebook
+```
+
+Simple examples
+---------------
+
+Here are two extremely simple examples, See http://ecell4.readthedocs.org for more details on running E-Cell4.
+
+```
+Python 2.7.6 (default, Mar 22 2014, 22:59:56)
+[GCC 4.8.2] on linux2
+Type "help", "copyright", "credits" or "license" for more information.
+>>> from ecell4.core import *
+>>> sp = Species("B.A.C")
+>>> print sp.serial()
+A.B.C
+>>>
+```
+
+### A reversible binding reaction
+
+```python
+%matplotlib inline
+import numpy
+from ecell4 import *
+
+with reaction_rules():
+ A + B == C | (0.01, 0.3)
+
+y = run_simulation(
+ numpy.linspace(0, 10, 100), {'A': 60, 'B': 60}, solver='ode')
+```
+
+![png](./images/output_7_0.png)
+
+### Particle tracking on a spherical surface
+
+```python
+%matplotlib inline
+from ecell4 import *
+
+with species_attributes():
+ A | {'D': '1', 'location': 'M'}
+
+surface = Sphere(ones() * 0.5, 0.5).surface()
+obs = FixedIntervalTrajectoryObserver(1e-4)
+run_simulation(
+ 0.4, y0={'A': 10}, structures={'M': surface},
+ solver='spatiocyte', observers=obs, return_type=None)
+
+viz.plot_trajectory(obs, interactive=False)
+```
+
+![png](./images/hairball.png)
+
+Docker container for E-Cell4
+----------------------------
+
+You can pull E-Cell4 docker container with `docker pull ecell/ecell4`.
+
+After the following steps, you should see [Jupyter Notebook](http://jupyter.org/) up and running (and E-Cell4 tutorials) in your web browser.
+
+1. Install [Docker](https://www.docker.com/products/docker).
+2. Run Docker.
+3. Run the following commands
+
+ ```shell
+ docker pull ecell/ecell4
+ docker run -dP ecell/ecell4
+ ```
+
+4. Check which port is used by E-Cell4 docker with `docker ps` command.
+
+ ```shell
+ docker ps
+ CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
+ 82b90db240f5 ecell/ecell4 "/bin/sh -c 'jupyter-" 7 seconds ago Up 6 seconds 0.0.0.0:32768->8888/tcp clever_raman
+ ```
+
+5. Open the PORT in `docker ps` command with your web browser. In the case of the above example, you will open `0.0.0.0:32768`
diff --git a/readthedocs/old/Introduction.md b/readthedocs/old/Introduction.md
new file mode 100644
index 0000000..8644ce1
--- /dev/null
+++ b/readthedocs/old/Introduction.md
@@ -0,0 +1,293 @@
+
+# Introduction
+
+## E-Cell4 fundamental components
+There are three fundamental components to understand E-Cell4.
+That's **Model**, **World**, **Simulator**.
+These components describe concepts for the simulation.
+
+**Model** as its name suggests, describes the matter to simulate.
+**World** describes the state. For example, initial state or a state of a time-point.
+**Simulator** describes the solver and algorithm.
+
+These three components are independent, but **World** is often combined with **Simulator**. (the reason discussed below)
+
+## A basic model in E-Cell 4
+
+**Model** is composed of a variety of **Species** and **ReactionRule**s.
+
+**Species** describes the molecule entities (e.g. protein, compound) in the model. **Species** also has its attributes like molecule size.
+**ReactionRule** describes the interactions between the **Species** (e.g. association, dissociation).
+
+## Species
+
+We'll show you how to create **Species**.
+
+
+```python
+from ecell4 import *
+
+A = Species("A")
+B = Species("B")
+```
+
+each expression describes a **Species** named **A** or **B**.
+**A** describes not a specific molecule, but a type of molecule.
+#### Caution
+Species name(we call this **Serial**) has a number of naming rules,
+The naming requires attention to use special symbol (e.g. parenthesis **()**, dot **.**, underbar **_**, numbers, and space.
+
+<hr>
+
+You can add attributes to Species,
+
+
+```python
+A = Species("A")
+A.set_attribute("radius", "0.005")
+A.set_attribute("D", "1")
+A.set_attribute("location", "cytoplasm")
+```
+
+The 1st argument for **set_attribute** is the name of attribute.
+The 2nd argument is the value.
+Both have to be string.
+
+Radius, diffusion coefficient, location are frequently used, so there is a shortcut for this.
+
+
+```python
+A = Species("A", "0.005", "1", "cytoplasm") # XXX: serial, radius, D, location
+```
+
+When you want to inspect the **Species** attributes, please write as follows.
+
+
+```python
+print(A.serial()) # will return 'A'
+print(A.get_attribute("D")) # will return '1'
+```
+
+ A
+ 1
+
+
+## ReactionRule
+ReactionRule describes the transition of the molecule types from **Reactants** to **Products**. ReactionRule requires at least a kinetic rate attribute, this has to be number.
+
+
+```python
+rr = ReactionRule()
+rr.add_reactant(Species("A"))
+rr.add_product(Species("B"))
+rr.set_k(1.0)
+```
+
+Now you created a reaction from **A** to **B**. In this reaction definition, you don't need to assign values to **Species**.
+
+You can also create a binding reaction as follows
+
+
+```python
+rr = ReactionRule()
+rr.add_reactant(Species("A"))
+rr.add_reactant(Species("B"))
+rr.add_product(Species("C"))
+rr.set_k(1.0)
+```
+
+A Binding **A** and **B** creates **C**. There are utility functions for binding and unbinding **ReactionRule**s.
+
+
+```python
+rr1 = create_unimolecular_reaction_rule(Species("A"), Species("B"), 1.0)
+rr2 = create_binding_reaction_rule(Species("A"), Species("B"), Species("C"), 1.0)
+rr3 = create_binding_reaction_rule(Species("C"), Species("A"), Species("B"), 1.5)
+```
+
+When you want to inspect the **ReactionRule**, please use **as_string** function.
+
+
+```python
+print(rr3.as_string()) # will return 'C+A>B|1.5'
+```
+
+ C+A>B|1.5
+
+
+## NetworkModel
+
+Now you have created components for a **Model**, next we register these components on a **Model**.
+
+
+```python
+sp1 = Species("A", "0.005", "1")
+sp2 = Species("B", "0.005", "1")
+sp3 = Species("C", "0.01", "0.5")
+rr1 = create_binding_reaction_rule(Species("A"), Species(b"B"), Species("C"), 0.01)
+rr2 = create_unbinding_reaction_rule(Species("C"), Species("A"), Species("B"), 0.3)
+
+m = NetworkModel()
+m.add_species_attribute(sp1)
+m.add_species_attribute(sp2)
+m.add_species_attribute(sp3)
+m.add_reaction_rule(rr1)
+m.add_reaction_rule(rr2)
+
+```
+
+To add a **Species**, use **add_species_attribute**.
+To add a **ReactionRule**, use **add_reaction_rule**.
+Now you created a **Model** for simple association and dissociation.
+
+To inspect a **Model**, use **species_attributes**, **reaction_rules**, and **num_reaction_rules()**.
+
+
+```python
+print(m.species_attributes())
+print(m.reaction_rules())
+m.num_reaction_rules()
+
+# will return like:
+# [<ecell4.core.Species object at 0x7f36443bfa98>, <ecell4.core.Species object at 0x7f36443bfab0>, <ecell4.core.Species object at 0x7f36443bfac8>]
+# [<ecell4.core.ReactionRule object at 0x7f36443bfa98>, <ecell4.core.ReactionRule object at 0x7f36443bfab0>]
+# 2
+```
+
+ [<ecell4.core.Species object at 0x1165b3a68>, <ecell4.core.Species object at 0x1165b3ac8>, <ecell4.core.Species object at 0x1165b3ae0>]
+ [<ecell4.core.ReactionRule object at 0x1165b3a68>, <ecell4.core.ReactionRule object at 0x1165b3ac8>]
+
+
+
+
+
+ 2
+
+
+
+NetworkModel also contains Species attributes. These attributes are indispensable for particle and lattice simulations, but not necessarily needed for gillespie and ode.
+
+NetworkModel attributes a Species based on the registered Species.
+
+## A simple simulation with E-Cell4
+
+Yet we have not explained **World** and **Simulator**, we show you a simple simulation result.
+
+E-Cell4 has a utility function named **run_simulation** for simple demo.
+This function runs on an environment installed IPython Notebook and matplotlib.
+
+
+```python
+%matplotlib inline
+# XXX: 'm' is a NetworkModel, which is described in Model tutorial (http://nbviewer.ipython.org/github/ecell/ecell4/blob/develop/ipynb/Tutorials/ModelBasics.ipynb) .
+
+import numpy
+t = numpy.linspace(0, 10, 100) # [0.0, 0.1, 0.2, ..., 9.9, 10.0]
+y = run_simulation(t, {'C': 60}, volume=1.0, model=m)
+```
+
+
+![png](intro_28_0.png)
+
+
+**run_simulation** records the number of molecules for time **t** and plots the time-series simulation result.
+In this case, we recorded the simulation for 10 seconds per 0.1 second.
+The second argument is initial value. We started the simulation from the 60 **C** molecules.
+**volume** is the volume for this simulation, and we set a network model to **model**.
+
+You can also plot stochastic simulation result.
+
+
+```python
+y = run_simulation(t, {'C': 60}, volume=1.0, model=m, solver='gillespie')
+```
+
+
+![png](intro_31_0.png)
+
+
+You can simalate a model with different methods like this.
+E-Cell system completely separates the model and simulation methods.
+
+
+## Special model notation in E-Cell4
+
+We created **Species** and **ReactionRule**, then set them to **NetworkModel** and simulated it.
+But the model description is cumbersome even in simple association and dissociation.
+
+So E-Cell4 has shortcuts to describe this model.
+Here we show a shortcut about **ReactionRule**.
+Before using the shortcut, please remove the reactant Species **A** and **B** we created in global scope above.
+(You don't need to remove the product **C**)
+
+
+```python
+del A
+del B
+```
+
+
+```python
+with reaction_rules():
+ A + B > C | 0.01 # equivalent to create_binding_reaction_rule
+ C > A + B | 0.3 # equivalent to create_unbinding_reaction_rule
+
+m = get_model()
+```
+
+Please use **with** statement for E-Cell4 special notation.
+You can use special notation under this **with** scope.
+Please remember to write **()** after **reaction_rules**.
+
+The syntax speaks for itself. The number after separator **|** is kinetic constant.
+The syntax must be valid Python, so take care in using line breaks.
+
+If you do NOT `del A` and `del B`, `A + B` is expanded to `Species("A")` + `Species("B")`.
+This causes an error like `TypeError: unsupported operand type(s) for +: 'ecell4.core.Species' and 'ecell4.core.Species'`.
+Do not forget to `del A` and `del B` if you created **Species** **A** and **B** above.
+
+For reversible reaction, please use **==**
+
+
+```python
+with reaction_rules():
+ A + B == C | (0.01, 0.3)
+
+y = run_simulation(numpy.linspace(0, 10, 100), {'C': 60}, volume=1.0)
+```
+
+
+![png](intro_37_0.png)
+
+
+$$\frac{\mathrm{d[A]}}{\mathrm{d}t}=\frac{\mathrm{d[B]}}{\mathrm{d}t}=-0.01\mathrm{[A][B]}+0.3\mathrm{[C]}\\
+\frac{\mathrm{d[C]}}{\mathrm{d}t}=+0.01\mathrm{[A][B]}-0.3\mathrm{[C]}$$
+
+In reversible reaction, you need to set two kinetic constant after the separator.
+When you do NOT set the **model** to **run_simulation** function, **run_simulation** calls **get_model()** automatically. So in this case we skipped.
+
+## Notations about synthesis and degradation
+
+In the absence of left or right side of molecules like synthesis or degradation,
+you may write the model like
+
+
+```python
+with reaction_rules():
+ A > | 1.0 # XXX: will throw SyntaxError
+ > A | 1.0 # XXX: will throw SyntaxError
+```
+
+but this must return `SyntaxError: invalid syntax`
+
+For synthesis and degradation, please use special character `~`.
+`~` sets the following molecule stoichiometric coefficient 0.
+
+
+```python
+with reaction_rules():
+ A > ~A | 1.0 # XXX: create_degradation_reaction_rule
+ ~A > A | 1.0 # XXX: create_synthesis_reaction_rule
+```
+
+$$\frac{\mathrm{d[A]}}{\mathrm{d}t}=1.0-1.0\mathrm{[A]}$$
diff --git a/readthedocs/old/Meso.md b/readthedocs/old/Meso.md
new file mode 100644
index 0000000..05c34ec
--- /dev/null
+++ b/readthedocs/old/Meso.md
@@ -0,0 +1,419 @@
+
+# Meso
+
+## Space in E-Cell4
+
+We explained 3 fundamental elements (Model, World, Simulator) in E-Cell4. [Introduction](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/Introduction.ipynb)
+
+We also showed a simple simulation with ODE and stochastic method (Gillespie).
+When we showed a simple simulation with ODE and Gillespie, we used the volume for **World**. [World and Simulator with ODE solver](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/WorldSimBasics.ipynb)
+
+What the space in E-Cell4 looks like?
+
+
+```python
+from ecell4 import *
+
+w1 = ode.ODEWorld(Real3(1, 1, 1))
+w2 = gillespie.GillespieWorld(Real3(1, 1, 1))
+```
+
+We created a cube size1 on a side for ODE and Gillespie.
+In this case the volume only matters, that is
+
+
+
+```python
+w3 = ode.ODEWorld(Real3(2, 0.5, 1)) # is almost equivalent to 'w1'
+w4 = gillespie.GillespieWorld(Real3(2, 2, 0.25)) # is almost equivalent to 'w2'
+```
+
+This returns the same results. Because the volume is same 1.
+
+This seems reasonable in homogeneous system, but the cell is NOT homogeneous.
+So we need to consider a space for molecular localization.
+
+You can use several types of space and simulation methods in E-Cell4.
+We show an example with spatial Gillespie method.
+
+
+## Spatial Gillespie method
+
+In E-Cell4, the Spatial Gillespie method is included in **meso** module
+Let's start with **run_simulation** like ODE.
+
+
+```python
+%matplotlib inline
+import numpy
+from ecell4 import *
+
+with reaction_rules():
+ A + B == C | (0.01, 0.3)
+
+y = run_simulation(numpy.linspace(0, 10, 100), {'C': 60}, solver='meso')
+```
+
+
+![png](meso_7_0.png)
+
+
+$$
+\frac{d\mathrm{C}}{dt}=0.01\frac{\mathrm{A}}{V}\frac{\mathrm{B}}{V}-0.3\frac{\mathrm{C}}{V}=0\\
+0.01\left(60-\mathrm{C}\right)^2=0.3\mathrm{C}\times V\\
+\mathrm{C}=30
+$$
+
+You will obtain almost the same result with ODE or Gillespie (may take longer time than ODE or Gillespie).
+This is not surprising because **meso** module is almost same with Gillespie unless you give additional spatial parameter.
+Next we will decompose **run_simulation**.
+
+
+
+```python
+from ecell4 import *
+
+with reaction_rules():
+ A + B == C | (0.01, 0.3)
+
+m = get_model()
+
+w = meso.MesoscopicWorld(Real3(1, 1, 1), Integer3(1, 1, 1)) # XXX: Point2
+w.bind_to(m) # XXX: Point1
+w.add_molecules(Species('C'), 60)
+
+sim = meso.MesoscopicSimulator(w) # XXX: Point1
+obs = FixedIntervalNumberObserver(0.1, ('A', 'B', 'C'))
+sim.run(10, obs)
+
+viz.plot_number_observer(obs)
+```
+
+
+![png](meso_10_0.png)
+
+
+This is nothing out of the ordinary one except **MesoscopicWorld** and **MesoscopicSimulator**, but you can see some new elements.
+
+First in **w.bind_to(m)** we asscociated **Model** to **World**.
+In basic exercises, we did NOT do this.
+In spatial method the Species attribute is important, so do NOT forget this.
+All you have to do is giving **World** for **MesoscopicSimulator** instead.
+
+Next, the important difference is the second argument for MesoscopicWorld i.e. **Integer3(1,1,1)**.
+**ODEWorld** and **GillespieWorld** do NOT have this second argument.
+Before we explain this, let's change this argument and run the simulation.
+
+
+
+```python
+from ecell4 import *
+
+with reaction_rules():
+ A + B == C | (0.01, 0.3)
+
+m = get_model()
+
+w = meso.MesoscopicWorld(Real3(1, 1, 1), Integer3(4, 4, 4)) # XXX: Point2
+w.bind_to(m) # XXX: Point1
+w.add_molecules(Species('C'), 60)
+
+sim = meso.MesoscopicSimulator(w) # XXX: Point1
+obs = FixedIntervalNumberObserver(0.1, ('A', 'B', 'C'))
+sim.run(10, obs)
+
+viz.plot_number_observer(obs)
+```
+
+
+![png](meso_12_0.png)
+
+
+You should have the different plot.
+If you increase the **Integer3**, you should have more different one.
+Actually this second argument means the number of spatical partitions.
+**meso** is almost same with **gillespie**, but **meso** divides the space into cuboids (we call these cuboids **Subvolume**) and each **Subvolume** has different molecular concentration by contrast **gillespie** has one uniform closed space.
+So in the preceding example, we divided **1** cube with sides **1** into **64(4x4x4)** cubes with sides **0.25(1/4)**.
+We threw 60 **C** species into the **World**, so each **Subvolume** has 1 species at most.
+
+
+## Defining molecular diffusion coefficient
+
+Where the difference is coming from? This is because we do NOT concider about molecular diffusion coefficient, although we got a space with **meso**.
+To setup diffusion coefficient, use **Species** attribute **'D'** in a way described in ModelBasics.
+In [Introduction](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/Introduction.ipynb) we used **add_species_attribute**, we can also use E-Cell4 special notation here.
+
+
+```python
+with species_attributes():
+ A | {'D': '1'}
+ B | {'D': '1'}
+ C | {'D': '1'}
+
+ # A | B | C | {'D': '1'} # means the same as above
+
+get_model()
+```
+
+
+
+
+ <ecell4.core.NetworkModel at 0x87df5d0>
+
+
+
+You can setup diffusion coefficient with `with species_attributes():`.
+Here we set all the diffusion coefficient with 1.
+Let's simulate this model again.
+Now you should have the almost same result with **gillespie** (the simulation will takes longer than **gillespie**) .
+
+How did the molecular diffusion work for the problem?
+Think about free diffusion (the diffusion coefficient of a Species is $D$) in 3D space.
+The unit of diffusion coefficient is the square of length divided by time like
+$\mathrm{\mu m}^2/s$ or $\mathrm{nm}^2/\mu s$ .
+
+It is known that the average of the square of point distance from time $0$ to $t$ is equal to $6Dt$.
+Conversely the average of the time scale in a space with length scale $l$ is about $l^2/6D$.
+
+In the above case, the sibe of **Subvolume** is 0.25 and the diffusion coefficient is 1, so the time scale is about 0.01 sec.
+If the molecules of the **Species** **A** and **B** are in the same **Subvolume**, it takes about 1.5 sec to react, so in most cases the diffusion is faster than the reaction and the molecules move to other **Subvolume** even dissociated in the same **Subvolume**.
+The smaller $l$, the smaller **Subvolume**'s volume $l^3$, so the reaction rate after dissociation is faster, and the time of the diffusion and the transition between the **Subvolume** gets smaller too.
+
+
+## Molecular localization
+
+We have used **add_molecules** function to add molecules to **World** in the same manner as **ode** or **gillespie**.
+Meanwhile in **MesoscopicWorld** you can put in molecules according to the spatial presentation.
+
+
+```python
+from ecell4 import *
+
+w = meso.MesoscopicWorld(Real3(1, 1, 1), Integer3(3, 3, 3))
+w.add_molecules(Species('A'), 120)
+w.add_molecules(Species('B'), 120, Integer3(1, 1, 1))
+```
+
+In **MesoscopicWorld**, you can set the **Subvolume** and the molecule locations by giving the third argument **Integer3** to **add_molecules**.
+In the above example, the molecule type **A** spreads all over the space, but the molecule type **B** only locates the center of the **Subvolume**.
+To check this, use **num_molecules** function.
+
+
+```python
+print(w.num_molecules(Species('B'))) # will print 120
+print(w.num_molecules(Species('B'), Integer3(0, 0, 0))) # will print 0
+print(w.num_molecules(Species('B'), Integer3(1, 1, 1))) # will print 120
+```
+
+ 120
+ 0
+ 120
+
+
+Furthermore, if you have IPython Notebook environment, you can visualize the molecular localization with **ecell4.viz** module.
+
+
+```python
+viz.plot_world(w, radius=0.01)
+```
+
+
+<html>
+ <head>
+ <script type="text/javascript">
+ (function(){
+ if(window["THREE"] === undefined || window["d3"] === undefined){
+ require.config({
+ paths:{
+ d3: [
+ 'https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.4/d3.min',
+ 'custom/d3.min'
+ ],
+ THREE: [
+ 'https://cdnjs.cloudflare.com/ajax/libs/three.js/r66/three.min',
+ 'custom/three.min'
+ ],
+ Elegans: [
+ 'https://rawgit.com/domitry/elegans/master/release/elegans',
+ 'custom/elegans'
+ ]
+ },
+ shim:{
+ THREE: {
+ exports: 'THREE'
+ },
+ Elegans: {
+ deps: ['THREE'],
+ exports: 'Elegans'
+ }
+ }
+ });
+
+ require(["d3", "THREE"], function(d3){
+ window["d3"] = d3;
+
+ d3.select(document)
+ .on("contextmenu", function(){
+ d3.selectAll("canvas").style("z-index", 10);
+ d3.selectAll(".download_menu").style("z-index", 100);
+ });
+ });
+ }
+
+ require(["Elegans"], function(){
+ console.log("Begin rendering...");
+ var model = {"plots": [{"data": {"y": [0.3117552159819752, 0.03745717369019985, 0.1898483084514737, 0.06814174198855956, 0.044824395872031644, 0.2840740268584341, 0.3312408591154963, 0.20883538201451302, 0.3207062161527574, 0.18242759847392637, 0.003393553274994095, 0.2573284516111016, 0.26473576544473565, 0.1344461088689665, 0.1424563000133882, 0.09487212441551188, 0.2884580223665883, 0.3063723288166026, 0.20864325893732408, 0.10042927561638255, 0.4942874407085279, 0.34764648880809546 [...]
+ Elegans.Embed.parse("#"+"vizf923d19d-8171-44ae-b384-a6f9502bb002",model).render();
+ });
+ })();
+ </script>
+ </head>
+ <body>
+ <div id="vizf923d19d-8171-44ae-b384-a6f9502bb002"></div>
+ </body>
+</html>
+
+
+
+
+
+ {u'A': '#a6cee3', u'B': '#1f78b4'}
+
+
+
+**viz.plot_world** function visualize the location of the molecules in IPython Notebook cell by giving the **World**. You can set the molecule size with **radius**.
+Now you can set the molecular localization to the **World**, next let's simulate this.
+In the above example, we set the diffusion coefficient 1 and the World side 1, so 10 seconds is enough to stir this.
+After the simulation, check the result with calling **viz.plot_world** again.
+
+## Molecular initial location and the reaction
+
+This is an extreme example to check how the molecular localization affects the reaction.
+
+
+```python
+from ecell4 import *
+
+with species_attributes():
+ A | B | C | {'D': '1'}
+
+with reaction_rules():
+ A + B > C | 0.01
+
+m = get_model()
+w = meso.MesoscopicWorld(Real3(10, 1, 1), Integer3(10, 1, 1))
+w.bind_to(m)
+```
+
+This model consists only of a simple binding reaction.
+The **World** is a long x axis cuboid.
+And locate the molecules off-center.
+
+
+
+```python
+w.add_molecules(Species('A'), 1200, Integer3(2, 0, 0))
+w.add_molecules(Species('B'), 1200, Integer3(7, 0, 0))
+viz.plot_world(w, radius=0.025)
+```
+
+
+<html>
+ <head>
+ <script type="text/javascript">
+ (function(){
+ if(window["THREE"] === undefined || window["d3"] === undefined){
+ require.config({
+ paths:{
+ d3: [
+ 'https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.4/d3.min',
+ 'custom/d3.min'
+ ],
+ THREE: [
+ 'https://cdnjs.cloudflare.com/ajax/libs/three.js/r66/three.min',
+ 'custom/three.min'
+ ],
+ Elegans: [
+ 'https://rawgit.com/domitry/elegans/master/release/elegans',
+ 'custom/elegans'
+ ]
+ },
+ shim:{
+ THREE: {
+ exports: 'THREE'
+ },
+ Elegans: {
+ deps: ['THREE'],
+ exports: 'Elegans'
+ }
+ }
+ });
+
+ require(["d3", "THREE"], function(d3){
+ window["d3"] = d3;
+ });
+ }
+
+ require(["Elegans"], function(){
+ console.log("Begin rendering...");
+ var model = {"plots": [{"type": "Particles", "data": {"z": [0.4900606961455196, 0.9995847842656076, 0.371111222775653, 0.4210832444950938, 0.14447954599745572, 0.7086611373815686, 0.08415740844793618, 0.6865201944019645, 0.8290323435794562, 0.07953730574809015, 0.45796030340716243, 0.24493053648620844, 0.7633742347825319, 0.42862280178815126, 0.999135228805244, 0.49040526477620006, 0.9811817465815693, 0.0524443534668535, 0.658612031955272, 0.3791812169365585, 0.7237119425553828, 0.7073 [...]
+ Elegans.Embed.parse("#"+"vizd89b6e23-a827-4cfc-8299-64381fb1d2c5",model).render();
+ });
+ })();
+ </script>
+ </head>
+ <body>
+ <div id="vizd89b6e23-a827-4cfc-8299-64381fb1d2c5"></div>
+ </body>
+</html>
+
+
+
+
+
+ {'A': '#a6cee3', 'B': '#1f78b4', 'C': '#b2df8a'}
+
+
+
+On a different note, there is a reason not to set **Integer3(0,0,0)** or **Integer3(9,0,0)**.
+In E-Cell4, basically we adopt periodic boundary condition for everything.
+So the forementioned two **Subvolume**s are actually adjoining.
+
+If you have the location expected, simulate it with **MesoscopicSimulator**.
+
+
+```python
+sim = meso.MesoscopicSimulator(w)
+obs1 = NumberObserver(('A', 'B', 'C')) # XXX: saves the numbers after every steps
+sim.run(5, obs1)
+viz.plot_number_observer(obs1)
+```
+
+
+![png](meso_32_0.png)
+
+
+
+```python
+w = meso.MesoscopicWorld(Real3(10, 1, 1), Integer3(10, 1, 1))
+w.bind_to(m)
+w.add_molecules(Species('A'), 1200)
+w.add_molecules(Species('B'), 1200)
+sim = meso.MesoscopicSimulator(w)
+obs2 = NumberObserver(('A', 'B', 'C')) # XXX: saves the numbers after every steps
+sim.run(5, obs2)
+viz.plot_number_observer(obs1, "-", obs2, "--")
+```
+
+
+![png](meso_33_0.png)
+
+
+Do you have this plot?
+To check the result, we recommend that you locate the molecules homogeneously with **meso** or simulate with **gillespie**.
+
+The solid line is biased case, and the dash line is non-biased.
+The biased reaction is obviously slow.
+And you may notice that the time-series is different between the solid line and dash line.
+This is because it takes the molecule **A** and **B** some time to bound.
+Actually it takes $4^2/2(D_\mathrm{A}+D_\mathrm{B})=4$ seconds to move the initial distance between **A** and **B** (about 4).
diff --git a/readthedocs/old/Spatiocyte.md b/readthedocs/old/Spatiocyte.md
new file mode 100644
index 0000000..3949590
--- /dev/null
+++ b/readthedocs/old/Spatiocyte.md
@@ -0,0 +1,859 @@
+
+# Spatiocyte simulations with single-molecule resolution
+
+We showed an example of E-Cell4 spatial representation.
+Next let's simulate the models with more detailed spatial representation called **single molecule resolution**.
+
+## Spatiocyte lattice-based method
+
+In spatical Gillespie method, we divided the **Space** into smaller **Space**, then we diffuse the molecules in the **Subvolume**.
+However we simulated the molecules in the **Subvolume** as the number of the molecules, and the location of the molecules are NOT determinated.
+
+In other words, the spatical resolution of spatical Gillespie method is equal to the side of the **Subvolume** $l$.
+To improve this resolution we need to make the size of $l$ small, but in this method the $l$ must be larger than the (at least) 10 times the diameter of molecule $R$.
+
+How can we improve the spatical resolution to the size of the molecule?
+The answer is the simulation with single-molecule resolution.
+This method simulate the molecule not with the number of the molecules, but with the spatical reaction diffusion of each molecule.
+
+E-Cell4 has multiple single-molecule resolution method, here we explain about Spatiocyte lattice-based method.
+
+Spatiocyte treat each molecule as hard sphere and diffuse the molecules in hexagonal close-packed lattice.
+
+Spatiocyte has ID for each molecule and the position of the molecule with single-molecule resolution.
+To use the time scale, Spatiocyte has 100 times smaller time-step than spatical Gillespie, because the time scale of diffusion increases with the square of the distance.
+
+Next, let's use Spatiocyte.
+
+
+
+```python
+from ecell4 import *
+
+with species_attributes():
+ A | B | C | {'D': '1'}
+
+with reaction_rules():
+ A + B == C | (0.01, 0.3)
+
+m = get_model()
+w = lattice.LatticeWorld(Real3(1, 1, 1), 0.005) # The second argument is 'voxel_radius'.
+w.bind_to(m)
+w.add_molecules(Species('C'), 60)
+sim = lattice.LatticeSimulator(w)
+obs = FixedIntervalNumberObserver(0.1, ('A', 'B', 'C'))
+sim.run(10, obs)
+```
+
+There is a distinct difference in the second argument for **LatticeWorld**. This is called **Voxel radius**.
+Spatiocyte defines the locations of the molecules with dividing the Space with molecule size, and call the minimum unit for this Space as **Voxel**.
+
+In most cases the size of the molecule would be good for **Voxel radius**.
+
+In this example, we set 5 $\mathrm{nm}$ as the radius of the molecule in the Space with the side 1 $\mathrm{\mu m}$ .
+
+It takes more time to simulate, but the result is same with ODE or Gillespie.
+
+## The diffusion movement of single molecule
+
+Next let's simulate single molecule diffusion to check the resolution.
+
+
+
+```python
+from ecell4 import *
+
+with species_attributes():
+ A | {'D': '1'}
+
+m = get_model()
+w = lattice.LatticeWorld(Real3(1, 1, 1), 0.005)
+w.bind_to(m)
+
+(pid, p), suc = w.new_particle(Species('A'), Real3(0.5, 0.5, 0.5))
+```
+
+**new_particle** method places a particle to a coordinate in **LatticeWorld**, and returns the particle's **pid**, the information about the particle **p**, and verify whether the particle is cooked with **suc**.
+If a particle is already placed in the coordinate you can NOT place a particle over it and **suc** will be False and fail.
+
+**p** contains the particle position, species type, radius, and diffusion coefficient.
+You can inspect the **p** with the particle's ID **pid**.
+
+Let's check **p**.
+
+
+```python
+pid, p = w.get_particle(pid)
+print(p.species().serial()) # will print: A
+print(p.radius(), p.D()) # will print: (0.005, 1.0)
+print(tuple(p.position())) # will print: (0.49806291436591293, 0.49652123150307814, 0.5)
+```
+
+ A
+ 0.005 1.0
+ (0.49806291436591293, 0.49652123150307814, 0.5)
+
+
+**get_particle** method receives the particle ID and returns the ID and particle (of cource the IDs are same).
+You can inspect the coordinate of the particle as **Real3** with **position** method.
+It is hard to directly read the coordinate, here we printed it after converting to tuple.
+As you can see the tuple coodinate is slightly different from original **Real3**. This is because Spatiocyte can place the molecule only on the lattice.
+**LatticeWorld** places the molecule the nearest lattice for the argument **Real3**.
+
+You can visualize the coordinate of the molecule with **viz.plot_world** method, and check the molecule in the center of the World.
+
+
+
+```python
+viz.plot_world(w, save_image=True)
+```
+
+
+<html>
+ <head>
+ <script type="text/javascript">
+ (function(){
+ if(window["THREE"] === undefined || window["d3"] === undefined){
+ require.config({
+ paths:{
+ d3: [
+ 'https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.4/d3.min',
+ 'custom/d3.min'
+ ],
+ THREE: [
+ 'https://cdnjs.cloudflare.com/ajax/libs/three.js/r66/three.min',
+ 'custom/three.min'
+ ],
+ Elegans: [
+ 'https://rawgit.com/domitry/elegans/master/release/elegans',
+ 'custom/elegans'
+ ]
+ },
+ shim:{
+ THREE: {
+ exports: 'THREE'
+ },
+ Elegans: {
+ deps: ['THREE'],
+ exports: 'Elegans'
+ }
+ }
+ });
+
+ require(["d3", "THREE"], function(d3){
+ window["d3"] = d3;
+
+ d3.select(document)
+ .on("contextmenu", function(){
+ d3.selectAll("canvas").style("z-index", 10);
+ d3.selectAll(".download_menu").style("z-index", 100);
+ });
+ });
+ }
+
+ require(["Elegans"], function(){
+ console.log("Begin rendering...");
+ var model = {"plots": [{"type": "Particles", "options": {"name": "A", "color": "#a6cee3", "size": 0.15}, "data": {"x": [0.49806291436591293], "z": [0.5], "y": [0.49652123150307814]}}], "options": {"save_image": true, "grid": true, "width": 500, "height": 500, "range": {"x": [0.0, 1.0], "z": [0.0, 1.0], "y": [0.0, 1.0]}, "autorange": false}};
+ Elegans.Embed.parse("#"+"viz2ad911ee-e072-415b-8f70-b968f20959fa",model).render();
+ });
+ })();
+ </script>
+ </head>
+ <body>
+ <div id="viz2ad911ee-e072-415b-8f70-b968f20959fa"></div>
+ </body>
+</html>
+
+
+
+
+
+ {'A': '#a6cee3'}
+
+
+
+And you can use **Observer** to track the trajectory of molecular diffusion process.
+
+
+```python
+sim = lattice.LatticeSimulator(w)
+obs = FixedIntervalTrajectoryObserver(0.002, (pid,))
+sim.run(1, obs)
+viz.plot_trajectory(obs)
+```
+
+
+<html>
+ <head>
+ <script type="text/javascript">
+ (function(){
+ if(window["THREE"] === undefined || window["d3"] === undefined){
+ require.config({
+ paths:{
+ d3: [
+ 'https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.4/d3.min',
+ 'custom/d3.min'
+ ],
+ THREE: [
+ 'https://cdnjs.cloudflare.com/ajax/libs/three.js/r66/three.min',
+ 'custom/three.min'
+ ],
+ Elegans: [
+ 'https://rawgit.com/domitry/elegans/master/release/elegans',
+ 'custom/elegans'
+ ]
+ },
+ shim:{
+ THREE: {
+ exports: 'THREE'
+ },
+ Elegans: {
+ deps: ['THREE'],
+ exports: 'Elegans'
+ }
+ }
+ });
+
+ require(["d3", "THREE"], function(d3){
+ window["d3"] = d3;
+
+ d3.select(document)
+ .on("contextmenu", function(){
+ d3.selectAll("canvas").style("z-index", 10);
+ d3.selectAll(".download_menu").style("z-index", 100);
+ });
+ });
+ }
+
+ require(["Elegans"], function(){
+ console.log("Begin rendering...");
+ var model = {"plots": [{"type": "Line", "options": {"name": "1", "colors": ["#a6cee3", "#a6cee3"], "thickness": 2}, "data": {"x": [0.49806291436591293, 0.48173298274735843, 0.39191835884530857, 0.3674234614174768, 0.44907311951024936, 0.4245782220824176, 0.45723808531952664, 0.47356801693808115, 0.45723808531952664, 0.46540305112880387, 0.45723808531952664, 0.3592584956081995, 0.2939387691339814, 0.30210373494325865, 0.22045407685048604, 0.13880441875771343, 0.05715476066494083, -0.069 [...]
+ Elegans.Embed.parse("#"+"viz2c6b995c-f057-491b-8a0c-fe4b71c6e442",model).render();
+ });
+ })();
+ </script>
+ </head>
+ <body>
+ <div id="viz2c6b995c-f057-491b-8a0c-fe4b71c6e442"></div>
+ </body>
+</html>
+
+
+
+
+
+ {'1': '#a6cee3'}
+
+
+
+Here we visualized the trajectory with **viz.plot_trajectory** method, you can also obtain it as Real3 list with **data** method.
+
+
+
+```python
+print(len(obs.data()))
+print(len(obs.data()[0]))
+```
+
+ 1
+ 501
+
+
+**data** method returns nested list.
+First index means the index of the particle.
+Second index means the index of the **Real3**.
+In this case we threw just one particle, so the first result is **1**, and next **501** means time-series coordinate of the only one particle (initial coordinate and the coordinates in 1/0.002 = 500 time points).
+
+Also you can obtain the particles in bulk with **list_particles** method and species type.
+
+
+```python
+w.add_molecules(Species('A'), 5)
+
+particles = w.list_particles(Species('A'))
+for pid, p in particles:
+ print(p.species().serial(), tuple(p.position()))
+```
+
+ A (0.46540305112880387, 0.8689121551303868, 0.735)
+ A (0.48173298274735843, 0.05484827557301445, 0.895)
+ A (0.1469693845669907, 0.4503332099679081, 0.77)
+ A (0.11430952132988166, 0.7274613391789284, 0.45)
+ A (0.39191835884530857, 0.8573651497465943, 0.9550000000000001)
+ A (0.7430118886442307, 0.2800148805569685, 0.865)
+
+
+Please remember **list_particles** method, this method can be used for other World as well as **add_molecules** method.
+
+On a different note, in Spatiocyte proper method to inspect the single molecule is **list_voxels**, and the coordinate is described with index of voxel (not Real3).
+
+## The diffusion coefficient and the second-order reaction
+
+The models we have addressed are called **second-order reaction**.
+Let's look at the relationship between this second-order reaction and the diffusion coefficient in Spatiocyte.
+
+
+```python
+from ecell4 import *
+
+with species_attributes():
+ A | B | C | {'D': '1'}
+
+with reaction_rules():
+ A + B > C | 1.0
+
+m = get_model()
+w = lattice.LatticeWorld(Real3(2, 1, 1), 0.005)
+
+w.bind_to(m)
+
+w.add_molecules(Species('A'), 120)
+w.add_molecules(Species('B'), 120)
+
+obs = FixedIntervalNumberObserver(0.005, ('A', 'B', 'C'))
+sim = lattice.LatticeSimulator(w)
+sim.run(1.0, obs)
+
+%matplotlib inline
+
+odew = ode.ODEWorld(Real3(2, 1, 1))
+odew.bind_to(m)
+odew.add_molecules(Species('A'), 120)
+odew.add_molecules(Species('B'), 120)
+odeobs = FixedIntervalNumberObserver(0.005, ('A', 'B', 'C'))
+odesim = ode.ODESimulator(odew)
+odesim.run(1.0, odeobs)
+viz.plot_number_observer(obs, "-", odeobs, "--")
+
+```
+
+
+![png](spatiocyte_21_0.png)
+
+
+Although we used faster kinetic constant than before, the result is same.
+But by contrast with ODE simulation, you can find the difference between them (solid line is Spatiocyte, dash line is ODE).
+
+Is this fault of Spatiocyte? (No)
+Actually Spatiocyte reaction rate couldn't be faster, while ODE reaction rate can be faster infinitely.
+
+This is caused by the difference between the definition of reaction rate constant in **ODE solver** and **single molecule simulation method**.
+
+The former is called **macroscopic** or **effective** reaction rate constant, the latter is called **microscopic** or **intrinsic** reaction rate constant.
+
+
+The **macroscopic** rate represents the reaction rate in mixed molecular state, meanwhile **microscopic** rate represents the reactivity in molecule collision.
+So in **microscopic** perspective, the first thing molecules need to react is collision.
+
+In Spatiocyte however you make this **microscopic** rate faster, you can NOT make the reaction rate faster than diffusion rate.
+This is called **diffusion-limited**.
+This is similar to what the molecules coordinated disproportionately need time to react.
+
+It is known that there is a relationship between this macroscopic rate constant $k_\mathrm{on}$ and microscopic rate constant $k_a$ in 3D space.
+
+
+$
+\frac{1}{k_\mathrm{on}}=\frac{1}{k_a}+\frac{1}{4\pi RD_\mathrm{tot}}
+$
+
+
+Here, $R$ is the sum of two molecule's radius in collision, $D_\mathrm{tot}$ is the sum of diffusion coefficients.
+In the case of the above IPython Notebook cell, $k_D=4\pi RD_\mathrm{tot}$ is almost 0.25 and **microscopic** rate constant is 1.0.
+So the **macroscopic** rate constant is almost 0.2.
+
+(However unless you specify the configuration for Spatiocyte, the second order reaction rate must be slower than $3\sqrt{2} RD$, and the dissociation constant $k_D$ is also $3\sqrt{2} RD$.
+
+The single molecule simulation method can separate molecular **diffusion** and **reaction** in accurate manner contrary to ODE or Gillespie method supposed well mixed system (that is diffusion coefficient is infinite).
+
+However if the microscopic rate constant $k_D$ is small enough, the macroscopic rate constant is almost equal to microscopic one (reaction late-limit).
+
+## The structure in the Spatiocyte method
+
+Next we explain a way to create a structure like cell membrane.
+Although The structure feature in E-Cell4 is still in development, Spatiocyte supports the structure on some level.
+Let's look a sphere structure as an example.
+
+To restrict the molecular diffusion inside of the sphere, first we create it.
+
+
+
+```python
+from ecell4 import *
+
+with species_attributes():
+ A | {'D': '1', 'location': 'C'}
+
+m = get_model()
+```
+
+
+```python
+w = lattice.LatticeWorld(Real3(1, 1, 1), 0.005)
+w.bind_to(m)
+sph = Sphere(Real3(0.5, 0.5, 0.5), 0.45)
+print(w.add_structure(Species('C'), sph)) # will print 539805
+```
+
+ 539805
+
+
+
+```python
+viz.plot_world(w, save_image=True)
+```
+
+
+<html>
+ <head>
+ <script type="text/javascript">
+ (function(){
+ if(window["THREE"] === undefined || window["d3"] === undefined){
+ require.config({
+ paths:{
+ d3: [
+ 'https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.4/d3.min',
+ 'custom/d3.min'
+ ],
+ THREE: [
+ 'https://cdnjs.cloudflare.com/ajax/libs/three.js/r66/three.min',
+ 'custom/three.min'
+ ],
+ Elegans: [
+ 'https://rawgit.com/domitry/elegans/master/release/elegans',
+ 'custom/elegans'
+ ]
+ },
+ shim:{
+ THREE: {
+ exports: 'THREE'
+ },
+ Elegans: {
+ deps: ['THREE'],
+ exports: 'Elegans'
+ }
+ }
+ });
+
+ require(["d3", "THREE"], function(d3){
+ window["d3"] = d3;
+
+ d3.select(document)
+ .on("contextmenu", function(){
+ d3.selectAll("canvas").style("z-index", 10);
+ d3.selectAll(".download_menu").style("z-index", 100);
+ });
+ });
+ }
+
+ require(["Elegans"], function(){
+ console.log("Begin rendering...");
+ var model = {"plots": [{"type": "Particles", "options": {"name": "C", "color": "#1f78b4", "size": 0.15}, "data": {"x": [0.32659863237109044, 0.22045407685048604, 0.59604250407724, 0.530722777603022, 0.4082482904638631, 0.24494897427831783, 0.4082482904638631, 0.28577380332470415, 0.5225578117937447, 0.1061445555206044, 0.27760883751542687, 0.3184336665618132, 0.5797125724586856, 0.13063945294843618, 0.3837533930360313, 0.68585712797929, 0.8246615467370034, 0.47356801693808115, 0.334763 [...]
+ Elegans.Embed.parse("#"+"viz7a673ecc-ecfb-49dc-a089-b74c7b337b97",model).render();
+ });
+ })();
+ </script>
+ </head>
+ <body>
+ <div id="viz7a673ecc-ecfb-49dc-a089-b74c7b337b97"></div>
+ </body>
+</html>
+
+
+
+
+
+ {'A': '#a6cee3', 'C': '#1f78b4'}
+
+
+
+The **Sphere** class first argument is the center of the sphere, and second argument is the radius.
+Then we created and added a **Species** named **C**.
+
+The structure in the Spatiocyte method is described by filling the space with the **Voxel**.
+In the example above, the **Voxel**s in the sphere are occupied with **Species** named **C**.
+
+You can see those distribution with **viz.plot_world**.
+(However, the number of the species is too large to visualize. So we plot only a part of it, but actually the sphere is fully occupied with the species.)
+
+Next we create Species moving inside this sphere. To that end we give **location** attribute to the Species.
+
+and **add_molecules** to the **World**.
+
+
+```python
+w.add_molecules(Species('A'), 120)
+
+viz.plot_world(w, species_list=('A',), save_image=True) # visualize A-molecules only
+```
+
+
+<html>
+ <head>
+ <script type="text/javascript">
+ (function(){
+ if(window["THREE"] === undefined || window["d3"] === undefined){
+ require.config({
+ paths:{
+ d3: [
+ 'https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.4/d3.min',
+ 'custom/d3.min'
+ ],
+ THREE: [
+ 'https://cdnjs.cloudflare.com/ajax/libs/three.js/r66/three.min',
+ 'custom/three.min'
+ ],
+ Elegans: [
+ 'https://rawgit.com/domitry/elegans/master/release/elegans',
+ 'custom/elegans'
+ ]
+ },
+ shim:{
+ THREE: {
+ exports: 'THREE'
+ },
+ Elegans: {
+ deps: ['THREE'],
+ exports: 'Elegans'
+ }
+ }
+ });
+
+ require(["d3", "THREE"], function(d3){
+ window["d3"] = d3;
+
+ d3.select(document)
+ .on("contextmenu", function(){
+ d3.selectAll("canvas").style("z-index", 10);
+ d3.selectAll(".download_menu").style("z-index", 100);
+ });
+ });
+ }
+
+ require(["Elegans"], function(){
+ console.log("Begin rendering...");
+ var model = {"plots": [{"type": "Particles", "options": {"name": "A", "color": "#a6cee3", "size": 0.15}, "data": {"x": [0.6695271963607354, 0.5715476066494083, 0.563382640840131, 0.7675067860720626, 0.27760883751542687, 0.5715476066494083, 0.26944387170614964, 0.30210373494325865, 0.8328265125462806, 0.8001666493091716, 0.28577380332470415, 0.46540305112880387, 0.48173298274735843, 0.28577380332470415, 0.7675067860720626, 0.46540305112880387, 0.5715476066494083, 0.6531972647421809, 0.5 [...]
+ Elegans.Embed.parse("#"+"viz47082214-12db-437c-85af-9cdea61ece84",model).render();
+ });
+ })();
+ </script>
+ </head>
+ <body>
+ <div id="viz47082214-12db-437c-85af-9cdea61ece84"></div>
+ </body>
+</html>
+
+
+
+
+
+ {'A': '#a6cee3', 'C': '#1f78b4'}
+
+
+
+Now we restricted the trajectories of Species **A** on the structure of Species **C**, and **add_molecules** works like that.
+
+As a note, you need to create the structure before **add_molecule**.
+
+We can use **FixedIntervalTrajectoryObserver** to check the restriction of the diffusion area.
+
+
+
+```python
+pid_list = [pid for pid, p in w.list_particles(Species('A'))[: 10]]
+obs = FixedIntervalTrajectoryObserver(1e-3, pid_list)
+sim = lattice.LatticeSimulator(w)
+sim.run(1, obs)
+viz.plot_trajectory(obs, save_image=True)
+```
+
+
+<html>
+ <head>
+ <script type="text/javascript">
+ (function(){
+ if(window["THREE"] === undefined || window["d3"] === undefined){
+ require.config({
+ paths:{
+ d3: [
+ 'https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.4/d3.min',
+ 'custom/d3.min'
+ ],
+ THREE: [
+ 'https://cdnjs.cloudflare.com/ajax/libs/three.js/r66/three.min',
+ 'custom/three.min'
+ ],
+ Elegans: [
+ 'https://rawgit.com/domitry/elegans/master/release/elegans',
+ 'custom/elegans'
+ ]
+ },
+ shim:{
+ THREE: {
+ exports: 'THREE'
+ },
+ Elegans: {
+ deps: ['THREE'],
+ exports: 'Elegans'
+ }
+ }
+ });
+
+ require(["d3", "THREE"], function(d3){
+ window["d3"] = d3;
+
+ d3.select(document)
+ .on("contextmenu", function(){
+ d3.selectAll("canvas").style("z-index", 10);
+ d3.selectAll(".download_menu").style("z-index", 100);
+ });
+ });
+ }
+
+ require(["Elegans"], function(){
+ console.log("Begin rendering...");
+ var model = {"plots": [{"type": "Line", "options": {"name": "1", "colors": ["#a6cee3", "#a6cee3"], "thickness": 2}, "data": {"x": [0.6695271963607354, 0.6042074698865173, 0.5143928459844674, 0.48173298274735843, 0.5470527092215764, 0.5062278801751902, 0.5388877434122993, 0.49806291436591293, 0.4409081537009721, 0.46540305112880387, 0.5062278801751902, 0.45723808531952664, 0.4245782220824176, 0.43274318789169486, 0.3674234614174768, 0.3184336665618132, 0.24494897427831783, 0.22861904265 [...]
+ Elegans.Embed.parse("#"+"viz74bbd43e-4f2c-464b-99a2-b8d4e487bc11",model).render();
+ });
+ })();
+ </script>
+ </head>
+ <body>
+ <div id="viz74bbd43e-4f2c-464b-99a2-b8d4e487bc11"></div>
+ </body>
+</html>
+
+
+
+
+
+ {'1': '#a6cee3',
+ '10': '#80b1d3',
+ '2': '#1f78b4',
+ '3': '#b2df8a',
+ '4': '#33a02c',
+ '5': '#e31a1c',
+ '6': '#8dd3c7',
+ '7': '#ffffb3',
+ '8': '#bebada',
+ '9': '#fb8072'}
+
+
+
+**pid_list** is a list for 10 IDs of 60 **A** species.
+The trajectories are colored by this 10 species.
+Certainly the trajectories are restricted in the sphere.
+
+## The structure and the reaction
+
+At the end we explain about molecular translocation among the structures.
+
+A species without **location** attribute is not an member of any structures.
+
+In the example above, if you do NOT write **location** attribute with Species **A**, **A** is placed outside of the sphere.
+
+Next let's create a surface structure.
+To create a surface we need to use three Real3, those are original point (**origin**) and two axis vector (**unit0**, **unit1**).
+
+```python
+ps = PlanarSurface(origin, unit0, unit1)
+```
+
+Use this **ps** and suppose Species **A** on the surface and a normal Species **B**.
+
+
+```python
+from ecell4 import *
+
+with species_attributes():
+ A | {'D': '0.1', 'location': 'M'}
+ B | {'D': '1'}
+
+m = get_model()
+
+w = lattice.LatticeWorld(Real3(1, 1, 1))
+w.bind_to(m)
+
+origin = Real3(0, 0, 0.5)
+unit0 = Real3(1, 0, 0)
+unit1 = Real3(0, 1, 0)
+w.add_structure(
+ Species('M'), PlanarSurface(origin, unit0, unit1)) # Create a structure first
+
+w.add_molecules(Species('B'), 480) # Throw-in B-molecules
+viz.plot_world(w, species_list=('A', 'B'))
+```
+
+
+<html>
+ <head>
+ <script type="text/javascript">
+ (function(){
+ if(window["THREE"] === undefined || window["d3"] === undefined){
+ require.config({
+ paths:{
+ d3: [
+ 'https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.4/d3.min',
+ 'custom/d3.min'
+ ],
+ THREE: [
+ 'https://cdnjs.cloudflare.com/ajax/libs/three.js/r66/three.min',
+ 'custom/three.min'
+ ],
+ Elegans: [
+ 'https://rawgit.com/domitry/elegans/master/release/elegans',
+ 'custom/elegans'
+ ]
+ },
+ shim:{
+ THREE: {
+ exports: 'THREE'
+ },
+ Elegans: {
+ deps: ['THREE'],
+ exports: 'Elegans'
+ }
+ }
+ });
+
+ require(["d3", "THREE"], function(d3){
+ window["d3"] = d3;
+ });
+ }
+
+ require(["Elegans"], function(){
+ console.log("Begin rendering...");
+ var model = {"plots": [{"type": "Particles", "data": {"x": [0.24494897427831783, 0.6368673331236264, 0.17962924780409975, 0.08164965809277261, 0.032659863237109045, 0.2939387691339814, 0.32659863237109044, 0.11430952132988166, 0.4409081537009721, 0.4082482904638631, 0.16329931618554522, 0.8001666493091716, 0.17962924780409975, 0.08164965809277261, 0.11430952132988166, 0.8491564441648352, 0.7021870595978444, 0.5062278801751902, 0.17962924780409975, 0.31026870075253593, 0.424578222082417 [...]
+ Elegans.Embed.parse("#"+"viz500e28e9-db04-4290-8702-6426f5354951",model).render();
+ });
+ })();
+ </script>
+ </head>
+ <body>
+ <div id="viz500e28e9-db04-4290-8702-6426f5354951"></div>
+ </body>
+</html>
+
+
+
+
+
+ {'B': '#a6cee3'}
+
+
+
+It might be hard to understand, but actually the species **B** are placed only on a surface.
+Then how can we make absorbed this species B to a surface **M** and synthesize a species **A**.
+
+
+```python
+with reaction_rules():
+ B + M == A | (1e-3, 1.5)
+```
+
+This means that a species **B** becomes **A** when **B** collides with a structure **M**.
+
+And a species **A** dissociates and becomes **M** and **B** on in the reverse reaction direction.
+
+Now you can simulate a model with structure.
+
+
+```python
+%matplotlib inline
+
+with reaction_rules():
+ B + M == A | (1e-3, 1.5)
+
+sim = lattice.LatticeSimulator(w)
+obs = NumberObserver(('A', 'B'))
+sim.run(2, obs)
+
+viz.plot_number_observer(obs)
+viz.plot_world(w, species_list=('A', 'B'))
+```
+
+
+![png](spatiocyte_48_0.png)
+
+
+
+<html>
+ <head>
+ <script type="text/javascript">
+ (function(){
+ if(window["THREE"] === undefined || window["d3"] === undefined){
+ require.config({
+ paths:{
+ d3: [
+ 'https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.4/d3.min',
+ 'custom/d3.min'
+ ],
+ THREE: [
+ 'https://cdnjs.cloudflare.com/ajax/libs/three.js/r66/three.min',
+ 'custom/three.min'
+ ],
+ Elegans: [
+ 'https://rawgit.com/domitry/elegans/master/release/elegans',
+ 'custom/elegans'
+ ]
+ },
+ shim:{
+ THREE: {
+ exports: 'THREE'
+ },
+ Elegans: {
+ deps: ['THREE'],
+ exports: 'Elegans'
+ }
+ }
+ });
+
+ require(["d3", "THREE"], function(d3){
+ window["d3"] = d3;
+ });
+ }
+
+ require(["Elegans"], function(){
+ console.log("Begin rendering...");
+ var model = {"plots": [{"type": "Particles", "data": {"x": [0.751176854453508, 0.6368673331236264, 0.4082482904638631, 0.5715476066494083, 0.6695271963607354, 0.751176854453508, 0.8818163074019442, 0.17962924780409975, 0.04898979485566357, 0.8001666493091716, 0.7348469228349536, 0.6042074698865173, 0.6368673331236264, 0.4245782220824176, 0.0, 0.7021870595978444, 0.4409081537009721, 0.8164965809277261, 0.7348469228349536, 0.6042074698865173, 0.8981462390204987, 0.4245782220824176, 0.849 [...]
+ Elegans.Embed.parse("#"+"vizd39dc28b-3d3f-4bc3-995a-15728ee1b5f3",model).render();
+ });
+ })();
+ </script>
+ </head>
+ <body>
+ <div id="vizd39dc28b-3d3f-4bc3-995a-15728ee1b5f3"></div>
+ </body>
+</html>
+
+
+
+
+
+ {'B': '#a6cee3'}
+
+
+
+
+In the dissociation from a **structure**, you can skip to write the **structure**.
+But in the binding, you can NOT.
+Because it is impossible to create **A** from **B** without any **M** around there.
+
+By contrast the species **A** wherever on the sphere **M** can create the species **B**.
+
+What is more, in the case of the diffusion the first order reaction occurs in the presence or absence of the structure.
+
+But in the case of the binding the second order reaction turns into the first order reaction and the meaning of rate constant also changes.
+
+
+```python
+
+with reaction_rules():
+ B + M > A | 1e-3
+ A > B | 3.0 # means the same as A > B + M
+
+```
+
+
+```python
+
+```
diff --git a/readthedocs/old/WorldSimBasics.md b/readthedocs/old/WorldSimBasics.md
new file mode 100644
index 0000000..7e16716
--- /dev/null
+++ b/readthedocs/old/WorldSimBasics.md
@@ -0,0 +1,202 @@
+
+# World and Simulator with ODE solver
+
+If you read through [Introduction](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/Introduction.ipynb), it is NOT difficult to use **World** and **Simulator**.
+**volume** and **{'C':60}** is equivalent of the **World** and **solver** is the **Simulator** below.
+
+
+```python
+%matplotlib inline
+import numpy
+from ecell4 import *
+
+with reaction_rules():
+ A + B == C | (0.01, 0.3)
+
+y = run_simulation(numpy.linspace(0, 10, 100), {'C': 60}, volume=1.0)
+
+```
+
+
+![png](worldsim_1_0.png)
+
+
+Here we give you a breakdown for **run_simulation**.
+**run_simulation** use ODE simulator by default, so we create ODE world step by step.
+
+## Creating ODE world
+
+You can create world like this.
+
+
+```python
+w = ode.ODEWorld(Real3(1, 1, 1))
+```
+
+**Real3** is a coordinate vector.
+In this example, the first argument for ODEWorld constructor is a cube.
+Note that you can NOT use volume for ode.ODEWorld argument, like **run_simulation** argument.
+
+Now you created a cube box for simulation, next let's throw molecules into the cube.
+
+
+```python
+w = ode.ODEWorld(Real3(1, 1, 1))
+w.add_molecules(Species('C'), 60)
+print(w.t(), w.num_molecules(Species('C'))) # will return (0.0, 60)
+```
+
+ (0.0, 60)
+
+
+Use **add_molecules** to add molecules, **remove_molecules** to remove molecules, **num_molecules** to know the number of molecules.
+First argument for each method is the **Species** you want to know.
+You can get current time by **t** method.
+However the number of molecules in ODE solver is real number, in these **_molecules** functions work only for integer number.
+If you use real number in ODE, use **set_value** and **get_value**.
+
+
+## How to use Real3
+
+Before the detail of **Simulator**, we explaing more about **Real3**.
+
+
+```python
+pos = Real3(1, 2, 3)
+print(pos) # will print <ecell4.core.Real3 object at 0x7f44e118b9c0>
+print(tuple(pos)) # will print (1.0, 2.0, 3.0)
+```
+
+ <ecell4.core.Real3 object at 0x7fc73ff9a948>
+ (1.0, 2.0, 3.0)
+
+
+You can not print **Real3** object directly.
+You need to convert **Real3** to Python tuple or list once.
+
+
+```python
+pos1 = Real3(1, 1, 1)
+x, y, z = pos[0], pos[1], pos[2]
+pos2 = pos1 + pos1
+pos3 = pos1 * 3
+pos4 = pos1 / 5
+print(length(pos1)) # will print 1.73205080757
+print(dot_product(pos1, pos3)) # will print 9.0
+```
+
+ 1.73205080757
+ 9.0
+
+
+You can use basic function like dot_product.
+Of course you can convert Real3 to numpy array too.
+
+
+```python
+a = numpy.asarray(tuple(Real3(1, 2, 3)))
+print(a) # will print [ 1. 2. 3.]
+```
+
+ [ 1. 2. 3.]
+
+
+## Creating and Running ODESimulator
+
+You can create a Simulator with Model and World like
+
+
+```python
+with reaction_rules():
+ A + B > C | 0.01 # equivalent to create_binding_reaction_rule
+ C > A + B | 0.3 # equivalent to create_unbinding_reaction_rule
+
+m = get_model()
+
+sim = ode.ODESimulator(m, w)
+sim.run(10.0)
+```
+
+then call **run** method, the simulation will run.
+In this example the simulation runs for 10seconds.
+
+You can check the state of the **World** like this.
+
+
+```python
+print(w.t(), w.num_molecules(Species('C'))) # will return (10.0, 30)
+```
+
+ (10.0, 30)
+
+
+You can see that the number of the **Species** **C** decreases from 60 to 30.
+
+**World** describes the state of a timepoint, so you can NOT see the transition of the simulation with the **World**.
+To obtain the time-series result, use **Observer**.
+
+
+```python
+obs = FixedIntervalNumberObserver(0.1, ('A', 'C'))
+sim.run(10.0, obs)
+print(obs.data()) # will return [[0.0, 0.0, 60.0], ..., [10.0, 29.994446899698026, 30.005553100301967]]
+```
+
+ [[10.0, 29.994445225953793, 30.005554774046203], [10.1, 29.994923291781845, 30.00507670821815], [10.2, 29.995360215494838, 30.00463978450516], [10.3, 29.99575953741398, 30.004240462586015], [10.4, 29.996124493269757, 30.00387550673024], [10.5, 29.996458040397858, 30.00354195960214], [10.6, 29.99676288168368, 30.003237118316317], [10.7, 29.99704148744875, 30.002958512551245], [10.8, 29.99729611545562, 30.002703884544378], [10.9, 29.997528829192905, 30.00247117080709], [11.0, 29.997741 [...]
+
+
+There are several types of **Observer**s for E-Cell4.
+**FixedIntervalNumberObserver** is the simplest **Observer** to obtain the time-series result.
+As its name suggests, this **Observer** records the number of molecules for each time-step.
+The 1st argument is the time-step, the 2nd argument is the molecule types.
+You can check the result with **data** method, but there is a shortcut for this
+
+
+```python
+viz.plot_number_observer(obs)
+```
+
+
+![png](worldsim_24_0.png)
+
+
+This plots the time-series result easily.
+
+We explained the internal of **run_simulation** function.
+When you change the **World** after creating the **Simulator**, you need to indicate it to **Simulator**.
+So do NOT forget to call
+
+
+```python
+sim.initialize()
+```
+
+## Switching the solver
+It is NOT difficult to switch the solver to stochastic method, as we showed **run_simulation**.
+
+
+```python
+from ecell4 import *
+
+with reaction_rules():
+ A + B == C | (0.01, 0.3)
+
+m = get_model()
+
+# ode.ODEWorld -> gillespie.GillespieWorld
+w = gillespie.GillespieWorld(Real3(1, 1, 1))
+w.add_molecules(Species('C'), 60)
+
+# ode.ODESimulator -> gillespie.GillespieSimulator
+sim = gillespie.GillespieSimulator(m, w)
+obs = FixedIntervalNumberObserver(0.1, ('A', 'C'))
+sim.run(10.0, obs)
+
+viz.plot_number_observer(obs)
+```
+
+
+![png](worldsim_28_0.png)
+
+
+**World** and **Simulator** do NOT change the **Model**, so you can switch several simulators for 1 model.
diff --git a/readthedocs/old/license.md b/readthedocs/old/license.md
new file mode 100644
index 0000000..d0362f1
--- /dev/null
+++ b/readthedocs/old/license.md
@@ -0,0 +1,12 @@
+# License
+
+## Included projects
+
+- boost - [View license](http://www.boost.org/users/license.html)
+- hdf5 - [View license](https://www.hdfgroup.org/products/licenses.html)
+
+## E-Cell4 License (GPL version2)
+
+Copyright 2015, Kazunari Kaizu, All rights reserved.
+
+[View license](https://github.com/ecell/ecell4/blob/develop/LICENSE)
diff --git a/readthedocs/old/tutorials.md b/readthedocs/old/tutorials.md
new file mode 100644
index 0000000..6f1da71
--- /dev/null
+++ b/readthedocs/old/tutorials.md
@@ -0,0 +1,63 @@
+# Tutorials
+
+## [Introduction](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/Introduction.ipynb)
+- [E-Cell4 fundamental components](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/Introduction.ipynb#E-Cell4-fundamental-components)
+- [A basic model in E-Cell 4](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/Introduction.ipynb#A-basic-model-in-E-Cell-4)
+ - [Species](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/Introduction.ipynb#Species)
+ - [ReactionRule](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/Introduction.ipynb#ReactionRule)
+ - [NetworkModel](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/Introduction.ipynb#NetworkModel)
+- [A simple simulation with E-Cell4](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/Introduction.ipynb#A-simple-simulation-with-E-Cell4)
+- [Special model notation in E-Cell4](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/Introduction.ipynb#Special-model-notation-in-E-Cell4)
+ - [Notations about synthesis and degradation](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/Introduction.ipynb#Notations-about-synthesis-and-degradation)
+
+## [World and Simulator with ODE solver](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/WorldSimBasics.ipynb)
+- [Creating ODE world](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/WorldSimBasics.ipynb#Creating-ODE-world)
+- [How to use Real3](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/WorldSimBasics.ipynb#How-to-use-Real3)
+- [Creating and Running ODESimulator](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/WorldSimBasics.ipynb#Creating-and-Running-ODESimulator)
+- [Switching the solver](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/WorldSimBasics.ipynb#Switching-the-solver)
+
+## [Meso](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/Meso.ipynb)
+- [Space in E-Cell4](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/Meso.ipynb#Space-in-E-Cell4)
+- [Spatial Gillespie method](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/Meso.ipynb#Spatial-Gillespie-method)
+- [Defining molecular diffusion coefficient](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/Meso.ipynb#Defining-molecular-diffusion-coefficient)
+- [Molecular localization](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/Meso.ipynb#Molecular-localization)
+- [Molecular initial location and the reaction](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/Meso.ipynb#Molecular-initial-location-and-the-reaction)
+
+
+## [Spatiocyte simulations with single-molecule resolution](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/Spatiocyte.ipynb)
+- [Spatiocyte lattice-based method](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/Spatiocyte.ipynb#Spatiocyte-lattice-based-method)
+- [The diffusion movement of single molecule](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/Spatiocyte.ipynb#The-diffusion-movement-of-single-molecule)
+- [The diffusion coefficient and the second-order reaction](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/Spatiocyte.ipynb#The-diffusion-coefficient-and-the-second-order-reaction)
+- [The structure in the Spatiocyte method](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/Spatiocyte.ipynb#The-structure-in-the-Spatiocyte-method)
+- [The structure and the reaction](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/Spatiocyte.ipynb#The-structure-and-the-reaction)
+
+
+## Examples
+
+More examples are available below:
+
+- [MSD](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Examples/MSD.ipynb) explains how to take statistics of trajectories of particles freely diffusing in three-dimensional space. This would be the best demonstration to explain the usage of `FixedIntervalTrajectoryObserver`.
+
+### Topical Exercises
+
+- [Visualizer](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/Visualizer.ipynb)
+- [Rule-based Modeling](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/RuleBasedModeling.ipynb)
+- [Observer](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/Observer.ipynb)
+
+### Advanced Exercises
+
+- [World Advanced](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/WorldAdvanced.ipynb)
+- [Model Advanced](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/ModelAdvanced.ipynb)
+- [Simple equilibrium model](http://nbviewer.ipython.org/github/ecell/ecell4/blob/master/ipynb/Tutorials/SimpleEquilibrium.ipynb)
+
+
+
+<script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-27761864-9', 'auto');
+ ga('send', 'pageview');
+</script>
diff --git a/readthedocs/tutorials/tutorial1.rst b/readthedocs/tutorials/tutorial1.rst
new file mode 100644
index 0000000..85ba941
--- /dev/null
+++ b/readthedocs/tutorials/tutorial1.rst
@@ -0,0 +1,194 @@
+
+1. Brief Tour of E-Cell4 Simulations
+====================================
+
+First of all, you have to load the E-Cell4 library:
+
+.. code:: ipython2
+
+ %matplotlib inline
+ from ecell4 import *
+
+1.1. Quick Demo
+---------------
+
+There are three fundamental components consisting of E-Cell System
+version 4, which are ``Model``, ``World``, and ``Simulator``. These
+components describe concepts in simulation.
+
+- ``Model`` describes a problem to simulate as its name suggests.
+- ``World`` describes a state, e.g. an initial state and a state at a
+ time-point.
+- ``Simulator`` describes a solver.
+
+``Model`` is independent from solvers. Every solver can share a single
+``Model`` instance. Each alogrithm has a corresponding pair of ``World``
+and ``Simulator`` (these pairs are capsulized into ``Factory`` class).
+``World`` is not necessarily needed to be bound to ``Model`` and
+``Simulator``, but ``Simulator`` needs both ``Model`` and ``World``.
+
+Before running a simulation, you have to make a ``Model``. E-Cell4
+supports multiple ways to buld a ``Model`` (See `2. How to Build a
+Model <2.%20How%20to%20Build%20a%20Model.ipynb>`__). Here, we explain
+the simplest way using the ``with`` statement with ``reaction_rules``:
+
+.. code:: ipython2
+
+ with reaction_rules():
+ A + B > C | 0.01 # equivalent to create_binding_reaction_rule
+ C > A + B | 0.3 # equivalent to create_unbinding_reaction_rule
+
+ m1 = get_model()
+ print(m1)
+
+
+.. parsed-literal::
+
+ <ecell4.core.NetworkModel object at 0x7fbbb2232af0>
+
+
+Please remember to write parentheses ``()`` after ``reaction_rules``.
+Here, a ``Model`` with two ``ReactionRule``\ s named ``m1`` was built.
+Lines in the ``with`` block describe ``ReactionRule``\ s, a binding and
+unbinding reaction respectively. A kinetic rate for the mass action
+reaction is defined after a separator ``|``, i.e. ``0.01`` or ``0.3``.
+In the form of ordinary differential equations, this model can be
+described as:
+
+.. math:: [\mathrm{A}]'=[\mathrm{B}]'=-[\mathrm{C}]=-0.01[\mathrm{A}][\mathrm{B}]+0.3[\mathrm{C}]
+
+For more compact description, ``A + B == C | (0.01, 0.3)`` is also
+acceptable.
+
+E-Cell4 has a simple interface to run simulations with the given model,
+``run_simulation``. This enables for you to run simulations without
+instanciate ``World`` and ``Simulator`` by yourself. To solve this
+model, you have to give a volume, an initial value for each ``Species``
+and duration of time:
+
+.. code:: ipython2
+
+ run_simulation(10.0, model=m1, y0={'A': 60, 'B': 60}, volume=1.0)
+
+
+
+.. image:: tutorial1_files/tutorial1_6_0.png
+
+
+To switch simulation algorithm, you only need to give the type of solver
+(``ode`` is used as a default) as follows:
+
+.. code:: ipython2
+
+ run_simulation(10.0, model=m1, y0={'A': 60, 'B': 60}, solver='gillespie')
+
+
+
+.. image:: tutorial1_files/tutorial1_8_0.png
+
+
+1.2. Spatial Simulation and Visualization
+-----------------------------------------
+
+E-Cell4 now supports multiple spatial algorithms, ``egfrd``,
+``spatiocyte`` and ``meso``. In addition to the model used in
+non-spatial solvers (``ode`` and ``gillespie``), these spatial solvers
+need extra information about each ``Species``, i.e. a diffusion
+coefficient and radius.
+
+The ``with`` statement with ``species_attributes`` is available to
+describe these properties:
+
+.. code:: ipython2
+
+ with species_attributes():
+ A | B | C | {'radius': '0.005', 'D': '1'} # 'D' is for the diffusion coefficient
+
+ with reaction_rules():
+ A + B == C | (0.01, 0.3)
+
+ m2 = get_model()
+
+Even though the properties indicate a floating number, each attribute
+must be given as a string.
+
+Now you can run a spatial simulation in the same way as above (``egfrd``
+would need long time to simulate):
+
+.. code:: ipython2
+
+ run_simulation(10.0, model=m2, y0={'A': 60, 'B': 60}, solver='meso')
+
+
+
+.. image:: tutorial1_files/tutorial1_12_0.png
+
+
+Structure (e.g. membrane, cytoplasm and nucleus) is only supported by
+``spatiocyte`` and ``meso`` now. For the simulation, ``location`` that
+each species belongs to must be specified in its attribute first.
+
+.. code:: ipython2
+
+ with species_attributes():
+ A | {'D': '1', 'location': 'S'} # 'S' is a name of the structure
+
+ m3 = get_model() # with no reactions
+
+E-Cell4 supports primitive shapes as a structure like ``Sphere``:
+
+.. code:: ipython2
+
+ sphere = Sphere(Real3(0.5, 0.5, 0.5), 0.48) # a center position and radius
+
+E-Cell4 provides various kinds of ``Observer``\ s, which log the state
+during a simulation. Two observers are declared to log positions of
+molecules. ``FixedIntervalTrajectoryObserver`` logs a trajectory of a
+molecule, and ``FixedIntervalHDF5Observer`` saves ``World`` to a HDF5
+file at the given interval:
+
+.. code:: ipython2
+
+ obs1 = FixedIntervalTrajectoryObserver(1e-3)
+ obs2 = FixedIntervalHDF5Observer(0.1, 'test%02d.h5')
+
+Then, ``run_simulation`` accepts structures and observers as arguments
+``structure`` and ``observers`` respectively (see also
+``help(run_simulation)``):
+
+.. code:: ipython2
+
+ run_simulation(1.0, model=m3, y0={'A': 60}, structures={'S': sphere},
+ solver='spatiocyte', observers=(obs1, obs2), return_type=None)
+
+E-Cell4 also provides visualizations including an interactive
+visualization on Jupyter Notebook like ``viz.plot_world``.
+``viz.plot_world`` plots positions of molecules in 3D. In addition, by
+using ``load_world``, you can easily restore the state of ``World`` from
+a HDF5 file:
+
+.. code:: ipython2
+
+ # viz.plot_world(load_world('test00.h5'), species_list=['A'])
+ viz.plot_world(load_world('test00.h5'), species_list=['A'], interactive=False)
+
+
+
+.. image:: tutorial1_files/tutorial1_22_0.png
+
+
+Also for ``FixedIntervalTrajectoryObserver``, ``viz.plot_trajectory``
+plots trajectories in the interactive way:
+
+.. code:: ipython2
+
+ # viz.plot_trajectory(obs1)
+ viz.plot_trajectory(obs1, interactive=False)
+
+
+
+.. image:: tutorial1_files/tutorial1_24_0.png
+
+
+For more details, see `5. How to Log and Visualize
+Simulations <5.%20How%20to%20Log%20and%20Visualize%20Simulations.ipynb>`__.
diff --git a/readthedocs/tutorials/tutorial10.rst b/readthedocs/tutorials/tutorial10.rst
new file mode 100644
index 0000000..a39de37
--- /dev/null
+++ b/readthedocs/tutorials/tutorial10.rst
@@ -0,0 +1,505 @@
+
+10. Spatiocyte Simulations at Single-Molecule Resolution
+========================================================
+
+| We showed an example of E-Cell4 spatial representation.
+| Next let's simulate the models with more detailed spatial
+ representation called "single molecule resolution".
+
+.. code:: ipython2
+
+ %matplotlib inline
+ from ecell4 import *
+
+10.1. Spatiocyte Lattice-based Method
+-------------------------------------
+
+In spatical Gillespie method, we divided the ``Space`` into smaller
+``Space``, then we diffuse the molecules in the subvolumes. However, we
+treated the molecules in each subvolume just as the number of the
+molecules, and the location of the molecules are NOT determinated.
+
+In other words, the spatical resolution of spatical Gillespie method is
+equal to the side of a subvolume :math:`l`. To improve this resolution,
+we need to make the size of :math:`l` small. But in this method the
+:math:`l` must be larger than the (at least) 10 times the diameter of
+molecule :math:`R`.
+
+How can we improve the spatical resolution to the size of the molecule?
+The answer is the simulation with single-molecule resolution. This
+method simulate the molecule not with the number of the molecules, but
+with the spatical reaction diffusion of each molecule.
+
+E-Cell4 has multiple single-molecule resolution method, here we explain
+about Spatiocyte lattice-based method. Spatiocyte treats each molecule
+as hard spheres, and diffuses the molecules on hexagonal close-packed
+lattice.
+
+Spatiocyte has an ID for each molecule and the position of the molecule
+with single-molecule resolution. For the higher spatial resolution,
+Spatiocyte has 100 times smaller time-step than spatical Gillespie,
+because the time scale of diffusion increases with the square of the
+distance.
+
+Next, let's try the Spatiocyte method.
+
+.. code:: ipython2
+
+ with species_attributes():
+ A | B | C | {'D': '1'}
+
+ with reaction_rules():
+ A + B == C | (0.01, 0.3)
+
+ m = get_model()
+
+ w = spatiocyte.SpatiocyteWorld(Real3(1, 1, 1), 0.005) # The second argument is 'voxel_radius'.
+ w.bind_to(m)
+ w.add_molecules(Species('C'), 60)
+
+ sim = spatiocyte.SpatiocyteSimulator(w)
+ obs = FixedIntervalNumberObserver(0.1, ('A', 'B', 'C'))
+ sim.run(10, obs)
+
+There is a distinct difference in the second argument for
+``SpatiocyteWorld``. This is called ``voxel radius``. Spatiocyte defines
+the locations of the molecules with dividing the space with molecule
+size, and call the minimum unit for this space as ``Voxel``.
+
+In most cases the size of the molecule would be good for
+``voxel radius``. In this example, we set 5 :math:`\mathrm{nm}` as the
+radius of the molecule in the space with the side 1
+:math:`\mathrm{\mu m}` . It takes more time to simulate, but the result
+is same with ODE or Gillespie.
+
+.. code:: ipython2
+
+ viz.plot_number_observer(obs)
+
+
+
+.. image:: tutorial10_files/tutorial10_5_0.png
+
+
+10.2. The Diffusion Movement of Single Molecule
+-----------------------------------------------
+
+Next let's simulate single molecule diffusion to check the resolution.
+
+.. code:: ipython2
+
+ with species_attributes():
+ A | {'D': '1'}
+
+ m = get_model()
+
+ w = spatiocyte.SpatiocyteWorld(Real3(1, 1, 1), 0.005)
+ w.bind_to(m)
+
+ (pid, p), suc = w.new_particle(Species('A'), Real3(0.5, 0.5, 0.5))
+
+``new_particle`` method places a particle to a coordinate in
+``SpatiocyteWorld``, and returns the particle's ``ParticleID`` (``pid``)
+the information about the ``Particle`` (``p``), and verify whether the
+particle is cooked with (``suc``). If a particle is already placed in
+the coordinate, you can NOT place a particle over it and ``suc`` will be
+``False`` and fail.
+
+``p`` contains the particle position, species type, radius, and
+diffusion coefficient. You can inspect the ``p`` with the particle's ID,
+``pid``.
+
+Let's check ``p`` first.
+
+.. code:: ipython2
+
+ pid, p = w.get_particle(pid)
+ print(p.species().serial()) # must print: A
+ print(p.radius(), p.D()) # must print: (0.005, 1.0)
+ print(tuple(p.position())) # must print: (0.49806291436591293, 0.49652123150307814, 0.5)
+
+
+.. parsed-literal::
+
+ A
+ 0.005 1.0
+ (0.49806291436591293, 0.49652123150307814, 0.5)
+
+
+``get_particle`` method receives a particle ID and returns the ID and
+particle (of cource the ID are same with the given one). You can inspect
+the coordinate of the particle as ``Real3`` with ``position()`` method.
+It is hard to directly read the coordinate, here we printed it after
+converting to tuple. As you can see the tuple coodinate is slightly
+different from the original position given as a ``Real3``. This is
+because Spatiocyte can place the molecule only on the lattice.
+``SpatiocyteWorld`` places the molecule a center position of the nearest
+lattice for the argument ``Real3``.
+
+You can visualize the coordinate of the molecule with ``viz.plot_world``
+method, and check the molecule in the center of the World.
+
+.. code:: ipython2
+
+ viz.plot_world(w, interactive=False)
+ # viz.plot_world(w)
+
+
+
+.. image:: tutorial10_files/tutorial10_11_0.png
+
+
+And you can use ``FixedIntervalTrajectoryObserver`` to track the
+trajectory of molecular diffusion process.
+
+.. code:: ipython2
+
+ sim = spatiocyte.SpatiocyteSimulator(w)
+ obs = FixedIntervalTrajectoryObserver(0.002, (pid,))
+ sim.run(1, obs)
+ viz.plot_trajectory(obs, interactive=False)
+ # viz.plot_trajectory(obs)
+
+
+
+.. image:: tutorial10_files/tutorial10_13_0.png
+
+
+Here we visualized the trajectory with ``viz.plot_trajectory`` method,
+you can also obtain it as ``Real3`` list with ``data()`` method.
+
+.. code:: ipython2
+
+ print(len(obs.data())) # => 1
+ print(len(obs.data()[0])) # => 501
+
+
+.. parsed-literal::
+
+ 1
+ 501
+
+
+``data()`` method returns nested list. First index means the index of
+the particle. Second index means the index of the ``Real3``. In this
+case we threw just one particle, so the first result is ``1``, and next
+``501`` means time-series coordinate of the only one particle (initial
+coordinate and the coordinates in 1/0.002 = 500 time points).
+
+Also you can obtain the particles in bulk with ``list_particles_exact``
+method and a ``Species``.
+
+.. code:: ipython2
+
+ w.add_molecules(Species('A'), 5)
+
+ particles = w.list_particles_exact(Species('A'))
+ for pid, p in particles:
+ print(p.species().serial(), tuple(p.position()))
+
+
+.. parsed-literal::
+
+ A (0.9634659654947169, 0.9266471820493494, 0.625)
+ A (0.09797958971132714, 0.6841600689897065, 0.055)
+ A (0.43274318789169486, 0.06350852961085883, 0.03)
+ A (0.6776921621700127, 0.9988159656980526, 0.35000000000000003)
+ A (0.8328265125462806, 0.762102355330306, 0.04)
+ A (0.342928563989645, 0.6581793068761734, 0.58)
+
+
+Please remember ``list_particles_exact`` method, this method can be used
+for other World as well as ``add_molecules`` method.
+
+On a different note, in Spatiocyte proper method to inspect the single
+molecule is ``list_voxels_exact``, and the coordinate is described with
+index of voxel (not ``Real3``).
+
+10.3 The Diffusion Coefficient and the Second-order Reaction
+------------------------------------------------------------
+
+The models we have addressed contains a second-order reaction. Let's
+look at the relationship between this second-order reaction and the
+diffusion coefficient in Spatiocyte.
+
+.. code:: ipython2
+
+ with species_attributes():
+ A | B | C | {'D': '1'}
+
+ with reaction_rules():
+ A + B > C | 1.0
+
+ m = get_model()
+
+.. code:: ipython2
+
+ w = spatiocyte.SpatiocyteWorld(Real3(2, 1, 1), 0.005)
+ w.bind_to(m)
+ w.add_molecules(Species('A'), 120)
+ w.add_molecules(Species('B'), 120)
+
+ obs = FixedIntervalNumberObserver(0.005, ('A', 'B', 'C'))
+ sim = spatiocyte.SpatiocyteSimulator(w)
+ sim.run(1.0, obs)
+
+.. code:: ipython2
+
+ odew = ode.ODEWorld(Real3(2, 1, 1))
+ # odew.bind_to(m)
+ odew.add_molecules(Species('A'), 120)
+ odew.add_molecules(Species('B'), 120)
+
+ odeobs = FixedIntervalNumberObserver(0.005, ('A', 'B', 'C'))
+ odesim = ode.ODESimulator(m, odew)
+ odesim.run(1.0, odeobs)
+
+.. code:: ipython2
+
+ viz.plot_number_observer(obs, "-", odeobs, "--")
+
+
+
+.. image:: tutorial10_files/tutorial10_24_0.png
+
+
+Although we used faster kinetic constant than before, the result is
+same. But by contrast with ODE simulation, you can find the difference
+between them (solid line is ``spatiocyte``, dash line is ``ode``). Is
+this fault of Spatiocyte? (No) Actually Spatiocyte reaction rate
+couldn't be faster, while ODE reaction rate can be faster infinitely.
+
+This is caused by the difference between the definition of reaction rate
+constant in ODE solver and single molecule simulation method. The former
+is called "macroscopic" or "effective" reaction rate constant, the
+latter is called "microscopic" or "intrinsic" reaction rate constant.
+
+The "macroscopic" rate represents the reaction rate in mixed molecular
+state, meanwhile "microscopic" rate represents the reactivity in
+molecule collision. So in "microscopic" perspective, the first thing
+molecules need to react is collision. In Spatiocyte, however, you make
+this "microscopic" rate faster, you can NOT make the actual reaction
+rate faster than collision rate. This is called "diffusion-limited"
+condition. This is similar to what the molecules coordinated
+disproportionately need time to react.
+
+It is known that there is a relationship between this macroscopic rate
+constant :math:`k_\mathrm{on}` and microscopic rate constant :math:`k_a`
+in 3D space.
+
+:math:`\frac{1}{k_\mathrm{on}}=\frac{1}{k_a}+\frac{1}{4\pi RD_\mathrm{tot}},`
+
+where :math:`R` is the sum of two molecule's radius in collision,
+:math:`D_\mathrm{tot}` is the sum of diffusion coefficients.
+
+In the case of the above IPython Notebook cell,
+:math:`k_D=4\pi RD_\mathrm{tot}` is almost 0.25 and "microscopic" rate
+constant is 1.0. So the "macroscopic" rate constant is almost 0.2.
+(However unless you specify the configuration for Spatiocyte, the second
+order reaction rate must be slower than :math:`3\sqrt{2} RD`, and the
+dissociation constant :math:`k_D` is also :math:`3\sqrt{2} RD`. The
+single molecule simulation method can separate molecular "diffusion" and
+"reaction" in accurate manner contrary to ODE or Gillespie method
+supposed well mixed system (that is diffusion coefficient is infinite).
+However if the microscopic rate constant :math:`k_D` is small enough,
+the macroscopic rate constant is almost equal to microscopic one
+(reaction late-limit).
+
+10.4. The Structure in the Spatiocyte Method
+--------------------------------------------
+
+Next we explain a way to create a structure like cell membrane. Although
+The structure feature in E-Cell4 is still in development, Spatiocyte
+supports the structure on some level. Let's look a sphere structure as
+an example.
+
+To restrict the molecular diffusion inside of the sphere, first we
+create it.
+
+.. code:: ipython2
+
+ with species_attributes():
+ A | {'D': '1', 'location': 'C'}
+
+ m = get_model()
+
+.. code:: ipython2
+
+ w = spatiocyte.SpatiocyteWorld(Real3(1, 1, 1), 0.005)
+ w.bind_to(m)
+ sph = Sphere(Real3(0.5, 0.5, 0.5), 0.45)
+ print(w.add_structure(Species('C'), sph)) # will print 539805
+
+
+.. parsed-literal::
+
+ 539805
+
+
+Visualize the state of the ``World``.
+
+.. code:: ipython2
+
+ viz.plot_world(w, interactive=False)
+ # viz.plot_world(w)
+
+
+
+.. image:: tutorial10_files/tutorial10_32_0.png
+
+
+The ``Sphere`` class first argument is the center of the sphere, and
+second argument is the radius. Then we created and added a ``Species``
+named ``C``. The structure in the Spatiocyte method is described by
+filling the space with the ``Voxel``. In the example above, the
+``Voxel``\ s in the sphere are occupied with ``Species`` named ``C``.
+
+You can see those distribution with ``viz.plot_world`` as above.
+(However, the number of the species is too large to visualize all. So we
+plot only a part of it, but actually the sphere is fully occupied with
+the ``Species``.)
+
+Next we create Species moving inside this sphere. To that end we give
+``location`` attribute to the ``Species``. After that, you just throw-in
+molecules to the ``World`` with ``add_molecules`` function.
+
+.. code:: ipython2
+
+ w.add_molecules(Species('A'), 120)
+
+.. code:: ipython2
+
+ viz.plot_world(w, species_list=('A',), interactive=False) # visualize A-molecules only
+ # viz.plot_world(w, species_list=('A',)) # visualize A-molecules only
+
+
+
+.. image:: tutorial10_files/tutorial10_35_0.png
+
+
+Now we restricted the trajectories of ``Species`` ``A`` on the structure
+of Species ``C``, and ``add_molecules`` works like that. As a note, you
+need to create the structure before ``add_molecule``.
+
+We can use ``FixedIntervalTrajectoryObserver`` to check the restriction
+of the diffusion area.
+
+.. code:: ipython2
+
+ pid_list = [pid for pid, p in w.list_particles(Species('A'))[: 10]]
+ obs = FixedIntervalTrajectoryObserver(1e-3, pid_list)
+ sim = spatiocyte.SpatiocyteSimulator(w)
+ sim.run(1, obs)
+ viz.plot_trajectory(obs, interactive=False)
+ # viz.plot_trajectory(obs)
+
+
+
+.. image:: tutorial10_files/tutorial10_37_0.png
+
+
+``pid_list`` is a list of the first 10 ``ParticleID``\ s of ``A``
+molecules. The trajectories are colored by this 10 species. Certainly
+the trajectories are restricted in the sphere.
+
+10.5 The structure and the reaction
+-----------------------------------
+
+At the end, we explain about molecular translocation among the
+structures.
+
+A ``Species`` without ``location`` attribute is not an member of any
+structures. In the example above, if you do NOT write ``location``
+attribute with Species ``A``, ``A`` is placed outside of the sphere.
+
+Next let's create a planar surface structure. To create a surface, we
+need to use three Real3, those are original point (``origin``) and two
+axis vector (``unit0``, ``unit1``):
+``ps = PlanarSurface(origin, unit0, unit1)``.
+
+Suppose Species ``A`` on the surface, ``ps``, and a normal Species
+``B``.
+
+.. code:: ipython2
+
+ with species_attributes():
+ A | {'D': '0.1', 'location': 'M'}
+ B | {'D': '1'}
+
+ m = get_model()
+
+ w = spatiocyte.SpatiocyteWorld(Real3(1, 1, 1))
+ w.bind_to(m)
+
+ origin = Real3(0, 0, 0.5)
+ unit0 = Real3(1, 0, 0)
+ unit1 = Real3(0, 1, 0)
+ w.add_structure(
+ Species('M'), PlanarSurface(origin, unit0, unit1)) # Create a structure first
+
+ w.add_molecules(Species('B'), 480) # Throw-in B-molecules
+
+.. code:: ipython2
+
+ viz.plot_world(w, species_list=('B', 'M'), interactive=False)
+ # viz.plot_world(w, species_list=('B', 'M'))
+
+
+
+.. image:: tutorial10_files/tutorial10_41_0.png
+
+
+It might be hard to see them, but actually the ``Species`` ``B`` are
+placed only not on a surface. Then how can we make absorbed this
+``Species`` ``B`` to a surface ``M`` and synthesize a ``Species`` ``A``.
+
+.. code:: ipython2
+
+ with species_attributes():
+ A | {'D': '0.1', 'location': 'M'}
+ B | {'D': '1'}
+
+ with reaction_rules():
+ B + M == A | (1.0, 1.5)
+
+ m = get_model()
+
+This means that a ``Species`` ``B`` becomes ``A`` when ``B`` collides
+with a structure ``M``. On the other hand, a species ``A`` dissociates
+from the structure, and becomes ``M`` and ``B`` on as the reverse
+reaction direction.
+
+Now you can simulate this model with a structure.
+
+.. code:: ipython2
+
+ w.bind_to(m)
+
+ sim = spatiocyte.SpatiocyteSimulator(w)
+ obs = NumberObserver(('A', 'B'))
+ sim.run(2, obs)
+
+.. code:: ipython2
+
+ viz.plot_number_observer(obs)
+ viz.plot_world(w, species_list=('A', 'B'), interactive=False)
+ # viz.plot_world(w, species_list=('A', 'B'))
+
+
+
+.. image:: tutorial10_files/tutorial10_46_0.png
+
+
+
+.. image:: tutorial10_files/tutorial10_46_1.png
+
+
+In the dissociation from a structure, you can skip to write the
+structure. Thus, ``A > B`` just means the same as ``A > B + M`` in the
+above. But in the binding, you can **NOT**. Because it is impossible to
+create ``A`` from ``B`` with no ``M`` around there. By contrast the
+species ``A`` wherever on the sphere ``M`` can create the species ``B``.
+The first order reaction occurs in either presence or absence of the
+structure. But, in the case of the binding, the second order reaction
+turns into the first order reaction and the meaning of rate constant
+also changes if you ignore ``M`` in the left-hand side.
diff --git a/readthedocs/tutorials/tutorial10_files/tutorial10_11_0.png b/readthedocs/tutorials/tutorial10_files/tutorial10_11_0.png
new file mode 100644
index 0000000..627d67a
Binary files /dev/null and b/readthedocs/tutorials/tutorial10_files/tutorial10_11_0.png differ
diff --git a/readthedocs/tutorials/tutorial10_files/tutorial10_13_0.png b/readthedocs/tutorials/tutorial10_files/tutorial10_13_0.png
new file mode 100644
index 0000000..6d24d4f
Binary files /dev/null and b/readthedocs/tutorials/tutorial10_files/tutorial10_13_0.png differ
diff --git a/readthedocs/tutorials/tutorial10_files/tutorial10_24_0.png b/readthedocs/tutorials/tutorial10_files/tutorial10_24_0.png
new file mode 100644
index 0000000..d801031
Binary files /dev/null and b/readthedocs/tutorials/tutorial10_files/tutorial10_24_0.png differ
diff --git a/readthedocs/tutorials/tutorial10_files/tutorial10_32_0.png b/readthedocs/tutorials/tutorial10_files/tutorial10_32_0.png
new file mode 100644
index 0000000..2f15bd4
Binary files /dev/null and b/readthedocs/tutorials/tutorial10_files/tutorial10_32_0.png differ
diff --git a/readthedocs/tutorials/tutorial10_files/tutorial10_35_0.png b/readthedocs/tutorials/tutorial10_files/tutorial10_35_0.png
new file mode 100644
index 0000000..4471d2c
Binary files /dev/null and b/readthedocs/tutorials/tutorial10_files/tutorial10_35_0.png differ
diff --git a/readthedocs/tutorials/tutorial10_files/tutorial10_37_0.png b/readthedocs/tutorials/tutorial10_files/tutorial10_37_0.png
new file mode 100644
index 0000000..d758405
Binary files /dev/null and b/readthedocs/tutorials/tutorial10_files/tutorial10_37_0.png differ
diff --git a/readthedocs/tutorials/tutorial10_files/tutorial10_41_0.png b/readthedocs/tutorials/tutorial10_files/tutorial10_41_0.png
new file mode 100644
index 0000000..27b322c
Binary files /dev/null and b/readthedocs/tutorials/tutorial10_files/tutorial10_41_0.png differ
diff --git a/readthedocs/tutorials/tutorial10_files/tutorial10_46_0.png b/readthedocs/tutorials/tutorial10_files/tutorial10_46_0.png
new file mode 100644
index 0000000..4ec8f02
Binary files /dev/null and b/readthedocs/tutorials/tutorial10_files/tutorial10_46_0.png differ
diff --git a/readthedocs/tutorials/tutorial10_files/tutorial10_46_1.png b/readthedocs/tutorials/tutorial10_files/tutorial10_46_1.png
new file mode 100644
index 0000000..ee28c23
Binary files /dev/null and b/readthedocs/tutorials/tutorial10_files/tutorial10_46_1.png differ
diff --git a/readthedocs/tutorials/tutorial10_files/tutorial10_5_0.png b/readthedocs/tutorials/tutorial10_files/tutorial10_5_0.png
new file mode 100644
index 0000000..364835a
Binary files /dev/null and b/readthedocs/tutorials/tutorial10_files/tutorial10_5_0.png differ
diff --git a/readthedocs/tutorials/tutorial1_files/tutorial1_12_0.png b/readthedocs/tutorials/tutorial1_files/tutorial1_12_0.png
new file mode 100644
index 0000000..bd05041
Binary files /dev/null and b/readthedocs/tutorials/tutorial1_files/tutorial1_12_0.png differ
diff --git a/readthedocs/tutorials/tutorial1_files/tutorial1_22_0.png b/readthedocs/tutorials/tutorial1_files/tutorial1_22_0.png
new file mode 100644
index 0000000..041c85c
Binary files /dev/null and b/readthedocs/tutorials/tutorial1_files/tutorial1_22_0.png differ
diff --git a/readthedocs/tutorials/tutorial1_files/tutorial1_24_0.png b/readthedocs/tutorials/tutorial1_files/tutorial1_24_0.png
new file mode 100644
index 0000000..af0d632
Binary files /dev/null and b/readthedocs/tutorials/tutorial1_files/tutorial1_24_0.png differ
diff --git a/readthedocs/tutorials/tutorial1_files/tutorial1_6_0.png b/readthedocs/tutorials/tutorial1_files/tutorial1_6_0.png
new file mode 100644
index 0000000..2303a5b
Binary files /dev/null and b/readthedocs/tutorials/tutorial1_files/tutorial1_6_0.png differ
diff --git a/readthedocs/tutorials/tutorial1_files/tutorial1_8_0.png b/readthedocs/tutorials/tutorial1_files/tutorial1_8_0.png
new file mode 100644
index 0000000..431689e
Binary files /dev/null and b/readthedocs/tutorials/tutorial1_files/tutorial1_8_0.png differ
diff --git a/readthedocs/tutorials/tutorial2.rst b/readthedocs/tutorials/tutorial2.rst
new file mode 100644
index 0000000..ce4d325
--- /dev/null
+++ b/readthedocs/tutorials/tutorial2.rst
@@ -0,0 +1,503 @@
+
+2. How to Build a Model
+=======================
+
+``Model`` is composed of a set of ``Species`` and ``ReactionRule``\ s.
+
+- ``Species`` describes a molecule entitie (e.g. a type or state of a
+ protein) in the model. ``Species`` also has its attributes like the
+ size.
+- ``ReactionRule`` describes the interactions between ``Species`` (e.g.
+ binding and unbinding).
+
+.. code:: ipython2
+
+ %matplotlib inline
+ from ecell4 import *
+
+2.1. Species
+------------
+
+``Species`` can be generated with its name:
+
+.. code:: ipython2
+
+ sp1 = Species("A")
+ print(sp1.serial())
+
+
+.. parsed-literal::
+
+ A
+
+
+A name of ``Species`` (called ``serial``) has a number of naming rules.
+It requires attention to use special symbols (e.g. parenthesis ``()``,
+dot ``.``, underbar ``_``), numbers and brank.
+
+``Species`` has a set of APIs for handling its attributes:
+
+.. code:: ipython2
+
+ sp1.set_attribute("radius", "0.005")
+ sp1.set_attribute("D", "1")
+ sp1.set_attribute("location", "cytoplasm")
+ print(sp1.get_attribute("radius"))
+ sp1.remove_attribute("radius")
+ print(sp1.has_attribute("radius"))
+
+
+.. parsed-literal::
+
+ 0.005
+ False
+
+
+The arguments in ``set_attribute`` is the name of attribute and its
+value. Both of them have to be string. There is a shortcut to set the
+attributes above at once because ``radius``, ``D`` (a diffusion
+coefficient) and ``location`` are frequently used.
+
+.. code:: ipython2
+
+ sp1 = Species("A", "0.005", "1", "cytoplasm") # serial, radius, D, location
+
+The equality between ``Species`` is just evaluated based on their
+serial:
+
+.. code:: ipython2
+
+ print(Species("A") == Species("B"), Species("A") == Species("A"))
+
+
+.. parsed-literal::
+
+ False True
+
+
+A Species consists of one or more UnitSpecies:
+
+.. code:: ipython2
+
+ sp1 = Species()
+ usp1 = UnitSpecies("C")
+ print(usp1.serial())
+ sp1.add_unit(usp1)
+ sp1.add_unit(UnitSpecies("A"))
+ sp1.add_unit(UnitSpecies("B"))
+ print(sp1.serial(), sp1.num_units())
+
+
+.. parsed-literal::
+
+ C
+ C.A.B 3
+
+
+A Species can be reproduced from a serial. In a serial, all serials of
+UnitSpecies are joined with the separator, dot ``.``. The comparison
+between Species **matters** the oder of UnitSpecies in each Species.
+
+.. code:: ipython2
+
+ sp1 = Species("C.A.B")
+ print(sp1.serial())
+ print(Species("A.B.C") == Species("C.A.B"))
+ print(Species("A.B.C") == Species("A.B.C"))
+
+
+.. parsed-literal::
+
+ C.A.B
+ False
+ True
+
+
+``UnitSpecies`` can have sites. Sites consists of a ``name``, ``state``
+and ``bond``, and are sorted automatically in ``UnitSpecies``. ``name``
+must be unique in a ``UnitSpecies``. All the value have to be string. Do
+not include parenthesis, dot and blank, and not start from numbers
+except for ``bond``.
+
+.. code:: ipython2
+
+ usp1 = UnitSpecies("A")
+ usp1.add_site("us", "u", "")
+ usp1.add_site("ps", "p", "_")
+ usp1.add_site("bs", "", "_")
+ print(usp1.serial())
+
+
+.. parsed-literal::
+
+ A(bs^_,ps=p^_,us=u)
+
+
+``UnitSpecies`` can be also reproduced from its serial. Please be
+careful with the order of sites where a site with a state must be placed
+after sites with no state specification:
+
+.. code:: ipython2
+
+ usp1 = UnitSpecies()
+ usp1.deserialize("A(bs^_, us=u, ps=p^_)")
+ print(usp1.serial())
+
+
+.. parsed-literal::
+
+ A(bs^_,ps=p^_,us=u)
+
+
+Of course, a site of ``UnitSpecies`` is available even in ``Species``'
+serial.
+
+.. code:: ipython2
+
+ sp1 = Species("A(bs^1, ps=u).A(bs, ps=p^1)")
+ print(sp1.serial())
+ print(sp1.num_units())
+
+
+.. parsed-literal::
+
+ A(bs^1,ps=u).A(bs,ps=p^1)
+ 2
+
+
+The information (``UnitSpecies`` and its ``site``) is used for
+rule-based modeling. The way of rule-based modeling in E-Cell4 will be
+explained in `7. Introduction of Rule-based
+Modeling <7.%20Introduction%20of%20Rule-based%20Modeling.ipynb>`__.
+
+2.2. ReactionRule
+-----------------
+
+``ReactionRule`` consists of ``reactants``, ``products`` and ``k``.
+``reactants`` and ``products`` are a list of ``Species``, and ``k`` is a
+kinetic rate given as a floating number.
+
+.. code:: ipython2
+
+ rr1 = ReactionRule()
+ rr1.add_reactant(Species("A"))
+ rr1.add_reactant(Species("B"))
+ rr1.add_product(Species("C"))
+ rr1.set_k(1.0)
+
+Here is a binding reaction from ``A`` and ``B`` to ``C``. In this
+reaction definition, you don't need to set attributes to ``Species``.
+This is equivalent to call an utility function as follows:
+``create_binding_reaction_rule(Species("A"), Species("B"), Species("C"), 1.0)``.
+
+To inspect ``ReactionRule``, ``as_string`` function is available:
+
+.. code:: ipython2
+
+ rr1 = create_binding_reaction_rule(Species("A"), Species("B"), Species("C"), 1.0)
+ print(rr1.as_string())
+
+
+.. parsed-literal::
+
+ A+B>C|1
+
+
+You can also provide components to the constructor:
+
+.. code:: ipython2
+
+ rr1 = ReactionRule([Species("A"), Species("B")], [Species("C")], 1.0)
+ print(rr1.as_string())
+
+
+.. parsed-literal::
+
+ A+B>C|1
+
+
+In general, ``ReactionRule`` suggests a mass action reaction with rate
+``k``. ``ode`` solver also supports rate laws thought it's under
+development yet. ``ode.ODERatelaw`` is explained in `6. How to Solve
+ODEs with Rate Law
+Functions <6.%20How%20to%20Solve%20ODEs%20with%20Rate%20Law%20Functions.ipynb>`__.
+
+2.3. NetworkModel
+-----------------
+
+Now you have known how to create components of ``Model``. Next let's
+register these components to ``Model``.
+
+.. code:: ipython2
+
+ sp1 = Species("A", "0.005", "1")
+ sp2 = Species("B", "0.005", "1")
+ sp3 = Species("C", "0.01", "0.5")
+
+.. code:: ipython2
+
+ rr1 = create_binding_reaction_rule(Species("A"), Species("B"), Species("C"), 0.01)
+ rr2 = create_unbinding_reaction_rule(Species("C"), Species("A"), Species("B"), 0.3)
+
+``NetworkModel`` has interfaces to register ``Species`` and
+``ReactionRule`` named ``add_species_attribute`` and
+``add_reaction_rule``.
+
+.. code:: ipython2
+
+ m1 = NetworkModel()
+ m1.add_species_attribute(sp1)
+ m1.add_species_attribute(sp2)
+ m1.add_species_attribute(sp3)
+ m1.add_reaction_rule(rr1)
+ m1.add_reaction_rule(rr2)
+
+Here is a simple model with binding and unbinding reactions. To inspect
+``Model``, ``species_attributes`` and ``reaction_rules`` is available:
+
+.. code:: ipython2
+
+ print([sp.serial() for sp in m1.species_attributes()])
+ print([rr.as_string() for rr in m1.reaction_rules()])
+
+
+.. parsed-literal::
+
+ ['A', 'B', 'C']
+ ['A+B>C|0.01', 'C>A+B|0.3']
+
+
+``Species``' attributes in ``Model`` are indispensable for spatial
+simulations, but not necessarily needed for non-spatial algorithms, i.e.
+``gillespie`` and ``ode``. The attribute pushed first has higher
+priority than one pushed later. You can also attribute a ``Species``
+based on the attributes in a ``Model``.
+
+.. code:: ipython2
+
+ sp1 = Species("A")
+ print(sp1.has_attribute("radius"))
+ sp2 = m1.apply_species_attributes(sp1)
+ print(sp2.has_attribute("radius"))
+ print(sp2.get_attribute("radius"))
+
+
+.. parsed-literal::
+
+ False
+ True
+ 0.005
+
+
+All functions related to ``Species``, ``ReactionRule`` and
+``NetworkModel`` above are available even on C++ in the same way.
+
+You can solve this model with ``run_simulation`` as explained in `1.
+Brief Tour of E-Cell4
+Simulations <1.%20Brief%20Tour%20of%20E-Cell4%20Simulations.ipynb>`__:
+
+.. code:: ipython2
+
+ run_simulation(10.0, model=m1, y0={'C': 60})
+
+
+
+.. image:: tutorial2_files/tutorial2_38_0.png
+
+
+2.4. Python Utilities to Build a Model
+--------------------------------------
+
+As shown in `1. Brief Tour of E-Cell4
+Simulations <1.%20Brief%20Tour%20of%20E-Cell4%20Simulations.ipynb>`__,
+E-Cell4 also provides the easier way to build a model using ``with``
+statement:
+
+.. code:: ipython2
+
+ with species_attributes():
+ A | B | {'radius': '0.005', 'D': '1'}
+ C | {'radius': '0.01', 'D': '0.5'}
+
+ with reaction_rules():
+ A + B == C | (0.01, 0.3)
+
+ m1 = get_model()
+
+For reversible reactions, ``<>`` is also available instead of ``==`` on
+Python 2, but deprecated on Python3. In the ``with`` statement,
+undeclared variables are automaticaly assumed to be a ``Species``. Any
+Python variables, functions and statement are available even in the
+``with`` block.
+
+.. code:: ipython2
+
+ from math import log
+
+ ka, kd, kf = 0.01, 0.3, 0.1
+ tau = 10.0
+
+ with reaction_rules():
+ E0 + S == ES | (ka, kd)
+
+ if tau > 0:
+ ES > E1 + P | kf
+ E1 > E0 | log(2) / tau
+ else:
+ ES > E0 + P | kf
+
+ m1 = get_model()
+ del ka, kd, kf, tau
+
+Meanwhile, once some variable is declared even outside the block, you
+can not use its name as a ``Species`` as follows:
+
+.. code:: ipython2
+
+ A = 10
+
+ try:
+ with reaction_rules():
+ A + B == C | (0.01, 0.3)
+ except Exception as e:
+ print(repr(e))
+
+ del A
+
+
+.. parsed-literal::
+
+ RuntimeError('invalid expression; "10" given',)
+
+
+where ``A + B == C`` exactly means ``10 + B == C``.
+
+In the absence of left or right hand side of ``ReactionRule`` like
+synthesis or degradation, you may want to describe like:
+
+.. code:: python
+
+ with reaction_rules():
+ A > | 1.0 # XXX: will raise SyntaxError
+ > A | 1.0 # XXX: will raise SyntaxError
+
+However, they are not accepted because of ``SyntaxError`` on Python. To
+describe these cases, a special operator, tilde ``~``, is available.
+``~`` sets a stoichiometric coefficient of the following ``Species`` as
+zero, which means the ``Species`` is just ignored in the
+``ReactionRule``.
+
+.. code:: ipython2
+
+ with reaction_rules():
+ ~A > A | 2.0 # equivalent to `create_synthesis_reaction_rule`
+ A > ~A | 1.0 # equivalent to `create_degradation_reaction_rule`
+
+ m1 = get_model()
+ print([rr.as_string() for rr in m1.reaction_rules()])
+
+
+.. parsed-literal::
+
+ ['>A|2', 'A>|1']
+
+
+The following ``Species``' name is not necessarily needed to be the same
+as others. The model above describes :math:`[A]'=2-[A]`:
+
+.. code:: ipython2
+
+ from math import exp
+ run_simulation(10.0, model=m1, opt_args=['-', lambda t: 2.0 * (1 - exp(-t)), '--'])
+
+
+
+.. image:: tutorial2_files/tutorial2_48_0.png
+
+
+A chain of serial reactions can be described in one line. To split a
+line into two or more physical lines, wrap lines in a parenthesis:
+
+.. code:: ipython2
+
+ with reaction_rules():
+ (E + S == ES | (0.5, 1.0)
+ > E + P | 1.5)
+
+ m1 = get_model()
+ print([rr.as_string() for rr in m1.reaction_rules()])
+
+
+.. parsed-literal::
+
+ ['E+S>ES|0.5', 'ES>E+S|1', 'ES>E+P|1.5']
+
+
+The method uses global variables in ``ecell4.util.decorator`` (e.g.
+``REACTION_RULES``) to cache objects created in the ``with`` statement:
+
+.. code:: ipython2
+
+ import ecell4.util.decorator
+
+ with reaction_rules():
+ A + B == C | (0.01, 0.3)
+
+ print(ecell4.util.decorator.REACTION_RULES) #XXX: Only for debugging
+ get_model()
+ print(ecell4.util.decorator.REACTION_RULES) #XXX: Only for debugging
+
+
+.. parsed-literal::
+
+ [<ecell4.core.ReactionRule object at 0x7f9471af5fd8>, <ecell4.core.ReactionRule object at 0x7f9471af5990>]
+ []
+
+
+For the modularity in building ``Model``, decorator functions are also
+usefull.
+
+.. code:: ipython2
+
+ @species_attributes
+ def attrgen1(radius, D):
+ A | B | {'radius': str(radius), 'D': str(D)}
+ C | {'radius': str(radius * 2), 'D': str(D * 0.5)}
+
+ @reaction_rules
+ def rrgen1(kon, koff):
+ A + B == C | (kon, koff)
+
+ attrs1 = attrgen1(0.005, 1)
+ rrs1 = rrgen1(0.01, 0.3)
+ print(attrs1)
+ print(rrs1)
+
+
+.. parsed-literal::
+
+ [<ecell4.core.Species object at 0x7f9471af5990>, <ecell4.core.Species object at 0x7f9471af5fd8>, <ecell4.core.Species object at 0x7f9471af5f60>]
+ [<ecell4.core.ReactionRule object at 0x7f9471af5f00>, <ecell4.core.ReactionRule object at 0x7f9471af5ee8>]
+
+
+Do **not** add parenthesis after decorators in contrast to the case of
+the ``with`` statement. The functions decorated by ``reaction_rules``
+and ``species_attributes`` return a list of ``ReactionRule``\ s and
+``Species`` respectively. The list can be registered to ``Model`` at
+once by using ``add_reaction_rules`` and ``add_species_attributes``.
+
+.. code:: ipython2
+
+ m1 = NetworkModel()
+ m1.add_species_attributes(attrs1)
+ m1.add_reaction_rules(rrs1)
+ print(m1.num_reaction_rules())
+
+
+.. parsed-literal::
+
+ 2
+
+
+This method is modular and reusable relative to the way using ``with``
+statement.
diff --git a/readthedocs/tutorials/tutorial2_files/tutorial2_38_0.png b/readthedocs/tutorials/tutorial2_files/tutorial2_38_0.png
new file mode 100644
index 0000000..e709fe3
Binary files /dev/null and b/readthedocs/tutorials/tutorial2_files/tutorial2_38_0.png differ
diff --git a/readthedocs/tutorials/tutorial2_files/tutorial2_48_0.png b/readthedocs/tutorials/tutorial2_files/tutorial2_48_0.png
new file mode 100644
index 0000000..d0ae782
Binary files /dev/null and b/readthedocs/tutorials/tutorial2_files/tutorial2_48_0.png differ
diff --git a/readthedocs/tutorials/tutorial3.rst b/readthedocs/tutorials/tutorial3.rst
new file mode 100644
index 0000000..8f199fc
--- /dev/null
+++ b/readthedocs/tutorials/tutorial3.rst
@@ -0,0 +1,772 @@
+
+3. How to Setup the Initial Condition
+=====================================
+
+Here, we explain the basics of ``World`` classes. In E-Cell4, six types
+of World classes are offically supported now:
+``spatiocyte.SpatiocyteWorld``, ``egfrd.EGFRDWorld``, ``bd.BDWorld``,
+``meso.MesoscopicWorld``, ``gillespie.GillespieWorld``, and
+``ode.ODEWorld``.
+
+In the most of softwares, the initial condition is supposed to be a part
+of ``Model``. But, in E-Cell4, the initial condition must be set up as
+``World`` separately from ``Model``. ``World`` stores an information
+about the state at a time point, such as a current time, the number of
+molecules, coordinate of molecules, structures, and random number
+generator. Meanwhile, ``Model`` contains the type of interactions
+between molecules and the common properties of molecules.
+
+.. code:: ipython2
+
+ import ecell4
+
+3.1. Common APIs of World
+-------------------------
+
+Even though ``World`` describes the spatial representation specific to
+the corresponding algorithm, it has compatible APIs. In this section,
+the common interfaces of six ``World`` classes are introduced.
+
+.. code:: ipython2
+
+ from ecell4.core import *
+ from ecell4.gillespie import GillespieWorld
+ from ecell4.ode import ODEWorld
+ from ecell4.spatiocyte import SpatiocyteWorld
+ from ecell4.bd import BDWorld
+ from ecell4.meso import MesoscopicWorld
+ from ecell4.egfrd import EGFRDWorld
+
+``World`` classes accept different sets of arguments in the constructor,
+which determine the parameters specific to the algorithm. However, at
+least, all ``World`` classes can be instantiated only with their size,
+named ``edge_lengths``. The type of ``edge_lengths`` is ``Real3``, which
+represents a triplet of ``Real``\ s. In E-Cell4, all 3-dimensional
+positions are treated as a ``Real3``. See also `8. More about 1. Brief
+Tour of E-Cell4
+Simulations <8.%20More%20about%201.%20Brief%20Tour%20of%20E-Cell4%20Simulations.ipynb>`__.
+
+.. code:: ipython2
+
+ edge_lengths = Real3(1, 2, 3)
+ w1 = GillespieWorld(edge_lengths)
+ w2 = ODEWorld(edge_lengths)
+ w3 = SpatiocyteWorld(edge_lengths)
+ w4 = BDWorld(edge_lengths)
+ w5 = MesoscopicWorld(edge_lengths)
+ w6 = EGFRDWorld(edge_lengths)
+
+``World`` has getter methods for the size and volume.
+
+.. code:: ipython2
+
+ print(tuple(w1.edge_lengths()), w1.volume())
+ print(tuple(w2.edge_lengths()), w2.volume())
+ print(tuple(w3.edge_lengths()), w3.volume())
+ print(tuple(w4.edge_lengths()), w4.volume())
+ print(tuple(w5.edge_lengths()), w5.volume())
+ print(tuple(w6.edge_lengths()), w6.volume())
+
+
+.. parsed-literal::
+
+ (1.0, 2.0, 3.0) 6.0
+ (1.0, 2.0, 3.0) 6.0
+ (1.0, 2.0, 3.0) 6.0
+ (1.0, 2.0, 3.0) 6.0
+ (1.0, 2.0, 3.0) 6.0
+ (1.0, 2.0, 3.0) 6.0
+
+
+Next, let's add molecules into the World. Here, you must give
+``Species`` attributed with "radius" and "D" for ``EGFRDWorld``,
+``BDWorld`` or ``SpatiocyteWorld`` to tell the shape of molecules.
+Positions of the molecules are randomly determined in the ``World`` if
+needed.
+
+.. code:: ipython2
+
+ sp1 = Species("A", "0.0025", "1")
+ w1.add_molecules(sp1, 10)
+ w2.add_molecules(sp1, 10)
+ w3.add_molecules(sp1, 10)
+ w4.add_molecules(sp1, 10)
+ w5.add_molecules(sp1, 10)
+ w6.add_molecules(sp1, 10)
+
+Once binding a ``NetworkModel`` to the ``World``, you don't need to give
+attributes explicitly. The ``World`` will ask attributes to the bound
+``NetworkModel``.
+
+.. code:: ipython2
+
+ m = NetworkModel()
+ m.add_species_attribute(Species("A", "0.0025", "1"))
+ m.add_species_attribute(Species("B", "0.0025", "1"))
+
+ w1.bind_to(m)
+ w2.bind_to(m)
+ w3.bind_to(m)
+ w4.bind_to(m)
+ w5.bind_to(m)
+ w6.bind_to(m)
+ w1.add_molecules(Species("B"), 20)
+ w2.add_molecules(Species("B"), 20)
+ w3.add_molecules(Species("B"), 20)
+ w4.add_molecules(Species("B"), 20)
+ w5.add_molecules(Species("B"), 20)
+ w6.add_molecules(Species("B"), 20)
+
+Similarly, ``remove_molecules`` and ``num_molecules_exact`` are also
+available.
+
+.. code:: ipython2
+
+ w1.remove_molecules(Species("B"), 5)
+ w2.remove_molecules(Species("B"), 5)
+ w3.remove_molecules(Species("B"), 5)
+ w4.remove_molecules(Species("B"), 5)
+ w5.remove_molecules(Species("B"), 5)
+ w6.remove_molecules(Species("B"), 5)
+
+.. code:: ipython2
+
+ print(w1.num_molecules_exact(Species("A")), w2.num_molecules_exact(Species("A")), w3.num_molecules_exact(Species("A")), w4.num_molecules_exact(Species("A")), w5.num_molecules_exact(Species("A")), w6.num_molecules_exact(Species("A")))
+ print(w1.num_molecules_exact(Species("B")), w2.num_molecules_exact(Species("B")), w3.num_molecules_exact(Species("B")), w4.num_molecules_exact(Species("B")), w5.num_molecules_exact(Species("B")), w6.num_molecules_exact(Species("B")))
+
+
+.. parsed-literal::
+
+ 10 10 10 10 10 10
+ 15 15 15 15 15 15
+
+
+``num_molecules`` also count the number of molecules, but returns all
+the number matched with the given ``Species`` in the rule-based way.
+When all ``Species`` in the ``World`` has no site and bond,
+``num_molecules`` is almost same with ``num_molecules_exact``.
+
+.. code:: ipython2
+
+ print(w1.num_molecules(Species("A")), w2.num_molecules(Species("A")), w3.num_molecules(Species("A")), w4.num_molecules(Species("A")), w5.num_molecules(Species("A")), w6.num_molecules(Species("A")))
+ print(w1.num_molecules(Species("B")), w2.num_molecules(Species("B")), w3.num_molecules(Species("B")), w4.num_molecules(Species("B")), w5.num_molecules(Species("B")), w6.num_molecules(Species("B")))
+
+
+.. parsed-literal::
+
+ 10 10 10 10 10 10
+ 15 15 15 15 15 15
+
+
+``World`` also owns a simulation time.
+
+.. code:: ipython2
+
+ print(w1.t(), w2.t(), w3.t(), w4.t(), w5.t(), w6.t())
+ w1.set_t(1.0)
+ w2.set_t(1.0)
+ w3.set_t(1.0)
+ w4.set_t(1.0)
+ w5.set_t(1.0)
+ w6.set_t(1.0)
+ print(w1.t(), w2.t(), w3.t(), w4.t(), w5.t(), w6.t())
+
+
+.. parsed-literal::
+
+ 0.0 0.0 0.0 0.0 0.0 0.0
+ 1.0 1.0 1.0 1.0 1.0 1.0
+
+
+Finally, you can ``save`` and ``load`` the state of a ``World``
+into/from a HDF5 file.
+
+.. code:: ipython2
+
+ w1.save("gillespie.h5")
+ w2.save("ode.h5")
+ w3.save("spatiocyte.h5")
+ w4.save("bd.h5")
+ w5.save("meso.h5")
+ w6.save("egfrd.h5")
+ del w1, w2, w3, w4, w5, w6
+
+.. code:: ipython2
+
+ w1 = GillespieWorld()
+ w2 = ODEWorld()
+ w3 = SpatiocyteWorld()
+ w4 = BDWorld()
+ w5 = MesoscopicWorld()
+ w6 = EGFRDWorld()
+ print(w1.t(), tuple(w1.edge_lengths()), w1.volume(), w1.num_molecules(Species("A")), w1.num_molecules(Species("B")))
+ print(w2.t(), tuple(w2.edge_lengths()), w2.volume(), w2.num_molecules(Species("A")), w2.num_molecules(Species("B")))
+ print(w3.t(), tuple(w3.edge_lengths()), w3.volume(), w3.num_molecules(Species("A")), w3.num_molecules(Species("B")))
+ print(w4.t(), tuple(w4.edge_lengths()), w4.volume(), w4.num_molecules(Species("A")), w4.num_molecules(Species("B")))
+ print(w5.t(), tuple(w5.edge_lengths()), w5.volume(), w5.num_molecules(Species("A")), w5.num_molecules(Species("B")))
+ print(w6.t(), tuple(w6.edge_lengths()), w6.volume(), w6.num_molecules(Species("A")), w6.num_molecules(Species("B")))
+
+
+.. parsed-literal::
+
+ 0.0 (1.0, 1.0, 1.0) 1.0 0 0
+ 0.0 (1.0, 1.0, 1.0) 1.0 0 0
+ 0.0 (1.0, 1.0, 1.0) 1.0 0 0
+ 0.0 (1.0, 1.0, 1.0) 1.0 0 0
+ 0.0 (1.0, 1.0, 1.0) 1.0 0 0
+ 0.0 (1.0, 1.0, 1.0) 1.0 0 0
+
+
+.. code:: ipython2
+
+ w1.load("gillespie.h5")
+ w2.load("ode.h5")
+ w3.load("spatiocyte.h5")
+ w4.load("bd.h5")
+ w5.load("meso.h5")
+ w6.load("egfrd.h5")
+ print(w1.t(), tuple(w1.edge_lengths()), w1.volume(), w1.num_molecules(Species("A")), w1.num_molecules(Species("B")))
+ print(w2.t(), tuple(w2.edge_lengths()), w2.volume(), w2.num_molecules(Species("A")), w2.num_molecules(Species("B")))
+ print(w3.t(), tuple(w3.edge_lengths()), w3.volume(), w3.num_molecules(Species("A")), w3.num_molecules(Species("B")))
+ print(w4.t(), tuple(w4.edge_lengths()), w4.volume(), w4.num_molecules(Species("A")), w4.num_molecules(Species("B")))
+ print(w5.t(), tuple(w5.edge_lengths()), w5.volume(), w5.num_molecules(Species("A")), w5.num_molecules(Species("B")))
+ print(w6.t(), tuple(w6.edge_lengths()), w6.volume(), w6.num_molecules(Species("A")), w6.num_molecules(Species("B")))
+ del w1, w2, w3, w4, w5, w6
+
+
+.. parsed-literal::
+
+ 1.0 (1.0, 2.0, 3.0) 6.0 10 15
+ 1.0 (1.0, 2.0, 3.0) 6.0 10 15
+ 1.0 (1.0, 2.0, 3.0) 6.0 10 15
+ 1.0 (1.0, 2.0, 3.0) 6.0 10 15
+ 1.0 (1.0, 2.0, 3.0) 6.0 10 15
+ 1.0 (1.0, 2.0, 3.0) 6.0 10 15
+
+
+All the ``World`` classes also accept a HDF5 file name as an unique
+argument of the constructor.
+
+.. code:: ipython2
+
+ print(GillespieWorld("gillespie.h5").t())
+ print(ODEWorld("ode.h5").t())
+ print(SpatiocyteWorld("spatiocyte.h5").t())
+ print(BDWorld("bd.h5").t())
+ print(MesoscopicWorld("meso.h5").t())
+ print(EGFRDWorld("egfrd.h5").t())
+
+
+.. parsed-literal::
+
+ 1.0
+ 1.0
+ 1.0
+ 1.0
+ 1.0
+ 1.0
+
+
+3.2. How to Get Positions of Molecules
+--------------------------------------
+
+``World`` has the common functions to access coordinates of molecules
+too.
+
+.. code:: ipython2
+
+ w1 = GillespieWorld()
+ w2 = ODEWorld()
+ w3 = SpatiocyteWorld()
+ w4 = BDWorld()
+ w5 = MesoscopicWorld()
+ w6 = EGFRDWorld()
+
+First, you can place a molecule at the certain position with
+``new_particle``.
+
+.. code:: ipython2
+
+ sp1 = Species("A", "0.0025", "1")
+ pos = Real3(0.5, 0.5, 0.5)
+ (pid1, p1), suc1 = w1.new_particle(sp1, pos)
+ (pid2, p2), suc2 = w2.new_particle(sp1, pos)
+ (pid3, p3), suc3 = w3.new_particle(sp1, pos)
+ (pid4, p4), suc4 = w4.new_particle(sp1, pos)
+ (pid5, p5), suc5 = w5.new_particle(sp1, pos)
+ (pid6, p6), suc6 = w6.new_particle(sp1, pos)
+
+``new_particle`` returns a particle created and whether it's succeeded
+or not. However the resolution in representation of molecules differs.
+For example, ``GillespieWorld`` has almost no information about the
+coordinate of molecules. Thus, it simply ignores the given position, and
+just counts up the number of molecules here.
+
+``ParticleID`` is a pair of ``Integer``\ s named ``lot`` and ``serial``.
+
+.. code:: ipython2
+
+ print(pid6.lot(), pid6.serial())
+ print(pid6 == ParticleID((0, 1)))
+
+
+.. parsed-literal::
+
+ 0 1
+ True
+
+
+Particle simulators, i.e. ``spatiocyte``, ``bd`` and ``egfrd``, provide
+an interface to access a particle by its id. ``has_particle`` returns if
+a particles exists or not for the given ``ParticleID``.
+
+.. code:: ipython2
+
+ # print(w1.has_particle(pid1))
+ # print(w2.has_particle(pid2))
+ print(w3.has_particle(pid3)) # => True
+ print(w4.has_particle(pid4)) # => True
+ # print(w5.has_particle(pid5))
+ print(w6.has_particle(pid6)) # => True
+
+
+.. parsed-literal::
+
+ True
+ True
+ True
+
+
+After checking the existency, you can get the partcle by
+``get_particle`` as follows.
+
+.. code:: ipython2
+
+ # pid1, p1 = w1.get_particle(pid1)
+ # pid2, p2 = w2.get_particle(pid2)
+ pid3, p3 = w3.get_particle(pid3)
+ pid4, p4 = w4.get_particle(pid4)
+ # pid5, p5 = w5.get_particle(pid5)
+ pid6, p6 = w6.get_particle(pid6)
+
+``Particle`` consists of ``species``, ``position``, ``radius`` and
+``D``.
+
+.. code:: ipython2
+
+ # print(p1.species().serial(), tuple(p1.position()), p1.radius(), p1.D())
+ # print(p2.species().serial(), tuple(p2.position()), p2.radius(), p2.D())
+ print(p3.species().serial(), tuple(p3.position()), p3.radius(), p3.D())
+ print(p4.species().serial(), tuple(p4.position()), p4.radius(), p4.D())
+ # print(p5.species().serial(), tuple(p5.position()), p5.radius(), p5.D())
+ print(p6.species().serial(), tuple(p6.position()), p6.radius(), p6.D())
+
+
+.. parsed-literal::
+
+ A (0.5062278801751902, 0.5080682368868706, 0.5) 0.0025 1.0
+ A (0.5, 0.5, 0.5) 0.0025 1.0
+ A (0.5, 0.5, 0.5) 0.0025 1.0
+
+
+In the case of ``spatiocyte``, a particle position is automatically
+round to the center of the voxel nearest to the given position.
+
+You can even move the position of the particle. ``update_particle``
+replace the particle specified with the given ``ParticleID`` with the
+given ``Particle`` and return ``False``. If no corresponding particle is
+found, create new particle and return ``True``. If you give a
+``Particle`` with the different type of ``Species``, the ``Species`` of
+the ``Particle`` will be also changed.
+
+.. code:: ipython2
+
+ newp = Particle(sp1, Real3(0.3, 0.3, 0.3), 0.0025, 1)
+ # print(w1.update_particle(pid1, newp))
+ # print(w2.update_particle(pid2, newp))
+ print(w3.update_particle(pid3, newp))
+ print(w4.update_particle(pid4, newp))
+ # print(w5.update_particle(pid5, newp))
+ print(w6.update_particle(pid6, newp))
+
+
+.. parsed-literal::
+
+ False
+ False
+ False
+
+
+``list_particles`` and ``list_particles_exact`` return a list of pairs
+of ``ParticleID`` and ``Particle`` in the ``World``. ``World``
+automatically makes up for the gap with random numbers. For example,
+``GillespieWorld`` returns a list of positions randomly distributed in
+the ``World`` size.
+
+.. code:: ipython2
+
+ print(w1.list_particles_exact(sp1))
+ # print(w2.list_particles_exact(sp1)) # ODEWorld has no member named list_particles
+ print(w3.list_particles_exact(sp1))
+ print(w4.list_particles_exact(sp1))
+ print(w5.list_particles_exact(sp1))
+ print(w6.list_particles_exact(sp1))
+
+
+.. parsed-literal::
+
+ [(<ecell4.core.ParticleID object at 0x7f04fc0e6618>, <ecell4.core.Particle object at 0x7f04fc0e6678>)]
+ [(<ecell4.core.ParticleID object at 0x7f04fc0e6618>, <ecell4.core.Particle object at 0x7f04fc0e6660>)]
+ [(<ecell4.core.ParticleID object at 0x7f04fc0e6618>, <ecell4.core.Particle object at 0x7f04fc0e6648>)]
+ [(<ecell4.core.ParticleID object at 0x7f04fc0e6618>, <ecell4.core.Particle object at 0x7f04fc0e6678>)]
+ [(<ecell4.core.ParticleID object at 0x7f04fc0e6618>, <ecell4.core.Particle object at 0x7f04fc0e6660>)]
+
+
+You can remove a specific particle with ``remove_particle``.
+
+.. code:: ipython2
+
+ # w1.remove_particle(pid1)
+ # w2.remove_particle(pid2)
+ w3.remove_particle(pid3)
+ w4.remove_particle(pid4)
+ # w5.remove_particle(pid5)
+ w6.remove_particle(pid6)
+ # print(w1.has_particle(pid1))
+ # print(w2.has_particle(pid2))
+ print(w3.has_particle(pid3)) # => False
+ print(w4.has_particle(pid4)) # => False
+ # print(w5.has_particle(pid5))
+ print(w6.has_particle(pid6)) # => False
+
+
+.. parsed-literal::
+
+ False
+ False
+ False
+
+
+3.3. Lattice-based Coordinate
+-----------------------------
+
+In addition to the common interface, each ``World`` can have their own
+interfaces. As an example, we explain methods to handle lattice-based
+coordinate here. ``SpatiocyteWorld`` is based on a space discretized to
+hexiagonal close packing lattices, ``LatticeSpace``.
+
+.. code:: ipython2
+
+ w = SpatiocyteWorld(Real3(1, 2, 3), voxel_radius=0.01)
+ w.bind_to(m)
+
+The size of a single lattice, called ``Voxel``, can be obtained by
+``voxel_radius()``. ``SpatiocyteWorld`` has methods to get the numbers
+of rows, columns, and layers. These sizes are automatically calculated
+based on the given ``edge_lengths`` at the construction.
+
+.. code:: ipython2
+
+ print(w.voxel_radius()) # => 0.01
+ print(tuple(w.shape())) # => (62, 152, 116)
+ print(w.col_size(), w.row_size(), w.layer_size()) # => (62, 152, 116)
+ print(w.size()) # => 1093184 = 62 * 152 * 116
+
+
+.. parsed-literal::
+
+ 0.01
+ (62, 152, 116)
+ 62 152 116
+ 1093184
+
+
+A position in the lattice-based space is treated as an ``Integer3``,
+column, row and layer, called a global coordinate. Thus,
+``SpatiocyteWorld`` provides the function to convert the ``Real3`` into
+a lattice-based coordinate.
+
+.. code:: ipython2
+
+ p1 = Real3(0.5, 0.5, 0.5)
+ g1 = w.position2global(p1)
+ p2 = w.global2position(g1)
+ print(tuple(g1)) # => (31, 25, 29)
+ print(tuple(p2)) # => (0.5062278801751902, 0.5080682368868706, 0.5)
+
+
+.. parsed-literal::
+
+ (31, 25, 29)
+ (0.5062278801751902, 0.5080682368868706, 0.5)
+
+
+In ``SpatiocyteWorld``, the global coordinate is translated to a single
+integer. It is just called a coordinate. You can also treat the
+coordinate as in the same way with a global coordinate.
+
+.. code:: ipython2
+
+ p1 = Real3(0.5, 0.5, 0.5)
+ c1 = w.position2coordinate(p1)
+ p2 = w.coordinate2position(c1)
+ g1 = w.coord2global(c1)
+ print(c1) # => 278033
+ print(tuple(p2)) # => (0.5062278801751902, 0.5080682368868706, 0.5)
+ print(tuple(g1)) # => (31, 25, 29)
+
+
+.. parsed-literal::
+
+ 278033
+ (0.5062278801751902, 0.5080682368868706, 0.5)
+ (31, 25, 29)
+
+
+With these coordinates, you can handle a ``Voxel``, which represents a
+``Particle`` object. Instead of ``new_particle``, ``new_voxel`` provides
+the way to create a new ``Voxel`` with a coordinate.
+
+.. code:: ipython2
+
+ c1 = w.position2coordinate(Real3(0.5, 0.5, 0.5))
+ ((pid, v), is_succeeded) = w.new_voxel(Species("A"), c1)
+ print(pid, v, is_succeeded)
+
+
+.. parsed-literal::
+
+ <ecell4.core.ParticleID object at 0x7f04fc0e66d8> <ecell4.core.Voxel object at 0x7f04fc0e6708> True
+
+
+A ``Voxel`` consists of ``species``, ``coordinate``, ``radius`` and
+``D``.
+
+.. code:: ipython2
+
+ print(v.species().serial(), v.coordinate(), v.radius(), v.D()) # => (u'A', 278033, 0.0025, 1.0)
+
+
+.. parsed-literal::
+
+ A 278033 0.0025 1.0
+
+
+Of course, you can get a voxel and list voxels with ``get_voxel`` and
+``list_voxels_exact`` similar to ``get_particle`` and
+``list_particles_exact``.
+
+.. code:: ipython2
+
+ print(w.num_voxels_exact(Species("A")))
+ print(w.list_voxels_exact(Species("A")))
+ print(w.get_voxel(pid))
+
+
+.. parsed-literal::
+
+ 1
+ [(<ecell4.core.ParticleID object at 0x7f04fc0e6720>, <ecell4.core.Voxel object at 0x7f04fc0e6750>)]
+ (<ecell4.core.ParticleID object at 0x7f04fc0e6720>, <ecell4.core.Voxel object at 0x7f04fc0e66f0>)
+
+
+You can move and update the voxel with ``update_voxel`` corresponding to
+``update_particle``.
+
+.. code:: ipython2
+
+ c2 = w.position2coordinate(Real3(0.5, 0.5, 1.0))
+ w.update_voxel(pid, Voxel(v.species(), c2, v.radius(), v.D()))
+ pid, newv = w.get_voxel(pid)
+ print(c2) # => 278058
+ print(newv.species().serial(), newv.coordinate(), newv.radius(), newv.D()) # => (u'A', 278058, 0.0025, 1.0)
+ print(w.num_voxels_exact(Species("A"))) # => 1
+
+
+.. parsed-literal::
+
+ 278058
+ A 278058 0.0025 1.0
+ 1
+
+
+Finally, ``remove_voxel`` remove a voxel as ``remove_particle`` does.
+
+.. code:: ipython2
+
+ print(w.has_voxel(pid)) # => True
+ w.remove_voxel(pid)
+ print(w.has_voxel(pid)) # => False
+
+
+.. parsed-literal::
+
+ True
+ False
+
+
+3.4 Structure
+-------------
+
+.. code:: ipython2
+
+ w1 = GillespieWorld()
+ w2 = ODEWorld()
+ w3 = SpatiocyteWorld()
+ w4 = BDWorld()
+ w5 = MesoscopicWorld()
+ w6 = EGFRDWorld()
+
+By using a ``Shape`` object, you can confine initial positions of
+molecules to a part of ``World``. In the case below, 60 molecules are
+positioned inside the given ``Sphere``. Diffusion of the molecules
+placed here is **NOT** restricted in the ``Shape``. This ``Shape`` is
+only for the initialization.
+
+.. code:: ipython2
+
+ sp1 = Species("A", "0.0025", "1")
+ sphere = Sphere(Real3(0.5, 0.5, 0.5), 0.3)
+ w1.add_molecules(sp1, 60, sphere)
+ w2.add_molecules(sp1, 60, sphere)
+ w3.add_molecules(sp1, 60, sphere)
+ w4.add_molecules(sp1, 60, sphere)
+ w5.add_molecules(sp1, 60, sphere)
+ w6.add_molecules(sp1, 60, sphere)
+
+A property of ``Species``, ``'location'``, is available to restrict
+diffusion of molecules. ``'location'`` is not fully supported yet, but
+only supported in ``spatiocyte`` and ``meso``. ``add_structure`` defines
+a new structure given as a pair of ``Species`` and ``Shape``.
+
+.. code:: ipython2
+
+ membrane = SphericalSurface(Real3(0.5, 0.5, 0.5), 0.4) # This is equivalent to call `Sphere(Real3(0.5, 0.5, 0.5), 0.4).surface()`
+ w3.add_structure(Species("M"), membrane)
+ w5.add_structure(Species("M"), membrane)
+
+After defining a structure, you can bind molecules to the structure as
+follows:
+
+.. code:: ipython2
+
+ sp2 = Species("B", "0.0025", "0.1", "M") # `'location'` is the fourth argument
+ w3.add_molecules(sp2, 60)
+ w5.add_molecules(sp2, 60)
+
+The molecules bound to a ``Species`` named ``B`` diffuse on a structure
+named ``M``, which has a shape of ``SphericalSurface`` (a hollow
+sphere). In ``spatiocyte``, a structure is represented as a set of
+particles with ``Species`` ``M`` occupying a voxel. It means that
+molecules not belonging to the structure is not able to overlap the
+voxel and it causes a collision. On the other hand, in ``meso``, a
+structure means a list of subvolumes. Thus, a structure doesn't avoid an
+incursion of other particles.
+
+3.5. Random Number Generator
+----------------------------
+
+A random number generator is also a part of ``World``. All ``World``
+except ``ODEWorld`` store a random number generator, and updates it when
+the simulation needs a random value. On E-Cell4, only one class
+``GSLRandomNumberGenerator`` is implemented as a random number
+generator.
+
+.. code:: ipython2
+
+ rng1 = GSLRandomNumberGenerator()
+ print([rng1.uniform_int(1, 6) for _ in range(20)])
+
+
+.. parsed-literal::
+
+ [6, 1, 2, 6, 2, 3, 6, 5, 4, 5, 5, 4, 2, 5, 4, 2, 3, 3, 2, 2]
+
+
+With no argument, the random number generator is always initialized with
+a seed, ``0``.
+
+.. code:: ipython2
+
+ rng2 = GSLRandomNumberGenerator()
+ print([rng2.uniform_int(1, 6) for _ in range(20)]) # => same as above
+
+
+.. parsed-literal::
+
+ [6, 1, 2, 6, 2, 3, 6, 5, 4, 5, 5, 4, 2, 5, 4, 2, 3, 3, 2, 2]
+
+
+You can initialize the seed with an integer as follows:
+
+.. code:: ipython2
+
+ rng2 = GSLRandomNumberGenerator()
+ rng2.seed(15)
+ print([rng2.uniform_int(1, 6) for _ in range(20)])
+
+
+.. parsed-literal::
+
+ [6, 5, 2, 4, 1, 1, 3, 5, 2, 6, 4, 1, 2, 5, 2, 5, 1, 2, 2, 6]
+
+
+When you call the ``seed`` function with no input, the seed is drawn
+from the current time.
+
+.. code:: ipython2
+
+ rng2 = GSLRandomNumberGenerator()
+ rng2.seed()
+ print([rng2.uniform_int(1, 6) for _ in range(20)])
+
+
+.. parsed-literal::
+
+ [5, 4, 2, 1, 4, 3, 4, 6, 2, 3, 4, 4, 5, 1, 5, 5, 6, 4, 2, 3]
+
+
+``GSLRandomNumberGenerator`` provides several ways to get a random
+number.
+
+.. code:: ipython2
+
+ print(rng1.uniform(0.0, 1.0))
+ print(rng1.uniform_int(0, 100))
+ print(rng1.gaussian(1.0))
+
+
+.. parsed-literal::
+
+ 0.03033520421013236
+ 33
+ 0.8935555455208181
+
+
+``World`` accepts a random number generator at the construction. As a
+default, ``GSLRandomNumberGenerator()`` is used. Thus, when you don't
+give a generator, behavior of the simulation is always same
+(determinisitc).
+
+.. code:: ipython2
+
+ rng = GSLRandomNumberGenerator()
+ rng.seed()
+ w1 = GillespieWorld(Real3(1, 1, 1), rng=rng)
+
+You can access the ``GSLRandomNumberGenerator`` in a ``World`` through
+``rng`` function.
+
+.. code:: ipython2
+
+ print(w1.rng().uniform(0.0, 1.0))
+
+
+.. parsed-literal::
+
+ 0.7082237007562071
+
+
+``rng()`` returns a shared pointer to the ``GSLRandomNumberGenerator``.
+Thus, in the example above, ``rng`` and ``w1.rng()`` point exactly the
+same thing.
diff --git a/readthedocs/tutorials/tutorial4.rst b/readthedocs/tutorials/tutorial4.rst
new file mode 100644
index 0000000..cc895a2
--- /dev/null
+++ b/readthedocs/tutorials/tutorial4.rst
@@ -0,0 +1,418 @@
+
+4. How to Run a Simulation
+==========================
+
+In sections 2 and 3, we explain the way to build a model and to setup
+the intial state. Now, it is the time to run a simulation. Corresponding
+to ``World`` classes, six ``Simulator`` classes are there:
+``spatiocyte.SpatiocyteSimulator``, ``egfrd.EGFRDSimulator``,
+``bd.BDSimulator``, ``meso.MesoscopicSimulator``,
+``gillespie.GillespieSimulator``, and ``ode.ODESimulator``. Each
+``Simulator`` class only accepts the corresponding type of ``World``,
+but all of them allow the same ``Model``.
+
+.. code:: ipython2
+
+ import ecell4
+
+4.1. How to Setup a Simulator
+-----------------------------
+
+Except for the initialization (so-called constructor function) with
+arguments specific to the algorithm, all ``Simulator``\ s have the same
+APIs.
+
+.. code:: ipython2
+
+ from ecell4.core import *
+ from ecell4.gillespie import GillespieWorld, GillespieSimulator
+ from ecell4.ode import ODEWorld, ODESimulator
+ from ecell4.spatiocyte import SpatiocyteWorld, SpatiocyteSimulator
+ from ecell4.bd import BDWorld, BDSimulator
+ from ecell4.meso import MesoscopicWorld, MesoscopicSimulator
+ from ecell4.egfrd import EGFRDWorld, EGFRDSimulator
+
+Before constructing a ``Simulator``, parepare a ``Model`` and a
+``World`` corresponding to the type of ``Simulator``.
+
+.. code:: ipython2
+
+ from ecell4 import species_attributes, reaction_rules, get_model
+
+ with species_attributes():
+ A | B | C | {'D': '1', 'radius': '0.005'}
+
+ with reaction_rules():
+ A + B == C | (0.01, 0.3)
+
+ m = get_model()
+
+.. code:: ipython2
+
+ w1 = GillespieWorld()
+ w2 = ODEWorld()
+ w3 = SpatiocyteWorld()
+ w4 = BDWorld()
+ w5 = MesoscopicWorld()
+ w6 = EGFRDWorld()
+
+``Simulator`` requires both ``Model`` and ``World`` in this order at the
+construction.
+
+.. code:: ipython2
+
+ sim1 = GillespieSimulator(m, w1)
+ sim2 = ODESimulator(m, w2)
+ sim3 = SpatiocyteSimulator(m, w3)
+ sim4 = BDSimulator(m, w4)
+ sim5 = MesoscopicSimulator(m, w5)
+ sim6 = EGFRDSimulator(m, w6)
+
+Once you bind a ``Model`` to a ``World``, only the ``World`` is needed
+to create a ``Simulator``.
+
+.. code:: ipython2
+
+ w1.bind_to(m)
+ w2.bind_to(m)
+ w3.bind_to(m)
+ w4.bind_to(m)
+ w5.bind_to(m)
+ w6.bind_to(m)
+
+.. code:: ipython2
+
+ sim1 = GillespieSimulator(w1)
+ sim2 = ODESimulator(w2)
+ sim3 = SpatiocyteSimulator(w3)
+ sim4 = BDSimulator(w4)
+ sim5 = MesoscopicSimulator(w5)
+ sim6 = EGFRDSimulator(w6)
+
+Of course, the ``Model`` and ``World`` bound to a ``Simulator`` can be
+drawn from ``Simulator`` in the way below:
+
+.. code:: ipython2
+
+ print(sim1.model(), sim1.world())
+ print(sim2.model(), sim2.world())
+ print(sim3.model(), sim3.world())
+ print(sim4.model(), sim4.world())
+ print(sim5.model(), sim5.world())
+ print(sim6.model(), sim6.world())
+
+
+.. parsed-literal::
+
+ <ecell4.core.Model object at 0x7efe380302b0> <ecell4.gillespie.GillespieWorld object at 0x7efe3801f318>
+ <ecell4.ode.ODENetworkModel object at 0x7efe3801f318> <ecell4.ode.ODEWorld object at 0x7efe3801f378>
+ <ecell4.core.Model object at 0x7efe381b0510> <ecell4.spatiocyte.SpatiocyteWorld object at 0x7efe3801f378>
+ <ecell4.core.Model object at 0x7efe381b0510> <ecell4.bd.BDWorld object at 0x7efe3801f318>
+ <ecell4.core.Model object at 0x7efe381b0510> <ecell4.meso.MesoscopicWorld object at 0x7efe3801f360>
+ <ecell4.core.Model object at 0x7efe381b0510> <ecell4.egfrd.EGFRDWorld object at 0x7efe3801f318>
+
+
+After updating the ``World`` by yourself, you must initialize the
+internal state of a ``Simulator`` before running simulation.
+
+.. code:: ipython2
+
+ w1.add_molecules(Species('C'), 60)
+ w2.add_molecules(Species('C'), 60)
+ w3.add_molecules(Species('C'), 60)
+ w4.add_molecules(Species('C'), 60)
+ w5.add_molecules(Species('C'), 60)
+ w6.add_molecules(Species('C'), 60)
+
+.. code:: ipython2
+
+ sim1.initialize()
+ sim2.initialize()
+ sim3.initialize()
+ sim4.initialize()
+ sim5.initialize()
+ sim6.initialize()
+
+Algorithms with a fixed step interval also require ``dt``.
+
+.. code:: ipython2
+
+ sim2.set_dt(1e-6) # ODESimulator. This is optional
+ sim4.set_dt(1e-6) # BDSimulator
+
+4.2. Running Simulation
+-----------------------
+
+For running simulation, ``Simulator`` provides two APIs, ``step`` and
+``run``.
+
+``step()`` advances a simulation for the time that the ``Simulator``
+expects, ``next_time()``.
+
+.. code:: ipython2
+
+ print(sim1.t(), sim1.next_time(), sim1.dt())
+ print(sim2.t(), sim2.next_time(), sim2.dt()) # => (0.0, 1e-6, 1e-6)
+ print(sim3.t(), sim3.next_time(), sim3.dt())
+ print(sim4.t(), sim4.next_time(), sim4.dt()) # => (0.0, 1e-6, 1e-6)
+ print(sim5.t(), sim5.next_time(), sim5.dt())
+ print(sim6.t(), sim6.next_time(), sim6.dt()) # => (0.0, 0.0, 0.0)
+
+
+.. parsed-literal::
+
+ 0.0 0.02799829673409708 0.02799829673409708
+ 0.0 1e-06 1e-06
+ 0.0 1.6666666666666667e-05 1.6666666666666667e-05
+ 0.0 1e-06 1e-06
+ 0.0 0.0017707910953720922 0.0017707910953720922
+ 0.0 0.0 0.0
+
+
+.. code:: ipython2
+
+ sim1.step()
+ sim2.step()
+ sim3.step()
+ sim4.step()
+ sim5.step()
+ sim6.step()
+
+.. code:: ipython2
+
+ print(sim1.t())
+ print(sim2.t()) # => 1e-6
+ print(sim3.t())
+ print(sim4.t()) # => 1e-6
+ print(sim5.t())
+ print(sim6.t()) # => 0.0
+
+
+.. parsed-literal::
+
+ 0.02799829673409708
+ 1e-06
+ 1.6666666666666667e-05
+ 1e-06
+ 0.0017707910953720922
+ 0.0
+
+
+``last_reactions()`` returns a list of pairs of ``ReactionRule`` and
+``ReactionInfo`` which occurs at the last step. Each algorithm have its
+own implementation of ``ReactionInfo``. See
+``help(module.ReactionInfo)`` for details.
+
+.. code:: ipython2
+
+ print(sim1.last_reactions())
+ # print(sim2.last_reactions())
+ print(sim3.last_reactions())
+ print(sim4.last_reactions())
+ print(sim5.last_reactions())
+ print(sim6.last_reactions())
+
+
+.. parsed-literal::
+
+ [(<ecell4.core.ReactionRule object at 0x7efe3801f408>, <ecell4.gillespie.ReactionInfo object at 0x7efe3801f420>)]
+ []
+ []
+ []
+ []
+
+
+``step(upto)`` advances a simulation for ``next_time`` if ``next_time``
+is less than ``upto``, or for ``upto`` otherwise. ``step(upto)`` returns
+whether the time does **NOT** reach the limit, ``upto``.
+
+.. code:: ipython2
+
+ print(sim1.step(1.0), sim1.t())
+ print(sim2.step(1.0), sim2.t())
+ print(sim3.step(1.0), sim3.t())
+ print(sim4.step(1.0), sim4.t())
+ print(sim5.step(1.0), sim5.t())
+ print(sim6.step(1.0), sim6.t())
+
+
+.. parsed-literal::
+
+ True 0.03145239396685329
+ True 2e-06
+ True 3.3333333333333335e-05
+ True 2e-06
+ True 0.00642958351521703
+ True 0.0
+
+
+Thus, for running a simulation just until the time, ``upto``, call
+``step(upto)`` while it returns ``True``.
+
+.. code:: ipython2
+
+ while sim1.step(1.0): pass
+ while sim2.step(0.001): pass
+ while sim3.step(0.001): pass
+ while sim4.step(0.001): pass
+ while sim5.step(1.0): pass
+ while sim6.step(0.001): pass
+
+.. code:: ipython2
+
+ print(sim1.t()) # => 1.0
+ print(sim2.t()) # => 0.001
+ print(sim3.t()) # => 0.001
+ print(sim4.t()) # => 0.001
+ print(sim5.t()) # => 1.0
+ print(sim6.t()) # => 0.001
+
+
+.. parsed-literal::
+
+ 1.0
+ 0.001
+ 0.001
+ 0.001
+ 1.0
+ 0.001
+
+
+This is just what ``run`` does. ``run(tau)`` advances a simulation upto
+``t()+tau``.
+
+.. code:: ipython2
+
+ sim1.run(1.0)
+ sim2.run(0.001)
+ sim3.run(0.001)
+ sim4.run(0.001)
+ sim5.run(1.0)
+ sim6.run(0.001)
+
+.. code:: ipython2
+
+ print(sim1.t()) # => 2.0
+ print(sim2.t()) # => 0.002
+ print(sim3.t()) # => 0.002
+ print(sim4.t()) # => 0.002
+ print(sim5.t()) # => 2.0
+ print(sim6.t()) # => 0.02
+
+
+.. parsed-literal::
+
+ 2.0
+ 0.002
+ 0.002
+ 0.002
+ 2.0
+ 0.002
+
+
+``num_steps`` returns the number of steps during the simulation.
+
+.. code:: ipython2
+
+ print(sim1.num_steps())
+ print(sim2.num_steps())
+ print(sim3.num_steps())
+ print(sim4.num_steps())
+ print(sim5.num_steps())
+ print(sim6.num_steps())
+
+
+.. parsed-literal::
+
+ 35
+ 2001
+ 120
+ 2001
+ 952
+ 631
+
+
+4.3. Capsulizing Algorithm into a Factory Class
+-----------------------------------------------
+
+Owing to the portability of a ``Model`` and consistent APIs of
+``World``\ s and ``Simulator``\ s, it is very easy to write a script
+common in algorithms. However, when switching the algorithm, still we
+have to rewrite the name of classes in the code, one by one.
+
+To avoid the trouble, E-Cell4 also provides a ``Factory`` class for each
+algorithm. ``Factory`` encapsulates ``World`` and ``Simulator`` with
+their arguments needed for the construction. By using ``Factory`` class,
+your script could be portable and robust agaist changes in the
+algorithm.
+
+.. code:: ipython2
+
+ from ecell4.gillespie import GillespieFactory
+ from ecell4.ode import ODEFactory
+ from ecell4.spatiocyte import SpatiocyteFactory
+ from ecell4.bd import BDFactory
+ from ecell4.meso import MesoscopicFactory
+ from ecell4.egfrd import EGFRDFactory
+
+``Factory`` just provides two functions, ``create_world`` and
+``create_simulator``.
+
+.. code:: ipython2
+
+ def singlerun(f, m):
+ w = f.create_world(Real3(1, 1, 1))
+ w.bind_to(m)
+ w.add_molecules(Species('C'), 60)
+
+ sim = f.create_simulator(w)
+ sim.run(0.01)
+ print(sim.t(), w.num_molecules(Species('C')))
+
+``singlerun`` above is free from the algorithm. Thus, by just switching
+``Factory``, you can easily compare the results.
+
+.. code:: ipython2
+
+ singlerun(GillespieFactory(), m)
+ singlerun(ODEFactory(), m)
+ singlerun(SpatiocyteFactory(), m)
+ singlerun(BDFactory(bd_dt_factor=1), m)
+ singlerun(MesoscopicFactory(), m)
+ singlerun(EGFRDFactory(), m)
+
+
+.. parsed-literal::
+
+ 0.01 60
+ 0.01 59
+ 0.01 60
+ 0.01 60
+ 0.01 60
+ 0.01 59
+
+
+When you need to provide several parameters to initialize ``World`` or
+``Simulator``, ``run_simulation`` also accepts ``Factory`` instead of
+``solver``.
+
+.. code:: ipython2
+
+ from ecell4.util import run_simulation
+ print(run_simulation(0.01, model=m, y0={'C': 60}, return_type='array', factory=GillespieFactory())[-1])
+ print(run_simulation(0.01, model=m, y0={'C': 60}, return_type='array', factory=ODEFactory())[-1])
+ print(run_simulation(0.01, model=m, y0={'C': 60}, return_type='array', factory=SpatiocyteFactory())[-1])
+ print(run_simulation(0.01, model=m, y0={'C': 60}, return_type='array', factory=BDFactory(bd_dt_factor=1))[-1])
+ print(run_simulation(0.01, model=m, y0={'C': 60}, return_type='array', factory=MesoscopicFactory())[-1])
+ print(run_simulation(0.01, model=m, y0={'C': 60}, return_type='array', factory=EGFRDFactory())[-1])
+
+
+.. parsed-literal::
+
+ [0.01, 0.0, 0.0, 60.0]
+ [0.01, 0.17972919304001073, 0.17972919304001067, 59.82027080696036]
+ [0.01, 0.0, 0.0, 60.0]
+ [0.01, 0.0, 0.0, 60.0]
+ [0.01, 0.0, 0.0, 60.0]
+ [0.01, 0.0, 0.0, 60.0]
+
diff --git a/readthedocs/tutorials/tutorial5.rst b/readthedocs/tutorials/tutorial5.rst
new file mode 100644
index 0000000..93f34d0
--- /dev/null
+++ b/readthedocs/tutorials/tutorial5.rst
@@ -0,0 +1,3505 @@
+
+5. How to Log and Visualize Simulations
+=======================================
+
+Here we explain how to take a log of simulation results and how to
+visualize it.
+
+.. code:: ipython2
+
+ %matplotlib inline
+ import math
+ from ecell4 import *
+
+5.1. Logging Simulations with Observers
+---------------------------------------
+
+E-Cell4 provides special classes for logging, named ``Observer``.
+``Observer`` class is given when you call the ``run`` function of
+``Simulator``.
+
+.. code:: ipython2
+
+ def create_simulator(f=gillespie.GillespieFactory()):
+ m = NetworkModel()
+ A, B, C = Species('A', '0.005', '1'), Species('B', '0.005', '1'), Species('C', '0.005', '1')
+ m.add_reaction_rule(create_binding_reaction_rule(A, B, C, 0.01))
+ m.add_reaction_rule(create_unbinding_reaction_rule(C, A, B, 0.3))
+ w = f.create_world()
+ w.bind_to(m)
+ w.add_molecules(C, 60)
+ sim = f.create_simulator(w)
+ sim.initialize()
+ return sim
+
+One of most popular ``Observer`` is ``FixedIntervalNumberObserver``,
+which logs the number of molecules with the given time interval.
+``FixedIntervalNumberObserver`` requires an interval and a list of
+serials of ``Species`` for logging.
+
+.. code:: ipython2
+
+ obs1 = FixedIntervalNumberObserver(0.1, ['A', 'B', 'C'])
+ sim = create_simulator()
+ sim.run(1.0, obs1)
+
+``data`` function of ``FixedIntervalNumberObserver`` returns the data
+logged.
+
+.. code:: ipython2
+
+ print(obs1.data())
+
+
+.. parsed-literal::
+
+ [[0.0, 0.0, 0.0, 60.0], [0.1, 1.0, 1.0, 59.0], [0.2, 3.0, 3.0, 57.0], [0.30000000000000004, 5.0, 5.0, 55.0], [0.4, 7.0, 7.0, 53.0], [0.5, 9.0, 9.0, 51.0], [0.6000000000000001, 10.0, 10.0, 50.0], [0.7000000000000001, 11.0, 11.0, 49.0], [0.8, 11.0, 11.0, 49.0], [0.9, 12.0, 12.0, 48.0], [1.0, 15.0, 15.0, 45.0]]
+
+
+``targets()`` returns a list of ``Species``, which you specified as an
+argument of the constructor.
+
+.. code:: ipython2
+
+ print([sp.serial() for sp in obs1.targets()])
+
+
+.. parsed-literal::
+
+ ['A', 'B', 'C']
+
+
+``NumberObserver`` logs the number of molecules after every steps when a
+reaction occurs. This observer is useful to log all reactions, but not
+available for ``ode``.
+
+.. code:: ipython2
+
+ obs1 = NumberObserver(['A', 'B', 'C'])
+ sim = create_simulator()
+ sim.run(1.0, obs1)
+ print(obs1.data())
+
+
+.. parsed-literal::
+
+ [[0.0, 0.0, 0.0, 60.0], [0.04427640979918121, 1.0, 1.0, 59.0], [0.0875068982461158, 2.0, 2.0, 58.0], [0.11087204066674489, 3.0, 3.0, 57.0], [0.13659014622992557, 4.0, 4.0, 56.0], [0.31041210636248434, 5.0, 5.0, 55.0], [0.40031903806813757, 6.0, 6.0, 54.0], [0.4347615277030323, 7.0, 7.0, 53.0], [0.46368472984102344, 8.0, 8.0, 52.0], [0.46985507292580175, 9.0, 9.0, 51.0], [0.47126450103798107, 10.0, 10.0, 50.0], [0.4767526364356227, 9.0, 9.0, 51.0], [0.5459446074271364, 8.0, 8.0, 52.0] [...]
+
+
+``TimingNumberObserver`` allows you to give the times for logging as an
+argument of its constructor.
+
+.. code:: ipython2
+
+ obs1 = TimingNumberObserver([0.0, 0.1, 0.2, 0.5, 1.0], ['A', 'B', 'C'])
+ sim = create_simulator()
+ sim.run(1.0, obs1)
+ print(obs1.data())
+
+
+.. parsed-literal::
+
+ [[0.0, 0.0, 0.0, 60.0], [0.1, 2.0, 2.0, 58.0], [0.2, 3.0, 3.0, 57.0], [0.5, 9.0, 9.0, 51.0], [1.0, 14.0, 14.0, 46.0]]
+
+
+``run`` function accepts multile ``Observer``\ s at once.
+
+.. code:: ipython2
+
+ obs1 = NumberObserver(['C'])
+ obs2 = FixedIntervalNumberObserver(0.1, ['A', 'B'])
+ sim = create_simulator()
+ sim.run(1.0, [obs1, obs2])
+ print(obs1.data())
+ print(obs2.data())
+
+
+.. parsed-literal::
+
+ [[0.0, 60.0], [0.04427640979918121, 59.0], [0.0875068982461158, 58.0], [0.12534944005912135, 57.0], [0.2876056489860205, 56.0], [0.32795113697179695, 55.0], [0.3339336069238447, 54.0], [0.33530473535906263, 53.0], [0.3406622805916597, 52.0], [0.4738675556345029, 51.0], [0.5920025665856352, 50.0], [0.618829848698323, 49.0], [0.6792812604351657, 48.0], [0.6925675770044888, 49.0], [0.7401477003674811, 50.0], [0.7857407716397833, 49.0], [0.8357493035669196, 48.0], [0.864445570701009, 47. [...]
+ [[0.0, 0.0, 0.0], [0.1, 2.0, 2.0], [0.2, 3.0, 3.0], [0.30000000000000004, 4.0, 4.0], [0.4, 8.0, 8.0], [0.5, 9.0, 9.0], [0.6000000000000001, 10.0, 10.0], [0.7000000000000001, 11.0, 11.0], [0.8, 11.0, 11.0], [0.9, 13.0, 13.0], [1.0, 15.0, 15.0]]
+
+
+``FixedIntervalHDF5Observedr`` logs the whole data in a ``World`` to an
+output file with the fixed interval. Its second argument is a prefix for
+output filenames. ``filename()`` returns the name of a file scheduled to
+be saved next. At most one format string like ``%02d`` is allowed to use
+a step count in the file name. When you do not use the format string, it
+overwrites the latest data to the file.
+
+.. code:: ipython2
+
+ obs1 = FixedIntervalHDF5Observer(0.2, 'test%02d.h5')
+ print(obs1.filename())
+ sim = create_simulator()
+ sim.run(1.0, obs1)
+ print(obs1.filename())
+
+
+.. parsed-literal::
+
+ test00.h5
+ test06.h5
+
+
+.. code:: ipython2
+
+ w = load_world('test05.h5')
+ print(w.t(), w.num_molecules(Species('C')))
+
+
+.. parsed-literal::
+
+ 1.0 43
+
+
+The usage of ``FixedIntervalCSVObserver`` is almost same with that of
+``FixedIntervalHDF5Observer``. It saves positions (x, y, z) of particles
+with the radius (r) and serial number of ``Species`` (sid) to a CSV
+file.
+
+.. code:: ipython2
+
+ obs1 = FixedIntervalCSVObserver(0.2, "test%02d.csv")
+ print(obs1.filename())
+ sim = create_simulator()
+ sim.run(1.0, obs1)
+ print(obs1.filename())
+
+
+.. parsed-literal::
+
+ test00.csv
+ test06.csv
+
+
+Here is the first 10 lines in the output CSV file.
+
+.. code:: ipython2
+
+ print(''.join(open("test05.csv").readlines()[: 10]))
+
+
+.. parsed-literal::
+
+ x,y,z,r,sid
+ 0.352789,0.864165,0.190895,0,0
+ 0.488146,0.686148,0.938081,0,0
+ 0.123846,0.386276,0.318024,0,0
+ 0.840948,0.637506,0.533378,0,0
+ 0.485531,0.97872,0.35902,0,0
+ 0.472172,0.695715,0.466988,0,0
+ 0.499126,0.476415,0.671614,0,0
+ 0.0171638,0.210418,0.181848,0,0
+ 0.643802,0.387393,0.448118,0,0
+
+
+
+For particle simulations, E-Cell4 also provides ``Observer`` to trace a
+trajectory of a molecule, named ``FixedIntervalTrajectoryObserver``.
+When no ``ParticleID`` is specified, it logs all the trajectories. Once
+some ``ParticleID`` is lost for the reaction during a simulation, it
+just stop to trace the particle any more.
+
+.. code:: ipython2
+
+ sim = create_simulator(spatiocyte.SpatiocyteFactory(0.005))
+ obs1 = FixedIntervalTrajectoryObserver(0.01)
+ sim.run(0.1, obs1)
+
+.. code:: ipython2
+
+ print([tuple(pos) for pos in obs1.data()[0]])
+
+
+.. parsed-literal::
+
+ [(0.6613622305514582, 0.07216878364870322, 0.985), (0.5062278801751902, 0.2511473670974872, 1.055), (0.7348469228349536, 0.5975575286112627, 0.9550000000000001), (0.8164965809277261, 0.4763139720814413, 1.0150000000000001), (1.0287856919689349, 0.5282754963085076, 1.295), (1.1349302474895393, 0.6524058041842772, 1.52), (1.0369506577782122, 0.6610660582221216, 1.395), (1.0369506577782122, 0.6783865662978104, 1.455), (0.6695271963607354, 0.5802370205355739, 1.605), (0.6695271963607354, [...]
+
+
+Generally, ``World`` assumes a periodic boundary for each plane. To
+avoid the big jump of a particle at the edge due to the boundary
+condition, ``FixedIntervalTrajectoryObserver`` tries to keep the shift
+of positions. Thus, the positions stored in the ``Observer`` are not
+necessarily limited in the cuboid given for the ``World``. To track the
+diffusion over the boundary condition accurately, the step interval for
+logging must be small enough. Of course, you can disable this option.
+See ``help(FixedIntervalTrajectoryObserver)``.
+
+5.2. Visualization of Data Logged
+---------------------------------
+
+In this section, we explain the visualization tools for data logged by
+``Observer``.
+
+Firstly, for time course data, ``viz.plot_number_observer`` plots the
+data provided by ``NumberObserver``, ``FixedIntervalNumberObserver`` and
+``TimingNumberObserver``. For the detailed usage of
+``viz.plot_number_observer``, see ``help(viz.plot_number_observer)``.
+
+.. code:: ipython2
+
+ obs1 = NumberObserver(['C'])
+ obs2 = FixedIntervalNumberObserver(0.1, ['A', 'B'])
+ sim = create_simulator()
+ sim.run(10.0, [obs1, obs2])
+
+.. code:: ipython2
+
+ viz.plot_number_observer(obs1, obs2)
+
+
+
+.. image:: tutorial5_files/tutorial5_29_0.png
+
+
+You can set the style for plotting, and even add an arbitrary function
+to plot.
+
+.. code:: ipython2
+
+ viz.plot_number_observer(obs1, '-', obs2, ':', lambda t: 60 * math.exp(-0.3 * t), '--')
+
+
+
+.. image:: tutorial5_files/tutorial5_31_0.png
+
+
+Plotting in the phase plane is also available by specifing the x-axis
+and y-axis.
+
+.. code:: ipython2
+
+ viz.plot_number_observer(obs2, 'o', x='A', y='B')
+
+
+
+.. image:: tutorial5_files/tutorial5_33_0.png
+
+
+For spatial simulations, to visualize the state of ``World``,
+``viz.plot_world`` is available. This function plots the points of
+particles in three-dimensional volume in the interactive way. You can
+save the image by clicking a right button on the drawing region.
+
+.. code:: ipython2
+
+ sim = create_simulator(spatiocyte.SpatiocyteFactory(0.005))
+ # viz.plot_world(sim.world())
+ viz.plot_world(sim.world(), interactive=False)
+
+
+
+.. image:: tutorial5_files/tutorial5_35_0.png
+
+
+You can also make a movie from a series of HDF5 files, given as a
+``FixedIntervalHDF5Observer``. NOTE: ``viz.plot_movie`` requires an
+extra library, ``ffmpeg``, when ``interactive=False``.
+
+.. code:: ipython2
+
+ sim = create_simulator(spatiocyte.SpatiocyteFactory(0.005))
+ obs1 = FixedIntervalHDF5Observer(0.02, 'test%02d.h5')
+ sim.run(1.0, obs1)
+ viz.plot_movie(obs1)
+
+
+
+.. raw:: html
+
+ <video controls>
+ <source src="data:video/x-webm;base64,GkXfowEAAAAAAAAfQoaBAUL3gQFC8oEEQvOBCEKChHdlYm1Ch4ECQoWBAhhTgGcBAAAAAALCPBFN
+ m3RALU27i1OrhBVJqWZTrIHfTbuMU6uEFlSua1OsggEwTbuNU6uEHFO7a1OsgwLCH+wBAAAAAAAA
+ owAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmAQAA
+ AAAAAEUq17GDD0JATYCNTGF2ZjU2LjQwLjEwMVdBjUxhdmY1Ni40MC4xMDFzpJA2tMJTFQpX0Jsk
+ t71W7+HpRImIQL/gAAAAAAAWVK5rAQAAAAAAAEGuAQAAAAAAADjXgQFzxYEBnIEAIrWcg3VuZIaF
+ Vl9WUDiDgQEj44OECYloAOABAAAAAAAADLCCAli6ggJYU8CBAR9DtnUBAAAAAAHHPueBAKABAAAA
+ AABSIqEgT3uBAAAAcE4BnQEqWAJYAgAHCIWFiIWEiAICIcBGbTzz+G/HT9/9ro8L+Yd3Xa+eF/kP
+ 94/Kf/Hf//uH+YD+j39y/qv7Yf5H///VX+0/s17hv6d+qvsB/jP83/zf91/ev4iP81/jvdL+TXuA
+ /xn+h/fN8wH+v9gP9vvYB/iv9G+//5Rv9j/uf878Ff7Rf9j/Hfvr9Av8s/of+v/OLuAfQB9Uf0n+
+ 0/1f8WP1+/cD4jfxf+T/Fv9pvZ/y+esvWX9pv8F97/lD4NfhP8X/Xflz7p/yj7l/Zf7v+rX9u/3/
+ +C/8H5f/jvuA/Y7+Z+2Pyy/xvwu/bv+q/YL+Q/xr+w/i3/c/9//gf+n8DP+7+T3h+at/uP+/+QHw
+ EevX0/+1f479eP8H/2f8v/4vvK/I/3X4u+8n+L/lv85+NH0A/zP+Y/1f+5/r//e//B75X+J8pX8V
+ /v/83+Nn+g+wP+K/zj++f3b/Kf5H+9f+n6YP7D/U/5b/Wf6z/+fEL9D/z3/A/1f7U/3X/3f8v9Bf
+ 5B/Kv7H/a/8d/jv7r/7v8x/+vzT9nH7eexF+p33ffv//661ARahbSKqzotQtpFVZ0WoW0iqs6LUL
+ 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
+ eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4
+ eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4
+ eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4
+ eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4
+ eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4
+ eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4
+ eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4
+ eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4
+ eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eyc4eycuAP7/uoMAoAEA
+ AAAAAAsRoUq+gQCgABE8AAEQMAAYDNChH56vxtnIHna9Kri+m+8/+bPD/PF8K/KLQF6K+P/M/8fv
+ 49rGc/O7W4PZT/ifGboZf07/h/nG5dNflDMN5i3IR9t7ud28TSdl4DlGk7Lu8AXkfumvjXXw+6kk
+ uJ8M/13X0OuKmuICwfhao18mm3BFbTAqyUgu444RzPWWCxfkOhRd+rk40M+ObRFXNBOYI1FBMFMx
+ RuN6kTWSDUtsUY42dcWbZ5n8iOPmDWme/GWXmHeD9AEDHDi42RB7lklII6Awoy6JfxwE9/yaNbEQ
+ 1sKsrMioAb4m5XTLufDvPXRFbCK2NDTNkLU5/G3419YGwiLKoMRKwK0vyqsTGOvAtetC+q3AEuQF
+ QiMmaCKIAxb3pRzgAbgEG87533oZv5e08Y6bslOz4U1Knek4D4TUXBmvpiLA78YOCAs6zlw6z1TT
+ b7tq8GjLdLnS3zPJl4Lz/PebOAXsMi9NFFyA6VwAiibosiqEOpG8G2VllGNFBXszhxQ56dDTXBdM
+ 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
+ " type="video/webm">
+ Your browser does not support the video tag.
+ </video>
+
+
+Finally, corresponding to ``FixedIntervalTrajectoryObserver``,
+``viz.plot_trajectory`` provides a visualization of particle
+trajectories.
+
+.. code:: ipython2
+
+ sim = create_simulator(spatiocyte.SpatiocyteFactory(0.005))
+ obs1 = FixedIntervalTrajectoryObserver(1e-3)
+ sim.run(1, obs1)
+ # viz.plot_trajectory(obs1)
+ viz.plot_trajectory(obs1, interactive=False)
+
+
+
+.. image:: tutorial5_files/tutorial5_39_0.png
+
diff --git a/readthedocs/tutorials/tutorial5_files/tutorial5_29_0.png b/readthedocs/tutorials/tutorial5_files/tutorial5_29_0.png
new file mode 100644
index 0000000..b4761f5
Binary files /dev/null and b/readthedocs/tutorials/tutorial5_files/tutorial5_29_0.png differ
diff --git a/readthedocs/tutorials/tutorial5_files/tutorial5_31_0.png b/readthedocs/tutorials/tutorial5_files/tutorial5_31_0.png
new file mode 100644
index 0000000..24ca99c
Binary files /dev/null and b/readthedocs/tutorials/tutorial5_files/tutorial5_31_0.png differ
diff --git a/readthedocs/tutorials/tutorial5_files/tutorial5_33_0.png b/readthedocs/tutorials/tutorial5_files/tutorial5_33_0.png
new file mode 100644
index 0000000..1076170
Binary files /dev/null and b/readthedocs/tutorials/tutorial5_files/tutorial5_33_0.png differ
diff --git a/readthedocs/tutorials/tutorial5_files/tutorial5_35_0.png b/readthedocs/tutorials/tutorial5_files/tutorial5_35_0.png
new file mode 100644
index 0000000..38de9dd
Binary files /dev/null and b/readthedocs/tutorials/tutorial5_files/tutorial5_35_0.png differ
diff --git a/readthedocs/tutorials/tutorial5_files/tutorial5_39_0.png b/readthedocs/tutorials/tutorial5_files/tutorial5_39_0.png
new file mode 100644
index 0000000..d6e1408
Binary files /dev/null and b/readthedocs/tutorials/tutorial5_files/tutorial5_39_0.png differ
diff --git a/readthedocs/tutorials/tutorial6.rst b/readthedocs/tutorials/tutorial6.rst
new file mode 100644
index 0000000..e54526a
--- /dev/null
+++ b/readthedocs/tutorials/tutorial6.rst
@@ -0,0 +1,511 @@
+
+6. How to Solve ODEs with Rate Law Functions
+============================================
+
+Although the ``ode`` solver accepts ``NetworkModel``,
+``ode.ODESimulator`` owns its model class ``ode.ODENetworkModel`` and
+``ode.ODEReactionRule`` for the extension. The interface of these
+classes are almost same with ``Model`` classes and ``ReactionRule``.
+Here, we explain the usage specific to ``ode`` especially about
+``ode.ODERatelaw``.
+
+.. code:: ipython3
+
+ %matplotlib inline
+ from ecell4 import *
+
+However, the rate law support in ``ode`` is under development. Some
+functions might be deprecated in the future. Currently, to enable rate
+laws, the option ``ecell4.util.decorator.ENABLE_RATELAW`` must be
+activated as follows:
+
+.. code:: ipython3
+
+ util.decorator.ENABLE_RATELAW = True
+
+6.1. ode.ODEReactionRule
+------------------------
+
+``ode.ODEReactionRule`` has almost same members with ``ReactionRule``.
+
+.. code:: ipython3
+
+ rr1 = ReactionRule()
+ rr1.add_reactant(Species("A"))
+ rr1.add_reactant(Species("B"))
+ rr1.add_product(Species("C"))
+ rr1.set_k(1.0)
+ print(len(rr1.reactants())) # => 2
+ print(len(rr1.products())) # => 1
+ print(rr1.k()) # => 1.0
+ print(rr1.as_string()) # => A+B>C|1
+
+
+.. parsed-literal::
+
+ 2
+ 1
+ 1.0
+ A+B>C|1
+
+
+.. code:: ipython3
+
+ rr2 = ode.ODEReactionRule()
+ rr2.add_reactant(Species("A"))
+ rr2.add_reactant(Species("B"))
+ rr2.add_product(Species("C"))
+ rr2.set_k(1.0)
+ print(len(rr2.reactants())) # => 2
+ print(len(rr2.products())) # => 1
+ print(rr2.k()) # => 1.0
+ print(rr2.as_string()) # => A+B>C|1
+
+
+.. parsed-literal::
+
+ 2
+ 1
+ 1.0
+ A+B>C|1
+
+
+In addition to the common members, ``ode.ODEReactionRule`` can store
+stoichiometric coefficients for each ``Species``:
+
+.. code:: ipython3
+
+ rr2 = ode.ODEReactionRule()
+ rr2.add_reactant(Species("A"), 1.0)
+ rr2.add_reactant(Species("B"), 2.0)
+ rr2.add_product(Species("C"), 2.5)
+ rr2.set_k(1.0)
+ print(rr2.as_string())
+
+
+.. parsed-literal::
+
+ A+2*B>2.5*C|1
+
+
+You can also access to the coefficients as follows:
+
+.. code:: ipython3
+
+ print(rr2.reactants_coefficients()) # => [1.0, 2.0]
+ print(rr2.products_coefficients()) # => [2.5]
+
+
+.. parsed-literal::
+
+ [1.0, 2.0]
+ [2.5]
+
+
+6.2. ode.ODERatelaw
+-------------------
+
+``ode.ODEReactionRule`` can be bound to a ``ode.ODERatelaw``.
+``ode.ODERatelaw`` provides a function to calculate a derivative (flux
+or velocity) based on the given values of ``Species``.
+``ode.ODERatelawMassAction`` is a default class bound to
+``ode.ODEReactionRule``.
+
+.. code:: ipython3
+
+ rr1 = ode.ODEReactionRule()
+ rr1.add_reactant(Species("A"))
+ rr1.add_reactant(Species("B"))
+ rr1.add_product(Species("C"))
+ rl1 = ode.ODERatelawMassAction(2.0)
+ rr1.set_ratelaw(rl1) # equivalent to rr1.set_k(2.0)
+ print(rr1.as_string())
+
+
+.. parsed-literal::
+
+ A+B>C|2
+
+
+``ode.ODERatelawCallback`` enables the user-defined function for
+calculating a flux.
+
+.. code:: ipython3
+
+ def mass_action(reactants, products, volume, t, rr):
+ veloc = 2.0 * volume
+ for value in reactants:
+ veloc *= value / volume
+ return veloc
+
+ rl2 = ode.ODERatelawCallback(mass_action)
+ rr1.set_ratelaw(rl2)
+ print(rr1.as_string())
+
+
+.. parsed-literal::
+
+ A+B>C|mass_action
+
+
+The function bound must accept five arguments and return a floating
+number as a velocity. The first and second list contain a value for each
+reactants and products respectively. When you need to access the
+stoichiometric coefficients, use ``rr`` (``ode.ODEReactionRule``) in the
+arguments.
+
+A ``lambda`` function is available too.
+
+.. code:: ipython3
+
+ rl2 = ode.ODERatelawCallback(lambda r, p, v, t, rr: 2.0 * r[0] * r[1])
+ rr1.set_k(0)
+ rr1.set_ratelaw(rl2)
+ print(rr1.as_string())
+
+
+.. parsed-literal::
+
+ A+B>C|<lambda>
+
+
+6.3. ode.ODENetworkModel
+------------------------
+
+``ode.ODENetworkModel`` accepts both ``ReactionRule`` and
+``ode.ODEReactionRule``. ``ReactionRule`` is implicitly converted and
+stored as a ``ode.ODEReactionRule``.
+
+.. code:: ipython3
+
+ m1 = ode.ODENetworkModel()
+ rr1 = create_unbinding_reaction_rule(Species("C"), Species("A"), Species("B"), 3.0)
+ m1.add_reaction_rule(rr1)
+ rr2 = ode.ODEReactionRule(create_binding_reaction_rule(Species("A"), Species("B"), Species("C"), 0.0))
+ rr2.set_ratelaw(ode.ODERatelawCallback(lambda r, p, v, t, rr: 0.1 * r[0] * r[1]))
+ m1.add_reaction_rule(rr2)
+
+You can access to the list of ``ode.ODEReactionRule``\ s in
+``ode.ODENetworkModel`` via its member ``reaction_rules()``.
+
+.. code:: ipython3
+
+ print([rr.as_string() for rr in m1.reaction_rules()])
+
+
+.. parsed-literal::
+
+ ['C>A+B|3', 'A+B>C|<lambda>']
+
+
+Finally, you can run simulations in the same way with other solvers as
+follows:
+
+.. code:: ipython3
+
+ run_simulation(1.0, model=m1, y0={'A': 60, 'B': 60})
+
+
+
+.. image:: tutorial6_files/tutorial6_22_0.png
+
+
+Modeling with Python decorators is also available by specifying a
+function instead of a rate (floating number). When a floating number is
+set, it is assumed to be a kinetic rate of a mass action reaction, but
+not a constant velocity.
+
+.. code:: ipython3
+
+ with reaction_rules():
+ A + B == C | (lambda r, *args: 0.1 * reduce(mul, r), 3.0)
+
+ m1 = get_model()
+
+For the simplicity, you can directory defining the equation with
+``Species`` names as follows:
+
+.. code:: ipython3
+
+ with reaction_rules():
+ A + B == C | (0.1 * A * B, 3.0)
+
+ m1 = get_model()
+
+When you call a ``Species`` unlisted as a reactant or product, it is
+automatically added to the list as an enzyme.
+
+.. code:: ipython3
+
+ with reaction_rules():
+ S > P | 1.0 * E * S / (30.0 + S)
+
+ m1 = get_model()
+ print(m1.reaction_rules()[0].as_string())
+
+
+.. parsed-literal::
+
+ S+E>P+E|((1.0*E*S)/(30.0+S))
+
+
+where ``E`` in the equation is appended to both reacant and product
+lists.
+
+.. code:: ipython3
+
+ run_simulation(10.0, model=m1, y0={'S': 60, 'E': 30})
+
+
+
+.. image:: tutorial6_files/tutorial6_30_0.png
+
+
+Please be careful about typo in ``Species``' name. When you make a typo,
+it might be recognized as a new enzyme with no attention:
+
+.. code:: ipython3
+
+ with reaction_rules():
+ A13P2G > A23P2G | 1500 * A13B2G # typo: A13P2G -> A13B2G
+
+ m1 = get_model()
+ print(m1.reaction_rules()[0].as_string())
+
+
+.. parsed-literal::
+
+ A13P2G+A13B2G>A23P2G+A13B2G|(1500*A13B2G)
+
+
+When you want to avoid the automatic declaration of enzymes, inactivate
+``util.decorator.ENABLE_IMPLICIT_DECLARATION``. If its value is
+``False``, the above case will raise an error:
+
+.. code:: ipython3
+
+ util.decorator.ENABLE_IMPLICIT_DECLARATION = False
+
+ try:
+ with reaction_rules():
+ A13P2G > A23P2G | 1500 * A13B2G
+ except RuntimeError as e:
+ print(repr(e))
+
+ util.decorator.ENABLE_IMPLICIT_DECLARATION = True
+
+
+.. parsed-literal::
+
+ RuntimeError('unknown variable [A13B2G] was used.',)
+
+
+Although E-Cell4 is specialized for a simulation of biochemical reaction
+network, by using a synthetic reaction rule, ordinary differential
+equations can be translated intuitively. For example, the Lotka-Volterra
+equations:
+
+.. math:: \frac{dx}{dt} = Ax - Bxy\\\frac{dy}{dt} = -Cx + Dxy
+
+where :math:`A=1.5, B=1, C=3, D=1, x(0)=10, y(0)=5`, are solved as
+follows:
+
+.. code:: ipython3
+
+ with reaction_rules():
+ A, B, C, D = 1.5, 1, 3, 1
+
+ ~x > x | A * x - B * x * y
+ ~y > y | -C * y + D * x * y
+
+ run_simulation(10, model=get_model(), y0={'x': 10, 'y': 5})
+
+
+
+.. image:: tutorial6_files/tutorial6_36_0.png
+
+
+6.4. References in a Rate Law
+-----------------------------
+
+Here, we exlain the details in the rate law definition.
+
+First, when you use simpler definitions of a rate law with ``Species``,
+only a limited number of mathematical functions (i.g. ``exp``, ``log``,
+``sin``, ``cos``, ``tan``, ``asin``, ``acos``, ``atan``, and ``pi``) are
+available there even if you declare the function outside the block.
+
+.. code:: ipython3
+
+ try:
+ from math import erf
+
+ with reaction_rules():
+ S > P | erf(S / 30.0)
+ except TypeError as e:
+ print(repr(e))
+
+
+.. parsed-literal::
+
+ TypeError('a float is required',)
+
+
+This is because ``erf`` is tried to be evaluated agaist ``S / 30.0``
+first, but it is not a floating number. In contrast, the following case
+is acceptable:
+
+.. code:: ipython3
+
+ from math import erf
+
+ with reaction_rules():
+ S > P | erf(2.0) * S
+
+ m1 = get_model()
+ print(m1.reaction_rules()[0].as_string())
+
+
+.. parsed-literal::
+
+ S>P|(0.9953222650189527*S)
+
+
+where only the result of ``erf(2.0)``, ``0.995322265019``, is passed to
+the rate law. Thus, the rate law above has no reference to the ``erf``
+function. Similarly, a value of variables declared outside is
+acceptable, but not as a reference.
+
+.. code:: ipython3
+
+ kcat, Km = 1.0, 30.0
+
+ with reaction_rules():
+ S > P | kcat * E * S / (Km + S)
+
+ m1 = get_model()
+ print(m1.reaction_rules()[0].as_string())
+ kcat = 2.0
+ print(m1.reaction_rules()[0].as_string())
+
+
+.. parsed-literal::
+
+ S+E>P+E|((1.0*E*S)/(30.0+S))
+ S+E>P+E|((1.0*E*S)/(30.0+S))
+
+
+Even if you change the value of a variable, it does **not** affect the
+rate law.
+
+On the other hand, when you use your own function to define a rate law,
+it can hold a reference to variables outside.
+
+.. code:: ipython3
+
+ k1 = 1.0
+
+ with reaction_rules():
+ S > P | (lambda r, *args: k1 * r[0]) # referring k1
+
+ m1 = get_model()
+
+ obs1 = run_simulation(2, model=m1, y0={"S": 60}, return_type='observer')
+ k1 = 2.0
+ obs2 = run_simulation(2, model=m1, y0={"S": 60}, return_type='observer')
+
+ viz.plot_number_observer(obs1, '-', obs2, '--')
+
+
+
+.. image:: tutorial6_files/tutorial6_44_0.png
+
+
+However, in this case, it is better to make a new model for each set of
+parameters.
+
+.. code:: ipython3
+
+ def create_model(k):
+ with reaction_rules():
+ S > P | k
+
+ return get_model()
+
+ obs1 = run_simulation(2, model=create_model(k=1.0), y0={"S": 60}, return_type='observer')
+ obs2 = run_simulation(2, model=create_model(k=2.0), y0={"S": 60}, return_type='observer')
+ # viz.plot_number_observer(obs1, '-', obs2, '--')
+
+6.5. More about ode
+-------------------
+
+In ``ode.ODEWorld``, a value for each ``Species`` is a floating number.
+However, for the compatibility, the common member ``num_molecules`` and
+``add_molecules`` regard the value as an integer.
+
+.. code:: ipython3
+
+ w = ode.ODEWorld()
+ w.add_molecules(Species("A"), 2.5)
+ print(w.num_molecules(Species("A")))
+
+
+.. parsed-literal::
+
+ 2
+
+
+To set/get a real number, use ``set_value`` and ``get_value``:
+
+.. code:: ipython3
+
+ w.set_value(Species("B"), 2.5)
+ print(w.get_value(Species("A")))
+ print(w.get_value(Species("B")))
+
+
+.. parsed-literal::
+
+ 2.0
+ 2.5
+
+
+As a default, ``ode.ODESimulator`` employs the Rosenblock method, called
+``ROSENBROCK4_CONTROLLER``, to solve ODEs. In addition to that, two
+solvers, ``EULER`` and ``RUNGE_KUTTA_CASH_KARP54``, are available.
+``ROSENBROCK4_CONTROLLER`` and ``RUNGE_KUTTA_CASH_KARP54`` adaptively
+change the step size during time evolution due to error controll, but
+``EULER`` does not.
+
+.. code:: ipython3
+
+ with reaction_rules():
+ A > ~A | 1.0
+
+ m1 = get_model()
+
+ w1 = ode.ODEWorld()
+ w1.set_value(Species("A"), 1.0)
+ sim1 = ode.ODESimulator(m1, w1, ode.EULER)
+ sim1.set_dt(0.01) # This is only effective for EULER
+ sim1.run(3.0, obs1)
+
+``ode.ODEFactory`` also accepts a solver type and a default step
+interval.
+
+.. code:: ipython3
+
+ run_simulation(3.0, model=m1, y0={"A": 1.0}, factory=ode.ODEFactory(ode.EULER, 0.01))
+
+
+
+.. image:: tutorial6_files/tutorial6_54_0.png
+
+
+See also examples listed below:
+
+- `Glycolysis of Human
+ Erythrocytes <../Examples/Glycolysis%20of%20Human%20Erythrocytes.ipynb>`__
+- `Drosophila Circadian
+ Clock <../Examples/Drosophila%20Circadian%20Clock.ipynb>`__
+- `Attractors <../Examples/Attractors.ipynb>`__
diff --git a/readthedocs/tutorials/tutorial6_files/tutorial6_22_0.png b/readthedocs/tutorials/tutorial6_files/tutorial6_22_0.png
new file mode 100644
index 0000000..8c69e13
Binary files /dev/null and b/readthedocs/tutorials/tutorial6_files/tutorial6_22_0.png differ
diff --git a/readthedocs/tutorials/tutorial6_files/tutorial6_30_0.png b/readthedocs/tutorials/tutorial6_files/tutorial6_30_0.png
new file mode 100644
index 0000000..61cddbc
Binary files /dev/null and b/readthedocs/tutorials/tutorial6_files/tutorial6_30_0.png differ
diff --git a/readthedocs/tutorials/tutorial6_files/tutorial6_36_0.png b/readthedocs/tutorials/tutorial6_files/tutorial6_36_0.png
new file mode 100644
index 0000000..d310ee1
Binary files /dev/null and b/readthedocs/tutorials/tutorial6_files/tutorial6_36_0.png differ
diff --git a/readthedocs/tutorials/tutorial6_files/tutorial6_44_0.png b/readthedocs/tutorials/tutorial6_files/tutorial6_44_0.png
new file mode 100644
index 0000000..c386cf9
Binary files /dev/null and b/readthedocs/tutorials/tutorial6_files/tutorial6_44_0.png differ
diff --git a/readthedocs/tutorials/tutorial6_files/tutorial6_54_0.png b/readthedocs/tutorials/tutorial6_files/tutorial6_54_0.png
new file mode 100644
index 0000000..573f09d
Binary files /dev/null and b/readthedocs/tutorials/tutorial6_files/tutorial6_54_0.png differ
diff --git a/readthedocs/tutorials/tutorial7.rst b/readthedocs/tutorials/tutorial7.rst
new file mode 100644
index 0000000..2e8e974
--- /dev/null
+++ b/readthedocs/tutorials/tutorial7.rst
@@ -0,0 +1,567 @@
+
+7. Introduction of Rule-based Modeling
+======================================
+
+E-Cell4 provides the rule-based modeling environment.
+
+.. code:: ipython2
+
+ %matplotlib inline
+ from ecell4 import *
+
+7.1. Species.count
+------------------
+
+First, ``Species`` provides a function ``count``. ``Species.count``
+counts the number of matches between ``Species``.
+
+.. code:: ipython2
+
+ sp1 = Species("A(b^1).B(b^1)")
+ sp2 = Species("A(b^1).A(b^1)")
+ pttrn1 = Species("A")
+ print(pttrn1.count(sp1)) # => 1
+ print(pttrn1.count(sp2)) # => 2
+
+
+.. parsed-literal::
+
+ 1
+ 2
+
+
+In the above case, ``Species.count`` just returns the number of
+``UnitSpecies`` named ``A`` in ``Species`` regardless of its sites. To
+specify the occupancy of a bond:
+
+.. code:: ipython2
+
+ pttrn1 = Species("A(b)")
+ pttrn2 = Species("A(b^_)")
+ print(pttrn1.count(sp1)) # => 0
+ print(pttrn2.count(sp1)) # => 1
+
+
+.. parsed-literal::
+
+ 0
+ 1
+
+
+where ``A(b)`` suggests that bond ``b`` is empty, and ``A(b^_)`` does
+that bond ``b`` is occupied. Underscore ``_`` means wildcard here.
+Similarly, you can also specify the state of sites.
+
+.. code:: ipython2
+
+ sp1 = Species("A(b=u)")
+ pttrn1 = Species("A(b)")
+ pttrn2 = Species("A(b=u)")
+ print(pttrn1.count(sp1)) # => 1
+ print(pttrn2.count(sp1)) # => 1
+
+
+.. parsed-literal::
+
+ 1
+ 1
+
+
+``A(b)`` says nothing about the state, but ``A(b=u)`` specifies both
+state and bond. ``A(b=u)`` means that ``UnitSpecies`` named ``A`` has a
+site named ``b`` which state is ``u`` and the bond is empty. Wildcard
+``_`` is acceptable even in a state and name.
+
+.. code:: ipython2
+
+ sp1 = Species("A(b=u^1).B(b=p^1)")
+ pttrn1 = Species("A(b=_^_)") # This is equivalent to `A(b^_)` here
+ pttrn2 = Species("_(b^_)")
+ print(pttrn1.count(sp1)) # => 1
+ print(pttrn2.count(sp1)) # => 2
+
+
+.. parsed-literal::
+
+ 1
+ 2
+
+
+Wildcard ``_`` matches anything, and the pattern matched is not
+consistent between wildcards even in the ``Species``. On the other hand,
+named wildcards, ``_1``, ``_2`` and so on, confer the consistency within
+the match.
+
+.. code:: ipython2
+
+ sp1 = Species("A(b^1).B(b^1)")
+ pttrn1 = Species("_._")
+ pttrn2 = Species("_1._1")
+ print(pttrn1.count(sp1)) # => 2
+ print(pttrn2.count(sp1)) # => 0
+
+
+.. parsed-literal::
+
+ 2
+ 0
+
+
+where the first pattern matches in two ways (``A.B`` and ``B.A``), but
+the second matches nothing. ``Species.count`` always distinguishes the
+order of ``UnitSpecies`` even in the symmetric case. Thus, ``_1._1``
+does **not** mean the number of dimers.
+
+.. code:: ipython2
+
+ sp1 = Species("A(b^1).A(b^1)")
+ pttrn1 = Species("_1._1")
+ print(pttrn1.count(sp1)) # => 2
+
+
+.. parsed-literal::
+
+ 2
+
+
+7.2. ReactionRule.count and generate
+------------------------------------
+
+``ReactionRule`` also has a function to count matches agaist the given
+list of reactants.
+
+.. code:: ipython2
+
+ rr1 = create_unimolecular_reaction_rule(Species("A(p=u)"), Species("A(p=p)"), 1.0)
+ sp1 = Species("A(b^1,p=u).B(b^1)")
+ print(rr1.count([sp1])) # => 1
+
+
+.. parsed-literal::
+
+ 1
+
+
+``ReactionRule.generate`` returns a list of ``ReactionRule``\ s
+generated based on the matches.
+
+.. code:: ipython2
+
+ print([rr.as_string() for rr in rr1.generate([sp1])])
+
+
+.. parsed-literal::
+
+ ['A(b^1,p=u).B(b^1)>A(b^1,p=p).B(b^1)|1']
+
+
+``ReactionRule.generate`` matters the order of ``Species`` in the given
+list:
+
+.. code:: ipython2
+
+ rr1 = create_binding_reaction_rule(Species("A(b)"), Species("B(b)"), Species("A(b^1).B(b^1)"), 1.0)
+ sp1 = Species("A(b)")
+ sp2 = Species("B(b)")
+ print([rr.as_string() for rr in rr1.generate([sp1, sp2])])
+ print([rr.as_string() for rr in rr1.generate([sp2, sp1])])
+
+
+.. parsed-literal::
+
+ ['A(b)+B(b)>A(b^1).B(b^1)|1']
+ []
+
+
+On the current implementation, ``ReactionRule.generate`` does **not**
+always return a list of unique ``ReactionRule``\ s.
+
+.. code:: ipython2
+
+ sp1 = Species("A(b,c^1).A(b,c^1)")
+ sp2 = Species("B(b,c^1).B(b,c^1)")
+ print(rr1.count([sp1, sp2])) # => 4
+ print([rr.as_string() for rr in rr1.generate([sp1, sp2])])
+
+
+.. parsed-literal::
+
+ 4
+ ['A(b,c^1).A(b,c^1)+B(b,c^1).B(b,c^1)>A(b^1,c^2).A(b,c^2).B(b^1,c^3).B(b,c^3)|1', 'A(b,c^1).A(b,c^1)+B(b,c^1).B(b,c^1)>A(b^1,c^2).A(b,c^2).B(b,c^3).B(b^1,c^3)|1', 'A(b,c^1).A(b,c^1)+B(b,c^1).B(b,c^1)>A(b,c^1).A(b^2,c^1).B(b^2,c^3).B(b,c^3)|1', 'A(b,c^1).A(b,c^1)+B(b,c^1).B(b,c^1)>A(b,c^1).A(b^2,c^1).B(b,c^3).B(b^2,c^3)|1']
+
+
+``ReactionRules`` listed above look different, but all the products
+suggest the same.
+
+.. code:: ipython2
+
+ print(set([unique_serial(rr.products()[0]) for rr in rr1.generate([sp1, sp2])]))
+
+
+.. parsed-literal::
+
+ {'A(b,c^1).A(b^2,c^1).B(b^2,c^3).B(b,c^3)'}
+
+
+This is because these ``ReactionRule``\ s are generated based on the
+diffent matches though they produces the same ``Species``. Fot details,
+See the section below.
+
+Wildcard is also available in ``ReactionRule``.
+
+.. code:: ipython2
+
+ rr1 = create_unimolecular_reaction_rule(Species("A(p=u^_)"), Species("A(p=p^_)"), 1.0)
+ print([rr.as_string() for rr in rr1.generate([Species("A(p=u^1).B(p^1)")])])
+
+
+.. parsed-literal::
+
+ ['A(p=u^1).B(p^1)>A(p=p^1).B(p^1)|1']
+
+
+Of course, wildcard is accepted as a name of ``UnitSpecies``.
+
+.. code:: ipython2
+
+ rr1 = create_unimolecular_reaction_rule(Species("_(p=u)"), Species("_(p=p)"), 1.0)
+ print([rr.as_string() for rr in rr1.generate([Species("A(p=u)")])])
+ print([rr.as_string() for rr in rr1.generate([Species("B(b^1,p=u).C(b^1,p=u)")])])
+
+
+.. parsed-literal::
+
+ ['A(p=u)>A(p=p)|1']
+ ['B(b^1,p=u).C(b^1,p=u)>B(b^1,p=p).C(b^1,p=u)|1', 'B(b^1,p=u).C(b^1,p=u)>B(b^1,p=u).C(b^1,p=p)|1']
+
+
+Named wildcards in a state is useful to specify the correspondence
+between sites.
+
+.. code:: ipython2
+
+ rr1 = create_unbinding_reaction_rule(Species("AB(a=_1, b=_2)"), Species("B(b=_2)"), Species("A(a=_1)"), 1.0)
+ print([rr.as_string() for rr in rr1.generate([Species("AB(a=x, b=y)")])])
+ print([rr.as_string() for rr in rr1.generate([Species("AB(a=y, b=x)")])])
+
+
+.. parsed-literal::
+
+ ['AB(a=x,b=y)>B(b=y)+A(a=x)|1']
+ ['AB(a=y,b=x)>B(b=x)+A(a=y)|1']
+
+
+Nameless wildcard ``_`` does not care about equality between matches.
+Products are generated in order.
+
+.. code:: ipython2
+
+ rr1 = create_binding_reaction_rule(Species("_(b)"), Species("_(b)"), Species("_(b^1)._(b^1)"), 1.0)
+ print(rr1.as_string())
+ print([rr.as_string() for rr in rr1.generate([Species("A(b)"), Species("A(b)")])])
+ print([rr.as_string() for rr in rr1.generate([Species("A(b)"), Species("B(b)")])])
+
+
+.. parsed-literal::
+
+ _(b)+_(b)>_(b^1)._(b^1)|1
+ ['A(b)+A(b)>A(b^1).A(b^1)|1']
+ ['A(b)+B(b)>A(b^1).B(b^1)|1']
+
+
+For its symmetry, the former case above is sometimes preffered to have a
+half of the original kinetic rate. This is because the number of
+combinations of molecules in the former is :math:`n(n-1)/2` even though
+that in the later is :math:`n^2`, where both numbers of A and B
+molecules are :math:`n`. This is true for ``gillespie`` and ``ode``.
+However, in ``egfrd`` and ``spatiocyte``, a kinetic rate is intrinsic
+one, and not affected by the number of combinations. Thus, in E-Cell4,
+no modification in the rate is done even for the case. See
+`Homodimerization and
+Annihilation <../Tests/Homodimerization%20and%20Annihilation.ipynb>`__
+for the difference between algorithms.
+
+In constrast to nameless wildcard, named wildcard keeps its consistency,
+and always suggests the same value in the ``ReactionRule``.
+
+.. code:: ipython2
+
+ rr1 = create_binding_reaction_rule(Species("_1(b)"), Species("_1(b)"), Species("_1(b^1)._1(b^1)"), 1.0)
+ print(rr1.as_string())
+ print([rr.as_string() for rr in rr1.generate([Species("A(b)"), Species("A(b)")])])
+ print([rr.as_string() for rr in rr1.generate([Species("A(b)"), Species("B(b)")])]) # => []
+
+
+.. parsed-literal::
+
+ _1(b)+_1(b)>_1(b^1)._1(b^1)|1
+ ['A(b)+A(b)>A(b^1).A(b^1)|1']
+ []
+
+
+Named wildcard is consistent even between ``UnitSpecies``' and
+``site``'s names, technically.
+
+.. code:: ipython2
+
+ rr1 = create_binding_reaction_rule(Species("A(b=_1)"), Species("_1(b)"), Species("A(b=_1^1)._1(b^1)"), 1.0)
+ print(rr1.as_string())
+ print([rr.as_string() for rr in rr1.generate([Species("A(b=B)"), Species("A(b)")])]) # => []
+ print([rr.as_string() for rr in rr1.generate([Species("A(b=B)"), Species("B(b)")])])
+
+
+.. parsed-literal::
+
+ A(b=_1)+_1(b)>A(b=_1^1)._1(b^1)|1
+ []
+ ['A(b=B)+B(b)>A(b=B^1).B(b^1)|1']
+
+
+7.3. NetfreeModel
+-----------------
+
+``NetfreeModel`` is a ``Model`` class for the rule-based modeling. The
+interface of ``NetfreeModel`` is almost same with ``NetworkModel``, but
+takes into account rules and matches.
+
+.. code:: ipython2
+
+ rr1 = create_binding_reaction_rule(Species("A(r)"), Species("A(l)"), Species("A(r^1).A(l^1)"), 1.0)
+
+ m1 = NetfreeModel()
+ m1.add_reaction_rule(rr1)
+ print(m1.num_reaction_rules())
+
+ m2 = NetworkModel()
+ m2.add_reaction_rule(rr1)
+ print(m2.num_reaction_rules())
+
+
+.. parsed-literal::
+
+ 1
+ 1
+
+
+Python notation explained in `2. How to Build a
+Model <2.%20How%20to%20Build%20a%20Model.ipynb>`__ is available too. To
+get a model as ``NetfreeModel``, set ``is_netfree`` ``True`` in
+``get_model``:
+
+.. code:: ipython2
+
+ with reaction_rules():
+ A(r) + A(l) > A(r^1).A(l^1) | 1.0
+
+ m1 = get_model(is_netfree=True)
+ print(repr(m1))
+
+
+.. parsed-literal::
+
+ <ecell4.core.NetfreeModel object at 0x7fadee193110>
+
+
+``Model.query_reaction_rules`` returns a list of ``ReactionRule``\ s
+agaist the given reactants. ``NetworkModel`` just returns
+``ReactionRule``\ s based on the equality of ``Species``.
+
+.. code:: ipython2
+
+ print(len(m2.query_reaction_rules(Species("A(r)"), Species("A(l)")))) # => 1
+ print(len(m2.query_reaction_rules(Species("A(l,r)"), Species("A(l,r)")))) # => 0
+
+
+.. parsed-literal::
+
+ 1
+ 0
+
+
+On the other hand, ``NetfreeModel`` genarates the list by applying the
+stored ``ReactionRule``\ s in the rule-based way.
+
+.. code:: ipython2
+
+ print(len(m1.query_reaction_rules(Species("A(r)"), Species("A(l)")))) # => 1
+ print(len(m1.query_reaction_rules(Species("A(l,r)"), Species("A(l,r)")))) # => 1
+
+
+.. parsed-literal::
+
+ 1
+ 1
+
+
+``NetfreeModel`` does not cache generated objects. Thus,
+``NetfreeModel.query_reaction_rules`` is slow, but needs less memory.
+
+.. code:: ipython2
+
+ print(m1.query_reaction_rules(Species("A(l,r)"), Species("A(l,r)"))[0].as_string())
+ print(m1.query_reaction_rules(Species("A(l,r^1).A(l^1,r)"), Species("A(l,r)"))[0].as_string())
+ print(m1.query_reaction_rules(Species("A(l,r^1).A(l^1,r)"), Species("A(l,r^1).A(l^1,r)"))[0].as_string())
+
+
+.. parsed-literal::
+
+ A(l,r)+A(l,r)>A(l,r^1).A(l^1,r)|2
+ A(l,r^1).A(l^1,r)+A(l,r)>A(l,r^1).A(l^1,r^2).A(l^2,r)|2
+ A(l,r^1).A(l^1,r)+A(l,r^1).A(l^1,r)>A(l,r^1).A(l^1,r^2).A(l^2,r^3).A(l^3,r)|2
+
+
+``NetfreeModel.expand`` expands ``NetfreeModel`` to ``NetworkModel`` by
+iteratively applying ``ReactionRule``\ s agaist the given seeds.
+
+.. code:: ipython2
+
+ with reaction_rules():
+ _(b) + _(b) == _(b^1)._(b^1) | (1.0, 1.0)
+
+ m3 = get_model(True)
+ print(m3.num_reaction_rules())
+
+ m4 = m3.expand([Species("A(b)"), Species("B(b)")])
+ print(m4.num_reaction_rules())
+ print([rr.as_string() for rr in m4.reaction_rules()])
+
+
+.. parsed-literal::
+
+ 2
+ 6
+ ['A(b)+A(b)>A(b^1).A(b^1)|1', 'A(b)+B(b)>A(b^1).B(b^1)|1', 'B(b)+B(b)>B(b^1).B(b^1)|1', 'A(b^1).A(b^1)>A(b)+A(b)|1', 'A(b^1).B(b^1)>A(b)+B(b)|1', 'B(b^1).B(b^1)>B(b)+B(b)|1']
+
+
+To avoid the infinite iteration for expansion, you can limit the maximum
+number of iterations and of ``UnitSpecies`` in a ``Species``.
+
+.. code:: ipython2
+
+ m2 = m1.expand([Species("A(l, r)")], 100, {Species("A"): 4})
+ print(m2.num_reaction_rules()) # => 4
+ print([rr.as_string() for rr in m2.reaction_rules()])
+
+
+.. parsed-literal::
+
+ 4
+ ['A(l,r)+A(l,r)>A(l,r^1).A(l^1,r)|2', 'A(l,r^1).A(l^1,r)+A(l,r^1).A(l^1,r)>A(l,r^1).A(l^1,r^2).A(l^2,r^3).A(l^3,r)|2', 'A(l,r)+A(l,r^1).A(l^1,r)>A(l,r^1).A(l^1,r^2).A(l^2,r)|2', 'A(l,r)+A(l,r^1).A(l^1,r^2).A(l^2,r)>A(l,r^1).A(l^1,r^2).A(l^2,r^3).A(l^3,r)|2']
+
+
+7.4. Differences between Species, ReactionRule and NetfreeModel
+---------------------------------------------------------------
+
+The functions explained above is similar, but there are some differences
+in the criteria.
+
+.. code:: ipython2
+
+ sp1 = Species("A(b^1).A(b^1)")
+ sp2 = Species("A(b)")
+ rr1 = create_unbinding_reaction_rule(sp1, sp2, sp2, 1.0)
+ print(sp1.count(sp1))
+ print([rr.as_string() for rr in rr1.generate([sp1])])
+
+
+.. parsed-literal::
+
+ 2
+ ['A(b^1).A(b^1)>A(b)+A(b)|1']
+
+
+Though ``Species.count`` suggests two different ways for matching
+(left-right and right-left), ``ReactionRule.generate`` returns only one
+``ReactionRule`` because the order doesn't affect the product.
+
+.. code:: ipython2
+
+ sp1 = Species("A(b^1).B(b^1)")
+ rr1 = create_unbinding_reaction_rule(
+ sp1, Species("A(b)"), Species("B(b)"), 1.0)
+ sp2 = Species("A(b^1,c^2).A(b^3,c^2).B(b^1).B(b^3)")
+ print(sp1.count(sp2))
+ print([rr.as_string() for rr in rr1.generate([sp2])])
+
+
+.. parsed-literal::
+
+ 2
+ ['A(b^1,c^2).A(b^3,c^2).B(b^1).B(b^3)>A(b,c^1).A(b^2,c^1).B(b^2)+B(b)|1', 'A(b^1,c^2).A(b^3,c^2).B(b^1).B(b^3)>A(b^1,c^2).A(b,c^2).B(b^1)+B(b)|1']
+
+
+In this case, ``ReactionRule.generate`` works similarly with
+``Species.count``. However, ``Netfree.query_reaction_rules`` returns
+only one ``ReationRule`` with higher kinetic rate:
+
+.. code:: ipython2
+
+ m1 = NetfreeModel()
+ m1.add_reaction_rule(rr1)
+ print([rr.as_string() for rr in m1.query_reaction_rules(sp2)])
+
+
+.. parsed-literal::
+
+ ['A(b^1,c^2).B(b^1).A(b^3,c^2).B(b^3)>A(b,c^1).A(b^2,c^1).B(b^2)+B(b)|2']
+
+
+``NetfreeModel.query_reaction_rules`` checks if each ``ReactionRule``
+generated is the same with others, and summalizes it if possible.
+
+As explaned above, ``ReactionRule.generate`` matters the order of
+``Species``, but ``Netfree.query_reaction_rules`` does not.
+
+.. code:: ipython2
+
+ sp1 = Species("A(b)")
+ sp2 = Species("B(b)")
+ rr1 = create_binding_reaction_rule(sp1, sp2, Species("A(b^1).B(b^1)"), 1.0)
+ m1 = NetfreeModel()
+ m1.add_reaction_rule(rr1)
+ print([rr.as_string() for rr in rr1.generate([sp1, sp2])])
+ print([rr.as_string() for rr in m1.query_reaction_rules(sp1, sp2)])
+ print([rr.as_string() for rr in rr1.generate([sp2, sp1])]) # => []
+ print([rr.as_string() for rr in m1.query_reaction_rules(sp2, sp1)])
+
+
+.. parsed-literal::
+
+ ['A(b)+B(b)>A(b^1).B(b^1)|1']
+ ['A(b)+B(b)>A(b^1).B(b^1)|1']
+ []
+ ['B(b)+A(b)>A(b^1).B(b^1)|1']
+
+
+Named wildcards must be consistent in the context while nameless
+wildcards are not necessarily consistent.
+
+.. code:: ipython2
+
+ sp1 = Species("_(b)")
+ sp2 = Species("_1(b)")
+ sp3 = Species("A(b)")
+ sp4 = Species("B(b)")
+ rr1 = create_binding_reaction_rule(sp1, sp1, Species("_(b^1)._(b^1)"), 1)
+ rr2 = create_binding_reaction_rule(sp2, sp2, Species("_1(b^1)._1(b^1)"), 1)
+ print(sp1.count(sp2)) # => 1
+ print(sp1.count(sp3)) # => 1
+ print(sp2.count(sp2)) # => 1
+ print(sp2.count(sp3)) # => 1
+ print([rr.as_string() for rr in rr1.generate([sp3, sp3])])
+ print([rr.as_string() for rr in rr1.generate([sp3, sp4])])
+ print([rr.as_string() for rr in rr2.generate([sp3, sp3])])
+ print([rr.as_string() for rr in rr2.generate([sp3, sp4])]) # => []
+
+
+.. parsed-literal::
+
+ 1
+ 1
+ 1
+ 1
+ ['A(b)+A(b)>A(b^1).A(b^1)|1']
+ ['A(b)+B(b)>A(b^1).B(b^1)|1']
+ ['A(b)+A(b)>A(b^1).A(b^1)|1']
+ []
+
diff --git a/readthedocs/tutorials/tutorial8.rst b/readthedocs/tutorials/tutorial8.rst
new file mode 100644
index 0000000..b6ee223
--- /dev/null
+++ b/readthedocs/tutorials/tutorial8.rst
@@ -0,0 +1,260 @@
+
+8. More about 1. Brief Tour of E-Cell4 Simulations
+==================================================
+
+Once you read through `1. Brief Tour of E-Cell4
+Simulations <1.%20Brief%20Tour%20of%20E-Cell4%20Simulations>`__, it is
+NOT difficult to use ``World`` and ``Simulator``. ``volume`` and
+``{'C': 60}`` is equivalent of the ``World`` and solver is the
+``Simulator`` below.
+
+.. code:: ipython2
+
+ %matplotlib inline
+ from ecell4 import *
+
+ with reaction_rules():
+ A + B == C | (0.01, 0.3)
+
+ y = run_simulation(10.0, {'C': 60}, volume=1.0)
+
+
+
+.. image:: tutorial8_files/tutorial8_1_0.png
+
+
+Here we give you a breakdown for ``run_simulation``. ``run_simulation``
+use ODE simulator by default, so we create ``ODEWorld`` step by step.
+
+Creating ODEWorld
+-----------------
+
+You can create ``World`` like this.
+
+.. code:: ipython2
+
+ w = ode.ODEWorld(Real3(1, 1, 1))
+
+``Real3`` is a coordinate vector. In this example, the first argument
+for ``ODEWorld`` constructor is a cube. Note that you can NOT use volume
+for ``ode.ODEWorld`` argument, like ``run_simulation`` argument.
+
+Now you created a cube box for simulation, next let's throw molecules
+into the cube.
+
+.. code:: ipython2
+
+ w = ode.ODEWorld(Real3(1, 1, 1))
+ w.add_molecules(Species('C'), 60)
+ print(w.t(), w.num_molecules(Species('C'))) # must return (0.0, 60)
+
+
+.. parsed-literal::
+
+ 0.0 60
+
+
+Use ``add_molecules`` to add molecules, ``remove_molecules`` to remove
+molecules, ``num_molecules`` to know the number of molecules. First
+argument for each method is the ``Species`` you want to know. You can
+get current time by ``t`` method. However the number of molecules in ODE
+solver is real number, in these ``_molecules`` functions work only for
+integer number. When you handle real numbers in ODE, use ``set_value``
+and ``get_value``.
+
+How to Use Real3
+----------------
+
+Before the detail of ``Simulator``, we explaing more about ``Real3``.
+
+.. code:: ipython2
+
+ pos = Real3(1, 2, 3)
+ print(pos) # must print like <ecell4.core.Real3 object at 0x7f44e118b9c0>
+ print(tuple(pos)) # must print (1.0, 2.0, 3.0)
+
+
+.. parsed-literal::
+
+ <ecell4.core.Real3 object at 0x7f712f1c6af8>
+ (1.0, 2.0, 3.0)
+
+
+You can not print the contents in ``Real3`` object directly. You need to
+convert ``Real3`` to Python tuple or list once.
+
+.. code:: ipython2
+
+ pos1 = Real3(1, 1, 1)
+ x, y, z = pos[0], pos[1], pos[2]
+ pos2 = pos1 + pos1
+ pos3 = pos1 * 3
+ pos4 = pos1 / 5
+ print(length(pos1)) # must print 1.73205080757
+ print(dot_product(pos1, pos3)) # must print 9.0
+
+
+.. parsed-literal::
+
+ 1.7320508075688772
+ 9.0
+
+
+You can use basic function like ``dot_product``. Of course, you can
+convert ``Real3`` to numpy array too.
+
+.. code:: ipython2
+
+ import numpy
+ a = numpy.asarray(tuple(Real3(1, 2, 3)))
+ print(a) # must print [ 1. 2. 3.]
+
+
+.. parsed-literal::
+
+ [ 1. 2. 3.]
+
+
+``Integer3`` represents a triplet of integers.
+
+.. code:: ipython2
+
+ g = Integer3(1, 2, 3)
+ print(tuple(g))
+
+
+.. parsed-literal::
+
+ (1, 2, 3)
+
+
+Of course, you can also apply simple arithmetics to ``Integer3``.
+
+.. code:: ipython2
+
+ print(tuple(Integer3(1, 2, 3) + Integer3(4, 5, 6))) # => (5, 7, 9)
+ print(tuple(Integer3(4, 5, 6) - Integer3(1, 2, 3))) # => (3, 3, 3)
+ print(tuple(Integer3(1, 2, 3) * 2)) # => (2, 4, 6)
+ print(dot_product(Integer3(1, 2, 3), Integer3(4, 5, 6))) # => 32
+ print(length(Integer3(1, 2, 3))) # => 3.74165738677
+
+
+.. parsed-literal::
+
+ (5, 7, 9)
+ (3, 3, 3)
+ (2, 4, 6)
+ 32
+ 3.7416573867739413
+
+
+Creating and Running ODESimulator
+---------------------------------
+
+You can create a ``Simulator`` with ``Model`` and ``World`` like
+
+.. code:: ipython2
+
+ with reaction_rules():
+ A + B > C | 0.01 # equivalent to create_binding_reaction_rule
+ C > A + B | 0.3 # equivalent to create_unbinding_reaction_rule
+
+ m = get_model()
+
+ sim = ode.ODESimulator(m, w)
+ sim.run(10.0)
+
+then call ``run`` method, the simulation will run. In this example the
+simulation runs for 10seconds.
+
+You can check the state of the ``World`` like this.
+
+.. code:: ipython2
+
+ print(w.t(), w.num_molecules(Species('C'))) # must return (10.0, 30)
+
+
+.. parsed-literal::
+
+ 10.0 30
+
+
+You can see that the number of the ``Species`` ``C`` decreases from 60
+to 30.
+
+``World`` describes the state of a timepoint, so you can NOT see the
+transition of the simulation with the ``World``. To obtain the
+time-series result, use ``Observer``.
+
+.. code:: ipython2
+
+ w = ode.ODEWorld(Real3(1, 1, 1))
+ w.add_molecules(Species('C'), 60)
+ sim = ode.ODESimulator(m, w)
+
+ obs = FixedIntervalNumberObserver(0.1, ('A', 'C'))
+ sim.run(10.0, obs)
+ print(obs.data()) # must return [[0.0, 0.0, 60.0], ..., [10.0, 29.994446899691276, 30.005553100308752]]
+
+
+.. parsed-literal::
+
+ [[0.0, 0.0, 60.0], [0.1, 1.7722206142399386, 58.22777938576007], [0.2, 3.4860124973550763, 56.513987502644945], [0.30000000000000004, 5.1376332940411835, 54.86236670595884], [0.4, 6.7240908311569765, 53.27590916884304], [0.5, 8.243129777354657, 51.756870222645354], [0.6000000000000001, 9.693203786345993, 50.30679621365402], [0.7000000000000001, 11.073435609634762, 48.92656439036526], [0.8, 12.383567709304009, 47.61643229069602], [0.9, 13.62390593330331, 46.376094066696716], [1.0, 14. [...]
+
+
+There are several types of ``Observer``\ s for E-Cell4.
+``FixedIntervalNumberObserver`` is the simplest ``Observer`` to obtain
+the time-series result. As its name suggests, this ``Observer`` records
+the number of molecules for each time-step. The 1st argument is the
+time-step, the 2nd argument is the molecule types. You can check the
+result with ``data`` method, but there is a shortcut for this.
+
+.. code:: ipython2
+
+ viz.plot_number_observer(obs)
+
+
+
+.. image:: tutorial8_files/tutorial8_25_0.png
+
+
+This plots the time-series result easily.
+
+We explained the internal of ``run_simulation`` function. When you
+change the ``World`` after creating the ``Simulator``, you need to
+indicate it to ``Simulator``. So do NOT forget to call
+``sim.initialize()`` after that.
+
+Switching the Solver
+--------------------
+
+It is NOT difficult to switch the solver to stochastic method, as we
+showed ``run_simulation``.
+
+.. code:: ipython2
+
+ from ecell4 import *
+
+ with reaction_rules():
+ A + B == C | (0.01, 0.3)
+
+ m = get_model()
+
+ # ode.ODEWorld -> gillespie.GillespieWorld
+ w = gillespie.GillespieWorld(Real3(1, 1, 1))
+ w.add_molecules(Species('C'), 60)
+
+ # ode.ODESimulator -> gillespie.GillespieSimulator
+ sim = gillespie.GillespieSimulator(m, w)
+ obs = FixedIntervalNumberObserver(0.1, ('A', 'C'))
+ sim.run(10.0, obs)
+
+ viz.plot_number_observer(obs)
+
+
+
+.. image:: tutorial8_files/tutorial8_28_0.png
+
+
+``World`` and ``Simulator`` never change the ``Model`` itself, so you
+can switch several ``Simulator``\ s for 1 ``Model``.
diff --git a/readthedocs/tutorials/tutorial8_files/tutorial8_1_0.png b/readthedocs/tutorials/tutorial8_files/tutorial8_1_0.png
new file mode 100644
index 0000000..e709fe3
Binary files /dev/null and b/readthedocs/tutorials/tutorial8_files/tutorial8_1_0.png differ
diff --git a/readthedocs/tutorials/tutorial8_files/tutorial8_25_0.png b/readthedocs/tutorials/tutorial8_files/tutorial8_25_0.png
new file mode 100644
index 0000000..db70902
Binary files /dev/null and b/readthedocs/tutorials/tutorial8_files/tutorial8_25_0.png differ
diff --git a/readthedocs/tutorials/tutorial8_files/tutorial8_28_0.png b/readthedocs/tutorials/tutorial8_files/tutorial8_28_0.png
new file mode 100644
index 0000000..30579ab
Binary files /dev/null and b/readthedocs/tutorials/tutorial8_files/tutorial8_28_0.png differ
diff --git a/readthedocs/tutorials/tutorial9.rst b/readthedocs/tutorials/tutorial9.rst
new file mode 100644
index 0000000..1dbe2f0
--- /dev/null
+++ b/readthedocs/tutorials/tutorial9.rst
@@ -0,0 +1,353 @@
+
+9. Spatial Gillespie Method
+===========================
+
+9.1. Spaces in E-Cell4
+----------------------
+
+What the space in E-Cell4 looks like?
+
+.. code:: ipython2
+
+ from ecell4 import *
+
+ w1 = ode.ODEWorld(Real3(1, 1, 1))
+ w2 = gillespie.GillespieWorld(Real3(1, 1, 1))
+
+We created a cube size, ``1``, on a side for ``ODEWorld`` and
+``GillespieWorld``. In this case the volume only matters, that is
+
+.. code:: ipython2
+
+ w3 = ode.ODEWorld(Real3(2, 0.5, 1)) # is almost equivalent to 'w1'
+ w4 = gillespie.GillespieWorld(Real3(2, 2, 0.25)) # is almost equivalent to 'w2'
+
+This returns the same results. Because the volume is same as ``1``.
+
+This seems reasonable in homogeneous system, but the cell is NOT
+homogeneous. So we need to consider a space for molecular localization.
+
+You can use several types of space and simulation methods in E-Cell4. We
+show an example with spatial Gillespie method here.
+
+9.2. Spatial Gillespie Method
+-----------------------------
+
+In E-Cell4, the Spatial Gillespie method is included in ``meso`` module.
+Let's start with ``run_simulation`` like ``ode``.
+
+.. code:: ipython2
+
+ %matplotlib inline
+ import numpy
+ from ecell4 import *
+
+ with reaction_rules():
+ A + B == C | (0.01, 0.3)
+
+ y = run_simulation(numpy.linspace(0, 10, 100), {'C': 60}, solver='meso')
+
+
+
+.. image:: tutorial9_files/tutorial9_6_0.png
+
+
+At the steady state, the number of ``C`` is given as follows:
+
+.. math::
+
+
+ \frac{d\mathrm{C}}{dt}=0.01{\cdot}\frac{\mathrm{A}}{V}{\cdot}\frac{\mathrm{B}}{V}-0.3{\cdot}\frac{\mathrm{C}}{V}=0\\
+ 0.01\left(60-\mathrm{C}\right)^2=0.3\mathrm{C}\times V\\
+ \mathrm{C}=30.
+
+You will obtain almost the same result with ``ode`` or ``gillespie``
+(may take longer time than ``ode`` or ``gillespie``). This is not
+surprising because ``meso`` module is almost same with Gillespie unless
+you give additional spatial parameter.
+
+Next we will decompose ``run_simulation``.
+
+.. code:: ipython2
+
+ from ecell4 import *
+
+ with reaction_rules():
+ A + B == C | (0.01, 0.3)
+
+ m = get_model()
+
+ w = meso.MesoscopicWorld(Real3(1, 1, 1), Integer3(1, 1, 1)) # XXX: Point2
+ w.bind_to(m) # XXX: Point1
+ w.add_molecules(Species('C'), 60)
+
+ sim = meso.MesoscopicSimulator(w) # XXX: Point1
+ obs = FixedIntervalNumberObserver(0.1, ('A', 'B', 'C'))
+ sim.run(10, obs)
+
+ viz.plot_number_observer(obs)
+
+
+
+.. image:: tutorial9_files/tutorial9_9_0.png
+
+
+This is nothing out of the ordinary one except for ``MesoscopicWorld``
+and ``MesoscopicSimulator``, but you can see some new elements.
+
+First in ``w.bind_to(m)`` we asscociated a ``Model`` to the ``World``.
+In the basic exercises before, we did NOT do this. In spatial methods,
+``Species`` attributes are necessary. Do not forget to call this. After
+that, only the ``World`` is required to create a
+``MesoscopicSimulator``.
+
+Next, the important difference is the second argument for
+MesoscopicWorld, i.e. ``Integer3(1, 1, 1)``. ``ODEWorld`` and
+``GillespieWorld`` do NOT have this second argument. Before we explain
+this, let's change this argument and run the simulation again.
+
+.. code:: ipython2
+
+ from ecell4 import *
+
+ with reaction_rules():
+ A + B == C | (0.01, 0.3)
+
+ m = get_model()
+
+ w = meso.MesoscopicWorld(Real3(1, 1, 1), Integer3(4, 4, 4)) # XXX: Point2
+ w.bind_to(m) # XXX: Point1
+ w.add_molecules(Species('C'), 60)
+
+ sim = meso.MesoscopicSimulator(w) # XXX: Point1
+ obs = FixedIntervalNumberObserver(0.1, ('A', 'B', 'C'))
+ sim.run(10, obs)
+
+ viz.plot_number_observer(obs)
+
+
+
+.. image:: tutorial9_files/tutorial9_11_0.png
+
+
+| You must have the different plot. If you increase value in the
+ ``Integer3``, you will have more different one.
+| Actually this second argument means the number of spatical partitions.
+ ``meso`` is almost same with ``gillespie``, but ``meso`` divides the
+ space into cuboids (we call these cuboids subvolumes) and each
+ subvolume has different molecular concentration by contrast
+ ``gillespie`` has only one uniform closed space. So in the preceding
+ example, we divided ``1`` cube with sides ``1`` into ``64`` (4x4x4)
+ cubes with sides ``0.25``. We threw 60 ``C`` molecules into the
+ ``World``. Thus, each ``subvolume`` has 1 species at most.
+
+9.3. Defining Molecular Diffusion Coefficient
+---------------------------------------------
+
+Where the difference is coming from? This is because we do NOT consider
+molecular diffusion coefficient, although we got a space with ``meso``.
+To setup diffusion coefficient, use ``Species`` attribute ``'D'`` in the
+way described before (`2. How to Build a
+Model <2.%20How%20to%20Build%20a%20Model.ipynb>`__). As shown in `1.
+Brief Tour of E-Cell4
+Simulations <1.%20Brief%20Tour%20of%20E-Cell4%20Simulations.ipynb>`__,
+we use E-Cell4 special notation here.
+
+.. code:: ipython2
+
+ with species_attributes():
+ A | {'D': '1'}
+ B | {'D': '1'}
+ C | {'D': '1'}
+
+ # A | B | C | {'D': '1'} # means the same as above
+
+ get_model()
+
+
+
+
+.. parsed-literal::
+
+ <ecell4.core.NetworkModel at 0x7f8a1b69c430>
+
+
+
+You can setup diffusion coefficient with ``with species_attributes():``
+statement. Here we set all the diffusion coefficient as ``1``. Let's
+simulate this model again. Now you must have the almost same result with
+``gillespie`` even with large ``Integer3`` value (the simulation will
+takes much longer than ``gillespie``).
+
+How did the molecular diffusion work for the problem? Think about free
+diffusion (the diffusion coefficient of a Species is :math:`D`) in 3D
+space. The unit of diffusion coefficient is the square of length divided
+by time like :math:`\mathrm{\mu m}^2/s` or :math:`\mathrm{nm}^2/\mu s`.
+
+It is known that the average of the square of point distance from time
+:math:`0` to :math:`t` is equal to :math:`6Dt`. Conversely the average
+of the time scale in a space with length scale :math:`l` is about
+:math:`l^2/6D`.
+
+In the above case, the size of each subvolume is 0.25 and the diffusion
+coefficient is 1. Thus the time scale is about 0.01 sec. If the
+molecules of the ``Species`` ``A`` and ``B`` are in the same subvolume,
+it takes about 1.5 sec to react, so in most cases the diffusion is
+faster than the reaction and the molecules move to other subvolume even
+dissociated in the same subvolume. The smaller :math:`l`, the smaller
+subvolume's volume :math:`l^3`, so the reaction rate after dissociation
+is faster, and the time of the diffusion and the transition between the
+subvolume gets smaller too.
+
+9.4. Molecular localization
+---------------------------
+
+We have used ``add_molecules`` function to add molecules to ``World`` in
+the same manner as ``ode`` or ``gillespie``. Meanwhile in
+``MesoscopicWorld``, you can put in molecules according to the spatial
+presentation.
+
+.. code:: ipython2
+
+ from ecell4 import *
+
+ w = meso.MesoscopicWorld(Real3(1, 1, 1), Integer3(3, 3, 3))
+ w.add_molecules(Species('A'), 120)
+ w.add_molecules(Species('B'), 120, Integer3(1, 1, 1))
+
+In ``MesoscopicWorld``, you can set the subvolume and the molecule
+locations by giving the third argument ``Integer3`` to
+``add_molecules``. In the above example, the molecule type ``A`` spreads
+all over the space, but the molecule type ``B`` only locates in a
+subvolume at the center of the volume. To check this, use
+``num_molecules`` function with a coordinate.
+
+.. code:: ipython2
+
+ print(w.num_molecules(Species('B'))) # must print 120
+ print(w.num_molecules(Species('B'), Integer3(0, 0, 0))) # must print 0
+ print(w.num_molecules(Species('B'), Integer3(1, 1, 1))) # must print 120
+
+
+.. parsed-literal::
+
+ 120
+ 0
+ 120
+
+
+Furthermore, if you have IPython Notebook environment, you can visualize
+the molecular localization with ``ecell4.viz`` module.
+
+.. code:: ipython2
+
+ # viz.plot_world(w, radius=0.01)
+ viz.plot_world(w, interactive=False)
+
+
+
+.. image:: tutorial9_files/tutorial9_22_0.png
+
+
+``viz.plot_world`` function visualize the location of the molecules in
+IPython Notebook cell by giving the ``World``. You can set the molecule
+size with ``radius``. Now you can set the molecular localization to the
+``World``, next let's simulate this. In the above example, we set the
+diffusion coefficient 1 and the World side 1, so 10 seconds is enough to
+stir this. After the simulation, check the result with calling
+``viz.plot_world`` again.
+
+9.5. Molecular initial location and the reaction
+------------------------------------------------
+
+This is an extreme example to check how the molecular localization
+affects the reaction.
+
+.. code:: ipython2
+
+ %matplotlib inline
+ from ecell4 import *
+
+ with species_attributes():
+ A | B | C | {'D': '1'}
+
+ with reaction_rules():
+ A + B > C | 0.01
+
+ m = get_model()
+ w = meso.MesoscopicWorld(Real3(10, 1, 1), Integer3(10, 1, 1))
+ w.bind_to(m)
+
+This model consists only of a simple binding reaction. The ``World`` is
+a long x axis cuboid, and molecules are located off-center.
+
+.. code:: ipython2
+
+ w.add_molecules(Species('A'), 1200, Integer3(2, 0, 0))
+ w.add_molecules(Species('B'), 1200, Integer3(7, 0, 0))
+ # viz.plot_world(w, radius=0.025)
+ viz.plot_world(w, interactive=False)
+
+
+
+.. image:: tutorial9_files/tutorial9_27_0.png
+
+
+On a different note, there is a reason not to set ``Integer3(0, 0, 0)``
+or ``Integer3(9, 0, 0)``. In E-Cell4, basically we adopt periodic
+boundary condition for everything. So the forementioned two subvolumes
+are actually adjoining.
+
+After realizing the location expected, simulate it with
+``MesoscopicSimulator``.
+
+.. code:: ipython2
+
+ sim = meso.MesoscopicSimulator(w)
+ obs1 = NumberObserver(('A', 'B', 'C')) # XXX: saves the numbers after every steps
+ sim.run(5, obs1)
+ viz.plot_number_observer(obs1)
+
+
+
+.. image:: tutorial9_files/tutorial9_29_0.png
+
+
+.. code:: ipython2
+
+ # viz.plot_world(w, radius=0.025)
+ viz.plot_world(w, interactive=False)
+
+
+
+.. image:: tutorial9_files/tutorial9_30_0.png
+
+
+To check the effect of initial coordinates, we recommend that you locate
+the molecules homogeneously with ``meso`` or simulate with
+``gillespie``.
+
+.. code:: ipython2
+
+ w = meso.MesoscopicWorld(Real3(10, 1, 1), Integer3(10, 1, 1))
+ w.bind_to(m)
+ w.add_molecules(Species('A'), 1200)
+ w.add_molecules(Species('B'), 1200)
+
+ sim = meso.MesoscopicSimulator(w)
+ obs2 = NumberObserver(('A', 'B', 'C')) # XXX: saves the numbers after every steps
+ sim.run(5, obs2)
+ viz.plot_number_observer(obs1, "-", obs2, "--")
+
+
+
+.. image:: tutorial9_files/tutorial9_32_0.png
+
+
+The solid line is biased case, and the dash line is non-biased. The
+biased reaction is obviously slow. And you may notice that the shape of
+time-series is also different between the solid and dash lines. This is
+because it takes some time for the molecule ``A`` and ``B`` to collide
+due to the initial separation. Actually it takes
+:math:`4^2/2(D_\mathrm{A}+D_\mathrm{B})=4` seconds to move the initial
+distance between ``A`` and ``B`` (about 4).
diff --git a/readthedocs/tutorials/tutorial9_files/tutorial9_11_0.png b/readthedocs/tutorials/tutorial9_files/tutorial9_11_0.png
new file mode 100644
index 0000000..2fe1884
Binary files /dev/null and b/readthedocs/tutorials/tutorial9_files/tutorial9_11_0.png differ
diff --git a/readthedocs/tutorials/tutorial9_files/tutorial9_22_0.png b/readthedocs/tutorials/tutorial9_files/tutorial9_22_0.png
new file mode 100644
index 0000000..025f10c
Binary files /dev/null and b/readthedocs/tutorials/tutorial9_files/tutorial9_22_0.png differ
diff --git a/readthedocs/tutorials/tutorial9_files/tutorial9_27_0.png b/readthedocs/tutorials/tutorial9_files/tutorial9_27_0.png
new file mode 100644
index 0000000..a349a7c
Binary files /dev/null and b/readthedocs/tutorials/tutorial9_files/tutorial9_27_0.png differ
diff --git a/readthedocs/tutorials/tutorial9_files/tutorial9_29_0.png b/readthedocs/tutorials/tutorial9_files/tutorial9_29_0.png
new file mode 100644
index 0000000..fa31e23
Binary files /dev/null and b/readthedocs/tutorials/tutorial9_files/tutorial9_29_0.png differ
diff --git a/readthedocs/tutorials/tutorial9_files/tutorial9_30_0.png b/readthedocs/tutorials/tutorial9_files/tutorial9_30_0.png
new file mode 100644
index 0000000..22d422d
Binary files /dev/null and b/readthedocs/tutorials/tutorial9_files/tutorial9_30_0.png differ
diff --git a/readthedocs/tutorials/tutorial9_files/tutorial9_32_0.png b/readthedocs/tutorials/tutorial9_files/tutorial9_32_0.png
new file mode 100644
index 0000000..3175153
Binary files /dev/null and b/readthedocs/tutorials/tutorial9_files/tutorial9_32_0.png differ
diff --git a/readthedocs/tutorials/tutorial9_files/tutorial9_6_0.png b/readthedocs/tutorials/tutorial9_files/tutorial9_6_0.png
new file mode 100644
index 0000000..0cfc346
Binary files /dev/null and b/readthedocs/tutorials/tutorial9_files/tutorial9_6_0.png differ
diff --git a/readthedocs/tutorials/tutorial9_files/tutorial9_9_0.png b/readthedocs/tutorials/tutorial9_files/tutorial9_9_0.png
new file mode 100644
index 0000000..4150ad8
Binary files /dev/null and b/readthedocs/tutorials/tutorial9_files/tutorial9_9_0.png differ
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..b3efbb0
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,5 @@
+recommonmark
+numpydoc
+ipython
+pip>=8.1.2
+ecell>=4.1.0
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/ecell.git
More information about the debian-med-commit
mailing list