From 81d50a065f4f7874c078e57bffc4da1b66763ccb Mon Sep 17 00:00:00 2001 From: Josh C Date: Sun, 13 Nov 2022 21:08:29 -0500 Subject: [PATCH 01/30] Basic, untested commit of SConstruct files --- .../build/SConstruct | 20 +++++++++++++++++++ .../external/ANN/src/SConscript | 2 ++ .../src/SConscript | 2 ++ 3 files changed, 24 insertions(+) create mode 100644 spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/SConstruct create mode 100644 spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/external/ANN/src/SConscript create mode 100644 spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/SConstruct b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/SConstruct new file mode 100644 index 00000000..30fefeba --- /dev/null +++ b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/SConstruct @@ -0,0 +1,20 @@ +model = ARGUMENTS.get('MODEL') +core_dir = ARGUMENTS.get('CORE_DIR') +output_root = ARGUMENTS.get('OUTPUT') + +env = Environment( + tools=['default', 'mingw'], + CPPPATH=[ + Dir(f'{core_dir}/include'), + Dir(f'{core_dir}/external/ANN/include'), + ], +) + +VariantDir(output_root, f'{core_dir}/src', duplicate=False) +VariantDir(f'{output_root}/external', f'{core_dir}/external', duplicate=False) + +Export('env') +SConscript(f'{core_dir}/external/ANN/src/SConscript') +SConscript(f'{core_dir}/src/SConscript') + +env.Program('ssa_sdpd', model, LIBS=['spatialpy-core', 'ANN']) diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/external/ANN/src/SConscript b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/external/ANN/src/SConscript new file mode 100644 index 00000000..b880a0eb --- /dev/null +++ b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/external/ANN/src/SConscript @@ -0,0 +1,2 @@ +Import('env') +env.StaticLibrary('ANN') # TODO diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript new file mode 100644 index 00000000..7871a974 --- /dev/null +++ b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript @@ -0,0 +1,2 @@ +Import('env') +env.StaticLibrary('spatialpy-core') # TODO From f6f2ab4d13c1a9821e2cd8f3fdb45ae6268cf087 Mon Sep 17 00:00:00 2001 From: Josh C Date: Sun, 18 Dec 2022 14:42:28 -0500 Subject: [PATCH 02/30] Changed all .c files to .cpp and .h files to .hpp --- .../include/{count_cores.h => count_cores.hpp} | 0 .../ssa_sdpd-c-simulation-engine/include/{model.h => model.hpp} | 0 .../ssa_sdpd-c-simulation-engine/include/{output.h => output.hpp} | 0 .../include/{pthread_barrier.h => pthread_barrier.hpp} | 0 .../{read_lammps_input_file.h => read_lammps_input_file.hpp} | 0 .../src/{count_cores.c => count_cores.cpp} | 0 .../ssa_sdpd-c-simulation-engine/src/{model.c => model.cpp} | 0 .../ssa_sdpd-c-simulation-engine/src/{output.c => output.cpp} | 0 .../src/{pthread_barrier.c => pthread_barrier.cpp} | 0 .../src/{read_lammps_input_file.c => read_lammps_input_file.cpp} | 0 .../src/{simulate_threads.c => simulate_threads.cpp} | 0 11 files changed, 0 insertions(+), 0 deletions(-) rename spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/include/{count_cores.h => count_cores.hpp} (100%) rename spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/include/{model.h => model.hpp} (100%) rename spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/include/{output.h => output.hpp} (100%) rename spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/include/{pthread_barrier.h => pthread_barrier.hpp} (100%) rename spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/include/{read_lammps_input_file.h => read_lammps_input_file.hpp} (100%) rename spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/{count_cores.c => count_cores.cpp} (100%) rename spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/{model.c => model.cpp} (100%) rename spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/{output.c => output.cpp} (100%) rename spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/{pthread_barrier.c => pthread_barrier.cpp} (100%) rename spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/{read_lammps_input_file.c => read_lammps_input_file.cpp} (100%) rename spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/{simulate_threads.c => simulate_threads.cpp} (100%) diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/include/count_cores.h b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/include/count_cores.hpp similarity index 100% rename from spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/include/count_cores.h rename to spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/include/count_cores.hpp diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/include/model.h b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/include/model.hpp similarity index 100% rename from spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/include/model.h rename to spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/include/model.hpp diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/include/output.h b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/include/output.hpp similarity index 100% rename from spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/include/output.h rename to spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/include/output.hpp diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/include/pthread_barrier.h b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/include/pthread_barrier.hpp similarity index 100% rename from spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/include/pthread_barrier.h rename to spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/include/pthread_barrier.hpp diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/include/read_lammps_input_file.h b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/include/read_lammps_input_file.hpp similarity index 100% rename from spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/include/read_lammps_input_file.h rename to spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/include/read_lammps_input_file.hpp diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/count_cores.c b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/count_cores.cpp similarity index 100% rename from spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/count_cores.c rename to spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/count_cores.cpp diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/model.c b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/model.cpp similarity index 100% rename from spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/model.c rename to spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/model.cpp diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/output.c b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/output.cpp similarity index 100% rename from spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/output.c rename to spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/output.cpp diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/pthread_barrier.c b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/pthread_barrier.cpp similarity index 100% rename from spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/pthread_barrier.c rename to spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/pthread_barrier.cpp diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/read_lammps_input_file.c b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/read_lammps_input_file.cpp similarity index 100% rename from spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/read_lammps_input_file.c rename to spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/read_lammps_input_file.cpp diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/simulate_threads.c b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/simulate_threads.cpp similarity index 100% rename from spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/simulate_threads.c rename to spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/simulate_threads.cpp From 3d0ce89a0b759ea446d45f86a18ec20daa41b757 Mon Sep 17 00:00:00 2001 From: Josh C Date: Sun, 18 Dec 2022 15:35:59 -0500 Subject: [PATCH 03/30] Update files to reference .cpp files, fix Makefile --- .../c_base/ssa_sdpd-c-simulation-engine/build/Makefile | 9 +++++---- .../include/read_lammps_input_file.hpp | 2 +- .../propensity_file_template.cpp | 2 +- .../c_base/ssa_sdpd-c-simulation-engine/src/output.cpp | 2 +- .../ssa_sdpd-c-simulation-engine/src/pthread_barrier.cpp | 2 +- .../src/read_lammps_input_file.cpp | 8 ++++---- .../c_base/ssa_sdpd-c-simulation-engine/src/simulate.cpp | 6 +++--- .../ssa_sdpd-c-simulation-engine/src/simulate_rdme.cpp | 2 +- .../src/simulate_threads.cpp | 6 +++--- spatialpy/solvers/solver.py | 2 +- 10 files changed, 21 insertions(+), 20 deletions(-) diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/Makefile b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/Makefile index 0d61c901..f5c9d0d5 100644 --- a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/Makefile +++ b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/Makefile @@ -1,4 +1,5 @@ -CC = g++ +CC = gcc +C++ = g++ CFLAGS = -c -std=c++14 -Wall -O3 SIMFLAGS = -l. -std=c++14 -Wall -O3 LFLAGS = -pthread -lm @@ -22,14 +23,14 @@ CORE: $(OBJ) # make -d -f $(ROOTINC_ESC)/external/ANN/src/Makefile.spatialpy ROOTINC=$(ROOTINC_ESC) main.o: - $(CC) -c $(GPROFFLAG) $(GDB_FLAG) -o main.o $(MODEL) $(INCDIRPARAMS) $(CFLAGS) + $(C++) -c $(GPROFFLAG) $(GDB_FLAG) -o main.o $(MODEL) $(INCDIRPARAMS) $(CFLAGS) %.o: $(ROOT)/src/%.cpp - $(CC) -c $(GPROFFLAG) $(GDB_FLAG) -o $@ "$<" $(INCDIRPARAMS) $(CFLAGS) + $(C++) -c $(GPROFFLAG) $(GDB_FLAG) -o $@ "$<" $(INCDIRPARAMS) $(CFLAGS) %.o: $(ROOT)/src/%.c $(CC) -c $(GPROFFLAG) $(GDB_FLAG) -o $@ "$<" $(INCDIRPARAMS) $(CFLAGS) ssa_sdpd: main.o - $(CC) $(GPROFFLAG) $(GDB_FLAG) -o ssa_sdpd $(addprefix $(COREDIR)/,$(OBJ)) main.o $(addprefix $(COREDIR)/,$(ANNOBJECTS)) $(LFLAGS) + $(C++) $(GPROFFLAG) $(GDB_FLAG) -o ssa_sdpd $(addprefix $(COREDIR)/,$(OBJ)) main.o $(addprefix $(COREDIR)/,$(ANNOBJECTS)) $(LFLAGS) diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/include/read_lammps_input_file.hpp b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/include/read_lammps_input_file.hpp index 18581750..cfd9001e 100644 --- a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/include/read_lammps_input_file.hpp +++ b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/include/read_lammps_input_file.hpp @@ -28,6 +28,6 @@ See the file LICENSE.txt for details. #include "particle_system.hpp" -void read_lammps_input_file(const char*filename, ParticleSystem*system); +void read_lammps_input_file(const char*filename, Spatialpy::ParticleSystem*system); #endif //read_lammps_input_file_h diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/propensity_file_template.cpp b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/propensity_file_template.cpp index d523f72d..8b1e80e7 100644 --- a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/propensity_file_template.cpp +++ b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/propensity_file_template.cpp @@ -26,7 +26,7 @@ along with this program. If not, see . #include #include -#include "count_cores.h" +#include "count_cores.hpp" #include "particle_system.hpp" #include "propensities.hpp" #include "simulate.hpp" diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/output.cpp b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/output.cpp index 023f64ae..a37b75e1 100644 --- a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/output.cpp +++ b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/output.cpp @@ -27,7 +27,7 @@ See the file LICENSE.txt for details. #include #include -#include "output.h" +#include "output.hpp" #include "particle_system.hpp" namespace Spatialpy{ diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/pthread_barrier.cpp b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/pthread_barrier.cpp index b3573437..254ee855 100644 --- a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/pthread_barrier.cpp +++ b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/pthread_barrier.cpp @@ -25,7 +25,7 @@ along with this program. If not, see . #include -#include "pthread_barrier.h" +#include "pthread_barrier.hpp" #ifdef __APPLE__ diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/read_lammps_input_file.cpp b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/read_lammps_input_file.cpp index 638e77c1..6a4ed8ee 100644 --- a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/read_lammps_input_file.cpp +++ b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/read_lammps_input_file.cpp @@ -26,10 +26,10 @@ See the file LICENSE.txt for details. #include #include -#include "read_lammps_input_file.h" +#include "read_lammps_input_file.hpp" -void read_lammps_input_file(const char*filename, ParticleSystem*system){ +void read_lammps_input_file(const char*filename, Spatialpy::ParticleSystem*system){ char* s; FILE* fp = fopen(filename, "r"); if(fp == NULL){ @@ -73,7 +73,7 @@ void read_lammps_input_file(const char*filename, ParticleSystem*system){ s=fgets(buffer,1024,fp); //printf("Is this 'Masses': '%s'\n",buffer); s=fgets(buffer,1024,fp); - double *masses_of_types = malloc(sizeof(double)*ntypes); + double *masses_of_types = (double*) std::malloc(sizeof(double)*ntypes); int i,j; double tmp_d; for(i=0;i. #include #include -#include "model.h" -#include "output.h" +#include "model.hpp" +#include "output.hpp" #include "particle_system.hpp" -#include "pthread_barrier.h" +#include "pthread_barrier.hpp" #include "simulate.hpp" #include "simulate_rdme.hpp" diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/simulate_rdme.cpp b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/simulate_rdme.cpp index 1f88ae1d..351b97b3 100644 --- a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/simulate_rdme.cpp +++ b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/simulate_rdme.cpp @@ -28,7 +28,7 @@ along with this program. If not, see . #include //#include "binheap.h" -#include "output.h" +#include "output.hpp" #include "particle_system.hpp" #include "propensities.hpp" #include "simulate_rdme.hpp" diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/simulate_threads.cpp b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/simulate_threads.cpp index de60e34b..0c6227ca 100644 --- a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/simulate_threads.cpp +++ b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/simulate_threads.cpp @@ -32,12 +32,12 @@ See the file LICENSE.txt for details. // Include ANN KD Tree #include "ANN/ANN.h" -#include "model.h" -#include "output.h" +#include "model.hpp" +#include "output.hpp" #include "particle_system.hpp" #include "simulate.hpp" #include "simulate_rdme.hpp" -#include "pthread_barrier.h" +#include "pthread_barrier.hpp" namespace Spatialpy{ struct arg { diff --git a/spatialpy/solvers/solver.py b/spatialpy/solvers/solver.py index 0b4cc337..6936f86e 100644 --- a/spatialpy/solvers/solver.py +++ b/spatialpy/solvers/solver.py @@ -460,7 +460,7 @@ def compile(self, debug=False, profile=False): # Match except word characters \w = ([a-zA-Z0-9_]) and \_ = _ replace with '' propfilename = re.sub(r'[^\w\_]', '', self.model_name) self.propfilename = f"{propfilename}_generated_model" - self.prop_file_name = os.path.join(self.build_dir, f'{self.propfilename}.c') + self.prop_file_name = os.path.join(self.build_dir, f'{self.propfilename}.cpp') if self.debug_level >= 1: print(f"Compiling Solver. Build dir: {self.build_dir}") From f8c12ecc2c9b3ff367bb4f4c77b3015e0e8fce41 Mon Sep 17 00:00:00 2001 From: BryanRumsey <44621966+BryanRumsey@users.noreply.github.com> Date: Tue, 3 Jan 2023 10:26:04 -0500 Subject: [PATCH 04/30] Updated version to v1.1.3 --- spatialpy/__version__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spatialpy/__version__.py b/spatialpy/__version__.py index 849897f6..8bcd3576 100644 --- a/spatialpy/__version__.py +++ b/spatialpy/__version__.py @@ -21,7 +21,7 @@ # @website https://github.com/StochSS/SpatialPy # ============================================================================= -__version__ = '1.1.2' +__version__ = '1.1.3' __title__ = 'SpatialPy' __description__ = 'Python Interface for Spatial Stochastic Biochemical Simulations' __url__ = 'https://spatialpy.github.io/SpatialPy/' From 098e14824a486a6117e8274e8fcaca1b62cecdbd Mon Sep 17 00:00:00 2001 From: Bryan Rumsey Date: Tue, 3 Jan 2023 10:45:22 -0500 Subject: [PATCH 05/30] Fixed auto update docs github action. --- .github/workflows/update-docs.yml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/workflows/update-docs.yml b/.github/workflows/update-docs.yml index 14ace447..600d9815 100644 --- a/.github/workflows/update-docs.yml +++ b/.github/workflows/update-docs.yml @@ -2,7 +2,7 @@ name: Publish SpatialPy Docs on: push: - branches: [main] + branches: [develop] jobs: publish: @@ -12,7 +12,7 @@ jobs: - name: Initialize environment uses: actions/checkout@v2 with: - ref: main + ref: develop fetch-depth: 0 - name: Install Python @@ -27,10 +27,15 @@ jobs: python3 -m pip install numpy python3 -m pip install -r requirements.txt + - name: Refresh Repository + working-directory: . + run: | + git pull origin develop + - name: Update the Docs working-directory: docs run: | - make build-docs + make html - name: Commit Changes working-directory: docs @@ -43,4 +48,4 @@ jobs: uses: ad-m/github-push-action@master with: github_token: ${{ secrets.GITHUB_TOKEN }} - branch: main + branch: develop From d726f35387b76221b3ff438ed10e08713c69d446 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 4 Jan 2023 18:49:57 +0000 Subject: [PATCH 06/30] Latest docs build. --- docs/build/html/.buildinfo | 2 +- docs/build/html/.doctrees/environment.pickle | Bin 748076 -> 748960 bytes docs/build/html/.doctrees/index.doctree | Bin 14685 -> 14685 bytes docs/build/html/_modules/index.html | 2 +- .../spatialpy/core/boundarycondition.html | 46 ++-- .../html/_modules/spatialpy/core/cleanup.html | 22 +- .../_modules/spatialpy/core/datafunction.html | 18 +- .../html/_modules/spatialpy/core/domain.html | 155 ++++++------ .../_modules/spatialpy/core/geometry.html | 40 ++-- .../spatialpy/core/initialcondition.html | 56 ++--- .../html/_modules/spatialpy/core/lattice.html | 140 ++++++----- .../html/_modules/spatialpy/core/model.html | 220 +++++++++--------- .../_modules/spatialpy/core/parameter.html | 24 +- .../_modules/spatialpy/core/reaction.html | 98 ++++---- .../html/_modules/spatialpy/core/result.html | 66 +++--- .../spatialpy/core/spatialpyerror.html | 46 ++-- .../html/_modules/spatialpy/core/species.html | 30 +-- .../_modules/spatialpy/core/timespan.html | 34 +-- .../spatialpy/core/transformation.html | 70 +++--- .../spatialpy/core/visualization.html | 26 ++- .../_modules/spatialpy/core/vtkreader.html | 34 +-- .../spatialpy/solvers/build_expression.html | 138 +++++------ .../_modules/spatialpy/solvers/solver.html | 215 +++++++++-------- .../spatialpy/stochss/stochss_export.html | 16 +- .../html/_static/documentation_options.js | 2 +- docs/build/html/classes/spatialpy.core.html | 2 +- docs/build/html/classes/spatialpy.html | 8 +- .../build/html/classes/spatialpy.solvers.html | 2 +- .../build/html/classes/spatialpy.stochss.html | 2 +- docs/build/html/genindex.html | 2 +- docs/build/html/index.html | 4 +- docs/build/html/objects.inv | Bin 3153 -> 3153 bytes docs/build/html/py-modindex.html | 2 +- docs/build/html/search.html | 2 +- docs/build/html/searchindex.js | 2 +- 35 files changed, 801 insertions(+), 725 deletions(-) diff --git a/docs/build/html/.buildinfo b/docs/build/html/.buildinfo index 09dbd4ca..63c4d090 100644 --- a/docs/build/html/.buildinfo +++ b/docs/build/html/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: aa9a9a3c9380df45ffa4c7a40b7ba182 +config: e5e88807fc7e6c4271ba5004764bfed7 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/build/html/.doctrees/environment.pickle b/docs/build/html/.doctrees/environment.pickle index 88404175e5ebaf36c937b3e48fa96aca01838df8..3ca15241aa0748bbf3c1170138f3ac636dc6d6fd 100644 GIT binary patch literal 748960 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%0A)I~f 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 z

M^aqBD1p=hwZLxlp}U=jdD;PCb3eAS3Zyo@b5awNRX=!om2pEoDtvur0($)Gf& z*g~8$?&E7n1mu%!$&mx%EhU~lUK`H-(VUIP*#4oiK`A93<1iM#*0 zDJ7_L*U(tK)OdKZ0z`CYc=B|@@B|r%@mR`Nkch`3w&ck1Sn9!}IV#bx*kz8zMQqjw$gM-tqYcw1-r=iAn4V4CTtcDK_j$IgrGG8wu z3`Mr&$YEIQfx&+S@>X*e{+;a^Dhud@P#+coM<4&jSBr?k>)4VbM`4{pVbH1)mrNcu z=i=*ZH&MAj&&X@#qK%C>UwoCXBN37>u_Z?iiM@~4aiFJ5*Qc|dGUww-wuh*EwB5(+ zZyrYDZ+!KLX#5{ra^z?n>&+jiOV{x@ahdTrWFv^^&Nu`;#LzE&U=uMS$MIDpBC?Jx zIdVkoIZx;EYIf{88qYRI<8rolsF|bfoF_I7Be9RK8WD+0*^(ni!rt`n_|0kCbs}yt zC*nnH=TM1gyXhZUhJm<|uNe`D>)Dbc2f`knI&SkHl6=SQC$l9-4n#}OAl&BPGYp#JkYc-rio=LKLyKJ)h6G#h{4C$k|W2UrDgOl43C*p@LRT9s1%IYG6pVg{fe&>5rUty zB}Wc{oeRoV#VQY3sdxeI7_N9u5n8drc;K)UM0981&~}wmGs^b$Llef0%T~ny7V*_0 zf-s*gIdTx}(}&76{V<7(%;UeE?G9=dXnXn)*n&&I1$^ioN!uORffiywUdPvv2*|71k|PIXjauY(-DkI7zIc4y9FMQET|~tLJzTYQg*(7L z49A!F`Vryy54PmU;jm{ODlp)zW}v^US|xoQ^GS0g{>F9;6^XVp4<4&92>-{|iU`90 zvL#0jg1zHf=7vNro=n3DMM*fI$UEZLxYBsUaU6)~&WNM!E(agOY@fTMj&*$1h(PqP zB}Wd#Tvaw?RwyO(p~vOsAnarNgqjrAx4R?5F$m{_OZf^B!+$Yba^&H+^Fgfy;|@!; z3Z+ES(uN!_GRNRXwr{8yw7mmEHw@!&Jzp^*4%f0J2jCFmxN-Nya&^3N2odgy<-b)Y zG=C1JY&PE1xW3Vw&B9;PN3sXuj{}X4pTj)YI$SE2t8x3GG8&AZGKcZw?8s1I49H1d zgD`~m@)aUN_#w7r1fdFl2!dP))iLcMM7R)k>)8A?+Ohe~akbyk`F~=wM+K)R;OP9O zIvAQigbl5G7W40` zl2I~0C9DWHnJdhUlKC`qEmZ0<(xO`>WwlmPoHc&GigFWpg7-)PYDHNSP*EIhFt|5_ zjfz`Pu9G78DX8-WW$Ir0%w11Cc?;X!_7&tlk>yQnFHs}5R<9>csA5f9P&Ii2UmIew zd2Rbp_69Zw9WN(~9rNXZv!!w|RZHr-Yrke5*st(iNh~O6qcsX_t7Z7Ye2}jhG00zF zOGXvt0V!hiXjtN*L3%QQHd{XdO7YSvy3QYGyM}t5qZv$p930ay4}amSM&#j7Y{`-H zu)yV^P$*Vm9!u*rdsiE?umMDLXAFV%&-k!ln}sG z==nUCnS-#G?H6iNK>MsQ2u-^%377EoB9gG1Eje-$7Bxw*?}LV&HCj%1p*adKU^|A2 z0-DjrD7c1U7M{;njL5<;TXN(q^fp;=cMd=YS+WY1Om#TuNnYn0NAZB@**Cw&ci(S>_T0+a(gJ_~M7X{lFZNN7&AxB7)8_#2G~FnsAN7OnjHG z9Fd7{u_Z^�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�)u*OgOkRoGN?uu?8gs`VAD{ZA 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

^qq=0d>3+d8k0u59W+5q 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 BM)m*z literal 748076 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

OMm58OZ*LGlalc%}7+)vx_Kzy8WA$O+-X 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 - Overview: module code — SpatialPy 1.1.2 documentation + Overview: module code — SpatialPy 1.1.3 documentation diff --git a/docs/build/html/_modules/spatialpy/core/boundarycondition.html b/docs/build/html/_modules/spatialpy/core/boundarycondition.html index e7a2d18e..c5979198 100644 --- a/docs/build/html/_modules/spatialpy/core/boundarycondition.html +++ b/docs/build/html/_modules/spatialpy/core/boundarycondition.html @@ -5,14 +5,16 @@ - spatialpy.core.boundarycondition — SpatialPy 1.1.0 documentation + spatialpy.core.boundarycondition — SpatialPy 1.1.3 documentation + + @@ -73,7 +75,7 @@

Quick search

- + @@ -107,11 +109,11 @@

Source code for spatialpy.core.boundarycondition

# You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. -from spatialpy.core.spatialpyerror import BoundaryConditionError +from spatialpy.core.spatialpyerror import BoundaryConditionError
[docs]class BoundaryCondition(): - """ + """ Set spatial regions of the domain where a property of particles are held constant (updated each simulation step) @@ -161,10 +163,10 @@

Source code for spatialpy.core.boundarycondition

:type model: spatialpy.core.model.Model """ - def __init__(self, xmin=None, xmax=None, ymin=None, ymax=None, zmin=None, zmax=None, + def __init__(self, xmin=None, xmax=None, ymin=None, ymax=None, zmin=None, zmax=None, type_id=None, deterministic=True, target=None, value=None, model=None): - from spatialpy.core.model import Model # pylint: disable=import-outside-toplevel - from spatialpy.core.species import Species # pylint: disable=import-outside-toplevel + from spatialpy.core.model import Model # pylint: disable=import-outside-toplevel + from spatialpy.core.species import Species # pylint: disable=import-outside-toplevel if xmin is not None and not isinstance(xmin, (int, float)): raise BoundaryConditionError("X-min must be of type int or float.") if xmax is not None and not isinstance(xmax, (int, float)): @@ -182,7 +184,7 @@

Source code for spatialpy.core.boundarycondition

elif type_id is not None: if "UnAssigned" in type_id: raise BoundaryConditionError("'UnAssigned' is not a valid type_id") - type_id = f"type_{type_id}" + type_id = f"type_{type_id}" if target is None or not (isinstance(target, (str, Species)) or type(target).__name__ == 'Species' or property in ('nu', 'rho', 'v')): raise BoundaryConditionError("Target must be of type string or SpatialPy.Species") @@ -212,7 +214,7 @@

Source code for spatialpy.core.boundarycondition

[docs] def expression(self): - """ + """ Creates evaluable string expression of boundary condition. :returns: A string representation of the boundary condition. @@ -222,26 +224,26 @@

Source code for spatialpy.core.boundarycondition

raise BoundaryConditionError("Must set value") cond=[] if self.xmin is not None: - cond.append(f"(me->x[0] >= {self.xmin})") + cond.append(f"(me->x[0] >= {self.xmin})") if self.xmax is not None: - cond.append(f"(me->x[0] <= {self.xmax})") + cond.append(f"(me->x[0] <= {self.xmax})") if self.ymin is not None: - cond.append(f"(me->x[1] >= {self.ymin})") + cond.append(f"(me->x[1] >= {self.ymin})") if self.ymax is not None: - cond.append(f"(me->x[1] <= {self.ymax})") + cond.append(f"(me->x[1] <= {self.ymax})") if self.zmin is not None: - cond.append(f"(me->x[2] >= {self.zmin})") + cond.append(f"(me->x[2] >= {self.zmin})") if self.zmax is not None: - cond.append(f"(me->x[2] <= {self.zmax})") + cond.append(f"(me->x[2] <= {self.zmax})") if self.type_id is not None: - cond.append(f"(me->type == {self.type_id})") + cond.append(f"(me->type == {self.type_id})") if len(cond)==0: raise BoundaryConditionError('need at least one condition on the BoundaryCondition') bcstr = "if(" + '&&'.join(cond) + "){" if self.target in self.model.listOfSpecies: if self.deterministic: s_ndx = self.model.species_map[self.model.listOfSpecies[self.target]] - bcstr += f"me->C[{s_ndx}] = {self.value};" + bcstr += f"me->C[{s_ndx}] = {self.value};" else: raise BoundaryConditionError( "BoundaryConditions don't work for stochastic species yet." @@ -249,13 +251,13 @@

Source code for spatialpy.core.boundarycondition

elif self.target is not None: if self.target == 'v': for i in range(3): - bcstr+= f"me->v[{i}]={self.value[i]};" + bcstr+= f"me->v[{i}]={self.value[i]};" elif self.target == 'nu': - bcstr += f"me->nu={self.value};" + bcstr += f"me->nu={self.value};" elif self.target == 'rho': - bcstr += f"me->rho={self.value};" + bcstr += f"me->rho={self.value};" else: - raise BoundaryConditionError(f"Unable handle boundary condition for property '{self.target}'") + raise BoundaryConditionError(f"Unable handle boundary condition for property '{self.target}'") bcstr+= "}" return bcstr
@@ -277,7 +279,7 @@

Source code for spatialpy.core.boundarycondition

©Copyright (C) 2019-2022. | - Powered by Sphinx 4.4.0 + Powered by Sphinx 5.3.0 & Alabaster 0.7.12
diff --git a/docs/build/html/_modules/spatialpy/core/cleanup.html b/docs/build/html/_modules/spatialpy/core/cleanup.html index fad73a73..cc7da355 100644 --- a/docs/build/html/_modules/spatialpy/core/cleanup.html +++ b/docs/build/html/_modules/spatialpy/core/cleanup.html @@ -5,14 +5,16 @@ - spatialpy.core.cleanup — SpatialPy 1.1.0 documentation + spatialpy.core.cleanup — SpatialPy 1.1.3 documentation + + @@ -73,7 +75,7 @@

Quick search

- + @@ -112,7 +114,7 @@

Source code for spatialpy.core.cleanup

 import tempfile
 
 
[docs]def cleanup_tempfiles(): - ''' + ''' Cleanup all tempfiles in spatialpy core, build, and results. ''' cleanup_core_files() @@ -124,10 +126,10 @@

Source code for spatialpy.core.cleanup

             cleanup_result_files(result_dir=os.path.join(tempdir, file_obj))
[docs]def cleanup_core_files(): - ''' + ''' Cleanup all tempfiles in spatialpy core. ''' - from spatialpy.core import log # pylint: disable=import-outside-toplevel + from spatialpy.core import log # pylint: disable=import-outside-toplevel tempdir = tempfile.gettempdir() core_dir = os.path.join(tempdir, "spatialpy_core") @@ -136,13 +138,13 @@

Source code for spatialpy.core.cleanup

     log.info("Spatialpy core directory was removed")
[docs]def cleanup_build_files(build_dir=None): - ''' + ''' Cleanup all spatialpy_build directories. :param build_dir: Path to the build directory to be removed. (optional) :type build_dir: string ''' - from spatialpy.core import log # pylint: disable=import-outside-toplevel + from spatialpy.core import log # pylint: disable=import-outside-toplevel if build_dir is not None: shutil.rmtree(build_dir) @@ -158,13 +160,13 @@

Source code for spatialpy.core.cleanup

         log.info("{} build directories were removed", count)
[docs]def cleanup_result_files(result_dir=None): - ''' + ''' Cleanup all spatialpy_result directories. :param result_dir: Path to the result directory to be removed. (optional) :type result_dir: string ''' - from spatialpy.core import log # pylint: disable=import-outside-toplevel + from spatialpy.core import log # pylint: disable=import-outside-toplevel if result_dir is not None: shutil.rmtree(result_dir) @@ -197,7 +199,7 @@

Source code for spatialpy.core.cleanup

       ©Copyright (C) 2019-2022.
       
       |
-      Powered by Sphinx 4.4.0
+      Powered by Sphinx 5.3.0
       & Alabaster 0.7.12
       
     
diff --git a/docs/build/html/_modules/spatialpy/core/datafunction.html b/docs/build/html/_modules/spatialpy/core/datafunction.html index b9a186c6..bd19185f 100644 --- a/docs/build/html/_modules/spatialpy/core/datafunction.html +++ b/docs/build/html/_modules/spatialpy/core/datafunction.html @@ -5,14 +5,16 @@ - spatialpy.core.datafunction — SpatialPy 1.1.0 documentation + spatialpy.core.datafunction — SpatialPy 1.1.3 documentation + + @@ -73,7 +75,7 @@

Quick search

- + @@ -106,10 +108,10 @@

Source code for spatialpy.core.datafunction

 
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
-from spatialpy.core.spatialpyerror import DataFunctionError
+from spatialpy.core.spatialpyerror import DataFunctionError
 
 
[docs]class DataFunction(): - """ + """ Abstract class used to constuct the data function. :param name: Name of the Data Function. @@ -118,14 +120,14 @@

Source code for spatialpy.core.datafunction

     :raises DataFunctionError: If a name is not provided.
     """
 
-    def __init__(self, name=None):
+    def __init__(self, name=None):
         if name is not None:
             self.name = name
         if self.name is None:
             raise DataFunctionError("DataFunction must have a 'name'")
 
 
[docs] def map(self, point): - """ + """ This method must be overridden by the DataFunction subclass. NOTE: The spatial location is evaulated at t=0 and is not \ @@ -137,7 +139,7 @@

Source code for spatialpy.core.datafunction

         :returns: Value of function at this spatial location.
         :rtype: float
         """
-        raise DataFunctionError(f"{self.name}: DataFunction.map() must be implemented.")
+ raise DataFunctionError(f"{self.name}: DataFunction.map() must be implemented.")
@@ -157,7 +159,7 @@

Source code for spatialpy.core.datafunction

       ©Copyright (C) 2019-2022.
       
       |
-      Powered by Sphinx 4.4.0
+      Powered by Sphinx 5.3.0
       & Alabaster 0.7.12
       
     
diff --git a/docs/build/html/_modules/spatialpy/core/domain.html b/docs/build/html/_modules/spatialpy/core/domain.html index e44c825f..8de35b83 100644 --- a/docs/build/html/_modules/spatialpy/core/domain.html +++ b/docs/build/html/_modules/spatialpy/core/domain.html @@ -5,14 +5,16 @@ - spatialpy.core.domain — SpatialPy 1.1.0 documentation + spatialpy.core.domain — SpatialPy 1.1.3 documentation + + @@ -73,7 +75,7 @@

Quick search

- + @@ -109,26 +111,26 @@

Source code for spatialpy.core.domain

 import copy
 import string
 
-from itertools import combinations
-from collections import OrderedDict
+from itertools import combinations
+from collections import OrderedDict
 
 import numpy
-from plotly.offline import init_notebook_mode, iplot
-from scipy.spatial import KDTree
+from plotly.offline import init_notebook_mode, iplot
+from scipy.spatial import KDTree
 
-from spatialpy.core.geometry import (
+from spatialpy.core.geometry import (
     CombinatoryGeometry, Geometry, GeometryAll
 )
-from spatialpy.core.lattice import (
+from spatialpy.core.lattice import (
     Lattice, CartesianLattice, SphericalLattice, CylindricalLattice,
     XMLMeshLattice, MeshIOLattice, StochSSLattice
 )
-from spatialpy.core.transformation import Transformation
-from spatialpy.core.visualization import Visualization
-from spatialpy.core.spatialpyerror import DomainError
+from spatialpy.core.transformation import Transformation
+from spatialpy.core.visualization import Visualization
+from spatialpy.core.spatialpyerror import DomainError
 
 
[docs]class Domain(): - """ + """ Domain class for SpatialPy. A domain defines points and attributes of a regional space for simulation. :param numpoints: Total number of spatial domain points @@ -155,7 +157,7 @@

Source code for spatialpy.core.domain

     :param gravity: Acceleration of gravity for the system.
     :type gravity: float[3]
     """
-    def __init__(self, numpoints, xlim, ylim, zlim, rho0=1.0, c0=10, P0=None, gravity=None, actions=None):
+    def __init__(self, numpoints, xlim, ylim, zlim, rho0=1.0, c0=10, P0=None, gravity=None, actions=None):
         if actions is None:
             actions = []
 
@@ -192,12 +194,12 @@ 

Source code for spatialpy.core.domain

         self.ylim = ylim
         self.zlim = zlim
 
-    def __str__(self):
+    def __str__(self):
         pad = "    "
-        domain_strs = ["Domain Attributes", "", f"{pad}On Boundary: {self.on_boundary}",
-                     f"{pad}Domain Size: {self.domain_size}", f"{pad}RHO_0: {self.rho0}", f"{pad}C_0: {self.c0}",
-                     f"{pad}P_0: {self.P0}", f"{pad}Gravity: {self.gravity}", f"{pad}X Limit: {self.xlim}",
-                     f"{pad}Y Limit: {self.ylim}", f"{pad}Z Limit: {self.zlim}"]
+        domain_strs = ["Domain Attributes", "", f"{pad}On Boundary: {self.on_boundary}",
+                     f"{pad}Domain Size: {self.domain_size}", f"{pad}RHO_0: {self.rho0}", f"{pad}C_0: {self.c0}",
+                     f"{pad}P_0: {self.P0}", f"{pad}Gravity: {self.gravity}", f"{pad}X Limit: {self.xlim}",
+                     f"{pad}Y Limit: {self.ylim}", f"{pad}Z Limit: {self.zlim}"]
 
         print("\n".join(domain_strs))
 
@@ -222,7 +224,7 @@ 

Source code for spatialpy.core.domain

                 self.c[ndx] = float(c)
             self.fixed[ndx] = bool(fixed)
         except ValueError as err:
-            raise DomainError(f"Failed to set all properties. Reaseon given: {err}") from err
+            raise DomainError(f"Failed to set all properties. Reaseon given: {err}") from err
 
     def _ipython_display_(self, use_matplotlib=False):
         self.plot_types(width="auto", height="auto", use_matplotlib=use_matplotlib)
@@ -240,7 +242,7 @@ 

Source code for spatialpy.core.domain

 
 
[docs] def add_fill_action(self, lattice=None, geometry=None, cartesian=None, spherical=None, cylindrical=None, enable=True, apply_action=False, **props): - r""" + r""" Create an action that can add particles to the domain. :param lattice: Lattice classed used when applying fill actions. @@ -294,7 +296,7 @@

Source code for spatialpy.core.domain

         return action
[docs] def add_point(self, point, vol=1, mass=1, type_id="UnAssigned", nu=0, fixed=False, rho=None, c=10): - """ + """ Add a single point particle to the domain space. :param point: Spatial coordinate vertices of point to be added @@ -328,10 +330,11 @@

Source code for spatialpy.core.domain

 
         if isinstance(type_id, int) and type_id <= 0:
             raise DomainError("Type_id must be a non-zero positive integer or a string.")
-        for char in type_id:
-            if (char in string.punctuation and char != "_") or char == " ":
-                raise DomainError(f"Type_id cannot contain '{char}'")
-        type_id = f"type_{type_id}"
+        if isinstance(type_id, str):
+            for char in type_id:
+                if (char in string.punctuation and char != "_") or char == " ":
+                    raise DomainError(f"Type_id cannot contain '{char}'")
+        type_id = f"type_{type_id}"
 
         if rho is None:
             rho = mass / vol
@@ -347,7 +350,7 @@ 

Source code for spatialpy.core.domain

         self.vertices = numpy.append(self.vertices, [point], axis=0)
[docs] def add_remove_action(self, geometry=None, enable=True, apply_action=False): - """ + """ Create an action that can remove particles from the domain. :param geometry: Geometry classed used when applying set actions. Defaults to spatialpy.GeometryAll. @@ -372,7 +375,7 @@

Source code for spatialpy.core.domain

         return action
[docs] def add_set_action(self, geometry=None, enable=True, apply_action=False, **props): - r""" + r""" Create an action that can set particle properties for particles in the domain. :param geometry: Geometry classed used when applying set actions. Defaults to spatialpy.GeometryAll. @@ -404,7 +407,7 @@

Source code for spatialpy.core.domain

         return action
[docs] def apply_actions(self, start=0, end=None, preserve_actions=False): - """ + """ Apply domain actions in order from start to end. :param start: Starting index for actions (inclusive). @@ -433,7 +436,7 @@

Source code for spatialpy.core.domain

                 elif action['type'] == "remove":
                     self.apply_remove_action(action)
                 else:
-                    raise DomainError(f"Action of type {action['type']} is not currently supported.")
+                    raise DomainError(f"Action of type {action['type']} is not currently supported.")
 
             if preserve_actions or not action['enable']:
                 start += 1
@@ -443,7 +446,7 @@ 

Source code for spatialpy.core.domain

         return p_count
[docs] def apply_fill_action(self, action): - """ + """ Add particles within a region defined by the actions lattice and geometry to the domain. Particles will have attributes defined in the actions props. @@ -463,7 +466,7 @@

Source code for spatialpy.core.domain

         return action['lattice'].apply(self, action['geometry'], **action['props'])
[docs] def apply_remove_action(self, action): - """ + """ Remove particles within a domain region defined by the actions geometry. :param action: Remove action containing a geometry. @@ -480,8 +483,9 @@

Source code for spatialpy.core.domain

 
         # remove the particles that fall within the defined region
         on_boundary = self.find_boundary_points(update=True)
-        for v_ndx in range(self.get_num_voxels()):
-            if action['geometry'].inside(self.coordinates()[v_ndx, :], on_boundary[v_ndx]):
+        for v_ndx, vertex in enumerate(self.vertices):
+            if action['geometry'].inside(vertex, on_boundary[v_ndx]):
+                self.vertices = numpy.delete(self.vertices, v_ndx, 0)
                 self.type_id = numpy.delete(self.type_id, v_ndx, 0)
                 self.vol = numpy.delete(self.vol, v_ndx)
                 self.mass = numpy.delete(self.mass, v_ndx)
@@ -492,7 +496,7 @@ 

Source code for spatialpy.core.domain

                 self.on_boundary = numpy.delete(self.on_boundary, v_ndx)
[docs] def apply_set_action(self, action): - """ + """ Set properties of particles within a domain region defined by the actions geometry. Particles will have attributes defined in the actions props. @@ -513,10 +517,11 @@

Source code for spatialpy.core.domain

         if "type_id" in action['props']:
             if isinstance(action['props']['type_id'], int) and action['props']['type_id'] <= 0:
                 raise DomainError("Type_id must be a non-zero positive integer or a string.")
-            for char in action['props']['type_id']:
-                if (char in string.punctuation and char != "_") or char == " ":
-                    raise DomainError(f"Type_id cannot contain '{char}'")
-            action['props']['type_id'] = f"type_{action['props']['type_id']}"
+            if isinstance(action['props']['type_id'], str):
+                for char in action['props']['type_id']:
+                    if (char in string.punctuation and char != "_") or char == " ":
+                        raise DomainError(f"Type_id cannot contain '{char}'")
+            action['props']['type_id'] = f"type_{action['props']['type_id']}"
 
         # apply the properties to all points that fall within the defined region
         on_boundary = self.find_boundary_points(update=True)
@@ -525,7 +530,7 @@ 

Source code for spatialpy.core.domain

                 self.__set_particle_properties(v_ndx, **action['props'])
[docs] def calculate_vol(self): - """ + """ Calculate the total volume of the domain. """ self.vol = numpy.zeros((self.vertices.shape[0]), dtype=float) @@ -546,7 +551,7 @@

Source code for spatialpy.core.domain

                 self.vol[v4] += t_vol / 4
[docs] def closest_vertex(self, point): - """ + """ Find the nearest vertex of a given point in the domain. :param point: Target source point @@ -565,7 +570,7 @@

Source code for spatialpy.core.domain

         return min_vtx
[docs] def compile_prep(self): - """ + """ Generate the domains list of type ids and check for invalid type_ids and rho values in preperation of compiling the simulation files. @@ -583,7 +588,7 @@

Source code for spatialpy.core.domain

         self.listOfTypeIDs = list(self.typeNdxMapping.values())
[docs] def coordinates(self): - """ + """ Get coordinates within domain. :returns: Spatial coordinate vertices of points. @@ -594,7 +599,7 @@

Source code for spatialpy.core.domain

 
[docs] @classmethod def create_2D_domain(cls, xlim, ylim, numx, numy, type_id=1, mass=1.0, nu=1.0, rho=None, c=0, fixed=False, enable=True, apply_action=True, **kwargs): - r""" + r""" Create a filled 2D domain :param xlim: highest and lowest coordinate in the x dimension @@ -660,7 +665,7 @@

Source code for spatialpy.core.domain

 
[docs] @classmethod def create_3D_domain(cls, xlim, ylim, zlim, numx, numy, numz, type_id=1, mass=1.0, nu=1.0, rho=None, c=0, fixed=False, enable=True, apply_action=True, **kwargs): - r""" + r""" Create a filled 3D domain :param xlim: highest and lowest coordinate in the x dimension @@ -732,7 +737,7 @@

Source code for spatialpy.core.domain

         return obj
[docs] def distance_between_2_vertices(self, start, end): - """ + """ Get distance between 2 domain vertices. :param start: Starting point @@ -748,7 +753,7 @@

Source code for spatialpy.core.domain

 
 
[docs] def fill_with_particles(self, geometry_ivar, deltax, deltay=None, deltaz=None, xmin=None, xmax=None, ymin=None, ymax=None, zmin=None, zmax=None, enable=True, apply_action=True, **kwargs): - r""" + r""" Fill a region defined by a cartesian lattice and geometric shape with particles. :param geometry_ivar: an instance of a :py:class:`spatialpy.core.geometry.Geometry` subclass. \ @@ -802,7 +807,7 @@

Source code for spatialpy.core.domain

         )
[docs] def find_boundary_points(self, update=False): - """ + """ Find all vertices that exist on boundary. :returns: A numpy array indexed by vertices, True for boundary points, else false. @@ -836,7 +841,7 @@

Source code for spatialpy.core.domain

         return self.on_boundary
[docs] def find_h(self): - """ + """ Find h value of system. This value is based off of \ the particle which has the greatest distance to \ its nearest neighbor. @@ -856,7 +861,7 @@

Source code for spatialpy.core.domain

         return h
[docs] def get_bounding_box(self): - """ + """ Get the bounding box of the entire domain. :returns: Limits of the bounding box. @@ -870,7 +875,7 @@

Source code for spatialpy.core.domain

         return xlim, ylim, zlim
[docs] def get_domain_size(self, update=False): - """ + """ Estimate of domain size at each vertex as the average of the diameters of the circumradius of the tetrahedrons that vertex is a part of. @@ -910,7 +915,7 @@

Source code for spatialpy.core.domain

         return self.domain_size
[docs] def get_num_voxels(self): - """ + """ Get number of voxels in domain. :returns: Number of voxels in the domain. @@ -919,7 +924,7 @@

Source code for spatialpy.core.domain

         return self.vertices.shape[0]
[docs] def get_type_def(self, type_id): - """ + """ Get the C++ type definition for the given type. :param type_id: The type_id within the domain. @@ -930,15 +935,15 @@

Source code for spatialpy.core.domain

 
         :raises DomainError: If the type is not defined within the domain.
         """
-        type_id = f"type_{type_id}"
+        type_id = f"type_{type_id}"
         if type_id not in self.typeNdxMapping:
-            errmsg = f"Type_id {type_id} could not be found. "
+            errmsg = f"Type_id {type_id} could not be found. "
             errmsg += "Use Domain.set_properties to set the type_id for particles."
             raise DomainError(errmsg)
         return type_id
[docs] def get_vol(self): - """ + """ Get the total volume of the domain. :returns: Total volume of the system. @@ -950,7 +955,7 @@

Source code for spatialpy.core.domain

 
 
[docs] @classmethod def import_meshio_object(cls, mesh_obj, subdomain_file=None, type_ids=None, enable=True, apply_action=True): - """ + """ Import a python meshio mesh object. :param mesh_obj: MeshIO object to import @@ -985,7 +990,7 @@

Source code for spatialpy.core.domain

 
 
[docs] def plot_types(self, width=None, height=None, colormap=None, size=None, title=None, included_types_list=None, use_matplotlib=False, return_plotly_figure=False): - ''' + ''' Plots the domain using plotly. Can only be viewed in a Jupyter Notebook. :param width: Width in pixels of output plot box or for matplotlib inches of output plot box. \ @@ -1023,7 +1028,7 @@

Source code for spatialpy.core.domain

         if len(self.vertices) == 0:
             raise DomainError("The domain does not contain particles.")
 
-        from spatialpy.core.result import _plotly_iterate # pylint: disable=import-outside-toplevel
+        from spatialpy.core.result import _plotly_iterate # pylint: disable=import-outside-toplevel
 
         if not use_matplotlib:
             if width in (None, "auto"):
@@ -1130,7 +1135,7 @@ 

Source code for spatialpy.core.domain

         return
[docs] def preview_actions(self, start=0, end=None, **kwargs): - r""" + r""" Preview effects of actions to the domain. :param start: Starting index for actions (inclusive). @@ -1148,7 +1153,7 @@

Source code for spatialpy.core.domain

 
 
[docs] @classmethod def read_msh_file(cls, filename, subdomain_file=None, type_ids=None, enable=True, apply_action=True): - """ + """ Read a Gmsh style .msh file :param filename: Filename of gmsh file @@ -1183,7 +1188,7 @@

Source code for spatialpy.core.domain

 
 
[docs] @classmethod def read_stochss_domain(cls, filename, enable=True, apply_action=True): - """ + """ Read a StochSS Domain (.domn) file or pull a StochSS Domain from a StochSS Spatial Model (.smdl) file. :param filename: Name of file to read. @@ -1205,7 +1210,7 @@

Source code for spatialpy.core.domain

         return obj
[docs] def read_stochss_subdomain_file(self, filename, type_ids=None): - """ + """ Read a .txt file that conains the StochSS v1.x spatial subdomain descriptions. :param filename: StochSS v1.x subdomain description filename. @@ -1221,19 +1226,19 @@

Source code for spatialpy.core.domain

                 try:
                     (ndx, type_id) = line.rstrip().split(',')
 
-                    type_id = f"type_{type_id if type_ids is None else type_ids[type_id]}"
+                    type_id = f"type_{type_id if type_ids is None else type_ids[type_id]}"
                     for char in type_id:
                         if (char in string.punctuation and char != "_") or char == " ":
-                            raise DomainError(f"Type_id cannot contain '{char}'")
+                            raise DomainError(f"Type_id cannot contain '{char}'")
 
                     self.type_id[int(ndx)] = type_id
 
                 except ValueError as err:
-                    raise DomainError(f"Could not read in subdomain file, error on line {lnum}: {line}") from err
+ raise DomainError(f"Could not read in subdomain file, error on line {lnum}: {line}") from err
[docs] @classmethod def read_xml_mesh(cls, filename, subdomain_file=None, type_ids=None, enable=True, apply_action=True): - """ + """ Read a FEniCS/dolfin style XML mesh file :param filename: Name of file to read. @@ -1268,7 +1273,7 @@

Source code for spatialpy.core.domain

 
 
[docs] def set_properties(self, geometry_ivar, type_id, vol=None, mass=None, nu=None, rho=None, c=None, fixed=False, enable=True, apply_action=True): - """ + """ Add a type definition to the domain. By default, all regions are set to type 0. :param geometry_ivar: an instance of a :py:class:`spatialpy.core.geometry.Geometry` subclass. \ @@ -1310,7 +1315,7 @@

Source code for spatialpy.core.domain

         self.add_set_action(geometry=geometry_ivar, enable=enable, apply_action=apply_action, **props)
[docs] def validate_action(self, action, coverage): - """ + """ Validate a domain action. :param action: Domain action to be validated. @@ -1330,12 +1335,12 @@

Source code for spatialpy.core.domain

             if not (isinstance(action['geometry'], (Geometry, CombinatoryGeometry, Transformation)) or \
                                             g_type in ("Geometry", "CombinatoryGeometry", "Transformation")):
                 raise DomainError(
-                    f"A {action['type']} action's geometry must be of type 'Geometry' or 'Transformation' not {g_type}"
+                    f"A {action['type']} action's geometry must be of type 'Geometry' or 'Transformation' not {g_type}"
                 )
 
         if coverage == "fill":
             if action['type'] != "fill":
-                raise DomainError(f"The action's type must be 'fill' not '{action['type']}'.")
+                raise DomainError(f"The action's type must be 'fill' not '{action['type']}'.")
 
             if action['lattice'] is None:
                 raise DomainError("Fill actions must have a lattice.")
@@ -1343,23 +1348,23 @@ 

Source code for spatialpy.core.domain

             if not (isinstance(action['lattice'], (Lattice, Transformation)) or \
                                                     l_type in ("Lattice", "Transformation")):
                 raise DomainError(
-                    f"A fill action's lattice must be of type 'Lattice' or 'Transformation' not {l_type}"
+                    f"A fill action's lattice must be of type 'Lattice' or 'Transformation' not {l_type}"
                 )
 
         if coverage == "set":
             if action['type'] != "set":
-                raise DomainError(f"The action's type must be 'set' not '{action['type']}'.")
+                raise DomainError(f"The action's type must be 'set' not '{action['type']}'.")
 
             if action['props'] is None or action['props'] == {}:
                 raise DomainError("Set actions must have a props.")
 
         if coverage == "remove":
             if action['type'] != "remove":
-                raise DomainError(f"The action's type must be 'remove' not '{action['type']}'.")
+                raise DomainError(f"The action's type must be 'remove' not '{action['type']}'.")
 
         if coverage in ("fill", "set"):
             if action['props'] is not None and not isinstance(action['props'], dict):
-                raise DomainError(f"An action's kwargs must be of type dict not {type(action['props'])}")
+ raise DomainError(f"An action's kwargs must be of type dict not {type(action['props'])}")
@@ -1379,7 +1384,7 @@

Source code for spatialpy.core.domain

       ©Copyright (C) 2019-2022.
       
       |
-      Powered by Sphinx 4.4.0
+      Powered by Sphinx 5.3.0
       & Alabaster 0.7.12
       
     
diff --git a/docs/build/html/_modules/spatialpy/core/geometry.html b/docs/build/html/_modules/spatialpy/core/geometry.html index 41c07792..99281eed 100644 --- a/docs/build/html/_modules/spatialpy/core/geometry.html +++ b/docs/build/html/_modules/spatialpy/core/geometry.html @@ -5,14 +5,16 @@ - spatialpy.core.geometry — SpatialPy 1.1.0 documentation + spatialpy.core.geometry — SpatialPy 1.1.3 documentation + + @@ -73,7 +75,7 @@

Quick search

- + @@ -108,10 +110,10 @@

Source code for spatialpy.core.geometry

 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 import numpy
 
-from spatialpy.core.spatialpyerror import GeometryError
+from spatialpy.core.spatialpyerror import GeometryError
 
 
[docs]class CombinatoryGeometry: - """ + """ Combinatory Geometry class uses one or more Geometry class for inclusion or exclusion of multiple geometric shapes. @@ -123,14 +125,14 @@

Source code for spatialpy.core.geometry

         'geo2', and 'geo3' are found in the formula.
     :type geo_namespace: dict
     """
-    def __init__(self, formula, geo_namespace):
+    def __init__(self, formula, geo_namespace):
         self.formula = formula
         self.geo_namespace = geo_namespace
 
         self.validate()
 
 
[docs] def inside(self, point, on_boundary): - """ + """ :param point: X, Y, Z coodinates for the particle. :type point: float[3] @@ -146,13 +148,13 @@

Source code for spatialpy.core.geometry

         for name, geometry in self.geo_namespace.items():
             val = geometry.inside(point, on_boundary)
             if not isinstance(val, (bool, numpy.bool_)):
-                errmsg = f"{name} is not a valid Geometry obj. Reason given: inside() method must return a bool"
+                errmsg = f"{name} is not a valid Geometry obj. Reason given: inside() method must return a bool"
                 raise GeometryError(errmsg)
             namespace[name] = val
         return eval(self.formula, {}, namespace)
[docs] def validate(self): - """ + """ Validate the combinatory geometry object. """ keys = list(self.geo_namespace.keys()) @@ -164,18 +166,18 @@

Source code for spatialpy.core.geometry

         for item in keys:
             formula = formula.replace(item, "")
         if formula.strip() != "":
-            errmsg = f"formula may only contain boolean operators or geometries in geo_namespace not {formula.split(' ')}"
+            errmsg = f"formula may only contain boolean operators or geometries in geo_namespace not {formula.split(' ')}"
             raise GeometryError(errmsg)
[docs]class Geometry: - """ + """ Geometry class provides a method for tagging parts of the spatial domain as separate parts. """ - def __init__(self): + def __init__(self): pass
[docs] def inside(self, point, on_boundary): - """ + """ :param point: X, Y, Z coodinates for the particle. :type point: float[3] @@ -188,11 +190,11 @@

Source code for spatialpy.core.geometry

         raise GeometryError("Subclasses of spatialpy.Geometry must implement the inside() method")
[docs]class GeometryAll(Geometry): - """ + """ Mark all particles. """
[docs] def inside(self, point, on_boundary): - """ + """ :param point: X, Y, Z coodinates for the particle. :type point: float[3] @@ -205,12 +207,12 @@

Source code for spatialpy.core.geometry

         return True
[docs]class GeometryExterior(Geometry): - """ + """ Mark particles that are on the edge of the domain. only works for domains that define triangles and tetrahedrons. """
[docs] def inside(self, point, on_boundary): - """ + """ :param point: X, Y, Z coodinates for the particle. :type point: float[3] @@ -223,12 +225,12 @@

Source code for spatialpy.core.geometry

         return on_boundary
[docs]class GeometryInterior(Geometry): - """ + """ Mark particles that are not on the edge of the domain. Only works for domains that define triangles and tetrahedrons. """
[docs] def inside(self, point, on_boundary): - """ + """ :param point: X, Y, Z coodinates for the particle. :type point: float[3] @@ -258,7 +260,7 @@

Source code for spatialpy.core.geometry

       ©Copyright (C) 2019-2022.
       
       |
-      Powered by Sphinx 4.4.0
+      Powered by Sphinx 5.3.0
       & Alabaster 0.7.12
       
     
diff --git a/docs/build/html/_modules/spatialpy/core/initialcondition.html b/docs/build/html/_modules/spatialpy/core/initialcondition.html index 723037fe..24699f21 100644 --- a/docs/build/html/_modules/spatialpy/core/initialcondition.html +++ b/docs/build/html/_modules/spatialpy/core/initialcondition.html @@ -5,14 +5,16 @@ - spatialpy.core.initialcondition — SpatialPy 1.1.0 documentation + spatialpy.core.initialcondition — SpatialPy 1.1.3 documentation + + @@ -73,7 +75,7 @@

Quick search

- + @@ -108,16 +110,16 @@

Source code for spatialpy.core.initialcondition

< # along with this program. If not, see <http://www.gnu.org/licenses/>. import numpy -from spatialpy.core.spatialpyerror import InitialConditionError +from spatialpy.core.spatialpyerror import InitialConditionError
[docs]class InitialCondition(): - """ + """ Class used to defined initial conditions in SpatialPy. SubClasses must implement the 'apply(model)' method, which direction modifies the model.u0[species, voxel] matrix. """
[docs] def apply(self, model): - """ + """ Set the initial condition of the species to the count. :param model: Model contianing the target species. @@ -126,7 +128,7 @@

Source code for spatialpy.core.initialcondition

< raise InitialConditionError("spatialpy.InitialCondition subclasses must implement apply()")
[docs]class PlaceInitialCondition(InitialCondition): - """ + """ Class used to defined the place initial condition in SpatialPy. :param species: The species to set the initial condition. @@ -138,17 +140,17 @@

Source code for spatialpy.core.initialcondition

< :param location: X, Y, Z coordinates to place the initial condition. :type location: float[3] """ - def __init__(self, species, count, location): + def __init__(self, species, count, location): self.species = species self.count = count self.location = location - def __str__(self): - print_string = f"{self.species.name}: {str(self.count)}, at: {str(self.location)}" + def __str__(self): + print_string = f"{self.species.name}: {str(self.count)}, at: {str(self.location)}" return print_string
[docs] def apply(self, model): - """ + """ Set the initial condition of the species to the count at the location. :param model: Model contianing the target species. @@ -156,7 +158,7 @@

Source code for spatialpy.core.initialcondition

< """ if isinstance(self.species, str): if self.species not in model.listOfSpecies: - raise InitialConditionError(f"Species {self.species} does not exist in the model.") + raise InitialConditionError(f"Species {self.species} does not exist in the model.") self.species = model.listOfSpecies[self.species] spec_name = self.species.name spec_ndx = None @@ -168,7 +170,7 @@

Source code for spatialpy.core.initialcondition

< model.u0[spec_ndx, vtx] += self.count
[docs]class UniformInitialCondition(InitialCondition): - """ + """ Class used to defined the uniform initial condition in SpatialPy. :param species: The species to set the initial condition. @@ -180,7 +182,7 @@

Source code for spatialpy.core.initialcondition

< :param types: Types of the particles to place the initial condition. :type types: list """ - def __init__(self, species, count, types=None): + def __init__(self, species, count, types=None): self.species = species self.count = count if types is None: @@ -188,14 +190,14 @@

Source code for spatialpy.core.initialcondition

< else: self.types = [] for type_id in types: - self.types.append(f"type_{type_id}") + self.types.append(f"type_{type_id}") - def __str__(self): - print_string = f"{self.species.name}: {str(self.count)}, Uniformly distrbuted in: {str(self.types)}" + def __str__(self): + print_string = f"{self.species.name}: {str(self.count)}, Uniformly distrbuted in: {str(self.types)}" return print_string
[docs] def apply(self, model): - """ + """ Set 'count' of 'species' in over the list of types (all types if None). :param model: Model contianing the target species. @@ -203,7 +205,7 @@

Source code for spatialpy.core.initialcondition

< """ if isinstance(self.species, str): if self.species not in model.listOfSpecies: - raise InitialConditionError(f"Species {self.species} does not exist in the model.") + raise InitialConditionError(f"Species {self.species} does not exist in the model.") self.species = model.listOfSpecies[self.species] spec_name = self.species.name spec_ndx = None @@ -224,7 +226,7 @@

Source code for spatialpy.core.initialcondition

<
[docs]class ScatterInitialCondition(InitialCondition): - """ + """ Class used to defined the scatter initial condition in SpatialPy. :param species: The species to set the initial condition. @@ -236,7 +238,7 @@

Source code for spatialpy.core.initialcondition

< :param types: Types of the particles to place the initial condition. :type types: list """ - def __init__(self, species, count, types=None): + def __init__(self, species, count, types=None): self.species = species self.count = count if types is None: @@ -244,14 +246,14 @@

Source code for spatialpy.core.initialcondition

< else: self.types = [] for type_id in types: - self.types.append(f"type_{type_id}") + self.types.append(f"type_{type_id}") - def __str__(self): - print_string = f"{self.species.name}: {str(self.count)}, Scatter over: {str(self.types)}" + def __str__(self): + print_string = f"{self.species.name}: {str(self.count)}, Scatter over: {str(self.types)}" return print_string
[docs] def apply(self, model): - """ + """ Scatter 'count' of 'species' randomly over the list of types (all types if None). :param model: Model contianing the target species. @@ -259,7 +261,7 @@

Source code for spatialpy.core.initialcondition

< """ if isinstance(self.species, str): if self.species not in model.listOfSpecies: - raise InitialConditionError(f"Species {self.species} does not exist in the model.") + raise InitialConditionError(f"Species {self.species} does not exist in the model.") self.species = model.listOfSpecies[self.species] spec_name = self.species.name spec_ndx = None @@ -282,7 +284,7 @@

Source code for spatialpy.core.initialcondition

< nvox = len(allowed_voxels) if nvox==0: message = "ScatterInitialCondition has zero voxels to scatter in. " - message += f"Species={self.species.name} count={self.count} types={self.types}" + message += f"Species={self.species.name} count={self.count} types={self.types}" raise InitialConditionError(message) for _ in range(self.count): v_ndx = numpy.random.randint(0, nvox) @@ -307,7 +309,7 @@

Source code for spatialpy.core.initialcondition

< ©Copyright (C) 2019-2022. | - Powered by Sphinx 4.4.0 + Powered by Sphinx 5.3.0 & Alabaster 0.7.12
diff --git a/docs/build/html/_modules/spatialpy/core/lattice.html b/docs/build/html/_modules/spatialpy/core/lattice.html index 45a52b56..66f7b2d3 100644 --- a/docs/build/html/_modules/spatialpy/core/lattice.html +++ b/docs/build/html/_modules/spatialpy/core/lattice.html @@ -5,14 +5,16 @@ - spatialpy.core.lattice — SpatialPy 1.1.0 documentation + spatialpy.core.lattice — SpatialPy 1.1.3 documentation + + @@ -73,7 +75,7 @@

Quick search

- + @@ -107,16 +109,17 @@

Source code for spatialpy.core.lattice

 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 import json
-import numpy
+import string
 
 import xml.etree.ElementTree as ET
 
-from spatialpy.core.geometry import Geometry, CombinatoryGeometry
-from spatialpy.core.spatialpyerror import LatticeError
+import numpy
 
+from spatialpy.core.geometry import Geometry, CombinatoryGeometry
+from spatialpy.core.spatialpyerror import LatticeError
 
 
[docs]class Lattice: - """ + """ Lattice class provides a method for creating parts of the spatial domain. :param center: The center point of the lattice (optional, defaults to [0, 0, 0]). @@ -125,7 +128,7 @@

Source code for spatialpy.core.lattice

     :raises LatticeError: if center is not and list, doesn't contain 3 values,
         or any value is not a float.
     """
-    def __init__(self, center=None, skip_validate=False):
+    def __init__(self, center=None, skip_validate=False):
         if center is None:
             center = [0] * 3
         elif isinstance(center, (list, tuple)):
@@ -147,7 +150,7 @@ 

Source code for spatialpy.core.lattice

             domain.zlim = zlim
 
 
[docs] def apply(self, domain, geometry, transform=None, **kwargs): - """ + """ Fill a domain with particles within the lattice restricted by the geometry. :param domain: Domain particles are to be added to. @@ -165,7 +168,7 @@

Source code for spatialpy.core.lattice

         raise LatticeError("Subclasses of spatialpy.Lattice must implement the apply() method")
[docs] def validate(self): - """ + """ Validates the center point. """ if not isinstance(self.center, list): @@ -174,7 +177,7 @@

Source code for spatialpy.core.lattice

             raise LatticeError("center must be of length 3.")
[docs]class CartesianLattice(Lattice): - """ + """ Cartesian lattice class provides a method for creating parts of the spatial domain within a cartesian coordinate system. @@ -195,7 +198,7 @@

Source code for spatialpy.core.lattice

 
     :param zmin: Minimum z value of the lattice (optional, defaults to xmin).
     :type zmin: float
-    
+
     :param zmax: Maximum z value of the lattice (optional, defaults to xmax).
     :type zmax: float
 
@@ -211,7 +214,7 @@ 

Source code for spatialpy.core.lattice

     :raises LatticeError: if center is not and list, doesn't contain 3 values,
         or any value is not a float.
     """
-    def __init__(self, xmin, xmax, deltax, center=None, ymin=None,
+    def __init__(self, xmin, xmax, deltax, center=None, ymin=None,
                  ymax=None, zmin=None, zmax=None, deltay=None, deltaz=None):
         super().__init__(center, skip_validate=True)
 
@@ -256,7 +259,7 @@ 

Source code for spatialpy.core.lattice

         return count
 
 
[docs] def apply(self, domain, geometry, transform=None, **kwargs): - """ + """ Fill a domain with particles within the cartesian lattice restricted by the geometry. :param domain: Domain particles are to be added to. @@ -271,7 +274,7 @@

Source code for spatialpy.core.lattice

 
         :param \**kwargs: Additional keyword arguments passed to :py:meth:`Domain.add_point`.
         """
-        from spatialpy.core.domain import Domain # pylint: disable=import-outside-toplevel
+        from spatialpy.core.domain import Domain # pylint: disable=import-outside-toplevel
         if not (isinstance(domain, Domain) or type(domain).__name__ == 'Domain'):
             raise LatticeError("domain must be of type spatialpy.Domain.")
         if not (isinstance(geometry, (Geometry, CombinatoryGeometry)) or \
@@ -304,7 +307,7 @@ 

Source code for spatialpy.core.lattice

         return count
[docs] def validate(self): - """ + """ Validate the cartesian lattice dependencies. """ super().validate() @@ -341,7 +344,7 @@

Source code for spatialpy.core.lattice

             raise LatticeError("deltaz must be greater than 0.")
[docs]class SphericalLattice(Lattice): - """ + """ Spherical lattice class provides a method for creating parts of the spatial domain within a spherical coordinate system. @@ -360,7 +363,7 @@

Source code for spatialpy.core.lattice

     :raises LatticeError: if center is not and list, doesn't contain 3 values,
         or any value is not a float.
     """
-    def __init__(self, radius, deltas, center=None, deltar=None):
+    def __init__(self, radius, deltas, center=None, deltar=None):
         super().__init__(center, skip_validate=True)
 
         self.radius = radius
@@ -374,7 +377,7 @@ 

Source code for spatialpy.core.lattice

         self.validate()
 
 
[docs] def apply(self, domain, geometry, transform=None, **kwargs): - """ + """ Fill a domain with particles within the spherical lattice restricted by the geometry. :param domain: Domain particles are to be added to. @@ -389,7 +392,7 @@

Source code for spatialpy.core.lattice

 
         :param \**kwargs: Additional keyword arguments passed to :py:meth:`Domain.add_point`.
         """
-        from spatialpy.core.domain import Domain # pylint: disable=import-outside-toplevel
+        from spatialpy.core.domain import Domain # pylint: disable=import-outside-toplevel
         if not (isinstance(domain, Domain) or type(domain).__name__ == 'Domain'):
             raise LatticeError("domain must be of type spatialpy.Domain.")
         if not (isinstance(geometry, (Geometry, CombinatoryGeometry)) or \
@@ -402,7 +405,7 @@ 

Source code for spatialpy.core.lattice

 
         count = 0
         radius = self.radius
-        while radius >= 0:
+        while radius > 0:
             # Calculate the approximate number of particle with the radius
             approx_rc = int(round((4 * radius ** 2) / ((self.deltas / 2) ** 2)))
 
@@ -412,11 +415,11 @@ 

Source code for spatialpy.core.lattice

             m_phi = int(round(numpy.pi * radius / d_a))
             d_phi = numpy.pi / m_phi
             d_theta = p_area / d_phi
-            
+
             for mphi in range(m_phi):
                 phi = numpy.pi * (mphi + 0.5) / m_phi
                 m_theta = int(round(2 * numpy.pi * numpy.sin(phi) / d_phi))
-            
+
                 for mtheta in range(m_theta):
                     theta = 2 * numpy.pi * mtheta / m_theta
                     x = radius * numpy.cos(theta) * numpy.sin(phi)
@@ -432,6 +435,12 @@ 

Source code for spatialpy.core.lattice

                         domain.add_point(point + self.center, **kwargs)
                         count += 1
             radius -= self.deltar
+        if radius == 0 and geometry.inside((0, 0, 0), False):
+            point = [0, 0, 0] if transform is None else transform([0, 0, 0])
+            if not isinstance(point, numpy.ndarray):
+                point = numpy.array(point)
+            domain.add_point(point + self.center, **kwargs)
+            count += 1
         self._update_limits(domain)
         if 'vol' not in kwargs:
             offset = len(domain.vertices) - count
@@ -443,7 +452,7 @@ 

Source code for spatialpy.core.lattice

         return count
[docs] def validate(self): - """ + """ Validate the spherical lattice dependencies. """ super().validate() @@ -462,7 +471,7 @@

Source code for spatialpy.core.lattice

             raise LatticeError("deltar must be greater than 0.")
[docs]class CylindricalLattice(Lattice): - """ + """ Cylindrical lattice class provides a method for creating parts of the spatial domain within a cylindrical coordinate system. @@ -484,7 +493,7 @@

Source code for spatialpy.core.lattice

     :raises LatticeError: if center is not and list, doesn't contain 3 values,
         or any value is not a float.
     """
-    def __init__(self, radius, length, deltas, center=None, deltar=None):
+    def __init__(self, radius, length, deltas, center=None, deltar=None):
         super().__init__(center, skip_validate=True)
 
         self.radius = radius
@@ -499,7 +508,7 @@ 

Source code for spatialpy.core.lattice

         self.validate()
 
 
[docs] def apply(self, domain, geometry, transform=None, **kwargs): - """ + """ Fill a domain with particles within the cylindrical lattice restricted by the geometry. :param domain: Domain particles are to be added to. @@ -514,7 +523,7 @@

Source code for spatialpy.core.lattice

 
         :param \**kwargs: Additional keyword arguments passed to :py:meth:`Domain.add_point`.
         """
-        from spatialpy.core.domain import Domain # pylint: disable=import-outside-toplevel
+        from spatialpy.core.domain import Domain # pylint: disable=import-outside-toplevel
         if not (isinstance(domain, Domain) or type(domain).__name__ == 'Domain'):
             raise LatticeError("domain must be of type spatialpy.Domain.")
         if not (isinstance(geometry, (Geometry, CombinatoryGeometry)) or \
@@ -530,7 +539,7 @@ 

Source code for spatialpy.core.lattice

         xmin = -h_len
         xmax = h_len
         radius = self.radius
-        while radius >= 0:
+        while radius > 0:
             # Calculate the approximate number of particle with the radius
             approx_rc = int(round((2 * radius * self.length) / ((self.deltas / 2) ** 2)))
 
@@ -541,7 +550,6 @@ 

Source code for spatialpy.core.lattice

 
             x = xmin
             while x <= xmax:
-
                 for mtheta in range(m_theta):
                     theta = 2 * numpy.pi * (mtheta + 0.5) / m_theta
                     y = radius * numpy.cos(theta)
@@ -557,6 +565,16 @@ 

Source code for spatialpy.core.lattice

                         count += 1
                 x += self.deltas
             radius -= self.deltar
+        if radius == 0:
+            x = xmin
+            while x <= xmax:
+                if geometry.inside((x, 0, 0), False):
+                    point = [x, 0, 0] if transform is None else transform([x, 0, 0])
+                    if not isinstance(point, numpy.ndarray):
+                        point = numpy.array(point)
+                    domain.add_point(point + self.center, **kwargs)
+                    count += 1
+                x += self.deltas
         self._update_limits(domain)
         if 'vol' not in kwargs:
             offset = len(domain.vertices) - count
@@ -568,7 +586,7 @@ 

Source code for spatialpy.core.lattice

         return count
[docs] def validate(self): - """ + """ Validate the cylindrical lattice dependencies. """ super().validate() @@ -591,10 +609,10 @@

Source code for spatialpy.core.lattice

             raise LatticeError("deltar must be greater than 0.")
[docs]class XMLMeshLattice(Lattice): - """ + """ XML mesh lattice class provides a method for creating parts of the spatial domain with a mesh defined by a FEniCS/dolfin style XML mesh file. - + :param center: The center point of the lattice. :type center: float[3] | float(3) @@ -607,7 +625,7 @@

Source code for spatialpy.core.lattice

     :param type_ids: Mapping of type indices to type names (optional).
     :type type_ids: dict{str:str}
     """
-    def __init__(self, filename, center=None, subdomain_file=None, type_ids=None):
+    def __init__(self, filename, center=None, subdomain_file=None, type_ids=None):
         super().__init__(center, skip_validate=True)
 
         self.filename = filename
@@ -625,14 +643,14 @@ 

Source code for spatialpy.core.lattice

 
                     if self.type_ids is not None:
                         type_id = self.type_ids[type_id]
-                    type_ids[int(ndx)] = f"type_{type_id}"
+                    type_ids[int(ndx)] = f"type_{type_id}"
                 except ValueError as err:
-                    errmsg = f"Could not read in subdomain file, error on line {lnum}: {line}"
+                    errmsg = f"Could not read in subdomain file, error on line {lnum}: {line}"
                     raise LatticeError(errmsg) from err
         return type_ids
 
 
[docs] def apply(self, domain, *args, transform=None, **kwargs): - """ + """ Fill a domain with particles within the xml mesh lattice un-restricted by a geometry. :param domain: Domain particles are to be added to. @@ -643,7 +661,7 @@

Source code for spatialpy.core.lattice

 
         :param \**kwargs: Additional keyword arguments passed to :py:meth:`Domain.add_point`.
         """
-        from spatialpy.core.domain import Domain # pylint: disable=import-outside-toplevel
+        from spatialpy.core.domain import Domain # pylint: disable=import-outside-toplevel
         if not (isinstance(domain, Domain) or type(domain).__name__ == 'Domain'):
             raise LatticeError("domain must be of type spatialpy.Domain.")
         if transform is not None and not callable(transform):
@@ -656,7 +674,7 @@ 

Source code for spatialpy.core.lattice

 
         root = ET.parse(self.filename).getroot()
         if not root.tag == 'dolfin':
-            raise LatticeError(f"{self.filename} is not a FEniCS/dolfin xml mesh.")
+            raise LatticeError(f"{self.filename} is not a FEniCS/dolfin xml mesh.")
 
         mesh = root[0]
         if mesh.tag != 'mesh' or mesh.attrib['celltype'] != 'tetrahedron' or mesh.attrib['dim'] != '3':
@@ -680,7 +698,7 @@ 

Source code for spatialpy.core.lattice

                 point = [x, y, z]
             else:
                 point = transform([x, y, z])
-            if type_ids is not None and i in type_ids.keys():
+            if type_ids is not None and i in type_ids:
                 kwargs['type_id'] = type_ids[i]
             if not isinstance(point, numpy.ndarray):
                 point = numpy.array(point)
@@ -707,7 +725,7 @@ 

Source code for spatialpy.core.lattice

         return count
[docs] def validate(self): - """ + """ Validate the XML mesh lattice dependencies. """ super().validate() @@ -724,13 +742,13 @@

Source code for spatialpy.core.lattice

                     raise LatticeError("Values in type_ids must be of type str.")
                 for char in name:
                     if (char in string.punctuation and char != "_") or char == " ":
-                        raise LatticeError(f"Values in type_ids cannot contain '{char}'")
+ raise LatticeError(f"Values in type_ids cannot contain '{char}'")
[docs]class MeshIOLattice(Lattice): - """ + """ meshio lattice class provides a method for creating parts of the spatial domain with a mesh defined by a Gmsh style .msh mesh file. - + :param center: The center point of the lattice. :type center: float[3] | float(3) @@ -743,7 +761,7 @@

Source code for spatialpy.core.lattice

     :param type_ids: Mapping of type indices to type names (optional).
     :type type_ids: dict{str:str}
     """
-    def __init__(self, filename=None, center=None, mesh=None, subdomain_file=None, type_ids=None):
+    def __init__(self, filename=None, center=None, mesh=None, subdomain_file=None, type_ids=None):
         super().__init__(center, skip_validate=True)
 
         self.filename = filename
@@ -762,14 +780,14 @@ 

Source code for spatialpy.core.lattice

 
                     if self.type_ids is not None:
                         type_id = self.type_ids[type_id]
-                    type_ids[int(ndx)] = f"type_{type_id}"
+                    type_ids[int(ndx)] = f"type_{type_id}"
                 except ValueError as err:
-                    errmsg = f"Could not read in subdomain file, error on line {lnum}: {line}"
+                    errmsg = f"Could not read in subdomain file, error on line {lnum}: {line}"
                     raise LatticeError(errmsg) from err
         return type_ids
 
 
[docs] def apply(self, domain, *args, transform=None, **kwargs): - """ + """ Fill a domain with particles within the mesh IO lattice un-restricted by a geometry. :param domain: Domain particles are to be added to. @@ -780,7 +798,7 @@

Source code for spatialpy.core.lattice

 
         :param \**kwargs: Additional keyword arguments passed to :py:meth:`Domain.add_point`.
         """
-        from spatialpy.core.domain import Domain # pylint: disable=import-outside-toplevel
+        from spatialpy.core.domain import Domain # pylint: disable=import-outside-toplevel
         if not (isinstance(domain, Domain) or type(domain).__name__ == 'Domain'):
             raise LatticeError("domain must be of type spatialpy.Domain.")
         if transform is not None and not callable(transform):
@@ -795,7 +813,7 @@ 

Source code for spatialpy.core.lattice

             mesh = meshio.read(self.filename)
         else:
             mesh = self.mesh
-        
+
         if self.subdomain_file is not None:
             type_ids = self.__get_types()
         else:
@@ -812,7 +830,7 @@ 

Source code for spatialpy.core.lattice

                 point = [x, y, z]
             else:
                 point = transform([x, y, z])
-            if type_ids is not None and i in type_ids.keys():
+            if type_ids is not None and i in type_ids:
                 kwargs['type_id'] = type_ids[i]
             if not isinstance(point, numpy.ndarray):
                 point = numpy.array(point)
@@ -828,7 +846,7 @@ 

Source code for spatialpy.core.lattice

                 for triangle in triangles[0].data:
                     triangle = triangle + num_points
                     domain.triangles = numpy.append(domain.triangles, [triangle], axis=0)
-        
+
         #tetrahedrons
         tetras = list(filter(lambda cell: cell.type == "tetra", mesh.cells))
         if tetras:
@@ -842,7 +860,7 @@ 

Source code for spatialpy.core.lattice

         return count
[docs] def validate(self): - """ + """ Validate the meshio lattice dependencies. """ super().validate() @@ -861,20 +879,20 @@

Source code for spatialpy.core.lattice

                     raise LatticeError("Values in type_ids must be of type str.")
                 for char in name:
                     if (char in string.punctuation and char != "_") or char == " ":
-                        raise LatticeError(f"Values in type_ids cannot contain '{char}'")
+ raise LatticeError(f"Values in type_ids cannot contain '{char}'")
[docs]class StochSSLattice(Lattice): - """ + """ stochss lattice class provides a method for creating parts of the spatial domain with a domain defined by a stochss style .domn domain file or .smdl model file. - + :param center: The center point of the lattice. :type center: float[3] | float(3) :param filename: Name of file to read. :type filename: str """ - def __init__(self, filename, center=None): + def __init__(self, filename, center=None): super().__init__(center, skip_validate=True) self.filename = filename @@ -882,7 +900,7 @@

Source code for spatialpy.core.lattice

         self.validate()
 
 
[docs] def apply(self, domain, *args, transform=None, **kwargs): - """ + """ Fill a domain with particles within the stochss lattice un-restricted by a geometry. :param domain: Domain particles are to be added to. @@ -891,7 +909,7 @@

Source code for spatialpy.core.lattice

         :param transform: Transformation function applied to each particle.
         :type transform: function
         """
-        from spatialpy.core.domain import Domain # pylint: disable=import-outside-toplevel
+        from spatialpy.core.domain import Domain # pylint: disable=import-outside-toplevel
         if not (isinstance(domain, Domain) or type(domain).__name__ == 'Domain'):
             raise LatticeError("domain must be of type spatialpy.Domain.")
         if transform is not None and not callable(transform):
@@ -907,7 +925,7 @@ 

Source code for spatialpy.core.lattice

             domain.c0 = s_domain['c_0']
             domain.P0 = s_domain['p_0']
             domain.gravity = s_domain['gravity']
-            
+
             type_ids = {}
             for s_type in s_domain['types']:
                 type_ids[s_type['typeID']] = s_type['name'].replace('-', '')
@@ -942,7 +960,7 @@ 

Source code for spatialpy.core.lattice

             raise LatticeError("The file is not a StochSS Domain (.domn) or a StochSS Spatial Model (.smdl).") from err
[docs] def validate(self): - """ + """ Validate the stochss lattice dependencies. """ super().validate() @@ -968,7 +986,7 @@

Source code for spatialpy.core.lattice

       ©Copyright (C) 2019-2022.
       
       |
-      Powered by Sphinx 4.4.0
+      Powered by Sphinx 5.3.0
       & Alabaster 0.7.12
       
     
diff --git a/docs/build/html/_modules/spatialpy/core/model.html b/docs/build/html/_modules/spatialpy/core/model.html index 46852900..855f5162 100644 --- a/docs/build/html/_modules/spatialpy/core/model.html +++ b/docs/build/html/_modules/spatialpy/core/model.html @@ -5,14 +5,16 @@ - spatialpy.core.model — SpatialPy 1.1.0 documentation + spatialpy.core.model — SpatialPy 1.1.3 documentation + + @@ -73,7 +75,7 @@

Quick search

- + @@ -110,30 +112,30 @@

Source code for spatialpy.core.model

 #This module defines a model that simulates a discrete, stoachastic, mixed biochemical reaction network in python.
 
 import math
-from typing import Set, Type
-from collections import OrderedDict
+from typing import Set, Type
+from collections import OrderedDict
 
 import numpy
 import scipy
 
-from spatialpy.core.domain import Domain
-from spatialpy.core.species import Species
-from spatialpy.core.initialcondition import (
+from spatialpy.core.domain import Domain
+from spatialpy.core.species import Species
+from spatialpy.core.initialcondition import (
     InitialCondition,
     PlaceInitialCondition,
     ScatterInitialCondition,
     UniformInitialCondition
 )
-from spatialpy.core.parameter import Parameter
-from spatialpy.core.reaction import Reaction
-from spatialpy.core.boundarycondition import BoundaryCondition
-from spatialpy.core.datafunction import DataFunction
-from spatialpy.core.timespan import TimeSpan
-from spatialpy.solvers.build_expression import BuildExpression
-from spatialpy.core.spatialpyerror import ModelError
+from spatialpy.core.parameter import Parameter
+from spatialpy.core.reaction import Reaction
+from spatialpy.core.boundarycondition import BoundaryCondition
+from spatialpy.core.datafunction import DataFunction
+from spatialpy.core.timespan import TimeSpan
+from spatialpy.solvers.build_expression import BuildExpression
+from spatialpy.core.spatialpyerror import ModelError
 
 
[docs]def export_StochSS(spatialpy_model, filename=None, return_stochss_model=False): - """ + """ SpatialPy model to StochSS converter :param spatialpy_model: SpatialPy model to be converted to StochSS @@ -149,14 +151,14 @@

Source code for spatialpy.core.model

     :rtype: string
     """
     try:
-        from spatialpy.stochss.stochss_export import export # pylint: disable=import-outside-toplevel
+        from spatialpy.stochss.stochss_export import export # pylint: disable=import-outside-toplevel
     except ImportError as err:
         raise ImportError('StochSS export conversion not imported successfully') from err
 
     return export(spatialpy_model, path=filename, return_stochss_model=return_stochss_model)
[docs]class Model(): - """ + """ Representation of a spatial biochemical model. :param name: Name of the model @@ -165,7 +167,7 @@

Source code for spatialpy.core.model

     reserved_names = ['vol', 't']
     special_characters = ['[', ']', '+', '-', '*', '/', '.', '^']
 
-    def __init__(self, name="spatialpy"):
+    def __init__(self, name="spatialpy"):
         # The name that the model is referenced by (should be a String)
         self.name = name
 
@@ -212,61 +214,61 @@ 

Source code for spatialpy.core.model

         self.expr = None
         self.u0 = None
 
-    def __str__(self):
+    def __str__(self):
         try:
             self.__update_diffusion_restrictions()
         except Exception:
             pass
         self._resolve_all_parameters()
-        divider = f"\n{'*'*10}\n"
+        divider = f"\n{'*'*10}\n"
 
         def decorate(header):
-            return f"\n{divider}{header}{divider}"
+            return f"\n{divider}{header}{divider}"
 
-        print_string = f"{self.name}"
+        print_string = f"{self.name}"
         if len(self.listOfSpecies):
             print_string += decorate("Species")
             for _, species in self.listOfSpecies.items():
-                print_string += f"\n{str(species)}"
+                print_string += f"\n{str(species)}"
         if self.listOfInitialConditions:
             print_string += decorate("Initial Conditions")
             for initial_condition in self.listOfInitialConditions:
-                print_string += f"\n{str(initial_condition)}"
+                print_string += f"\n{str(initial_condition)}"
         if len(self.listOfDiffusionRestrictions):
             print_string += decorate("Diffusion Restrictions")
             for species, types in self.listOfDiffusionRestrictions.items():
-                print_string += f"\n{species.name} is restricted to: {str(types)}"
+                print_string += f"\n{species.name} is restricted to: {str(types)}"
         if len(self.listOfParameters):
             print_string += decorate("Parameters")
             for _, parameter in self.listOfParameters.items():
-                print_string += f"\n{str(parameter)}"
+                print_string += f"\n{str(parameter)}"
         if len(self.listOfReactions):
             print_string += decorate("Reactions")
             for _, reaction in self.listOfReactions.items():
-                print_string += f"\n{str(reaction)}"
+                print_string += f"\n{str(reaction)}"
         print(print_string)
 
         if self.domain is not None:
             print(decorate("Domain"))
-            print(f"\n{str(self.domain)}")
+            print(f"\n{str(self.domain)}")
 
         return ""
 
-    def __ne__(self, other):
+    def __ne__(self, other):
         return not self.__eq__(other)
 
-    def __eq__(self, other):
+    def __eq__(self, other):
         return self.listOfParameters == other.listOfParameters and \
             self.listOfSpecies == other.listOfSpecies and \
             self.listOfReactions == other.listOfReactions and \
             self.name == other.name
 
-    def __getitem__(self, key):
+    def __getitem__(self, key):
         if isinstance(key, str):
             return self.get_element(key)
         if hasattr(self.__class__, "__missing__"):
             return self.__class__.__missing__(self, key)
-        raise KeyError(f"{key} is an invalid key.")
+        raise KeyError(f"{key} is an invalid key.")
 
     def __apply_initial_conditions(self):
         # initalize
@@ -387,21 +389,21 @@ 

Source code for spatialpy.core.model

         names = Model.reserved_names
         if name in Model.reserved_names:
             raise ModelError(
-                f'Name "{name}" is unavailable. It is reserved for internal GillesPy use. Reserved Names: ({names}).'
+                f'Name "{name}" is unavailable. It is reserved for internal GillesPy use. Reserved Names: ({names}).'
             )
         if name in self.listOfSpecies:
-            raise ModelError(f'Name "{name}" is unavailable. A species with that name exists.')
+            raise ModelError(f'Name "{name}" is unavailable. A species with that name exists.')
         if name in self.listOfParameters:
-            raise ModelError(f'Name "{name}" is unavailable. A parameter with that name exists.')
+            raise ModelError(f'Name "{name}" is unavailable. A parameter with that name exists.')
         if name in self.listOfReactions:
-            raise ModelError(f'Name "{name}" is unavailable. A reaction with that name exists.')
+            raise ModelError(f'Name "{name}" is unavailable. A reaction with that name exists.')
         if name.isdigit():
-            raise ModelError(f'Name "{name}" is unavailable. Names must not be numeric strings.')
+            raise ModelError(f'Name "{name}" is unavailable. Names must not be numeric strings.')
         for special_character in Model.special_characters:
             if special_character in name:
                 chars = Model.special_characters
                 raise ModelError(
-                    f'Name "{name}" is unavailable. Names must not contain special characters: {chars}.'
+                    f'Name "{name}" is unavailable. Names must not contain special characters: {chars}.'
                 )
 
     def _resolve_parameter(self, parameter):
@@ -411,7 +413,7 @@ 

Source code for spatialpy.core.model

             parameter._evaluate(self.namespace) # pylint: disable=protected-access
         except ModelError as err:
             raise ModelError(
-                f"Could not add/resolve parameter: {parameter.name}, Reason given: {err}"
+                f"Could not add/resolve parameter: {parameter.name}, Reason given: {err}"
             ) from err
 
     def _resolve_all_parameters(self):
@@ -446,14 +448,14 @@ 

Source code for spatialpy.core.model

                     reaction.products[stoich_spec] = stoichiometry
                     del reaction.products[species]
         except ModelError as err:
-            raise ModelError(f"Could not add/resolve reaction: {reaction.name}, Reason given: {err}") from err
+            raise ModelError(f"Could not add/resolve reaction: {reaction.name}, Reason given: {err}") from err
 
     def _resolve_all_reactions(self):
         for _, reaction in self.listOfReactions.items():
             self._resolve_reaction(reaction)
 
 
[docs] def update_namespace(self): - """ + """ Create a dict with flattened parameter and species objects. """ self.namespace = OrderedDict([]) @@ -461,7 +463,7 @@

Source code for spatialpy.core.model

             self.namespace[param] = self.listOfParameters[param].value
[docs] def add(self, components): - """ + """ Adds a component, or list of components to the model. If a list is provided, Species and Parameters are added before other components. Lists may contain any combination of accepted types other than lists and do not need to be in any particular order. @@ -513,11 +515,11 @@

Source code for spatialpy.core.model

         elif isinstance(components, TimeSpan) or type(components).__name__ == TimeSpan.__name__:
             self.timespan(components)
         else:
-            raise ModelError(f"Unsupported component: {type(components)} is not a valid component.")
+            raise ModelError(f"Unsupported component: {type(components)} is not a valid component.")
         return components
[docs] def get_element(self, name): - """ + """ Get a model element specified by name. :param name: Name of the element to be returned. @@ -538,10 +540,10 @@

Source code for spatialpy.core.model

             return self.get_reaction(name)
         if name in self.listOfDataFunctions:
             return self.get_data_function(name)
-        raise ModelError(f"{self.name} does not contain an element named {name}.")
+ raise ModelError(f"{self.name} does not contain an element named {name}.")
[docs] def add_domain(self, domain): - """ + """ Add a spatial domain to the model :param domain: The Domain object to be added to the model @@ -559,7 +561,7 @@

Source code for spatialpy.core.model

         return domain
[docs] def add_species(self, species): - """ + """ Adds a species, or list of species to the model. :param species: The species or list of species to be added to the model object. @@ -579,17 +581,17 @@

Source code for spatialpy.core.model

                 self._problem_with_name(species.name)
                 self.species_map[species] = self.get_num_species()
                 self.listOfSpecies[species.name] = species
-                self._listOfSpecies[species.name] = f'S{len(self._listOfSpecies)}'
+                self._listOfSpecies[species.name] = f'S{len(self._listOfSpecies)}'
             except ModelError as err:
-                errmsg = f"Could not add species: {species.name}, Reason given: {err}"
+                errmsg = f"Could not add species: {species.name}, Reason given: {err}"
                 raise ModelError(errmsg) from err
         else:
-            errmsg = f"species must be of type Species or list of Species not {type(species)}"
+            errmsg = f"species must be of type Species or list of Species not {type(species)}"
             raise ModelError(errmsg)
         return species
[docs] def delete_species(self, name): - """ + """ Removes a species object by name. :param name: Name of the species object to be removed @@ -603,18 +605,18 @@

Source code for spatialpy.core.model

                 self._listOfSpecies.pop(name)
         except KeyError as err:
             raise ModelError(
-                f"{self.name} does not contain a species named {name}."
+                f"{self.name} does not contain a species named {name}."
             ) from err
[docs] def delete_all_species(self): - """ + """ Removes all species from the model object. """ self.listOfSpecies.clear() self._listOfSpecies.clear()
[docs] def get_species(self, name): - """ + """ Returns a species object by name. :param name: Name of the species object to be returned. @@ -626,11 +628,11 @@

Source code for spatialpy.core.model

         :raises ModelError: If the species is not part of the model.
         """
         if name not in self.listOfSpecies:
-            raise ModelError(f"Species {name} could not be found in the model.")
+            raise ModelError(f"Species {name} could not be found in the model.")
         return self.listOfSpecies[name]
[docs] def get_all_species(self): - """ + """ Returns a dictionary of all species in the model using names as keys. :returns: A dict of all species in the model, in the form: {name : species object}. @@ -639,7 +641,7 @@

Source code for spatialpy.core.model

         return self.listOfSpecies
[docs] def get_num_species(self): - """ + """ Returns total number of different species contained in the model. :returns: Number of different species in the model. @@ -648,7 +650,7 @@

Source code for spatialpy.core.model

         return len(self.listOfSpecies)
[docs] def sanitized_species_names(self): - """ + """ Generate a dictionary mapping user chosen species names to simplified formats which will be used later on by SpatialPySolvers evaluating reaction propensity functions. @@ -657,11 +659,11 @@

Source code for spatialpy.core.model

         """
         species_name_mapping = OrderedDict([])
         for i, name in enumerate(self.listOfSpecies.keys()):
-            species_name_mapping[name] = f'x[{i}]'
+            species_name_mapping[name] = f'x[{i}]'
         return species_name_mapping
[docs] def add_initial_condition(self, init_cond): - """ + """ Add an initial condition object to the initialization of the model. :param init_cond: Initial condition to be added. @@ -684,12 +686,12 @@

Source code for spatialpy.core.model

         elif isinstance(init_cond, InitialCondition) or type(init_cond).__name__ in names:
             self.listOfInitialConditions.append(init_cond)
         else:
-            errmsg = f"init_cond must be of type InitialCondition or list of InitialCondition not {type(init_cond)}"
+            errmsg = f"init_cond must be of type InitialCondition or list of InitialCondition not {type(init_cond)}"
             raise ModelError(errmsg)
         return init_cond
[docs] def delete_initial_condition(self, init_cond): - """ + """ Removes an initial condition object from the model object. :param init_cond: initial condition object to be removed. @@ -702,17 +704,17 @@

Source code for spatialpy.core.model

             self.listOfInitialConditions.pop(index)
         except ValueError as err:
             raise ModelError(
-                f"{self.name} does not contain this initial condition."
+                f"{self.name} does not contain this initial condition."
             ) from err
[docs] def delete_all_initial_conditions(self): - """ + """ Removes all initial conditions from the model object. """ self.listOfInitialConditions.clear()
[docs] def get_all_initial_conditions(self): - """ + """ Returns a list of all initial conditions in the model. :returns: A list of all initial conditions in the model. @@ -721,7 +723,7 @@

Source code for spatialpy.core.model

         return self.listOfInitialConditions
[docs] def add_parameter(self, parameters): - """ + """ Adds a parameter, or list of parameters to the model. :param parameters: The parameter or list of parameters to be added to the model object. @@ -739,14 +741,14 @@

Source code for spatialpy.core.model

             self._problem_with_name(parameters.name)
             self._resolve_parameter(parameters)
             self.listOfParameters[parameters.name] = parameters
-            self._listOfParameters[parameters.name] = f'P{len(self._listOfParameters)}'
+            self._listOfParameters[parameters.name] = f'P{len(self._listOfParameters)}'
         else:
-            errmsg = f"parameters must be of type Parameter or list of Parameter not {type(parameters)}"
+            errmsg = f"parameters must be of type Parameter or list of Parameter not {type(parameters)}"
             raise ModelError(errmsg)
         return parameters
[docs] def delete_parameter(self, name): - """ + """ Removes a parameter object by name. :param name: Name of the parameter object to be removed. @@ -758,18 +760,18 @@

Source code for spatialpy.core.model

                 self._listOfParameters.pop(name)
         except KeyError as err:
             raise ModelError(
-                f"{self.name} does not contain a parameter named {name}"
+                f"{self.name} does not contain a parameter named {name}"
             ) from err
[docs] def delete_all_parameters(self): - """ + """ Removes all parameters from model object. """ self.listOfParameters.clear() self._listOfParameters.clear()
[docs] def get_parameter(self, name): - """ + """ Returns a parameter object by name. :param name: Name of the parameter object to be returned @@ -781,11 +783,11 @@

Source code for spatialpy.core.model

         :raises ModelError: If the parameter is not part of the model.
         """
         if name not in self.listOfParameters:
-            raise ModelError(f"Parameter {name} could not be found in the model.")
+            raise ModelError(f"Parameter {name} could not be found in the model.")
         return self.listOfParameters[name]
[docs] def get_all_parameters(self): - """ + """ Return a dictionary of all model parameters, indexed by name. :returns: A dict of all parameters in the model, in the form: {name : parameter object} @@ -794,7 +796,7 @@

Source code for spatialpy.core.model

         return self.listOfParameters
[docs] def sanitized_parameter_names(self): - """ + """ Generate a dictionary mapping user chosen parameter names to simplified formats which will be used later on by SpatialPySolvers evaluating reaction propensity functions. @@ -804,11 +806,11 @@

Source code for spatialpy.core.model

         parameter_name_mapping = OrderedDict()
         for i, name in enumerate(self.listOfParameters.keys()):
             if name not in parameter_name_mapping:
-                parameter_name_mapping[name] = f'P{i}'
+                parameter_name_mapping[name] = f'P{i}'
         return parameter_name_mapping
[docs] def add_reaction(self, reactions): - """ + """ Adds a reaction, or list of reactions to the model. :param reactions: The reaction or list of reactions to be added to the model object @@ -832,12 +834,12 @@

Source code for spatialpy.core.model

             )
             self._listOfReactions[reactions.name] = sanitized_reaction
         else:
-            errmsg = f"reactions must be of type Reaction or list of Reaction not {type(reactions)}"
+            errmsg = f"reactions must be of type Reaction or list of Reaction not {type(reactions)}"
             raise ModelError(errmsg)
         return reactions
[docs] def delete_reaction(self, name): - """ + """ Removes a reaction object by name. :param name: Name of the reaction object to be removed. @@ -849,18 +851,18 @@

Source code for spatialpy.core.model

                 self._listOfReactions.pop(name)
         except KeyError as err:
             raise ModelError(
-                f"{self.name} does not contain a reaction named {name}"
+                f"{self.name} does not contain a reaction named {name}"
             ) from err
[docs] def delete_all_reactions(self): - """ + """ Removes all reactions from the model object. """ self.listOfReactions.clear() self._listOfReactions.clear()
[docs] def get_reaction(self, rname): - """ + """ Returns a reaction object by name. :param name: Name of the reaction object to be returned @@ -872,11 +874,11 @@

Source code for spatialpy.core.model

         :raises ModelError: If the reaction is not part of the model.
         """
         if name not in self.listOfReactions:
-            raise ModelError(f"Reaction {name} could not be found in the model.")
+            raise ModelError(f"Reaction {name} could not be found in the model.")
         return self.listOfReactions[name]
[docs] def get_all_reactions(self): - """ + """ Returns a dictionary of all model reactions using names as keys. :returns: A dict of all reaction in the model, in the form: {name : reaction object}. @@ -885,7 +887,7 @@

Source code for spatialpy.core.model

         return self.listOfReactions
[docs] def get_num_reactions(self): - """ + """ Returns the number of reactions in this model. :returns: The total number of different reactions in the model. @@ -894,7 +896,7 @@

Source code for spatialpy.core.model

         return len(self.listOfReactions)
[docs] def add_boundary_condition(self, bound_cond): - """ + """ Add an boundary condition object to the model. :param bound_cond: Boundary condition to be added @@ -913,12 +915,12 @@

Source code for spatialpy.core.model

             bound_cond.model = self
             self.listOfBoundaryConditions.append(bound_cond)
         else:
-            errmsg = f"bound_cond must be of type BoundaryCondition or list of BoundaryCondition not {type(bound_cond)}"
+            errmsg = f"bound_cond must be of type BoundaryCondition or list of BoundaryCondition not {type(bound_cond)}"
             raise ModelError(errmsg)
         return bound_cond
[docs] def delete_boundary_condition(self, bound_cond): - """ + """ Removes an boundary condition object from the model object. :param bound_cond: boundary condition object to be removed. @@ -931,17 +933,17 @@

Source code for spatialpy.core.model

             self.listOfBoundaryConditions.pop(index)
         except ValueError as err:
             raise ModelError(
-                f"{self.name} does not contain this boundary condition."
+                f"{self.name} does not contain this boundary condition."
             ) from err
[docs] def delete_all_boundary_conditions(self): - """ + """ Removes all boundary conditions from the model object. """ self.listOfBoundaryConditions.clear()
[docs] def get_all_boundary_conditions(self): - """ + """ Returns a list of all boundary conditions in the model. :returns: A list of all boundary conditions in the model. @@ -950,7 +952,7 @@

Source code for spatialpy.core.model

         return self.listOfBoundaryConditions
[docs] def add_data_function(self, data_function): - """ + """ Add a scalar spatial function to the simulation. This is useful if you have a spatially varying input to your model. Argument is a instances of subclass of the spatialpy.DataFunction class. It must implement a function 'map(point)' which takes a @@ -971,12 +973,12 @@

Source code for spatialpy.core.model

             self._problem_with_name(data_function.name)
             self.listOfDataFunctions[data_function.name] = data_function
         else:
-            errmsg = f"data_function must be of type DataFunction or list of DataFunction not {type(data_function)}"
+            errmsg = f"data_function must be of type DataFunction or list of DataFunction not {type(data_function)}"
             raise ModelError(errmsg)
         return data_function
[docs] def delete_data_function(self, name): - """ + """ Removes an data function object from the model object. :param name: data function object to be removed. @@ -988,17 +990,17 @@

Source code for spatialpy.core.model

             self.listOfDataFunctions.pop(name)
         except ValueError as err:
             raise ModelError(
-                f"{self.name} does not contain a data function named {name}."
+                f"{self.name} does not contain a data function named {name}."
             ) from err
[docs] def delete_all_data_functions(self): - """ + """ Removes all data functions from the model object. """ self.listOfDataFunctions.clear()
[docs] def get_data_function(self, name): - """ + """ Returns a data function object by name. :param name: Name of the data function object to be returned @@ -1010,11 +1012,11 @@

Source code for spatialpy.core.model

         :raises ModelError: If the data function is not part of the model.
         """
         if name not in self.listOfDataFunctions:
-            raise ModelError(f"Data function {name} could not be found in the model.")
+            raise ModelError(f"Data function {name} could not be found in the model.")
         return self.listOfDataFunctions[name]
[docs] def get_all_data_functions(self): - """ + """ Returns a dict of all data functions in the model. :returns: A dict of all data functions in the model. @@ -1023,7 +1025,7 @@

Source code for spatialpy.core.model

         return self.listOfDataFunctions
[docs] def sanitized_data_function_names(self): - """ + """ Generate a dictionary mapping user chosen data function names to simplified formats which will be used later on by SpatialPySolvers evaluating reaction propensity functions. @@ -1032,11 +1034,11 @@

Source code for spatialpy.core.model

         """
         data_fn_name_mapping = OrderedDict([])
         for i, name in enumerate(self.listOfDataFunctions.keys()):
-            data_fn_name_mapping[name] = f'data_fn[{i}]'
+            data_fn_name_mapping[name] = f'data_fn[{i}]'
         return data_fn_name_mapping
[docs] def set_timesteps(self, output_interval, num_steps, timestep_size=None): - """ + """ Set the simlation time span parameters. :param output_interval: size of each output timestep in seconds @@ -1054,7 +1056,7 @@

Source code for spatialpy.core.model

         )
[docs] def timespan(self, time_span, timestep_size=None): - """ + """ Set the time span of simulation. The SSA-SDPD engine does not support non-uniform timespans. @@ -1073,7 +1075,7 @@

Source code for spatialpy.core.model

             self.tspan = TimeSpan(time_span, timestep_size=timestep_size)
[docs] def compile_prep(self): - """ + """ Make sure all paramters are evaluated to scalars, update the models diffusion restrictions, create the models expression utility, and generate the domain list of type ids in preperation of compiling the simulation files. @@ -1086,7 +1088,7 @@

Source code for spatialpy.core.model

         try:
             self.tspan.validate(coverage="all")
         except ModelError as err:
-            raise ModelError(f"Failed to validate timespan. Reason given: {err}") from err
+            raise ModelError(f"Failed to validate timespan. Reason given: {err}") from err
 
         if self.domain is None:
             raise ModelError("The model's domain is not set.  Use 'add_domain()'.")
@@ -1102,7 +1104,7 @@ 

Source code for spatialpy.core.model

             diff_coeff = species.diffusion_coefficient
             if isinstance(diff_coeff, str):
                 if diff_coeff not in sanitized_params:
-                    raise ModelError(f"Parameterm {diff_coeff} doesn't exist.")
+                    raise ModelError(f"Parameterm {diff_coeff} doesn't exist.")
                 species.diffusion_coefficient = sanitized_params[diff_coeff]
 
         self.__get_expression_utility()
@@ -1113,7 +1115,7 @@ 

Source code for spatialpy.core.model

 
 
[docs] def run(self, number_of_trajectories=1, seed=None, timeout=None, number_of_threads=None, debug_level=0, debug=False, profile=False): - """ + """ Simulate the model. Returns a result object containing simulation results. :param number_of_trajectories: How many trajectories should be run. @@ -1141,7 +1143,7 @@

Source code for spatialpy.core.model

         :returns: A SpatialPy Result object containing simulation data.
         :rtype: spatialpy.core.result.Result
         """
-        from spatialpy.solvers.solver import Solver # pylint: disable=import-outside-toplevel
+        from spatialpy.solvers.solver import Solver # pylint: disable=import-outside-toplevel
 
         sol = Solver(self, debug_level=debug_level)
 
@@ -1166,7 +1168,7 @@ 

Source code for spatialpy.core.model

       ©Copyright (C) 2019-2022.
       
       |
-      Powered by Sphinx 4.4.0
+      Powered by Sphinx 5.3.0
       & Alabaster 0.7.12
       
     
diff --git a/docs/build/html/_modules/spatialpy/core/parameter.html b/docs/build/html/_modules/spatialpy/core/parameter.html index 72126344..2055186f 100644 --- a/docs/build/html/_modules/spatialpy/core/parameter.html +++ b/docs/build/html/_modules/spatialpy/core/parameter.html @@ -5,14 +5,16 @@ - spatialpy.core.parameter — SpatialPy 1.1.0 documentation + spatialpy.core.parameter — SpatialPy 1.1.3 documentation + + @@ -73,7 +75,7 @@

Quick search

- + @@ -106,10 +108,10 @@

Source code for spatialpy.core.parameter

 
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
-from spatialpy.core.spatialpyerror import ParameterError
+from spatialpy.core.spatialpyerror import ParameterError
 
 
[docs]class Parameter(): - """ + """ A parameter can be given as an expression (function) or directly as a value (scalar). If given an expression, it should be understood as evaluable in the namespace of a parent Model. @@ -123,7 +125,7 @@

Source code for spatialpy.core.parameter

 
     :raises ParameterError: Arg is of invalid type.  Required arg set to None.  Arg value is outside of accepted bounds.
     """
-    def __init__(self, name=None, expression=None):
+    def __init__(self, name=None, expression=None):
         # We allow expression to be passed in as a non-string type. Invalid strings
         # will be caught below. It is perfectly fine to give a scalar value as the expression.
         # This can then be evaluated in an empty namespace to the scalar value.
@@ -136,11 +138,11 @@ 

Source code for spatialpy.core.parameter

 
         self.validate()
 
-    def __str__(self):
-        return f"{self.name}: {self.expression}"
+    def __str__(self):
+        return f"{self.name}: {self.expression}"
 
     def _evaluate(self, namespace=None):
-        """
+        """
         Evaluate the expression and return the (scalar) value in the given
         namespace.
 
@@ -162,11 +164,11 @@ 

Source code for spatialpy.core.parameter

             self.value = float(eval(self.expression, namespace))
         except Exception as err:
             raise ParameterError(
-                f"Could not evaluate expression: '{self.expression}'. Reason given: {err}."
+                f"Could not evaluate expression: '{self.expression}'. Reason given: {err}."
             ) from err
 
 
[docs] def validate(self, expression=None, coverage="all"): - """ + """ Validate the parameter. :param expression: String for a function calculating parameter values. Should be @@ -219,7 +221,7 @@

Source code for spatialpy.core.parameter

       ©Copyright (C) 2019-2022.
       
       |
-      Powered by Sphinx 4.4.0
+      Powered by Sphinx 5.3.0
       & Alabaster 0.7.12
       
     
diff --git a/docs/build/html/_modules/spatialpy/core/reaction.html b/docs/build/html/_modules/spatialpy/core/reaction.html index 5705d7c4..b25e76b8 100644 --- a/docs/build/html/_modules/spatialpy/core/reaction.html +++ b/docs/build/html/_modules/spatialpy/core/reaction.html @@ -5,14 +5,16 @@ - spatialpy.core.reaction — SpatialPy 1.1.0 documentation + spatialpy.core.reaction — SpatialPy 1.1.3 documentation + + @@ -73,7 +75,7 @@

Quick search

- + @@ -108,16 +110,16 @@

Source code for spatialpy.core.reaction

 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 import ast
 import uuid
-from json.encoder import JSONEncoder
+from json.encoder import JSONEncoder
 
 import numpy as np
 
-from spatialpy.core.species import Species
-from spatialpy.core.parameter import Parameter
-from spatialpy.core.spatialpyerror import ReactionError
+from spatialpy.core.species import Species
+from spatialpy.core.parameter import Parameter
+from spatialpy.core.spatialpyerror import ReactionError
 
 
[docs]class Reaction(): - """ + """ Models a biochemical reaction. A reaction conatains dictionaries of species (reactants and products) and a parameters. The reaction's propensity functions needs to be evaluable (and result in a non-negative scalar value) in the @@ -165,11 +167,11 @@

Source code for spatialpy.core.reaction

     model based on the order it was added. This could impact seeded simulation 
     results if the order of addition is not preserved.
     """
-    def __init__(self, name=None, reactants=None, products=None, propensity_function=None,
+    def __init__(self, name=None, reactants=None, products=None, propensity_function=None,
                  ode_propensity_function=None, rate=None, annotation=None, restrict_to=None):
 
         if name is None or name == "":
-            name = f'rxn{uuid.uuid4()}'.replace('-', '_')
+            name = f'rxn{uuid.uuid4()}'.replace('-', '_')
         if isinstance(propensity_function, (int, float)):
             propensity_function = str(propensity_function)
         if isinstance(ode_propensity_function, (int, float)):
@@ -193,18 +195,20 @@ 

Source code for spatialpy.core.reaction

         if reactants is not None:
             for r in reactants:
                 rtype = type(r).__name__
-                if rtype == 'Species':
-                    self.reactants[r.name] = reactants[r]
+                name = r.name if rtype == 'Species' else r
+                if name in self.reactants:
+                    self.reactants[name] += reactants[r]
                 else:
-                    self.reactants[r] = reactants[r]
-
+                    self.reactants[name] = reactants[r]
+        
         if products is not None:
             for p in products:
-                rtype = type(p).__name__
-                if rtype == 'Species':
-                    self.products[p.name] = products[p]
+                ptype = type(p).__name__
+                name = p.name if ptype == 'Species' else p
+                if name in self.products:
+                    self.products[name] += products[p]
                 else:
-                    self.products[p] = products[p]
+                    self.products[name] = products[p]
 
         if self.marate is not None:
             rtype = type(self.marate).__name__
@@ -227,11 +231,11 @@ 

Source code for spatialpy.core.reaction

 
         if restrict_to is not None:
             for type_id in restrict_to:
-                self.restrict_to.append(f"type_{type_id}")
+                self.restrict_to.append(f"type_{type_id}")
 
         self.validate(coverage="initialized")
 
-    def __str__(self):
+    def __str__(self):
         print_string = self.name
         if len(self.reactants):
             print_string += '\n\tReactants'
@@ -289,7 +293,7 @@ 

Source code for spatialpy.core.reaction

             "ln": "log",
         }
 
-        def __init__(self):
+        def __init__(self):
             self.string = ''
 
         def _string_changer(self, addition):
@@ -349,7 +353,7 @@ 

Source code for spatialpy.core.reaction

             self.generic_visit(node)
 
     def _create_mass_action(self):
-        """
+        """
         Initializes the mass action propensity function given
         self.reactants and a single parameter value.
         """
@@ -362,7 +366,7 @@ 

Source code for spatialpy.core.reaction

             total_stoch += self.reactants[reactant]
         if total_stoch > 2:
             raise ReactionError(
-                """
+                """
                 Reaction: A mass-action reaction cannot involve more than two of
                 one species or one of two species. To declare a custom propensity,
                 replace 'rate' with 'propensity_function'.
@@ -386,12 +390,12 @@ 

Source code for spatialpy.core.reaction

                 reactant = reactant.name
             # Case 1: 2X -> Y
             if stoichiometry == 2:
-                propensity_function = f"0.5 * {propensity_function} * {reactant} * ({reactant} - 1) / vol"
-                ode_propensity_function += f" * {reactant} * {reactant}"
+                propensity_function = f"{propensity_function} * {reactant} * ({reactant} - 1) / vol"
+                ode_propensity_function += f" * {reactant} * {reactant}"
             else:
                 # Case 3: X1, X2 -> Y;
-                propensity_function += f" * {reactant}"
-                ode_propensity_function += f" * {reactant}"
+                propensity_function += f" * {reactant}"
+                ode_propensity_function += f" * {reactant}"
 
         # Set the volume dependency based on order.
         order = len(self.reactants)
@@ -413,14 +417,14 @@ 

Source code for spatialpy.core.reaction

         return newFunc.string
 
     def _create_sanitized_reaction(self, n_ndx, species_mappings, parameter_mappings):
-        name = f"R{n_ndx}"
+        name = f"R{n_ndx}"
         reactants = {species_mappings[species.name]: self.reactants[species] for species in self.reactants}
         products = {species_mappings[species.name]: self.products[species] for species in self.products}
         propensity_function = self.sanitized_propensity_function(species_mappings, parameter_mappings)
         return Reaction(name=name, reactants=reactants, products=products, propensity_function=propensity_function)
 
 
[docs] def add_product(self, species, stoichiometry): - """ + """ Add a product to this reaction :param species: Species object to be produced by the reaction @@ -434,12 +438,15 @@

Source code for spatialpy.core.reaction

         try:
             self.validate(products={name: stoichiometry}, coverage="products")
         except TypeError as err:
-            raise ReactionError(f"Failed to validate product. Reason given: {err}") from err
+            raise ReactionError(f"Failed to validate product. Reason given: {err}") from err
 
-        self.products[name] = stoichiometry
+ if name in self.products: + self.products[name] += stoichiometry + else: + self.products[name] = stoichiometry
[docs] def add_reactant(self, species, stoichiometry): - """ + """ Add a reactant to this reaction :param species: reactant Species object @@ -453,9 +460,12 @@

Source code for spatialpy.core.reaction

         try:
             self.validate(reactants={name: stoichiometry}, coverage="reactants")
         except TypeError as err:
-            raise ReactionError(f"Failed to validate reactant. Reason given: {err}") from err
+            raise ReactionError(f"Failed to validate reactant. Reason given: {err}") from err
 
-        self.reactants[name] = stoichiometry
+        if name in self.reactants:
+            self.reactants[name] += stoichiometry
+        else:
+            self.reactants[name] = stoichiometry
         if self.massaction and self.type == "mass-action":
             self._create_mass_action()
 
@@ -488,7 +498,7 @@ 

Source code for spatialpy.core.reaction

         return sanitized_propensity.format(*replacements)
[docs] def set_annotation(self, annotation): - """ + """ Add an annotation to this reaction. :param annotation: Annotation note to be added to reaction :type annotation: str @@ -501,7 +511,7 @@

Source code for spatialpy.core.reaction

         self.annotation = annotation
[docs] def set_propensities(self, propensity_function=None, ode_propensity_function=None): - """ + """ Change the reaction to a customized reaction and set the propensities. :param propensity_function: The custom propensity function for the reaction. Must be evaluable in the namespace of the reaction using C operations. @@ -535,7 +545,7 @@

Source code for spatialpy.core.reaction

         self.validate(coverage="initialized")
[docs] def set_rate(self, rate): - """ + """ Change the reaction to a mass-action reaction and set the rate. :param rate: The rate of the mass-action reaction, take care to note the units. :type rate: int | float | str | Parameter @@ -571,7 +581,7 @@

Source code for spatialpy.core.reaction

 
 
[docs] def validate(self, coverage="build", reactants=None, products=None, propensity_function=None, ode_propensity_function=None, marate=None, annotation=None, restrict_to=None): - """ + """ Validate the reaction. :param reactants: The reactants that are consumed in the reaction, with stoichiometry. An @@ -745,14 +755,14 @@

Source code for spatialpy.core.reaction

                     raise ReactionError(errmsg)
[docs] def annotate(self, *args, **kwargs): - """ + """ Add an annotation to this reaction (deprecated). :param annotation: Annotation note to be added to reaction :type annotation: str """ - from spatialpy.core import log + from spatialpy.core import log log.warning( - """ + """ Reaction.Annotate has been deprecated. Future releases of SpatialPy may not support this feature. Use Reaction.set_annotation instead. """ @@ -761,15 +771,15 @@

Source code for spatialpy.core.reaction

         self.set_annotation(*args, **kwargs)
[docs] def initialize(self, model): - """ + """ Deferred object initialization, called by model.add_reaction() (deprecated). :param model: Target SpatialPy Model for annotation. :type model: spatialpy.core.model.Model """ - from spatialpy.core import log + from spatialpy.core import log log.warning( - """ + """ Reaction.initialize has been deprecated. Future releases of SpatialPy may not support this feature. Initialization of reactions is now completed in the constructor. @@ -794,7 +804,7 @@

Source code for spatialpy.core.reaction

       ©Copyright (C) 2019-2022.
       
       |
-      Powered by Sphinx 4.4.0
+      Powered by Sphinx 5.3.0
       & Alabaster 0.7.12
       
     
diff --git a/docs/build/html/_modules/spatialpy/core/result.html b/docs/build/html/_modules/spatialpy/core/result.html index 8e5ca966..5b710f91 100644 --- a/docs/build/html/_modules/spatialpy/core/result.html +++ b/docs/build/html/_modules/spatialpy/core/result.html @@ -5,14 +5,16 @@ - spatialpy.core.result — SpatialPy 1.1.0 documentation + spatialpy.core.result — SpatialPy 1.1.3 documentation + + @@ -73,7 +75,7 @@

Quick search

- + @@ -113,16 +115,16 @@

Source code for spatialpy.core.result

 import shutil
 import tempfile
 
-from collections import OrderedDict
+from collections import OrderedDict
 
 import numpy
 import plotly.graph_objs as go
-from plotly.offline import init_notebook_mode, iplot
+from plotly.offline import init_notebook_mode, iplot
 
 # from spatialpy.core.model import *
-from spatialpy.core.visualization import Visualization
-from spatialpy.core.vtkreader import VTKReader
-from spatialpy.core.spatialpyerror import ResultError
+from spatialpy.core.visualization import Visualization
+from spatialpy.core.vtkreader import VTKReader
+from spatialpy.core.spatialpyerror import ResultError
 
 try:
     import vtk
@@ -237,10 +239,10 @@ 

Source code for spatialpy.core.result

     return trace_list
 
 
[docs]class Result(): - """ + """ Result object for a URDME simulation. """ - def __init__(self, model=None, result_dir=None): + def __init__(self, model=None, result_dir=None): self.model = model self.tspan = None self.success = False @@ -250,7 +252,7 @@

Source code for spatialpy.core.result

         self.official_vtk = False
         self.result_dir = result_dir
 
-    def __eq__(self, other):
+    def __eq__(self, other):
         if isinstance(other, Result) and self.result_dir and other.result_dir:
             # Compare contents, not shallow compare
             filecmp.cmpfiles.__defaults__ = (False,)
@@ -262,7 +264,7 @@ 

Source code for spatialpy.core.result

             return False
         return NotImplemented
 
-    def __ne__(self, other):
+    def __ne__(self, other):
         return not self.__eq__(other)
 
     def __getstate__(self):
@@ -278,7 +280,7 @@ 

Source code for spatialpy.core.result

                             resultdict[filename] = state_file.read()
                 state['results_output'] = resultdict
             except Exception as err:
-                errmsg = f"Error pickling model, could not pickle the Result output files: {err}"
+                errmsg = f"Error pickling model, could not pickle the Result output files: {err}"
                 raise ResultError(errmsg) from err
             state[key] = item
 
@@ -297,16 +299,16 @@ 

Source code for spatialpy.core.result

                     state_file.seek(0)
                     state_file.write(contents)
         except Exception as err:
-            errmsg = f"Error unpickling model, could not recreate the Result output files: {err}"
+            errmsg = f"Error unpickling model, could not recreate the Result output files: {err}"
             raise ResultError(errmsg) from err
 
-    def __del__(self):
+    def __del__(self):
         try:
             if self.result_dir is not None:
                 try:
                     shutil.rmtree(self.result_dir)
                 except OSError:
-                    print(f"Could not delete '{self.result_dir}'")
+                    print(f"Could not delete '{self.result_dir}'")
         except Exception:
             pass
 
@@ -348,7 +350,7 @@ 

Source code for spatialpy.core.result

         return types
 
 
[docs] def read_step(self, step_num, debug=False): - """ + """ Read the data for simulation step 'step_num'. Returns a tuple containing a numpy.ndarray \ of point coordinates [0] along with a dictionary of property and species data [1] @@ -364,11 +366,11 @@

Source code for spatialpy.core.result

         :raises ResultError: Could not get result data for given step_num.
         """
         if debug:
-            print(f"read_step({step_num}) ", end='')
-        filename = os.path.join(self.result_dir, f"output{step_num}.vtk")
+            print(f"read_step({step_num}) ", end='')
+        filename = os.path.join(self.result_dir, f"output{step_num}.vtk")
 
         if debug:
-            print(f"opening '{filename}'")
+            print(f"opening '{filename}'")
 
         if self.official_vtk:
             reader = vtk.vtkGenericDataObjectReader()
@@ -396,12 +398,12 @@ 

Source code for spatialpy.core.result

             vtk_data = reader.get_arrays()
 
         if points is None or vtk_data is None:
-            raise ResultError(f"read_step(step_num={step_num}): got data = None")
+            raise ResultError(f"read_step(step_num={step_num}): got data = None")
 
         return (points, vtk_data)
[docs] def get_timespan(self): - """ + """ Get the model time span. Returns a numpy array containing the time span of the model. :returns: A numpy array of the timespan containing all output time points. @@ -412,7 +414,7 @@

Source code for spatialpy.core.result

         return self.tspan
[docs] def get_species(self, species, timepoints=None, concentration=False, deterministic=False, debug=False): - """ + """ Get the populations/concentration values for a given species in the model for one or all timepoints. Returns a numpy array containing the species population/concentration values. @@ -452,7 +454,7 @@

Source code for spatialpy.core.result

             spec_name = species.name
 
         if spec_name not in self.model.listOfSpecies.keys():
-            raise ResultError(f"Species '{spec_name}' not found")
+            raise ResultError(f"Species '{spec_name}' not found")
 
         l_time = len(self.get_timespan()) - 1
         t_index_arr = numpy.linspace(0, l_time, num=l_time + 1, dtype=int)
@@ -486,7 +488,7 @@ 

Source code for spatialpy.core.result

                      size=5, title=None, animated=False, t_ndx_list=None, speed=1,
                      f_duration=500, t_duration=300, return_plotly_figure=False,
                      use_matplotlib=False, debug=False):
-        """
+        """
         Plots the Results using plotly or matplotlib. Can be viewed in a Jupyter Notebook.
 
         If concentration is False (default), the integer, raw, trajectory data is returned,
@@ -565,7 +567,7 @@ 

Source code for spatialpy.core.result

         if animated and t_ndx_list is None:
             t_ndx_list = time_index_list
 
-        spec_name = f"C[{species}]" if deterministic else f"D[{species}]"
+        spec_name = f"C[{species}]" if deterministic else f"D[{species}]"
 
         # read data at time point
         if animated:
@@ -679,7 +681,7 @@ 

Source code for spatialpy.core.result

         iplot(fig)
[docs] def get_property(self, property_name, timepoints=None): - """ + """ Get the property values for a given species in the model for \ one or all timepoints. If 'timepoints' is None (default), a matrix of dimension: \ (number of timepoints) x (number of voxels) is returned. If an integer value is \ @@ -738,7 +740,7 @@

Source code for spatialpy.core.result

                       colormap=None, size=None, title=None, animated=False, t_ndx_list=None, speed=1,
                       f_duration=500, t_duration=300, included_types_list=None, return_plotly_figure=False,
                       use_matplotlib=False, debug=False):
-        """
+        """
         Plots the Results using plotly. Can only be viewed in a Jupyter Notebook.
 
         :param property_name: A string describing the property to be plotted.
@@ -978,7 +980,7 @@ 

Source code for spatialpy.core.result

         iplot(fig)
[docs] def export_to_csv(self, folder_name=None): - """ + """ Write the trajectory to a set of CSV files. The first, modelname_mesh.csv, specifies the mesh. The other files, modelname_species_S.csv, for species named S, specify trajectory data for each species. The columns of modelname_mesh.csv are: 'Voxel ID', 'X', 'Y', 'Z', 'Type', 'Volume', 'Mass', 'Viscosity' @@ -1004,19 +1006,19 @@

Source code for spatialpy.core.result

 
         for species in self.model.listOfSpecies:
             #['Voxel', 'Time 0', Time 1', ... 'Time N']
-            with open(os.path.join(folder_name, self.model.name + f'_species_{species}.csv'), 'w+') as csvfile:
+            with open(os.path.join(folder_name, self.model.name + f'_species_{species}.csv'), 'w+') as csvfile:
                 data = self.get_species(species)
                 (num_time, num_vox) = data.shape
                 writer = csv.writer(csvfile, delimiter=',')
                 header_row = ['Voxel']
                 for time in range(num_time):
-                    header_row.append(f'Time {time}')
+                    header_row.append(f'Time {time}')
                 writer.writerow(header_row)
                 for voxel in range(num_vox):
                     writer.writerow([voxel] + data[:,voxel].tolist())
def __export_to_vtk(self, timespan, folder_name=None): - """ + """ Write the trajectory to a collection of vtk files. The exported data is #molecules/volume, where the volume unit is implicit from the mesh dimension. Not currently implemented. @@ -1041,7 +1043,7 @@

Source code for spatialpy.core.result

       ©Copyright (C) 2019-2022.
       
       |
-      Powered by Sphinx 4.4.0
+      Powered by Sphinx 5.3.0
       & Alabaster 0.7.12
       
     
diff --git a/docs/build/html/_modules/spatialpy/core/spatialpyerror.html b/docs/build/html/_modules/spatialpy/core/spatialpyerror.html index bb7f26d3..ff55b286 100644 --- a/docs/build/html/_modules/spatialpy/core/spatialpyerror.html +++ b/docs/build/html/_modules/spatialpy/core/spatialpyerror.html @@ -5,14 +5,16 @@ - spatialpy.core.spatialpyerror — SpatialPy 1.1.0 documentation + spatialpy.core.spatialpyerror — SpatialPy 1.1.3 documentation + + @@ -73,7 +75,7 @@

Quick search

- + @@ -109,83 +111,83 @@

Source code for spatialpy.core.spatialpyerror

# Base Module Expections
[docs]class ModelError(Exception): - """ + """ Class for exceptions in the model module. """
[docs]class ResultError(Exception): - """ + """ Class for exceptions in the results module. """
[docs]class VisualizationError(Exception): - """ + """ Class for exceptions in the visualization module. """
[docs]class VTKReaderError(Exception): - """ + """ Bass class for exceptions in the vtkreader module. """
[docs]class SimulationError(Exception): - """ + """ Class for exceptions in the simulation module. """
# Model Component Exceptions
[docs]class BoundaryConditionError(ModelError): - """ + """ Base class for exceptions in the boundarycondition module. """
[docs]class DataFunctionError(ModelError): - """ + """ Class for exceptions in the datafunction module. """
[docs]class DomainError(ModelError): - """ + """ Class for exceptions in the domain module. """
[docs]class GeometryError(ModelError): - """ + """ Class for exceptions in the geometry module. """
[docs]class InitialConditionError(ModelError): - """ + """ Class for exceptions in initailcondition module. """
[docs]class LatticeError(ModelError): - """ + """ Class for exceptions in lattice module. """
[docs]class ParameterError(ModelError): - """ + """ Class for exceptions in parameter module. """
[docs]class ReactionError(ModelError): - """ + """ Class for exceptions in reaction module. """
[docs]class SpeciesError(ModelError): - """ + """ Class for exceptions in the species module. """
[docs]class TimespanError(ModelError): - """ + """ Class for exceptions in the timespan module. """
[docs]class TransformationError(ModelError): - """ + """ Class for exceptions in the transformation module. """
@@ -197,16 +199,16 @@

Source code for spatialpy.core.spatialpyerror

# VTKReader Exceptions
[docs]class VTKReaderIOError(VTKReaderError): - """ + """ Exception raised for I/O errors. """ - def __init__(self, message): + def __init__(self, message): super().__init__(message) self.message = message
# Simulation Exceptions
[docs]class SimulationTimeout(SimulationError): - """ + """ Exception raised for timeout errors. """
@@ -228,7 +230,7 @@

Source code for spatialpy.core.spatialpyerror

Sphinx 4.4.0 + Powered by Sphinx 5.3.0 & Alabaster 0.7.12
diff --git a/docs/build/html/_modules/spatialpy/core/species.html b/docs/build/html/_modules/spatialpy/core/species.html index 75ccce9a..3b5a89c6 100644 --- a/docs/build/html/_modules/spatialpy/core/species.html +++ b/docs/build/html/_modules/spatialpy/core/species.html @@ -5,14 +5,16 @@ - spatialpy.core.species — SpatialPy 1.1.0 documentation + spatialpy.core.species — SpatialPy 1.1.3 documentation + + @@ -73,7 +75,7 @@

Quick search

- + @@ -106,11 +108,11 @@

Source code for spatialpy.core.species

 
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
-from spatialpy.core.parameter import Parameter
-from spatialpy.core.spatialpyerror import SpeciesError
+from spatialpy.core.parameter import Parameter
+from spatialpy.core.spatialpyerror import SpeciesError
 
 
[docs]class Species(): - """ + """ Model of a biochemical species. Must be assigned a diffusion coefficent. :param name: Name of the Species @@ -123,7 +125,7 @@

Source code for spatialpy.core.species

     This effectively restricts the movement of 'species' to the types specified in 'listOfTypes'.
     :type restrict_to: int, str, list of ints or list of strs
     """
-    def __init__(self, name=None, diffusion_coefficient=None, restrict_to=None):
+    def __init__(self, name=None, diffusion_coefficient=None, restrict_to=None):
         if not (restrict_to is None or isinstance(restrict_to, (str, int, list))):
             raise SpeciesError("Restrict_to must be an int, str or list of ints or strs.")
         if restrict_to is not None and isinstance(restrict_to, (int, str)):
@@ -136,16 +138,16 @@ 

Source code for spatialpy.core.species

         else:
             self.restrict_to = []
             for type_id in restrict_to:
-                self.restrict_to.append(f"type_{type_id}")
+                self.restrict_to.append(f"type_{type_id}")
 
         self.validate()
 
-    def __str__(self):
-        print_string = f"{self.name}: {str(self.diffusion_coefficient)}"
+    def __str__(self):
+        print_string = f"{self.name}: {str(self.diffusion_coefficient)}"
         return print_string
 
 
[docs] def set_diffusion_coefficient(self, diffusion_coefficient): - """ + """ Setter method for non-constant coefficient of diffusion for Species. :param diffusion_coefficient: Non-constant coefficient of diffusion for Species. @@ -158,7 +160,7 @@

Source code for spatialpy.core.species

         self.diffusion_coefficient = diffusion_coefficient
[docs] def validate(self, diffusion_coefficient=None, coverage="all"): - """ + """ Validate the species. :param coverage: The scope of attributes to validate. Set to an attribute name to restrict validation \ @@ -173,7 +175,7 @@

Source code for spatialpy.core.species

             if self.name is None:
                 raise SpeciesError("name can't be None type.")
             if not isinstance(self.name, str):
-                raise SpeciesError(f"name must be of type str not {type(self.name)}.")
+                raise SpeciesError(f"name must be of type str not {type(self.name)}.")
             if self.name == "":
                 raise SpeciesError("name can't be an empty str.")
 
@@ -187,7 +189,7 @@ 

Source code for spatialpy.core.species

             if not (isinstance(diffusion_coefficient, (Parameter, str, float, int)) or \
                     type(diffusion_coefficient).__name__ == 'Parameter'):
                 errmsg = "diffusion_coefficient must be of type SpatialPy.Parameter, "
-                errmsg += f"str, int, float not {type(diffusion_coefficient)}"
+                errmsg += f"str, int, float not {type(diffusion_coefficient)}"
                 raise SpeciesError(errmsg)
             if isinstance(diffusion_coefficient, (int, float)) and diffusion_coefficient < 0:
                 raise SpeciesError("diffusion_coefficient must be a positive value.")
@@ -217,7 +219,7 @@ 

Source code for spatialpy.core.species

       ©Copyright (C) 2019-2022.
       
       |
-      Powered by Sphinx 4.4.0
+      Powered by Sphinx 5.3.0
       & Alabaster 0.7.12
       
     
diff --git a/docs/build/html/_modules/spatialpy/core/timespan.html b/docs/build/html/_modules/spatialpy/core/timespan.html index 6db0558c..5fef7033 100644 --- a/docs/build/html/_modules/spatialpy/core/timespan.html +++ b/docs/build/html/_modules/spatialpy/core/timespan.html @@ -5,14 +5,16 @@ - spatialpy.core.timespan — SpatialPy 1.1.0 documentation + spatialpy.core.timespan — SpatialPy 1.1.3 documentation + + @@ -73,7 +75,7 @@

Quick search

- + @@ -108,12 +110,12 @@

Source code for spatialpy.core.timespan

 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 import math
 import numpy as np
-from collections.abc import Iterator
+from collections.abc import Iterator
 
-from .spatialpyerror import TimespanError
+from .spatialpyerror import TimespanError
 
 
[docs]class TimeSpan(Iterator): - """ + """ Model timespan that describes the duration to run the simulation and at which timepoint to sample the species populations during the simulation. @@ -126,7 +128,7 @@

Source code for spatialpy.core.timespan

 
     :raises TimespanError: items is an invalid type.
     """
-    def __init__(self, items, timestep_size=None):
+    def __init__(self, items, timestep_size=None):
         if isinstance(items, (list, tuple, range)):
             items = np.array(items)
 
@@ -141,22 +143,22 @@ 

Source code for spatialpy.core.timespan

 
         self.validate(coverage="initialized")
 
-    def __eq__(self, o):
+    def __eq__(self, o):
         return self.items.__eq__(o).all()
 
-    def __getitem__(self, key):
+    def __getitem__(self, key):
         return self.items.__getitem__(key)
 
-    def __iter__(self):
+    def __iter__(self):
         return self.items.__iter__()
 
-    def __len__(self):
+    def __len__(self):
         return self.items.__len__()
 
-    def __next__(self):
+    def __next__(self):
         return self.items.__next__()
 
-    def __str__(self):
+    def __str__(self):
         return self.items.__str__()
 
     def _ipython_display_(self):
@@ -179,7 +181,7 @@ 

Source code for spatialpy.core.timespan

 
 
[docs] @classmethod def linspace(cls, t=20, num_points=None, timestep_size=None): - """ + """ Creates a timespan using the form np.linspace(0, <t>, <num_points, inclusive>). :param t: End time for the simulation. @@ -208,7 +210,7 @@

Source code for spatialpy.core.timespan

 
 
[docs] @classmethod def arange(cls, increment, t=20, timestep_size=None): - """ + """ Creates a timespan using the form np.arange(0, <t, inclusive>, <increment>). :param increment: Distance between sample points for the species populations during the simulation. @@ -234,7 +236,7 @@

Source code for spatialpy.core.timespan

         return cls(items, timestep_size=timestep_size)
[docs] def validate(self, items=None, timestep_size=None, coverage="build"): - """ + """ Validate the models time span :param timestep_size: Size of each timestep in seconds @@ -322,7 +324,7 @@

Source code for spatialpy.core.timespan

       ©Copyright (C) 2019-2022.
       
       |
-      Powered by Sphinx 4.4.0
+      Powered by Sphinx 5.3.0
       & Alabaster 0.7.12
       
     
diff --git a/docs/build/html/_modules/spatialpy/core/transformation.html b/docs/build/html/_modules/spatialpy/core/transformation.html index 6178cd8d..173718e6 100644 --- a/docs/build/html/_modules/spatialpy/core/transformation.html +++ b/docs/build/html/_modules/spatialpy/core/transformation.html @@ -5,14 +5,16 @@ - spatialpy.core.transformation — SpatialPy 1.1.0 documentation + spatialpy.core.transformation — SpatialPy 1.1.3 documentation + + @@ -73,7 +75,7 @@

Quick search

- + @@ -109,13 +111,13 @@

Source code for spatialpy.core.transformation

import copy import numpy -from spatialpy.core.geometry import Geometry, CombinatoryGeometry -from spatialpy.core.lattice import Lattice -from spatialpy.core.spatialpyerror import TransformationError +from spatialpy.core.geometry import Geometry, CombinatoryGeometry +from spatialpy.core.lattice import Lattice +from spatialpy.core.spatialpyerror import TransformationError
[docs]class Transformation: - """ + """ Transformation class provides a methods for applying and reversing transformations to parts the spatial domain. @@ -134,7 +136,7 @@

Source code for spatialpy.core.transformation

:raises TransformationError: if the provided Geometry, Lattice, or Transformation are invalid. """ - def __init__(self, geometry=None, lattice=None, transformation=None, skip_validate=False): + def __init__(self, geometry=None, lattice=None, transformation=None, skip_validate=False): self.geometry = geometry self.lattice = lattice self.transformation = transformation @@ -143,7 +145,7 @@

Source code for spatialpy.core.transformation

self.validate()
[docs] def apply(self, domain, geometry, **kwargs): - """ + """ Wrapper for Lattice.apply that passes in a transformation function used to transform particles within the region defined by the lattice and geometry. @@ -167,7 +169,7 @@

Source code for spatialpy.core.transformation

return self.lattice.apply(domain, geometry, transform=self.transform, **kwargs)
[docs] def inside(self, point, on_boundary): - """ + """ Wrapper for Geometry.inside. :param point: X, Y, Z coodinates for the particle. @@ -188,7 +190,7 @@

Source code for spatialpy.core.transformation

return self.geometry.inside(r_point, on_boundary)
[docs] def reverse_transform(self, point): - """ + """ Reverses the define transformation for the given point. :param point: X, Y, Z coodinates for the particle. @@ -202,7 +204,7 @@

Source code for spatialpy.core.transformation

)
[docs] def transform(self, point): - """ + """ Applies the define transformation to the given point. :param point: X, Y, Z coodinates for the particle. @@ -216,7 +218,7 @@

Source code for spatialpy.core.transformation

)
[docs] def validate(self): - """ + """ Validate the geometry, lattice, and transformation attributes. """ if self.geometry is not None: @@ -234,7 +236,7 @@

Source code for spatialpy.core.transformation

raise TransformationError("transformation must be of type spatialpy.Transformation.")
[docs]class TranslationTransformation(Transformation): - """ + """ Translation transformation class provides a methods for applying and reversing translation transformations by an arbitrary vector to parts the spatial domain. @@ -258,7 +260,7 @@

Source code for spatialpy.core.transformation

:raises TransformationError: if the provided Geometry, Lattice, or Transformation are invalid. """ - def __init__(self, vector, geometry=None, lattice=None, transformation=None): + def __init__(self, vector, geometry=None, lattice=None, transformation=None): super().__init__( geometry=geometry, lattice=lattice, transformation=transformation, skip_validate=True ) @@ -293,7 +295,7 @@

Source code for spatialpy.core.transformation

return t_point
[docs] def reverse_transform(self, point): - """ + """ Reverses the defined rotation transformation for the given point. :param point: X, Y, Z coodinates for the particle. @@ -310,7 +312,7 @@

Source code for spatialpy.core.transformation

return self.__execute(point, self.vector * -1)
[docs] def transform(self, point): - """ + """ Applies the defined translation transformation to the given point. :param point: X, Y, Z coodinates for the particle. @@ -327,13 +329,13 @@

Source code for spatialpy.core.transformation

return t_point
[docs] def validate(self): - """ + """ Validate the rotation transformation attributes. """ super().validate()
[docs]class RotationTransformation(Transformation): - """ + """ Rotation transformation class provides a methods for applying and reversing rotation transformations around an arbitrary vector by a given angle to parts the spatial domain. @@ -360,7 +362,7 @@

Source code for spatialpy.core.transformation

:raises TransformationError: if the provided Geometry, Lattice, or Transformation are invalid. """ - def __init__(self, vector, angle, geometry=None, lattice=None, transformation=None): + def __init__(self, vector, angle, geometry=None, lattice=None, transformation=None): super().__init__( geometry=geometry, lattice=lattice, transformation=transformation, skip_validate=True ) @@ -411,7 +413,7 @@

Source code for spatialpy.core.transformation

return numpy.matmul(matrix, point)
[docs] def reverse_transform(self, point): - """ + """ Reverses the defined rotation transformation for the given point. :param point: X, Y, Z coodinates for the particle. @@ -429,7 +431,7 @@

Source code for spatialpy.core.transformation

return self.__execute(point, sin_t, cos_t)
[docs] def transform(self, point): - """ + """ Applies the defined rotation transformation to the given point. :param point: X, Y, Z coodinates for the particle. @@ -449,7 +451,7 @@

Source code for spatialpy.core.transformation

return t_point
[docs] def validate(self): - """ + """ Validate the rotation transformation attributes. """ super().validate() @@ -458,7 +460,7 @@

Source code for spatialpy.core.transformation

raise TransformationError("angle must be of type float.")
[docs]class ReflectionTransformation(Transformation): - """ + """ Reflection transformation class provides a methods for applying and reversing reflection transformations around an arbitrary plane to parts the spatial domain. @@ -490,7 +492,7 @@

Source code for spatialpy.core.transformation

:raises TransformationError: if the provided Geometry, Lattice, or Transformation are invalid. """ - def __init__(self, point1, normal=None, point2=None, + def __init__(self, point1, normal=None, point2=None, point3=None, geometry=None, lattice=None, transformation=None): super().__init__( geometry=geometry, lattice=lattice, transformation=transformation, skip_validate=True @@ -537,7 +539,7 @@

Source code for spatialpy.core.transformation

return numpy.matmul(matrix, p_vector) + self.point
[docs] def reverse_transform(self, point): - """ + """ Reverses the defined reflection transformation for the given point. :param point: X, Y, Z coodinates for the particle. @@ -552,7 +554,7 @@

Source code for spatialpy.core.transformation

return self.__execute(point)
[docs] def transform(self, point): - """ + """ Applies the defined reflection transformation to the given point. :param point: X, Y, Z coodinates for the particle. @@ -569,7 +571,7 @@

Source code for spatialpy.core.transformation

return t_point
[docs]class ScalingTransformation(Transformation): - """ + """ Scaling transformation class provides a methods for applying and reversing scaling transformations around an arbitrary plane to parts the spatial domain. @@ -595,7 +597,7 @@

Source code for spatialpy.core.transformation

:raises TransformationError: if the provided Geometry, Lattice, or Transformation are invalid. """ - def __init__(self, factor, center=None, geometry=None, lattice=None, transformation=None): + def __init__(self, factor, center=None, geometry=None, lattice=None, transformation=None): super().__init__( geometry=geometry, lattice=lattice, transformation=transformation, skip_validate=True ) @@ -621,7 +623,7 @@

Source code for spatialpy.core.transformation

return t_point
[docs] def reverse_transform(self, point): - """ + """ Reverses the defined scaling transformation for the given point. :param point: X, Y, Z coodinates for the particle. @@ -636,7 +638,7 @@

Source code for spatialpy.core.transformation

return self.__execute(point, 1 / self.factor)
[docs] def transform(self, point): - """ + """ Applies the defined scaling transformation to the given point. :param point: X, Y, Z coodinates for the particle. @@ -653,15 +655,15 @@

Source code for spatialpy.core.transformation

return t_point
[docs] def validate(self): - """ + """ Validate the scaling transformation attributes. """ super().validate() if not isinstance(self.factor, (int, float)): - raise TransformationError(f"factor must be of type float not {type(self.factor)}") + raise TransformationError(f"factor must be of type float not {type(self.factor)}") if self.factor <= 0: - raise TransformationError(f"factor must be positive.")
+ raise TransformationError(f"factor must be positive.")
@@ -681,7 +683,7 @@

Source code for spatialpy.core.transformation

Sphinx 4.4.0 + Powered by Sphinx 5.3.0 & Alabaster 0.7.12
diff --git a/docs/build/html/_modules/spatialpy/core/visualization.html b/docs/build/html/_modules/spatialpy/core/visualization.html index 7f8124b4..866d775c 100644 --- a/docs/build/html/_modules/spatialpy/core/visualization.html +++ b/docs/build/html/_modules/spatialpy/core/visualization.html @@ -5,14 +5,16 @@ - spatialpy.core.visualization — SpatialPy 1.1.0 documentation + spatialpy.core.visualization — SpatialPy 1.1.3 documentation + + @@ -73,7 +75,7 @@

Quick search

- + @@ -116,7 +118,7 @@

Source code for spatialpy.core.visualization

except ImportError as err:
     mpl_import_err = err
 
-from spatialpy.core.spatialpyerror import VisualizationError
+from spatialpy.core.spatialpyerror import VisualizationError
 
 common_rgb_values=['#1f77b4','#ff7f0e','#2ca02c','#d62728','#9467bd','#8c564b','#e377c2','#7f7f7f',
                    '#bcbd22','#17becf','#ff0000','#00ff00','#0000ff','#ffff00','#00ffff','#ff00ff',
@@ -158,8 +160,8 @@ 

Source code for spatialpy.core.visualization

if name in supported_splts_args or name in supported_fig_args:
             kwargs[name] = val
         else:
-            from spatialpy.core import log # pylint: disable=import-outside-toplevel
-            logmsg = f"Un-supported key word argument: {name} is not currently supported"
+            from spatialpy.core import log # pylint: disable=import-outside-toplevel
+            logmsg = f"Un-supported key word argument: {name} is not currently supported"
             log.warning(logmsg)
     return kwargs
 
@@ -169,14 +171,14 @@ 

Source code for spatialpy.core.visualization

MPL_HEIGHT = 4.8
     MPL_SIZE = 40
 
-    def __init__(self, data):
+    def __init__(self, data):
         self.data = data
 
     def __get_grid_shape(self, multiple_graphs):
         if isinstance(multiple_graphs, tuple):
             num_subplots = multiple_graphs[0] * multiple_graphs[1]
             if num_subplots < len(self.data.keys()):
-                errmsg = f"The shape {multiple_graphs} of the graphs is to small for the given data"
+                errmsg = f"The shape {multiple_graphs} of the graphs is to small for the given data"
                 raise VisualizationError(errmsg)
             nrows = multiple_graphs[0]
             ncols = multiple_graphs[1]
@@ -193,7 +195,7 @@ 

Source code for spatialpy.core.visualization

group_args = args[name]
         if "cmap" in group_args and "color" in group_args:
-            errmsg = f"scatter args for {name}: 'cmap' and 'color' cannot both be set."
+            errmsg = f"scatter args for {name}: 'cmap' and 'color' cannot both be set."
             raise VisualizationError(errmsg)
 
         kwargs = {}
@@ -201,8 +203,8 @@ 

Source code for spatialpy.core.visualization

if arg_name in supported_args:
                 kwargs[arg_name] = val
             else:
-                from spatialpy.core import log # pylint: disable=import-outside-toplevel
-                logmsg = f"Un-supported key word argument: {arg_name} is not currently supported"
+                from spatialpy.core import log # pylint: disable=import-outside-toplevel
+                logmsg = f"Un-supported key word argument: {arg_name} is not currently supported"
                 log.warning(logmsg)
         if "s" not in kwargs:
             if "size_scale" in self.data[name]:
@@ -214,7 +216,7 @@ 

Source code for spatialpy.core.visualization

return kwargs
 
 
[docs] def plot_scatter(self, plot_args=None, scatter_args=None, multiple_graphs=False, title=None, limits=None): - """ + """ Visualize data using maplotlib scatter plots. :param plot_args: additional keyword arguments passed to :py:class:`matplotlib.pyplot.subplots` @@ -294,7 +296,7 @@

Source code for spatialpy.core.visualization

Sphinx 4.4.0
+      Powered by Sphinx 5.3.0
       & Alabaster 0.7.12
       
     
diff --git a/docs/build/html/_modules/spatialpy/core/vtkreader.html b/docs/build/html/_modules/spatialpy/core/vtkreader.html index 9dfd98e5..68f08c44 100644 --- a/docs/build/html/_modules/spatialpy/core/vtkreader.html +++ b/docs/build/html/_modules/spatialpy/core/vtkreader.html @@ -5,14 +5,16 @@ - spatialpy.core.vtkreader — SpatialPy 1.1.0 documentation + spatialpy.core.vtkreader — SpatialPy 1.1.3 documentation + + @@ -73,7 +75,7 @@

Quick search

- + @@ -109,7 +111,7 @@

Source code for spatialpy.core.vtkreader

 
 import numpy
 
-from spatialpy.core.spatialpyerror import VTKReaderIOError
+from spatialpy.core.spatialpyerror import VTKReaderIOError
 
 def _is_valid_num(numstr):
     try:
@@ -130,10 +132,10 @@ 

Source code for spatialpy.core.vtkreader

             name, col, row, datatype = line.strip().split()
             # got another PointData section
         except Exception as err:
-            print(f"Error: {err}")
+            print(f"Error: {err}")
             print("on line >>>")
             print(line, end='')
-            print(f"<<< {data_file.tell()}")
+            print(f"<<< {data_file.tell()}")
             raise err
         col = int(col)
         row = int(row)
@@ -171,7 +173,7 @@ 

Source code for spatialpy.core.vtkreader

     vtkdata[name] = array
 
 
[docs]class VTKReader: - """ + """ VTKReader.py: SpatialPy minimal VTK legacy file reader. Reference: https://vtk.org/wp-content/uploads/2015/04/file-formats.pdf @@ -181,7 +183,7 @@

Source code for spatialpy.core.vtkreader

     :param debug: If true, will print debugging information.
     :type debug: bool
     """
-    def __init__(self, filename=None, debug=False):
+    def __init__(self, filename=None, debug=False):
 
         self.filename = filename
         self.pointdatatype = None
@@ -203,7 +205,7 @@ 

Source code for spatialpy.core.vtkreader

         return pointlist
 
 
[docs] def set_filename(self, filename): - """ + """ Set the filename. :params filename: Filename @@ -212,7 +214,7 @@

Source code for spatialpy.core.vtkreader

         self.filename = filename
[docs] def get_array_name(self, index): - """ + """ Get the array name. :param index: index @@ -228,7 +230,7 @@

Source code for spatialpy.core.vtkreader

         return None
[docs] def get_arrays(self): - """ + """ Get the dictionary of arrays. :returns: dictionary of data arrays @@ -237,7 +239,7 @@

Source code for spatialpy.core.vtkreader

         return self.arrays
[docs] def get_num_points(self): - """ + """ Get the number of points. :returns: Number of points @@ -246,7 +248,7 @@

Source code for spatialpy.core.vtkreader

         return self.numpoints
[docs] def get_points(self): - """ + """ Get the list of points. :returns: List of points. @@ -255,21 +257,21 @@

Source code for spatialpy.core.vtkreader

         return self.points
[docs] def read_file(self): - """ + """ Read VTK file. :raises VTKReaderIOError: Invalid ASCII VTK file """ with open(self.filename, encoding="utf-8") as data_file: if self.debug: - print(f"open({self.filename})") + print(f"open({self.filename})") tmp = data_file.readline() tmp = data_file.readline() # We only output ASCII so we can ignore BINARY tmp = data_file.readline() if tmp.strip().upper() != "ASCII": - raise VTKReaderIOError(f"{self.filename} doesn't look like a valid ASCII VTK file.") + raise VTKReaderIOError(f"{self.filename} doesn't look like a valid ASCII VTK file.") tmp = data_file.readline() @@ -304,7 +306,7 @@

Source code for spatialpy.core.vtkreader

       ©Copyright (C) 2019-2022.
       
       |
-      Powered by Sphinx 4.4.0
+      Powered by Sphinx 5.3.0
       & Alabaster 0.7.12
       
     
diff --git a/docs/build/html/_modules/spatialpy/solvers/build_expression.html b/docs/build/html/_modules/spatialpy/solvers/build_expression.html index 0f15eacd..86525ec6 100644 --- a/docs/build/html/_modules/spatialpy/solvers/build_expression.html +++ b/docs/build/html/_modules/spatialpy/solvers/build_expression.html @@ -5,14 +5,16 @@ - spatialpy.solvers.build_expression — SpatialPy 1.1.0 documentation + spatialpy.solvers.build_expression — SpatialPy 1.1.3 documentation + + @@ -73,7 +75,7 @@

Quick search

- + @@ -110,7 +112,7 @@

Source code for spatialpy.solvers.build_expression

import ast
[docs]class BuildExpression: - """ + """ Accepts an expression string to validate and convert. Allows for pre-flight syntax and namespace validations, as well as converting between Python and C++ expressions. @@ -134,7 +136,7 @@

Source code for spatialpy.solvers.build_expression

corresponding namespace values in the namespace dict when getexpr_* methods are called. :type sanitize: bool """ - def __init__(self, blacklist=None, namespace=None, sanitize=False): + def __init__(self, blacklist=None, namespace=None, sanitize=False): if blacklist is None: blacklist = dict({}) elif not isinstance(blacklist, dict): @@ -146,7 +148,7 @@

Source code for spatialpy.solvers.build_expression

self.sanitize = sanitize
[docs] class ValidationVisitor(ast.NodeTransformer): - """ + """ A subclass of ast.NodeTransformer used to sanitize spatialpy expresions. :param namespace: SpactialPy namespace. @@ -158,7 +160,7 @@

Source code for spatialpy.solvers.build_expression

:param sanitize: Whether or not to sanitize nodes. :type sanitize: bool """ - def __init__(self, namespace=None, blacklist=None, sanitize=False): + def __init__(self, namespace=None, blacklist=None, sanitize=False): self.namespace = dict({}) if namespace is None else namespace self.blacklist = dict({}) if blacklist is None else blacklist self.sanitize = sanitize @@ -166,7 +168,7 @@

Source code for spatialpy.solvers.build_expression

self.invalid_operators = [] def _check_blacklist(self, operator): - """ + """ Helper function to check literal expression operators against blacklisted operators :param operator: operator to check @@ -177,7 +179,7 @@

Source code for spatialpy.solvers.build_expression

self.invalid_operators.append(str(self.blacklist.get(operator)))
[docs] def visit_Name(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.Name nodes. :param node: A node of type 'Name' from an AST. @@ -194,7 +196,7 @@

Source code for spatialpy.solvers.build_expression

return node
[docs] def visit_Call(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.Call nodes. :param node: A node of type 'Call' from an AST. @@ -211,7 +213,7 @@

Source code for spatialpy.solvers.build_expression

return node
[docs] def visit_BinOp(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.BinOp nodes. :param node: A node of type 'BinOp' from an AST. @@ -225,7 +227,7 @@

Source code for spatialpy.solvers.build_expression

return node
[docs] def visit_UnaryOp(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.UnaryOp nodes. :param node: A node of type 'UnaryOp' from an AST. @@ -239,7 +241,7 @@

Source code for spatialpy.solvers.build_expression

return node
[docs] def visit_BoolOp(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.BoolOp nodes. :param node: A node of type 'BoolOp' from an AST. @@ -253,7 +255,7 @@

Source code for spatialpy.solvers.build_expression

return node
[docs] def visit_Compare(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.Compare nodes. :param node: A node of type 'Compare' from an AST. @@ -268,7 +270,7 @@

Source code for spatialpy.solvers.build_expression

return node
[docs] def visit_Assign(self, node: "ast.Assign"): # pylint: disable=invalid-name - """ + """ Visitor function for ast.Assign nodes. :param node: A node of type 'Assign' from an AST. @@ -310,7 +312,7 @@

Source code for spatialpy.solvers.build_expression

[docs] @classmethod def map_operator(cls, operator): - """ + """ Map operator strings with built expressions. :param operator: Operator to be mapped @@ -328,7 +330,7 @@

Source code for spatialpy.solvers.build_expression

yield operator
[docs] def with_blacklist(self, blacklist=None): - """ + """ Create a new duplicate of the current expression, with a different operator blacklist. Overrides operator handling behavior when converting or validating the expression. @@ -344,7 +346,7 @@

Source code for spatialpy.solvers.build_expression

return BuildExpression(blacklist=blacklist, namespace=self.namespace)
[docs] def with_namespace(self, namespace=None): - """ + """ Create a new duplicate of the current expression, with a different namespace. Any identifiers present in the expression which are not listed in the namespace will cause the expression to be flagged as an invalid namespace during validation. @@ -363,7 +365,7 @@

Source code for spatialpy.solvers.build_expression

return BuildExpression(blacklist=self.blacklist.copy(), namespace=namespace)
[docs] def validate(self, statement): - """ + """ Using the information provided so far, ensure that the given Python expression is valid. The Python expression is parsed, raising a SyntaxError if it is an invalid Python expression. The expression is then checked against the given properties, such as namespace and operator blacklist. @@ -384,7 +386,7 @@

Source code for spatialpy.solvers.build_expression

return ExpressionResults(invalid_names=validator.invalid_names, invalid_operators=validator.invalid_operators)
[docs] def getexpr_python(self, statement): - """ + """ Converts the expression object into a Python expression string. :param statement: C++ expression to be converted. @@ -399,7 +401,7 @@

Source code for spatialpy.solvers.build_expression

return self.__get_expr(PythonConverter(expr))
[docs] def getexpr_cpp(self, statement): - """ + """ Converts the expression object into a C++ expression string. Raises a SyntaxError if conversion to a C++ string is impossible. @@ -417,7 +419,7 @@

Source code for spatialpy.solvers.build_expression

[docs]class ExpressionResults: - """ + """ Container struct for returning the results of expression validation. Any expression items which indicate an invalid expression are listed on an ExpressionResults instance. Empty lists indicate that the expression is valid. @@ -434,20 +436,20 @@

Source code for spatialpy.solvers.build_expression

If not set, then the validity of the expression is inferred by the `invalid_*` lists provided. :type is_valid: bool """ - def __init__(self, invalid_names=None, invalid_operators=None, is_valid=True): + def __init__(self, invalid_names=None, invalid_operators=None, is_valid=True): self.invalid_names = invalid_names self.invalid_operators = invalid_operators self.is_valid = is_valid and (not invalid_names and not invalid_operators)
[docs]class ExpressionConverter(ast.NodeVisitor): - """ + """ A subclass of ast.NodeVisitor used to convert spatialpy expresions. :param tree: An abstract syntax tree. :type tree: ast.AST """ - def __init__(self, tree): + def __init__(self, tree): self.tree = tree self.expression = [] @@ -457,7 +459,7 @@

Source code for spatialpy.solvers.build_expression

[docs] @classmethod def convert_str(cls, expression): - """ + """ Convert '^' to python pow operator. :param expression: BuildExpression to be converted. @@ -466,37 +468,37 @@

Source code for spatialpy.solvers.build_expression

return expression.replace("^", "**")
[docs] def parse_operator(self, operator): - """ + """ Create a new mathematical expression from the given operator and the last two expressions in self.expression. :param operator: Target operator for the new expression. :type operator: str """ - expr = f"({self.expression.pop()}{operator}{self.expression.pop()})" + expr = f"({self.expression.pop()}{operator}{self.expression.pop()})" self.expression.append(expr)
[docs] def parse_logical(self, operator): - """ + """ Create a new logical expression from the given operator and the last two expressions in self.expression. :param operator: Target operator for the new expression. :type operator: str """ - expr = f"{self.expression.pop()} {operator} {self.expression.pop()}" + expr = f"{self.expression.pop()} {operator} {self.expression.pop()}" self.expression.append(expr)
[docs] def parse_comparison(self, comparator): - """ + """ Create a new comparison expression from the given operator and the last two expressions in self.expression. :param operator: Target operator for the new expression. :type operator: str """ - expr = f"{self.expression.pop()} {comparator} {self.expression.pop()}" + expr = f"{self.expression.pop()} {comparator} {self.expression.pop()}" self.expression.append(expr)
[docs] def visit_Name(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.Name nodes. :param node: A node of type 'Name' from an AST. @@ -506,7 +508,7 @@

Source code for spatialpy.solvers.build_expression

self.generic_visit(node)
[docs] def visit_Constant(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.Constant nodes. :param node: A node of type 'Constant' from an AST. @@ -520,7 +522,7 @@

Source code for spatialpy.solvers.build_expression

### They are included for compatibility with 3.7 and earlier. ### ### If <=3.7 becomes unsupported, please remove these visitor methods. ###
[docs] def visit_Num(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.Num nodes. :param node: A node of type 'Num' from an AST. @@ -530,7 +532,7 @@

Source code for spatialpy.solvers.build_expression

self.generic_visit(node)
[docs] def visit_Str(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.Str nodes. :param node: A node of type 'Str' from an AST. @@ -540,7 +542,7 @@

Source code for spatialpy.solvers.build_expression

self.generic_visit(node)
[docs] def visit_Bytes(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.Bytes nodes. :param node: A node of type 'Bytes' from an AST. @@ -550,7 +552,7 @@

Source code for spatialpy.solvers.build_expression

self.generic_visit(node)
[docs] def visit_NameConstant(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.NameConstant nodes. :param node: A node of type 'NameConstant' from an AST. @@ -560,7 +562,7 @@

Source code for spatialpy.solvers.build_expression

self.generic_visit(node)
[docs] def visit_Ellipsis(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.Ellipsis nodes. :param node: A node of type 'Ellipsis' from an AST. @@ -572,7 +574,7 @@

Source code for spatialpy.solvers.build_expression

###########################################################################
[docs] def visit_BinOp(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.BinOp nodes. Right node is visited first. By visiting the left node last, the most recently appended token is always the left-hand token. This allows us to always append when adding to the expression, and always pop when processing it. @@ -585,7 +587,7 @@

Source code for spatialpy.solvers.build_expression

self.visit(node.op)
[docs] def visit_Call(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.Call nodes. :param node: A node of type 'Call' from an AST. @@ -596,11 +598,11 @@

Source code for spatialpy.solvers.build_expression

self.visit(arg) arg_list.append(self.expression.pop()) arg_list = ",".join(arg_list) - expr = f"{node.func.id}({arg_list})" + expr = f"{node.func.id}({arg_list})" self.expression.append(expr)
[docs] def visit_BoolOp(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.BoolOp nodes. Base converter class assumes that "And" and "Or" operations are defined by inheriting class. Implement visit_And() and visit_Or() to define behavior. @@ -616,7 +618,7 @@

Source code for spatialpy.solvers.build_expression

self.visit(node.op)
[docs] def visit_Add(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.Add nodes. :param node: A node of type 'Add' from an AST. @@ -626,7 +628,7 @@

Source code for spatialpy.solvers.build_expression

self.parse_operator("+")
[docs] def visit_Sub(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.Sub nodes. :param node: A node of type 'Sub' from an AST. @@ -636,7 +638,7 @@

Source code for spatialpy.solvers.build_expression

self.parse_operator("-")
[docs] def visit_Mult(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.Mult nodes. :param node: A node of type 'Mult' from an AST. @@ -646,7 +648,7 @@

Source code for spatialpy.solvers.build_expression

self.parse_operator("*")
[docs] def visit_Div(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.Div nodes. :param node: A node of type 'Div' from an AST. @@ -656,7 +658,7 @@

Source code for spatialpy.solvers.build_expression

self.parse_operator("/")
[docs] def visit_Pow(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.Pow nodes. :param node: A node of type 'Pow' from an AST. @@ -666,7 +668,7 @@

Source code for spatialpy.solvers.build_expression

self.parse_operator("**")
[docs] def visit_Compare(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.Compare nodes. :param node: A node of type 'Compare' from an AST. @@ -679,7 +681,7 @@

Source code for spatialpy.solvers.build_expression

self.visit(operator)
[docs] def visit_Eq(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.Eq nodes. :param node: A node of type 'Eq' from an AST. @@ -689,7 +691,7 @@

Source code for spatialpy.solvers.build_expression

self.parse_comparison("==")
[docs] def visit_NotEq(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.NotEq nodes. :param node: A node of type 'NotEq' from an AST. @@ -699,7 +701,7 @@

Source code for spatialpy.solvers.build_expression

self.parse_comparison("!=")
[docs] def visit_Lt(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.Lt nodes. :param node: A node of type 'Lt' from an AST. @@ -709,7 +711,7 @@

Source code for spatialpy.solvers.build_expression

self.parse_comparison("<")
[docs] def visit_LtE(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.LtE nodes. :param node: A node of type 'LtE' from an AST. @@ -719,7 +721,7 @@

Source code for spatialpy.solvers.build_expression

self.parse_comparison("<=")
[docs] def visit_Gt(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.Gt nodes. :param node: A node of type 'Gt' from an AST. @@ -729,7 +731,7 @@

Source code for spatialpy.solvers.build_expression

self.parse_comparison(">")
[docs] def visit_GtE(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.GtE nodes. :param node: A node of type 'GtE' from an AST. @@ -739,7 +741,7 @@

Source code for spatialpy.solvers.build_expression

self.parse_comparison(">=")
[docs] def visit_UnaryOp(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.UnaryOp nodes. :param node: A node of type 'UnaryOp' from an AST. @@ -749,16 +751,16 @@

Source code for spatialpy.solvers.build_expression

self.visit(node.op)
[docs] def visit_USub(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.USub nodes. :param node: A node of type 'USub' from an AST. :type node: ast.USub """ - self.expression.append(f"-{self.expression.pop()}")
+ self.expression.append(f"-{self.expression.pop()}")
[docs] def get_str(self): - """ + """ Get the string representation of the expression. :returns: The string expression of self.tree. @@ -767,11 +769,11 @@

Source code for spatialpy.solvers.build_expression

return self._get_str(self.tree)
[docs]class PythonConverter(ExpressionConverter): - """ + """ Converts an ast.AST to a Python expression string. """
[docs] def visit_And(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.And nodes. :param node: A node of type 'And' from an AST. @@ -780,7 +782,7 @@

Source code for spatialpy.solvers.build_expression

self.parse_logical("and")
[docs] def visit_Or(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.Or nodes. :param node: A node of type 'Or' from an AST. @@ -789,15 +791,15 @@

Source code for spatialpy.solvers.build_expression

self.parse_logical("or")
[docs]class CppConverter(ExpressionConverter): - """ + """ Converts an ast.AST to a C++ expression string. """
[docs] class CppExpressionTransformer(ast.NodeTransformer): - """ + """ A subclass of ast.NodeTransformer used to convert ast.AST expresions to C++ expressions. """
[docs] def visit_BinOp(self, node: "ast.BinOp"): # pylint: disable=invalid-name - """ + """ Visitor function for ast.BinOp nodes. :param node: A node of type 'BinOp' from an AST. @@ -816,7 +818,7 @@

Source code for spatialpy.solvers.build_expression

return node
[docs] def visit_And(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.And nodes. :param node: A node of type 'And' from an AST. @@ -826,7 +828,7 @@

Source code for spatialpy.solvers.build_expression

self.parse_logical("&&")
[docs] def visit_Or(self, node): # pylint: disable=invalid-name - """ + """ Visitor function for ast.Or nodes. :param node: A node of type 'Or' from an AST. @@ -836,7 +838,7 @@

Source code for spatialpy.solvers.build_expression

self.parse_logical("||")
[docs] def get_str(self): - """ + """ Get the string representation of the expression. :returns: The string expression of super().tree. @@ -863,7 +865,7 @@

Source code for spatialpy.solvers.build_expression

Sphinx 4.4.0 + Powered by Sphinx 5.3.0 & Alabaster 0.7.12
diff --git a/docs/build/html/_modules/spatialpy/solvers/solver.html b/docs/build/html/_modules/spatialpy/solvers/solver.html index d8df2f0b..6fdbddd1 100644 --- a/docs/build/html/_modules/spatialpy/solvers/solver.html +++ b/docs/build/html/_modules/spatialpy/solvers/solver.html @@ -5,14 +5,16 @@ - spatialpy.solvers.solver — SpatialPy 1.1.0 documentation + spatialpy.solvers.solver — SpatialPy 1.1.3 documentation + + @@ -73,7 +75,7 @@

Quick search

- + @@ -119,7 +121,7 @@

Source code for spatialpy.solvers.solver

 
 import numpy
 
-from spatialpy.core.spatialpyerror import ModelError, SimulationError, SimulationTimeout
+from spatialpy.core.spatialpyerror import ModelError, SimulationError, SimulationTimeout
 
 def _read_from_stdout(stdout ,verbose=True):
     try:
@@ -132,11 +134,11 @@ 

Source code for spatialpy.solvers.solver

                 #got empty line, ending
                 return
     except Exception as err:
-        print(f"_read_from_stdout(): {err}")
+        print(f"_read_from_stdout(): {err}")
 
 
 
[docs]class Solver: - """ + """ SpatialPy solver object. :param model: Target model of solver simulation. @@ -145,8 +147,8 @@

Source code for spatialpy.solvers.solver

     :param debug_level: Target level of debugging.
     :type debug_level: int
     """
-    def __init__(self, model, debug_level=0):
-        from spatialpy.core.model import Model # pylint: disable=import-outside-toplevel
+    def __init__(self, model, debug_level=0):
+        from spatialpy.core.model import Model # pylint: disable=import-outside-toplevel
         if not (isinstance(model, Model) or type(model).__name__ == 'Model'):
             raise SimulationError("Model must be of type spatialpy.Model.")
         if not issubclass(self.__class__, Solver):
@@ -179,13 +181,13 @@ 

Source code for spatialpy.solvers.solver

         self.debugger_url = None
         self.debugger_process = None
 
-    def __del__(self):
+    def __del__(self):
         try:
             if self.build_dir is not None:
                 try:
                     shutil.rmtree(self.build_dir, ignore_errors=True)
                 except OSError:
-                    print(f"Could not delete '{self.build_dir}'")
+                    print(f"Could not delete '{self.build_dir}'")
         except Exception:
             pass
 
@@ -259,25 +261,25 @@ 

Source code for spatialpy.solvers.solver

             func = funheader.replace("__NAME__", rname)
             func += "\n{\n"
             if reac.restrict_to is None or (isinstance(reac.restrict_to, list) and len(reac.restrict_to) == 0):
-                func += f"return {ode_propensity_function};"
+                func += f"return {ode_propensity_function};"
             else:
                 func += "if("
                 if isinstance(reac.restrict_to, list) and len(reac.restrict_to) > 0:
                     conds = []
                     for type_id in reac.restrict_to:
-                        conds.append(f"sd == {type_id}")
+                        conds.append(f"sd == {type_id}")
                     func += "||".join(conds)
                 else:
                     errmsg = "When restricting reaction to types, you must specify either a list or an int"
                     raise SimulationError(errmsg)
                 func += "){\n"
-                func += f"return {ode_propensity_function};"
+                func += f"return {ode_propensity_function};"
                 func += "\n}else{"
                 func += "\n\treturn 0.0;}"
 
             func += "\n}"
-            deterministic_chem_rxn_functions += f"{func}\n\n"
-            deterministic_chem_rxn_function_init += f"    ptr[{i}] = (ChemRxnFun) det{rname};\n"
+            deterministic_chem_rxn_functions += f"{func}\n\n"
+            deterministic_chem_rxn_function_init += f"    ptr[{i}] = (ChemRxnFun) det{rname};\n"
 
         return deterministic_chem_rxn_functions, deterministic_chem_rxn_function_init
 
@@ -285,12 +287,12 @@ 

Source code for spatialpy.solvers.solver

         data_fn_assign = ""
         if len(self.model.listOfSpecies) > 0:
             for ndf, _ in enumerate(self.model.listOfDataFunctions):
-                data_fn_assign += f"this_particle->data_fn[{ndf}] = input_data_fn[{ndf}*{ncells}+id];"
+                data_fn_assign += f"this_particle->data_fn[{ndf}] = input_data_fn[{ndf}*{ncells}+id];"
 
         return data_fn_assign
 
     def __get_input_constant(self, header, data, to_int=False):
-        outstr = f"{header}[{len(data)}] = "
+        outstr = f"{header}[{len(data)}] = "
         outstr += "{"
         outstr += ",".join([str(int(val) if to_int else val) for val in data])
         outstr += "};\n"
@@ -300,7 +302,7 @@ 

Source code for spatialpy.solvers.solver

     def __get_input_constants(self, nspecies, ncells, stoich_matrix, dep_graph):
         input_constants = ""
 
-        outstr = f"unsigned int input_u0[{nspecies * ncells}] = "
+        outstr = f"unsigned int input_u0[{nspecies * ncells}] = "
         outstr += "{"
         if len(self.model.listOfSpecies) > 0:
             for i in range(ncells):
@@ -314,13 +316,13 @@ 

Source code for spatialpy.solvers.solver

         if len(self.model.listOfSpecies) > 0:
             if min(stoich_matrix.shape) > 0:
                 dense_matrix = stoich_matrix.todense() # this will not work if Nrxn or Nspecies is zero
-                outstr = f"static int input_N_dense[{dense_matrix.shape[0] * dense_matrix.shape[1]}] = "
+                outstr = f"static int input_N_dense[{dense_matrix.shape[0] * dense_matrix.shape[1]}] = "
                 outstr += "{"
                 for i in range(dense_matrix.shape[0]):
                     for j in range(dense_matrix.shape[1]):
                         if j + i > 0:
                             outstr += ','
-                        outstr += f"{int(dense_matrix[i, j])}"
+                        outstr += f"{int(dense_matrix[i, j])}"
                 outstr += "};\n"
                 input_constants += outstr
 
@@ -329,7 +331,7 @@ 

Source code for spatialpy.solvers.solver

                 input_constants += self.__get_input_constant("static int input_prN", stoich_matrix.data, to_int=True)
 
                 if len(self.model.listOfDataFunctions) > 0:
-                    outstr = f"static double input_data_fn[{len(self.model.listOfDataFunctions) * ncells}] = "
+                    outstr = f"static double input_data_fn[{len(self.model.listOfDataFunctions) * ncells}] = "
                     outstr += "{"
                     coords = self.model.domain.coordinates()
                     for ndf, data_fn in enumerate(self.model.listOfDataFunctions.values()):
@@ -350,15 +352,15 @@ 

Source code for spatialpy.solvers.solver

 
         if len(self.model.listOfSpecies) > 0:
             outstr = "const char* const input_species_names[] = {"
-            outstr += ",".join(f'"{sname}"' for sname in self.model.listOfSpecies)
+            outstr += ",".join(f'"{sname}"' for sname in self.model.listOfSpecies)
             outstr += ", 0};\n"
             input_constants += outstr
 
         num_types = len(self.model.domain.listOfTypeIDs)
-        outstr = f"const int input_num_subdomain = {num_types-1};\n" # the backend ignores type_id=0 (a.k.a. unassigned)
+        outstr = f"const int input_num_subdomain = {num_types-1};\n" # the backend ignores type_id=0 (a.k.a. unassigned)
         input_constants += outstr
 
-        outstr = f"const double input_subdomain_diffusion_matrix[{len(self.model.listOfSpecies) * (num_types-1)}] = "
+        outstr = f"const double input_subdomain_diffusion_matrix[{len(self.model.listOfSpecies) * (num_types-1)}] = "
         outvec = []
         for i, species in enumerate(self.model.listOfSpecies.values()):
             for j, type_id in enumerate(self.model.domain.typeNdxMapping.keys()):
@@ -366,13 +368,13 @@ 

Source code for spatialpy.solvers.solver

                 try:
                     if species not in self.model.listOfDiffusionRestrictions or \
                        type_id in self.model.listOfDiffusionRestrictions[species]:
-                        outvec.append(f"{species.diffusion_coefficient}")
+                        outvec.append(f"{species.diffusion_coefficient}")
                     else:
                         outvec.append("0.0")
                 except KeyError as err:
-                    print(f"error: {err}")
+                    print(f"error: {err}")
                     print(self.model.listOfDiffusionRestrictions)
-                    raise SimulationError(f"error: {self.model.listOfDiffusionRestrictions}") from err
+                    raise SimulationError(f"error: {self.model.listOfDiffusionRestrictions}") from err
 
         outstr += "{"+",".join(outvec)+"};\n"
         input_constants += outstr
@@ -383,7 +385,7 @@ 

Source code for spatialpy.solvers.solver

         output_step = "unsigned int get_next_output(ParticleSystem* system)\n{\n"
         output_step += "static int index = 0;\n"
         output_step += "const std::vector<unsigned int> output_steps = {"
-        output_step += f"{', '.join(self.model.tspan.output_steps.astype(str).tolist())}"
+        output_step += f"{', '.join(self.model.tspan.output_steps.astype(str).tolist())}"
         output_step += "};\nunsigned int next_step = output_steps[index];\n"
         output_step += "index++;\n"
         output_step += "return next_step;\n}\n"
@@ -395,10 +397,10 @@ 

Source code for spatialpy.solvers.solver

         parameters = ""
         for pname in self.model.listOfParameters:
             param = sanitized_parameters[pname]
-            parameters += f"const double {param} = {self.model.listOfParameters[pname].value};\n"
+            parameters += f"const double {param} = {self.model.listOfParameters[pname].value};\n"
 
         for name, ndx in self.model.domain.typeNdxMapping.items():
-            parameters += f"const size_t {name} = {ndx};\n"
+            parameters += f"const size_t {name} = {ndx};\n"
         return parameters
 
     def __get_particle_inits(self, num_chem_species):
@@ -418,7 +420,7 @@ 

Source code for spatialpy.solvers.solver

             rho = self.model.domain.rho[i]
             fixed = int(self.model.domain.fixed[i])
             init_particles += "init_create_particle(sys,id++,"
-            init_particles += f"{x},{y},{z},{type_id},{nu},{mass},{c},{rho},{fixed},{num_chem_species});\n"
+            init_particles += f"{x},{y},{z},{type_id},{nu},{mass},{c},{rho},{fixed},{num_chem_species});\n"
 
         return init_particles
 
@@ -443,34 +445,34 @@ 

Source code for spatialpy.solvers.solver

             func = funheader.replace("__NAME__", rname)
             func +=  "\n{\n"
             if reac.restrict_to is None or (isinstance(reac.restrict_to, list) and len(reac.restrict_to) == 0):
-                func += f"return {propensity_function};"
+                func += f"return {propensity_function};"
             else:
                 func += "if("
                 if isinstance(reac.restrict_to, list) and len(reac.restrict_to) > 0:
                     conds = []
                     for type_id in reac.restrict_to:
-                        conds.append(f"sd == {type_id}")
+                        conds.append(f"sd == {type_id}")
                     func += "||".join(conds)
                 else:
                     errmsg = "When restricting reaction to types, you must specify either a list or an int"
                     raise SimulationError(errmsg)
                 func += "){\n"
-                func += f"return {propensity_function};"
+                func += f"return {propensity_function};"
                 func += "\n}else{"
                 func += "\n\treturn 0.0;}"
             func += "\n}"
-            funcs += f"{func}\n\n"
-            funcinits += f"    ptr[{i}] = (PropensityFun) {rname};\n"
+            funcs += f"{func}\n\n"
+            funcinits += f"    ptr[{i}] = (PropensityFun) {rname};\n"
 
         return funcs, funcinits
 
     def __get_system_config(self, num_types, num_chem_species, num_chem_rxns,
                             num_stoch_species, num_stoch_rxns, num_data_fn):
-        system_config = f"debug_flag = {self.debug_level};\n"
+        system_config = f"debug_flag = {self.debug_level};\n"
         system_config += "ParticleSystem *system = new ParticleSystem("
-        system_config += f"{num_types-1},{num_chem_species},{num_chem_rxns},"
-        system_config += f"{num_stoch_species},{num_stoch_rxns},{num_data_fn});\n"
-        system_config += f"system->static_domain = {int(self.model.staticDomain)};\n"
+        system_config += f"{num_types-1},{num_chem_species},{num_chem_rxns},"
+        system_config += f"{num_stoch_species},{num_stoch_rxns},{num_data_fn});\n"
+        system_config += f"system->static_domain = {int(self.model.staticDomain)};\n"
         if len(self.model.listOfSpecies) > 0:
             system_config += "system->subdomain_diffusion_matrix = input_subdomain_diffusion_matrix;\n"
             system_config += "system->stoichiometric_matrix = input_N_dense;\n"
@@ -478,23 +480,23 @@ 

Source code for spatialpy.solvers.solver

             system_config += "system->stoch_rxn_propensity_functions = ALLOC_propensities();\n"
             system_config += "system->species_names = input_species_names;\n"
 
-        system_config += f"system->dt = {self.model.tspan.timestep_size};\n"
-        system_config += f"system->nt = {self.model.tspan.num_timesteps};\n"
+        system_config += f"system->dt = {self.model.tspan.timestep_size};\n"
+        system_config += f"system->nt = {self.model.tspan.num_timesteps};\n"
         if self.h is None:
             self.h = self.model.domain.find_h()
         if self.h == 0.0:
             raise ModelError('h (basis function width) can not be zero.')
-        system_config += f"system->h = {self.h};\n"
-        system_config += f"system->rho0 = {self.model.domain.rho0};\n"
-        system_config += f"system->c0 = {self.model.domain.c0};\n"
-        system_config += f"system->P0 = {self.model.domain.P0};\n"
+        system_config += f"system->h = {self.h};\n"
+        system_config += f"system->rho0 = {self.model.domain.rho0};\n"
+        system_config += f"system->c0 = {self.model.domain.c0};\n"
+        system_config += f"system->P0 = {self.model.domain.P0};\n"
         #// bounding box
-        system_config += f"system->xlo = {self.model.domain.xlim[0]};\n"
-        system_config += f"system->xhi = {self.model.domain.xlim[1]};\n"
-        system_config += f"system->ylo = {self.model.domain.ylim[0]};\n"
-        system_config += f"system->yhi = {self.model.domain.ylim[1]};\n"
-        system_config += f"system->zlo = {self.model.domain.zlim[0]};\n"
-        system_config += f"system->zhi = {self.model.domain.zlim[1]};\n"
+        system_config += f"system->xlo = {self.model.domain.xlim[0]};\n"
+        system_config += f"system->xhi = {self.model.domain.xlim[1]};\n"
+        system_config += f"system->ylo = {self.model.domain.ylim[0]};\n"
+        system_config += f"system->yhi = {self.model.domain.ylim[1]};\n"
+        system_config += f"system->zlo = {self.model.domain.zlim[0]};\n"
+        system_config += f"system->zhi = {self.model.domain.zlim[1]};\n"
 
         if not numpy.count_nonzero(self.model.domain.vertices[:,1]):
             self.model.domain.dimensions = 1
@@ -502,23 +504,23 @@ 

Source code for spatialpy.solvers.solver

             self.model.domain.dimensions = 2
         else:
             self.model.domain.dimensions = 3
-        system_config += f"system->dimension = {self.model.domain.dimensions};\n"
+        system_config += f"system->dimension = {self.model.domain.dimensions};\n"
 
         if self.model.domain.gravity is not None:
             for i, val in enumerate(self.model.domain.gravity):
-                system_config += f"system->gravity[{i}] = {val};\n"
+                system_config += f"system->gravity[{i}] = {val};\n"
 
         return system_config
 
     def __read_profile_info(self, result):
         profile_data_path = os.path.join(result.result_dir, 'gmon.out')
         exe_path = os.path.join(self.build_dir, self.executable_name)
-        cmd = f'gprof {exe_path} {profile_data_path}'
+        cmd = f'gprof {exe_path} {profile_data_path}'
         print(cmd)
         with subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE) as proc:
             stdout, _ = proc.communicate()
             proc.wait()
-            print(f'Gprof report for {result.result_dir}')
+            print(f'Gprof report for {result.result_dir}')
             print(stdout.decode('utf-8'))
 
     def __run_debugger(self):
@@ -526,14 +528,14 @@ 

Source code for spatialpy.solvers.solver

         if not hasattr(self, 'debugger_process'):
             with subprocess.Popen('gdbgui -r', shell=True) as debugger_process:
                 self.debugger_process = debugger_process
-        print(f'Your debugger is running at {self.debugger_url}')
+        print(f'Your debugger is running at {self.debugger_url}')
 
     def __write_prop_file(self, file_name, propfilestr):
         with open(file_name, "w", encoding="utf-8") as propfile:
             propfile.write(propfilestr)
 
 
[docs] def compile(self, debug=False, profile=False): - """ + """ Compile the model. :param debug: If True, will print additional build debugging @@ -552,55 +554,64 @@

Source code for spatialpy.solvers.solver

         # Write the propensity file
         # Match except word characters \w = ([a-zA-Z0-9_]) and \_ = _ replace with ''
         propfilename = re.sub(r'[^\w\_]', '', self.model_name)
-        self.propfilename = f"{propfilename}_generated_model"
-        self.prop_file_name = os.path.join(self.build_dir, f'{self.propfilename}.c')
+        self.propfilename = f"{propfilename}_generated_model"
+        self.prop_file_name = os.path.join(self.build_dir, f'{self.propfilename}.c')
 
         if self.debug_level >= 1:
-            print(f"Compiling Solver.  Build dir: {self.build_dir}")
+            print(f"Compiling Solver.  Build dir: {self.build_dir}")
 
         if self.debug_level >= 1:
-            print(f"Creating propensity file {self.prop_file_name}")
+            print(f"Creating propensity file {self.prop_file_name}")
         self.__create_propensity_file(stoich_matrix, dep_graph, file_name=self.prop_file_name)
 
         # Build the solver
+        for make_exe_location in ["make", "mingw32-make"]:
+            make_exe = shutil.which("make")
+            if make_exe is not None:
+                break
+        if make_exe is None:
+            raise SimulationError("Make executable could not be found")
         makefile = self.spatialpy_rootdir+'/build/Makefile'
         makefile_ann = self.spatialpy_rootdir+'/external/ANN/src/Makefile.spatialpy'
-        cmd_list = ['cd', self.core_dir, '&&',
-            'make', '-f' , makefile_ann, 
-            'ROOTINC="' + self.spatialpy_rootinc+'"',
-            '&&',
-            'make', 'CORE', '-f',  makefile,
-            'ROOT="' + self.spatialpy_rootparam+'"',
-            'ROOTINC="' + self.spatialpy_rootinc+'"',
-            'BUILD='+self.core_dir, '&&'
-            'cd', self.build_dir, '&&', 'make', '-I', self.core_dir, '-f', makefile,
-            'ROOT="' + self.spatialpy_rootparam+'"',
-            'ROOTINC="' + self.spatialpy_rootinc+'"',
-            'COREDIR="' + self.core_dir + '"',
-            'MODEL=' + self.prop_file_name, 'BUILD='+self.build_dir]
+
+        cmd_ann = [
+            make_exe, '-d', '-C', self.core_dir, '-f', makefile_ann,
+            f'ROOTINC={self.spatialpy_rootinc}',
+        ]
+        cmd_core = [
+            make_exe, '-d', '-C', self.core_dir, 'CORE', '-f',  makefile,
+            f'ROOT={self.spatialpy_rootparam}',
+            f'ROOTINC={self.spatialpy_rootinc}',
+            f'BUILD={self.core_dir}',
+        ]
+        cmd_build = [
+            make_exe, '-d', '-C', self.build_dir, '-I', self.core_dir, '-f', makefile,
+            'ROOT=' + self.spatialpy_rootparam,
+            'ROOTINC=' + self.spatialpy_rootinc,
+            'COREDIR=' + self.core_dir,
+            'MODEL=' + self.prop_file_name, 'BUILD='+self.build_dir
+        ]
         if profile:
-            cmd_list.append('GPROFFLAG=-pg')
+            cmd_build.append('GPROFFLAG=-pg')
         if profile or debug:
-            cmd_list.append('GDB_FLAG=-g')
-        cmd = " ".join(cmd_list)
+            cmd_build.append('GDB_FLAG=-g')
         if self.debug_level > 1:
-            print(f"cmd: {cmd}\n")
+            cmd = " && ".join([*cmd_ann, *cmd_core, *cmd_build])
+            print(f"cmd: {cmd}\n")
         try:
-            with subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True) as handle:
-                stdout, _ = handle.communicate()
-                return_code = handle.wait()
-                if return_code != 0:
-                    try:
-                        print(stdout.decode("utf-8"))
-                    except Exception:
-                        pass
-                    raise SimulationError(f"Compilation of solver failed, return_code={return_code}")
-
+            for cmd_target in [cmd_ann, cmd_core, cmd_build]:
+                result = subprocess.check_output(cmd_target, stderr=subprocess.STDOUT)
                 if self.debug_level > 1:
-                    print(stdout.decode("utf-8"))
+                    print(result.stdout.decode("utf-8"))
+        except subprocess.CalledProcessError as err:
+            try:
+                print(err.stdout.decode("utf-8"))
+            except Exception:
+                pass
+            raise SimulationError(f"Compilation of solver failed, return_code={result.return_code}")
         except OSError as err:
-            print(f"Error, execution of compilation raised an exception: {err}")
-            print(f"cmd = {cmd}")
+            print(f"Error, execution of compilation raised an exception: {err}")
+            print(f"cmd = {cmd}")
             raise SimulationError("Compilation of solver failed") from err
 
         self.is_compiled = True
@@ -608,7 +619,7 @@

Source code for spatialpy.solvers.solver

 
 
[docs] def run(self, number_of_trajectories=1, seed=None, timeout=None, number_of_threads=None, debug=False, profile=False, verbose=True): - """ + """ Run one simulation of the model. :param number_of_trajectories: How many trajectories should be simulated. @@ -638,7 +649,7 @@

Source code for spatialpy.solvers.solver

         :raises SimulationTimeout: Simulation exceeded timeout.
         :raises SimulationError: Simulation execution failed.
         """
-        from spatialpy.core.result import Result # pylint: disable=import-outside-toplevel
+        from spatialpy.core.result import Result # pylint: disable=import-outside-toplevel
         if number_of_trajectories > 1:
             result_list = []
         # Check if compiled, call compile() if not.
@@ -651,8 +662,8 @@ 

Source code for spatialpy.solvers.solver

                 prefix='spatialpy_result_', dir=os.environ.get('SPATIALPY_TMPDIR'))
             result = Result(self.model, outfile)
             if self.debug_level >= 1:
-                print(f"Running simulation. Result dir: {outfile}")
-            solver_cmd = f'cd {outfile};{os.path.join(self.build_dir, self.executable_name)}'
+                print(f"Running simulation. Result dir: {outfile}")
+            solver_cmd = os.path.join(self.build_dir, self.executable_name)
 
             if number_of_threads is not None:
                 solver_cmd += " -t " + str(number_of_threads)
@@ -661,12 +672,12 @@ 

Source code for spatialpy.solvers.solver

                 solver_cmd += " -s "+str(seed+run_ndx)
 
             if self.debug_level >= 1:
-                print(f'cmd: {solver_cmd}')
+                print(f'cmd: {solver_cmd}')
 
             start = time.monotonic()
             return_code = None
             try:
-                with subprocess.Popen(solver_cmd, shell=True,
+                with subprocess.Popen(solver_cmd, cwd=outfile, shell=True,
                         stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
                         start_new_session=True) as process:
                     try:
@@ -688,15 +699,15 @@ 

Source code for spatialpy.solvers.solver

                         os.killpg(process.pid, signal.SIGINT)
                         raise SimulationTimeout("SpatialPy solver timeout exceded.") from err
             except OSError as err:
-                print(f"Error, execution of solver raised an exception: {err}")
-                print(f"cmd = {solver_cmd}")
+                print(f"Error, execution of solver raised an exception: {err}")
+                print(f"cmd = {solver_cmd}")
 
             if self.debug_level >= 1:  # output time
                 print('Elapsed seconds: {:.2f}'.format(time.monotonic() - start))
 
             if return_code is not None and return_code != 0:
-                print(f"solver_cmd = {solver_cmd}")
-                raise SimulationError(f"Solver execution failed, return code = {return_code}")
+                print(f"solver_cmd = {solver_cmd}")
+                raise SimulationError(f"Solver execution failed, return code = {return_code}")
 
             result.success = True
             if profile:
@@ -726,7 +737,7 @@ 

Source code for spatialpy.solvers.solver

       ©Copyright (C) 2019-2022.
       
       |
-      Powered by Sphinx 4.4.0
+      Powered by Sphinx 5.3.0
       & Alabaster 0.7.12
       
     
diff --git a/docs/build/html/_modules/spatialpy/stochss/stochss_export.html b/docs/build/html/_modules/spatialpy/stochss/stochss_export.html index ed2610e3..e0a09da4 100644 --- a/docs/build/html/_modules/spatialpy/stochss/stochss_export.html +++ b/docs/build/html/_modules/spatialpy/stochss/stochss_export.html @@ -5,14 +5,16 @@ - spatialpy.stochss.stochss_export — SpatialPy 1.1.0 documentation + spatialpy.stochss.stochss_export — SpatialPy 1.1.3 documentation + + @@ -73,7 +75,7 @@

Quick search

- + @@ -235,7 +237,7 @@

Source code for spatialpy.stochss.stochss_export

def __add_summary(reaction): r_summary = __build_element(reaction['reactants']) p_summary = __build_element(reaction['products']) - reaction['summary'] = f"{r_summary} \\rightarrow {p_summary}" + reaction['summary'] = f"{r_summary} \\rightarrow {p_summary}" def __add_types(model, types): @@ -258,7 +260,7 @@

Source code for spatialpy.stochss.stochss_export

for species in stoich_species: name = species['specie']['name'] ratio = species['ratio'] - element = f"{ratio}{name}" if ratio > 1 else name + element = f"{ratio}{name}" if ratio > 1 else name elements.append(element) return '+'.join(elements) @@ -289,7 +291,7 @@

Source code for spatialpy.stochss.stochss_export

[docs]def export(model, path=None, return_stochss_model=False): - """ + """ SpatialPy model to StochSS converter :param model: SpatialPy model to be converted to StochSS. @@ -306,7 +308,7 @@

Source code for spatialpy.stochss.stochss_export

""" _ = model.compile_prep() if path is None: - path = f"{model.name}.smdl" + path = f"{model.name}.smdl" end_sim = model.tspan.num_timesteps * model.tspan.timestep_size time_step = model.tspan.output_freq * model.tspan.timestep_size @@ -366,7 +368,7 @@

Source code for spatialpy.stochss.stochss_export

©Copyright (C) 2019-2022. | - Powered by Sphinx 4.4.0 + Powered by Sphinx 5.3.0 & Alabaster 0.7.12
diff --git a/docs/build/html/_static/documentation_options.js b/docs/build/html/_static/documentation_options.js index ad675b93..fd8f8380 100644 --- a/docs/build/html/_static/documentation_options.js +++ b/docs/build/html/_static/documentation_options.js @@ -1,6 +1,6 @@ var DOCUMENTATION_OPTIONS = { URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '1.1.2', + VERSION: '1.1.3', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/build/html/classes/spatialpy.core.html b/docs/build/html/classes/spatialpy.core.html index 9d69332f..c542d9ed 100644 --- a/docs/build/html/classes/spatialpy.core.html +++ b/docs/build/html/classes/spatialpy.core.html @@ -6,7 +6,7 @@ - spatialpy.core package — SpatialPy 1.1.2 documentation + spatialpy.core package — SpatialPy 1.1.3 documentation diff --git a/docs/build/html/classes/spatialpy.html b/docs/build/html/classes/spatialpy.html index bdf9bb11..e5d582ff 100644 --- a/docs/build/html/classes/spatialpy.html +++ b/docs/build/html/classes/spatialpy.html @@ -6,7 +6,7 @@ - spatialpy package — SpatialPy 1.1.2 documentation + spatialpy package — SpatialPy 1.1.3 documentation @@ -19,7 +19,7 @@ - + @@ -73,7 +73,7 @@

Navigation

Related Topics

@@ -800,7 +800,7 @@

SubpackagesDocumentation for SpatialPy 1.1.2 + Documentation for SpatialPy 1.1.3
  • spatialpy.core package diff --git a/docs/build/html/classes/spatialpy.solvers.html b/docs/build/html/classes/spatialpy.solvers.html index 367d61e5..8dbd36aa 100644 --- a/docs/build/html/classes/spatialpy.solvers.html +++ b/docs/build/html/classes/spatialpy.solvers.html @@ -6,7 +6,7 @@ - spatialpy.solvers package — SpatialPy 1.1.2 documentation + spatialpy.solvers package — SpatialPy 1.1.3 documentation diff --git a/docs/build/html/classes/spatialpy.stochss.html b/docs/build/html/classes/spatialpy.stochss.html index c611c104..c90c7a2a 100644 --- a/docs/build/html/classes/spatialpy.stochss.html +++ b/docs/build/html/classes/spatialpy.stochss.html @@ -6,7 +6,7 @@ - spatialpy.stochss package — SpatialPy 1.1.2 documentation + spatialpy.stochss package — SpatialPy 1.1.3 documentation diff --git a/docs/build/html/genindex.html b/docs/build/html/genindex.html index 19862a89..902d28e9 100644 --- a/docs/build/html/genindex.html +++ b/docs/build/html/genindex.html @@ -5,7 +5,7 @@ - Index — SpatialPy 1.1.2 documentation + Index — SpatialPy 1.1.3 documentation diff --git a/docs/build/html/index.html b/docs/build/html/index.html index 75bdfc7d..7b269c95 100644 --- a/docs/build/html/index.html +++ b/docs/build/html/index.html @@ -6,7 +6,7 @@ - Documentation for SpatialPy 1.1.2 — SpatialPy 1.1.2 documentation + Documentation for SpatialPy 1.1.3 — SpatialPy 1.1.3 documentation @@ -94,7 +94,7 @@

    Quick search

    -

    Documentation for SpatialPy 1.1.2

    +

    Documentation for SpatialPy 1.1.3

    SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems embedded in Lagrangian reference frame particle based fluid dynamics domain

    This package is intended to replace the PyURDME software https://github.com/pyurdme/pyurdme and will feature both a NSM solver for RDME simulation on static domains and a sSSA-SDPD particle based fluid dynamics solver as described in the publication “A hybrid smoothed dissipative particle dynamics (SDPD) spatial stochastic simulation algorithm (sSSA) for advection–diffusion–reaction problems” by Drawert, Jacob, Li, Yi, Petzold https://www.sciencedirect.com/science/article/pii/S0021999118307101

    diff --git a/docs/build/html/objects.inv b/docs/build/html/objects.inv index 7ea2e16c5bc2b8aabb93aa8bd90f85808cfe5e3e..803ee78811d58a4a50d7e72592715cd3e564d534 100644 GIT binary patch delta 1240 zcmV;}1Sk8^7||GziUG~Bi&FuAm)j`m;sXZx9*9hsEJ+sAXiLkVlxEQ{b@8a^kMKd= zaDK9KALT?tIf$Ai(Y6_qnfM07?g5}@)d=h4vFus>@d84cGLIztlY)p@m8z!wLb(J1 z%VSQXgzi8%OxR&*E{ZZrsoXOWiR~XWM)Zd{7be39=cx#GVDu-j=Tf16B8gJD*PRzd z@nk9Dy_C4{GoZ?9+thJnnqN|0mpy=|d)K@Wxekz!Vs8i7us$0xoCQqHfb+2y^&97a z1StwIO-OIwy_B?I2IrZ{76r`deFjTiivpzXK4bb{#LAJ4@}E!JL_}q2Cgup#g9?fF zU;URN1{{B{4RMGChzF5>P@m9IKd)!1-ifHEyWO}o?$=s>u5uHJcD;ob0MfgcKe3o; z4d`5}X$4UfT3~Q$zyS20%xUa7PB1XkJlD|F57k2sH8mSoMhWE)DkT;@s!&*bSFy0z zwt``)u!`0&L&T^C4GvQcH9&M}$iM*85OFc40m4dOPq~9dg%*x~4hbzcL_BEO$Y9Vi zfsvp^LMsBep=zY6t||4~i#Wmb+7;M`8VU6wFnDMjE^=rZET;vPv^dZt%2Z}+o*KOu zY+I>u`?bglkV#2&NcfXlW8+gYQTVQy@#vkFCFDJ48JQ6YUe(XnuD<`EL12RSKXpro2^z_Q?ZifhzM-LdHHDe;aBZloG3 z9aJw#qq2S3&j}M&Ky+F0(#r`Npif}x?N?QUVtMdSkQrE;O}HZn2N(+XXo%rUgRA$L zftjs&xZF0ow|>QgKGB|3JQY>x%R5EAYaM3@^}s4&yIrMk6-2S1yB$++_zl%t zIHb-P7NivNJq4Xvw^4u!XA>dL(}$5Z8$f;sAV6-1JVah~%i1&}l`C`EBGyF3zGp~k z)+&^Guhw)hl%Mp74$-1uJ*L&!c-JqB=YKjUWM3YCq7x6$dk>MY>cg?a+(~ADGULGp zyVH0?Nq*0m1_H-n6GZ=p{QJ{Czp06t*ZOkDFq?}-L5}q*IwV~uro{2|=AHjlfFTpf ztLMtT=bBGAJqXn_SfL<-QwO{M3c)d1>6KyM_%`6IA09tPpYHBIetPoUtQuoC_y4(r zL;rPufBWKcluOBf&csAvp)anKlUDi{6nh6Lv$$ZA)DcmCBLimBPR56 z{RMQ;b^Dl8l2tjtBMqtj9c?SdO&G4jdbcrjZ4x`MelY~Ms8>frkV~58I4s<=XpiDO ziSnR6oif;=^sDlH9P0M{B-8gQe(#96XRggbg(~l>_yZ2|M*bM=eKCKGgk35hqcJzj zEiUS|z6%?s+^~1|UGNZ&hTY`1u&@jL78i8i!KOm4_ghflEq^EZJ+qbuw*>@JHbq}` C*j$kS delta 1240 zcmV;}1Sk8^7||GziUI7gi&FuA{cV(V@d1PU1&B$T-pChV{@7eyJRRPLFG#P$ywBl^Rf3zK1l^Hc;oF!~eNbE!~&kwmH7>&}a! zc(N4nUP@f}8Bk@lZR$8O%`Yjh%O1efy=z{GTn9)0??lwo-EQ0(_iL>`SGkEqyWTYLOvGFOHD12AUcyv=pFtA>uWeQc&9D&oR(=m6iJP^0>(Yy5P z6y^j_1**JWU8}u+my_6k9*LNFKlY=-m6Otr0huCqG)VTiax`#d#>w+vX!zC(rdOt{ zMVOgrA(F~(V`0FngFVSWz$_D`XC>)iyF#SVAJVTM>S)cl&2v+$!}X%FUZ~F`E02(2 z%*lctZ5e+ekzH~<`{V(%K$UqZqJ)8JHzH!SFhs!mMt7Wl*0iUBWO65plz2x5H&Tt2 z4yu==QQ5xi=Y$C>AiAu0>E#3s&?hkU_N%Hvu{`)E$PBE_CfpH(0}O?GG{o?w!PR@r zz|7V>TyC4)Tfap~!-6#ACMM&Wu@eYx#BLiQ*@ytVi4`P!hPm3w!+P3nA|M*%=TZ&K zf#c~3qW_40dc#tES`gGLpJ-1io{FmU<(;D5wT?4{dSI2X-LBHN3Zhuh-Hxd@{D$f+ z98zZt3sMUCo`TM-+bBSVvxyMr>BC5y4IsY*5Foch9wM*0Wo?>~%9Xin5o@Ai-!mjN zYZXepS8F;L%1?SkhiFl-9@FYy@yCx_2JlI?j$onnekwQ z-Dy0cB)?}&1A*hP38H^P{{88n-_*p+Ykj$6n9aqaAjf(Y9g?mSQ{s4f^UnV&z>taL z)pKRvbIm859)xNdtWXfase|2rh2WU1^vbYrd>e4q509UtPj~kpKRtPFR*kWn`~Td* zq5rynzkT`yrJ7YBGY#~rJAEpm!2kX5S)c#(AA1i${vp-kAv%=ykj?POlHXPO5fgg3 z{sKDax_!(k$*LUSk%rX%j!*23hSlESriwnB%U{fL2`z@ImPKAe Cd~FZ_ diff --git a/docs/build/html/py-modindex.html b/docs/build/html/py-modindex.html index 90550eb4..ecc8e3ba 100644 --- a/docs/build/html/py-modindex.html +++ b/docs/build/html/py-modindex.html @@ -5,7 +5,7 @@ - Python Module Index — SpatialPy 1.1.2 documentation + Python Module Index — SpatialPy 1.1.3 documentation diff --git a/docs/build/html/search.html b/docs/build/html/search.html index dc490ee9..ae573992 100644 --- a/docs/build/html/search.html +++ b/docs/build/html/search.html @@ -5,7 +5,7 @@ - Search — SpatialPy 1.1.2 documentation + Search — SpatialPy 1.1.3 documentation diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index 432194ea..a888ab43 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["classes/spatialpy", "classes/spatialpy.core", "classes/spatialpy.solvers", "classes/spatialpy.stochss", "index"], "filenames": ["classes/spatialpy.rst", "classes/spatialpy.core.rst", "classes/spatialpy.solvers.rst", "classes/spatialpy.stochss.rst", "index.rst"], "titles": ["spatialpy package", "spatialpy.core package", "spatialpy.solvers package", "spatialpy.stochss package", "Documentation for SpatialPy 1.1.2"], "terms": {"core": [0, 2, 3, 4], "submodul": 0, "boundarycondit": 0, "express": [0, 1, 2], "cleanup": 0, "cleanup_build_fil": [0, 1], "cleanup_core_fil": [0, 1], "cleanup_result_fil": [0, 1], "cleanup_tempfil": [0, 1], "datafunct": 0, "map": [0, 1, 2], "domain": [0, 4], "add_fill_act": [0, 1], "add_point": [0, 1], "add_remove_act": [0, 1], "add_set_act": [0, 1], "apply_act": [0, 1], "apply_fill_act": [0, 1], "apply_remove_act": [0, 1], "apply_set_act": [0, 1], "calculate_vol": [0, 1], "closest_vertex": [0, 1], "compile_prep": [0, 1], "coordin": [0, 1], "create_2d_domain": [0, 1], "create_3d_domain": [0, 1], "distance_between_2_vertic": [0, 1], "fill_with_particl": [0, 1], "find_boundary_point": [0, 1], "find_h": [0, 1], "get_bounding_box": [0, 1], "get_domain_s": [0, 1], "get_num_voxel": [0, 1], "get_type_def": [0, 1], "get_vol": [0, 1], "import_meshio_object": [0, 1], "plot_typ": [0, 1], "preview_act": [0, 1], "read_msh_fil": [0, 1], "read_stochss_domain": [0, 1], "read_stochss_subdomain_fil": [0, 1], "read_xml_mesh": [0, 1], "set_properti": [0, 1], "validate_act": [0, 1], "geometri": 0, "combinatorygeometri": [0, 1], "insid": [0, 1], "valid": [0, 1, 2], "geometryal": [0, 1], "geometryexterior": [0, 1], "geometryinterior": [0, 1], "initialcondit": 0, "appli": [0, 1], "placeinitialcondit": [0, 1], "scatterinitialcondit": [0, 1], "uniforminitialcondit": [0, 1], "lattic": 0, "cartesianlattic": [0, 1], "cylindricallattic": [0, 1], "meshiolattic": [0, 1], "sphericallattic": [0, 1], "stochsslattic": [0, 1], "xmlmeshlattic": [0, 1], "model": [0, 2, 3, 4], "add": [0, 1, 2], "add_boundary_condit": [0, 1], "add_data_funct": [0, 1], "add_domain": [0, 1], "add_initial_condit": [0, 1], "add_paramet": [0, 1], "add_react": [0, 1], "add_speci": [0, 1], "delete_all_boundary_condit": [0, 1], "delete_all_data_funct": [0, 1], "delete_all_initial_condit": [0, 1], "delete_all_paramet": [0, 1], "delete_all_react": [0, 1], "delete_all_speci": [0, 1], "delete_boundary_condit": [0, 1], "delete_data_funct": [0, 1], "delete_initial_condit": [0, 1], "delete_paramet": [0, 1], "delete_react": [0, 1], "delete_speci": [0, 1], "get_all_boundary_condit": [0, 1], "get_all_data_funct": [0, 1], "get_all_initial_condit": [0, 1], "get_all_paramet": [0, 1], "get_all_react": [0, 1], "get_all_speci": [0, 1], "get_data_funct": [0, 1], "get_el": [0, 1], "get_num_react": [0, 1], "get_num_speci": [0, 1], "get_paramet": [0, 1], "get_react": [0, 1], "get_speci": [0, 1], "reserved_nam": [0, 1], "run": [0, 1, 2], "sanitized_data_function_nam": [0, 1], "sanitized_parameter_nam": [0, 1], "sanitized_species_nam": [0, 1], "set_timestep": [0, 1], "special_charact": [0, 1], "timespan": 0, "update_namespac": [0, 1], "export_stochss": [0, 1], "paramet": [0, 2, 3], "reaction": [0, 4], "add_product": [0, 1], "annot": [0, 1], "from_json": [0, 1], "initi": [0, 1], "sanitized_propensity_funct": [0, 1], "set_annot": [0, 1], "set_propens": [0, 1], "set_rat": [0, 1], "to_dict": [0, 1], "result": [0, 2], "export_to_csv": [0, 1], "get_properti": [0, 1], "get_timespan": [0, 1], "plot_properti": [0, 1], "plot_speci": [0, 1], "read_step": [0, 1], "spatialpyerror": 0, "boundaryconditionerror": [0, 1], "datafunctionerror": [0, 1], "domainerror": [0, 1], "geometryerror": [0, 1], "initialconditionerror": [0, 1], "latticeerror": [0, 1], "modelerror": [0, 1], "parametererror": [0, 1], "reactionerror": [0, 1], "resulterror": [0, 1], "simulationerror": [0, 1, 2], "simulationtimeout": [0, 1, 2], "specieserror": [0, 1], "timespanerror": [0, 1], "transformationerror": [0, 1], "vtkreadererror": [0, 1], "vtkreaderioerror": [0, 1], "visualizationerror": [0, 1], "speci": 0, "set_diffusion_coeffici": [0, 1], "arang": [0, 1], "linspac": [0, 1], "transform": 0, "reflectiontransform": [0, 1], "reverse_transform": [0, 1], "rotationtransform": [0, 1], "scalingtransform": [0, 1], "translationtransform": [0, 1], "visual": 0, "mpl_height": [0, 1], "mpl_size": [0, 1], "mpl_width": [0, 1], "plot_scatt": [0, 1], "vtkreader": 0, "get_array_nam": [0, 1], "get_arrai": [0, 1], "get_num_point": [0, 1], "get_point": [0, 1], "read_fil": [0, 1], "set_filenam": [0, 1], "solver": [0, 1, 4], "build_express": 0, "buildexpress": [0, 2], "validationvisitor": [0, 2], "getexpr_cpp": [0, 2], "getexpr_python": [0, 2], "map_oper": [0, 2], "operator_map": [0, 2], "with_blacklist": [0, 2], "with_namespac": [0, 2], "cppconvert": [0, 2], "cppexpressiontransform": [0, 2], "get_str": [0, 2], "visit_and": [0, 2], "visit_or": [0, 2], "expressionconvert": [0, 2], "convert_str": [0, 2], "parse_comparison": [0, 2], "parse_log": [0, 2], "parse_oper": [0, 2], "visit_add": [0, 2], "visit_binop": [0, 2], "visit_boolop": [0, 2], "visit_byt": [0, 2], "visit_cal": [0, 2], "visit_compar": [0, 2], "visit_const": [0, 2], "visit_div": [0, 2], "visit_ellipsi": [0, 2], "visit_eq": [0, 2], "visit_gt": [0, 2], "visit_lt": [0, 2], "visit_mult": [0, 2], "visit_nam": [0, 2], "visit_nameconst": [0, 2], "visit_noteq": [0, 2], "visit_num": [0, 2], "visit_pow": [0, 2], "visit_str": [0, 2], "visit_sub": [0, 2], "visit_usub": [0, 2], "visit_unaryop": [0, 2], "expressionresult": [0, 2], "pythonconvert": [0, 2], "compil": [0, 1, 2], "stochss": [0, 1, 4], "stochss_export": 0, "export": [0, 1, 3], "class": [1, 2], "xmin": 1, "none": [1, 2, 3], "xmax": 1, "ymin": 1, "ymax": 1, "zmin": 1, "zmax": 1, "type_id": 1, "determinist": [1, 4], "true": [1, 2, 3], "target": [1, 2], "valu": [1, 2], "sourc": [1, 2, 3, 4], "base": [1, 2, 4], "object": [1, 2], "set": [1, 2], "spatial": [1, 2, 4], "region": 1, "where": 1, "properti": [1, 2], "particl": [1, 4], "ar": [1, 2], "held": 1, "constant": [1, 2], "updat": 1, "each": 1, "simul": [1, 2, 4], "step": 1, "condit": [1, 2], "one": [1, 2], "more": [1, 2, 4], "follow": [1, 2], "must": 1, "float": 1, "min": 1, "max": 1, "x": 1, "dimens": 1, "y": 1, "z": 1, "type": [1, 2, 3], "subdomain": 1, "partcil": 1, "str": [1, 2, 3], "nu": 1, "rho": 1, "v": 1, "name": [1, 2], "chemic": 1, "also": [1, 2, 4], "fals": [1, 2, 3], "flag": [1, 2], "axi": 1, "lower": 1, "bound": 1, "upper": 1, "int": [1, 2], "id": 1, "bool": [1, 2, 3], "i": [1, 2, 3, 4], "boundari": 1, "yet": 1, "implemenet": 1, "stochast": [1, 4], "can": [1, 2, 4], "If": [1, 2, 4], "determinst": 1, "3": [1, 4], "take": 1, "defin": [1, 2], "creat": [1, 2], "evalu": 1, "string": [1, 2], "return": [1, 2, 3], "A": [1, 2, 4], "represent": [1, 2], "build_dir": 1, "all": [1, 2], "spatialpy_build": 1, "directori": 1, "path": [1, 3], "build": [1, 2, 4], "remov": 1, "option": 1, "tempfil": 1, "result_dir": 1, "spatialpy_result": 1, "abstract": [1, 2], "us": [1, 2, 4], "constuct": 1, "data": [1, 2], "function": [1, 2], "rais": [1, 2], "provid": [1, 2, 4], "point": 1, "thi": [1, 2, 4], "method": [1, 2], "overridden": 1, "subclass": [1, 2], "note": [1, 2], "The": [1, 2, 4], "locat": 1, "evaul": 1, "t": [1, 2], "0": [1, 2], "re": 1, "fluid": [1, 4], "move": 1, "over": 1, "time": [1, 2], "posit": 1, "numpoint": 1, "xlim": 1, "ylim": 1, "zlim": 1, "rho0": 1, "1": [1, 2], "c0": 1, "10": 1, "p0": 1, "graviti": [1, 4], "action": 1, "attribut": 1, "space": 1, "total": 1, "number": [1, 2], "2": 1, "rang": 1, "along": 1, "background": 1, "densiti": 1, "system": [1, 4], "speed": 1, "sound": 1, "pressur": 1, "acceler": 1, "cartesian": 1, "spheric": 1, "cylindr": 1, "enabl": 1, "prop": 1, "an": [1, 2, 4], "when": [1, 2], "fill": [1, 4], "default": 1, "dict": [1, 2, 3], "argument": 1, "ignor": 1, "indic": [1, 2], "els": [1, 3], "addit": [1, 2], "pass": [1, 2], "ad": [1, 2], "wasn": 1, "could": [1, 2], "construct": 1, "vol": 1, "mass": 1, "unassign": 1, "fix": 1, "c": [1, 2], "singl": [1, 2], "vertic": 1, "volum": 1, "cradded": 1, "viscos": 1, "artifici": 1, "contain": [1, 2], "invalid": [1, 2], "charact": 1, "from": [1, 2], "start": [1, 2, 4], "end": 1, "preserve_act": 1, "order": 1, "index": [1, 4], "inclus": 1, "exclus": 1, "after": 1, "its": 1, "support": [1, 4], "within": 1, "have": 1, "exampl": 1, "lattice_obj": 1, "geometry_obj": 1, "miss": 1, "calcul": 1, "find": [1, 4], "nearest": 1, "vertex": 1, "given": [1, 2], "gener": [1, 4], "list": [1, 2], "check": [1, 2], "preper": 1, "file": [1, 3], "get": [1, 2], "numpi": 1, "arrai": 1, "classmethod": [1, 2], "numx": 1, "numi": 1, "kwarg": 1, "2d": 1, "highest": 1, "lowest": 1, "keyword": 1, "uniform": 1, "numz": 1, "3d": [1, 4], "distanc": 1, "between": [1, 2], "measur": 1, "geometry_ivar": 1, "deltax": 1, "deltai": 1, "deltaz": 1, "geometr": 1, "shape": 1, "instanc": [1, 2], "minimum": 1, "box": 1, "maximum": [1, 2], "were": [1, 2], "exist": 1, "np": 1, "ndarrai": 1, "dtype": 1, "h": 1, "off": 1, "which": [1, 2], "ha": [1, 4], "greatest": 1, "neighbor": 1, "entir": 1, "limit": 1, "tupl": 1, "estim": 1, "size": 1, "averag": 1, "diamet": 1, "circumradiu": 1, "tetrahedron": 1, "part": 1, "mean": 1, "incid": 1, "cell": 1, "voxel": 1, "definit": 1, "mesh_obj": 1, "subdomain_fil": 1, "import": 1, "python": [1, 2, 4], "meshio": 1, "mesh": 1, "v1": 1, "descript": 1, "filenam": [1, 3], "indeci": 1, "width": 1, "height": 1, "colormap": 1, "titl": 1, "included_types_list": 1, "use_matplotlib": 1, "return_plotly_figur": 1, "plot": 1, "plotli": 1, "onli": [1, 2], "view": 1, "jupyt": 1, "notebook": [1, 4], "pixel": 1, "output": [1, 2], "matplotlib": 1, "inch": 1, "500": 1, "specif": 1, "plotly3": 1, "jet": 1, "blue": 1, "ylorrd": 1, "purd": 1, "bugn": 1, "ylorbr": 1, "pubugn": 1, "bupu": 1, "ylgnbu": 1, "pubu": 1, "gnbu": 1, "ylgn": 1, "green": 1, "red": 1, "grei": 1, "rdpu": 1, "orrd": 1, "purpl": 1, "orang": 1, "graph": 1, "describ": [1, 4], "includ": 1, "By": [1, 2], "displai": 1, "whether": [1, 2, 3], "figur": 1, "dictionari": [1, 2], "trace": 1, "layout": 1, "mai": 1, "edit": 1, "user": [1, 4], "proprti": 1, "preview": 1, "effect": 1, "read": 1, "gmsh": 1, "style": 1, "msh": 1, "domn": 1, "pull": 1, "smdl": 1, "txt": 1, "conain": 1, "fenic": 1, "dolfin": 1, "xml": 1, "assign": [1, 2], "identifi": [1, 2], "immobil": 1, "coverag": 1, "scope": 1, "accept": [1, 2], "doaminerror": 1, "met": 1, "": [1, 4], "formula": 1, "geo_namespac": 1, "combinatori": 1, "multipl": [1, 2], "boolean": 1, "logic": [1, 2], "geo1": 1, "geo2": 1, "geo3": 1, "namespac": [1, 2], "geometry1": 1, "geometry2": 1, "geometry3": 1, "found": [1, 2, 4], "on_boundari": 1, "coodin": 1, "edg": 1, "satisfi": 1, "geometi": 1, "ani": [1, 2, 4], "doe": 1, "tag": 1, "separ": 1, "mark": 1, "work": 1, "triangl": 1, "implement": [1, 2], "direct": 1, "modifi": 1, "u0": 1, "matrix": 1, "count": 1, "contian": 1, "place": 1, "scatter": 1, "randomli": 1, "center": 1, "two": [1, 2], "doesn": 1, "restrict": 1, "depend": 1, "radiu": 1, "length": 1, "delta": 1, "deltar": 1, "surfac": 1, "radial": 1, "skip_valid": 1, "arg": 1, "io": 1, "un": 1, "biochem": 1, "compon": 1, "befor": 1, "other": [1, 2], "combin": 1, "than": 1, "do": 1, "need": [1, 4], "particular": 1, "bound_cond": 1, "conidit": 1, "data_funct": 1, "scalar": 1, "you": [1, 4], "vari": 1, "input": 1, "your": [1, 4], "It": 1, "positon": 1, "toth": 1, "init_cond": 1, "fail": [1, 2], "make": 1, "sure": 1, "paramt": 1, "diffus": [1, 4], "util": 1, "stoichiometr": 1, "dependency_graph": 1, "timestep": 1, "exce": 1, "frequenc": 1, "ordereddict": 1, "form": [1, 4], "kei": [1, 2], "specifi": 1, "element": 1, "differ": [1, 2], "rname": 1, "number_of_trajectori": [1, 2], "seed": [1, 2], "timeout": [1, 2], "number_of_thread": [1, 2], "debug_level": [1, 2], "debug": [1, 2], "profil": [1, 2], "how": [1, 2, 4], "mani": [1, 2], "trajectori": [1, 2], "should": [1, 2], "random": [1, 2], "second": [1, 2], "kill": 1, "upon": 1, "reach": 1, "thread": [1, 2], "level": [1, 2], "print": [1, 2], "out": [1, 4], "info": 1, "dure": [1, 2], "addtion": [1, 2], "perform": 1, "chosen": 1, "simplifi": 1, "format": 1, "later": [1, 2], "spatialpysolv": 1, "propens": 1, "intern": 1, "notat": 1, "output_interv": 1, "num_step": 1, "timestep_s": 1, "simlat": 1, "span": 1, "first": [1, 2], "zero": 1, "time_span": 1, "ssa": 1, "sdpd": [1, 4], "engin": 1, "non": 1, "tspan": 1, "evenli": 1, "sampl": 1, "popul": 1, "flatten": 1, "spatialpy_model": 1, "return_stochss_model": [1, 3], "convert": [1, 2, 3], "json": 1, "platform": 1, "directli": [1, 4], "understood": 1, "parent": 1, "call": [1, 2], "referenc": 1, "requir": 1, "outsid": 1, "reactant": 1, "product": 1, "propensity_funct": 1, "ode_propensity_funct": 1, "rate": 1, "restrict_to": 1, "conatain": 1, "neg": 1, "union": 1, "For": [1, 4], "zeroth": 1, "attempt": 1, "higher": 1, "error": 1, "consum": 1, "stoichiometri": 1, "would": 1, "r1": 1, "r2": 1, "event": 1, "same": 1, "custom": 1, "oper": [1, 2], "od": 1, "care": 1, "unit": 1, "about": 1, "execut": [1, 2], "NOT": 1, "both": [1, 4], "term": 1, "repres": 1, "independ": 1, "wa": 1, "impact": 1, "preserv": 1, "produc": 1, "particip": 1, "deprec": 1, "param": 1, "json_object": 1, "defer": 1, "species_map": 1, "parameter_map": 1, "chang": 1, "marat": 1, "urdm": 1, "folder_nam": 1, "write": 1, "csv": 1, "modelname_mesh": 1, "modelname_species_": 1, "column": 1, "n": 1, "vtk": 1, "written": 1, "current": [1, 2], "property_nam": 1, "timepoint": 1, "integ": 1, "1d": 1, "veloc": 1, "bvf_phi": 1, "fraction": 1, "across": 1, "concentr": 1, "retreiv": 1, "inform": [1, 2, 4], "raw": 1, "copy_numb": 1, "unabl": 1, "retriev": 1, "t_ndx": 1, "t_val": 1, "p_ndx": 1, "anim": 1, "t_ndx_list": 1, "f_durat": 1, "t_durat": 1, "300": 1, "6": 1, "4": 1, "8": 1, "indec": 1, "interv": 1, "durat": 1, "frame": [1, 4], "transit": 1, "5": 1, "show": 1, "instead": 1, "step_num": 1, "except": 1, "initailcondit": 1, "bass": 1, "messag": 1, "o": 1, "diffusion_coeffici": 1, "coeffic": 1, "coeffici": 1, "listoftyp": 1, "movement": 1, "setter": 1, "item": [1, 2], "iter": 1, "best": 1, "increment": [1, 2], "20": 1, "num_point": 1, "empti": [1, 2], "repeat": 1, "point1": 1, "normal": 1, "point2": 1, "point3": 1, "reflect": 1, "revers": 1, "around": 1, "arbitrari": 1, "plane": 1, "serv": 1, "vector": 1, "onc": 1, "wrap": 1, "prior": 1, "angl": 1, "rotat": 1, "basic": 1, "factor": 1, "scale": 1, "wrapper": 1, "translat": 1, "40": 1, "plot_arg": 1, "scatter_arg": 1, "multiple_graph": 1, "maplotlib": 1, "pyplot": 1, "subplot": 1, "dist": 1, "group": 1, "nrow": 1, "ncol": 1, "entri": 1, "plote": 1, "py": 1, "minim": 1, "legaci": 1, "reader": 1, "refer": 1, "http": [1, 4], "org": 1, "wp": 1, "upload": 1, "2015": 1, "04": 1, "pdf": 1, "arraid": 1, "ascii": 1, "blacklist": 2, "sanit": 2, "allow": 2, "pre": 2, "flight": 2, "syntax": 2, "well": 2, "manag": 2, "context": 2, "statement": 2, "expect": 2, "forward": 2, "ideal": 2, "univers": 2, "constructor": 2, "granular": 2, "bare": 2, "equival": 2, "trigger": 2, "substitut": 2, "convers": 2, "automat": 2, "correspond": 2, "getexpr_": 2, "nodetransform": 2, "ast": 2, "expres": 2, "spactialpi": 2, "node": 2, "visit_assign": 2, "visitor": 2, "origin": 2, "binop": 2, "boolop": 2, "binboolopop": 2, "otherwis": 2, "compar": 2, "unaryop": 2, "syntaxerror": 2, "imposs": 2, "convet": 2, "built": 2, "_ast": 2, "Not": 2, "noteq": 2, "mod": 2, "bitand": 2, "mult": 2, "pow": 2, "sub": 2, "div": 2, "floordiv": 2, "lt": 2, "lshift": 2, "lte": 2, "eq": 2, "gt": 2, "gte": 2, "rshift": 2, "matmult": 2, "bitxor": 2, "And": 2, "Or": 2, "bitor": 2, "so": 2, "far": 2, "ensur": 2, "pars": 2, "against": 2, "addition": 2, "reject": 2, "rvalu": 2, "new": 2, "duplic": 2, "overrid": 2, "handl": 2, "behavior": 2, "copi": 2, "rtype": 2, "present": 2, "caus": 2, "what": 2, "tree": 2, "super": 2, "nodevisitor": 2, "self": 2, "comparison": 2, "last": 2, "mathemat": 2, "right": 2, "visit": 2, "left": 2, "most": 2, "recent": 2, "append": 2, "token": 2, "alwai": 2, "hand": 2, "u": 2, "pop": 2, "process": 2, "assum": 2, "inherit": 2, "byte": 2, "ellipsi": 2, "nameconst": 2, "num": 2, "usub": 2, "invalid_nam": 2, "invalid_oper": 2, "is_valid": 2, "struct": 2, "infer": 2, "invalid_": 2, "verbos": 2, "gdbgui": 2, "debugg": 2, "symbol": 2, "hasn": 2, "happen": 2, "gprof": 2, "avail": [2, 4], "consol": 2, "seri": 2, "exceed": 2, "packag": 4, "advect": 4, "problem": 4, "embed": 4, "lagrangian": 4, "dynam": 4, "intend": 4, "replac": 4, "pyurdm": 4, "softwar": 4, "github": 4, "com": 4, "featur": 4, "nsm": 4, "rdme": 4, "static": 4, "sssa": 4, "public": 4, "hybrid": 4, "smooth": 4, "dissip": 4, "algorithm": 4, "drawert": 4, "jacob": 4, "li": 4, "yi": 4, "petzold": 4, "www": 4, "sciencedirect": 4, "scienc": 4, "articl": 4, "pii": 4, "s0021999118307101": 4, "latest": 4, "version": 4, "pypi": 4, "code": 4, "licens": 4, "under": 4, "gnu": 4, "pleas": 4, "regist": 4, "develop": 4, "fund": 4, "nih": 4, "grant": 4, "2r01eb014877": 4, "continu": 4, "we": 4, "prove": 4, "our": 4, "short": 4, "registr": 4, "see": 4, "here": 4, "cylind": 4, "demo": 4, "physic": 4, "flow": 4, "weir": 4, "tracker": 4, "project": 4, "contact": 4, "main": 4, "author": 4, "dr": 4, "brian": 4, "question": 4, "suggest": 4, "subpackag": 4, "modul": 4, "content": 4, "search": 4, "page": 4}, "objects": {"": [[0, 0, 0, "-", "spatialpy"]], "spatialpy": [[1, 0, 0, "-", "core"], [2, 0, 0, "-", "solvers"], [3, 0, 0, "-", "stochss"]], "spatialpy.core": [[1, 1, 1, "", "BoundaryCondition"], [1, 3, 1, "", "BoundaryConditionError"], [1, 1, 1, "", "CartesianLattice"], [1, 1, 1, "", "CombinatoryGeometry"], [1, 1, 1, "", "CylindricalLattice"], [1, 1, 1, "", "DataFunction"], [1, 3, 1, "", "DataFunctionError"], [1, 1, 1, "", "Domain"], [1, 3, 1, "", "DomainError"], [1, 1, 1, "", "Geometry"], [1, 1, 1, "", "GeometryAll"], [1, 3, 1, "", "GeometryError"], [1, 1, 1, "", "GeometryExterior"], [1, 1, 1, "", "GeometryInterior"], [1, 1, 1, "", "InitialCondition"], [1, 3, 1, "", "InitialConditionError"], [1, 3, 1, "", "LatticeError"], [1, 1, 1, "", "MeshIOLattice"], [1, 1, 1, "", "Model"], [1, 3, 1, "", "ModelError"], [1, 1, 1, "", "Parameter"], [1, 3, 1, "", "ParameterError"], [1, 1, 1, "", "PlaceInitialCondition"], [1, 1, 1, "", "Reaction"], [1, 3, 1, "", "ReactionError"], [1, 1, 1, "", "ReflectionTransformation"], [1, 1, 1, "", "Result"], [1, 3, 1, "", "ResultError"], [1, 1, 1, "", "RotationTransformation"], [1, 1, 1, "", "ScalingTransformation"], [1, 1, 1, "", "ScatterInitialCondition"], [1, 3, 1, "", "SimulationError"], [1, 3, 1, "", "SimulationTimeout"], [1, 1, 1, "", "Species"], [1, 3, 1, "", "SpeciesError"], [1, 1, 1, "", "SphericalLattice"], [1, 1, 1, "", "StochSSLattice"], [1, 1, 1, "", "TimeSpan"], [1, 3, 1, "", "TimespanError"], [1, 1, 1, "", "Transformation"], [1, 3, 1, "", "TransformationError"], [1, 1, 1, "", "TranslationTransformation"], [1, 1, 1, "", "UniformInitialCondition"], [1, 1, 1, "", "VTKReader"], [1, 3, 1, "", "VTKReaderError"], [1, 3, 1, "", "VTKReaderIOError"], [1, 1, 1, "", "Visualization"], [1, 3, 1, "", "VisualizationError"], [1, 1, 1, "", "XMLMeshLattice"], [1, 0, 0, "-", "boundarycondition"], [1, 0, 0, "-", "cleanup"], [1, 5, 1, "", "cleanup_build_files"], [1, 5, 1, "", "cleanup_core_files"], [1, 5, 1, "", "cleanup_result_files"], [1, 5, 1, "", "cleanup_tempfiles"], [1, 0, 0, "-", "datafunction"], [1, 0, 0, "-", "domain"], [1, 5, 1, "", "export_StochSS"], [1, 0, 0, "-", "geometry"], [1, 0, 0, "-", "initialcondition"], [1, 0, 0, "-", "lattice"], [1, 0, 0, "-", "model"], [1, 0, 0, "-", "parameter"], [1, 0, 0, "-", "reaction"], [1, 0, 0, "-", "result"], [1, 0, 0, "-", "spatialpyerror"], [1, 0, 0, "-", "species"], [1, 0, 0, "-", "timespan"], [1, 0, 0, "-", "transformation"], [1, 0, 0, "-", "visualization"], [1, 0, 0, "-", "vtkreader"]], "spatialpy.core.BoundaryCondition": [[1, 2, 1, "", "expression"]], "spatialpy.core.CartesianLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.CombinatoryGeometry": [[1, 2, 1, "", "inside"], [1, 2, 1, "", "validate"]], "spatialpy.core.CylindricalLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.DataFunction": [[1, 2, 1, "", "map"]], "spatialpy.core.Domain": [[1, 2, 1, "", "add_fill_action"], [1, 2, 1, "", "add_point"], [1, 2, 1, "", "add_remove_action"], [1, 2, 1, "", "add_set_action"], [1, 2, 1, "", "apply_actions"], [1, 2, 1, "", "apply_fill_action"], [1, 2, 1, "", "apply_remove_action"], [1, 2, 1, "", "apply_set_action"], [1, 2, 1, "", "calculate_vol"], [1, 2, 1, "", "closest_vertex"], [1, 2, 1, "", "compile_prep"], [1, 2, 1, "", "coordinates"], [1, 2, 1, "", "create_2D_domain"], [1, 2, 1, "", "create_3D_domain"], [1, 2, 1, "", "distance_between_2_vertices"], [1, 2, 1, "", "fill_with_particles"], [1, 2, 1, "", "find_boundary_points"], [1, 2, 1, "", "find_h"], [1, 2, 1, "", "get_bounding_box"], [1, 2, 1, "", "get_domain_size"], [1, 2, 1, "", "get_num_voxels"], [1, 2, 1, "", "get_type_def"], [1, 2, 1, "", "get_vol"], [1, 2, 1, "", "import_meshio_object"], [1, 2, 1, "", "plot_types"], [1, 2, 1, "", "preview_actions"], [1, 2, 1, "", "read_msh_file"], [1, 2, 1, "", "read_stochss_domain"], [1, 2, 1, "", "read_stochss_subdomain_file"], [1, 2, 1, "", "read_xml_mesh"], [1, 2, 1, "", "set_properties"], [1, 2, 1, "", "validate_action"]], "spatialpy.core.Geometry": [[1, 2, 1, "", "inside"]], "spatialpy.core.GeometryAll": [[1, 2, 1, "", "inside"]], "spatialpy.core.GeometryExterior": [[1, 2, 1, "", "inside"]], "spatialpy.core.GeometryInterior": [[1, 2, 1, "", "inside"]], "spatialpy.core.InitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.MeshIOLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.Model": [[1, 2, 1, "", "add"], [1, 2, 1, "", "add_boundary_condition"], [1, 2, 1, "", "add_data_function"], [1, 2, 1, "", "add_domain"], [1, 2, 1, "", "add_initial_condition"], [1, 2, 1, "", "add_parameter"], [1, 2, 1, "", "add_reaction"], [1, 2, 1, "", "add_species"], [1, 2, 1, "", "compile_prep"], [1, 2, 1, "", "delete_all_boundary_conditions"], [1, 2, 1, "", "delete_all_data_functions"], [1, 2, 1, "", "delete_all_initial_conditions"], [1, 2, 1, "", "delete_all_parameters"], [1, 2, 1, "", "delete_all_reactions"], [1, 2, 1, "", "delete_all_species"], [1, 2, 1, "", "delete_boundary_condition"], [1, 2, 1, "", "delete_data_function"], [1, 2, 1, "", "delete_initial_condition"], [1, 2, 1, "", "delete_parameter"], [1, 2, 1, "", "delete_reaction"], [1, 2, 1, "", "delete_species"], [1, 2, 1, "", "get_all_boundary_conditions"], [1, 2, 1, "", "get_all_data_functions"], [1, 2, 1, "", "get_all_initial_conditions"], [1, 2, 1, "", "get_all_parameters"], [1, 2, 1, "", "get_all_reactions"], [1, 2, 1, "", "get_all_species"], [1, 2, 1, "", "get_data_function"], [1, 2, 1, "", "get_element"], [1, 2, 1, "", "get_num_reactions"], [1, 2, 1, "", "get_num_species"], [1, 2, 1, "", "get_parameter"], [1, 2, 1, "", "get_reaction"], [1, 2, 1, "", "get_species"], [1, 4, 1, "", "reserved_names"], [1, 2, 1, "", "run"], [1, 2, 1, "", "sanitized_data_function_names"], [1, 2, 1, "", "sanitized_parameter_names"], [1, 2, 1, "", "sanitized_species_names"], [1, 2, 1, "", "set_timesteps"], [1, 4, 1, "", "special_characters"], [1, 2, 1, "", "timespan"], [1, 2, 1, "", "update_namespace"]], "spatialpy.core.Parameter": [[1, 2, 1, "", "validate"]], "spatialpy.core.PlaceInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.Reaction": [[1, 2, 1, "", "add_product"], [1, 2, 1, "", "add_reactant"], [1, 2, 1, "", "annotate"], [1, 2, 1, "", "from_json"], [1, 2, 1, "", "initialize"], [1, 2, 1, "", "sanitized_propensity_function"], [1, 2, 1, "", "set_annotation"], [1, 2, 1, "", "set_propensities"], [1, 2, 1, "", "set_rate"], [1, 2, 1, "", "to_dict"], [1, 2, 1, "", "validate"]], "spatialpy.core.ReflectionTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"]], "spatialpy.core.Result": [[1, 2, 1, "", "export_to_csv"], [1, 2, 1, "", "get_property"], [1, 2, 1, "", "get_species"], [1, 2, 1, "", "get_timespan"], [1, 2, 1, "", "plot_property"], [1, 2, 1, "", "plot_species"], [1, 2, 1, "", "read_step"]], "spatialpy.core.RotationTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.ScalingTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.ScatterInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.Species": [[1, 2, 1, "", "set_diffusion_coefficient"], [1, 2, 1, "", "validate"]], "spatialpy.core.SphericalLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.StochSSLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.TimeSpan": [[1, 2, 1, "", "arange"], [1, 2, 1, "", "linspace"], [1, 2, 1, "", "validate"]], "spatialpy.core.Transformation": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "inside"], [1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.TranslationTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.UniformInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.VTKReader": [[1, 2, 1, "", "get_array_name"], [1, 2, 1, "", "get_arrays"], [1, 2, 1, "", "get_num_points"], [1, 2, 1, "", "get_points"], [1, 2, 1, "", "read_file"], [1, 2, 1, "", "set_filename"]], "spatialpy.core.Visualization": [[1, 4, 1, "", "MPL_HEIGHT"], [1, 4, 1, "", "MPL_SIZE"], [1, 4, 1, "", "MPL_WIDTH"], [1, 2, 1, "", "plot_scatter"]], "spatialpy.core.XMLMeshLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.boundarycondition": [[1, 1, 1, "", "BoundaryCondition"]], "spatialpy.core.boundarycondition.BoundaryCondition": [[1, 2, 1, "", "expression"]], "spatialpy.core.cleanup": [[1, 5, 1, "", "cleanup_build_files"], [1, 5, 1, "", "cleanup_core_files"], [1, 5, 1, "", "cleanup_result_files"], [1, 5, 1, "", "cleanup_tempfiles"]], "spatialpy.core.datafunction": [[1, 1, 1, "", "DataFunction"]], "spatialpy.core.datafunction.DataFunction": [[1, 2, 1, "", "map"]], "spatialpy.core.domain": [[1, 1, 1, "", "Domain"]], "spatialpy.core.domain.Domain": [[1, 2, 1, "", "add_fill_action"], [1, 2, 1, "", "add_point"], [1, 2, 1, "", "add_remove_action"], [1, 2, 1, "", "add_set_action"], [1, 2, 1, "", "apply_actions"], [1, 2, 1, "", "apply_fill_action"], [1, 2, 1, "", "apply_remove_action"], [1, 2, 1, "", "apply_set_action"], [1, 2, 1, "", "calculate_vol"], [1, 2, 1, "", "closest_vertex"], [1, 2, 1, "", "compile_prep"], [1, 2, 1, "", "coordinates"], [1, 2, 1, "", "create_2D_domain"], [1, 2, 1, "", "create_3D_domain"], [1, 2, 1, "", "distance_between_2_vertices"], [1, 2, 1, "", "fill_with_particles"], [1, 2, 1, "", "find_boundary_points"], [1, 2, 1, "", "find_h"], [1, 2, 1, "", "get_bounding_box"], [1, 2, 1, "", "get_domain_size"], [1, 2, 1, "", "get_num_voxels"], [1, 2, 1, "", "get_type_def"], [1, 2, 1, "", "get_vol"], [1, 2, 1, "", "import_meshio_object"], [1, 2, 1, "", "plot_types"], [1, 2, 1, "", "preview_actions"], [1, 2, 1, "", "read_msh_file"], [1, 2, 1, "", "read_stochss_domain"], [1, 2, 1, "", "read_stochss_subdomain_file"], [1, 2, 1, "", "read_xml_mesh"], [1, 2, 1, "", "set_properties"], [1, 2, 1, "", "validate_action"]], "spatialpy.core.geometry": [[1, 1, 1, "", "CombinatoryGeometry"], [1, 1, 1, "", "Geometry"], [1, 1, 1, "", "GeometryAll"], [1, 1, 1, "", "GeometryExterior"], [1, 1, 1, "", "GeometryInterior"]], "spatialpy.core.geometry.CombinatoryGeometry": [[1, 2, 1, "", "inside"], [1, 2, 1, "", "validate"]], "spatialpy.core.geometry.Geometry": [[1, 2, 1, "", "inside"]], "spatialpy.core.geometry.GeometryAll": [[1, 2, 1, "", "inside"]], "spatialpy.core.geometry.GeometryExterior": [[1, 2, 1, "", "inside"]], "spatialpy.core.geometry.GeometryInterior": [[1, 2, 1, "", "inside"]], "spatialpy.core.initialcondition": [[1, 1, 1, "", "InitialCondition"], [1, 1, 1, "", "PlaceInitialCondition"], [1, 1, 1, "", "ScatterInitialCondition"], [1, 1, 1, "", "UniformInitialCondition"]], "spatialpy.core.initialcondition.InitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.initialcondition.PlaceInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.initialcondition.ScatterInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.initialcondition.UniformInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.lattice": [[1, 1, 1, "", "CartesianLattice"], [1, 1, 1, "", "CylindricalLattice"], [1, 1, 1, "", "Lattice"], [1, 1, 1, "", "MeshIOLattice"], [1, 1, 1, "", "SphericalLattice"], [1, 1, 1, "", "StochSSLattice"], [1, 1, 1, "", "XMLMeshLattice"]], "spatialpy.core.lattice.CartesianLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.CylindricalLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.Lattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.MeshIOLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.SphericalLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.StochSSLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.XMLMeshLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.model": [[1, 1, 1, "", "Model"], [1, 5, 1, "", "export_StochSS"]], "spatialpy.core.model.Model": [[1, 2, 1, "", "add"], [1, 2, 1, "", "add_boundary_condition"], [1, 2, 1, "", "add_data_function"], [1, 2, 1, "", "add_domain"], [1, 2, 1, "", "add_initial_condition"], [1, 2, 1, "", "add_parameter"], [1, 2, 1, "", "add_reaction"], [1, 2, 1, "", "add_species"], [1, 2, 1, "", "compile_prep"], [1, 2, 1, "", "delete_all_boundary_conditions"], [1, 2, 1, "", "delete_all_data_functions"], [1, 2, 1, "", "delete_all_initial_conditions"], [1, 2, 1, "", "delete_all_parameters"], [1, 2, 1, "", "delete_all_reactions"], [1, 2, 1, "", "delete_all_species"], [1, 2, 1, "", "delete_boundary_condition"], [1, 2, 1, "", "delete_data_function"], [1, 2, 1, "", "delete_initial_condition"], [1, 2, 1, "", "delete_parameter"], [1, 2, 1, "", "delete_reaction"], [1, 2, 1, "", "delete_species"], [1, 2, 1, "", "get_all_boundary_conditions"], [1, 2, 1, "", "get_all_data_functions"], [1, 2, 1, "", "get_all_initial_conditions"], [1, 2, 1, "", "get_all_parameters"], [1, 2, 1, "", "get_all_reactions"], [1, 2, 1, "", "get_all_species"], [1, 2, 1, "", "get_data_function"], [1, 2, 1, "", "get_element"], [1, 2, 1, "", "get_num_reactions"], [1, 2, 1, "", "get_num_species"], [1, 2, 1, "", "get_parameter"], [1, 2, 1, "", "get_reaction"], [1, 2, 1, "", "get_species"], [1, 4, 1, "", "reserved_names"], [1, 2, 1, "", "run"], [1, 2, 1, "", "sanitized_data_function_names"], [1, 2, 1, "", "sanitized_parameter_names"], [1, 2, 1, "", "sanitized_species_names"], [1, 2, 1, "", "set_timesteps"], [1, 4, 1, "", "special_characters"], [1, 2, 1, "", "timespan"], [1, 2, 1, "", "update_namespace"]], "spatialpy.core.parameter": [[1, 1, 1, "", "Parameter"]], "spatialpy.core.parameter.Parameter": [[1, 2, 1, "", "validate"]], "spatialpy.core.reaction": [[1, 1, 1, "", "Reaction"]], "spatialpy.core.reaction.Reaction": [[1, 2, 1, "", "add_product"], [1, 2, 1, "", "add_reactant"], [1, 2, 1, "", "annotate"], [1, 2, 1, "", "from_json"], [1, 2, 1, "", "initialize"], [1, 2, 1, "", "sanitized_propensity_function"], [1, 2, 1, "", "set_annotation"], [1, 2, 1, "", "set_propensities"], [1, 2, 1, "", "set_rate"], [1, 2, 1, "", "to_dict"], [1, 2, 1, "", "validate"]], "spatialpy.core.result": [[1, 1, 1, "", "Result"]], "spatialpy.core.result.Result": [[1, 2, 1, "", "export_to_csv"], [1, 2, 1, "", "get_property"], [1, 2, 1, "", "get_species"], [1, 2, 1, "", "get_timespan"], [1, 2, 1, "", "plot_property"], [1, 2, 1, "", "plot_species"], [1, 2, 1, "", "read_step"]], "spatialpy.core.spatialpyerror": [[1, 3, 1, "", "BoundaryConditionError"], [1, 3, 1, "", "DataFunctionError"], [1, 3, 1, "", "DomainError"], [1, 3, 1, "", "GeometryError"], [1, 3, 1, "", "InitialConditionError"], [1, 3, 1, "", "LatticeError"], [1, 3, 1, "", "ModelError"], [1, 3, 1, "", "ParameterError"], [1, 3, 1, "", "ReactionError"], [1, 3, 1, "", "ResultError"], [1, 3, 1, "", "SimulationError"], [1, 3, 1, "", "SimulationTimeout"], [1, 3, 1, "", "SpeciesError"], [1, 3, 1, "", "TimespanError"], [1, 3, 1, "", "TransformationError"], [1, 3, 1, "", "VTKReaderError"], [1, 3, 1, "", "VTKReaderIOError"], [1, 3, 1, "", "VisualizationError"]], "spatialpy.core.species": [[1, 1, 1, "", "Species"]], "spatialpy.core.species.Species": [[1, 2, 1, "", "set_diffusion_coefficient"], [1, 2, 1, "", "validate"]], "spatialpy.core.timespan": [[1, 1, 1, "", "TimeSpan"]], "spatialpy.core.timespan.TimeSpan": [[1, 2, 1, "", "arange"], [1, 2, 1, "", "linspace"], [1, 2, 1, "", "validate"]], "spatialpy.core.transformation": [[1, 1, 1, "", "ReflectionTransformation"], [1, 1, 1, "", "RotationTransformation"], [1, 1, 1, "", "ScalingTransformation"], [1, 1, 1, "", "Transformation"], [1, 1, 1, "", "TranslationTransformation"]], "spatialpy.core.transformation.ReflectionTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"]], "spatialpy.core.transformation.RotationTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.transformation.ScalingTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.transformation.Transformation": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "inside"], [1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.transformation.TranslationTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.visualization": [[1, 1, 1, "", "Visualization"]], "spatialpy.core.visualization.Visualization": [[1, 4, 1, "", "MPL_HEIGHT"], [1, 4, 1, "", "MPL_SIZE"], [1, 4, 1, "", "MPL_WIDTH"], [1, 2, 1, "", "plot_scatter"]], "spatialpy.core.vtkreader": [[1, 1, 1, "", "VTKReader"]], "spatialpy.core.vtkreader.VTKReader": [[1, 2, 1, "", "get_array_name"], [1, 2, 1, "", "get_arrays"], [1, 2, 1, "", "get_num_points"], [1, 2, 1, "", "get_points"], [1, 2, 1, "", "read_file"], [1, 2, 1, "", "set_filename"]], "spatialpy.solvers": [[2, 0, 0, "-", "build_expression"], [2, 0, 0, "-", "solver"]], "spatialpy.solvers.build_expression": [[2, 1, 1, "", "BuildExpression"], [2, 1, 1, "", "CppConverter"], [2, 1, 1, "", "ExpressionConverter"], [2, 1, 1, "", "ExpressionResults"], [2, 1, 1, "", "PythonConverter"]], "spatialpy.solvers.build_expression.BuildExpression": [[2, 1, 1, "", "ValidationVisitor"], [2, 2, 1, "", "getexpr_cpp"], [2, 2, 1, "", "getexpr_python"], [2, 2, 1, "", "map_operator"], [2, 4, 1, "", "operator_map"], [2, 2, 1, "", "validate"], [2, 2, 1, "", "with_blacklist"], [2, 2, 1, "", "with_namespace"]], "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor": [[2, 2, 1, "", "visit_Assign"], [2, 2, 1, "", "visit_BinOp"], [2, 2, 1, "", "visit_BoolOp"], [2, 2, 1, "", "visit_Call"], [2, 2, 1, "", "visit_Compare"], [2, 2, 1, "", "visit_Name"], [2, 2, 1, "", "visit_UnaryOp"]], "spatialpy.solvers.build_expression.CppConverter": [[2, 1, 1, "", "CppExpressionTransformer"], [2, 2, 1, "", "get_str"], [2, 2, 1, "", "visit_And"], [2, 2, 1, "", "visit_Or"]], "spatialpy.solvers.build_expression.CppConverter.CppExpressionTransformer": [[2, 2, 1, "", "visit_BinOp"]], "spatialpy.solvers.build_expression.ExpressionConverter": [[2, 2, 1, "", "convert_str"], [2, 2, 1, "", "get_str"], [2, 2, 1, "", "parse_comparison"], [2, 2, 1, "", "parse_logical"], [2, 2, 1, "", "parse_operator"], [2, 2, 1, "", "visit_Add"], [2, 2, 1, "", "visit_BinOp"], [2, 2, 1, "", "visit_BoolOp"], [2, 2, 1, "", "visit_Bytes"], [2, 2, 1, "", "visit_Call"], [2, 2, 1, "", "visit_Compare"], [2, 2, 1, "", "visit_Constant"], [2, 2, 1, "", "visit_Div"], [2, 2, 1, "", "visit_Ellipsis"], [2, 2, 1, "", "visit_Eq"], [2, 2, 1, "", "visit_Gt"], [2, 2, 1, "", "visit_GtE"], [2, 2, 1, "", "visit_Lt"], [2, 2, 1, "", "visit_LtE"], [2, 2, 1, "", "visit_Mult"], [2, 2, 1, "", "visit_Name"], [2, 2, 1, "", "visit_NameConstant"], [2, 2, 1, "", "visit_NotEq"], [2, 2, 1, "", "visit_Num"], [2, 2, 1, "", "visit_Pow"], [2, 2, 1, "", "visit_Str"], [2, 2, 1, "", "visit_Sub"], [2, 2, 1, "", "visit_USub"], [2, 2, 1, "", "visit_UnaryOp"]], "spatialpy.solvers.build_expression.PythonConverter": [[2, 2, 1, "", "visit_And"], [2, 2, 1, "", "visit_Or"]], "spatialpy.solvers.solver": [[2, 1, 1, "", "Solver"]], "spatialpy.solvers.solver.Solver": [[2, 2, 1, "", "compile"], [2, 2, 1, "", "run"]], "spatialpy.stochss": [[3, 0, 0, "-", "stochss_export"]], "spatialpy.stochss.stochss_export": [[3, 5, 1, "", "export"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:attribute", "5": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "function", "Python function"]}, "titleterms": {"spatialpi": [0, 1, 2, 3, 4], "packag": [0, 1, 2, 3], "subpackag": 0, "modul": [0, 1, 2, 3], "content": [0, 1, 2, 3], "core": 1, "submodul": [1, 2, 3], "boundarycondit": 1, "cleanup": 1, "datafunct": 1, "domain": 1, "geometri": 1, "initialcondit": 1, "lattic": 1, "model": 1, "paramet": 1, "reaction": 1, "result": 1, "spatialpyerror": 1, "speci": 1, "timespan": 1, "transform": 1, "visual": 1, "vtkreader": 1, "solver": 2, "build_express": 2, "stochss": 3, "stochss_export": 3, "document": 4, "1": 4, "2": 4, "get": 4, "copi": 4, "exampl": 4, "report": 4, "issu": 4, "api": 4, "refer": 4, "indic": 4, "tabl": 4}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"spatialpy package": [[0, "spatialpy-package"]], "Subpackages": [[0, "subpackages"]], "Module contents": [[0, "module-spatialpy"], [1, "module-spatialpy.core"], [2, "module-spatialpy.solvers"], [3, "module-spatialpy.stochss"]], "spatialpy.core package": [[1, "spatialpy-core-package"]], "Submodules": [[1, "submodules"], [2, "submodules"], [3, "submodules"]], "spatialpy.core.boundarycondition module": [[1, "module-spatialpy.core.boundarycondition"]], "spatialpy.core.cleanup module": [[1, "module-spatialpy.core.cleanup"]], "spatialpy.core.datafunction module": [[1, "module-spatialpy.core.datafunction"]], "spatialpy.core.domain module": [[1, "module-spatialpy.core.domain"]], "spatialpy.core.geometry module": [[1, "module-spatialpy.core.geometry"]], "spatialpy.core.initialcondition module": [[1, "module-spatialpy.core.initialcondition"]], "spatialpy.core.lattice module": [[1, "module-spatialpy.core.lattice"]], "spatialpy.core.model module": [[1, "module-spatialpy.core.model"]], "spatialpy.core.parameter module": [[1, "module-spatialpy.core.parameter"]], "spatialpy.core.reaction module": [[1, "module-spatialpy.core.reaction"]], "spatialpy.core.result module": [[1, "module-spatialpy.core.result"]], "spatialpy.core.spatialpyerror module": [[1, "module-spatialpy.core.spatialpyerror"]], "spatialpy.core.species module": [[1, "module-spatialpy.core.species"]], "spatialpy.core.timespan module": [[1, "module-spatialpy.core.timespan"]], "spatialpy.core.transformation module": [[1, "module-spatialpy.core.transformation"]], "spatialpy.core.visualization module": [[1, "module-spatialpy.core.visualization"]], "spatialpy.core.vtkreader module": [[1, "module-spatialpy.core.vtkreader"]], "spatialpy.solvers package": [[2, "spatialpy-solvers-package"]], "spatialpy.solvers.build_expression module": [[2, "module-spatialpy.solvers.build_expression"]], "spatialpy.solvers.solver module": [[2, "module-spatialpy.solvers.solver"]], "spatialpy.stochss package": [[3, "spatialpy-stochss-package"]], "spatialpy.stochss.stochss_export module": [[3, "module-spatialpy.stochss.stochss_export"]], "Documentation for SpatialPy 1.1.2": [[4, "documentation-for-spatialpy-release"]], "Getting a copy of SpatialPy": [[4, "getting-a-copy-of-spatialpy"]], "Examples": [[4, "examples"]], "Reporting Issues": [[4, "reporting-issues"]], "Documentation": [[4, "documentation"]], "API reference": [[4, null]], "Indices and tables": [[4, "indices-and-tables"]]}, "indexentries": {"module": [[0, "module-spatialpy"], [1, "module-spatialpy.core"], [1, "module-spatialpy.core.boundarycondition"], [1, "module-spatialpy.core.cleanup"], [1, "module-spatialpy.core.datafunction"], [1, "module-spatialpy.core.domain"], [1, "module-spatialpy.core.geometry"], [1, "module-spatialpy.core.initialcondition"], [1, "module-spatialpy.core.lattice"], [1, "module-spatialpy.core.model"], [1, "module-spatialpy.core.parameter"], [1, "module-spatialpy.core.reaction"], [1, "module-spatialpy.core.result"], [1, "module-spatialpy.core.spatialpyerror"], [1, "module-spatialpy.core.species"], [1, "module-spatialpy.core.timespan"], [1, "module-spatialpy.core.transformation"], [1, "module-spatialpy.core.visualization"], [1, "module-spatialpy.core.vtkreader"], [2, "module-spatialpy.solvers"], [2, "module-spatialpy.solvers.build_expression"], [2, "module-spatialpy.solvers.solver"], [3, "module-spatialpy.stochss"], [3, "module-spatialpy.stochss.stochss_export"]], "spatialpy": [[0, "module-spatialpy"]], "boundarycondition (class in spatialpy.core)": [[1, "spatialpy.core.BoundaryCondition"]], "boundarycondition (class in spatialpy.core.boundarycondition)": [[1, "spatialpy.core.boundarycondition.BoundaryCondition"]], "boundaryconditionerror": [[1, "spatialpy.core.BoundaryConditionError"], [1, "spatialpy.core.spatialpyerror.BoundaryConditionError"]], "cartesianlattice (class in spatialpy.core)": [[1, "spatialpy.core.CartesianLattice"]], "cartesianlattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.CartesianLattice"]], "combinatorygeometry (class in spatialpy.core)": [[1, "spatialpy.core.CombinatoryGeometry"]], "combinatorygeometry (class in spatialpy.core.geometry)": [[1, "spatialpy.core.geometry.CombinatoryGeometry"]], "cylindricallattice (class in spatialpy.core)": [[1, "spatialpy.core.CylindricalLattice"]], "cylindricallattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.CylindricalLattice"]], "datafunction (class in spatialpy.core)": [[1, "spatialpy.core.DataFunction"]], "datafunction (class in spatialpy.core.datafunction)": [[1, "spatialpy.core.datafunction.DataFunction"]], "datafunctionerror": [[1, "spatialpy.core.DataFunctionError"], [1, "spatialpy.core.spatialpyerror.DataFunctionError"]], "domain (class in spatialpy.core)": [[1, "spatialpy.core.Domain"]], "domain (class in spatialpy.core.domain)": [[1, "spatialpy.core.domain.Domain"]], "domainerror": [[1, "spatialpy.core.DomainError"], [1, "spatialpy.core.spatialpyerror.DomainError"]], "geometry (class in spatialpy.core)": [[1, "spatialpy.core.Geometry"]], "geometry (class in spatialpy.core.geometry)": [[1, "spatialpy.core.geometry.Geometry"]], "geometryall (class in spatialpy.core)": [[1, "spatialpy.core.GeometryAll"]], "geometryall (class in spatialpy.core.geometry)": [[1, "spatialpy.core.geometry.GeometryAll"]], "geometryerror": [[1, "spatialpy.core.GeometryError"], [1, "spatialpy.core.spatialpyerror.GeometryError"]], "geometryexterior (class in spatialpy.core)": [[1, "spatialpy.core.GeometryExterior"]], "geometryexterior (class in spatialpy.core.geometry)": [[1, "spatialpy.core.geometry.GeometryExterior"]], "geometryinterior (class in spatialpy.core)": [[1, "spatialpy.core.GeometryInterior"]], "geometryinterior (class in spatialpy.core.geometry)": [[1, "spatialpy.core.geometry.GeometryInterior"]], "initialcondition (class in spatialpy.core)": [[1, "spatialpy.core.InitialCondition"]], "initialcondition (class in spatialpy.core.initialcondition)": [[1, "spatialpy.core.initialcondition.InitialCondition"]], "initialconditionerror": [[1, "spatialpy.core.InitialConditionError"], [1, "spatialpy.core.spatialpyerror.InitialConditionError"]], "lattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.Lattice"]], "latticeerror": [[1, "spatialpy.core.LatticeError"], [1, "spatialpy.core.spatialpyerror.LatticeError"]], "mpl_height (spatialpy.core.visualization attribute)": [[1, "spatialpy.core.Visualization.MPL_HEIGHT"]], "mpl_height (spatialpy.core.visualization.visualization attribute)": [[1, "spatialpy.core.visualization.Visualization.MPL_HEIGHT"]], "mpl_size (spatialpy.core.visualization attribute)": [[1, "spatialpy.core.Visualization.MPL_SIZE"]], "mpl_size (spatialpy.core.visualization.visualization attribute)": [[1, "spatialpy.core.visualization.Visualization.MPL_SIZE"]], "mpl_width (spatialpy.core.visualization attribute)": [[1, "spatialpy.core.Visualization.MPL_WIDTH"]], "mpl_width (spatialpy.core.visualization.visualization attribute)": [[1, "spatialpy.core.visualization.Visualization.MPL_WIDTH"]], "meshiolattice (class in spatialpy.core)": [[1, "spatialpy.core.MeshIOLattice"]], "meshiolattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.MeshIOLattice"]], "model (class in spatialpy.core)": [[1, "spatialpy.core.Model"]], "model (class in spatialpy.core.model)": [[1, "spatialpy.core.model.Model"]], "modelerror": [[1, "spatialpy.core.ModelError"], [1, "spatialpy.core.spatialpyerror.ModelError"]], "parameter (class in spatialpy.core)": [[1, "spatialpy.core.Parameter"]], "parameter (class in spatialpy.core.parameter)": [[1, "spatialpy.core.parameter.Parameter"]], "parametererror": [[1, "spatialpy.core.ParameterError"], [1, "spatialpy.core.spatialpyerror.ParameterError"]], "placeinitialcondition (class in spatialpy.core)": [[1, "spatialpy.core.PlaceInitialCondition"]], "placeinitialcondition (class in spatialpy.core.initialcondition)": [[1, "spatialpy.core.initialcondition.PlaceInitialCondition"]], "reaction (class in spatialpy.core)": [[1, "spatialpy.core.Reaction"]], "reaction (class in spatialpy.core.reaction)": [[1, "spatialpy.core.reaction.Reaction"]], "reactionerror": [[1, "spatialpy.core.ReactionError"], [1, "spatialpy.core.spatialpyerror.ReactionError"]], "reflectiontransformation (class in spatialpy.core)": [[1, "spatialpy.core.ReflectionTransformation"]], "reflectiontransformation (class in spatialpy.core.transformation)": [[1, "spatialpy.core.transformation.ReflectionTransformation"]], "result (class in spatialpy.core)": [[1, "spatialpy.core.Result"]], "result (class in spatialpy.core.result)": [[1, "spatialpy.core.result.Result"]], "resulterror": [[1, "spatialpy.core.ResultError"], [1, "spatialpy.core.spatialpyerror.ResultError"]], "rotationtransformation (class in spatialpy.core)": [[1, "spatialpy.core.RotationTransformation"]], "rotationtransformation (class in spatialpy.core.transformation)": [[1, "spatialpy.core.transformation.RotationTransformation"]], "scalingtransformation (class in spatialpy.core)": [[1, "spatialpy.core.ScalingTransformation"]], "scalingtransformation (class in spatialpy.core.transformation)": [[1, "spatialpy.core.transformation.ScalingTransformation"]], "scatterinitialcondition (class in spatialpy.core)": [[1, "spatialpy.core.ScatterInitialCondition"]], "scatterinitialcondition (class in spatialpy.core.initialcondition)": [[1, "spatialpy.core.initialcondition.ScatterInitialCondition"]], "simulationerror": [[1, "spatialpy.core.SimulationError"], [1, "spatialpy.core.spatialpyerror.SimulationError"]], "simulationtimeout": [[1, "spatialpy.core.SimulationTimeout"], [1, "spatialpy.core.spatialpyerror.SimulationTimeout"]], "species (class in spatialpy.core)": [[1, "spatialpy.core.Species"]], "species (class in spatialpy.core.species)": [[1, "spatialpy.core.species.Species"]], "specieserror": [[1, "spatialpy.core.SpeciesError"], [1, "spatialpy.core.spatialpyerror.SpeciesError"]], "sphericallattice (class in spatialpy.core)": [[1, "spatialpy.core.SphericalLattice"]], "sphericallattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.SphericalLattice"]], "stochsslattice (class in spatialpy.core)": [[1, "spatialpy.core.StochSSLattice"]], "stochsslattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.StochSSLattice"]], "timespan (class in spatialpy.core)": [[1, "spatialpy.core.TimeSpan"]], "timespan (class in spatialpy.core.timespan)": [[1, "spatialpy.core.timespan.TimeSpan"]], "timespanerror": [[1, "spatialpy.core.TimespanError"], [1, "spatialpy.core.spatialpyerror.TimespanError"]], "transformation (class in spatialpy.core)": [[1, "spatialpy.core.Transformation"]], "transformation (class in spatialpy.core.transformation)": [[1, "spatialpy.core.transformation.Transformation"]], "transformationerror": [[1, "spatialpy.core.TransformationError"], [1, "spatialpy.core.spatialpyerror.TransformationError"]], "translationtransformation (class in spatialpy.core)": [[1, "spatialpy.core.TranslationTransformation"]], "translationtransformation (class in spatialpy.core.transformation)": [[1, "spatialpy.core.transformation.TranslationTransformation"]], "uniforminitialcondition (class in spatialpy.core)": [[1, "spatialpy.core.UniformInitialCondition"]], "uniforminitialcondition (class in spatialpy.core.initialcondition)": [[1, "spatialpy.core.initialcondition.UniformInitialCondition"]], "vtkreader (class in spatialpy.core)": [[1, "spatialpy.core.VTKReader"]], "vtkreader (class in spatialpy.core.vtkreader)": [[1, "spatialpy.core.vtkreader.VTKReader"]], "vtkreadererror": [[1, "spatialpy.core.VTKReaderError"], [1, "spatialpy.core.spatialpyerror.VTKReaderError"]], "vtkreaderioerror": [[1, "spatialpy.core.VTKReaderIOError"], [1, "spatialpy.core.spatialpyerror.VTKReaderIOError"]], "visualization (class in spatialpy.core)": [[1, "spatialpy.core.Visualization"]], "visualization (class in spatialpy.core.visualization)": [[1, "spatialpy.core.visualization.Visualization"]], "visualizationerror": [[1, "spatialpy.core.VisualizationError"], [1, "spatialpy.core.spatialpyerror.VisualizationError"]], "xmlmeshlattice (class in spatialpy.core)": [[1, "spatialpy.core.XMLMeshLattice"]], "xmlmeshlattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.XMLMeshLattice"]], "add() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add"]], "add() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add"]], "add_boundary_condition() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_boundary_condition"]], "add_boundary_condition() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_boundary_condition"]], "add_data_function() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_data_function"]], "add_data_function() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_data_function"]], "add_domain() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_domain"]], "add_domain() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_domain"]], "add_fill_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.add_fill_action"]], "add_fill_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.add_fill_action"]], "add_initial_condition() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_initial_condition"]], "add_initial_condition() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_initial_condition"]], "add_parameter() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_parameter"]], "add_parameter() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_parameter"]], "add_point() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.add_point"]], "add_point() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.add_point"]], "add_product() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.add_product"]], "add_product() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.add_product"]], "add_reactant() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.add_reactant"]], "add_reactant() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.add_reactant"]], "add_reaction() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_reaction"]], "add_reaction() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_reaction"]], "add_remove_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.add_remove_action"]], "add_remove_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.add_remove_action"]], "add_set_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.add_set_action"]], "add_set_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.add_set_action"]], "add_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_species"]], "add_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_species"]], "annotate() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.annotate"]], "annotate() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.annotate"]], "apply() (spatialpy.core.cartesianlattice method)": [[1, "spatialpy.core.CartesianLattice.apply"]], "apply() (spatialpy.core.cylindricallattice method)": [[1, "spatialpy.core.CylindricalLattice.apply"]], "apply() (spatialpy.core.initialcondition method)": [[1, "spatialpy.core.InitialCondition.apply"]], "apply() (spatialpy.core.meshiolattice method)": [[1, "spatialpy.core.MeshIOLattice.apply"]], "apply() (spatialpy.core.placeinitialcondition method)": [[1, "spatialpy.core.PlaceInitialCondition.apply"]], "apply() (spatialpy.core.scatterinitialcondition method)": [[1, "spatialpy.core.ScatterInitialCondition.apply"]], "apply() (spatialpy.core.sphericallattice method)": [[1, "spatialpy.core.SphericalLattice.apply"]], "apply() (spatialpy.core.stochsslattice method)": [[1, "spatialpy.core.StochSSLattice.apply"]], "apply() (spatialpy.core.transformation method)": [[1, "spatialpy.core.Transformation.apply"]], "apply() (spatialpy.core.uniforminitialcondition method)": [[1, "spatialpy.core.UniformInitialCondition.apply"]], "apply() (spatialpy.core.xmlmeshlattice method)": [[1, "spatialpy.core.XMLMeshLattice.apply"]], "apply() (spatialpy.core.initialcondition.initialcondition method)": [[1, "spatialpy.core.initialcondition.InitialCondition.apply"]], "apply() (spatialpy.core.initialcondition.placeinitialcondition method)": [[1, "spatialpy.core.initialcondition.PlaceInitialCondition.apply"]], "apply() (spatialpy.core.initialcondition.scatterinitialcondition method)": [[1, "spatialpy.core.initialcondition.ScatterInitialCondition.apply"]], "apply() (spatialpy.core.initialcondition.uniforminitialcondition method)": [[1, "spatialpy.core.initialcondition.UniformInitialCondition.apply"]], "apply() (spatialpy.core.lattice.cartesianlattice method)": [[1, "spatialpy.core.lattice.CartesianLattice.apply"]], "apply() (spatialpy.core.lattice.cylindricallattice method)": [[1, "spatialpy.core.lattice.CylindricalLattice.apply"]], "apply() (spatialpy.core.lattice.lattice method)": [[1, "spatialpy.core.lattice.Lattice.apply"]], "apply() (spatialpy.core.lattice.meshiolattice method)": [[1, "spatialpy.core.lattice.MeshIOLattice.apply"]], "apply() (spatialpy.core.lattice.sphericallattice method)": [[1, "spatialpy.core.lattice.SphericalLattice.apply"]], "apply() (spatialpy.core.lattice.stochsslattice method)": [[1, "spatialpy.core.lattice.StochSSLattice.apply"]], "apply() (spatialpy.core.lattice.xmlmeshlattice method)": [[1, "spatialpy.core.lattice.XMLMeshLattice.apply"]], "apply() (spatialpy.core.transformation.transformation method)": [[1, "spatialpy.core.transformation.Transformation.apply"]], "apply_actions() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.apply_actions"]], "apply_actions() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.apply_actions"]], "apply_fill_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.apply_fill_action"]], "apply_fill_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.apply_fill_action"]], "apply_remove_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.apply_remove_action"]], "apply_remove_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.apply_remove_action"]], "apply_set_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.apply_set_action"]], "apply_set_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.apply_set_action"]], "arange() (spatialpy.core.timespan class method)": [[1, "spatialpy.core.TimeSpan.arange"]], "arange() (spatialpy.core.timespan.timespan class method)": [[1, "spatialpy.core.timespan.TimeSpan.arange"]], "calculate_vol() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.calculate_vol"]], "calculate_vol() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.calculate_vol"]], "cleanup_build_files() (in module spatialpy.core)": [[1, "spatialpy.core.cleanup_build_files"]], "cleanup_build_files() (in module spatialpy.core.cleanup)": [[1, "spatialpy.core.cleanup.cleanup_build_files"]], "cleanup_core_files() (in module spatialpy.core)": [[1, "spatialpy.core.cleanup_core_files"]], "cleanup_core_files() (in module spatialpy.core.cleanup)": [[1, "spatialpy.core.cleanup.cleanup_core_files"]], "cleanup_result_files() (in module spatialpy.core)": [[1, "spatialpy.core.cleanup_result_files"]], "cleanup_result_files() (in module spatialpy.core.cleanup)": [[1, "spatialpy.core.cleanup.cleanup_result_files"]], "cleanup_tempfiles() (in module spatialpy.core)": [[1, "spatialpy.core.cleanup_tempfiles"]], "cleanup_tempfiles() (in module spatialpy.core.cleanup)": [[1, "spatialpy.core.cleanup.cleanup_tempfiles"]], "closest_vertex() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.closest_vertex"]], "closest_vertex() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.closest_vertex"]], "compile_prep() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.compile_prep"]], "compile_prep() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.compile_prep"]], "compile_prep() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.compile_prep"]], "compile_prep() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.compile_prep"]], "coordinates() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.coordinates"]], "coordinates() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.coordinates"]], "create_2d_domain() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.create_2D_domain"]], "create_2d_domain() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.create_2D_domain"]], "create_3d_domain() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.create_3D_domain"]], "create_3d_domain() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.create_3D_domain"]], "delete_all_boundary_conditions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_boundary_conditions"]], "delete_all_boundary_conditions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_boundary_conditions"]], "delete_all_data_functions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_data_functions"]], "delete_all_data_functions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_data_functions"]], "delete_all_initial_conditions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_initial_conditions"]], "delete_all_initial_conditions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_initial_conditions"]], "delete_all_parameters() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_parameters"]], "delete_all_parameters() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_parameters"]], "delete_all_reactions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_reactions"]], "delete_all_reactions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_reactions"]], "delete_all_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_species"]], "delete_all_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_species"]], "delete_boundary_condition() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_boundary_condition"]], "delete_boundary_condition() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_boundary_condition"]], "delete_data_function() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_data_function"]], "delete_data_function() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_data_function"]], "delete_initial_condition() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_initial_condition"]], "delete_initial_condition() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_initial_condition"]], "delete_parameter() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_parameter"]], "delete_parameter() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_parameter"]], "delete_reaction() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_reaction"]], "delete_reaction() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_reaction"]], "delete_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_species"]], "delete_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_species"]], "distance_between_2_vertices() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.distance_between_2_vertices"]], "distance_between_2_vertices() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.distance_between_2_vertices"]], "export_stochss() (in module spatialpy.core)": [[1, "spatialpy.core.export_StochSS"]], "export_stochss() (in module spatialpy.core.model)": [[1, "spatialpy.core.model.export_StochSS"]], "export_to_csv() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.export_to_csv"]], "export_to_csv() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.export_to_csv"]], "expression() (spatialpy.core.boundarycondition method)": [[1, "spatialpy.core.BoundaryCondition.expression"]], "expression() (spatialpy.core.boundarycondition.boundarycondition method)": [[1, "spatialpy.core.boundarycondition.BoundaryCondition.expression"]], "fill_with_particles() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.fill_with_particles"]], "fill_with_particles() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.fill_with_particles"]], "find_boundary_points() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.find_boundary_points"]], "find_boundary_points() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.find_boundary_points"]], "find_h() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.find_h"]], "find_h() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.find_h"]], "from_json() (spatialpy.core.reaction class method)": [[1, "spatialpy.core.Reaction.from_json"]], "from_json() (spatialpy.core.reaction.reaction class method)": [[1, "spatialpy.core.reaction.Reaction.from_json"]], "get_all_boundary_conditions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_boundary_conditions"]], "get_all_boundary_conditions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_boundary_conditions"]], "get_all_data_functions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_data_functions"]], "get_all_data_functions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_data_functions"]], "get_all_initial_conditions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_initial_conditions"]], "get_all_initial_conditions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_initial_conditions"]], "get_all_parameters() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_parameters"]], "get_all_parameters() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_parameters"]], "get_all_reactions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_reactions"]], "get_all_reactions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_reactions"]], "get_all_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_species"]], "get_all_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_species"]], "get_array_name() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.get_array_name"]], "get_array_name() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.get_array_name"]], "get_arrays() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.get_arrays"]], "get_arrays() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.get_arrays"]], "get_bounding_box() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.get_bounding_box"]], "get_bounding_box() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.get_bounding_box"]], "get_data_function() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_data_function"]], "get_data_function() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_data_function"]], "get_domain_size() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.get_domain_size"]], "get_domain_size() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.get_domain_size"]], "get_element() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_element"]], "get_element() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_element"]], "get_num_points() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.get_num_points"]], "get_num_points() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.get_num_points"]], "get_num_reactions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_num_reactions"]], "get_num_reactions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_num_reactions"]], "get_num_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_num_species"]], "get_num_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_num_species"]], "get_num_voxels() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.get_num_voxels"]], "get_num_voxels() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.get_num_voxels"]], "get_parameter() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_parameter"]], "get_parameter() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_parameter"]], "get_points() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.get_points"]], "get_points() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.get_points"]], "get_property() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.get_property"]], "get_property() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.get_property"]], "get_reaction() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_reaction"]], "get_reaction() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_reaction"]], "get_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_species"]], "get_species() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.get_species"]], "get_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_species"]], "get_species() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.get_species"]], "get_timespan() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.get_timespan"]], "get_timespan() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.get_timespan"]], "get_type_def() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.get_type_def"]], "get_type_def() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.get_type_def"]], "get_vol() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.get_vol"]], "get_vol() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.get_vol"]], "import_meshio_object() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.import_meshio_object"]], "import_meshio_object() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.import_meshio_object"]], "initialize() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.initialize"]], "initialize() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.initialize"]], "inside() (spatialpy.core.combinatorygeometry method)": [[1, "spatialpy.core.CombinatoryGeometry.inside"]], "inside() (spatialpy.core.geometry method)": [[1, "spatialpy.core.Geometry.inside"]], "inside() (spatialpy.core.geometryall method)": [[1, "spatialpy.core.GeometryAll.inside"]], "inside() (spatialpy.core.geometryexterior method)": [[1, "spatialpy.core.GeometryExterior.inside"]], "inside() (spatialpy.core.geometryinterior method)": [[1, "spatialpy.core.GeometryInterior.inside"]], "inside() (spatialpy.core.transformation method)": [[1, "spatialpy.core.Transformation.inside"]], "inside() (spatialpy.core.geometry.combinatorygeometry method)": [[1, "spatialpy.core.geometry.CombinatoryGeometry.inside"]], "inside() (spatialpy.core.geometry.geometry method)": [[1, "spatialpy.core.geometry.Geometry.inside"]], "inside() (spatialpy.core.geometry.geometryall method)": [[1, "spatialpy.core.geometry.GeometryAll.inside"]], "inside() (spatialpy.core.geometry.geometryexterior method)": [[1, "spatialpy.core.geometry.GeometryExterior.inside"]], "inside() (spatialpy.core.geometry.geometryinterior method)": [[1, "spatialpy.core.geometry.GeometryInterior.inside"]], "inside() (spatialpy.core.transformation.transformation method)": [[1, "spatialpy.core.transformation.Transformation.inside"]], "linspace() (spatialpy.core.timespan class method)": [[1, "spatialpy.core.TimeSpan.linspace"]], "linspace() (spatialpy.core.timespan.timespan class method)": [[1, "spatialpy.core.timespan.TimeSpan.linspace"]], "map() (spatialpy.core.datafunction method)": [[1, "spatialpy.core.DataFunction.map"]], "map() (spatialpy.core.datafunction.datafunction method)": [[1, "spatialpy.core.datafunction.DataFunction.map"]], "plot_property() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.plot_property"]], "plot_property() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.plot_property"]], "plot_scatter() (spatialpy.core.visualization method)": [[1, "spatialpy.core.Visualization.plot_scatter"]], "plot_scatter() (spatialpy.core.visualization.visualization method)": [[1, "spatialpy.core.visualization.Visualization.plot_scatter"]], "plot_species() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.plot_species"]], "plot_species() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.plot_species"]], "plot_types() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.plot_types"]], "plot_types() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.plot_types"]], "preview_actions() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.preview_actions"]], "preview_actions() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.preview_actions"]], "read_file() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.read_file"]], "read_file() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.read_file"]], "read_msh_file() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.read_msh_file"]], "read_msh_file() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.read_msh_file"]], "read_step() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.read_step"]], "read_step() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.read_step"]], "read_stochss_domain() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.read_stochss_domain"]], "read_stochss_domain() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.read_stochss_domain"]], "read_stochss_subdomain_file() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.read_stochss_subdomain_file"]], "read_stochss_subdomain_file() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.read_stochss_subdomain_file"]], "read_xml_mesh() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.read_xml_mesh"]], "read_xml_mesh() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.read_xml_mesh"]], "reserved_names (spatialpy.core.model attribute)": [[1, "spatialpy.core.Model.reserved_names"]], "reserved_names (spatialpy.core.model.model attribute)": [[1, "spatialpy.core.model.Model.reserved_names"]], "reverse_transform() (spatialpy.core.reflectiontransformation method)": [[1, "spatialpy.core.ReflectionTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.rotationtransformation method)": [[1, "spatialpy.core.RotationTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.scalingtransformation method)": [[1, "spatialpy.core.ScalingTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation method)": [[1, "spatialpy.core.Transformation.reverse_transform"]], "reverse_transform() (spatialpy.core.translationtransformation method)": [[1, "spatialpy.core.TranslationTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation.reflectiontransformation method)": [[1, "spatialpy.core.transformation.ReflectionTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation.rotationtransformation method)": [[1, "spatialpy.core.transformation.RotationTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation.scalingtransformation method)": [[1, "spatialpy.core.transformation.ScalingTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation.transformation method)": [[1, "spatialpy.core.transformation.Transformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation.translationtransformation method)": [[1, "spatialpy.core.transformation.TranslationTransformation.reverse_transform"]], "run() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.run"]], "run() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.run"]], "sanitized_data_function_names() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.sanitized_data_function_names"]], "sanitized_data_function_names() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.sanitized_data_function_names"]], "sanitized_parameter_names() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.sanitized_parameter_names"]], "sanitized_parameter_names() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.sanitized_parameter_names"]], "sanitized_propensity_function() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.sanitized_propensity_function"]], "sanitized_propensity_function() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.sanitized_propensity_function"]], "sanitized_species_names() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.sanitized_species_names"]], "sanitized_species_names() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.sanitized_species_names"]], "set_annotation() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.set_annotation"]], "set_annotation() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.set_annotation"]], "set_diffusion_coefficient() (spatialpy.core.species method)": [[1, "spatialpy.core.Species.set_diffusion_coefficient"]], "set_diffusion_coefficient() (spatialpy.core.species.species method)": [[1, "spatialpy.core.species.Species.set_diffusion_coefficient"]], "set_filename() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.set_filename"]], "set_filename() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.set_filename"]], "set_propensities() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.set_propensities"]], "set_propensities() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.set_propensities"]], "set_properties() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.set_properties"]], "set_properties() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.set_properties"]], "set_rate() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.set_rate"]], "set_rate() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.set_rate"]], "set_timesteps() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.set_timesteps"]], "set_timesteps() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.set_timesteps"]], "spatialpy.core": [[1, "module-spatialpy.core"]], "spatialpy.core.boundarycondition": [[1, "module-spatialpy.core.boundarycondition"]], "spatialpy.core.cleanup": [[1, "module-spatialpy.core.cleanup"]], "spatialpy.core.datafunction": [[1, "module-spatialpy.core.datafunction"]], "spatialpy.core.domain": [[1, "module-spatialpy.core.domain"]], "spatialpy.core.geometry": [[1, "module-spatialpy.core.geometry"]], "spatialpy.core.initialcondition": [[1, "module-spatialpy.core.initialcondition"]], "spatialpy.core.lattice": [[1, "module-spatialpy.core.lattice"]], "spatialpy.core.model": [[1, "module-spatialpy.core.model"]], "spatialpy.core.parameter": [[1, "module-spatialpy.core.parameter"]], "spatialpy.core.reaction": [[1, "module-spatialpy.core.reaction"]], "spatialpy.core.result": [[1, "module-spatialpy.core.result"]], "spatialpy.core.spatialpyerror": [[1, "module-spatialpy.core.spatialpyerror"]], "spatialpy.core.species": [[1, "module-spatialpy.core.species"]], "spatialpy.core.timespan": [[1, "module-spatialpy.core.timespan"]], "spatialpy.core.transformation": [[1, "module-spatialpy.core.transformation"]], "spatialpy.core.visualization": [[1, "module-spatialpy.core.visualization"]], "spatialpy.core.vtkreader": [[1, "module-spatialpy.core.vtkreader"]], "special_characters (spatialpy.core.model attribute)": [[1, "spatialpy.core.Model.special_characters"]], "special_characters (spatialpy.core.model.model attribute)": [[1, "spatialpy.core.model.Model.special_characters"]], "timespan() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.timespan"]], "timespan() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.timespan"]], "to_dict() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.to_dict"]], "to_dict() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.to_dict"]], "transform() (spatialpy.core.reflectiontransformation method)": [[1, "spatialpy.core.ReflectionTransformation.transform"]], "transform() (spatialpy.core.rotationtransformation method)": [[1, "spatialpy.core.RotationTransformation.transform"]], "transform() (spatialpy.core.scalingtransformation method)": [[1, "spatialpy.core.ScalingTransformation.transform"]], "transform() (spatialpy.core.transformation method)": [[1, "spatialpy.core.Transformation.transform"]], "transform() (spatialpy.core.translationtransformation method)": [[1, "spatialpy.core.TranslationTransformation.transform"]], "transform() (spatialpy.core.transformation.reflectiontransformation method)": [[1, "spatialpy.core.transformation.ReflectionTransformation.transform"]], "transform() (spatialpy.core.transformation.rotationtransformation method)": [[1, "spatialpy.core.transformation.RotationTransformation.transform"]], "transform() (spatialpy.core.transformation.scalingtransformation method)": [[1, "spatialpy.core.transformation.ScalingTransformation.transform"]], "transform() (spatialpy.core.transformation.transformation method)": [[1, "spatialpy.core.transformation.Transformation.transform"]], "transform() (spatialpy.core.transformation.translationtransformation method)": [[1, "spatialpy.core.transformation.TranslationTransformation.transform"]], "update_namespace() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.update_namespace"]], "update_namespace() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.update_namespace"]], "validate() (spatialpy.core.cartesianlattice method)": [[1, "spatialpy.core.CartesianLattice.validate"]], "validate() (spatialpy.core.combinatorygeometry method)": [[1, "spatialpy.core.CombinatoryGeometry.validate"]], "validate() (spatialpy.core.cylindricallattice method)": [[1, "spatialpy.core.CylindricalLattice.validate"]], "validate() (spatialpy.core.meshiolattice method)": [[1, "spatialpy.core.MeshIOLattice.validate"]], "validate() (spatialpy.core.parameter method)": [[1, "spatialpy.core.Parameter.validate"]], "validate() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.validate"]], "validate() (spatialpy.core.rotationtransformation method)": [[1, "spatialpy.core.RotationTransformation.validate"]], "validate() (spatialpy.core.scalingtransformation method)": [[1, "spatialpy.core.ScalingTransformation.validate"]], "validate() (spatialpy.core.species method)": [[1, "spatialpy.core.Species.validate"]], "validate() (spatialpy.core.sphericallattice method)": [[1, "spatialpy.core.SphericalLattice.validate"]], "validate() (spatialpy.core.stochsslattice method)": [[1, "spatialpy.core.StochSSLattice.validate"]], "validate() (spatialpy.core.timespan method)": [[1, "spatialpy.core.TimeSpan.validate"]], "validate() (spatialpy.core.transformation method)": [[1, "spatialpy.core.Transformation.validate"]], "validate() (spatialpy.core.translationtransformation method)": [[1, "spatialpy.core.TranslationTransformation.validate"]], "validate() (spatialpy.core.xmlmeshlattice method)": [[1, "spatialpy.core.XMLMeshLattice.validate"]], "validate() (spatialpy.core.geometry.combinatorygeometry method)": [[1, "spatialpy.core.geometry.CombinatoryGeometry.validate"]], "validate() (spatialpy.core.lattice.cartesianlattice method)": [[1, "spatialpy.core.lattice.CartesianLattice.validate"]], "validate() (spatialpy.core.lattice.cylindricallattice method)": [[1, "spatialpy.core.lattice.CylindricalLattice.validate"]], "validate() (spatialpy.core.lattice.lattice method)": [[1, "spatialpy.core.lattice.Lattice.validate"]], "validate() (spatialpy.core.lattice.meshiolattice method)": [[1, "spatialpy.core.lattice.MeshIOLattice.validate"]], "validate() (spatialpy.core.lattice.sphericallattice method)": [[1, "spatialpy.core.lattice.SphericalLattice.validate"]], "validate() (spatialpy.core.lattice.stochsslattice method)": [[1, "spatialpy.core.lattice.StochSSLattice.validate"]], "validate() (spatialpy.core.lattice.xmlmeshlattice method)": [[1, "spatialpy.core.lattice.XMLMeshLattice.validate"]], "validate() (spatialpy.core.parameter.parameter method)": [[1, "spatialpy.core.parameter.Parameter.validate"]], "validate() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.validate"]], "validate() (spatialpy.core.species.species method)": [[1, "spatialpy.core.species.Species.validate"]], "validate() (spatialpy.core.timespan.timespan method)": [[1, "spatialpy.core.timespan.TimeSpan.validate"]], "validate() (spatialpy.core.transformation.rotationtransformation method)": [[1, "spatialpy.core.transformation.RotationTransformation.validate"]], "validate() (spatialpy.core.transformation.scalingtransformation method)": [[1, "spatialpy.core.transformation.ScalingTransformation.validate"]], "validate() (spatialpy.core.transformation.transformation method)": [[1, "spatialpy.core.transformation.Transformation.validate"]], "validate() (spatialpy.core.transformation.translationtransformation method)": [[1, "spatialpy.core.transformation.TranslationTransformation.validate"]], "validate_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.validate_action"]], "validate_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.validate_action"]], "buildexpression (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.BuildExpression"]], "buildexpression.validationvisitor (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor"]], "cppconverter (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.CppConverter"]], "cppconverter.cppexpressiontransformer (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.CppConverter.CppExpressionTransformer"]], "expressionconverter (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter"]], "expressionresults (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.ExpressionResults"]], "pythonconverter (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.PythonConverter"]], "solver (class in spatialpy.solvers.solver)": [[2, "spatialpy.solvers.solver.Solver"]], "compile() (spatialpy.solvers.solver.solver method)": [[2, "spatialpy.solvers.solver.Solver.compile"]], "convert_str() (spatialpy.solvers.build_expression.expressionconverter class method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.convert_str"]], "get_str() (spatialpy.solvers.build_expression.cppconverter method)": [[2, "spatialpy.solvers.build_expression.CppConverter.get_str"]], "get_str() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.get_str"]], "getexpr_cpp() (spatialpy.solvers.build_expression.buildexpression method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.getexpr_cpp"]], "getexpr_python() (spatialpy.solvers.build_expression.buildexpression method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.getexpr_python"]], "map_operator() (spatialpy.solvers.build_expression.buildexpression class method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.map_operator"]], "operator_map (spatialpy.solvers.build_expression.buildexpression attribute)": [[2, "spatialpy.solvers.build_expression.BuildExpression.operator_map"]], "parse_comparison() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.parse_comparison"]], "parse_logical() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.parse_logical"]], "parse_operator() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.parse_operator"]], "run() (spatialpy.solvers.solver.solver method)": [[2, "spatialpy.solvers.solver.Solver.run"]], "spatialpy.solvers": [[2, "module-spatialpy.solvers"]], "spatialpy.solvers.build_expression": [[2, "module-spatialpy.solvers.build_expression"]], "spatialpy.solvers.solver": [[2, "module-spatialpy.solvers.solver"]], "validate() (spatialpy.solvers.build_expression.buildexpression method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.validate"]], "visit_add() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Add"]], "visit_and() (spatialpy.solvers.build_expression.cppconverter method)": [[2, "spatialpy.solvers.build_expression.CppConverter.visit_And"]], "visit_and() (spatialpy.solvers.build_expression.pythonconverter method)": [[2, "spatialpy.solvers.build_expression.PythonConverter.visit_And"]], "visit_assign() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_Assign"]], "visit_binop() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_BinOp"]], "visit_binop() (spatialpy.solvers.build_expression.cppconverter.cppexpressiontransformer method)": [[2, "spatialpy.solvers.build_expression.CppConverter.CppExpressionTransformer.visit_BinOp"]], "visit_binop() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_BinOp"]], "visit_boolop() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_BoolOp"]], "visit_boolop() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_BoolOp"]], "visit_bytes() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Bytes"]], "visit_call() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_Call"]], "visit_call() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Call"]], "visit_compare() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_Compare"]], "visit_compare() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Compare"]], "visit_constant() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Constant"]], "visit_div() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Div"]], "visit_ellipsis() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Ellipsis"]], "visit_eq() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Eq"]], "visit_gt() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Gt"]], "visit_gte() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_GtE"]], "visit_lt() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Lt"]], "visit_lte() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_LtE"]], "visit_mult() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Mult"]], "visit_name() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_Name"]], "visit_name() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Name"]], "visit_nameconstant() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_NameConstant"]], "visit_noteq() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_NotEq"]], "visit_num() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Num"]], "visit_or() (spatialpy.solvers.build_expression.cppconverter method)": [[2, "spatialpy.solvers.build_expression.CppConverter.visit_Or"]], "visit_or() (spatialpy.solvers.build_expression.pythonconverter method)": [[2, "spatialpy.solvers.build_expression.PythonConverter.visit_Or"]], "visit_pow() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Pow"]], "visit_str() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Str"]], "visit_sub() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Sub"]], "visit_usub() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_USub"]], "visit_unaryop() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_UnaryOp"]], "visit_unaryop() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_UnaryOp"]], "with_blacklist() (spatialpy.solvers.build_expression.buildexpression method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.with_blacklist"]], "with_namespace() (spatialpy.solvers.build_expression.buildexpression method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.with_namespace"]], "export() (in module spatialpy.stochss.stochss_export)": [[3, "spatialpy.stochss.stochss_export.export"]], "spatialpy.stochss": [[3, "module-spatialpy.stochss"]], "spatialpy.stochss.stochss_export": [[3, "module-spatialpy.stochss.stochss_export"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["classes/spatialpy", "classes/spatialpy.core", "classes/spatialpy.solvers", "classes/spatialpy.stochss", "index"], "filenames": ["classes/spatialpy.rst", "classes/spatialpy.core.rst", "classes/spatialpy.solvers.rst", "classes/spatialpy.stochss.rst", "index.rst"], "titles": ["spatialpy package", "spatialpy.core package", "spatialpy.solvers package", "spatialpy.stochss package", "Documentation for SpatialPy 1.1.3"], "terms": {"core": [0, 2, 3, 4], "submodul": 0, "boundarycondit": 0, "express": [0, 1, 2], "cleanup": 0, "cleanup_build_fil": [0, 1], "cleanup_core_fil": [0, 1], "cleanup_result_fil": [0, 1], "cleanup_tempfil": [0, 1], "datafunct": 0, "map": [0, 1, 2], "domain": [0, 4], "add_fill_act": [0, 1], "add_point": [0, 1], "add_remove_act": [0, 1], "add_set_act": [0, 1], "apply_act": [0, 1], "apply_fill_act": [0, 1], "apply_remove_act": [0, 1], "apply_set_act": [0, 1], "calculate_vol": [0, 1], "closest_vertex": [0, 1], "compile_prep": [0, 1], "coordin": [0, 1], "create_2d_domain": [0, 1], "create_3d_domain": [0, 1], "distance_between_2_vertic": [0, 1], "fill_with_particl": [0, 1], "find_boundary_point": [0, 1], "find_h": [0, 1], "get_bounding_box": [0, 1], "get_domain_s": [0, 1], "get_num_voxel": [0, 1], "get_type_def": [0, 1], "get_vol": [0, 1], "import_meshio_object": [0, 1], "plot_typ": [0, 1], "preview_act": [0, 1], "read_msh_fil": [0, 1], "read_stochss_domain": [0, 1], "read_stochss_subdomain_fil": [0, 1], "read_xml_mesh": [0, 1], "set_properti": [0, 1], "validate_act": [0, 1], "geometri": 0, "combinatorygeometri": [0, 1], "insid": [0, 1], "valid": [0, 1, 2], "geometryal": [0, 1], "geometryexterior": [0, 1], "geometryinterior": [0, 1], "initialcondit": 0, "appli": [0, 1], "placeinitialcondit": [0, 1], "scatterinitialcondit": [0, 1], "uniforminitialcondit": [0, 1], "lattic": 0, "cartesianlattic": [0, 1], "cylindricallattic": [0, 1], "meshiolattic": [0, 1], "sphericallattic": [0, 1], "stochsslattic": [0, 1], "xmlmeshlattic": [0, 1], "model": [0, 2, 3, 4], "add": [0, 1, 2], "add_boundary_condit": [0, 1], "add_data_funct": [0, 1], "add_domain": [0, 1], "add_initial_condit": [0, 1], "add_paramet": [0, 1], "add_react": [0, 1], "add_speci": [0, 1], "delete_all_boundary_condit": [0, 1], "delete_all_data_funct": [0, 1], "delete_all_initial_condit": [0, 1], "delete_all_paramet": [0, 1], "delete_all_react": [0, 1], "delete_all_speci": [0, 1], "delete_boundary_condit": [0, 1], "delete_data_funct": [0, 1], "delete_initial_condit": [0, 1], "delete_paramet": [0, 1], "delete_react": [0, 1], "delete_speci": [0, 1], "get_all_boundary_condit": [0, 1], "get_all_data_funct": [0, 1], "get_all_initial_condit": [0, 1], "get_all_paramet": [0, 1], "get_all_react": [0, 1], "get_all_speci": [0, 1], "get_data_funct": [0, 1], "get_el": [0, 1], "get_num_react": [0, 1], "get_num_speci": [0, 1], "get_paramet": [0, 1], "get_react": [0, 1], "get_speci": [0, 1], "reserved_nam": [0, 1], "run": [0, 1, 2], "sanitized_data_function_nam": [0, 1], "sanitized_parameter_nam": [0, 1], "sanitized_species_nam": [0, 1], "set_timestep": [0, 1], "special_charact": [0, 1], "timespan": 0, "update_namespac": [0, 1], "export_stochss": [0, 1], "paramet": [0, 2, 3], "reaction": [0, 4], "add_product": [0, 1], "annot": [0, 1], "from_json": [0, 1], "initi": [0, 1], "sanitized_propensity_funct": [0, 1], "set_annot": [0, 1], "set_propens": [0, 1], "set_rat": [0, 1], "to_dict": [0, 1], "result": [0, 2], "export_to_csv": [0, 1], "get_properti": [0, 1], "get_timespan": [0, 1], "plot_properti": [0, 1], "plot_speci": [0, 1], "read_step": [0, 1], "spatialpyerror": 0, "boundaryconditionerror": [0, 1], "datafunctionerror": [0, 1], "domainerror": [0, 1], "geometryerror": [0, 1], "initialconditionerror": [0, 1], "latticeerror": [0, 1], "modelerror": [0, 1], "parametererror": [0, 1], "reactionerror": [0, 1], "resulterror": [0, 1], "simulationerror": [0, 1, 2], "simulationtimeout": [0, 1, 2], "specieserror": [0, 1], "timespanerror": [0, 1], "transformationerror": [0, 1], "vtkreadererror": [0, 1], "vtkreaderioerror": [0, 1], "visualizationerror": [0, 1], "speci": 0, "set_diffusion_coeffici": [0, 1], "arang": [0, 1], "linspac": [0, 1], "transform": 0, "reflectiontransform": [0, 1], "reverse_transform": [0, 1], "rotationtransform": [0, 1], "scalingtransform": [0, 1], "translationtransform": [0, 1], "visual": 0, "mpl_height": [0, 1], "mpl_size": [0, 1], "mpl_width": [0, 1], "plot_scatt": [0, 1], "vtkreader": 0, "get_array_nam": [0, 1], "get_arrai": [0, 1], "get_num_point": [0, 1], "get_point": [0, 1], "read_fil": [0, 1], "set_filenam": [0, 1], "solver": [0, 1, 4], "build_express": 0, "buildexpress": [0, 2], "validationvisitor": [0, 2], "getexpr_cpp": [0, 2], "getexpr_python": [0, 2], "map_oper": [0, 2], "operator_map": [0, 2], "with_blacklist": [0, 2], "with_namespac": [0, 2], "cppconvert": [0, 2], "cppexpressiontransform": [0, 2], "get_str": [0, 2], "visit_and": [0, 2], "visit_or": [0, 2], "expressionconvert": [0, 2], "convert_str": [0, 2], "parse_comparison": [0, 2], "parse_log": [0, 2], "parse_oper": [0, 2], "visit_add": [0, 2], "visit_binop": [0, 2], "visit_boolop": [0, 2], "visit_byt": [0, 2], "visit_cal": [0, 2], "visit_compar": [0, 2], "visit_const": [0, 2], "visit_div": [0, 2], "visit_ellipsi": [0, 2], "visit_eq": [0, 2], "visit_gt": [0, 2], "visit_lt": [0, 2], "visit_mult": [0, 2], "visit_nam": [0, 2], "visit_nameconst": [0, 2], "visit_noteq": [0, 2], "visit_num": [0, 2], "visit_pow": [0, 2], "visit_str": [0, 2], "visit_sub": [0, 2], "visit_usub": [0, 2], "visit_unaryop": [0, 2], "expressionresult": [0, 2], "pythonconvert": [0, 2], "compil": [0, 1, 2], "stochss": [0, 1, 4], "stochss_export": 0, "export": [0, 1, 3], "class": [1, 2], "xmin": 1, "none": [1, 2, 3], "xmax": 1, "ymin": 1, "ymax": 1, "zmin": 1, "zmax": 1, "type_id": 1, "determinist": [1, 4], "true": [1, 2, 3], "target": [1, 2], "valu": [1, 2], "sourc": [1, 2, 3, 4], "base": [1, 2, 4], "object": [1, 2], "set": [1, 2], "spatial": [1, 2, 4], "region": 1, "where": 1, "properti": [1, 2], "particl": [1, 4], "ar": [1, 2], "held": 1, "constant": [1, 2], "updat": 1, "each": 1, "simul": [1, 2, 4], "step": 1, "condit": [1, 2], "one": [1, 2], "more": [1, 2, 4], "follow": [1, 2], "must": 1, "float": 1, "min": 1, "max": 1, "x": 1, "dimens": 1, "y": 1, "z": 1, "type": [1, 2, 3], "subdomain": 1, "partcil": 1, "str": [1, 2, 3], "nu": 1, "rho": 1, "v": 1, "name": [1, 2], "chemic": 1, "also": [1, 2, 4], "fals": [1, 2, 3], "flag": [1, 2], "axi": 1, "lower": 1, "bound": 1, "upper": 1, "int": [1, 2], "id": 1, "bool": [1, 2, 3], "i": [1, 2, 3, 4], "boundari": 1, "yet": 1, "implemenet": 1, "stochast": [1, 4], "can": [1, 2, 4], "If": [1, 2, 4], "determinst": 1, "3": 1, "take": 1, "defin": [1, 2], "creat": [1, 2], "evalu": 1, "string": [1, 2], "return": [1, 2, 3], "A": [1, 2, 4], "represent": [1, 2], "build_dir": 1, "all": [1, 2], "spatialpy_build": 1, "directori": 1, "path": [1, 3], "build": [1, 2, 4], "remov": 1, "option": 1, "tempfil": 1, "result_dir": 1, "spatialpy_result": 1, "abstract": [1, 2], "us": [1, 2, 4], "constuct": 1, "data": [1, 2], "function": [1, 2], "rais": [1, 2], "provid": [1, 2, 4], "point": 1, "thi": [1, 2, 4], "method": [1, 2], "overridden": 1, "subclass": [1, 2], "note": [1, 2], "The": [1, 2, 4], "locat": 1, "evaul": 1, "t": [1, 2], "0": [1, 2], "re": 1, "fluid": [1, 4], "move": 1, "over": 1, "time": [1, 2], "posit": 1, "numpoint": 1, "xlim": 1, "ylim": 1, "zlim": 1, "rho0": 1, "1": [1, 2], "c0": 1, "10": 1, "p0": 1, "graviti": [1, 4], "action": 1, "attribut": 1, "space": 1, "total": 1, "number": [1, 2], "2": 1, "rang": 1, "along": 1, "background": 1, "densiti": 1, "system": [1, 4], "speed": 1, "sound": 1, "pressur": 1, "acceler": 1, "cartesian": 1, "spheric": 1, "cylindr": 1, "enabl": 1, "prop": 1, "an": [1, 2, 4], "when": [1, 2], "fill": [1, 4], "default": 1, "dict": [1, 2, 3], "argument": 1, "ignor": 1, "indic": [1, 2], "els": [1, 3], "addit": [1, 2], "pass": [1, 2], "ad": [1, 2], "wasn": 1, "could": [1, 2], "construct": 1, "vol": 1, "mass": 1, "unassign": 1, "fix": 1, "c": [1, 2], "singl": [1, 2], "vertic": 1, "volum": 1, "cradded": 1, "viscos": 1, "artifici": 1, "contain": [1, 2], "invalid": [1, 2], "charact": 1, "from": [1, 2], "start": [1, 2, 4], "end": 1, "preserve_act": 1, "order": 1, "index": [1, 4], "inclus": 1, "exclus": 1, "after": 1, "its": 1, "support": [1, 4], "within": 1, "have": 1, "exampl": 1, "lattice_obj": 1, "geometry_obj": 1, "miss": 1, "calcul": 1, "find": [1, 4], "nearest": 1, "vertex": 1, "given": [1, 2], "gener": [1, 4], "list": [1, 2], "check": [1, 2], "preper": 1, "file": [1, 3], "get": [1, 2], "numpi": 1, "arrai": 1, "classmethod": [1, 2], "numx": 1, "numi": 1, "kwarg": 1, "2d": 1, "highest": 1, "lowest": 1, "keyword": 1, "uniform": 1, "numz": 1, "3d": [1, 4], "distanc": 1, "between": [1, 2], "measur": 1, "geometry_ivar": 1, "deltax": 1, "deltai": 1, "deltaz": 1, "geometr": 1, "shape": 1, "instanc": [1, 2], "minimum": 1, "box": 1, "maximum": [1, 2], "were": [1, 2], "exist": 1, "np": 1, "ndarrai": 1, "dtype": 1, "h": 1, "off": 1, "which": [1, 2], "ha": [1, 4], "greatest": 1, "neighbor": 1, "entir": 1, "limit": 1, "tupl": 1, "estim": 1, "size": 1, "averag": 1, "diamet": 1, "circumradiu": 1, "tetrahedron": 1, "part": 1, "mean": 1, "incid": 1, "cell": 1, "voxel": 1, "definit": 1, "mesh_obj": 1, "subdomain_fil": 1, "import": 1, "python": [1, 2, 4], "meshio": 1, "mesh": 1, "v1": 1, "descript": 1, "filenam": [1, 3], "indeci": 1, "width": 1, "height": 1, "colormap": 1, "titl": 1, "included_types_list": 1, "use_matplotlib": 1, "return_plotly_figur": 1, "plot": 1, "plotli": 1, "onli": [1, 2], "view": 1, "jupyt": 1, "notebook": [1, 4], "pixel": 1, "output": [1, 2], "matplotlib": 1, "inch": 1, "500": 1, "specif": 1, "plotly3": 1, "jet": 1, "blue": 1, "ylorrd": 1, "purd": 1, "bugn": 1, "ylorbr": 1, "pubugn": 1, "bupu": 1, "ylgnbu": 1, "pubu": 1, "gnbu": 1, "ylgn": 1, "green": 1, "red": 1, "grei": 1, "rdpu": 1, "orrd": 1, "purpl": 1, "orang": 1, "graph": 1, "describ": [1, 4], "includ": 1, "By": [1, 2], "displai": 1, "whether": [1, 2, 3], "figur": 1, "dictionari": [1, 2], "trace": 1, "layout": 1, "mai": 1, "edit": 1, "user": [1, 4], "proprti": 1, "preview": 1, "effect": 1, "read": 1, "gmsh": 1, "style": 1, "msh": 1, "domn": 1, "pull": 1, "smdl": 1, "txt": 1, "conain": 1, "fenic": 1, "dolfin": 1, "xml": 1, "assign": [1, 2], "identifi": [1, 2], "immobil": 1, "coverag": 1, "scope": 1, "accept": [1, 2], "doaminerror": 1, "met": 1, "": [1, 4], "formula": 1, "geo_namespac": 1, "combinatori": 1, "multipl": [1, 2], "boolean": 1, "logic": [1, 2], "geo1": 1, "geo2": 1, "geo3": 1, "namespac": [1, 2], "geometry1": 1, "geometry2": 1, "geometry3": 1, "found": [1, 2, 4], "on_boundari": 1, "coodin": 1, "edg": 1, "satisfi": 1, "geometi": 1, "ani": [1, 2, 4], "doe": 1, "tag": 1, "separ": 1, "mark": 1, "work": 1, "triangl": 1, "implement": [1, 2], "direct": 1, "modifi": 1, "u0": 1, "matrix": 1, "count": 1, "contian": 1, "place": 1, "scatter": 1, "randomli": 1, "center": 1, "two": [1, 2], "doesn": 1, "restrict": 1, "depend": 1, "radiu": 1, "length": 1, "delta": 1, "deltar": 1, "surfac": 1, "radial": 1, "skip_valid": 1, "arg": 1, "io": 1, "un": 1, "biochem": 1, "compon": 1, "befor": 1, "other": [1, 2], "combin": 1, "than": 1, "do": 1, "need": [1, 4], "particular": 1, "bound_cond": 1, "conidit": 1, "data_funct": 1, "scalar": 1, "you": [1, 4], "vari": 1, "input": 1, "your": [1, 4], "It": 1, "positon": 1, "toth": 1, "init_cond": 1, "fail": [1, 2], "make": 1, "sure": 1, "paramt": 1, "diffus": [1, 4], "util": 1, "stoichiometr": 1, "dependency_graph": 1, "timestep": 1, "exce": 1, "frequenc": 1, "ordereddict": 1, "form": [1, 4], "kei": [1, 2], "specifi": 1, "element": 1, "differ": [1, 2], "rname": 1, "number_of_trajectori": [1, 2], "seed": [1, 2], "timeout": [1, 2], "number_of_thread": [1, 2], "debug_level": [1, 2], "debug": [1, 2], "profil": [1, 2], "how": [1, 2, 4], "mani": [1, 2], "trajectori": [1, 2], "should": [1, 2], "random": [1, 2], "second": [1, 2], "kill": 1, "upon": 1, "reach": 1, "thread": [1, 2], "level": [1, 2], "print": [1, 2], "out": [1, 4], "info": 1, "dure": [1, 2], "addtion": [1, 2], "perform": 1, "chosen": 1, "simplifi": 1, "format": 1, "later": [1, 2], "spatialpysolv": 1, "propens": 1, "intern": 1, "notat": 1, "output_interv": 1, "num_step": 1, "timestep_s": 1, "simlat": 1, "span": 1, "first": [1, 2], "zero": 1, "time_span": 1, "ssa": 1, "sdpd": [1, 4], "engin": 1, "non": 1, "tspan": 1, "evenli": 1, "sampl": 1, "popul": 1, "flatten": 1, "spatialpy_model": 1, "return_stochss_model": [1, 3], "convert": [1, 2, 3], "json": 1, "platform": 1, "directli": [1, 4], "understood": 1, "parent": 1, "call": [1, 2], "referenc": 1, "requir": 1, "outsid": 1, "reactant": 1, "product": 1, "propensity_funct": 1, "ode_propensity_funct": 1, "rate": 1, "restrict_to": 1, "conatain": 1, "neg": 1, "union": 1, "For": [1, 4], "zeroth": 1, "attempt": 1, "higher": 1, "error": 1, "consum": 1, "stoichiometri": 1, "would": 1, "r1": 1, "r2": 1, "event": 1, "same": 1, "custom": 1, "oper": [1, 2], "od": 1, "care": 1, "unit": 1, "about": 1, "execut": [1, 2], "NOT": 1, "both": [1, 4], "term": 1, "repres": 1, "independ": 1, "wa": 1, "impact": 1, "preserv": 1, "produc": 1, "particip": 1, "deprec": 1, "param": 1, "json_object": 1, "defer": 1, "species_map": 1, "parameter_map": 1, "chang": 1, "marat": 1, "urdm": 1, "folder_nam": 1, "write": 1, "csv": 1, "modelname_mesh": 1, "modelname_species_": 1, "column": 1, "n": 1, "vtk": 1, "written": 1, "current": [1, 2], "property_nam": 1, "timepoint": 1, "integ": 1, "1d": 1, "veloc": 1, "bvf_phi": 1, "fraction": 1, "across": 1, "concentr": 1, "retreiv": 1, "inform": [1, 2, 4], "raw": 1, "copy_numb": 1, "unabl": 1, "retriev": 1, "t_ndx": 1, "t_val": 1, "p_ndx": 1, "anim": 1, "t_ndx_list": 1, "f_durat": 1, "t_durat": 1, "300": 1, "6": 1, "4": 1, "8": 1, "indec": 1, "interv": 1, "durat": 1, "frame": [1, 4], "transit": 1, "5": 1, "show": 1, "instead": 1, "step_num": 1, "except": 1, "initailcondit": 1, "bass": 1, "messag": 1, "o": 1, "diffusion_coeffici": 1, "coeffic": 1, "coeffici": 1, "listoftyp": 1, "movement": 1, "setter": 1, "item": [1, 2], "iter": 1, "best": 1, "increment": [1, 2], "20": 1, "num_point": 1, "empti": [1, 2], "repeat": 1, "point1": 1, "normal": 1, "point2": 1, "point3": 1, "reflect": 1, "revers": 1, "around": 1, "arbitrari": 1, "plane": 1, "serv": 1, "vector": 1, "onc": 1, "wrap": 1, "prior": 1, "angl": 1, "rotat": 1, "basic": 1, "factor": 1, "scale": 1, "wrapper": 1, "translat": 1, "40": 1, "plot_arg": 1, "scatter_arg": 1, "multiple_graph": 1, "maplotlib": 1, "pyplot": 1, "subplot": 1, "dist": 1, "group": 1, "nrow": 1, "ncol": 1, "entri": 1, "plote": 1, "py": 1, "minim": 1, "legaci": 1, "reader": 1, "refer": 1, "http": [1, 4], "org": 1, "wp": 1, "upload": 1, "2015": 1, "04": 1, "pdf": 1, "arraid": 1, "ascii": 1, "blacklist": 2, "sanit": 2, "allow": 2, "pre": 2, "flight": 2, "syntax": 2, "well": 2, "manag": 2, "context": 2, "statement": 2, "expect": 2, "forward": 2, "ideal": 2, "univers": 2, "constructor": 2, "granular": 2, "bare": 2, "equival": 2, "trigger": 2, "substitut": 2, "convers": 2, "automat": 2, "correspond": 2, "getexpr_": 2, "nodetransform": 2, "ast": 2, "expres": 2, "spactialpi": 2, "node": 2, "visit_assign": 2, "visitor": 2, "origin": 2, "binop": 2, "boolop": 2, "binboolopop": 2, "otherwis": 2, "compar": 2, "unaryop": 2, "syntaxerror": 2, "imposs": 2, "convet": 2, "built": 2, "_ast": 2, "Not": 2, "noteq": 2, "mod": 2, "bitand": 2, "mult": 2, "pow": 2, "sub": 2, "div": 2, "floordiv": 2, "lt": 2, "lshift": 2, "lte": 2, "eq": 2, "gt": 2, "gte": 2, "rshift": 2, "matmult": 2, "bitxor": 2, "And": 2, "Or": 2, "bitor": 2, "so": 2, "far": 2, "ensur": 2, "pars": 2, "against": 2, "addition": 2, "reject": 2, "rvalu": 2, "new": 2, "duplic": 2, "overrid": 2, "handl": 2, "behavior": 2, "copi": 2, "rtype": 2, "present": 2, "caus": 2, "what": 2, "tree": 2, "super": 2, "nodevisitor": 2, "self": 2, "comparison": 2, "last": 2, "mathemat": 2, "right": 2, "visit": 2, "left": 2, "most": 2, "recent": 2, "append": 2, "token": 2, "alwai": 2, "hand": 2, "u": 2, "pop": 2, "process": 2, "assum": 2, "inherit": 2, "byte": 2, "ellipsi": 2, "nameconst": 2, "num": 2, "usub": 2, "invalid_nam": 2, "invalid_oper": 2, "is_valid": 2, "struct": 2, "infer": 2, "invalid_": 2, "verbos": 2, "gdbgui": 2, "debugg": 2, "symbol": 2, "hasn": 2, "happen": 2, "gprof": 2, "avail": [2, 4], "consol": 2, "seri": 2, "exceed": 2, "packag": 4, "advect": 4, "problem": 4, "embed": 4, "lagrangian": 4, "dynam": 4, "intend": 4, "replac": 4, "pyurdm": 4, "softwar": 4, "github": 4, "com": 4, "featur": 4, "nsm": 4, "rdme": 4, "static": 4, "sssa": 4, "public": 4, "hybrid": 4, "smooth": 4, "dissip": 4, "algorithm": 4, "drawert": 4, "jacob": 4, "li": 4, "yi": 4, "petzold": 4, "www": 4, "sciencedirect": 4, "scienc": 4, "articl": 4, "pii": 4, "s0021999118307101": 4, "latest": 4, "version": 4, "pypi": 4, "code": 4, "licens": 4, "under": 4, "gnu": 4, "pleas": 4, "regist": 4, "develop": 4, "fund": 4, "nih": 4, "grant": 4, "2r01eb014877": 4, "continu": 4, "we": 4, "prove": 4, "our": 4, "short": 4, "registr": 4, "see": 4, "here": 4, "cylind": 4, "demo": 4, "physic": 4, "flow": 4, "weir": 4, "tracker": 4, "project": 4, "contact": 4, "main": 4, "author": 4, "dr": 4, "brian": 4, "question": 4, "suggest": 4, "subpackag": 4, "modul": 4, "content": 4, "search": 4, "page": 4}, "objects": {"": [[0, 0, 0, "-", "spatialpy"]], "spatialpy": [[1, 0, 0, "-", "core"], [2, 0, 0, "-", "solvers"], [3, 0, 0, "-", "stochss"]], "spatialpy.core": [[1, 1, 1, "", "BoundaryCondition"], [1, 3, 1, "", "BoundaryConditionError"], [1, 1, 1, "", "CartesianLattice"], [1, 1, 1, "", "CombinatoryGeometry"], [1, 1, 1, "", "CylindricalLattice"], [1, 1, 1, "", "DataFunction"], [1, 3, 1, "", "DataFunctionError"], [1, 1, 1, "", "Domain"], [1, 3, 1, "", "DomainError"], [1, 1, 1, "", "Geometry"], [1, 1, 1, "", "GeometryAll"], [1, 3, 1, "", "GeometryError"], [1, 1, 1, "", "GeometryExterior"], [1, 1, 1, "", "GeometryInterior"], [1, 1, 1, "", "InitialCondition"], [1, 3, 1, "", "InitialConditionError"], [1, 3, 1, "", "LatticeError"], [1, 1, 1, "", "MeshIOLattice"], [1, 1, 1, "", "Model"], [1, 3, 1, "", "ModelError"], [1, 1, 1, "", "Parameter"], [1, 3, 1, "", "ParameterError"], [1, 1, 1, "", "PlaceInitialCondition"], [1, 1, 1, "", "Reaction"], [1, 3, 1, "", "ReactionError"], [1, 1, 1, "", "ReflectionTransformation"], [1, 1, 1, "", "Result"], [1, 3, 1, "", "ResultError"], [1, 1, 1, "", "RotationTransformation"], [1, 1, 1, "", "ScalingTransformation"], [1, 1, 1, "", "ScatterInitialCondition"], [1, 3, 1, "", "SimulationError"], [1, 3, 1, "", "SimulationTimeout"], [1, 1, 1, "", "Species"], [1, 3, 1, "", "SpeciesError"], [1, 1, 1, "", "SphericalLattice"], [1, 1, 1, "", "StochSSLattice"], [1, 1, 1, "", "TimeSpan"], [1, 3, 1, "", "TimespanError"], [1, 1, 1, "", "Transformation"], [1, 3, 1, "", "TransformationError"], [1, 1, 1, "", "TranslationTransformation"], [1, 1, 1, "", "UniformInitialCondition"], [1, 1, 1, "", "VTKReader"], [1, 3, 1, "", "VTKReaderError"], [1, 3, 1, "", "VTKReaderIOError"], [1, 1, 1, "", "Visualization"], [1, 3, 1, "", "VisualizationError"], [1, 1, 1, "", "XMLMeshLattice"], [1, 0, 0, "-", "boundarycondition"], [1, 0, 0, "-", "cleanup"], [1, 5, 1, "", "cleanup_build_files"], [1, 5, 1, "", "cleanup_core_files"], [1, 5, 1, "", "cleanup_result_files"], [1, 5, 1, "", "cleanup_tempfiles"], [1, 0, 0, "-", "datafunction"], [1, 0, 0, "-", "domain"], [1, 5, 1, "", "export_StochSS"], [1, 0, 0, "-", "geometry"], [1, 0, 0, "-", "initialcondition"], [1, 0, 0, "-", "lattice"], [1, 0, 0, "-", "model"], [1, 0, 0, "-", "parameter"], [1, 0, 0, "-", "reaction"], [1, 0, 0, "-", "result"], [1, 0, 0, "-", "spatialpyerror"], [1, 0, 0, "-", "species"], [1, 0, 0, "-", "timespan"], [1, 0, 0, "-", "transformation"], [1, 0, 0, "-", "visualization"], [1, 0, 0, "-", "vtkreader"]], "spatialpy.core.BoundaryCondition": [[1, 2, 1, "", "expression"]], "spatialpy.core.CartesianLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.CombinatoryGeometry": [[1, 2, 1, "", "inside"], [1, 2, 1, "", "validate"]], "spatialpy.core.CylindricalLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.DataFunction": [[1, 2, 1, "", "map"]], "spatialpy.core.Domain": [[1, 2, 1, "", "add_fill_action"], [1, 2, 1, "", "add_point"], [1, 2, 1, "", "add_remove_action"], [1, 2, 1, "", "add_set_action"], [1, 2, 1, "", "apply_actions"], [1, 2, 1, "", "apply_fill_action"], [1, 2, 1, "", "apply_remove_action"], [1, 2, 1, "", "apply_set_action"], [1, 2, 1, "", "calculate_vol"], [1, 2, 1, "", "closest_vertex"], [1, 2, 1, "", "compile_prep"], [1, 2, 1, "", "coordinates"], [1, 2, 1, "", "create_2D_domain"], [1, 2, 1, "", "create_3D_domain"], [1, 2, 1, "", "distance_between_2_vertices"], [1, 2, 1, "", "fill_with_particles"], [1, 2, 1, "", "find_boundary_points"], [1, 2, 1, "", "find_h"], [1, 2, 1, "", "get_bounding_box"], [1, 2, 1, "", "get_domain_size"], [1, 2, 1, "", "get_num_voxels"], [1, 2, 1, "", "get_type_def"], [1, 2, 1, "", "get_vol"], [1, 2, 1, "", "import_meshio_object"], [1, 2, 1, "", "plot_types"], [1, 2, 1, "", "preview_actions"], [1, 2, 1, "", "read_msh_file"], [1, 2, 1, "", "read_stochss_domain"], [1, 2, 1, "", "read_stochss_subdomain_file"], [1, 2, 1, "", "read_xml_mesh"], [1, 2, 1, "", "set_properties"], [1, 2, 1, "", "validate_action"]], "spatialpy.core.Geometry": [[1, 2, 1, "", "inside"]], "spatialpy.core.GeometryAll": [[1, 2, 1, "", "inside"]], "spatialpy.core.GeometryExterior": [[1, 2, 1, "", "inside"]], "spatialpy.core.GeometryInterior": [[1, 2, 1, "", "inside"]], "spatialpy.core.InitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.MeshIOLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.Model": [[1, 2, 1, "", "add"], [1, 2, 1, "", "add_boundary_condition"], [1, 2, 1, "", "add_data_function"], [1, 2, 1, "", "add_domain"], [1, 2, 1, "", "add_initial_condition"], [1, 2, 1, "", "add_parameter"], [1, 2, 1, "", "add_reaction"], [1, 2, 1, "", "add_species"], [1, 2, 1, "", "compile_prep"], [1, 2, 1, "", "delete_all_boundary_conditions"], [1, 2, 1, "", "delete_all_data_functions"], [1, 2, 1, "", "delete_all_initial_conditions"], [1, 2, 1, "", "delete_all_parameters"], [1, 2, 1, "", "delete_all_reactions"], [1, 2, 1, "", "delete_all_species"], [1, 2, 1, "", "delete_boundary_condition"], [1, 2, 1, "", "delete_data_function"], [1, 2, 1, "", "delete_initial_condition"], [1, 2, 1, "", "delete_parameter"], [1, 2, 1, "", "delete_reaction"], [1, 2, 1, "", "delete_species"], [1, 2, 1, "", "get_all_boundary_conditions"], [1, 2, 1, "", "get_all_data_functions"], [1, 2, 1, "", "get_all_initial_conditions"], [1, 2, 1, "", "get_all_parameters"], [1, 2, 1, "", "get_all_reactions"], [1, 2, 1, "", "get_all_species"], [1, 2, 1, "", "get_data_function"], [1, 2, 1, "", "get_element"], [1, 2, 1, "", "get_num_reactions"], [1, 2, 1, "", "get_num_species"], [1, 2, 1, "", "get_parameter"], [1, 2, 1, "", "get_reaction"], [1, 2, 1, "", "get_species"], [1, 4, 1, "", "reserved_names"], [1, 2, 1, "", "run"], [1, 2, 1, "", "sanitized_data_function_names"], [1, 2, 1, "", "sanitized_parameter_names"], [1, 2, 1, "", "sanitized_species_names"], [1, 2, 1, "", "set_timesteps"], [1, 4, 1, "", "special_characters"], [1, 2, 1, "", "timespan"], [1, 2, 1, "", "update_namespace"]], "spatialpy.core.Parameter": [[1, 2, 1, "", "validate"]], "spatialpy.core.PlaceInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.Reaction": [[1, 2, 1, "", "add_product"], [1, 2, 1, "", "add_reactant"], [1, 2, 1, "", "annotate"], [1, 2, 1, "", "from_json"], [1, 2, 1, "", "initialize"], [1, 2, 1, "", "sanitized_propensity_function"], [1, 2, 1, "", "set_annotation"], [1, 2, 1, "", "set_propensities"], [1, 2, 1, "", "set_rate"], [1, 2, 1, "", "to_dict"], [1, 2, 1, "", "validate"]], "spatialpy.core.ReflectionTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"]], "spatialpy.core.Result": [[1, 2, 1, "", "export_to_csv"], [1, 2, 1, "", "get_property"], [1, 2, 1, "", "get_species"], [1, 2, 1, "", "get_timespan"], [1, 2, 1, "", "plot_property"], [1, 2, 1, "", "plot_species"], [1, 2, 1, "", "read_step"]], "spatialpy.core.RotationTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.ScalingTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.ScatterInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.Species": [[1, 2, 1, "", "set_diffusion_coefficient"], [1, 2, 1, "", "validate"]], "spatialpy.core.SphericalLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.StochSSLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.TimeSpan": [[1, 2, 1, "", "arange"], [1, 2, 1, "", "linspace"], [1, 2, 1, "", "validate"]], "spatialpy.core.Transformation": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "inside"], [1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.TranslationTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.UniformInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.VTKReader": [[1, 2, 1, "", "get_array_name"], [1, 2, 1, "", "get_arrays"], [1, 2, 1, "", "get_num_points"], [1, 2, 1, "", "get_points"], [1, 2, 1, "", "read_file"], [1, 2, 1, "", "set_filename"]], "spatialpy.core.Visualization": [[1, 4, 1, "", "MPL_HEIGHT"], [1, 4, 1, "", "MPL_SIZE"], [1, 4, 1, "", "MPL_WIDTH"], [1, 2, 1, "", "plot_scatter"]], "spatialpy.core.XMLMeshLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.boundarycondition": [[1, 1, 1, "", "BoundaryCondition"]], "spatialpy.core.boundarycondition.BoundaryCondition": [[1, 2, 1, "", "expression"]], "spatialpy.core.cleanup": [[1, 5, 1, "", "cleanup_build_files"], [1, 5, 1, "", "cleanup_core_files"], [1, 5, 1, "", "cleanup_result_files"], [1, 5, 1, "", "cleanup_tempfiles"]], "spatialpy.core.datafunction": [[1, 1, 1, "", "DataFunction"]], "spatialpy.core.datafunction.DataFunction": [[1, 2, 1, "", "map"]], "spatialpy.core.domain": [[1, 1, 1, "", "Domain"]], "spatialpy.core.domain.Domain": [[1, 2, 1, "", "add_fill_action"], [1, 2, 1, "", "add_point"], [1, 2, 1, "", "add_remove_action"], [1, 2, 1, "", "add_set_action"], [1, 2, 1, "", "apply_actions"], [1, 2, 1, "", "apply_fill_action"], [1, 2, 1, "", "apply_remove_action"], [1, 2, 1, "", "apply_set_action"], [1, 2, 1, "", "calculate_vol"], [1, 2, 1, "", "closest_vertex"], [1, 2, 1, "", "compile_prep"], [1, 2, 1, "", "coordinates"], [1, 2, 1, "", "create_2D_domain"], [1, 2, 1, "", "create_3D_domain"], [1, 2, 1, "", "distance_between_2_vertices"], [1, 2, 1, "", "fill_with_particles"], [1, 2, 1, "", "find_boundary_points"], [1, 2, 1, "", "find_h"], [1, 2, 1, "", "get_bounding_box"], [1, 2, 1, "", "get_domain_size"], [1, 2, 1, "", "get_num_voxels"], [1, 2, 1, "", "get_type_def"], [1, 2, 1, "", "get_vol"], [1, 2, 1, "", "import_meshio_object"], [1, 2, 1, "", "plot_types"], [1, 2, 1, "", "preview_actions"], [1, 2, 1, "", "read_msh_file"], [1, 2, 1, "", "read_stochss_domain"], [1, 2, 1, "", "read_stochss_subdomain_file"], [1, 2, 1, "", "read_xml_mesh"], [1, 2, 1, "", "set_properties"], [1, 2, 1, "", "validate_action"]], "spatialpy.core.geometry": [[1, 1, 1, "", "CombinatoryGeometry"], [1, 1, 1, "", "Geometry"], [1, 1, 1, "", "GeometryAll"], [1, 1, 1, "", "GeometryExterior"], [1, 1, 1, "", "GeometryInterior"]], "spatialpy.core.geometry.CombinatoryGeometry": [[1, 2, 1, "", "inside"], [1, 2, 1, "", "validate"]], "spatialpy.core.geometry.Geometry": [[1, 2, 1, "", "inside"]], "spatialpy.core.geometry.GeometryAll": [[1, 2, 1, "", "inside"]], "spatialpy.core.geometry.GeometryExterior": [[1, 2, 1, "", "inside"]], "spatialpy.core.geometry.GeometryInterior": [[1, 2, 1, "", "inside"]], "spatialpy.core.initialcondition": [[1, 1, 1, "", "InitialCondition"], [1, 1, 1, "", "PlaceInitialCondition"], [1, 1, 1, "", "ScatterInitialCondition"], [1, 1, 1, "", "UniformInitialCondition"]], "spatialpy.core.initialcondition.InitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.initialcondition.PlaceInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.initialcondition.ScatterInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.initialcondition.UniformInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.lattice": [[1, 1, 1, "", "CartesianLattice"], [1, 1, 1, "", "CylindricalLattice"], [1, 1, 1, "", "Lattice"], [1, 1, 1, "", "MeshIOLattice"], [1, 1, 1, "", "SphericalLattice"], [1, 1, 1, "", "StochSSLattice"], [1, 1, 1, "", "XMLMeshLattice"]], "spatialpy.core.lattice.CartesianLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.CylindricalLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.Lattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.MeshIOLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.SphericalLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.StochSSLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.XMLMeshLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.model": [[1, 1, 1, "", "Model"], [1, 5, 1, "", "export_StochSS"]], "spatialpy.core.model.Model": [[1, 2, 1, "", "add"], [1, 2, 1, "", "add_boundary_condition"], [1, 2, 1, "", "add_data_function"], [1, 2, 1, "", "add_domain"], [1, 2, 1, "", "add_initial_condition"], [1, 2, 1, "", "add_parameter"], [1, 2, 1, "", "add_reaction"], [1, 2, 1, "", "add_species"], [1, 2, 1, "", "compile_prep"], [1, 2, 1, "", "delete_all_boundary_conditions"], [1, 2, 1, "", "delete_all_data_functions"], [1, 2, 1, "", "delete_all_initial_conditions"], [1, 2, 1, "", "delete_all_parameters"], [1, 2, 1, "", "delete_all_reactions"], [1, 2, 1, "", "delete_all_species"], [1, 2, 1, "", "delete_boundary_condition"], [1, 2, 1, "", "delete_data_function"], [1, 2, 1, "", "delete_initial_condition"], [1, 2, 1, "", "delete_parameter"], [1, 2, 1, "", "delete_reaction"], [1, 2, 1, "", "delete_species"], [1, 2, 1, "", "get_all_boundary_conditions"], [1, 2, 1, "", "get_all_data_functions"], [1, 2, 1, "", "get_all_initial_conditions"], [1, 2, 1, "", "get_all_parameters"], [1, 2, 1, "", "get_all_reactions"], [1, 2, 1, "", "get_all_species"], [1, 2, 1, "", "get_data_function"], [1, 2, 1, "", "get_element"], [1, 2, 1, "", "get_num_reactions"], [1, 2, 1, "", "get_num_species"], [1, 2, 1, "", "get_parameter"], [1, 2, 1, "", "get_reaction"], [1, 2, 1, "", "get_species"], [1, 4, 1, "", "reserved_names"], [1, 2, 1, "", "run"], [1, 2, 1, "", "sanitized_data_function_names"], [1, 2, 1, "", "sanitized_parameter_names"], [1, 2, 1, "", "sanitized_species_names"], [1, 2, 1, "", "set_timesteps"], [1, 4, 1, "", "special_characters"], [1, 2, 1, "", "timespan"], [1, 2, 1, "", "update_namespace"]], "spatialpy.core.parameter": [[1, 1, 1, "", "Parameter"]], "spatialpy.core.parameter.Parameter": [[1, 2, 1, "", "validate"]], "spatialpy.core.reaction": [[1, 1, 1, "", "Reaction"]], "spatialpy.core.reaction.Reaction": [[1, 2, 1, "", "add_product"], [1, 2, 1, "", "add_reactant"], [1, 2, 1, "", "annotate"], [1, 2, 1, "", "from_json"], [1, 2, 1, "", "initialize"], [1, 2, 1, "", "sanitized_propensity_function"], [1, 2, 1, "", "set_annotation"], [1, 2, 1, "", "set_propensities"], [1, 2, 1, "", "set_rate"], [1, 2, 1, "", "to_dict"], [1, 2, 1, "", "validate"]], "spatialpy.core.result": [[1, 1, 1, "", "Result"]], "spatialpy.core.result.Result": [[1, 2, 1, "", "export_to_csv"], [1, 2, 1, "", "get_property"], [1, 2, 1, "", "get_species"], [1, 2, 1, "", "get_timespan"], [1, 2, 1, "", "plot_property"], [1, 2, 1, "", "plot_species"], [1, 2, 1, "", "read_step"]], "spatialpy.core.spatialpyerror": [[1, 3, 1, "", "BoundaryConditionError"], [1, 3, 1, "", "DataFunctionError"], [1, 3, 1, "", "DomainError"], [1, 3, 1, "", "GeometryError"], [1, 3, 1, "", "InitialConditionError"], [1, 3, 1, "", "LatticeError"], [1, 3, 1, "", "ModelError"], [1, 3, 1, "", "ParameterError"], [1, 3, 1, "", "ReactionError"], [1, 3, 1, "", "ResultError"], [1, 3, 1, "", "SimulationError"], [1, 3, 1, "", "SimulationTimeout"], [1, 3, 1, "", "SpeciesError"], [1, 3, 1, "", "TimespanError"], [1, 3, 1, "", "TransformationError"], [1, 3, 1, "", "VTKReaderError"], [1, 3, 1, "", "VTKReaderIOError"], [1, 3, 1, "", "VisualizationError"]], "spatialpy.core.species": [[1, 1, 1, "", "Species"]], "spatialpy.core.species.Species": [[1, 2, 1, "", "set_diffusion_coefficient"], [1, 2, 1, "", "validate"]], "spatialpy.core.timespan": [[1, 1, 1, "", "TimeSpan"]], "spatialpy.core.timespan.TimeSpan": [[1, 2, 1, "", "arange"], [1, 2, 1, "", "linspace"], [1, 2, 1, "", "validate"]], "spatialpy.core.transformation": [[1, 1, 1, "", "ReflectionTransformation"], [1, 1, 1, "", "RotationTransformation"], [1, 1, 1, "", "ScalingTransformation"], [1, 1, 1, "", "Transformation"], [1, 1, 1, "", "TranslationTransformation"]], "spatialpy.core.transformation.ReflectionTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"]], "spatialpy.core.transformation.RotationTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.transformation.ScalingTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.transformation.Transformation": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "inside"], [1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.transformation.TranslationTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.visualization": [[1, 1, 1, "", "Visualization"]], "spatialpy.core.visualization.Visualization": [[1, 4, 1, "", "MPL_HEIGHT"], [1, 4, 1, "", "MPL_SIZE"], [1, 4, 1, "", "MPL_WIDTH"], [1, 2, 1, "", "plot_scatter"]], "spatialpy.core.vtkreader": [[1, 1, 1, "", "VTKReader"]], "spatialpy.core.vtkreader.VTKReader": [[1, 2, 1, "", "get_array_name"], [1, 2, 1, "", "get_arrays"], [1, 2, 1, "", "get_num_points"], [1, 2, 1, "", "get_points"], [1, 2, 1, "", "read_file"], [1, 2, 1, "", "set_filename"]], "spatialpy.solvers": [[2, 0, 0, "-", "build_expression"], [2, 0, 0, "-", "solver"]], "spatialpy.solvers.build_expression": [[2, 1, 1, "", "BuildExpression"], [2, 1, 1, "", "CppConverter"], [2, 1, 1, "", "ExpressionConverter"], [2, 1, 1, "", "ExpressionResults"], [2, 1, 1, "", "PythonConverter"]], "spatialpy.solvers.build_expression.BuildExpression": [[2, 1, 1, "", "ValidationVisitor"], [2, 2, 1, "", "getexpr_cpp"], [2, 2, 1, "", "getexpr_python"], [2, 2, 1, "", "map_operator"], [2, 4, 1, "", "operator_map"], [2, 2, 1, "", "validate"], [2, 2, 1, "", "with_blacklist"], [2, 2, 1, "", "with_namespace"]], "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor": [[2, 2, 1, "", "visit_Assign"], [2, 2, 1, "", "visit_BinOp"], [2, 2, 1, "", "visit_BoolOp"], [2, 2, 1, "", "visit_Call"], [2, 2, 1, "", "visit_Compare"], [2, 2, 1, "", "visit_Name"], [2, 2, 1, "", "visit_UnaryOp"]], "spatialpy.solvers.build_expression.CppConverter": [[2, 1, 1, "", "CppExpressionTransformer"], [2, 2, 1, "", "get_str"], [2, 2, 1, "", "visit_And"], [2, 2, 1, "", "visit_Or"]], "spatialpy.solvers.build_expression.CppConverter.CppExpressionTransformer": [[2, 2, 1, "", "visit_BinOp"]], "spatialpy.solvers.build_expression.ExpressionConverter": [[2, 2, 1, "", "convert_str"], [2, 2, 1, "", "get_str"], [2, 2, 1, "", "parse_comparison"], [2, 2, 1, "", "parse_logical"], [2, 2, 1, "", "parse_operator"], [2, 2, 1, "", "visit_Add"], [2, 2, 1, "", "visit_BinOp"], [2, 2, 1, "", "visit_BoolOp"], [2, 2, 1, "", "visit_Bytes"], [2, 2, 1, "", "visit_Call"], [2, 2, 1, "", "visit_Compare"], [2, 2, 1, "", "visit_Constant"], [2, 2, 1, "", "visit_Div"], [2, 2, 1, "", "visit_Ellipsis"], [2, 2, 1, "", "visit_Eq"], [2, 2, 1, "", "visit_Gt"], [2, 2, 1, "", "visit_GtE"], [2, 2, 1, "", "visit_Lt"], [2, 2, 1, "", "visit_LtE"], [2, 2, 1, "", "visit_Mult"], [2, 2, 1, "", "visit_Name"], [2, 2, 1, "", "visit_NameConstant"], [2, 2, 1, "", "visit_NotEq"], [2, 2, 1, "", "visit_Num"], [2, 2, 1, "", "visit_Pow"], [2, 2, 1, "", "visit_Str"], [2, 2, 1, "", "visit_Sub"], [2, 2, 1, "", "visit_USub"], [2, 2, 1, "", "visit_UnaryOp"]], "spatialpy.solvers.build_expression.PythonConverter": [[2, 2, 1, "", "visit_And"], [2, 2, 1, "", "visit_Or"]], "spatialpy.solvers.solver": [[2, 1, 1, "", "Solver"]], "spatialpy.solvers.solver.Solver": [[2, 2, 1, "", "compile"], [2, 2, 1, "", "run"]], "spatialpy.stochss": [[3, 0, 0, "-", "stochss_export"]], "spatialpy.stochss.stochss_export": [[3, 5, 1, "", "export"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:attribute", "5": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "function", "Python function"]}, "titleterms": {"spatialpi": [0, 1, 2, 3, 4], "packag": [0, 1, 2, 3], "subpackag": 0, "modul": [0, 1, 2, 3], "content": [0, 1, 2, 3], "core": 1, "submodul": [1, 2, 3], "boundarycondit": 1, "cleanup": 1, "datafunct": 1, "domain": 1, "geometri": 1, "initialcondit": 1, "lattic": 1, "model": 1, "paramet": 1, "reaction": 1, "result": 1, "spatialpyerror": 1, "speci": 1, "timespan": 1, "transform": 1, "visual": 1, "vtkreader": 1, "solver": 2, "build_express": 2, "stochss": 3, "stochss_export": 3, "document": 4, "1": 4, "2": [], "get": 4, "copi": 4, "exampl": 4, "report": 4, "issu": 4, "api": 4, "refer": 4, "indic": 4, "tabl": 4, "3": 4}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"spatialpy package": [[0, "spatialpy-package"]], "Subpackages": [[0, "subpackages"]], "Module contents": [[0, "module-spatialpy"], [1, "module-spatialpy.core"], [2, "module-spatialpy.solvers"], [3, "module-spatialpy.stochss"]], "spatialpy.core package": [[1, "spatialpy-core-package"]], "Submodules": [[1, "submodules"], [2, "submodules"], [3, "submodules"]], "spatialpy.core.boundarycondition module": [[1, "module-spatialpy.core.boundarycondition"]], "spatialpy.core.cleanup module": [[1, "module-spatialpy.core.cleanup"]], "spatialpy.core.datafunction module": [[1, "module-spatialpy.core.datafunction"]], "spatialpy.core.domain module": [[1, "module-spatialpy.core.domain"]], "spatialpy.core.geometry module": [[1, "module-spatialpy.core.geometry"]], "spatialpy.core.initialcondition module": [[1, "module-spatialpy.core.initialcondition"]], "spatialpy.core.lattice module": [[1, "module-spatialpy.core.lattice"]], "spatialpy.core.model module": [[1, "module-spatialpy.core.model"]], "spatialpy.core.parameter module": [[1, "module-spatialpy.core.parameter"]], "spatialpy.core.reaction module": [[1, "module-spatialpy.core.reaction"]], "spatialpy.core.result module": [[1, "module-spatialpy.core.result"]], "spatialpy.core.spatialpyerror module": [[1, "module-spatialpy.core.spatialpyerror"]], "spatialpy.core.species module": [[1, "module-spatialpy.core.species"]], "spatialpy.core.timespan module": [[1, "module-spatialpy.core.timespan"]], "spatialpy.core.transformation module": [[1, "module-spatialpy.core.transformation"]], "spatialpy.core.visualization module": [[1, "module-spatialpy.core.visualization"]], "spatialpy.core.vtkreader module": [[1, "module-spatialpy.core.vtkreader"]], "spatialpy.solvers package": [[2, "spatialpy-solvers-package"]], "spatialpy.solvers.build_expression module": [[2, "module-spatialpy.solvers.build_expression"]], "spatialpy.solvers.solver module": [[2, "module-spatialpy.solvers.solver"]], "spatialpy.stochss package": [[3, "spatialpy-stochss-package"]], "spatialpy.stochss.stochss_export module": [[3, "module-spatialpy.stochss.stochss_export"]], "Documentation for SpatialPy 1.1.3": [[4, "documentation-for-spatialpy-release"]], "Getting a copy of SpatialPy": [[4, "getting-a-copy-of-spatialpy"]], "Examples": [[4, "examples"]], "Reporting Issues": [[4, "reporting-issues"]], "Documentation": [[4, "documentation"]], "API reference": [[4, null]], "Indices and tables": [[4, "indices-and-tables"]]}, "indexentries": {"module": [[0, "module-spatialpy"], [1, "module-spatialpy.core"], [1, "module-spatialpy.core.boundarycondition"], [1, "module-spatialpy.core.cleanup"], [1, "module-spatialpy.core.datafunction"], [1, "module-spatialpy.core.domain"], [1, "module-spatialpy.core.geometry"], [1, "module-spatialpy.core.initialcondition"], [1, "module-spatialpy.core.lattice"], [1, "module-spatialpy.core.model"], [1, "module-spatialpy.core.parameter"], [1, "module-spatialpy.core.reaction"], [1, "module-spatialpy.core.result"], [1, "module-spatialpy.core.spatialpyerror"], [1, "module-spatialpy.core.species"], [1, "module-spatialpy.core.timespan"], [1, "module-spatialpy.core.transformation"], [1, "module-spatialpy.core.visualization"], [1, "module-spatialpy.core.vtkreader"], [2, "module-spatialpy.solvers"], [2, "module-spatialpy.solvers.build_expression"], [2, "module-spatialpy.solvers.solver"], [3, "module-spatialpy.stochss"], [3, "module-spatialpy.stochss.stochss_export"]], "spatialpy": [[0, "module-spatialpy"]], "boundarycondition (class in spatialpy.core)": [[1, "spatialpy.core.BoundaryCondition"]], "boundarycondition (class in spatialpy.core.boundarycondition)": [[1, "spatialpy.core.boundarycondition.BoundaryCondition"]], "boundaryconditionerror": [[1, "spatialpy.core.BoundaryConditionError"], [1, "spatialpy.core.spatialpyerror.BoundaryConditionError"]], "cartesianlattice (class in spatialpy.core)": [[1, "spatialpy.core.CartesianLattice"]], "cartesianlattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.CartesianLattice"]], "combinatorygeometry (class in spatialpy.core)": [[1, "spatialpy.core.CombinatoryGeometry"]], "combinatorygeometry (class in spatialpy.core.geometry)": [[1, "spatialpy.core.geometry.CombinatoryGeometry"]], "cylindricallattice (class in spatialpy.core)": [[1, "spatialpy.core.CylindricalLattice"]], "cylindricallattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.CylindricalLattice"]], "datafunction (class in spatialpy.core)": [[1, "spatialpy.core.DataFunction"]], "datafunction (class in spatialpy.core.datafunction)": [[1, "spatialpy.core.datafunction.DataFunction"]], "datafunctionerror": [[1, "spatialpy.core.DataFunctionError"], [1, "spatialpy.core.spatialpyerror.DataFunctionError"]], "domain (class in spatialpy.core)": [[1, "spatialpy.core.Domain"]], "domain (class in spatialpy.core.domain)": [[1, "spatialpy.core.domain.Domain"]], "domainerror": [[1, "spatialpy.core.DomainError"], [1, "spatialpy.core.spatialpyerror.DomainError"]], "geometry (class in spatialpy.core)": [[1, "spatialpy.core.Geometry"]], "geometry (class in spatialpy.core.geometry)": [[1, "spatialpy.core.geometry.Geometry"]], "geometryall (class in spatialpy.core)": [[1, "spatialpy.core.GeometryAll"]], "geometryall (class in spatialpy.core.geometry)": [[1, "spatialpy.core.geometry.GeometryAll"]], "geometryerror": [[1, "spatialpy.core.GeometryError"], [1, "spatialpy.core.spatialpyerror.GeometryError"]], "geometryexterior (class in spatialpy.core)": [[1, "spatialpy.core.GeometryExterior"]], "geometryexterior (class in spatialpy.core.geometry)": [[1, "spatialpy.core.geometry.GeometryExterior"]], "geometryinterior (class in spatialpy.core)": [[1, "spatialpy.core.GeometryInterior"]], "geometryinterior (class in spatialpy.core.geometry)": [[1, "spatialpy.core.geometry.GeometryInterior"]], "initialcondition (class in spatialpy.core)": [[1, "spatialpy.core.InitialCondition"]], "initialcondition (class in spatialpy.core.initialcondition)": [[1, "spatialpy.core.initialcondition.InitialCondition"]], "initialconditionerror": [[1, "spatialpy.core.InitialConditionError"], [1, "spatialpy.core.spatialpyerror.InitialConditionError"]], "lattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.Lattice"]], "latticeerror": [[1, "spatialpy.core.LatticeError"], [1, "spatialpy.core.spatialpyerror.LatticeError"]], "mpl_height (spatialpy.core.visualization attribute)": [[1, "spatialpy.core.Visualization.MPL_HEIGHT"]], "mpl_height (spatialpy.core.visualization.visualization attribute)": [[1, "spatialpy.core.visualization.Visualization.MPL_HEIGHT"]], "mpl_size (spatialpy.core.visualization attribute)": [[1, "spatialpy.core.Visualization.MPL_SIZE"]], "mpl_size (spatialpy.core.visualization.visualization attribute)": [[1, "spatialpy.core.visualization.Visualization.MPL_SIZE"]], "mpl_width (spatialpy.core.visualization attribute)": [[1, "spatialpy.core.Visualization.MPL_WIDTH"]], "mpl_width (spatialpy.core.visualization.visualization attribute)": [[1, "spatialpy.core.visualization.Visualization.MPL_WIDTH"]], "meshiolattice (class in spatialpy.core)": [[1, "spatialpy.core.MeshIOLattice"]], "meshiolattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.MeshIOLattice"]], "model (class in spatialpy.core)": [[1, "spatialpy.core.Model"]], "model (class in spatialpy.core.model)": [[1, "spatialpy.core.model.Model"]], "modelerror": [[1, "spatialpy.core.ModelError"], [1, "spatialpy.core.spatialpyerror.ModelError"]], "parameter (class in spatialpy.core)": [[1, "spatialpy.core.Parameter"]], "parameter (class in spatialpy.core.parameter)": [[1, "spatialpy.core.parameter.Parameter"]], "parametererror": [[1, "spatialpy.core.ParameterError"], [1, "spatialpy.core.spatialpyerror.ParameterError"]], "placeinitialcondition (class in spatialpy.core)": [[1, "spatialpy.core.PlaceInitialCondition"]], "placeinitialcondition (class in spatialpy.core.initialcondition)": [[1, "spatialpy.core.initialcondition.PlaceInitialCondition"]], "reaction (class in spatialpy.core)": [[1, "spatialpy.core.Reaction"]], "reaction (class in spatialpy.core.reaction)": [[1, "spatialpy.core.reaction.Reaction"]], "reactionerror": [[1, "spatialpy.core.ReactionError"], [1, "spatialpy.core.spatialpyerror.ReactionError"]], "reflectiontransformation (class in spatialpy.core)": [[1, "spatialpy.core.ReflectionTransformation"]], "reflectiontransformation (class in spatialpy.core.transformation)": [[1, "spatialpy.core.transformation.ReflectionTransformation"]], "result (class in spatialpy.core)": [[1, "spatialpy.core.Result"]], "result (class in spatialpy.core.result)": [[1, "spatialpy.core.result.Result"]], "resulterror": [[1, "spatialpy.core.ResultError"], [1, "spatialpy.core.spatialpyerror.ResultError"]], "rotationtransformation (class in spatialpy.core)": [[1, "spatialpy.core.RotationTransformation"]], "rotationtransformation (class in spatialpy.core.transformation)": [[1, "spatialpy.core.transformation.RotationTransformation"]], "scalingtransformation (class in spatialpy.core)": [[1, "spatialpy.core.ScalingTransformation"]], "scalingtransformation (class in spatialpy.core.transformation)": [[1, "spatialpy.core.transformation.ScalingTransformation"]], "scatterinitialcondition (class in spatialpy.core)": [[1, "spatialpy.core.ScatterInitialCondition"]], "scatterinitialcondition (class in spatialpy.core.initialcondition)": [[1, "spatialpy.core.initialcondition.ScatterInitialCondition"]], "simulationerror": [[1, "spatialpy.core.SimulationError"], [1, "spatialpy.core.spatialpyerror.SimulationError"]], "simulationtimeout": [[1, "spatialpy.core.SimulationTimeout"], [1, "spatialpy.core.spatialpyerror.SimulationTimeout"]], "species (class in spatialpy.core)": [[1, "spatialpy.core.Species"]], "species (class in spatialpy.core.species)": [[1, "spatialpy.core.species.Species"]], "specieserror": [[1, "spatialpy.core.SpeciesError"], [1, "spatialpy.core.spatialpyerror.SpeciesError"]], "sphericallattice (class in spatialpy.core)": [[1, "spatialpy.core.SphericalLattice"]], "sphericallattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.SphericalLattice"]], "stochsslattice (class in spatialpy.core)": [[1, "spatialpy.core.StochSSLattice"]], "stochsslattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.StochSSLattice"]], "timespan (class in spatialpy.core)": [[1, "spatialpy.core.TimeSpan"]], "timespan (class in spatialpy.core.timespan)": [[1, "spatialpy.core.timespan.TimeSpan"]], "timespanerror": [[1, "spatialpy.core.TimespanError"], [1, "spatialpy.core.spatialpyerror.TimespanError"]], "transformation (class in spatialpy.core)": [[1, "spatialpy.core.Transformation"]], "transformation (class in spatialpy.core.transformation)": [[1, "spatialpy.core.transformation.Transformation"]], "transformationerror": [[1, "spatialpy.core.TransformationError"], [1, "spatialpy.core.spatialpyerror.TransformationError"]], "translationtransformation (class in spatialpy.core)": [[1, "spatialpy.core.TranslationTransformation"]], "translationtransformation (class in spatialpy.core.transformation)": [[1, "spatialpy.core.transformation.TranslationTransformation"]], "uniforminitialcondition (class in spatialpy.core)": [[1, "spatialpy.core.UniformInitialCondition"]], "uniforminitialcondition (class in spatialpy.core.initialcondition)": [[1, "spatialpy.core.initialcondition.UniformInitialCondition"]], "vtkreader (class in spatialpy.core)": [[1, "spatialpy.core.VTKReader"]], "vtkreader (class in spatialpy.core.vtkreader)": [[1, "spatialpy.core.vtkreader.VTKReader"]], "vtkreadererror": [[1, "spatialpy.core.VTKReaderError"], [1, "spatialpy.core.spatialpyerror.VTKReaderError"]], "vtkreaderioerror": [[1, "spatialpy.core.VTKReaderIOError"], [1, "spatialpy.core.spatialpyerror.VTKReaderIOError"]], "visualization (class in spatialpy.core)": [[1, "spatialpy.core.Visualization"]], "visualization (class in spatialpy.core.visualization)": [[1, "spatialpy.core.visualization.Visualization"]], "visualizationerror": [[1, "spatialpy.core.VisualizationError"], [1, "spatialpy.core.spatialpyerror.VisualizationError"]], "xmlmeshlattice (class in spatialpy.core)": [[1, "spatialpy.core.XMLMeshLattice"]], "xmlmeshlattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.XMLMeshLattice"]], "add() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add"]], "add() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add"]], "add_boundary_condition() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_boundary_condition"]], "add_boundary_condition() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_boundary_condition"]], "add_data_function() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_data_function"]], "add_data_function() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_data_function"]], "add_domain() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_domain"]], "add_domain() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_domain"]], "add_fill_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.add_fill_action"]], "add_fill_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.add_fill_action"]], "add_initial_condition() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_initial_condition"]], "add_initial_condition() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_initial_condition"]], "add_parameter() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_parameter"]], "add_parameter() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_parameter"]], "add_point() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.add_point"]], "add_point() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.add_point"]], "add_product() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.add_product"]], "add_product() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.add_product"]], "add_reactant() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.add_reactant"]], "add_reactant() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.add_reactant"]], "add_reaction() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_reaction"]], "add_reaction() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_reaction"]], "add_remove_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.add_remove_action"]], "add_remove_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.add_remove_action"]], "add_set_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.add_set_action"]], "add_set_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.add_set_action"]], "add_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_species"]], "add_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_species"]], "annotate() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.annotate"]], "annotate() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.annotate"]], "apply() (spatialpy.core.cartesianlattice method)": [[1, "spatialpy.core.CartesianLattice.apply"]], "apply() (spatialpy.core.cylindricallattice method)": [[1, "spatialpy.core.CylindricalLattice.apply"]], "apply() (spatialpy.core.initialcondition method)": [[1, "spatialpy.core.InitialCondition.apply"]], "apply() (spatialpy.core.meshiolattice method)": [[1, "spatialpy.core.MeshIOLattice.apply"]], "apply() (spatialpy.core.placeinitialcondition method)": [[1, "spatialpy.core.PlaceInitialCondition.apply"]], "apply() (spatialpy.core.scatterinitialcondition method)": [[1, "spatialpy.core.ScatterInitialCondition.apply"]], "apply() (spatialpy.core.sphericallattice method)": [[1, "spatialpy.core.SphericalLattice.apply"]], "apply() (spatialpy.core.stochsslattice method)": [[1, "spatialpy.core.StochSSLattice.apply"]], "apply() (spatialpy.core.transformation method)": [[1, "spatialpy.core.Transformation.apply"]], "apply() (spatialpy.core.uniforminitialcondition method)": [[1, "spatialpy.core.UniformInitialCondition.apply"]], "apply() (spatialpy.core.xmlmeshlattice method)": [[1, "spatialpy.core.XMLMeshLattice.apply"]], "apply() (spatialpy.core.initialcondition.initialcondition method)": [[1, "spatialpy.core.initialcondition.InitialCondition.apply"]], "apply() (spatialpy.core.initialcondition.placeinitialcondition method)": [[1, "spatialpy.core.initialcondition.PlaceInitialCondition.apply"]], "apply() (spatialpy.core.initialcondition.scatterinitialcondition method)": [[1, "spatialpy.core.initialcondition.ScatterInitialCondition.apply"]], "apply() (spatialpy.core.initialcondition.uniforminitialcondition method)": [[1, "spatialpy.core.initialcondition.UniformInitialCondition.apply"]], "apply() (spatialpy.core.lattice.cartesianlattice method)": [[1, "spatialpy.core.lattice.CartesianLattice.apply"]], "apply() (spatialpy.core.lattice.cylindricallattice method)": [[1, "spatialpy.core.lattice.CylindricalLattice.apply"]], "apply() (spatialpy.core.lattice.lattice method)": [[1, "spatialpy.core.lattice.Lattice.apply"]], "apply() (spatialpy.core.lattice.meshiolattice method)": [[1, "spatialpy.core.lattice.MeshIOLattice.apply"]], "apply() (spatialpy.core.lattice.sphericallattice method)": [[1, "spatialpy.core.lattice.SphericalLattice.apply"]], "apply() (spatialpy.core.lattice.stochsslattice method)": [[1, "spatialpy.core.lattice.StochSSLattice.apply"]], "apply() (spatialpy.core.lattice.xmlmeshlattice method)": [[1, "spatialpy.core.lattice.XMLMeshLattice.apply"]], "apply() (spatialpy.core.transformation.transformation method)": [[1, "spatialpy.core.transformation.Transformation.apply"]], "apply_actions() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.apply_actions"]], "apply_actions() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.apply_actions"]], "apply_fill_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.apply_fill_action"]], "apply_fill_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.apply_fill_action"]], "apply_remove_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.apply_remove_action"]], "apply_remove_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.apply_remove_action"]], "apply_set_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.apply_set_action"]], "apply_set_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.apply_set_action"]], "arange() (spatialpy.core.timespan class method)": [[1, "spatialpy.core.TimeSpan.arange"]], "arange() (spatialpy.core.timespan.timespan class method)": [[1, "spatialpy.core.timespan.TimeSpan.arange"]], "calculate_vol() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.calculate_vol"]], "calculate_vol() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.calculate_vol"]], "cleanup_build_files() (in module spatialpy.core)": [[1, "spatialpy.core.cleanup_build_files"]], "cleanup_build_files() (in module spatialpy.core.cleanup)": [[1, "spatialpy.core.cleanup.cleanup_build_files"]], "cleanup_core_files() (in module spatialpy.core)": [[1, "spatialpy.core.cleanup_core_files"]], "cleanup_core_files() (in module spatialpy.core.cleanup)": [[1, "spatialpy.core.cleanup.cleanup_core_files"]], "cleanup_result_files() (in module spatialpy.core)": [[1, "spatialpy.core.cleanup_result_files"]], "cleanup_result_files() (in module spatialpy.core.cleanup)": [[1, "spatialpy.core.cleanup.cleanup_result_files"]], "cleanup_tempfiles() (in module spatialpy.core)": [[1, "spatialpy.core.cleanup_tempfiles"]], "cleanup_tempfiles() (in module spatialpy.core.cleanup)": [[1, "spatialpy.core.cleanup.cleanup_tempfiles"]], "closest_vertex() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.closest_vertex"]], "closest_vertex() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.closest_vertex"]], "compile_prep() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.compile_prep"]], "compile_prep() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.compile_prep"]], "compile_prep() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.compile_prep"]], "compile_prep() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.compile_prep"]], "coordinates() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.coordinates"]], "coordinates() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.coordinates"]], "create_2d_domain() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.create_2D_domain"]], "create_2d_domain() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.create_2D_domain"]], "create_3d_domain() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.create_3D_domain"]], "create_3d_domain() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.create_3D_domain"]], "delete_all_boundary_conditions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_boundary_conditions"]], "delete_all_boundary_conditions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_boundary_conditions"]], "delete_all_data_functions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_data_functions"]], "delete_all_data_functions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_data_functions"]], "delete_all_initial_conditions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_initial_conditions"]], "delete_all_initial_conditions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_initial_conditions"]], "delete_all_parameters() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_parameters"]], "delete_all_parameters() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_parameters"]], "delete_all_reactions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_reactions"]], "delete_all_reactions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_reactions"]], "delete_all_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_species"]], "delete_all_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_species"]], "delete_boundary_condition() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_boundary_condition"]], "delete_boundary_condition() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_boundary_condition"]], "delete_data_function() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_data_function"]], "delete_data_function() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_data_function"]], "delete_initial_condition() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_initial_condition"]], "delete_initial_condition() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_initial_condition"]], "delete_parameter() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_parameter"]], "delete_parameter() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_parameter"]], "delete_reaction() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_reaction"]], "delete_reaction() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_reaction"]], "delete_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_species"]], "delete_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_species"]], "distance_between_2_vertices() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.distance_between_2_vertices"]], "distance_between_2_vertices() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.distance_between_2_vertices"]], "export_stochss() (in module spatialpy.core)": [[1, "spatialpy.core.export_StochSS"]], "export_stochss() (in module spatialpy.core.model)": [[1, "spatialpy.core.model.export_StochSS"]], "export_to_csv() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.export_to_csv"]], "export_to_csv() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.export_to_csv"]], "expression() (spatialpy.core.boundarycondition method)": [[1, "spatialpy.core.BoundaryCondition.expression"]], "expression() (spatialpy.core.boundarycondition.boundarycondition method)": [[1, "spatialpy.core.boundarycondition.BoundaryCondition.expression"]], "fill_with_particles() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.fill_with_particles"]], "fill_with_particles() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.fill_with_particles"]], "find_boundary_points() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.find_boundary_points"]], "find_boundary_points() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.find_boundary_points"]], "find_h() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.find_h"]], "find_h() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.find_h"]], "from_json() (spatialpy.core.reaction class method)": [[1, "spatialpy.core.Reaction.from_json"]], "from_json() (spatialpy.core.reaction.reaction class method)": [[1, "spatialpy.core.reaction.Reaction.from_json"]], "get_all_boundary_conditions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_boundary_conditions"]], "get_all_boundary_conditions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_boundary_conditions"]], "get_all_data_functions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_data_functions"]], "get_all_data_functions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_data_functions"]], "get_all_initial_conditions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_initial_conditions"]], "get_all_initial_conditions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_initial_conditions"]], "get_all_parameters() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_parameters"]], "get_all_parameters() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_parameters"]], "get_all_reactions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_reactions"]], "get_all_reactions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_reactions"]], "get_all_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_species"]], "get_all_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_species"]], "get_array_name() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.get_array_name"]], "get_array_name() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.get_array_name"]], "get_arrays() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.get_arrays"]], "get_arrays() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.get_arrays"]], "get_bounding_box() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.get_bounding_box"]], "get_bounding_box() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.get_bounding_box"]], "get_data_function() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_data_function"]], "get_data_function() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_data_function"]], "get_domain_size() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.get_domain_size"]], "get_domain_size() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.get_domain_size"]], "get_element() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_element"]], "get_element() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_element"]], "get_num_points() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.get_num_points"]], "get_num_points() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.get_num_points"]], "get_num_reactions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_num_reactions"]], "get_num_reactions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_num_reactions"]], "get_num_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_num_species"]], "get_num_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_num_species"]], "get_num_voxels() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.get_num_voxels"]], "get_num_voxels() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.get_num_voxels"]], "get_parameter() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_parameter"]], "get_parameter() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_parameter"]], "get_points() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.get_points"]], "get_points() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.get_points"]], "get_property() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.get_property"]], "get_property() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.get_property"]], "get_reaction() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_reaction"]], "get_reaction() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_reaction"]], "get_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_species"]], "get_species() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.get_species"]], "get_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_species"]], "get_species() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.get_species"]], "get_timespan() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.get_timespan"]], "get_timespan() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.get_timespan"]], "get_type_def() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.get_type_def"]], "get_type_def() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.get_type_def"]], "get_vol() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.get_vol"]], "get_vol() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.get_vol"]], "import_meshio_object() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.import_meshio_object"]], "import_meshio_object() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.import_meshio_object"]], "initialize() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.initialize"]], "initialize() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.initialize"]], "inside() (spatialpy.core.combinatorygeometry method)": [[1, "spatialpy.core.CombinatoryGeometry.inside"]], "inside() (spatialpy.core.geometry method)": [[1, "spatialpy.core.Geometry.inside"]], "inside() (spatialpy.core.geometryall method)": [[1, "spatialpy.core.GeometryAll.inside"]], "inside() (spatialpy.core.geometryexterior method)": [[1, "spatialpy.core.GeometryExterior.inside"]], "inside() (spatialpy.core.geometryinterior method)": [[1, "spatialpy.core.GeometryInterior.inside"]], "inside() (spatialpy.core.transformation method)": [[1, "spatialpy.core.Transformation.inside"]], "inside() (spatialpy.core.geometry.combinatorygeometry method)": [[1, "spatialpy.core.geometry.CombinatoryGeometry.inside"]], "inside() (spatialpy.core.geometry.geometry method)": [[1, "spatialpy.core.geometry.Geometry.inside"]], "inside() (spatialpy.core.geometry.geometryall method)": [[1, "spatialpy.core.geometry.GeometryAll.inside"]], "inside() (spatialpy.core.geometry.geometryexterior method)": [[1, "spatialpy.core.geometry.GeometryExterior.inside"]], "inside() (spatialpy.core.geometry.geometryinterior method)": [[1, "spatialpy.core.geometry.GeometryInterior.inside"]], "inside() (spatialpy.core.transformation.transformation method)": [[1, "spatialpy.core.transformation.Transformation.inside"]], "linspace() (spatialpy.core.timespan class method)": [[1, "spatialpy.core.TimeSpan.linspace"]], "linspace() (spatialpy.core.timespan.timespan class method)": [[1, "spatialpy.core.timespan.TimeSpan.linspace"]], "map() (spatialpy.core.datafunction method)": [[1, "spatialpy.core.DataFunction.map"]], "map() (spatialpy.core.datafunction.datafunction method)": [[1, "spatialpy.core.datafunction.DataFunction.map"]], "plot_property() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.plot_property"]], "plot_property() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.plot_property"]], "plot_scatter() (spatialpy.core.visualization method)": [[1, "spatialpy.core.Visualization.plot_scatter"]], "plot_scatter() (spatialpy.core.visualization.visualization method)": [[1, "spatialpy.core.visualization.Visualization.plot_scatter"]], "plot_species() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.plot_species"]], "plot_species() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.plot_species"]], "plot_types() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.plot_types"]], "plot_types() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.plot_types"]], "preview_actions() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.preview_actions"]], "preview_actions() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.preview_actions"]], "read_file() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.read_file"]], "read_file() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.read_file"]], "read_msh_file() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.read_msh_file"]], "read_msh_file() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.read_msh_file"]], "read_step() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.read_step"]], "read_step() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.read_step"]], "read_stochss_domain() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.read_stochss_domain"]], "read_stochss_domain() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.read_stochss_domain"]], "read_stochss_subdomain_file() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.read_stochss_subdomain_file"]], "read_stochss_subdomain_file() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.read_stochss_subdomain_file"]], "read_xml_mesh() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.read_xml_mesh"]], "read_xml_mesh() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.read_xml_mesh"]], "reserved_names (spatialpy.core.model attribute)": [[1, "spatialpy.core.Model.reserved_names"]], "reserved_names (spatialpy.core.model.model attribute)": [[1, "spatialpy.core.model.Model.reserved_names"]], "reverse_transform() (spatialpy.core.reflectiontransformation method)": [[1, "spatialpy.core.ReflectionTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.rotationtransformation method)": [[1, "spatialpy.core.RotationTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.scalingtransformation method)": [[1, "spatialpy.core.ScalingTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation method)": [[1, "spatialpy.core.Transformation.reverse_transform"]], "reverse_transform() (spatialpy.core.translationtransformation method)": [[1, "spatialpy.core.TranslationTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation.reflectiontransformation method)": [[1, "spatialpy.core.transformation.ReflectionTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation.rotationtransformation method)": [[1, "spatialpy.core.transformation.RotationTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation.scalingtransformation method)": [[1, "spatialpy.core.transformation.ScalingTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation.transformation method)": [[1, "spatialpy.core.transformation.Transformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation.translationtransformation method)": [[1, "spatialpy.core.transformation.TranslationTransformation.reverse_transform"]], "run() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.run"]], "run() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.run"]], "sanitized_data_function_names() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.sanitized_data_function_names"]], "sanitized_data_function_names() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.sanitized_data_function_names"]], "sanitized_parameter_names() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.sanitized_parameter_names"]], "sanitized_parameter_names() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.sanitized_parameter_names"]], "sanitized_propensity_function() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.sanitized_propensity_function"]], "sanitized_propensity_function() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.sanitized_propensity_function"]], "sanitized_species_names() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.sanitized_species_names"]], "sanitized_species_names() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.sanitized_species_names"]], "set_annotation() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.set_annotation"]], "set_annotation() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.set_annotation"]], "set_diffusion_coefficient() (spatialpy.core.species method)": [[1, "spatialpy.core.Species.set_diffusion_coefficient"]], "set_diffusion_coefficient() (spatialpy.core.species.species method)": [[1, "spatialpy.core.species.Species.set_diffusion_coefficient"]], "set_filename() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.set_filename"]], "set_filename() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.set_filename"]], "set_propensities() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.set_propensities"]], "set_propensities() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.set_propensities"]], "set_properties() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.set_properties"]], "set_properties() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.set_properties"]], "set_rate() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.set_rate"]], "set_rate() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.set_rate"]], "set_timesteps() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.set_timesteps"]], "set_timesteps() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.set_timesteps"]], "spatialpy.core": [[1, "module-spatialpy.core"]], "spatialpy.core.boundarycondition": [[1, "module-spatialpy.core.boundarycondition"]], "spatialpy.core.cleanup": [[1, "module-spatialpy.core.cleanup"]], "spatialpy.core.datafunction": [[1, "module-spatialpy.core.datafunction"]], "spatialpy.core.domain": [[1, "module-spatialpy.core.domain"]], "spatialpy.core.geometry": [[1, "module-spatialpy.core.geometry"]], "spatialpy.core.initialcondition": [[1, "module-spatialpy.core.initialcondition"]], "spatialpy.core.lattice": [[1, "module-spatialpy.core.lattice"]], "spatialpy.core.model": [[1, "module-spatialpy.core.model"]], "spatialpy.core.parameter": [[1, "module-spatialpy.core.parameter"]], "spatialpy.core.reaction": [[1, "module-spatialpy.core.reaction"]], "spatialpy.core.result": [[1, "module-spatialpy.core.result"]], "spatialpy.core.spatialpyerror": [[1, "module-spatialpy.core.spatialpyerror"]], "spatialpy.core.species": [[1, "module-spatialpy.core.species"]], "spatialpy.core.timespan": [[1, "module-spatialpy.core.timespan"]], "spatialpy.core.transformation": [[1, "module-spatialpy.core.transformation"]], "spatialpy.core.visualization": [[1, "module-spatialpy.core.visualization"]], "spatialpy.core.vtkreader": [[1, "module-spatialpy.core.vtkreader"]], "special_characters (spatialpy.core.model attribute)": [[1, "spatialpy.core.Model.special_characters"]], "special_characters (spatialpy.core.model.model attribute)": [[1, "spatialpy.core.model.Model.special_characters"]], "timespan() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.timespan"]], "timespan() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.timespan"]], "to_dict() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.to_dict"]], "to_dict() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.to_dict"]], "transform() (spatialpy.core.reflectiontransformation method)": [[1, "spatialpy.core.ReflectionTransformation.transform"]], "transform() (spatialpy.core.rotationtransformation method)": [[1, "spatialpy.core.RotationTransformation.transform"]], "transform() (spatialpy.core.scalingtransformation method)": [[1, "spatialpy.core.ScalingTransformation.transform"]], "transform() (spatialpy.core.transformation method)": [[1, "spatialpy.core.Transformation.transform"]], "transform() (spatialpy.core.translationtransformation method)": [[1, "spatialpy.core.TranslationTransformation.transform"]], "transform() (spatialpy.core.transformation.reflectiontransformation method)": [[1, "spatialpy.core.transformation.ReflectionTransformation.transform"]], "transform() (spatialpy.core.transformation.rotationtransformation method)": [[1, "spatialpy.core.transformation.RotationTransformation.transform"]], "transform() (spatialpy.core.transformation.scalingtransformation method)": [[1, "spatialpy.core.transformation.ScalingTransformation.transform"]], "transform() (spatialpy.core.transformation.transformation method)": [[1, "spatialpy.core.transformation.Transformation.transform"]], "transform() (spatialpy.core.transformation.translationtransformation method)": [[1, "spatialpy.core.transformation.TranslationTransformation.transform"]], "update_namespace() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.update_namespace"]], "update_namespace() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.update_namespace"]], "validate() (spatialpy.core.cartesianlattice method)": [[1, "spatialpy.core.CartesianLattice.validate"]], "validate() (spatialpy.core.combinatorygeometry method)": [[1, "spatialpy.core.CombinatoryGeometry.validate"]], "validate() (spatialpy.core.cylindricallattice method)": [[1, "spatialpy.core.CylindricalLattice.validate"]], "validate() (spatialpy.core.meshiolattice method)": [[1, "spatialpy.core.MeshIOLattice.validate"]], "validate() (spatialpy.core.parameter method)": [[1, "spatialpy.core.Parameter.validate"]], "validate() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.validate"]], "validate() (spatialpy.core.rotationtransformation method)": [[1, "spatialpy.core.RotationTransformation.validate"]], "validate() (spatialpy.core.scalingtransformation method)": [[1, "spatialpy.core.ScalingTransformation.validate"]], "validate() (spatialpy.core.species method)": [[1, "spatialpy.core.Species.validate"]], "validate() (spatialpy.core.sphericallattice method)": [[1, "spatialpy.core.SphericalLattice.validate"]], "validate() (spatialpy.core.stochsslattice method)": [[1, "spatialpy.core.StochSSLattice.validate"]], "validate() (spatialpy.core.timespan method)": [[1, "spatialpy.core.TimeSpan.validate"]], "validate() (spatialpy.core.transformation method)": [[1, "spatialpy.core.Transformation.validate"]], "validate() (spatialpy.core.translationtransformation method)": [[1, "spatialpy.core.TranslationTransformation.validate"]], "validate() (spatialpy.core.xmlmeshlattice method)": [[1, "spatialpy.core.XMLMeshLattice.validate"]], "validate() (spatialpy.core.geometry.combinatorygeometry method)": [[1, "spatialpy.core.geometry.CombinatoryGeometry.validate"]], "validate() (spatialpy.core.lattice.cartesianlattice method)": [[1, "spatialpy.core.lattice.CartesianLattice.validate"]], "validate() (spatialpy.core.lattice.cylindricallattice method)": [[1, "spatialpy.core.lattice.CylindricalLattice.validate"]], "validate() (spatialpy.core.lattice.lattice method)": [[1, "spatialpy.core.lattice.Lattice.validate"]], "validate() (spatialpy.core.lattice.meshiolattice method)": [[1, "spatialpy.core.lattice.MeshIOLattice.validate"]], "validate() (spatialpy.core.lattice.sphericallattice method)": [[1, "spatialpy.core.lattice.SphericalLattice.validate"]], "validate() (spatialpy.core.lattice.stochsslattice method)": [[1, "spatialpy.core.lattice.StochSSLattice.validate"]], "validate() (spatialpy.core.lattice.xmlmeshlattice method)": [[1, "spatialpy.core.lattice.XMLMeshLattice.validate"]], "validate() (spatialpy.core.parameter.parameter method)": [[1, "spatialpy.core.parameter.Parameter.validate"]], "validate() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.validate"]], "validate() (spatialpy.core.species.species method)": [[1, "spatialpy.core.species.Species.validate"]], "validate() (spatialpy.core.timespan.timespan method)": [[1, "spatialpy.core.timespan.TimeSpan.validate"]], "validate() (spatialpy.core.transformation.rotationtransformation method)": [[1, "spatialpy.core.transformation.RotationTransformation.validate"]], "validate() (spatialpy.core.transformation.scalingtransformation method)": [[1, "spatialpy.core.transformation.ScalingTransformation.validate"]], "validate() (spatialpy.core.transformation.transformation method)": [[1, "spatialpy.core.transformation.Transformation.validate"]], "validate() (spatialpy.core.transformation.translationtransformation method)": [[1, "spatialpy.core.transformation.TranslationTransformation.validate"]], "validate_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.validate_action"]], "validate_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.validate_action"]], "buildexpression (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.BuildExpression"]], "buildexpression.validationvisitor (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor"]], "cppconverter (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.CppConverter"]], "cppconverter.cppexpressiontransformer (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.CppConverter.CppExpressionTransformer"]], "expressionconverter (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter"]], "expressionresults (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.ExpressionResults"]], "pythonconverter (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.PythonConverter"]], "solver (class in spatialpy.solvers.solver)": [[2, "spatialpy.solvers.solver.Solver"]], "compile() (spatialpy.solvers.solver.solver method)": [[2, "spatialpy.solvers.solver.Solver.compile"]], "convert_str() (spatialpy.solvers.build_expression.expressionconverter class method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.convert_str"]], "get_str() (spatialpy.solvers.build_expression.cppconverter method)": [[2, "spatialpy.solvers.build_expression.CppConverter.get_str"]], "get_str() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.get_str"]], "getexpr_cpp() (spatialpy.solvers.build_expression.buildexpression method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.getexpr_cpp"]], "getexpr_python() (spatialpy.solvers.build_expression.buildexpression method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.getexpr_python"]], "map_operator() (spatialpy.solvers.build_expression.buildexpression class method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.map_operator"]], "operator_map (spatialpy.solvers.build_expression.buildexpression attribute)": [[2, "spatialpy.solvers.build_expression.BuildExpression.operator_map"]], "parse_comparison() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.parse_comparison"]], "parse_logical() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.parse_logical"]], "parse_operator() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.parse_operator"]], "run() (spatialpy.solvers.solver.solver method)": [[2, "spatialpy.solvers.solver.Solver.run"]], "spatialpy.solvers": [[2, "module-spatialpy.solvers"]], "spatialpy.solvers.build_expression": [[2, "module-spatialpy.solvers.build_expression"]], "spatialpy.solvers.solver": [[2, "module-spatialpy.solvers.solver"]], "validate() (spatialpy.solvers.build_expression.buildexpression method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.validate"]], "visit_add() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Add"]], "visit_and() (spatialpy.solvers.build_expression.cppconverter method)": [[2, "spatialpy.solvers.build_expression.CppConverter.visit_And"]], "visit_and() (spatialpy.solvers.build_expression.pythonconverter method)": [[2, "spatialpy.solvers.build_expression.PythonConverter.visit_And"]], "visit_assign() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_Assign"]], "visit_binop() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_BinOp"]], "visit_binop() (spatialpy.solvers.build_expression.cppconverter.cppexpressiontransformer method)": [[2, "spatialpy.solvers.build_expression.CppConverter.CppExpressionTransformer.visit_BinOp"]], "visit_binop() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_BinOp"]], "visit_boolop() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_BoolOp"]], "visit_boolop() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_BoolOp"]], "visit_bytes() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Bytes"]], "visit_call() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_Call"]], "visit_call() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Call"]], "visit_compare() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_Compare"]], "visit_compare() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Compare"]], "visit_constant() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Constant"]], "visit_div() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Div"]], "visit_ellipsis() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Ellipsis"]], "visit_eq() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Eq"]], "visit_gt() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Gt"]], "visit_gte() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_GtE"]], "visit_lt() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Lt"]], "visit_lte() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_LtE"]], "visit_mult() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Mult"]], "visit_name() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_Name"]], "visit_name() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Name"]], "visit_nameconstant() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_NameConstant"]], "visit_noteq() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_NotEq"]], "visit_num() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Num"]], "visit_or() (spatialpy.solvers.build_expression.cppconverter method)": [[2, "spatialpy.solvers.build_expression.CppConverter.visit_Or"]], "visit_or() (spatialpy.solvers.build_expression.pythonconverter method)": [[2, "spatialpy.solvers.build_expression.PythonConverter.visit_Or"]], "visit_pow() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Pow"]], "visit_str() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Str"]], "visit_sub() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Sub"]], "visit_usub() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_USub"]], "visit_unaryop() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_UnaryOp"]], "visit_unaryop() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_UnaryOp"]], "with_blacklist() (spatialpy.solvers.build_expression.buildexpression method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.with_blacklist"]], "with_namespace() (spatialpy.solvers.build_expression.buildexpression method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.with_namespace"]], "export() (in module spatialpy.stochss.stochss_export)": [[3, "spatialpy.stochss.stochss_export.export"]], "spatialpy.stochss": [[3, "module-spatialpy.stochss"]], "spatialpy.stochss.stochss_export": [[3, "module-spatialpy.stochss.stochss_export"]]}}) \ No newline at end of file From f7b243541240cd22ff93facb2af38f8dfc2a4b08 Mon Sep 17 00:00:00 2001 From: Bryan Rumsey Date: Thu, 5 Jan 2023 13:48:52 -0500 Subject: [PATCH 07/30] Fixed issue with type_ids in XML mesh and mesh IO lattices. --- spatialpy/core/lattice.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spatialpy/core/lattice.py b/spatialpy/core/lattice.py index d23ce53d..2e7ca70a 100644 --- a/spatialpy/core/lattice.py +++ b/spatialpy/core/lattice.py @@ -548,7 +548,7 @@ def __get_types(self): if self.type_ids is not None: type_id = self.type_ids[type_id] - type_ids[int(ndx)] = f"type_{type_id}" + type_ids[int(ndx)] = type_id except ValueError as err: errmsg = f"Could not read in subdomain file, error on line {lnum}: {line}" raise LatticeError(errmsg) from err @@ -685,7 +685,7 @@ def __get_types(self): if self.type_ids is not None: type_id = self.type_ids[type_id] - type_ids[int(ndx)] = f"type_{type_id}" + type_ids[int(ndx)] = type_id except ValueError as err: errmsg = f"Could not read in subdomain file, error on line {lnum}: {line}" raise LatticeError(errmsg) from err From f59075f3673587b0fe6dab65ce3fd8bc42946351 Mon Sep 17 00:00:00 2001 From: Josh C Date: Thu, 12 Jan 2023 20:29:24 -0500 Subject: [PATCH 08/30] Update SConscript and SConstruct files - Fix variant directories and env defines - Add source files to ANN and src --- .../build/SConstruct | 16 +++++++++++----- .../external/ANN/src/SConscript | 17 ++++++++++++++++- .../ssa_sdpd-c-simulation-engine/src/SConscript | 13 ++++++++++++- 3 files changed, 39 insertions(+), 7 deletions(-) diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/SConstruct b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/SConstruct index 30fefeba..3b2d5866 100644 --- a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/SConstruct +++ b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/SConstruct @@ -1,3 +1,5 @@ +import os + model = ARGUMENTS.get('MODEL') core_dir = ARGUMENTS.get('CORE_DIR') output_root = ARGUMENTS.get('OUTPUT') @@ -8,13 +10,17 @@ env = Environment( Dir(f'{core_dir}/include'), Dir(f'{core_dir}/external/ANN/include'), ], + LIBPATH=[ + Dir(f'{output_root}/external/ANN/src'), + Dir(f'{output_root}/src'), + ], + ENV=os.environ, + # When MSVC (or any other compilers) are supported, update this to be a compiler-specific flag + CXXFLAGS=['-std=c++14'], ) -VariantDir(output_root, f'{core_dir}/src', duplicate=False) -VariantDir(f'{output_root}/external', f'{core_dir}/external', duplicate=False) - Export('env') -SConscript(f'{core_dir}/external/ANN/src/SConscript') -SConscript(f'{core_dir}/src/SConscript') +SConscript(f'{core_dir}/external/ANN/src/SConscript', variant_dir=f'{output_root}/external/ANN/src', duplicate=False) +SConscript(f'{core_dir}/src/SConscript', variant_dir=f'{output_root}/src', duplicate=False) env.Program('ssa_sdpd', model, LIBS=['spatialpy-core', 'ANN']) diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/external/ANN/src/SConscript b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/external/ANN/src/SConscript index b880a0eb..07c74d22 100644 --- a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/external/ANN/src/SConscript +++ b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/external/ANN/src/SConscript @@ -1,2 +1,17 @@ Import('env') -env.StaticLibrary('ANN') # TODO +env.StaticLibrary('ANN', [ + 'ANN.cpp', + 'brute.cpp', + 'kd_tree.cpp', + 'kd_util.cpp', + 'kd_split.cpp', + 'kd_dump.cpp', + 'kd_search.cpp', + 'kd_pr_search.cpp', + 'kd_fix_rad_search.cpp', + 'bd_tree.cpp', + 'bd_search.cpp', + 'bd_pr_search.cpp', + 'bd_fix_rad_search.cpp', + 'perf.cpp' +]) diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript index 7871a974..e06ceb57 100644 --- a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript +++ b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript @@ -1,2 +1,13 @@ Import('env') -env.StaticLibrary('spatialpy-core') # TODO +env.StaticLibrary('spatialpy-core', [ + 'count_cores.c', + 'model.c', + 'NRMConstant_v5.cpp', + 'output.c', + 'particle.cpp', + 'pthread_barrier.c', + 'read_lammps_input_file.c', + 'simulate.cpp', + 'simulate_rdme.cpp', + 'simulate_threads.c' +]) From ae4107c8917a65e999f8864bedf10bde3fde5911 Mon Sep 17 00:00:00 2001 From: Josh C Date: Sun, 15 Jan 2023 21:16:23 -0500 Subject: [PATCH 09/30] Configure SCons in solver object - Modified `solver.py` to reference SCons - Fixed debugging errors in compile method - Updated SCons files to define lib in main script --- .../build/SConstruct | 24 ++++++--- .../external/ANN/src/SConscript | 3 +- .../src/SConscript | 3 +- spatialpy/solvers/solver.py | 49 +++++++------------ 4 files changed, 37 insertions(+), 42 deletions(-) diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/SConstruct b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/SConstruct index 3b2d5866..e77b415e 100644 --- a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/SConstruct +++ b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/SConstruct @@ -1,26 +1,34 @@ import os model = ARGUMENTS.get('MODEL') -core_dir = ARGUMENTS.get('CORE_DIR') -output_root = ARGUMENTS.get('OUTPUT') +root_dir = ARGUMENTS.get('ROOT') +root_include_dir = ARGUMENTS.get('ROOTINC') +core_dir = ARGUMENTS.get('COREDIR') +build_dir = ARGUMENTS.get('BUILD') + +if core_dir is None: + core_dir = build_dir env = Environment( tools=['default', 'mingw'], CPPPATH=[ - Dir(f'{core_dir}/include'), - Dir(f'{core_dir}/external/ANN/include'), + Dir(f'{root_include_dir}/include'), + Dir(f'{root_include_dir}/external/ANN/include'), ], LIBPATH=[ - Dir(f'{output_root}/external/ANN/src'), - Dir(f'{output_root}/src'), + Dir(f'{core_dir}/lib'), ], ENV=os.environ, # When MSVC (or any other compilers) are supported, update this to be a compiler-specific flag CXXFLAGS=['-std=c++14'], ) +env.VariantDir(core_dir, f'{root_dir}/src', duplicate=False) +env.VariantDir(f'{core_dir}/external/ANN', f'{root_dir}/external/ANN/src', duplicate=False) Export('env') -SConscript(f'{core_dir}/external/ANN/src/SConscript', variant_dir=f'{output_root}/external/ANN/src', duplicate=False) -SConscript(f'{core_dir}/src/SConscript', variant_dir=f'{output_root}/src', duplicate=False) +ann = SConscript(f'{root_dir}/external/ANN/src/SConscript', variant_dir=f'{core_dir}/external/ANN', duplicate=False) +core = SConscript(f'{root_dir}/src/SConscript', variant_dir=core_dir, duplicate=False) +env.StaticLibrary(f'{core_dir}/lib/spatialpy-core', core) +env.StaticLibrary(f'{core_dir}/lib/ANN', ann) env.Program('ssa_sdpd', model, LIBS=['spatialpy-core', 'ANN']) diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/external/ANN/src/SConscript b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/external/ANN/src/SConscript index 07c74d22..8354d4c0 100644 --- a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/external/ANN/src/SConscript +++ b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/external/ANN/src/SConscript @@ -1,5 +1,5 @@ Import('env') -env.StaticLibrary('ANN', [ +libANN = env.Object([ 'ANN.cpp', 'brute.cpp', 'kd_tree.cpp', @@ -15,3 +15,4 @@ env.StaticLibrary('ANN', [ 'bd_fix_rad_search.cpp', 'perf.cpp' ]) +Return('libANN') diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript index e06ceb57..77f1f019 100644 --- a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript +++ b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript @@ -1,5 +1,5 @@ Import('env') -env.StaticLibrary('spatialpy-core', [ +libspatialpy_core = env.Object([ 'count_cores.c', 'model.c', 'NRMConstant_v5.cpp', @@ -11,3 +11,4 @@ env.StaticLibrary('spatialpy-core', [ 'simulate_rdme.cpp', 'simulate_threads.c' ]) +Return('libspatialpy_core') diff --git a/spatialpy/solvers/solver.py b/spatialpy/solvers/solver.py index 0b4cc337..c3c544b0 100644 --- a/spatialpy/solvers/solver.py +++ b/spatialpy/solvers/solver.py @@ -23,6 +23,7 @@ import time import getpass import re +import sys import numpy @@ -460,7 +461,7 @@ def compile(self, debug=False, profile=False): # Match except word characters \w = ([a-zA-Z0-9_]) and \_ = _ replace with '' propfilename = re.sub(r'[^\w\_]', '', self.model_name) self.propfilename = f"{propfilename}_generated_model" - self.prop_file_name = os.path.join(self.build_dir, f'{self.propfilename}.c') + self.prop_file_name = os.path.join(self.build_dir, f'{self.propfilename}.cpp') if self.debug_level >= 1: print(f"Compiling Solver. Build dir: {self.build_dir}") @@ -470,51 +471,35 @@ def compile(self, debug=False, profile=False): self.__create_propensity_file(stoich_matrix, dep_graph, file_name=self.prop_file_name) # Build the solver - for make_exe_location in ["make", "mingw32-make"]: - make_exe = shutil.which("make") - if make_exe is not None: - break - if make_exe is None: - raise SimulationError("Make executable could not be found") - makefile = self.spatialpy_rootdir+'/build/Makefile' - makefile_ann = self.spatialpy_rootdir+'/external/ANN/src/Makefile.spatialpy' - - cmd_ann = [ - make_exe, '-d', '-C', self.core_dir, '-f', makefile_ann, - f'ROOTINC={self.spatialpy_rootinc}', - ] - cmd_core = [ - make_exe, '-d', '-C', self.core_dir, 'CORE', '-f', makefile, + makefile = self.spatialpy_rootdir+'/build/SConstruct' + make_cmd = [ + sys.executable, "-m", "SCons", f"-C{self.build_dir}", f"-f{makefile}", f'ROOT={self.spatialpy_rootparam}', f'ROOTINC={self.spatialpy_rootinc}', - f'BUILD={self.core_dir}', - ] - cmd_build = [ - make_exe, '-d', '-C', self.build_dir, '-I', self.core_dir, '-f', makefile, - 'ROOT=' + self.spatialpy_rootparam, - 'ROOTINC=' + self.spatialpy_rootinc, - 'COREDIR=' + self.core_dir, - 'MODEL=' + self.prop_file_name, 'BUILD='+self.build_dir + f'COREDIR={self.core_dir}', + f'MODEL={self.prop_file_name}', + f'BUILD={self.build_dir}', ] if profile: - cmd_build.append('GPROFFLAG=-pg') + # TODO: add profile/debug targets to SConstruct file + make_cmd.append('GPROFFLAG=-pg') if profile or debug: - cmd_build.append('GDB_FLAG=-g') + make_cmd.append('GDB_FLAG=-g') if self.debug_level > 1: - cmd = " && ".join([*cmd_ann, *cmd_core, *cmd_build]) + cmd = " ".join(make_cmd) print(f"cmd: {cmd}\n") try: - for cmd_target in [cmd_ann, cmd_core, cmd_build]: - result = subprocess.check_output(cmd_target, stderr=subprocess.STDOUT) - if self.debug_level > 1: - print(result.stdout.decode("utf-8")) + result = subprocess.check_output(make_cmd, stderr=subprocess.STDOUT) + if self.debug_level > 1: + print(result) except subprocess.CalledProcessError as err: try: print(err.stdout.decode("utf-8")) except Exception: pass - raise SimulationError(f"Compilation of solver failed, return_code={result.return_code}") + raise SimulationError(f"Compilation of solver failed, return_code={err.returncode}") except OSError as err: + cmd = " ".join(make_cmd) print(f"Error, execution of compilation raised an exception: {err}") print(f"cmd = {cmd}") raise SimulationError("Compilation of solver failed") from err From 79503f08e20d307ea8a4c6ef239d20c90bbeb2f1 Mon Sep 17 00:00:00 2001 From: BryanRumsey <44621966+BryanRumsey@users.noreply.github.com> Date: Mon, 16 Jan 2023 15:49:52 -0500 Subject: [PATCH 10/30] Testing plotly fix --- spatialpy/core/domain.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spatialpy/core/domain.py b/spatialpy/core/domain.py index 81ea1f27..f7afc481 100644 --- a/spatialpy/core/domain.py +++ b/spatialpy/core/domain.py @@ -1035,7 +1035,8 @@ def plot_types(self, width=None, height=None, colormap=None, size=None, title=No if return_plotly_figure: return fig - init_notebook_mode(connected=True) + # init_notebook_mode(connected=True) + init_notebook_mode() iplot(fig) return From 967786974295700adea2e7bfb88c5a114cb1a572 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 17 Jan 2023 18:46:57 +0000 Subject: [PATCH 11/30] Latest docs build. --- docs/build/html/.doctrees/environment.pickle | Bin 748960 -> 748960 bytes docs/build/html/_modules/index.html | 2 +- .../spatialpy/core/boundarycondition.html | 2 +- .../html/_modules/spatialpy/core/cleanup.html | 2 +- .../_modules/spatialpy/core/datafunction.html | 2 +- .../html/_modules/spatialpy/core/domain.html | 5 +++-- .../_modules/spatialpy/core/geometry.html | 2 +- .../spatialpy/core/initialcondition.html | 2 +- .../html/_modules/spatialpy/core/lattice.html | 6 +++--- .../html/_modules/spatialpy/core/model.html | 2 +- .../_modules/spatialpy/core/parameter.html | 2 +- .../_modules/spatialpy/core/reaction.html | 2 +- .../html/_modules/spatialpy/core/result.html | 2 +- .../spatialpy/core/spatialpyerror.html | 2 +- .../html/_modules/spatialpy/core/species.html | 2 +- .../_modules/spatialpy/core/timespan.html | 2 +- .../spatialpy/core/transformation.html | 2 +- .../spatialpy/core/visualization.html | 2 +- .../_modules/spatialpy/core/vtkreader.html | 2 +- .../spatialpy/solvers/build_expression.html | 2 +- .../_modules/spatialpy/solvers/solver.html | 4 ++-- .../spatialpy/stochss/stochss_export.html | 2 +- docs/build/html/_static/alabaster.css | 4 +++- docs/build/html/classes/spatialpy.core.html | 2 +- docs/build/html/classes/spatialpy.html | 2 +- .../build/html/classes/spatialpy.solvers.html | 2 +- .../build/html/classes/spatialpy.stochss.html | 2 +- docs/build/html/genindex.html | 2 +- docs/build/html/index.html | 2 +- docs/build/html/py-modindex.html | 2 +- docs/build/html/search.html | 2 +- 31 files changed, 37 insertions(+), 34 deletions(-) diff --git a/docs/build/html/.doctrees/environment.pickle b/docs/build/html/.doctrees/environment.pickle index 3ca15241aa0748bbf3c1170138f3ac636dc6d6fd..822a77a17ac0cee91f3c7044dafa692347b7cd7d 100644 GIT binary patch literal 748960 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

    pNI&P08y^*l4i6J-8)qYt%ZN8g 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 literal 748960 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%0A)I~f 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 z

    M^aqBD1p=hwZLxlp}U=jdD;PCb3eAS3Zyo@b5awNRX=!om2pEoDtvur0($)Gf& z*g~8$?&E7n1mu%!$&mx%EhU~lUK`H-(VUIP*#4oiK`A93<1iM#*0 zDJ7_L*U(tK)OdKZ0z`CYc=B|@@B|r%@mR`Nkch`3w&ck1Sn9!}IV#bx*kz8zMQqjw$gM-tqYcw1-r=iAn4V4CTtcDK_j$IgrGG8wu z3`Mr&$YEIQfx&+S@>X*e{+;a^Dhud@P#+coM<4&jSBr?k>)4VbM`4{pVbH1)mrNcu z=i=*ZH&MAj&&X@#qK%C>UwoCXBN37>u_Z?iiM@~4aiFJ5*Qc|dGUww-wuh*EwB5(+ zZyrYDZ+!KLX#5{ra^z?n>&+jiOV{x@ahdTrWFv^^&Nu`;#LzE&U=uMS$MIDpBC?Jx zIdVkoIZx;EYIf{88qYRI<8rolsF|bfoF_I7Be9RK8WD+0*^(ni!rt`n_|0kCbs}yt zC*nnH=TM1gyXhZUhJm<|uNe`D>)Dbc2f`knI&SkHl6=SQC$l9-4n#}OAl&BPGYp#JkYc-rio=LKLyKJ)h6G#h{4C$k|W2UrDgOl43C*p@LRT9s1%IYG6pVg{fe&>5rUty zB}Wc{oeRoV#VQY3sdxeI7_N9u5n8drc;K)UM0981&~}wmGs^b$Llef0%T~ny7V*_0 zf-s*gIdTx}(}&76{V<7(%;UeE?G9=dXnXn)*n&&I1$^ioN!uORffiywUdPvv2*|71k|PIXjauY(-DkI7zIc4y9FMQET|~tLJzTYQg*(7L z49A!F`Vryy54PmU;jm{ODlp)zW}v^US|xoQ^GS0g{>F9;6^XVp4<4&92>-{|iU`90 zvL#0jg1zHf=7vNro=n3DMM*fI$UEZLxYBsUaU6)~&WNM!E(agOY@fTMj&*$1h(PqP zB}Wd#Tvaw?RwyO(p~vOsAnarNgqjrAx4R?5F$m{_OZf^B!+$Yba^&H+^Fgfy;|@!; z3Z+ES(uN!_GRNRXwr{8yw7mmEHw@!&Jzp^*4%f0J2jCFmxN-Nya&^3N2odgy<-b)Y zG=C1JY&PE1xW3Vw&B9;PN3sXuj{}X4pTj)YI$SE2t8x3GG8&AZGKcZw?8s1I49H1d zgD`~m@)aUN_#w7r1fdFl2!dP))iLcMM7R)k>)8A?+Ohe~akbyk`F~=wM+K)R;OP9O zIvAQigbl5G7W40` zl2I~0C9DWHnJdhUlKC`qEmZ0<(xO`>WwlmPoHc&GigFWpg7-)PYDHNSP*EIhFt|5_ zjfz`Pu9G78DX8-WW$Ir0%w11Cc?;X!_7&tlk>yQnFHs}5R<9>csA5f9P&Ii2UmIew zd2Rbp_69Zw9WN(~9rNXZv!!w|RZHr-Yrke5*st(iNh~O6qcsX_t7Z7Ye2}jhG00zF zOGXvt0V!hiXjtN*L3%QQHd{XdO7YSvy3QYGyM}t5qZv$p930ay4}amSM&#j7Y{`-H zu)yV^P$*Vm9!u*rdsiE?umMDLXAFV%&-k!ln}sG z==nUCnS-#G?H6iNK>MsQ2u-^%377EoB9gG1Eje-$7Bxw*?}LV&HCj%1p*adKU^|A2 z0-DjrD7c1U7M{;njL5<;TXN(q^fp;=cMd=YS+WY1Om#TuNnYn0NAZB@**Cw&ci(S>_T0+a(gJ_~M7X{lFZNN7&AxB7)8_#2G~FnsAN7OnjHG z9Fd7{u_Z^�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�)u*OgOkRoGN?uu?8gs`VAD{ZA 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

    ^qq=0d>3+d8k0u59W+5q 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 BM)m*z diff --git a/docs/build/html/_modules/index.html b/docs/build/html/_modules/index.html index d2f26958..3516536c 100644 --- a/docs/build/html/_modules/index.html +++ b/docs/build/html/_modules/index.html @@ -131,7 +131,7 @@

    All modules for which code is available

    | Powered by Sphinx 5.3.0 - & Alabaster 0.7.12 + & Alabaster 0.7.13
    diff --git a/docs/build/html/_modules/spatialpy/core/boundarycondition.html b/docs/build/html/_modules/spatialpy/core/boundarycondition.html index c5979198..b8d2dbf6 100644 --- a/docs/build/html/_modules/spatialpy/core/boundarycondition.html +++ b/docs/build/html/_modules/spatialpy/core/boundarycondition.html @@ -280,7 +280,7 @@

    Source code for spatialpy.core.boundarycondition

    diff --git a/docs/build/html/_modules/spatialpy/core/cleanup.html b/docs/build/html/_modules/spatialpy/core/cleanup.html index cc7da355..f60c8bdc 100644 --- a/docs/build/html/_modules/spatialpy/core/cleanup.html +++ b/docs/build/html/_modules/spatialpy/core/cleanup.html @@ -200,7 +200,7 @@

    Source code for spatialpy.core.cleanup

    diff --git a/docs/build/html/_modules/spatialpy/core/datafunction.html b/docs/build/html/_modules/spatialpy/core/datafunction.html index bd19185f..6cdca446 100644 --- a/docs/build/html/_modules/spatialpy/core/datafunction.html +++ b/docs/build/html/_modules/spatialpy/core/datafunction.html @@ -160,7 +160,7 @@

    Source code for spatialpy.core.datafunction

    diff --git a/docs/build/html/_modules/spatialpy/core/domain.html b/docs/build/html/_modules/spatialpy/core/domain.html index 8de35b83..62c84b9a 100644 --- a/docs/build/html/_modules/spatialpy/core/domain.html +++ b/docs/build/html/_modules/spatialpy/core/domain.html @@ -1130,7 +1130,8 @@

    Source code for spatialpy.core.domain

     
             if return_plotly_figure:
                 return fig
    -        init_notebook_mode(connected=True)
    +        # init_notebook_mode(connected=True)
    +        init_notebook_mode()
             iplot(fig)
             return
    @@ -1385,7 +1386,7 @@

    Source code for spatialpy.core.domain

    diff --git a/docs/build/html/_modules/spatialpy/core/geometry.html b/docs/build/html/_modules/spatialpy/core/geometry.html index 99281eed..3a91aab5 100644 --- a/docs/build/html/_modules/spatialpy/core/geometry.html +++ b/docs/build/html/_modules/spatialpy/core/geometry.html @@ -261,7 +261,7 @@

    Source code for spatialpy.core.geometry

    diff --git a/docs/build/html/_modules/spatialpy/core/initialcondition.html b/docs/build/html/_modules/spatialpy/core/initialcondition.html index 24699f21..edbc4c1d 100644 --- a/docs/build/html/_modules/spatialpy/core/initialcondition.html +++ b/docs/build/html/_modules/spatialpy/core/initialcondition.html @@ -310,7 +310,7 @@

    Source code for spatialpy.core.initialcondition

    diff --git a/docs/build/html/_modules/spatialpy/core/lattice.html b/docs/build/html/_modules/spatialpy/core/lattice.html index 66f7b2d3..a0ad09d0 100644 --- a/docs/build/html/_modules/spatialpy/core/lattice.html +++ b/docs/build/html/_modules/spatialpy/core/lattice.html @@ -643,7 +643,7 @@

    Source code for spatialpy.core.lattice

     
                         if self.type_ids is not None:
                             type_id = self.type_ids[type_id]
    -                    type_ids[int(ndx)] = f"type_{type_id}"
    +                    type_ids[int(ndx)] = type_id
                     except ValueError as err:
                         errmsg = f"Could not read in subdomain file, error on line {lnum}: {line}"
                         raise LatticeError(errmsg) from err
    @@ -780,7 +780,7 @@ 

    Source code for spatialpy.core.lattice

     
                         if self.type_ids is not None:
                             type_id = self.type_ids[type_id]
    -                    type_ids[int(ndx)] = f"type_{type_id}"
    +                    type_ids[int(ndx)] = type_id
                     except ValueError as err:
                         errmsg = f"Could not read in subdomain file, error on line {lnum}: {line}"
                         raise LatticeError(errmsg) from err
    @@ -987,7 +987,7 @@ 

    Source code for spatialpy.core.lattice

    diff --git a/docs/build/html/_modules/spatialpy/core/model.html b/docs/build/html/_modules/spatialpy/core/model.html index 855f5162..5070aa91 100644 --- a/docs/build/html/_modules/spatialpy/core/model.html +++ b/docs/build/html/_modules/spatialpy/core/model.html @@ -1169,7 +1169,7 @@

    Source code for spatialpy.core.model

    diff --git a/docs/build/html/_modules/spatialpy/core/parameter.html b/docs/build/html/_modules/spatialpy/core/parameter.html index 2055186f..829c1b09 100644 --- a/docs/build/html/_modules/spatialpy/core/parameter.html +++ b/docs/build/html/_modules/spatialpy/core/parameter.html @@ -222,7 +222,7 @@

    Source code for spatialpy.core.parameter

    diff --git a/docs/build/html/_modules/spatialpy/core/reaction.html b/docs/build/html/_modules/spatialpy/core/reaction.html index b25e76b8..b9d7a10d 100644 --- a/docs/build/html/_modules/spatialpy/core/reaction.html +++ b/docs/build/html/_modules/spatialpy/core/reaction.html @@ -805,7 +805,7 @@

    Source code for spatialpy.core.reaction

    diff --git a/docs/build/html/_modules/spatialpy/core/result.html b/docs/build/html/_modules/spatialpy/core/result.html index 5b710f91..749cb884 100644 --- a/docs/build/html/_modules/spatialpy/core/result.html +++ b/docs/build/html/_modules/spatialpy/core/result.html @@ -1044,7 +1044,7 @@

    Source code for spatialpy.core.result

    diff --git a/docs/build/html/_modules/spatialpy/core/spatialpyerror.html b/docs/build/html/_modules/spatialpy/core/spatialpyerror.html index ff55b286..c39504ce 100644 --- a/docs/build/html/_modules/spatialpy/core/spatialpyerror.html +++ b/docs/build/html/_modules/spatialpy/core/spatialpyerror.html @@ -231,7 +231,7 @@

    Source code for spatialpy.core.spatialpyerror

    Sphinx 5.3.0 - & Alabaster 0.7.12 + & Alabaster 0.7.13
    diff --git a/docs/build/html/_modules/spatialpy/core/species.html b/docs/build/html/_modules/spatialpy/core/species.html index 3b5a89c6..9f2ac3b1 100644 --- a/docs/build/html/_modules/spatialpy/core/species.html +++ b/docs/build/html/_modules/spatialpy/core/species.html @@ -220,7 +220,7 @@

    Source code for spatialpy.core.species

    diff --git a/docs/build/html/_modules/spatialpy/core/timespan.html b/docs/build/html/_modules/spatialpy/core/timespan.html index 5fef7033..2562da6c 100644 --- a/docs/build/html/_modules/spatialpy/core/timespan.html +++ b/docs/build/html/_modules/spatialpy/core/timespan.html @@ -325,7 +325,7 @@

    Source code for spatialpy.core.timespan

    diff --git a/docs/build/html/_modules/spatialpy/core/transformation.html b/docs/build/html/_modules/spatialpy/core/transformation.html index 173718e6..9908df8c 100644 --- a/docs/build/html/_modules/spatialpy/core/transformation.html +++ b/docs/build/html/_modules/spatialpy/core/transformation.html @@ -684,7 +684,7 @@

    Source code for spatialpy.core.transformation

    Sphinx 5.3.0 - & Alabaster 0.7.12 + & Alabaster 0.7.13
    diff --git a/docs/build/html/_modules/spatialpy/core/visualization.html b/docs/build/html/_modules/spatialpy/core/visualization.html index 866d775c..75d4e271 100644 --- a/docs/build/html/_modules/spatialpy/core/visualization.html +++ b/docs/build/html/_modules/spatialpy/core/visualization.html @@ -297,7 +297,7 @@

    Source code for spatialpy.core.visualization

    Sphinx 5.3.0
    -      & Alabaster 0.7.12
    +      & Alabaster 0.7.13
           
         
    diff --git a/docs/build/html/_modules/spatialpy/core/vtkreader.html b/docs/build/html/_modules/spatialpy/core/vtkreader.html index 68f08c44..157f5219 100644 --- a/docs/build/html/_modules/spatialpy/core/vtkreader.html +++ b/docs/build/html/_modules/spatialpy/core/vtkreader.html @@ -307,7 +307,7 @@

    Source code for spatialpy.core.vtkreader

    diff --git a/docs/build/html/_modules/spatialpy/solvers/build_expression.html b/docs/build/html/_modules/spatialpy/solvers/build_expression.html index 86525ec6..3fe2bd35 100644 --- a/docs/build/html/_modules/spatialpy/solvers/build_expression.html +++ b/docs/build/html/_modules/spatialpy/solvers/build_expression.html @@ -866,7 +866,7 @@

    Source code for spatialpy.solvers.build_expression

    Sphinx 5.3.0 - & Alabaster 0.7.12 + & Alabaster 0.7.13
    diff --git a/docs/build/html/_modules/spatialpy/solvers/solver.html b/docs/build/html/_modules/spatialpy/solvers/solver.html index 6fdbddd1..477940fd 100644 --- a/docs/build/html/_modules/spatialpy/solvers/solver.html +++ b/docs/build/html/_modules/spatialpy/solvers/solver.html @@ -555,7 +555,7 @@

    Source code for spatialpy.solvers.solver

             # Match except word characters \w = ([a-zA-Z0-9_]) and \_ = _ replace with ''
             propfilename = re.sub(r'[^\w\_]', '', self.model_name)
             self.propfilename = f"{propfilename}_generated_model"
    -        self.prop_file_name = os.path.join(self.build_dir, f'{self.propfilename}.c')
    +        self.prop_file_name = os.path.join(self.build_dir, f'{self.propfilename}.cpp')
     
             if self.debug_level >= 1:
                 print(f"Compiling Solver.  Build dir: {self.build_dir}")
    @@ -738,7 +738,7 @@ 

    Source code for spatialpy.solvers.solver

    diff --git a/docs/build/html/_modules/spatialpy/stochss/stochss_export.html b/docs/build/html/_modules/spatialpy/stochss/stochss_export.html index e0a09da4..c9502948 100644 --- a/docs/build/html/_modules/spatialpy/stochss/stochss_export.html +++ b/docs/build/html/_modules/spatialpy/stochss/stochss_export.html @@ -369,7 +369,7 @@

    Source code for spatialpy.stochss.stochss_export

    diff --git a/docs/build/html/_static/alabaster.css b/docs/build/html/_static/alabaster.css index 3d5e6213..be920e36 100644 --- a/docs/build/html/_static/alabaster.css +++ b/docs/build/html/_static/alabaster.css @@ -419,7 +419,9 @@ table.footnote td { } dl { - margin: 0; + margin-left: 0; + margin-right: 0; + margin-top: 0; padding: 0; } diff --git a/docs/build/html/classes/spatialpy.core.html b/docs/build/html/classes/spatialpy.core.html index c542d9ed..a1655d92 100644 --- a/docs/build/html/classes/spatialpy.core.html +++ b/docs/build/html/classes/spatialpy.core.html @@ -6475,7 +6475,7 @@

    SubmodulesSphinx 5.3.0 - & Alabaster 0.7.12 + & Alabaster 0.7.13 | SubpackagesSphinx 5.3.0 - & Alabaster 0.7.12 + & Alabaster 0.7.13 | SubmodulesSphinx 5.3.0 - & Alabaster 0.7.12 + & Alabaster 0.7.13 | SubmodulesSphinx 5.3.0 - & Alabaster 0.7.12 + & Alabaster 0.7.13 | X

    | Powered by Sphinx 5.3.0 - & Alabaster 0.7.12 + & Alabaster 0.7.13
    diff --git a/docs/build/html/index.html b/docs/build/html/index.html index 7b269c95..f94625f5 100644 --- a/docs/build/html/index.html +++ b/docs/build/html/index.html @@ -160,7 +160,7 @@

    Indices and tablesSphinx 5.3.0 - & Alabaster 0.7.12 + & Alabaster 0.7.13 | Python Module Index

    | Powered by Sphinx 5.3.0 - & Alabaster 0.7.12 + & Alabaster 0.7.13
    diff --git a/docs/build/html/search.html b/docs/build/html/search.html index ae573992..2f522b1e 100644 --- a/docs/build/html/search.html +++ b/docs/build/html/search.html @@ -135,7 +135,7 @@

    Search

    | Powered by Sphinx 5.3.0 - & Alabaster 0.7.12 + & Alabaster 0.7.13
    From f2457380f8ad8ce97d4542f72982349247affa61 Mon Sep 17 00:00:00 2001 From: BryanRumsey <44621966+BryanRumsey@users.noreply.github.com> Date: Tue, 17 Jan 2023 13:47:16 -0500 Subject: [PATCH 12/30] Update __version__.py --- spatialpy/__version__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spatialpy/__version__.py b/spatialpy/__version__.py index 8bcd3576..9d043308 100644 --- a/spatialpy/__version__.py +++ b/spatialpy/__version__.py @@ -21,7 +21,7 @@ # @website https://github.com/StochSS/SpatialPy # ============================================================================= -__version__ = '1.1.3' +__version__ = '1.2.0' __title__ = 'SpatialPy' __description__ = 'Python Interface for Spatial Stochastic Biochemical Simulations' __url__ = 'https://spatialpy.github.io/SpatialPy/' From 869fa75d0976f51234d87ff18c12e9473d83c1c2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 17 Jan 2023 18:47:31 +0000 Subject: [PATCH 13/30] Latest docs build. --- docs/build/html/.buildinfo | 2 +- docs/build/html/.doctrees/environment.pickle | Bin 748960 -> 748973 bytes docs/build/html/.doctrees/index.doctree | Bin 14685 -> 14685 bytes docs/build/html/_modules/index.html | 2 +- .../html/_static/documentation_options.js | 2 +- docs/build/html/classes/spatialpy.core.html | 2 +- docs/build/html/classes/spatialpy.html | 8 ++++---- .../build/html/classes/spatialpy.solvers.html | 2 +- .../build/html/classes/spatialpy.stochss.html | 2 +- docs/build/html/genindex.html | 2 +- docs/build/html/index.html | 4 ++-- docs/build/html/objects.inv | Bin 3153 -> 3153 bytes docs/build/html/py-modindex.html | 2 +- docs/build/html/search.html | 2 +- docs/build/html/searchindex.js | 2 +- 15 files changed, 16 insertions(+), 16 deletions(-) diff --git a/docs/build/html/.buildinfo b/docs/build/html/.buildinfo index 63c4d090..8287e0c2 100644 --- a/docs/build/html/.buildinfo +++ b/docs/build/html/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: e5e88807fc7e6c4271ba5004764bfed7 +config: e12fa66f30479b44f49efa882ed90e3f tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/build/html/.doctrees/environment.pickle b/docs/build/html/.doctrees/environment.pickle index 822a77a17ac0cee91f3c7044dafa692347b7cd7d..2a69e63fcab32f3a68e94b875e8bfec7e9f324d5 100644 GIT binary patch literal 748973 zcmdpCi3JOmC*rd_d&8$spC~B5^ZkBjc6PpJX74%k-Mw@D@drt^oIT|;=bUeu z@7z4`o*Cng8z=s&&##oynZl8nRT#>Yi-o*Zs5a_zFREp7sqHNC3$N)`(PnZZVVmTiRd@5x)$8%?dJ6^E>HIg_#~U_^aV z#j4h%71oieRj6c&g-YWf7}s>hk!mbas}@1QMtyJ@m%_RzhwZtHNf4l`BpHeCpvsMy3KCS66_@2vQmhuTPIRUuz`5o5fl=X~iqGfq~2s z_<>|Gmjf-Oo9Z(zE2pfomD-j8y}`lz8uf{>a;4hXQ>jnSOH1R@Z<8{Glm%a(YaL1E zYAH+n8o0rB_2jrD0jxccuI2kHu~a|&J+^Ise1ElAw!m4lOT&W#$4b0X9nM(*-CThU z{0q=ZHg%t3zW|EQ6Yr<3TqzD7w+e|oSUt1pSgF)(Vfc|a_(X~pG|W*i!P_G4uzGSC_#c3rEN4pM_j`&1JvK%$ zxDqbSRFYN>IJ1hiiqvGfRjT#JtC=eJFukfiU;fjH$v`G2HLTC5Sc!5n9TP4Dt>#Eq zSJU98rl&9JE0(HoeFDs>YO$D0CX#8ZZ|^W*Sm-+~c4q9<)BBE`@zlOtroXQwUxgR@ zDw(Rasgy__lD1Fl#?my!oUNR=~%#6WIH4S>#Dsbi0rvMbm^nT#mdA)3v ziVg6|EI`ys#Vc@a_b1?!6RYJKgngF%_5Os&NsaWg>l1UuLAV|lXYzw?PKt{cW2FM* zkm=Q8Et!sIAcy#WsxkzhnqNs5569t}f**_b7pv7`UI?EKQ8^S(i!1{?lxpP?IJ-VC znUEI62a1I%sCXT`Hu2QcPub9@)n`k)la)%m8G@7GUwutV;?2YnPu42%JDKYwZug{hNZ~dk8p&J|G^RuK5*%lRM z6>53NsGx8;pQy@&Kc%8BeelqJ^|zi4B4fkHYH*#_r(B#FjLDZKRTKTf?5PLDpYo;Y zB3W+g&lQu0;QPBXm1?FiDBh{nm)i*z^i5k}hTy+aEyMdl>B&QhTn)$s6w)h!+6hpf z8heg5(mik`JRkm2pJziKZ^@S9z`w#K`N`GkHR;>MSB_7wlV3@%Pj67)odmu~z;$?3 z{d1c9XM7+JNlblmd3uFbeo6g!)fhs9Kl0G%PS$%e{!%0h8u8%+I zB*(IuDQh56%T?oLsBN}i>Pr);6zE!z#Q+jR8S-=5sz9J_x21{?sG*Q%UFdxoA~y(?)qZobNe7iyrUC^!2a2bQIq1_I^6Rr?6=?QF z=~d~YGMw^dr)S)8;Z!*)7+0StUKe?%ZnqDj6KG^7!>B?2PrRc#3DqOGSBUd=dT)A_ z^Y{7;`7`Qbgx06|y3)!qyOCbed`DF+P$HM9Kz(Tal3mc8#<-DQ)BM&P`8&`H6snnl zjO-k0g+qnn;eyg#sI7FVK<^?fTGDFKRQdH1z08Kpc00)D4z_r|pEsrJ<#ktk8q z9dps)osH?T~0XNwt8cc5)GrOc&(Iz zp$k-B*`>&$p!zqv^%W_k^-EBQ!K1}OB4-anoVOQ9nW_wkU}lmscS(urJyF9;7Ic83 zs|6Sq+M`-06{$f&eSsKxL8k|Kyi~SpyBHDPV(X!-Y7un1(r=+uz)~cnNXt|t@aFXl@ZS&OV3tA57oS+qg{#=wXX`Dh& zm0wX^o!Nl#u^#)&ws+;Y(QTu=mZ~@1>Y!w+pLMKELW=+i{-|sn?5K#QJEc+>sO1Jt znJUVdXg{1ltdy=3V+}df5Z|y0MQ7q5`&7vBtv@VV0B9M-JVx0mefDQBJgv{FoZbhq*p$!b zHYJ5_@L}6&vSSevb)U?3e#*|gqTG+arWa<4uG!eIl={str!o~N^24$x7=O*P#D@+# zA8HB$AVia62gLdAX6P{eUO!EL-5H?RbO0Bx66JHQ^ST%bi3H=kG1GaYCJN{=_38P} zi(<5APx;sdY@A)Q16HwqW+eL zQ56)1TrFP!H_6Y~b5P%vDt5X)7UH?i=lo%xnFK8uG#j zMt-~Ht!gF@b9G`!p}!+$(nSluYZ7`ZQAk4TB9gWI(o*-A>~~y;)W<)2Eez`A=T^F( zD+Ab&DDzNE9SwF|SpJOc|K*3%+tU}TZ_N^OnJz>&o6E(k`NSb8eu_#lNdkW>LdCK_ zvY-N_<}6j%)C^svk-gGM$LXi1cd1{P4;Pu71ogRo<~r}SOxmh%Eq31Vr@uL~>Z)F! z>P#EhAzI{!D8K})RZV1aFb7<7^k3?{n=BV$)ZUzFX!>3J1kCIy`;+MeM5I3Dr1Li2 zbo^7EW2dlL@*@T7Ft{EXt@^}T0mk(zy)BUMiFT`5XPd)Fp_vqIk8VBnR}LhnAA#9$ zm?x;h6ri0`=Op8qR2=5nWvdN82eiu1&KDErQ1blVo12WQ*7J}x49KO_P;&}&e}jdD zFi8HbH~_l$!?Z8FAWA|`Oo~qvgN#f;G%59|VyIuOm0^H7%buf$YZV62FlkUtm*Lug z*;c6QP^Y9yvy=AR7nl$qIt_d-UtXG&vmi_UuiIgx;e!$la z3&mS)90Bh_4^bNgO^b(MtmSYlzNX%gEQysb=e=cO(y|1zyWlLa-h#D<pC#jC?5XOhgeeG%Xfmy2A%s1;K79GaN5pVoXw4$2oa{|Pl! zeh^CTp6ved4@l@~L6-uIWd-<92e+{uB* znj)6DAIWD5Q1Hw7c+M&eLfUqn)8adrRxc^yVdlYcUW<-uvR6z?IB(8ze?hIN)Mq!1 z?YRU3=eli$`%%%E3P9lE6f+ZWy}IhO1flscHFI~+m9^NFC2fa(Ty>;#`f8POUw@|1 zm(J9x85k`)nzp#BDOY`GUh_N78}7Gy+#iA-QBXXnRLN_m2auQ-D^~i)oZ0r4VS!9$D;zoSvub(7O*Kx|ch!P* z78o>@U{b?P{n9F-w8%HG)(>yhr@8tlb=NyT)BI5Dj80tj#9{ifT!#K$<@)r^cFtesd<;qfd}0U|WYp?JbAD@% zvovqp@3d13o3F!yu$Zh6vrSI!?rFX`08893@K(Nq+^hoJtn-lA8r;4^f8#Y9}>OV$e*l~tR!r@K%ZRS zlqpJ3A_eOUa%xCSjYH{Ah+^J!2hxa zlFg6B9V%^+npZRQuQ1H39v;*fs-S(ABC`Q}A+n zF$@-$!rPOTyvDAxYxRY8u*Fn40HLOM8^`MNJ+H%b9s~#$kZsjqPOv@|{3B-AMUL*R z&lU+)j1}PWkehtQLjzf#CD#m~`Aw+R3# zEC3q^Y8b>9mO|1i>NBOtxU^hN0~5oB#Ufk3N_Eo%64~LD>Ghf7Mt$L9mG5L?jv%MbVjaL|HnpVjiPe1Ew| zMfnS2EiV`JWijaliU#^I3ELJ6wUYe0kDFz$V~LE?xJyEBj$nrf+Z}3~T+1HIK2Lmm zJ$`jA47n5sO@Qc!#dc5WCMw(4gwoKnk*}|mD^_#EeZ_$RF|XzPDb?5(N_@5gy9nhn zl?~jEP-0sBnCMSRg?ug%pKJN*P`~H(N+p>o4Lez|?@&ri6iF3)2<}Rv@G&(^Ht@OF zJy3QxTlhGuH5>RSH&Qb3WD8LgMYibiy|O%ZGA_O_o_DThx6Iuoi?q!5(zN&X&~^U=Pn)_@5}>^;xh4DyC)=xx~GjPqe!L`JKtKVUmrc>^@{`C1#&0v4WWCf}w%@1hfeDT?5m~iNp5NeEMj8 zYBCKs0l;iDOiyPmDgFS=GKnT*UX#`yd(SX*8RE_Z*i|cc8#c0O_(G*0HWIf?bBmUC zLPpM9!|b#gR)BDr{E>SQ;cru6>x}ykF-HsiqL?J9)u&VwFn2390}X)aTE8qO*+KZb z(mtDozow6755XUxZ~^|PFK+572Sb{&*$R9ndkg#z6wOxQPtm9i!JqK`BkGUq)E_sf zKW>tL)Ur3jpN<-W(-G8w0g7GfV>U~^n!FgKnrI>#M}{T}L0?T?ZK#Q8S_3udRk2yQ zt#yBX4|Hrj`<0va4)@qNsR+GIYNNho-yWf8Ykk`a8^9WD3opXtv)Gm7UM!Mdg_ruuh#0z)|a+MVZY2NC_>U^!7r2Ygv6Gp#x93i_D5U;-~}dZl4cIOY zO4Q1khDt}%)yjaprqf65i|Rq)Sb1H3SvWS#b@@P3#OI}m?0xWuUykU_elGBxF9p1l z{aVl)(tk7d*ZS>@Sn)9YD15Ceo~zGX2V>*rZz4DT7Jk^!jlYs20^OMXBD@djS>0+D zgcm)%x-~?Mnd?(vs!Z-fKiKHq6FALv8%(D8&2ZVXSV3>A90<2rSoN89?RB~fAM&|IhS+=a^3scqdFw8yd z8VC2V$XuhQ8DYUaiT9#>X}A1VpCO8)^ONXuyvy8& zFA6Kdy%6qDVF*fty0ukyB3OGlph1s!fEq^VV&%<{yyd8 zQOOswshouiG;l`OTIa9Y?ThTW@vY58qSlekBkW+?kGG zPg^$eM>STB+il5i#J?dW2WGdx3K8OR`#$`X-vC1m zSyv-B#M~L--i@BiZ_*@gdx9c99z^hZJ8Hzw4-xSeQ}K2EWY>cK1Y5H0M>j41EvyK) zOHv3Lbx9AJYoSt~krv%5QLD5RV$UD@6{a2RD}##l>VU#zD}%A!#=gQ(a@rzA1SY4B zwqEVC6YLO>D|qUz4|VsWmXxw=*Q2B~$aWbudQZ`llCuWkV;2r(imw;3{3O_tQ3iUp z6ft^*YN6vYu`KLM!plJ;-sl;T&|v$8O2SDak>HwzL3jyYEg}dnW=oD71lUWaa)R0! z;)}xP%~AL)+cQ)YP96z`R>Lq1_wf}Y!te>UF2VfAQt8?2^)r5o);Wo+LY7CFp8pGDDR({>#iIcg7i3-rV zfbOtWBaF^^(1$k&vjgmoU)M?zfh}TSTM%ZxsC|n#a~o_kxY#~U$TM7hI@|5GneGI| z4z{PLkwce$Ysg|An{2Jz#m8-Yt%#TYmXKlX__W0QRu9DTiISGqtLCx2mhVO1b3;AJL=bi%iV6 z1C@|(@iif)m~XTX;wVlYEmg+H#J%w_G=N)7++hyHQMPNSK%g1L6iN=RVVH(n`HB%~xP>h_avBypG{7+`!!`>Qtx|l% z9EK0EJwt^7tvP8hwAzJPct2k+A`9IgjqwhnVK zgRdQti>YkMk#n)k!-ZRJwbF6EITYuxokL9(F$xr}X_$z!_^J_!IGrsyaw42g0uFRa z*2GDc@u6Z)!{LxQ4r#V$s5p$!NqFqSELeQKh%EH8B}dMJGsb`uPvD4?s(4ZWoXx1g z@CtJn?qR!z3d0Cv46k9BhP(NS5ox%SEje-;7TL8z+$AYa{ubv;X)JufoQ3<@j-j%E zHZysL7_DYu5em zgzI2@%N&evupLANV{`k&;b$Hu<3YZ9L^8h2mK-@5b6UwrYe{0L^1Ir8W`V-I-PkxC2VVBr3uK0CF^oP(11^$Z2q9uZ7d(a}VHz|IWfhG7- z?50hdqhPUpLq%bPafD_W=Aoaj8IgxLTXN()I6I=`Y4Q0=TAtmZC5C&Cn_H!ta7%o5_9rvzLrEze!-R;IVYZ4 zBA#L`Mjsj(D`y%HI+lTm?hHC8wZyRtv#^-27m|$Q*|X+c#7kMi_Ny zmSG-Be9eeF2fdTPMh@){X;l9<%6o zhRjFVR{|B|H34VHIND%vKO7b>_Y|2AND+aj$OIoi()qK=7Hlo%`^B#AVtIIn{h&+F z5oM3CU2k7a?k$4fV|$DmJyesNu*Lk$vK4brDfGj?RRXf!nd6vd zhlE;`)&}C(v;|cni?0n4y?!YluF?$^K{hUZ~?h3!&mUO^j)5ro1V zlv*C(D?|kF3sUkJNG%In;_07V9y1T@U-*6`W*0Qg>KE9+p7u|Cy@>Js16wjmFuw~c z!c8!WvVW}vGuHuf`w@7ES*BR_WSLWE8)umqi0IBh3*9e`U~JliQq5ENS`ks~m6FFm zs#&H-)<54o%RIza@tsM`H>Zr)pgJKAOgfkIl_N%aA6qg?I+ukN;U*o$+rMbi*(shF zt|y%aIK{BFc?sLE)YfL?q|>wsC7l=ZwIZVULMeGHB^}2L{z>OP^ALZ6@63)R9nCo0 z$$pft95K=#W=lp%=L2CyxJgIx)`6rGLWHY@TAT2J$5l<8>&C6_}US((sC&|Fvg=db+=Uaf;w7MTO+vCJkn3+`;u6G&eVI} z5hJZ^#24=lzK+CrZ(~bFRcK3C5pMoh)EVXfB~pt(K0CikuxM{Ck+gJ5J%jGsKqtfg z_xWt+QcKAhBhu+_AWB9z^Hn6md83Lc`vLGBUq@Kw>k8kD^gi>Lznkw+Vn#YQT+D;g z(mVKy5+naswq%r+-V|1Zo0b%R|5|Bj$^K-b3S;rMiRsti8^gr(3$}ZyiRr8nAq_GS zrKX?ql_UcCV<~wI^hs+1oZ*|C7R)t{`&SY5n4WgB-P^hJ6l5YwPZ#r*Bm%lsN*)X8DZm-N>1oJ3 z?iIdEiM`Xv>8Y)$cu-g3t4fT1o-G-rr)*deZhBG-b|5{45aDW}Capq<=>F8=Ds5^J z9)GbovjX-QM8r8*nT)H8SX^l2c(F=>@=zqiCf_iP^*$j6m~1` zdj{~2u-$H7NbW@9_t@^DMh{^_kU`s|N=5Gp>QQLdI0s-M{%ho29H=8rj*EJ^4@N+OAf#yM8S4zzDhzNM7TBo>+Rv}{B-jCt;0Dufw-K3=Lh+fqC@6T zrrE)vmLha^ToX!c6e>m*Uo9ey{Zev>KBMEsXgQ9qZ#lZhJj!?T-ANn)p*>u|Q4T6d zck-1Z#=6dyj55zLDI#zQspC+r@`1uh+FD7vA5`P@|F(5*Bl>B!gQ!ltQ(c|VUKE{p+mBlssB(lSzV+krhf8pyw znQ8b8PE5IT@li)T=wS;Nu9IRJtX^}sDDD#3&h5n)N0btxQ3 zwevDNc%Ip|7n);uJ3B5^3qU(4yV#OZmU+7rF?ywDsn=xz1?Rs(E5m~GBerj-S9;*AtG{U& zh#&A(BLeX-TXFypA!>$Oc2wdCAtJ)EGk1R}4L2wSOs=h1V9euE5Ye3$IIsaiCZXc9 zh_4ip#Q9S4SSUVAbvO9dpY7%mzKHKkV*LrsIR2*LjB^2BHDa94WlKgG=WHor^h(eQ zZ|T;~b24r7tyYe&Q)!sNfvF~{*N5Ye46P+;-V3_``{biPVN z3O7s1W1{$Yo#0!1Ec590^Id6LeEbZ!m6f*>8pg%iUN1H7O!QN$UJ|#z~h7hkKUy{>t{W zedV}&nEuT65j9vV^nO=HDWU}mK-@4i(D{DiE<)u!O=8Yp%}l|xQ}>}?HDQ$=#*F;h^AE-geUk~5kdGHTXN(e zEObGDr@Q(!41MMtoD3qmGp<0JaC8nFqc8>=`AQKnIDsuWats!@7*tAD5F43k{`33M5P2hIRPp zimx0Iiv(M8L50wo{De)MGvG^@t zIU*LnVoQ!3iyluYL7lsX#_FZU!;=*tqC3NrrxJ!I$Uuz8Qoe#jJQlGfM~=r*4<5}? ziH5~4b1W`l`-Yk^&|O46eMZwTjKg-mVniG+VoQ!3hb0~yoOWHK;fOg6HMVQ0G@xTO zd}wg&!Z4KidJ$nLvL#0j!(tB%{v(h#o3rrmY|l_xKqrLyun;)<_&2^ z>l6xuR+YG9@{lpN%jK?7xK}2`PA?P87e(3|7 zh!Ht~uObnVb!^FzBVx~aI+s_oW7pAmra2l{u)Rag9Bt=3v1u5I{e0DkNbF@xjvNVl z)4$_4r)}4XxXql1=d+zdC8F)7e`Fa3;%2^PL?CWtOO6}}dwA-&&3{PpL3145$94@B zhql90%`ObXyZL$%VR#2ya^x_yWCu^Hsm)gW*c^xdVmpV5!-(0zV;KhG`+UuaK>R0L za^yhR+kC}U1iSn4R-vk)Fl)JSS2-O-bf>FqyUn-7CJez8zD`64CbA_*4na#+DAe-t zpq}Ar<|v%Wc238#g2yrp#8dg25rH_BEje-^T6zZIHvgVs&>V*p+ci`iM(i0{?7}c4 z_<9jxcs5&dp~3r1#HQY z2i?Ajr;;dSs+sHH^7l-+sAQnE1~qdW%4|nbacFxJPg^T7C`G=OL{M^U$&rI%@4$9l z*c?IlLh|qCko+6lNmNMM?!XST5CifWzJ^3VUdfgmIUsA)BDd>4yZ!RT{bkiE>FbzJm?QBwwqvMBw4HhI zScO6OKfYE(5dN1fIdTx}9oI59By#a&8crxm!U09z5y!@r#v_gsKty*&9Bp?w_!wsU z+#PkS6I3MigD?|+crEJNO zhu_WzwGxawEY&KM5=l!Nay;K0gPYmDp<>YX4h-EejKht5#fUgu$Cey`Lx|(X-4n~z z@ya1YxF?qXR-MrNIheB9cuV8PMsGF?e@!3F9)dp(HadO|^IYplsaUSY?T5-}Fn-b; z#*eWhLxnLQCwUFR5Z=pIhzQ{a*^&{2D*Pb`av@a5w1*JkLfEZi^Vev{<~PUHen;p3 ziOn7roSuNA^PB2mX#Nm3wC-8Vzmp;YkIxT0g}d{o=TF<~oR#UB`(CulxD%ZZBD&Lw zuG1TkX0T$eHTLD?wx4tO`Vg=6nNl)8njKHz3!COQpO&R1@e9o3dM@9OVIR)p6W69; z__{osuNX1FXRsxsWPVy$5pFV9m>DJWY35p})Mcbaw@S)tt)w_>{C*YX7Vre`kpk3; zvL>LSIND%vZwea~x1d}vMetKl=L^czefF8Vo_g{ow!7^s$bBNq8`xf=Mr^HKPn=N2 znzo>7@;bgY#ANg8_Mz+zYz{hJP8K`n%L8Xi5`5qm5B;4Z|$lz*mgO!Z2HM^A@(`$cb6z5(C>M5~}#(hrRv49Fd3F&Y>cL&N0Lp zMC_Vyjl)cQm#-X=iEptbN6y3w4-?J&fuH3vZH;lSIT=KBr`JR$%lK2#Y98id0$)8M z7vtEHBj>^$dx*=ajK>~lnDcNN+bz^AK^S{DW?>Fa;j2aDU=v$%6{g@IUn?R7SFZh7!4q*ioa6I_@&Z;6-e=P%$86 z1IH}P!5w_Hh#VYcOAg>5#8Q#F=A|aXLx^xUFuWq{)S9b>T3s>HqFZZTE76))rIxGu zt$01ez6huUuL@l861re$zaADXcfISYQp8wT@0z^Nl2*Q;A+~6#`|JL~cC~%&xT{@% zV*7|5Enj3{t;;`Jf8c9EOfkP}AH>mJ=@Q1r?EPX;c9WGMt%$7YF&<*91QFdCV))Er zN`q8Ty>{UXav5JQVu%;BC8H{`K#CZ>buO62l&+HpD~K7Za&=fkVK=B`xXQJY?HKCy z?bA=RqR?s0$Co}r>JLZ9HV3$ySbUoRpHUuH{=oCPNDTPBvu%j0g_`Lw(xO{)PwTabgyui3a=BRcn}aH{ zuLNo~+Ym4Z<<$v8oC}MZI~SFaA_C{4MsphDqGGL(N|cAU77Hmj*rr(6E+XOCiG4Ra z1U8cH+|-?HpHZWTPAKt)FBV{*t)Y9bPo1wJF*O}yOGc^bHYsBCCN$=4OH>mV*9u90 zAU+N17*1wU3^f~|C&Fqh_?w5AxR9?Pk%{xzk|Sqg=I%tb znn_wXEmX`=D6#!PMFCA`X()KCLImXbdJzf8vL#1Oz;t;a5sv@s&Ex-Cwl}EpM@t-9 z{99~7(SH?RD`NCt&Xyc`^k+9u4!{IFXimVF*&d-1fNt^B2+-_86nv4d8Igj|vn5AP z!7OJxC5GVd<`Ddq?GP#iBXx&fvk(J+<|{^I;E!y{kuxwuP5fd4PF!a^K3ESTx-&i) zX@uBn6pH^^zFNfiuVzb*JpOa`XY#dN!hf#lfH?!tV7r8x1<>u?S}D*CLmcekt48Et z7h7`V9L#gwbpVd8E!L`@Y2;hXNw|sa6eS!ZX>DBPU`06`4v6Zos@Qpgi1Z&O)8-6)Fp- zj>H1C4bgCnuN{$w+t`u=Xb7>7%-xEnHadk6;ckfQ)>gDt%}Y0yES9a9y&uTgj-K%5v-`t_)!lsdX(=Lb^I707qs|}vImI4Md8P?|#dfw0uDjdp=WHiY z7*7_hfq@Ln0-!S= z=Wj4>`{#g&?zH{r!FXDXgRR7u>rB3u#OP0BOGf#9vJ??`y?6X@*!d17&fx^wruPd# zAH!{h=d!&*z4FnMlyxc`qc8+#^OYh(a0Xj)00bc_v|Hp=A_^hGE%HBLXGz--R|{3v zjI`)htD&DV?%X=(*K6Fuz6huU2c0tRXoJDMDJ))YvvIu?F&3JQsbb=8Kg>sZx{Wun z-ED*Cb{lVCdx;t`bjr9Bs#wz&TN`&D`|J4H5R=WT+lO)#`;B>y`7wABNnubwyXR}> zG5rePi^Q2ER7X%uZKLqz_yAuiVraj>mW=Ai{Zho}H4_V(4CFEe7|Nk1p*;=?8Fmwo zvE4$wveD)POo3w-=HM@UwTK-2i7j~yao{vyT36Y7f-wghKty-O8Uzj;voHt8^VK49 zu!b!;fP)b2nA_2*f)hf7+gH9KEYPkNs)I4oqFa5Xem7;+v)bm@U1r%A12v-s-A(D$ z2}3*>7B#oWOi2-eJ!WuY()k&!rTeUboF#9Y^R5nhn$8!oqhMcNZqs=O+ilc9o~ci3 zdm{*keg#-)>*%(kNBKGu^V6+iBi`{jjgy1i5i46m@UUhp-gKWV8xjM(NKAVIV!JXJBfYrT$;&HZQl&c<7Onq*`xN#fB z`TM=uEc`WnGcb{is40LPUh!&+ImB z&&$o>Y_J1Eg%ceB(#*xG?a}N){mx7Hnh{}qv6MU(`klpIC&Ut^Qci!S#b?cfd>`MH z#QB}mM#w;Z_Tjwq3BG>BP=Ayy8ReZ1OA(_tm$O9k8SJ~sr1Z^KkAhN$6F9$RyM}t@ zk2K)%H4szrE53q6Dt^wE961%oYfc+!-E+l8V?dUIi0%xDMw;Op$yUtDBEGIfR_3!M zN6yM}&3{#A;za9hFEM9iJKH8yE3)B(iYrqmgg8BPdEH>w&U#!%DvU0!FCljcIdQ6Ptamst8Bg82KXg>y@*-p#qA>-d_zme z7q6Fkd=R^I@9y{|+js7`$O?~k%2qpI^^ zDI)Ni?>HEXF&O)IUcKFe#iO8;=~4jOGt_GzEd`8(g)|RA@hiT9L@0jFmK-@0OE45y z?%a0Z5)TzCo?=YJQV`Ld;SIViU?eJ(eF%$1d<}_M%x6m`V{y-MG3DA);B%(VtprnmC-A!eL6wU6c~j#`#C z?T-z@iG+!AIWZhBB=Y)RmH#vk@3;BxB#v9q>Eq4R;D%Q-4_~C;0sBu+I)BGxq|$XUWQ4`cBZzIwzg(aV+`ITnk(#lshgXPYDOEVgH;eE~U3DAOemt}qhmrUIUpXQY?`2C4KqACg-<>W{1DOya z+)0Z!gl&ghE!5!HNQ-VwTFilmB-e6QPqJ93!r|@}&zSk|Z2GC_F7}_Kz<~ZWEJp6s z#Gj>zz^RGg!EEPOSLa<+tQAs;^6=JTA(at_?s)vYYLoGZWjToG&WHt_V2o|CuV8mw zbqQY^VtQF9B?ks|^hTnqksD&xky6>Ji039~Bhnq_@!iJvC~=YkJuI)CVfaGb!dHwK z>hsx>Q6)JitOz%UE8vWB_&lk_=%Kk7MG!xt>t@i&aAEgGwsWaf;skwKG{7K~cdp~B zM1=7$TQY)i1PnS~b>?nOl&e-HlPK(l1-eYq@)VtSn-lO3wo|AC^yma2Q&8;R%2$RM z`!`9+fi)+%k?8oAjitI9d~fRgPxHuro9|3wxk1;qze%{ze3P#dF}`18OGelBSEPv1 zOYtj^*8(;cPmCGo`Qt!DcUsGhBVFY&$104&KiNSe&x5li2jCE*X>j`vm2^Uga7VDC zUT_v{E#~_(g+#Sj9^PRU^H#My?5R2DnbY{RuF;4VWBsf_W#>%3KE$;2R4I8Zl%176 zo{0G#9WZDf;1u7X#L|PF)DUbI&Nm6ZTEsX%n=KjTn`cQ8qgQ@b`+3gE)!N{<0lFEE zG+x5?5Vg-lgWqPzVtb7NPlDhv7iSR5=3&JNk`# z9yI6i%k1D#c|0C5OQD?h7z{1#As*7q4#pS2*OJL4a8^HLkTFcPczdJ&OW!Im6= zM2O1a79W*-LWqd4_{`jvs3tD173AZCJVT#@<{)0p4hyyHtklbn#|%_(uH-91B=3Nf z99VEhFU8Dn^*}72C}~~oQS)%#%J(9%&Y;;--58uqZs99K4Czg5$tamzA6A5$OcYq% zOeP(l?48#dHN1lJ8E}f>xaw1EzfuzlS~SMCpsez7zBWVzKf;!b5FGWnw8`6w`9#LM zPvH0FA^#2A71WR~Mm0nkfa3g1z6!)R|4d2_tRADeP@|$3OQhs>!(2QeI|8kUEIGya z5?%-*y3?GZg&Kd8a4DI`SBV(k*=)(^I-Vg#jAkDpuL22z+^nl1unqJv%;HKts1Tq@iy)&g42Sqi5n)KP zB}Wd!k`}*-&AGl6;dSODyqfJADhV6>E4<8Yu0`2*V%Pk|T#k~GdYTPUy44#`}xVpXc~Aq%#3AJHgympKJ*XS;?< zLD0y-YZ1oaEqslL7`%}!IdTjZ*<~SF%$MM<)i~U2q_0XnY!1P9*^Z$?fc97V*n<)H z7GEDC0^eXujvRr7O_vqRDY4Pk(uaC}(0v(7nvUwPgqkQ#nA7UIwAN5AJk5AmF%Lv^XIQZ+V6IWZoyK9G&DVq&_8Dx+k%!%B zBgHAJG7)47gYXx9dTEO}0OzxvL(Kv~ZKQ4!M&TU3PDB*WVoQ!3g{5`|5N=D!VP(9M zxlTVSuV7BXA+~R*Bm`|*(@er3r1>flL9p18BL~5ma28$@hmH;vk61Z<2=Quj4qm}_ z4V8nS31_cG7=wHG8WAzLn=LtV44esP;k4>-$%?0}0j)21z#M`vupL8%AZWt5)gFw% z{d|3h2z;6?IdTN%wv+_C^7t3?=>LiB6KeEV2XuuZ`d|tU{2%zL5Ci`^w&chI?+g$# z`BJf5jpwaOI#Y}n`?FTEs^x&=pK3fdSOX%uGd2hsAo|&bkyy#si-^QBw&ci>SYYP@ z`8XU=5A=@UGIJ1iv)w{X2l$R8wU^zs28VwqUmIfhFJ?=QJp9h+0G6GHGS=aMt*bYf zGce5d4V8hQ(Sc?X24RS=5)p(7TXN(eID3-hiR1Z7+V4E|x0_?|7Pe=o7zFJ}@)(36 zcq3mSA_T8zOO6}@XGKB!tWqr|)0K+$fM8#5wy~-#FoPBOBw&chG@sy1t z`J5b6Xh@u5j>M*}A%n~QEB}Wc{GqWf*fS1a}66|EnpmD@Oa|*6z zyM|gZf@T)I7GVsoNf?A%`6>}X zxP>h_0E7_7q_`)os6!Y+h#()^)bW#6W~iABe8$S>%nAGqJ1A5FSNKnGDl6>Bx{u`e z6kiV_b{}U;M%az|=_*rwk0<^g^Kk#3?F?$Tm+Ikent)>c8@>|6SpQN=4m@FH^v>0o z=UDH54)O9cjK>yBKty-O7HfhcY1@Kp#zMX>#DLCYOGX#(?64x-nxU}jX3gmQ(=}!| z1a8UYJSY9_2Y(nI>9UvYQfd}KMWfXUlt?b+>p|r1=~D6-NF)ne9N?czZZwbQb$mY( zZ>B)E)L?UPIyuZ&hZxo>TQW)~*M=40rV|BMH`7VSThLif+;9_mFF3?7pL~$*Q))gz zdoR6qpp5c9z9vNU-p!Vb&>QtObZ*mIN2*piQ!IN5$xqD#|6{gOsDVdkgCSE;?Ej0e z3^DfKmy*XoHCd*6!M~);I@9=)o(>|q)1IQ;v;j8Zx-x~Y6EVOO*^<%4eOy=(Ze3BB zb+fK?zD;eWn4R#TSCnEd2B#R-maS~R8mE}1DJaEU$XA9);CWK=SV}RD7yMI9$vm=o zzB7qkYha4eY{Drf%h!n*;6b)zlwwk0MYt(OVfHVUVs;kbnZ}8n|HF;n4o)#lF>hh} zHFSzWrl1t_M!qsc0$(pBkAW1kRQH1KqgK9U9@ua2eM!tPXnDrpB%EL#Dm}x)D3&;L!^Vpxk_6N1VpeL(%%s?SOjjsqX+eyVUD4XQzy|2k=v%mEm~d<80qhuWZy-`kRD7_y}Jm zA_yO1OAY`bL{I3pl`7GM5JBGc)A{l;>C$4#@~++fpE-R0%Z>*XzD4@J0i{1GC;!9O zfXLeKrR1?tPG(5k#iIwb^wD#+ar#&VBDymYSmql+VFk_@%lTRmqqu}E8D)%xQpD($ zj@8X@yQdW;i-i=-I~5BW0hfYqh6Uv5Y!6YdVf4W1c7|ancJLJ=La~i4IdUkLxxP!m zV>jai_H#Ei9{gqKG5%Hkf@NIJrzR7kFl>>BEK^wa;5?|x%MMUB& zY{`)$vB-5DoOGGUTd?-6m4)M;X51$HlkFHP3V60b3{})q1RZ-Y0*~|cAtLY?TXN(G zEOZfon>PI(zZo+p;3*)YJ3|Guu@jqv0qEtcLj+(0TXN(8EO0$mDOpK;pW(C2<9`*~ zEz}Hv&MQII;P7A0*M=DWeQe2*hu^;b+dM7fcJuhZfbAD*`~$B4R&y`_&*Q5@1mL-B z$&mwag1Ta$ZbJ2sC*T=-&4Z4c?V)~z(TB~E_yF5eR3x72KYP^PKn%%y`3e#tc^6x9 zfs>Xq?S<5H)iI%slwog^@Ue zuNM)C)7X+DM`9()8qVlbCn94`!~okrR3gy9SixptAd-Bwh(J7tEje-^mLt#kk49f+ zj>AjY-l5`vp7k7L6o%n0zEVUOUc{ChISk%*6OTu!Ty zbt9tjakk{h(eM@yPp7U?@jvEN{GRO}Di!SuhsP`o#Bca&5rOz6TXN(;^muYC>diGM zR-J1+^jHoex-;~MwH_MmFHvi$q2h2fuFWWU#5CR6Bnnf6cckwkMV(@mhu?eH_FkdGk3g2Z*jvNJhqpi4pV6R=?D(Fv$oO!-+ z-#86Kbf<3&*l62g4G#ZgzBa`0Phd-qJp3)0Ks+ous5dy<9D+00&gnoV@YsY=IE}9p z5rtFOk|RffX*5ys#-e2s`09Arz590U9AE0IE*!$z$y zc&RxAcd;Eqg&^SWD~~-Gffw=hAtG=GTXN(G*mqwDmpKJNBj7XU1bm9^7b*b(cVD!c zg8}$BUmYRft^nh~-10$XzASlBZO z;^E5G40MoHtE8_vK5h=fV{FGzVF;K>@YsV9_zPbjA_9M6OO6}?d$+U92Z>xfnTGRk zl5m`lcQny^q48*91BmF(Xd+-2f{#hIx7`uN@qDF-D6C;ijvR%#sz}I8P)g{-ip#+u z!*d_^v3){K1grh4f@2EK0hjSrAqIXoTXN)qw{t+P1Y-(IwFIR^($a<#&jZ5@0eCLk zH&g%u?s(8m!XVthSBVJ1Fk5l}2qBJrc2AC0X9|Z9K|VRUbnc<#XbEymSj4v6SZ2Z`3BusOJL z%;c*>4C^$uWONZv4lBZ~915;~smd|C88=)#c7aC>+m}n&PNk+3)W2$mpq#RuuL=>q zi`bG8e4}1L7VXVJzq+&Ca}tl3hrib1nR~{MJ8qo#@5V-Nb_mMV!AACo`r|tF#|`R_ zo8%u<4$%G>f5Q+C!Im6(_!l-EHc&3+RvUp~fH0WMFeJ0JrhgAp-Dxw&chG zSk&~GeNQ{=w$d`d$IJ=1m+crT0ccI!#~zHp2l@IC5qKY4a^wi~HeKd!D=C$WC96=$ zREL8eg!T(_Dt^lL6_tuJf*Srq@@e>vML)aauJX6nY^;5Ycn5QF~`w&ciz?_T=>YvErskN)S`ZlOj$ z_}X`@!QuZbUmIfh?_*022!Dtr1$R|K%~XdF5#1)LSsyaEy9kH@C1l#tlc-0BKHfwdIdDIW^9ZXyme;U5* z{XxcN;&Sv1zM4c1_OKjQxa0_9fF&~WAY7PgHIE=$@{EIEm!pvs!y4d_;GeXs3b1NBuWENS^5ZH z1tM)9l9IvNEIKU{1gx zwqvLSw95gGJs5#BUmqd@7F%-U2sph!DOa@DjBp)zwK)T?V0(tjKu|B>F$hC&4__f7 z1b4F~M-G9L2c*yZE5QTi419s@7%Brnd7#xEjKKYTeTWErnk_kU1Yi+N7SFPkNX5n3 zB3d2zi+TM2#P$j`{yvLfUSn|Z|G-y<82sO{B?kmQ#FT(LtDr`kAw-a86*_(^`3!|1 zUIU3;Y&;Hm3W(^=IAn$Y%tF8lNH1RxB6b_tk`Z>Jz5=p%pV+evD;{muKb~bC{Hxfm zp(Y-5l0|?)wyWLMkIVTg5jof=C69$^rjz`gffog|Qu6}yh(C|-UgFf#S?F^2MHm~2 zOVD%qN)j2kfh`&3f?+9Q^roYZ4}hh)FrY#50npEI-Q&G%FHzG1dj8r-#$h<##aE69 z$J^PGBZp&cfd8CLE*cv@GH2rlY$s9KK!;_HU>io`VZLreG``E09DqiMzSC`8RRs$n zg50`xenD)}{$wJTDGau0WR~tQ&RB~;M0dJabT^{EJ*bbF&)0~^;v6Y?Ec7uOeSLu| zyq1M7GLQEKeD4z5m^1Y@hG-+sM(6T%Boc5oTQbTLICAv8-$RgCme4Vcok;kt}$$?$W z=vAgQ0nYF}lj%wGFh9X}DY11yhsw9L3@4wz@iij``~TRIQS$lUup->#qmb)n^6B`@ z|D64qd@Uzug7NJCS(g|$NvDH|?u?t(pi-z=f^yAfzAi-k`q+{Yej}^^bUg6$+`u1z zXBrf1-Yun;dFcDuPN9|?bng|m1qDCO*M=DUYuJ*x!SDQ}$&~#iD=BVIZaqo(Zu6Mm z$@T>`=1b7!Zd-sNUFYjSjPx-nIk2S|#go|9+3|~s8;w($fq_~D*7D-XqBSs(fxw~z zxjtzg+mG@6O6)664Tx>9b-1^K|lFM%VZIq=?aLIp;fgI0Hd#g6!9zkKydc zFW6q8Ug>B{iEa!I{!jVJ5QG0?w&Z}|hv*93#!@Ao5F*H<+K%@ZGwrD1uJZVu#_+8H z5#8x3R|ce_fK4SU`HB$1TgH}*z#E~Z?0i=-cYi5ul{2s&vl}KfGD*wRUR-7#_uXu# z7$hCd6x3(zJjywv=}yz>=56X#O4BR6!JF-7nKTMC1QL_Y{}@_ z&Px%a*HNrMUJGa~-U5mlwia(>yN7y}qjQ@At-?6Gp05=Vhu5+t2jCE*L2!Evm2^Ug zAom!ZFF3RJSBuH?{{4RC=11lr{(v1ADv0Po7MdZb*gVWvg-G9brR1?tY!-W+;9F{@ zJ>59HOa>9%X&%uHF@6T&%rb$m5HYsn*pg9Z`G>+|)Q%Tlrui(O%$#A)!D(#gP_J&h z9Og+=&1XMh6i(smL_}c|TXFyjAu5DhWK^;VAtJ&eGgZuw?}sOSdPXxva{zPfkWc|c z&#h>hfC@{7uLO~}0V#Pb6qb38`7wBcUSUu_r}~xVp?n$Ni^SmzTISMh!8zomd|ikU zy^Adw<&YOi5u-P5S=CW_Jg)UWKq15N%IDZ_p5dIM5-|Zk&RS6-2+(C4FDtwl>Y9aR& z@Lc%GyNt8XMi9}R;S4%s(rX85B~IXLLPT#JTQWj#)F;Ddx49wVndV`?g6$G&)a~q-HuALyWAF~XMnnwW%9b2C2FGho8|g&Z z|1u}y`)n^!i9k2Zj$|B$<3IVz5#jhYTXN)ZEZ6*34LD|a`flSiF$F|)r}IOHO9vT+ zVVKBQiU`ATY{`+suuSutGi=kgW1VTv!c*DKp(Y44nH^vgM&VSxPDB)9Y{>yAgcwJ< zLs8Y8h7b|mP;`Mecz8fsGDk7b4h|JXbl8}mHFl)k17EUyeTWzivLz!7M}1hTQj)sk z!|OiJ^2Te;Id~P@J5&zPHV$csuT6-Cm-DqE($J8S$HHKBQ=mUaymkJI=5hZ#-^0W) z>^b`8OopAfJbjk0Cy|8v*pg9R_=FTOdPCa{!LF`i2l@V zaaBzVA%fiEc79XflFJJj@j$1xx6@y3j^>r@2vL(48gd0$gu0spe4U6qK0`_l>~2P{ zQmqMahVPX8t>$6Ah3`^gJA-bgZ)+J&J~#0-BL@3=wq%rij)WEACLe{|zgF^@cEy2R z@JPXwRrU<0J_X(|?3F&wb|^L7EYo`>*9MeeKEl_6$lQmd+WhUp zJ;qn}JP^^HJ{K+g`Wb{Fn9Wy+2*C`tLRAN0i#Z7Av%N!2^CM&g z*C-6bIeevvFr3Af961bHM(_opU=G3|wr8jyjF1tOK^THGUm+p{7F%-U5G-=DsC;h6 zKqjZR2d_3~;1z7gP#Hi=DL(dK1n%MMLqyK=EQafA9#c3h|s zqWz|tA$EM-1>MK_su1COj4c_#H^PE$$HP9i>8+iY;lRht1OF5d(VdYAI_L+PfVta&o#iJVwymp|dU(VNr81;Qp z@>rO3TI%sZ?9#ov-J2Ui@Q!AdWCZPyFm#-8t!Z)xbqw9KD ziWto)C*-&NJFnjE0pSCnli`H&d)c0$Uf;N_^fw4$@GibeL=4`}mK-?-OK?WGa_6=K zmv}h%kvRuHV7rFO0b0ilvIv3jFkdGk2;XH(jvR!QUbm@7tEwa8wTbANdyTWgG!W69 zcJCy#%;d=mt!Ci?=VZQGL?9-xB?kZzVzlTEI8`GOLPT@}&iNiJ@z`U#IgA&vV?#|% z=n3{d#-OZp0bd;=gy*s)BM3(rcy@mDG5e}ZcVB8%(td|;mCa*cWV?hKdoz`o8efm()xkN;phhkA9RrZd1MjKb&mIuTL$3|n#l3LzQ?Vv0RPYhr?>qUiX^E{)23vP-Blqn_g3J;NQnrg&6pEvn2-vK12`c zwxNGMS=8DPBHT9gj)@^fxLOp#ig2|!Bt;~$)d}Oq-Pq{O4#A%X8`&f3kL%PQH>f{u zl7HCl6k62!v%eodZd~BdKXA|&W+JBmKUiM|N6=L>iCk$oRw?F&ta7CX&ci&E81z1- z%{lc)Gc7t`E^7MTG|HfMyBJX73uj!-N zL-5Bz_-D{j?O_tf_aVjk{Yq9|3Ue+Jqw?*|KzJfBz>a{;<-_os>e^1Sy+uq#_14?N z?PRF9YKdMx;&*AGwtkeg`PLS7XZirn0JC0Iv#}TZVWU58)oo;uThy6u-xBAWz zqY6~t-m(Nq4ZDxM2!uQM8WTY{8Wx0(&%>NDA_uV{!9#otB;~<^)}nvh9E*?eolL}H zUq`U;n2%HchxqCf8F@cjvJJ3XzTYE71eT7D!_-HG>7q>GvXaKqFF{$u<%gfKT}G`e z&*&se(t3>2Px#ssQTicUa^xtH^U_7dVh*viaKAB2^FRcz0jILm(Y&P0$1u(2t51Y! z23vCEFzG!XF8+3w-_|Zhp#*lq_fzPBM0eJYJuBY z%$E{n{ocWXIZKDwPNTB4zoRTE`!P;wzWzjyQ zg;-m07e>^KLkJP>X!2G$iWt4o0`&^4jA|Q|73@W3h)JC3Tun4 z7}m%6x)Nc1j4c_#I@*}@1YuGduBMCnj8)8>l&64*?u-mCG9g8oi(%>It4oAs16y+B zu&mZ$$tOzjV#z8eV8&Y;`8~@Vm8;kuq9&CK!=Tb?EC%IrzOqD6_OT^L4$4X$6bF(x zIMK5rcDp$yFJSwptC)C9wIkuK?mv&OED@9EvL#23$#NZ&fW7q}HizT`Z0}GZIX6r$ zaSX+IlJno@nEZ(CBPu4Lx)ZOt7?vOK z)g{96FkA8%g+*+$f?X*|eKv8<<;H`anIK{ewXzbHrnwlFX?%5wuuNu44uB=Z2-_W` ztNkG%M7V?WtJ@FKJHK0K=GIbaYq0>_)1lu5c&@2WVl1=A+~d=1??<0yS9-S&#&{9B;xs1wq%6o zXoIoT1BSg9vXIgSZsV^oM&n7gZ>VTIjg3arObo{pd^L%1{EaO+ayXXwz;T(LHu}uj zI2lBAXPkC+NH#7jV>CAMwIrf(0$Xwb8X;%t9zsNf!?Oi$zwSRuOPkYav7NY82^jh9kez^E|zMlrw3_IUXvK>TC5~TeVZEVGue2lLv5tDn_ zk|W3D1V7io=GKZ8Ps&}MnF`uv@jG)~e$Dn2m6uDxrWW0349+k3N)y5PDO+;n;H(P< zCs!QIBoq2p`(;-eXPLzyqC1T;=_bPwEyl1oW-eQD8pbcDmYuhg449tiH17@%Ja1)GLvOXjy%!$4waPi{8lYqZw||A*-oOu5_+iAVlT$! zReXJkxV)S#IdWW%56&#U_n$s!&dZnCUZV1{%`CYD-EsOwzQROcKF^jMIWX<=%WxGP zbN6?1UjE8<5|tOz{37hd`Q^`ieTlgIku5oLTzZ1@i_a~|CthVdPFfElx-(89?GkKn zE{0_-UtJF4G;M~{+cHDiJj{E{d3h(> zMO0o4htps!M&)gMZHcJ7nJqbTRNCa1?YUg0RLSTEJ3nI1%lFuRqVi&xUmTM$G~eN? zOoZkkw&cj6SsmO3ZogJbFH@gs-11HW5#4EdN%vy5GZup~p06wslqdhc0%eEZx14Sc z%4WXriJKY>LD^Bop!D&TC4zD?TXN(XrA^1Oqq<#7DgEZ8#Mv&QRv^QU1+2xWT*KFv zh{`kBk|Rf@P4U^S=af6mNvX3vL?y*Ar|kC0DaZKA5<$6*Eje;f+T@hoD5reVoRp8T zT|_0tFsFdEIH%mp*OrLN2icM%N2Sdy?xpaEBdz}Y+MJbNuzf^j#c&o^n2TZgDPLV8 zEI(#T9?P)!oc6c)YUAY$s8vFhvijl7g1p`Y4(^%p<;SEZ<@!k&yKu% z_tN|M8WOR54_h+Aas(hce=6Ucz4B~({}VlaX3oP;*gm21Kzc;0ZXKfGhkX5rG&~|D zkA>4bR%l*u9z==Go|=7)aSJ>HM0BSGK96$!2U?0dnyGwEiIJbgmW=YicqwA^PViXn z?>KY<)j6P-;qe`3vAsjh2&B`;gAB!hoX%I22*_r(3UVJF|5~<>=m84?CuW<1+K^ZAl_BPum$#2&Z(txhKKPic zjE8fz@}*2pKZE|u<`MlO--*QSw!J>Rhr0Ich&o2$OY!r3rHGOJEL$?FBKJuVqldsu z8-a37f11``K@-Eq;?Hby~bnT0)3$OLrrz zA+8pxP#I}4LIV*Z6BZ_n8&{umX)#sHSv_!YV$~{Wb1i2d?bW;k2+KTnd!`Lxj+!;PGb&LqdpfwRlX5NMx%JyBiz5*&+DzU?Y1({c)Z8;|BG| zP4W-h7eb3#fA)9d$Bi4Eeo4}`tfk4Q7L(~pr3W7Eawsuqc{-(QJH(l=u0B0cNT!SB zf_RQ@`lxNbJGE8_i-JqjAt@rzjU8=Qq#LKhaz|cXr{1~HySnAK`iylI_a~7LUu5pX zJHm=^uZ5#344(tCH{Q|^S3?&5nm(F6B*72UxdLG z7>;S6g<(fDIjjhm0_Fb@A#^EFl{AD1SBta>i_j7Mwp~XQT*^aKm)@)_FDthdleIkb z+KFnWSm=RAO7-k7!QT_Py~918wrHD#O?_+9sjO+trF#eq%D z?gC%eDRVC;!isROsAsD{1@%>7^Xk;?M-ur`4o*jVK|{1_*$T82**m)C`)TVe=Lb;( zdo-+b491wJs85Ci=bWpil|DCj-quLeXJ!h?TrFh{z)ZdPVD|q&%|v}_K5-;v zm8$8+t_k%i$wW!i*+zZVmc2WB%GQ7dzml{X^@)SIVt?aUeR4XJN?8T?+bmmN^M$E} zTD~7XpK9!a3R%rm;dhFK+%SB0dO2~}RZ;%a`K9a=!duy!MS7bGj>(<~|EoW>FI~)A zeJ}}Iu*!Xhi{(Ro&9dL}H;84WFH=ZaM`Gm)IAbGxch@?VD}Na_kZ!}J0?FwaQ1h?K zLkJPB7OE8pA;P_c&rw8nx=796Sx9A)R;4FVNcB_`{d&1tAMZ^6k9w~9f^`se@za~& zr#IO@jq>MO_a)c+D^^lnnHA_G)Jp@I!Iqci!l$Zb%Zl4qwD_F*frIep zVsTL}75`ff|FfiQCwtWDb7eY-SBvqo)nCixQu4dvJ9pYL?vh`2|0Sfj{}M?^{7Z!R zu3CMTNHZW!>Qial*{IKRvWn-`>8WBq0SF|j3GsvVioqu0s<=}puJ@rW$$Z}Qq%Z!u-`LryD zAMnp9kaFZ?=^mME_SENOD*LR~&m5~yizn0I3CNs~X6v)!i9)fk)qSPbU!PL!&ss@X zKY+&W4k+O&Wh$`LYsNJiBT^BbumMd%+9&3cNDY zd1Xs^5dNJVlwVED|BDQ~C!2x4AIoOp|3FGk{sC4`5{~oOJW1y6R%@D-tOddP#8M(t z1{Bn+?m0bfVXMzoueFR5(nt4H8wq(~0KUE17sAiid(l^6eYb4I`inJys5}e{I;o7R zd?)G>gFY#LsJA}30vP3>M4oq%Eey6^Dq%gnvK04Z3a-il(l$2go110@d?to|0H*B0 z*xu|*g^icM>{!{VRG@zMZtQ89m-V+4OY6y7)pRihs+`AHMa<3FzwT%yJ-<4@^U0j` z|JZvMI7zdsK5RiCp_K$kAS{7ErCv$hGuu=1+LwB_rJdK#j&^otn3-LzG^|@S-PO}I zTV2(vs-B(RW$fVC$b!K(p$QHI2Z95E;NU=TuyJs3AlNuKI5-d-2o4SoFGFx}AQ0R6 zpL3t*ocn$C^<#yCc7DIz?ykD`f6hJk+;h)8_uP9sgUyZYyI)$CclbVU;UoUTCAKt6 zYF>Fvuz^r=c~k`lzx>8zcfvmYN?ZR%$#IZr^=Jg}mI? zxuj-K^Jg_O;_o4ycW7?;i?*vDxN{QetgMi-_Ln-`e3Z0R^4+5uH(Y9j?NTTi2dSPXG(L4-s8B1Un|G4S|paH!`6L ziVt=+Hu_th9`0prDphS>6~P=-(0iYww=2DwB3Y)H0Smg1I=Vvi&0BklYCk{`EpYlzp?_NQkBsGx@_Wr!feWC@9$lkV;2 z1nYHIq6&%+_%y^N_#s8(oC_-%1U*kn)y**lwd2df;b^5dfIxRJPRwkR^MpQ)kb>6x zmq%UdxMQc69CuTt>HN;<&(-UVMlaGn{)*C$=z{jCl^)$)wA@{~-krSI?GBcXu{zPh zf2s&#;~%LVtu-VBFORY*d9gQHTSDk<(u1e710L!vMgdyTery%%q@}P{aWmcyh###L zKnYt=Z*z&Y<^s=hD|zW5N0dVo6ds|MWx07+O5v9sSc`hi*0_S|!}P7=ZE4(l3F*sC zZKCnv#3)vw6~?bs|Kmax_vF1b+3)RrlWSU)C86a){)Hu?xOkyv-ohqJX!O^AZh z!L8NKt0Rqdwc3uBp#Om&++B0< zfHH-(90Y2Dhx^a&MASMk80iHRfqiVcd_%n?RBhc2iIODS0p~=&-$-Y)Z)K9! z!8F(|(Kyf;J=5zVZH+EudV*sx1@ko(CW-bTWy7XcZ8K59$K#j!o#n1(wR*^C8W6;T z)7U7I5L`UbSQF8ZG-I?tQ zgpz!o8T60~yZ*|`r-H~X`guz{Ht9N)^@m(aG)Yu z{J^O#WMQm~dI%(+Z!TROorpvYnxM8&HI}RECkbnRp}I~%#*3l#buu>0C*s;;uOS{N ziIyKY-(0v~rp#ubBcY``Cs}1vB*}m;T6yfs#v1(M zosH_MKGRr&(o~zNYbTLbwNKY5NVSR0)G&!~mCe*O%36Bl3i9LDu3XuHn!cxENJ}Ik z*N3K!Y*{xoPDeF@qRR3GnZ7S*QjMlckVI7P1y>La6huppJoof@Qt5q=r$iD|rpi;+ zO--wkr!2oqc}kE(v`U_`ywOkgy?h>uSv6vb*zIrM{gU!h(S4iyUGI6CDpWgLTmv@v ziU6QM{IkOlRJi8>__ zErrafri69;R1+4Ug60vX$(vqHiD?UDh%uU=@+eX9Yow(ei&fiLP0#=f+Q*4D_IZ)8 zidAUSM(W*tO)~-tTE~bMwgsxvrZSYIpn9&%3UPiUuwM3T`q_AGmJz?=SyXU zTq2Q!6LgN{Srbi#SJ$E(Pf$7y3xOV5>LBmT4#Cp?MaF+>-r-==9%%(#k1D7J-Ls>h=>Tk?dlp>q5M(aYvnlxoG8edl^83BajY2l1 zetfzGFxY~Fhdc*S&zn-#{#~KZBc`DEpr;tLuqi>kk}MDmkb>R=p56|1TE}V%J;BXx4RvJ||rRFIxRrC@7S#u_dYV?#jr5`s1ODQNG3;=>36`5G=ajg7dSeFQOtg zre0^!LfaCmpvw7KL^Wt*W1@AQZ6F#!1}5x-q371wEI8w%^`6Q55PbXdb1n z;Wp8&8cl6RofnwF2|C<1%5{sPZc1%h{|Qh*llzap-sk?yAO*eS)cB~sP1{$uP7r{C z)-n1j$g(M^Ip(b|}GV8d9?H58^;lcXX?}vcx9?P5NbKs#=I&k9yZPCta-g z>!uV5DVlYFFDb3162sJW0RXxhG!Imq8h2v|5?P?oaI zGLS^6&Y#tog5ptkyW5hF@zS`dJlM&UVF}93l0bn72PgeOQ4^eugJt`!&koeRlS<@c z|InonB&rTn#+qPwMy)gAckKui_~p&nheF7@U`7gctGl64xE#K%N{$ROPi1msERf6R z{>whFRV|)S57NA5E__7QO}d6XglBvYLBjthU-f=ad}HY=?q3oW!7s~ z*i>joctQ0czX&Ox#4sqSmD=E#qDXDyd^I2ois#Z~!YR*4s-0}rh0zUiV&eU3T$`fV z%vB&J_*$Up#`jG5Fuy@hjOZ|mDcY9kg7RbZU1YBuB{qPGwqER-qD(u-7t|jh>bPlR z-?cp83Tnr3X9=#5*`ejoUV?3+hZVFQsIlS(A<1+4_zk#$8qaZ62gTj-|H^~n{_EU& z&tB$B2iDWj7}l<2#r(~%bPo+c z1wB3h#X2{dY&9omWuKGdRhl~{u_dVSg3x=t&52p9(!@NZpyiHsk)K<31VtYtK~8U3 za4rS42l;@~&IMWDZvs@%dw{>%u_)_XmtzWQM==a>)*cIn=Dntuyh7gX2pH(_*nAH> zSG*u#{LeUjbVs8h?z(xmE2n)1RV*K?UvyGmKXb-G=>?s{u-Cx2YB}_qPiHr4cvL;l zC{$Y`2Ykb6-tP5Ky2~_FRyGHDQ#@(l+Nu2j1tUx6KyN*#645P(3 z;9;gHL0&co`MfK=b-L96ev${OA2MxSJ_mbq`tmBw>Tq+ieRqnU+Zs9G8?U(CanITm z1rUXEm^TqO=%LWWDI%ApbD%G{I_eC@lsKMCOuKDL7fN+<(9eDL>Qm_DmF~zlbBb=M z;yKjk$M4Qv^k6y@NiklFFBE4|g#O}YyVsWaWx)gE#_iVIc+l-vXzk5mQO zl`j$zywoM{D#S!u2d!1Xoy9GpGgEb_GZx7E=6)JPS1{zNJ15jD#4W;C?SLX=@(4mk zxaqIpXqb9>ajhj|DzqK8ptpb&duVwvgl7OWMQxW&g?2y}H0xG81|s$RbZW&FPnB0S z5$3Mat5U^sJvec>yV}Q9jTlJM4%X;}APVi!+t8967CL1LLY`M}3jkuv-KAK$q&|Xj zC2$h=lhOFOGmsIS4Q3?(d|Sng;Pt5pvmZP@zDph>6N0x7T&6hMUV2lz(~*vsSrK3G z@a0B)4dhgWO+ER<6e$&}PwB^Vv1xnfPshh1be+`Nv6PVClfee;oh^MNFA}U}E6^8Q zy&tFdUapF3EKnEy`S7k)NqgW?kwi_*OtE^h+LUo~A_`!-ib~+b&lFEYR;w5(j|W}dJsUbD zEw-$rp2pkfUOLIVx`n@Fdj}R*9}q9`Q6eEm%+=lMO9?r3)wy~zQrY||T68|Pv0?Ys zb9rL7Tt+s8ET7t;Zq+k4#dE9{Vc;V0#w&jxku{OqTY10$842aUtt^$VFdh^^ifZi@ z2v}960r0DuBq2f7&(WtYhg%V-)sR^j=Vz9(o`1M52g1V3i2>@Qzz)n3RAT3as;=g zazj&}B{hg{>mav92lc%xb%J@Pa%yy4A(tan3npDFNksFnOBR+z$Ae2!kiD*+2SzASC>FpfJpST-WCd%Wbvjo=Ogp9pVgXsS?7ex;K%K&UiIP}ePaqyF zztWMHPcqV@J};HO#lg0zlo6qmS91VskyRrSJC1 z$Rr%m8aIe)Zfe#o(dp}fMCE%KZuC!iXGK$~l2`2u84s|X!Fi*d^^LaDqD2BsNbabk zmgHKP=XA4l`jsG+kOZB!c(9@Yk%}G?FoMEi`9ehl5*2zTaRd##j=a7B=d|jj3oR)< zLwiZ(C<1>zdx)Yz1N00Q;mfaCJgncFs3xIO%PV?ZLWS+gQ3U=ReN%oxLPLLP(LdtQ2>=A@qoo%es&!S_oeGUDVG64E zbF8iEl?dG&<3BpbDPaigBkBQ%>c&LtQlU`_NKkoz!y`2>LHI@}fmO_!0!+|Z;IGDX zvE6uF{q{qdT7~^8Knj|Vi2_q!d(hogVXJFE1$8Ic@CZY7@9jXc0Zh<2OrDU>+AkmI z(G9Dx2@*%pI1<)#&7JECT~t7VicA{Ux4yYn*mc%S$osBaY5fUhNkSb#|3GEjA{0-H zNu914N|YiL?+IU?sCfebfdbv)teW6+ekz|tC|U*Wy=AZ^ZgtkZo@+yO+Y<-lSJPew zKx6ePQr8tNK039<_WFN4i)#XH2 zs4Au>swBZ_pGp)fNG;mu!Zai5CK9@DM6q(*^PPP5q)wr}P?=e-AS7`gqBJEY`6ke4 zvfft0p$L<};@4BzBgX^ZwHHV_#v{Cr{PNcvz_Mt9BHypLGUYZOMNE(4L`(n)ItMA1 zwZiVblo4PAf&3sL_uO%)orp|($ccyn6Z8%dy?8aj^u`#?C&h5F#c&UUz@I04 zxMWp#YpTxBb75*mz!2#76S_Z~Fr9bp-zRVnA+QmHsg3b8;ylL?=;6LRx?amFb!lH& z(bLHnt}*_GxC&Ik!TYkZLem=%*JpwZaS15sE@pI%ZZ@E;6C4d~3o7V`Tl+{xQSlql zEswCQF$ql23%B+Wy`aPm$muneX=cO{)Q)8gH69o`K5b}~#z)W}tG&}lVy*sIK+(b= zPoZMdN!H3!UWXY(<$nV3n5j5C#W9ry%<$$IyK`juwm9Xg34k4ZP29YM6{PD zniOCJjc{phV_npd3qhi!hmTUcs>0w+Z;?KX=*ZPTiq`RKvP4@bP=nE3_HY7Oi6$s6 zgfd2f8c@}FF|x51QBdaF?{;c5%a$dyA*#2`vErEU4$WoRiwlH;YDzjBttC2*m9wn> zfl5g`xhOTLh5ko%@N2>N_R5r_$!^6GaDwI`3O)0o;fnhlm2As{Mt}%>tYxO&;pj-@>Q|myER-NM z7tTIUADeo2%gHO$7pO<{y^7P(%l?|i5mdxAByTT;U~IJPzDr?QUKbbALoQYl^ykCo zK%sT9Mw(=_ZHq<9(JOO9ik5$@Z(Dh|{48eG`(cO;>Y2OB z;^S#zh!_0TUZxlT6G?rlD3r)1i2}4}#w$J0%Yg;pUY!RVKXs%lI*_W4*mZ&|c37dqFW zl8Z=2$fD(L@2Zor&UJP*1d6=lvDgl}H8F8*=MlbDQQSW%D7e*`zt*t<0c#_f058u< zmqYUE%=@_w;H`y^@E*i+AN<1x@HN~A6oKzf4*FD*(oLGam*YNKh5R|8DZmH{huqmj zcW2t}Tacp&{DUJp>{W5eqvqaPJC=Tg5XkZ_JDsWFpsh7Jvct=0;Bjfcy^J7uJK4w* z6)%WMV@aPdEz_N1g%+ZDD0S`>4s`Uef`dpx$e`|R(K1kKx?V1q%a>Obhl_WR)EPqU znHB*=+fFp;-y%$EqrMoTSbR$FzAuWt(7Q#zL|@CeSiIswinOuXybe(uDNAf*y!BJ)Im!TMh`;DE~e8xTW&rE2#N6)014j9RrLSU{@CC!jedk1lucTOaBK}JV|>g<4sF;9Y- zvV3M}{9dWMC$kVH3U!1`4p-ia8H($xDYa1wvdmvsx? zP%~*`C3fgHAsc-GuwL*IKJ1~tA2=WMb61;PM~7b0`YUS+ek%1>)=ACPO95G~pudMJ zQ+j39L_#}GvRo+{7KaYhHI^mikn)QoQoEyyoPiedJ2nZZJD{k;5Q<`i6qM@hfCNaA z)OJ9YE8Btc&C+^_DUqz}aGVPiZ*{6MyxOu?f(Xf+F}m+_jz$L zO(*L4&^wCNd_+P*9*+gfvpX^95K%SxKu1tN`plq5_mc0$ovwfobSmBHipptJXm`4z zLcx~Z7w<2s^SJaTSga)YcWE&3N}@tv#d?W#Z8>6*bj=X&;tERXyHaXTgh*7hjgLh# zBte1OLYWekR|-XlM5Vqh2~AL94t7GNzAc4IiVksH2uEg1w*?iNp)F%90xMCvkmv|4 zWeC3FLZVndNlJ%`Vi8`!1S}yZbCtjL2_lBI-G#gR^&%qH4!8T~p33aA`9*qlBSm{Z zqM~Te@pSo|x#CUK61UqK70Vf`y3g)t<$ZS5giH?^Lgvo8W7T)oRnyTEx+uvFviH*Y z=XWaar4txQ>2#i}C|10Cj_*?`zSN-O-vY}j;M{XhpQmFg{^(Af25GgHHH8XQy1KGX zl7KcHvRq+$sB_U|}wWj)w0?{IFOf61qc55Q0cMl$dnaH^@#-YlL3Rnfe0$e)&8p zP2n|NpjA~?cEH`6|Kc<6x##)qxw)Hshupz+^T^bA*r&Bl+x30A%MFhyyTVy0w6bh& zt`|>|7M;0`)8k`$W~4aWs*s>snY&t5s;x)}DPB}xwx7lA>&Th|E3gy2$#Aq&j!q{> zz9~nRsNnG{ZV@L-Cm^63>MhOPQ%FYO%lCufcFv>V{+j#dWN&a$J&Lv;%wO6^=9xvo zyO;dQ;jsToFu$LYcRUL2KjI{R3d!Np!QT(TU))E*6NiHH=RM~*yVe;gS9m{|zr3H! zJ0=DHUh)^rt)KhB{C-NFI24?F$v-o|Vb@ne<@Zzao=L&~Ib==Hw6wImu}f={3}bff ze&c@2$P2#Chc7m^CTsdd!5 zabtl+zILN(l7j+w6n;Q^^;=?}MD8L7g1d!N8ylyF1NgYuli#W5m&Nic8qsOHXDda{91H6ko{UD~-z*N8~6Z&&w=Z||2{*X|_DA#%8yTDzS8#AcSx z)TqZffC!>Onx~yKPYl$R6^#%RFIkFbqng2EAIR%2PC0Ha?oBX{?6m&^RUw%ZX$#}t*QdmrXF>3F z89qE-9HdJmI-}mWvGY^FPuhNVm%`J$2u?4$Z~Ma=J>1ONa6+$Tvq>|_Y0&VGEC3`QmdZ%@0AcM^~&bW!4Nx8pctL-2RO zf3cIGLoI`+_9VVSU?E6wYvN*>yTji%2@)GZg6EwCcM$lfm0uGNxB%cMSQFg1=(*cb zaHD{qiJ5_Qu&+`PhKhy0eor z`ysTwX&sm-N$vcnfYizK0+mf6cAxrPMTo_LF$K>tJ_hU8$f8MrS*j(QaMckWh0TU(O zE)8G&qvs7wlz6++IG$5GMD`{(Fj3@f^ZFmX+^%e17rc4P_Y6MY59an}TZjw6o%fV? zwi#91vwQQDOB+rfNc7zK%<)dc#@XYa4g5k+M969J5^pN)I!4wci9(SO^v}9Epm_vS zfh9-nu?A*eRrV$y#05`JIG!5EF%@cJsmZ>Ks_a?180|pS!>FOZ-Otj)sH#MsI&<&} zC*#zro2!mInRi;jy6@T!Mab@$zwote5=6Zur!3vkl^C~0NyIJrCR#zMZSK-4)=gBh zEUaQl0t^&b>Tj=1V%om@wyK;ZhtR$Gn<5`-t^nnpnrMe7C%U&chNH>$-C2uVE}3`e zgRVA7y_Cu2X((Fg+g$QRD*noYsd90Zi*oT_F}vNHzrk|Z+`RjlH^c8KFLNV=DuiyZid6)Ogo)ys_3B+-|%3tjFyQHi_GJ-*EBz&F=E#%wRIw+WrQx zO0;f%9r(TbTF347CnnopwSBi0!Jw(5ZaZAyig5c1uBsUhwr{R=@407=*}VDn0Jz!1 z->!0ILCclfC+T${Bvrsj7vR2;`1x$Un#Z%VIE@{Pn7@FU^ZJ)vW4lN^Sn=rk*sD)9 z6ixgV*+hKEv=Q#?Pze3bMXLWPHmuGwWI=@$grNmEx_3b4reG93^%5yvg z+Fvc9=~F-&EhcjcsP8I4=_9pt8DEq`-a+4k+L)S(*SuQ2r~!yYs7+3A$`=O z5{KWV%(4DDVZGMv2KgS-H>NI6FIxC_EtVde z3QN2LnX~od7HUc>&0~)_+~2cs`t*B=vud&Z0}GfX7_+4<0agg^A6m3}!C@0{c@xLw zy7ZEm=!1V`q3ZinJ;Rtw?H^k#Z60MK#dZ8S($85WV@t$9${uJG&HE=7s9x^o?Zlj| zU)&{HdK)oE`==Hy%Qh(JMBTH8Iq*NT!1db8CP+S$D5Ut$EucQ$C_A?Jc45xquUW** zAuhDty>%$K`b~>b-?y}<&(4s4+fbnWwna13j!-#5bFJnV3?eArI_zsUkO zXmosLFPGovTd4XGKvSK+1P#|m3bww$V%2wS$R;g09baU@^sTKoxY&244LN7;v@OaaaXfx%A%nC8n==+v zuPY;Hv7PTR?bL(X)Gsw|&hnur3WIY3hcI#h-EUaYT3v!DanrWkXurfjg{SreOGgb$ zSbh-x zTY_lYR0pa3<6dXr&vy%qYo=Y=HLijwwBt|OcIc5c^1-v`P|fv zElw3P;(1J=nYT=X^kf_wBrpoi+Oq6aDY=9y_S08dv??L#oAN~a{l?REf)v`fZ5gU+pTa7(@0%=~enb{~L0#$pelsd%6NNI@H}tR_XD zg$%#Va;oD5s(Rt!O@a6w7Evz)H6m>kEERVuzSDwfMKNGD-v8YeMUPL7;+>%Mn5<~y z_gX-`z|ep=MuC(yobnSu-)DieInzLh61bhM+~$A3#nHPE8fWY-juq_upoOVpr!p}7 zLl!4HF2>Gl&W?Xkksg%`yP!$%GRW}57Fn;NE0BefNzfm$pgK}h0czAl0{^H5u2Z~B z4pChs;E!2A?MYQ|8q`MO{e;ES^I!#DNqv6OqBZCo+vP$hf69V3XtL;Sf%nrEPrnLW zXtL>Of%!8QQ%|)8%-F{Q>t`*NcD)K%p?d|?&s!+%z!#uOJ^Kq5Nw3OtB#KBk8O^_B zVe4j}04q9ID)cW~M7_>0F>1P3qW+3Sts5qR&)C5d?N=>Y-3%GfLKjQ0->_hH>Jq?8 zo%~xCY8qdnCxq_(js>fmk%%w<5T}6oT?;dfC)%JX%j)+m*fd!YSV>lYV4>6FB#D%(lujd6(Mt8VgfrGLY+%y?!YedMzQnKHh`j(>m&WQ%a@F zotoEMUh1ah^pcm*O83yC0DhwduA8S4aO}bY=;v8b9hAr|PXhJbP=I`kg{)ID+MAis zmD=>)q-gM4El{2PVvaifrR6m^t;_IPCED8v&Gf8}_vejeu5i(}VCqXOQ+1Q3dE_xy zl`pecWqw@Bw6ZEEK=YJjNvZdA>dZuZjp3eq{}uH4Y`V1nKjaRk*)?tGCd3?Dt?H_2|Hv}oL>`jb>+); z0_h``aVvrxiXEiz_*^c`=Pi=$6^&H#Y(8p%rn6L>xRxzay`1FJae3=jEmS>I;*q!< zsb`V2|0g=$UD!>og6O!uh0#~J#u>3Y8VzMQYlzyJ=4q!&*0c%b?sDY3RU=~O_1)Xc z-3?BOciHdS1S#CpS<147+$=(BscT3MDq67HMKEp66(3UkwD+K}q7!BDK3>F|(jS+-Ph;V}rU*Ah zSDbOQU|&}R)6R`*YkG0a0{*2U;FQ6U0O|Fe;ijAczM%*?MN_W0NU~+{-!Gy~=?!8F zLhz3Q<;LJYD8gy~K?yKkX2-{WERX+T5p;?M#uouB-hWiY)0;_($%q$T7|5Ib9~TjI z99bjgck){<|C1u7PJ1X#qyH&tW+q;*=Y5s7*9kGV{AWZ|xEFdkuWHx4S(gjwKPOyy zdPIj%G;q<|`Y$YwUON^2f&Ws9M6aDfoi=Iq6}<}nuZ&PM@1}luC@h!3-?F@GGi7nY z<6@$h{_EW!73KNgSS0OB#5a9-bP7KHThz`JO^2IhO?b2A$Djq|e@6@n1$;6N8+Qn= zA!^}Gq`Wi!zHRv9yCf7D5)Jw9EdlLo#fmK1cKP*J0s21}={zxo>EhG3Q)Kf$TGsV~ zwGr#ttE#!^|0fHt^V^!i7d85Sw&>b9Q|QQ@!zjCPH9V4K_56P^Vn0(a_9EmIssFE* z@hM^{Q;Dq;n)AO|^z2|g2O(lbr;cUxqRjty3$ABp1zscU|HBAd$7pM@3YjCnZrPin z5|X`AKJLG;m{Z1x!ZdHhiSGJ8E&LSgs^FuH1nmE1VfEHqtmw2r!4|v!|F)<)54MDg zY$P0^mIMU1{}17cx!_#=uw$$e?3AJR|Jnv**Ort9M>VC`Qqh!uYbi{bZmKC1``|OL z8wX1Vm2msTCM?}c*1ml^>kDSxzc>|fl= z`Mb{|Hs!B?_FjvoC&yB2sUP_fD$y4QESL@^l)xyMPS-FD=xvX@sq+@^bESPv>10FSP(tPOZ1^?vz zwlz9bXHbfhzzGYa2m7=`b*D{(^cuB*P;!vYT3&Q_myn9>`k=*nm(4_nfDB7TlP)!-T884Qak%Dq}R3ewK8N}RNq9gW^wc(jtqxPa3L%B z1q-6HA_7R|l^p|%QPrT@yE;B*arEF9yi|*3Vv+Ptmq4lz&WjeNLO9jea=c_QDtf8r zK8`yUL>pG$p2~ddf5$>-8x|pkqZK;%tPXGgyB48BsI^ybeDzLY%6D#j!op~`%eSZL zWgB-bVukumyJh1qS|n|zJ#SO5*ZB7=lwMcmP;0`{e50*g(POl?&Pmp#3pM_-g{d%` z1hc}n&)%f*Ef%F>AP`E$6&ioVf>aCy0x8~|@$D8uhn&4c2|{0*@mFo_imsh{TgG=; zC^HSZd8Fc+jPJ1k75!3oKgM6PC>2JImjuO&G5)&6s2Dno5w0e5sv=bO2P{&>uog%) zS7H1Oi&)pb;vE=&(_&QUF3ltrmtXvC3sTWt!C@;+*nh{O=wo0`eXZN{cd4pzoAmxw zNIekU^5axhtey0(UZ_^`#sA)Po3>>p8OBQfpm z#rn6A2isHmF8|mxK$~D)z0``Iv#qG&BHZF2`tP4K<|0%taq)}OxzL#=f{TA@xX=SY zS1+uA{+VS$k424QJNBOwi0N3p0IJMy`L$wotyki#vJk{?8bRn;Ow=t%;kT_6v@9h= zuqlF%e`!&^P%UgZD@RoNSB7~V2IM;C9O>^{VtPd$D;5s<2_F8?V(DR(uvRM1j{X}9 zqlZ-nW7m_Pu?#hmAyMrOr20LVgq4mhiWYsAg)%xp2~sXAx|k#WIt!tVW#R_Yr#&Nj zuSL)7f(USsc&LZhRyJ(>4M1gj{MKdOuN3ie1*na}0ZBg{}CU^>6CqRx`5bg5{kW#Nb zU@>$;nZuxEQj?RM4_m;p{SSbmC-D|7URl)xZ?W?v&f^xRJTC>D z(0vl-l!YlPL4YZB;1d?4ninB!p-bm1OnFWqUP|XP&s%_MKB`Y|-I1XDmc{iX({7y#nDmi%>1mQqNwq0OjG0bpEQdmw%El%)WNnlhdazJC=TV z0!*ifgnkvyF|Jt1@*I&MWA_x`Zdf?I>FMl4g7bndfZeoUWu>9TKc`Td)0OKMqHJH7 zi|TWg8-!zeO~W&UE84I<$ax9!oZ6xmZ$Y#nOdzEbm)jOVt3(7SAGG`?i=fALMDRX@K41CG z7DDG8MTlf>;%UW-W0l`(QT42uP+@l}PE&rHh0%Na0w%Jh4^e)H1*+^TvV-RAZPuiomm&dmR#E)3Qc33h7J8Gpjb)H2gXZUL)AUNR0=GP5e!=2tN45g5XtaLG!s&Uo zm?$qs(=Qv*>16IA#uUl@ie*i=v(cW-=sE6LYTT_Z_Lehs^M6}J_?mLP;N(iY9!;@Y9y zC!t)gw{6hAnL#NEQNP|7mq`J*$x1T{r4^lpgmLK04wamk>__)Wuwiy z|M@t_>TraY5B0l&vjiY?S@*xJT-Zb4=PX!gXk&Cl8%d&56E0F zOlUoi_3Dnre7U8s4M71%Zd_co81=kV9D(_e#i{3|aPZ|L7DErX)E-{<&=D2Uz0X?+ zJx*~)`;J*qEkh3VA1Zq-q` zKC_{(do%(yQ0DO5un45buV@eRWRJ^@ib#4pSt3;)klQ3M>67Y+gFv!ibtMShvo%*w{-sj=OrqiGaVJawp)upk z)uT78Z*Bu5J3p6A%T?9eCpUZjl{00yZz7(Aww+EsL{r4}vp5ut?LqL0(b2pC`a+7eWZA@H@Fz@Q)7bPW(n?R6Hg9@eMRv* zEX9la*u+!F1`&PuotEC^{iHWs$6j!pxml>+ZAtED6E9>3S()DVT6+80#AgObZ&SVa zeU@Z)1w`ZFhX6WRi>2iasg~bw;ZN+M(*pd)7T$W7Bkcz*g%9k4!g^<8X}HnFhLbWK zKeRvi0ecCAgj)YF;hW9)?0L7weV}JhR;eGc?C+)n_%-0`{m$|W{oXiU<;E0#bRQ|u z(Qb5JdI60o{FtSXt?4V}b82Jb)NpXCi+9oFZ159=CuW={8)!@p*Tx@dI^$I%g+&yd zpEPu??iU?D^VoUdr>v~99gaq_;^p0VB4zf|7B|~)Y=-M+%Rzh@hEEb=2e6_Z20 zC|Ukl3!Lp(RI;4+)%Xkx;Tp~dmn;QO?Ed1GB zwg5BcxQm2onmT)9Wto53(rMz^m73w`^oKVnlrGHYuUH~y_SBeQs0Ec@wNxJ8B^5si z((_n62!6v7*sWGM0@gD8mL+j&Pi-jpgui2H?6DbJ*#Tmf)bCmnO(wLGRyj!-NAveA zh283{r%-S$|G*O2t=Ax#-EaJ}(nWf`#ot>uoSmEz4S1s^ur~pnmkszli@&!9oL3Ea zizTqPQT=pw=RE7sTlbrSS-ri@QaHCK14|U(gVQEuAoz7yEIE?RKV64=|Ic;FDP2!N3IDSy}>mM?Rk2M&*3Nb_k)f(r0Rs>B}_+@al%z4aWXFGmD zyzZw^uMePN7RSvtgJh-lm0=&NXi@j15mvUDQ>>2F&iY2SHO5ByjO9HGtCw-Ib0m!M zq{Vo%={UjsQ?lW$tTg49jK}S8w?y~$#&8s;!r!Fm_eEJbZ+5Y=f4n3xz!;Z_WxXen zGwqN>oo58y&70To_nqyzn_c>Rl>py>6C0cT?wP@4w6*;W`0BTa->+M`=bp8XuYH_f zw7A))(yv>;=bpKnzfRwNz4-P;_3gKaZ@)%;`#s{@Z&cs@fcW+utCH^9@fuy?>M8Z@ zqWE^8zI{%7`{U|cdfhl7f8`BHmmbhc-+o+uOOI2fZ~vD1mY%yw-~OWdmYyU@-_ET` zx^$a;`u1V{Y3(PoK=){hS-!L2t0qy}f<&B&e=^ z{O+5^8*9D6?RI~N$U=Af?wgmg9FR++;cYjRPNDSO&s*wuUfNpX>=LBLbTP>8zSh;> zzWX{rBYfQ7zWdqdn8IZHtF~{RrM5ju|2s$j`yl@J@$IkPzW(v;yPvZ@#06Qz3pn38 z6#rWL_{}pYHmB;|eWM%Rt!nhk8TxC--OgwkH#t3r533;GaD@xCE_H5nw@dtfI71Xn zYL@SQft#yZg2|6>Z{EGPGZ+q17qHyD@V|Qd<|Po&SooNj_MGFdCHm{5_}|*czj`|; z#NE$ESa+Seb@T3LO@=E&>R_)F_zoX%m$MOkew(cwevo402k9Ap{09Hn+}ynT+TJ>3 zFh*B+eb}7z(3PM6guibT2{<1+-CLfZ%MX0j_Fvq-e)n}Neah2-S8|Km@TSwl7YF@e zXN78vU9r1w8IF24a0yy}iQ$(vM?G+P_w}^7yF`Z>>9048x~p{O05(uazoCJ*dfgY7 zamafKIst?3R5zQY_%7#gz8y7JdYq0o_uSwA(tGZ?uXSYu`=FivrL9(P-0HM^#~g1V zuKofV*+QhcHSVo%y6mpjaP{8%0(fhMUJhT!8Kv>0w|tnV!4Cb}LTU@&^l)gUx4ODX zd%}l0E4RA*SqlU2dcV6q2GFVD#uggAHfhbBI?y_Hj zG;UV60E3SiJaxEo7b_wvDRH_UEkuWPY^FxJTI*$hM>Tk%tgi%e=Dutfa|ZJnfRqMA@*ME z_4}>s-PY!~ySmw*2R*c<^`UcDpS<|Y)z*m%A8vi<#O2E;E?oWaqbQ4=E_@47IV9W! z*6)Ea2nE?~lP%Y8PoKGb>Pgf%aq`^xb5}pyfS0HwK&S;poO;;1I_6@cYpdbSN)q@Wz&VU?ci;U3&bgm6uyAh+|7K=p_~(`GBoIP_Z$NX#p`q>?vet{p_wGUl&}S&P z>n1`#1RKK$gSiEzZmo48HjG?e+PCK1G1-+C#@JduH0cPMWpj zu#?oA3$5FSI=3-ymWSc8%@(u(CXgowV&ve#I6oXb=<2i7Ty@q01xxB-VK+CR%}rpb zx`idhfhFH9x2}2#mdIJyhTJ+uwy>n53$2%S%dM+kf+cP(Y(s9{n6a>NIFNA?{oR@j zqup_XrMHslK&;psOj=*rf}#sm5U#)ikXcuqWoh*=j(A+rgdNV<96X4bWzr(Or2@f2 zAw%b^ZC1w*3qL9_m$&F>3kC`?El6huu?;Sa38#sowFSB~Lv~@c;KHo1lfx%YocrQg zJb1932|$op0Kdb&kbrC90ypa5LH8HhNK$py9qi7tZvv^1g>VLfEGldS{RpjOyWk7} zX14s(`Pf)?v)FpGJ@A4Cv1A8w<^yxO+t`jTw2%*nUI=!~xgL|w3vA)t%mu=@I5xRD zv6r0LTwpul(OB!KLHx_L{y{i7E*Sg~ZfOgCCtdtLS-^ZZ?!c2?bneO_IDmA( z<X=KyTA`z3b&3_=@k)4+1?i`hwZ_R=4d8ZZ! zvX+xrN1Yy~E;C-)<(iv$?hw%k-U_)fG@Fwt3ToD#IS?DnJi$wu%2Vg|-gp9y9q>fj zHjO7Lvj?6&yi+;RtTvseJ;@0??MzNI{-*InW%eMakL*-VG@nlAX-{$jPdk&7pOUAs z<%6S76DliGt-snVDw>E(f~1GQ&#<;KPo}a??%1 zY=W5$BIwYv^1?Co8t26xj%l?x)ZoNijs14CoVPggZLxycGGiI&?1PWQs z2Z!bWRurRXf(VQL5rsKd{y=+)Z+co$w*FTEybEN}4&?wTO0r zy-g4y-Dg_QM|5`#r*$U0ERHx+3n2*!TR&4a7ZyTih=c$>k`LYQy^dn{^LO(Ux$X8z z1=pYnLVl6VjsH!3?FQR=j;Z33i;%`|rs4M@JUvaOXHvdH2 ziWHK3V{BCVqdM#zXI&IRS5)#8qPWPXLr@Xpj~q=}^pO!s)ys~%k3A5^!l*mh91X?` z2rl~Cqb?Ee4kjELB?Jn=TKC^AUmOStaDmsH^f&#>8HL)i8aPRKtF@Cc^E4St3aKzc zW)EqVvv@6y&p=6gypkBzqEl|&!OGm~%-nkS(ED#+JMw(%{fn)aqrTobkkLuF(51|4 zZHD_;!tLBH;%d*c0q)U^U#eb#yJLQV8~LSCR>ajFU;}=SW&Be03fvv@3*5*rjqxIG z80tIeI;umHp;HNupwVgGBy~ElxOhYgq1KSj4!RUupS1d2L^N8oCW{Mp{KX^AEVX9S z0_yrQ1}hB5OmB5=rgeX7_Py_&ZQmUBJTv%Y=D^FsX=1$&p3}gMM>accniwyxdS64f zA*j8uZn6lC_3_eRh0Hk9aG+xsC#CZ-*RqcVE%$}v>G?E<36cJ}Hr`LpAdS#d*Is5i zcb*3&*C%WZ?mU{>N!749+_fy$_C_?yR6qQiG4da`R)&LFZ2SyIFSub>6siZ_amTM>slyZJ8X_W?KkX#P z@{QjAtdp4Qk~_261QFyrlPy);)avy3UfR#T`^845u;g%IuL&K9o7kUro7g^VI~?EZe;cn+4odhd+y`*)z2xqjTLQvH z_3W(Mn>+rx<17XB|pq{gjB_55;?9 zQjma?b+;Q4?a}%KSvjcyvxe5-v8mPJ+>DPcAO(dWu%&{`6ddZ_LgvgENgL}!B&mR? zka}5pC{*UjmpVZyW~4;B{bGMCs^bDO?IvrqfyfJFx)dYULcYLt zJC2E{RI4dWVJP66l$SX5)Q9}~s|>>{ zup$TiO$9W6S8A49tW~YUutd{W;Znl#>gK>b_%`?4kG}TRb=s@zv`@EnTEWFi_myMk zje=|IbZD$~8pGuYKU_HHC1e@rUxamA*!(zg9rGD7?Xj$(gk)rjW9xf}DH~ZgoA{Xg zMjD5$Fc9S|OL=AstqVR2l?oHFR$#-e4V)+Gih`PVRXN@{wp=ezE_TOdw)$W=qFc9+ zmbBvF>TuNLB}ntqF3wGbVgSF}Kz+gB+@@`PNIVjUleL12e9pso73OQ=rv(0PlFJg$exgMG?Nti~WO{rw-%W zH|F2^uQ{#Dcu)@~!X`-Y9*5}}$I-9jXdaoju`9BSGc@i%TP$>Ogac*W6*~EMZ-B*R)1bkA z0A1qS-)aw6SCPJp8O=@nygh@Yt1c4CU!XI52($L6s6VK*+{4aDu!6qMQ>U*Yrd2-5 zbfY`OM1ug9FFVJk@s#Huk*)Cd`+Up(cB0?E_kbtt&IN{T8O$s=krcUhsOQ~>^Q}_| zz;?&I&LDoGUy(o=%35B@pSPH2*5u8;^DXg)II`<#6Er^JP{AD^vPJC1Jv9)T&S!Ju zr^ROBHl$5t48G)NQP(BU<{uWT#b6$$@XUwf*SdL*iQXH3r2V$j{HgcaDCBe{9Kyt5 zwi96vhI;`$!C^=2yW>O>pL&@1BaM8Jtm99W@wp*fgXlJm<5^AR>_HJ32$S}3f-2C= z>zLj#=?3lcbH6LbedC?KR27_vVCC(8Z+)S4nf8VW$s@RvdbbbJaia{!6?Tbm$Gi{a z-3jPMC5}6>li|3+MVyyvaNJp%4968N;$Sa$p>+~RU~i1*5FoOqaJ&uY^Qg1PSsHKQ zwB34!#TA?@;y!f;ua=MCK*$CqW00H~suF_AT7*mZG-HGlw>A->tAwEn76!*5R|f(_LK4$@1>1L8Et9 zakY0FhGDAE=%kryq04i+3PnA4n#7)^C^}8WHy2iJKaC_rO4ux_D;2>4NR^Q)NrM%& z>4*GcnLb`lA7Zh6>By8tItnbJR0NW7>Zs;ij0qnEg@Xr=Vc!wTwTU3Wjn4Xdhm6)y z?8 zmgxRef9NcW1#EPvpJ%9zDSIo7=gEk>aOSl03Qoj19=k6y_z%lf)W36a5Kl)f_yo1g zV%(W=-V~7#|9ou^eg(!O)DHCV5o!lAm!G`2gc-!GkV&T5cc;=f%k+5^NQvU5RQOU3 zayHCFj)d=+jLLI3^S|E1`8HR8x?~!y56ddlSsCC*AB z;S+BH{mcg&?0$>5LcHP+GP}MS(&A`3=9DkBZ`jaLcc;gjI%~2C)J3{R2 z30&&o;>?sWPbou5soSl~NI34ov%G=ZJ#Z}kWh{{H%;3mNIBLQ=%|4?UNW}O&1+kIU zJK@E0@48W1ZXG{|L)tc;d$G4NSzDaxY)*!-VQXEwOeX%Ru;iav5O;|#zGm%3h>m7V zH#)Pi5>;Nzs@Z~n?q%b!EVPc?Ndiv@V$u~5u)78Y5YY~7;$ERmIx9yL2Bgn6q-};B zFAX3a6r?<=R7<+b7@59m>s^?f`1j1;l7)FF)BRJROiAgfInm8XZKcBWuTbckCrLJg z@3V@Hb5-(6Nl@3gDAn=R(~R3$S)nYd{*v>ly;=3)3UB{HOeC1a5Uuck;}R$L?56wM za1=OO#=PPq7`|qg(|i4CZ@Q9T%d_G1b{;nn(BK$nnluUvCqi{cY_PO%IqtExMBtn5 zFG928Z47+N0j)aS#AJi1q@Q&5yB-iz$50!7bIDEYCd_77;y{zh!f)* zZI76A&@b47NEc!hsWH*k>Fz4FDiG4ZUR9zLqEU!JWkG)G?^YsaiyO|CL+@g(JGue4 zk%A{I2-+IsGfi~kN+{Lxjc&Kj-54MR3`1r$d`7ky!%VXi>(UW?iuI8M>7SQP)Tdew zVyQr_$N}OFkz55k5vYQlOl|kh5Zz$mV|~*71EZ0V3PuGZMajAGgiSkheYqO!`EIAC}j~t2|7&kAs-rrK^>H-LV&j|cmGV*GGNH@u^ z0NL?z!-$$2d=rPAr0$A2qY(~_>M|bDeeAd(_ZdUijdt(w@W`L1rPd;XBfKocPwy=) z=2tGvBZ{_&xNEj3lxxPLM>2OMA7rpi=w{sMf*7dVl}I)UMldrXn5LJjlLoH1-42ZE zcoA8Q%_6wNO$k<>EL7||n@@lPX{l%Y^a~kaQ{VX*BoK-m5iG_o-KkfD%r&#vIoSgb zN)k<|^jAYnSFsH0yN7aI18?N+;I0kJ@A8PPH66*;0*NqKgv0p8J(`UD!DeC}dtS?w zs=>D|HjoO{E%VPRg#9Fcg;&HPx5@P}=1(rWq%J2J6f0FS>nzp zYzz<>vTUPv*4OZ&d|a2n|!iW7;3;~_hWdC z!cH`Dzj^1;e?n)WmBB0!4$V!J2e<*2V)2OuAa`%j{^N*j3STTh43W;#zY2a(Ff&e6 zkQTcnGO!xVoixcFZ7vk@v^FT&&PR`FYn8vIb?_3x6#)~cVrN=27LPD(yH{sI!?A)R z55spalC}w59Ow-4EZs$u3jr!d6Q1=|=nLHJK!)frX+$!Ean(&47Iqgf8PRnF`FC-8 zNK)soNxe$d@HtN~syMSyDoV!*Z^NVl0}+m+IDAlf=@uW^U+Ib z7FWoIKyDhUqX~{=oC4|AWL*7{ChUC004t6gLxbDYY<K<~$dsrMCH-iL+Ur_T~G zF5#|H;sM26S<rKnClH<=Tv0s}OIB?lAyOG;? zCE7MRdh5apLHl#!SZiXyge-g_T(DzQ0!EA%?+7UH&reaK23CXJ*-wj>nbok{%qQh( z@eg0nyBd5M*XUN)b1*hLZuxw1f+M2N0EJBiGD}#;!ok7&NjEUXO3QVq8Lez5M zh$XLI;ZE|o@H__GS;c}4uQp&M2N5AIt$DX_%4SuJK=RSNcKfj97&n09#86Hm?;?yl zw5hyipf9rRJ1_Fg$=$%yBKqib_=GASa(xi(#*1s%3&t{s>QqG1K#*N$PwX0ZqP&d> zEW2;71)t-2=?Bmd&kB(;P-G5^GY%%&!c-x&1!tcf13Vt;!f{lK{&6@raFh`vlTxOY z5vUo=4!s)RyIxaC)H^|mN-3O6-(W z;L%fB+i5{f3*vz4UCTl@vwF0|d3D0HxnlHbu2}7jAx>hEg-HG&m2t{>C_e!2-Ab<@ zSxnVv2ob<4j%8D^=sF=bYUvUZ*u#*St#3_tNaGOk=EzD|X_3v$S7gLI{kue_5^+nM z%%`}!JBb!^#3BXn90m$J-&yoIk)A20}C@o!?=p%}3#lv|9u=h*f3*Wi#eF@(J5QcccD z>G`sy541udtnlur2oXmc5lxn^2T~46PWhM?I}q1mcRuenT>bt-AQ-xG7SWG`2g9eH zjXV&-V@+DJ2BYn=n|Xse(wOiA&O0UL*9sgT;~3Sb9vGg0t00F)Xj)Q|3dMJ=BGnI7 zq>AsaT4TcTDu{qy^cGTENkOvkGMRU|bDt{ZV}iSEo(wnD@To-nVUUV|r2r>{<^sBb z;)KG~NnC$4V=6i;JX=(1z3a4G@9)d~yrglQk$^x;Kj~s;~q|+N+7s?GW$82))_9G0vsDjVq z#v^(kV$Ok~YtwmyYfR^Pg+fS9XgchPyPxrHiev#?I%W~?q?-9ZMhSWpV#PU#|86Qq z9-GeVyVx|*uOKd>)Ok%8rDoPEs^*d9ye3DM>ndh(?z|qwx$CN>kau1SA@90MGM=4R z^zrPv%9$p_ka!M}eIL2tKIWZhw&a=H+rW%pp?Ft{CS<#9ySL~;-(C@ai5RY%6L#$+ zL2lI(MGI4in>rWv+Zh7gS7(i68=>}R{lVE!Ax{jQlutmbOx0u6EfxQr9hI3j)Be>k_yzu>{2!>xxZ+~rKpM8}I7tz)u=8P{f%yM>n_5chM; z9d12PQxb17G%R_%amfc%NhVMJ?Q(yJr-Q*3ufcq{gAHWGP<{d{JRZdZyqAueVf6+t zx8u%5`4mTJcRsLVgMG>&(?E8ednX2$2aIsV1AmxG(z?lg=F{6`LZnC?$ZR3y7ZPd3 zp^rf3q|)j=BolDH8lW@R0bJMtb(TfYASBD&z=H zIZZf?)9K%6Ep=1Ex)K_(%GXgwVW zb2)6?W%qPMNG9~_YWFoQWI6LMolt-Z68Y>t2*(vgMTuPY@;kzU@v35KZq=S~Ck2e$ z)Im!Ph!xavDH-)R5)pk&J84(mU{-^C_a1Y1@?7F9<-$_!$&h3*cK~mKVjF7CoMSs+ zcc!c-Hj`G3(Q`#?_y)ar8XKhY6TO8bs!Pakq$$s-AzFF>Iuwt|(ce;s3k+OF=S0#_ zT)In5WNJozV(}D?ET$33CG;HuEG7Pilp>vDY&(^JbCs)R$jmk;A@hzpi=NG`iVw!x z1eIuqnxuZ`XLo!8lM^-H3=zeUGvbFBw=PWGt~HPIC3^1aJ+8_oolk)+9Xq|`Se;w$ zBU3TIs{{lQcEkU1vz;G9DX*R`FF_7HUt&U9O(so-RD(I-pUWoO-fe%Cjtx>OHF=aT zya=m5_1GY9X+T4do%Tlq(^~VDBhrhBY7!b-cUv``RQySqAN<013%T2JW znRf^!Y_B^wndi?V&<85PKb&ZDXA@W2B7rhp+wJ5O0ZY^f2;!RUa`x+I}EJbH>yY0JVgVw6om^*UI{10fBVk zSb!!J?UKWVU8p*6zyVpjW+zWb;B-O$3!Ui6YUP1dVu|aqkSX`+lQ!$x zjgytmmWrd5FLbx?$`+>fctBVltmH`}oUAOLr+jA6gDTZmb;ZGIXA&| z_FW$C)bsP?Y0l@2`jgLVx0l$@3p*xoc*)-3HEoz&Eacssb?qpAA@i0TfUSypWM#P? z|KjUyrFsbZPxv)UCV&OmA)XcK@j|#=d;NBpig0nJO?h`OUg_$mj$JQ|77JOw- z5rsSx0nzcABf3uWAcOb4m|Bl_{M=t80>|Q_`{Dn5 zDQ4}{L_&hb{>K0DJ53Py zgMQ#I7(D!e|KoRh#SKj3w`Kf-oh#&m;HoS9&OftE1Q))Gm(Ic<-f$7EU#lVq(r#G+NH<_{{&ncmI3lzh|Lb*!XI{+PT*+MP_oBc*pLw_q)BQu?X>PP2zsl@20e0_|zs{ z8=viq-%TR_BzxWP5a4;?RKQ@lyL7!fd9m9aEFI&mJh}fMzI}ZV8n^ere*=eWJ=AAF&Jix+jCVW8Yj62y>s?XmS{Kpt_?k8R;*zjZ zbLf8EYZU(pK97JT;~R7pJ5&|7{quchh1==4gM9mY%Xt0~nH-#d9JkWKE21PJstEKr=WgJN3?KGLNkQ=w-2tWS#jD9-!%_lR2hF(IPJuM*Ar1mgp=)ID&p6QbC!s3D4#*YuXU*AR9>6tHEYG|U!S zPva$%_04tcBk_h}NHO3m?P-VR`jGQ^8pze*Rnh8TBj{=L(tgn*yfQ5^2B}?Jdv2G* ztD=>+Yd>gJw~NeKYS&A9ZkNL=w~Op$>aYEvRo$*v_c-$FBd6_g?Bw#utCTBbHeazr zMc38xgTa1NF`bEl6%8vG+IEgcI{NcrQ-nf1JcZzYxziQzTBPW3EI}n_$Uw|2wCD%U ztI^cXe|6vt%+MgiU-X0j;_qlK$6utV_>O+a{d#=E<>&{>Im3>U?w9b%R`>)-0j|tT z;ggpVUOL^CXC=_ZKkV7KV6%HaDKt9>XEFTZJ)9_l#rPY!sh#Wn?xOnvf0~b9IMl`b zj}*?1!V_Lr;TRIRX1IZSV+H4nYVQHy6gNr~4!*C`gf8Yzs6%dYk+j$+AFDS@_;_Wf+TFCZwayB-|d&*yinf7;GL)yEu*k4wGj0FO1g=6D z&5dz4KB*u3Bsc3(IyuK&Y>G4d|TxnvzXIMfzDjdml%{qaW#1v!FqFK4&qQz?=QIP*`?Pj7x3ulB7YRnUq70`#|7fD`*Q5u5AGx31Hz za$p8T@#0>;H<_Dl&z8GHwV)02j*Cksa~)*S5uE;4RsQ-8%P*_)BqK7L?r^B0Vq29hXo{ONz z(O~XYGjl`2J!Yw1qYqiZnc$g5$kx5rD07sPp4^Abo(W#DGPGg~ z-9=#OU`}k!eRLZymh;^X1T;pv`7$0Lb8{t4Vx2x3xk8o$*Wb`p-@UZ`cpnRs7@UU( z=PM(qr5g-;#xydT)C;S<5xM|0Zqie^++FlA7hQn^Cn6ROeFT&x8d)rnHXgAUZAo#= zw~$#Fgm_=;Lztd0?SUI`P3RFQT$3^G;&#oI*4zL$ixSBLC>we^;J}*;+35InE@E6; zm~S1;jO`j&JJvpiAaSS>S@9!b&1n#+K27mF(6Fe*FSqLk0R;|;`%oUg+ztz41mWo3 z?3!fR^Yjc7-!rT+vPgvYeI}c@ePfPwaqbwB8|-gMyt$6TG{z}C_+O>z+{+>4PRO58 zTC^7dSyEcP>|T;MA3UOdU@H`e`EL?;lp9ltfnK94MGF}CCSg#hxf0`8B?i7p7{0}M z<_N(`MR2{xZ}M@o8hOuW#&}a3E;ea`1Hcf&qkdRR@j&(l-P^kk{_MEtHK7Jk)Hw8m z6{OQK@N{0pt{P{4uP6<~j#Y+<*Px$@`ZNo;q+a{B)+2xPa`M@z+vFhIwc#NsJ(y!d^N|>)r$(dDFD?oLdPgucm?yhG z_R4DkUtNoPe2suh z@ie??&n&V3;;>ubxxbR;RGDuc$ibO|mO~r)fH{%PxXB$Qa^+CcpFeTs$?7^@igV|M zLUHzG{RO_Ev0*l>iiGB^FbXC85zdW6!@M)XfA&^tnne7Zy8nJo@pXHUeA_EeEc6|} zNo7JoY~xKvsi*w93?2u8)p6trSr=I0b$U3q z>r;UF;Trd{lV_Ej2fC3Evf^!5e{_wS9C|dcoohj8Wx8&`e}cOeLV0)?p%_tsj=0e% zPTk32h*uKV$MjBbx)I{#08E;lUP4->$Z9)#MV6@g>NpcU^9&woI_>m}uPsQI>|m8l zCo!pofjt_bVYNGMrxp;VJ)-ESq)E`Lr3aIGNRHQ(!NiQz+;b4+nW;vhxQ{DjrHP@i zrAIBHe|aAU50El`ijE(5m%O>bw3^ER!8N;h%CLu5&_|P{_3n7BH>9f#vBq~N4e29y z*CBS*y)mQXwLVwDOEf&}TAyc7F}BY!adPhYxms+<6Bqm=9#2U!bK^O%h5b5|K6f!} z+e33)TT%sLk-?}LI0L}wZK{?HX@@GCNZByM<+UqUTDOk2Z&Ox*Yd;3!czM*@;AiPc z76UAAvN6sCV`0Tp{ST)e=o}s1 z_Inv57VuwoWWgs_xL$!x`Lube&W(2nrXn{p94t(aOE|UgYLt}6hb&aii8s5>c*Vl` zzzzF}i(Ws^cP6+QwL3>-7U_S*F(s8I9-SC3hMrDi+wG#k4981MYfqy%6~LJl_eF135lRu}w z5Y8VEiOby;{Ake!Tm1J50nIqNs5?Tmm_EPAmu-z_^h_JtU!G%W=wKS4n59rE(qPQO zd|h?wbe>jSm6FgWH2C})f_@G0%p0T5#+pL$WlQsZVUXg;Z@ec3l*iu3xK3ls?I{s! z><{?b?bb=0^7lve5sKO9ceZF7rOyt7@fC_R>BO#4`I1S%xLm^nuI|cQGRV+1Z{g^& zYO)&agFw-cO2NV6&ZINPav{@5TSgOHy4%Gba#9h#IzfI40F* z8!5Cd&6lNfGgsrH6KhWhh;$)59T$cZmS@?)3HQ>5yFehM!8);ePrVgpA9Oa|7L54W z1~yg(cs>Ja%?U)#r9T8kp<96uO@=TDx4PLoa^6jl!jql|im;t0Gcf07*_qDfWH?iB zAY4Ir0Tj6){%@>VxrWQ^$>$N$Gn8`%y9otfGLZ-$SQ@c^eIrZ0kXz#U%k%t}p=>^v zh$lNKwIoHr_z{UJH_JdH0y_=*SmfCzWLQRyClkb97Vis+h;FFxCGjM6`gb4P3V2I> zGV*ZNa1kLJ%4=|EkEUSY#$*GncGAP|erqq!x`KeYka;%}p#CI1G}vWrT|3f#@OkXQ zrhx>cdyGgH2YVbZX#0{j>e=J{Mv@56NuNP=Lbbt>dhS3k86C{97W z!uz%s8cT$;r~}ktiXkRjlim0$OJfTW(F~=~L_!uL;iYA){T{DBa83fhi!F0lsj$;H ze;^TK@ksmFgGe92vaHP?(hZONAvW<{S$`#mEE{ge@MYt;B@)>rNPphfy5gQg;?)aJ zDPh%z)L7()u*XREyrj)%st0kp`G=*ZCoit)Cy!zQI~eb4UA=hvB0VIG`}ExE0I%AQ z2IOm!y>ZltBZn&*MI4c%v_yPTA0X^-gOmp9GA9~!AX5pdMgP#2nOJ*<42JAf%PiF* zrpRt!yy0m#Qwi22Fa�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 MZGVlDyLt8Q-R#X+D6+Dlyc!5csv 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 UVHs~Gko$DedDE|Ev!nL^1&dQUNB{r; literal 748960 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

    Navigation

    Related Topics

    @@ -800,7 +800,7 @@

    SubpackagesDocumentation for SpatialPy 1.1.3 + Documentation for SpatialPy 1.2.0

    pNI&P08y^*l4i6J-8)qYt%ZN8g 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 diff --git a/docs/build/html/.doctrees/index.doctree b/docs/build/html/.doctrees/index.doctree index 1c11a0ab5bd1c74afc75e743792653e87a95ab39..43787c1202ad4525de7f3e1b82b422b7a6e26614 100644 GIT binary patch delta 16 Xcmcaxbhl`O93!)lp222CMjHzNIK>4@ delta 16 Xcmcaxbhl`O93!)#p7CZyMjHzNIL`%4 diff --git a/docs/build/html/_modules/index.html b/docs/build/html/_modules/index.html index 3516536c..156c6762 100644 --- a/docs/build/html/_modules/index.html +++ b/docs/build/html/_modules/index.html @@ -5,7 +5,7 @@ - Overview: module code — SpatialPy 1.1.3 documentation + Overview: module code — SpatialPy 1.2.0 documentation diff --git a/docs/build/html/_static/documentation_options.js b/docs/build/html/_static/documentation_options.js index fd8f8380..edac509f 100644 --- a/docs/build/html/_static/documentation_options.js +++ b/docs/build/html/_static/documentation_options.js @@ -1,6 +1,6 @@ var DOCUMENTATION_OPTIONS = { URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '1.1.3', + VERSION: '1.2.0', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/build/html/classes/spatialpy.core.html b/docs/build/html/classes/spatialpy.core.html index a1655d92..cc0c1571 100644 --- a/docs/build/html/classes/spatialpy.core.html +++ b/docs/build/html/classes/spatialpy.core.html @@ -6,7 +6,7 @@ - spatialpy.core package — SpatialPy 1.1.3 documentation + spatialpy.core package — SpatialPy 1.2.0 documentation diff --git a/docs/build/html/classes/spatialpy.html b/docs/build/html/classes/spatialpy.html index 062f31dc..b4c8242b 100644 --- a/docs/build/html/classes/spatialpy.html +++ b/docs/build/html/classes/spatialpy.html @@ -6,7 +6,7 @@ - spatialpy package — SpatialPy 1.1.3 documentation + spatialpy package — SpatialPy 1.2.0 documentation @@ -19,7 +19,7 @@ - + @@ -73,7 +73,7 @@

  • spatialpy.core package diff --git a/docs/build/html/classes/spatialpy.solvers.html b/docs/build/html/classes/spatialpy.solvers.html index 3a6e6e2f..7dd2ba9e 100644 --- a/docs/build/html/classes/spatialpy.solvers.html +++ b/docs/build/html/classes/spatialpy.solvers.html @@ -6,7 +6,7 @@ - spatialpy.solvers package — SpatialPy 1.1.3 documentation + spatialpy.solvers package — SpatialPy 1.2.0 documentation diff --git a/docs/build/html/classes/spatialpy.stochss.html b/docs/build/html/classes/spatialpy.stochss.html index d2b506a3..6cec48eb 100644 --- a/docs/build/html/classes/spatialpy.stochss.html +++ b/docs/build/html/classes/spatialpy.stochss.html @@ -6,7 +6,7 @@ - spatialpy.stochss package — SpatialPy 1.1.3 documentation + spatialpy.stochss package — SpatialPy 1.2.0 documentation diff --git a/docs/build/html/genindex.html b/docs/build/html/genindex.html index a55a44a2..c09fb814 100644 --- a/docs/build/html/genindex.html +++ b/docs/build/html/genindex.html @@ -5,7 +5,7 @@ - Index — SpatialPy 1.1.3 documentation + Index — SpatialPy 1.2.0 documentation diff --git a/docs/build/html/index.html b/docs/build/html/index.html index f94625f5..5eaa2e4a 100644 --- a/docs/build/html/index.html +++ b/docs/build/html/index.html @@ -6,7 +6,7 @@ - Documentation for SpatialPy 1.1.3 — SpatialPy 1.1.3 documentation + Documentation for SpatialPy 1.2.0 — SpatialPy 1.2.0 documentation @@ -94,7 +94,7 @@

    Quick search

    -

    Documentation for SpatialPy 1.1.3

    +

    Documentation for SpatialPy 1.2.0

    SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems embedded in Lagrangian reference frame particle based fluid dynamics domain

    This package is intended to replace the PyURDME software https://github.com/pyurdme/pyurdme and will feature both a NSM solver for RDME simulation on static domains and a sSSA-SDPD particle based fluid dynamics solver as described in the publication “A hybrid smoothed dissipative particle dynamics (SDPD) spatial stochastic simulation algorithm (sSSA) for advection–diffusion–reaction problems” by Drawert, Jacob, Li, Yi, Petzold https://www.sciencedirect.com/science/article/pii/S0021999118307101

    diff --git a/docs/build/html/objects.inv b/docs/build/html/objects.inv index 803ee78811d58a4a50d7e72592715cd3e564d534..269d44cde51322eb5aa0be62aa0e9ee74adc35cc 100644 GIT binary patch delta 3051 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 t}lU{0~t0MP20j%+&w@ delta 3051 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 - Python Module Index — SpatialPy 1.1.3 documentation + Python Module Index — SpatialPy 1.2.0 documentation diff --git a/docs/build/html/search.html b/docs/build/html/search.html index 2f522b1e..9e7c6664 100644 --- a/docs/build/html/search.html +++ b/docs/build/html/search.html @@ -5,7 +5,7 @@ - Search — SpatialPy 1.1.3 documentation + Search — SpatialPy 1.2.0 documentation diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index a888ab43..ae1c6939 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["classes/spatialpy", "classes/spatialpy.core", "classes/spatialpy.solvers", "classes/spatialpy.stochss", "index"], "filenames": ["classes/spatialpy.rst", "classes/spatialpy.core.rst", "classes/spatialpy.solvers.rst", "classes/spatialpy.stochss.rst", "index.rst"], "titles": ["spatialpy package", "spatialpy.core package", "spatialpy.solvers package", "spatialpy.stochss package", "Documentation for SpatialPy 1.1.3"], "terms": {"core": [0, 2, 3, 4], "submodul": 0, "boundarycondit": 0, "express": [0, 1, 2], "cleanup": 0, "cleanup_build_fil": [0, 1], "cleanup_core_fil": [0, 1], "cleanup_result_fil": [0, 1], "cleanup_tempfil": [0, 1], "datafunct": 0, "map": [0, 1, 2], "domain": [0, 4], "add_fill_act": [0, 1], "add_point": [0, 1], "add_remove_act": [0, 1], "add_set_act": [0, 1], "apply_act": [0, 1], "apply_fill_act": [0, 1], "apply_remove_act": [0, 1], "apply_set_act": [0, 1], "calculate_vol": [0, 1], "closest_vertex": [0, 1], "compile_prep": [0, 1], "coordin": [0, 1], "create_2d_domain": [0, 1], "create_3d_domain": [0, 1], "distance_between_2_vertic": [0, 1], "fill_with_particl": [0, 1], "find_boundary_point": [0, 1], "find_h": [0, 1], "get_bounding_box": [0, 1], "get_domain_s": [0, 1], "get_num_voxel": [0, 1], "get_type_def": [0, 1], "get_vol": [0, 1], "import_meshio_object": [0, 1], "plot_typ": [0, 1], "preview_act": [0, 1], "read_msh_fil": [0, 1], "read_stochss_domain": [0, 1], "read_stochss_subdomain_fil": [0, 1], "read_xml_mesh": [0, 1], "set_properti": [0, 1], "validate_act": [0, 1], "geometri": 0, "combinatorygeometri": [0, 1], "insid": [0, 1], "valid": [0, 1, 2], "geometryal": [0, 1], "geometryexterior": [0, 1], "geometryinterior": [0, 1], "initialcondit": 0, "appli": [0, 1], "placeinitialcondit": [0, 1], "scatterinitialcondit": [0, 1], "uniforminitialcondit": [0, 1], "lattic": 0, "cartesianlattic": [0, 1], "cylindricallattic": [0, 1], "meshiolattic": [0, 1], "sphericallattic": [0, 1], "stochsslattic": [0, 1], "xmlmeshlattic": [0, 1], "model": [0, 2, 3, 4], "add": [0, 1, 2], "add_boundary_condit": [0, 1], "add_data_funct": [0, 1], "add_domain": [0, 1], "add_initial_condit": [0, 1], "add_paramet": [0, 1], "add_react": [0, 1], "add_speci": [0, 1], "delete_all_boundary_condit": [0, 1], "delete_all_data_funct": [0, 1], "delete_all_initial_condit": [0, 1], "delete_all_paramet": [0, 1], "delete_all_react": [0, 1], "delete_all_speci": [0, 1], "delete_boundary_condit": [0, 1], "delete_data_funct": [0, 1], "delete_initial_condit": [0, 1], "delete_paramet": [0, 1], "delete_react": [0, 1], "delete_speci": [0, 1], "get_all_boundary_condit": [0, 1], "get_all_data_funct": [0, 1], "get_all_initial_condit": [0, 1], "get_all_paramet": [0, 1], "get_all_react": [0, 1], "get_all_speci": [0, 1], "get_data_funct": [0, 1], "get_el": [0, 1], "get_num_react": [0, 1], "get_num_speci": [0, 1], "get_paramet": [0, 1], "get_react": [0, 1], "get_speci": [0, 1], "reserved_nam": [0, 1], "run": [0, 1, 2], "sanitized_data_function_nam": [0, 1], "sanitized_parameter_nam": [0, 1], "sanitized_species_nam": [0, 1], "set_timestep": [0, 1], "special_charact": [0, 1], "timespan": 0, "update_namespac": [0, 1], "export_stochss": [0, 1], "paramet": [0, 2, 3], "reaction": [0, 4], "add_product": [0, 1], "annot": [0, 1], "from_json": [0, 1], "initi": [0, 1], "sanitized_propensity_funct": [0, 1], "set_annot": [0, 1], "set_propens": [0, 1], "set_rat": [0, 1], "to_dict": [0, 1], "result": [0, 2], "export_to_csv": [0, 1], "get_properti": [0, 1], "get_timespan": [0, 1], "plot_properti": [0, 1], "plot_speci": [0, 1], "read_step": [0, 1], "spatialpyerror": 0, "boundaryconditionerror": [0, 1], "datafunctionerror": [0, 1], "domainerror": [0, 1], "geometryerror": [0, 1], "initialconditionerror": [0, 1], "latticeerror": [0, 1], "modelerror": [0, 1], "parametererror": [0, 1], "reactionerror": [0, 1], "resulterror": [0, 1], "simulationerror": [0, 1, 2], "simulationtimeout": [0, 1, 2], "specieserror": [0, 1], "timespanerror": [0, 1], "transformationerror": [0, 1], "vtkreadererror": [0, 1], "vtkreaderioerror": [0, 1], "visualizationerror": [0, 1], "speci": 0, "set_diffusion_coeffici": [0, 1], "arang": [0, 1], "linspac": [0, 1], "transform": 0, "reflectiontransform": [0, 1], "reverse_transform": [0, 1], "rotationtransform": [0, 1], "scalingtransform": [0, 1], "translationtransform": [0, 1], "visual": 0, "mpl_height": [0, 1], "mpl_size": [0, 1], "mpl_width": [0, 1], "plot_scatt": [0, 1], "vtkreader": 0, "get_array_nam": [0, 1], "get_arrai": [0, 1], "get_num_point": [0, 1], "get_point": [0, 1], "read_fil": [0, 1], "set_filenam": [0, 1], "solver": [0, 1, 4], "build_express": 0, "buildexpress": [0, 2], "validationvisitor": [0, 2], "getexpr_cpp": [0, 2], "getexpr_python": [0, 2], "map_oper": [0, 2], "operator_map": [0, 2], "with_blacklist": [0, 2], "with_namespac": [0, 2], "cppconvert": [0, 2], "cppexpressiontransform": [0, 2], "get_str": [0, 2], "visit_and": [0, 2], "visit_or": [0, 2], "expressionconvert": [0, 2], "convert_str": [0, 2], "parse_comparison": [0, 2], "parse_log": [0, 2], "parse_oper": [0, 2], "visit_add": [0, 2], "visit_binop": [0, 2], "visit_boolop": [0, 2], "visit_byt": [0, 2], "visit_cal": [0, 2], "visit_compar": [0, 2], "visit_const": [0, 2], "visit_div": [0, 2], "visit_ellipsi": [0, 2], "visit_eq": [0, 2], "visit_gt": [0, 2], "visit_lt": [0, 2], "visit_mult": [0, 2], "visit_nam": [0, 2], "visit_nameconst": [0, 2], "visit_noteq": [0, 2], "visit_num": [0, 2], "visit_pow": [0, 2], "visit_str": [0, 2], "visit_sub": [0, 2], "visit_usub": [0, 2], "visit_unaryop": [0, 2], "expressionresult": [0, 2], "pythonconvert": [0, 2], "compil": [0, 1, 2], "stochss": [0, 1, 4], "stochss_export": 0, "export": [0, 1, 3], "class": [1, 2], "xmin": 1, "none": [1, 2, 3], "xmax": 1, "ymin": 1, "ymax": 1, "zmin": 1, "zmax": 1, "type_id": 1, "determinist": [1, 4], "true": [1, 2, 3], "target": [1, 2], "valu": [1, 2], "sourc": [1, 2, 3, 4], "base": [1, 2, 4], "object": [1, 2], "set": [1, 2], "spatial": [1, 2, 4], "region": 1, "where": 1, "properti": [1, 2], "particl": [1, 4], "ar": [1, 2], "held": 1, "constant": [1, 2], "updat": 1, "each": 1, "simul": [1, 2, 4], "step": 1, "condit": [1, 2], "one": [1, 2], "more": [1, 2, 4], "follow": [1, 2], "must": 1, "float": 1, "min": 1, "max": 1, "x": 1, "dimens": 1, "y": 1, "z": 1, "type": [1, 2, 3], "subdomain": 1, "partcil": 1, "str": [1, 2, 3], "nu": 1, "rho": 1, "v": 1, "name": [1, 2], "chemic": 1, "also": [1, 2, 4], "fals": [1, 2, 3], "flag": [1, 2], "axi": 1, "lower": 1, "bound": 1, "upper": 1, "int": [1, 2], "id": 1, "bool": [1, 2, 3], "i": [1, 2, 3, 4], "boundari": 1, "yet": 1, "implemenet": 1, "stochast": [1, 4], "can": [1, 2, 4], "If": [1, 2, 4], "determinst": 1, "3": 1, "take": 1, "defin": [1, 2], "creat": [1, 2], "evalu": 1, "string": [1, 2], "return": [1, 2, 3], "A": [1, 2, 4], "represent": [1, 2], "build_dir": 1, "all": [1, 2], "spatialpy_build": 1, "directori": 1, "path": [1, 3], "build": [1, 2, 4], "remov": 1, "option": 1, "tempfil": 1, "result_dir": 1, "spatialpy_result": 1, "abstract": [1, 2], "us": [1, 2, 4], "constuct": 1, "data": [1, 2], "function": [1, 2], "rais": [1, 2], "provid": [1, 2, 4], "point": 1, "thi": [1, 2, 4], "method": [1, 2], "overridden": 1, "subclass": [1, 2], "note": [1, 2], "The": [1, 2, 4], "locat": 1, "evaul": 1, "t": [1, 2], "0": [1, 2], "re": 1, "fluid": [1, 4], "move": 1, "over": 1, "time": [1, 2], "posit": 1, "numpoint": 1, "xlim": 1, "ylim": 1, "zlim": 1, "rho0": 1, "1": [1, 2], "c0": 1, "10": 1, "p0": 1, "graviti": [1, 4], "action": 1, "attribut": 1, "space": 1, "total": 1, "number": [1, 2], "2": 1, "rang": 1, "along": 1, "background": 1, "densiti": 1, "system": [1, 4], "speed": 1, "sound": 1, "pressur": 1, "acceler": 1, "cartesian": 1, "spheric": 1, "cylindr": 1, "enabl": 1, "prop": 1, "an": [1, 2, 4], "when": [1, 2], "fill": [1, 4], "default": 1, "dict": [1, 2, 3], "argument": 1, "ignor": 1, "indic": [1, 2], "els": [1, 3], "addit": [1, 2], "pass": [1, 2], "ad": [1, 2], "wasn": 1, "could": [1, 2], "construct": 1, "vol": 1, "mass": 1, "unassign": 1, "fix": 1, "c": [1, 2], "singl": [1, 2], "vertic": 1, "volum": 1, "cradded": 1, "viscos": 1, "artifici": 1, "contain": [1, 2], "invalid": [1, 2], "charact": 1, "from": [1, 2], "start": [1, 2, 4], "end": 1, "preserve_act": 1, "order": 1, "index": [1, 4], "inclus": 1, "exclus": 1, "after": 1, "its": 1, "support": [1, 4], "within": 1, "have": 1, "exampl": 1, "lattice_obj": 1, "geometry_obj": 1, "miss": 1, "calcul": 1, "find": [1, 4], "nearest": 1, "vertex": 1, "given": [1, 2], "gener": [1, 4], "list": [1, 2], "check": [1, 2], "preper": 1, "file": [1, 3], "get": [1, 2], "numpi": 1, "arrai": 1, "classmethod": [1, 2], "numx": 1, "numi": 1, "kwarg": 1, "2d": 1, "highest": 1, "lowest": 1, "keyword": 1, "uniform": 1, "numz": 1, "3d": [1, 4], "distanc": 1, "between": [1, 2], "measur": 1, "geometry_ivar": 1, "deltax": 1, "deltai": 1, "deltaz": 1, "geometr": 1, "shape": 1, "instanc": [1, 2], "minimum": 1, "box": 1, "maximum": [1, 2], "were": [1, 2], "exist": 1, "np": 1, "ndarrai": 1, "dtype": 1, "h": 1, "off": 1, "which": [1, 2], "ha": [1, 4], "greatest": 1, "neighbor": 1, "entir": 1, "limit": 1, "tupl": 1, "estim": 1, "size": 1, "averag": 1, "diamet": 1, "circumradiu": 1, "tetrahedron": 1, "part": 1, "mean": 1, "incid": 1, "cell": 1, "voxel": 1, "definit": 1, "mesh_obj": 1, "subdomain_fil": 1, "import": 1, "python": [1, 2, 4], "meshio": 1, "mesh": 1, "v1": 1, "descript": 1, "filenam": [1, 3], "indeci": 1, "width": 1, "height": 1, "colormap": 1, "titl": 1, "included_types_list": 1, "use_matplotlib": 1, "return_plotly_figur": 1, "plot": 1, "plotli": 1, "onli": [1, 2], "view": 1, "jupyt": 1, "notebook": [1, 4], "pixel": 1, "output": [1, 2], "matplotlib": 1, "inch": 1, "500": 1, "specif": 1, "plotly3": 1, "jet": 1, "blue": 1, "ylorrd": 1, "purd": 1, "bugn": 1, "ylorbr": 1, "pubugn": 1, "bupu": 1, "ylgnbu": 1, "pubu": 1, "gnbu": 1, "ylgn": 1, "green": 1, "red": 1, "grei": 1, "rdpu": 1, "orrd": 1, "purpl": 1, "orang": 1, "graph": 1, "describ": [1, 4], "includ": 1, "By": [1, 2], "displai": 1, "whether": [1, 2, 3], "figur": 1, "dictionari": [1, 2], "trace": 1, "layout": 1, "mai": 1, "edit": 1, "user": [1, 4], "proprti": 1, "preview": 1, "effect": 1, "read": 1, "gmsh": 1, "style": 1, "msh": 1, "domn": 1, "pull": 1, "smdl": 1, "txt": 1, "conain": 1, "fenic": 1, "dolfin": 1, "xml": 1, "assign": [1, 2], "identifi": [1, 2], "immobil": 1, "coverag": 1, "scope": 1, "accept": [1, 2], "doaminerror": 1, "met": 1, "": [1, 4], "formula": 1, "geo_namespac": 1, "combinatori": 1, "multipl": [1, 2], "boolean": 1, "logic": [1, 2], "geo1": 1, "geo2": 1, "geo3": 1, "namespac": [1, 2], "geometry1": 1, "geometry2": 1, "geometry3": 1, "found": [1, 2, 4], "on_boundari": 1, "coodin": 1, "edg": 1, "satisfi": 1, "geometi": 1, "ani": [1, 2, 4], "doe": 1, "tag": 1, "separ": 1, "mark": 1, "work": 1, "triangl": 1, "implement": [1, 2], "direct": 1, "modifi": 1, "u0": 1, "matrix": 1, "count": 1, "contian": 1, "place": 1, "scatter": 1, "randomli": 1, "center": 1, "two": [1, 2], "doesn": 1, "restrict": 1, "depend": 1, "radiu": 1, "length": 1, "delta": 1, "deltar": 1, "surfac": 1, "radial": 1, "skip_valid": 1, "arg": 1, "io": 1, "un": 1, "biochem": 1, "compon": 1, "befor": 1, "other": [1, 2], "combin": 1, "than": 1, "do": 1, "need": [1, 4], "particular": 1, "bound_cond": 1, "conidit": 1, "data_funct": 1, "scalar": 1, "you": [1, 4], "vari": 1, "input": 1, "your": [1, 4], "It": 1, "positon": 1, "toth": 1, "init_cond": 1, "fail": [1, 2], "make": 1, "sure": 1, "paramt": 1, "diffus": [1, 4], "util": 1, "stoichiometr": 1, "dependency_graph": 1, "timestep": 1, "exce": 1, "frequenc": 1, "ordereddict": 1, "form": [1, 4], "kei": [1, 2], "specifi": 1, "element": 1, "differ": [1, 2], "rname": 1, "number_of_trajectori": [1, 2], "seed": [1, 2], "timeout": [1, 2], "number_of_thread": [1, 2], "debug_level": [1, 2], "debug": [1, 2], "profil": [1, 2], "how": [1, 2, 4], "mani": [1, 2], "trajectori": [1, 2], "should": [1, 2], "random": [1, 2], "second": [1, 2], "kill": 1, "upon": 1, "reach": 1, "thread": [1, 2], "level": [1, 2], "print": [1, 2], "out": [1, 4], "info": 1, "dure": [1, 2], "addtion": [1, 2], "perform": 1, "chosen": 1, "simplifi": 1, "format": 1, "later": [1, 2], "spatialpysolv": 1, "propens": 1, "intern": 1, "notat": 1, "output_interv": 1, "num_step": 1, "timestep_s": 1, "simlat": 1, "span": 1, "first": [1, 2], "zero": 1, "time_span": 1, "ssa": 1, "sdpd": [1, 4], "engin": 1, "non": 1, "tspan": 1, "evenli": 1, "sampl": 1, "popul": 1, "flatten": 1, "spatialpy_model": 1, "return_stochss_model": [1, 3], "convert": [1, 2, 3], "json": 1, "platform": 1, "directli": [1, 4], "understood": 1, "parent": 1, "call": [1, 2], "referenc": 1, "requir": 1, "outsid": 1, "reactant": 1, "product": 1, "propensity_funct": 1, "ode_propensity_funct": 1, "rate": 1, "restrict_to": 1, "conatain": 1, "neg": 1, "union": 1, "For": [1, 4], "zeroth": 1, "attempt": 1, "higher": 1, "error": 1, "consum": 1, "stoichiometri": 1, "would": 1, "r1": 1, "r2": 1, "event": 1, "same": 1, "custom": 1, "oper": [1, 2], "od": 1, "care": 1, "unit": 1, "about": 1, "execut": [1, 2], "NOT": 1, "both": [1, 4], "term": 1, "repres": 1, "independ": 1, "wa": 1, "impact": 1, "preserv": 1, "produc": 1, "particip": 1, "deprec": 1, "param": 1, "json_object": 1, "defer": 1, "species_map": 1, "parameter_map": 1, "chang": 1, "marat": 1, "urdm": 1, "folder_nam": 1, "write": 1, "csv": 1, "modelname_mesh": 1, "modelname_species_": 1, "column": 1, "n": 1, "vtk": 1, "written": 1, "current": [1, 2], "property_nam": 1, "timepoint": 1, "integ": 1, "1d": 1, "veloc": 1, "bvf_phi": 1, "fraction": 1, "across": 1, "concentr": 1, "retreiv": 1, "inform": [1, 2, 4], "raw": 1, "copy_numb": 1, "unabl": 1, "retriev": 1, "t_ndx": 1, "t_val": 1, "p_ndx": 1, "anim": 1, "t_ndx_list": 1, "f_durat": 1, "t_durat": 1, "300": 1, "6": 1, "4": 1, "8": 1, "indec": 1, "interv": 1, "durat": 1, "frame": [1, 4], "transit": 1, "5": 1, "show": 1, "instead": 1, "step_num": 1, "except": 1, "initailcondit": 1, "bass": 1, "messag": 1, "o": 1, "diffusion_coeffici": 1, "coeffic": 1, "coeffici": 1, "listoftyp": 1, "movement": 1, "setter": 1, "item": [1, 2], "iter": 1, "best": 1, "increment": [1, 2], "20": 1, "num_point": 1, "empti": [1, 2], "repeat": 1, "point1": 1, "normal": 1, "point2": 1, "point3": 1, "reflect": 1, "revers": 1, "around": 1, "arbitrari": 1, "plane": 1, "serv": 1, "vector": 1, "onc": 1, "wrap": 1, "prior": 1, "angl": 1, "rotat": 1, "basic": 1, "factor": 1, "scale": 1, "wrapper": 1, "translat": 1, "40": 1, "plot_arg": 1, "scatter_arg": 1, "multiple_graph": 1, "maplotlib": 1, "pyplot": 1, "subplot": 1, "dist": 1, "group": 1, "nrow": 1, "ncol": 1, "entri": 1, "plote": 1, "py": 1, "minim": 1, "legaci": 1, "reader": 1, "refer": 1, "http": [1, 4], "org": 1, "wp": 1, "upload": 1, "2015": 1, "04": 1, "pdf": 1, "arraid": 1, "ascii": 1, "blacklist": 2, "sanit": 2, "allow": 2, "pre": 2, "flight": 2, "syntax": 2, "well": 2, "manag": 2, "context": 2, "statement": 2, "expect": 2, "forward": 2, "ideal": 2, "univers": 2, "constructor": 2, "granular": 2, "bare": 2, "equival": 2, "trigger": 2, "substitut": 2, "convers": 2, "automat": 2, "correspond": 2, "getexpr_": 2, "nodetransform": 2, "ast": 2, "expres": 2, "spactialpi": 2, "node": 2, "visit_assign": 2, "visitor": 2, "origin": 2, "binop": 2, "boolop": 2, "binboolopop": 2, "otherwis": 2, "compar": 2, "unaryop": 2, "syntaxerror": 2, "imposs": 2, "convet": 2, "built": 2, "_ast": 2, "Not": 2, "noteq": 2, "mod": 2, "bitand": 2, "mult": 2, "pow": 2, "sub": 2, "div": 2, "floordiv": 2, "lt": 2, "lshift": 2, "lte": 2, "eq": 2, "gt": 2, "gte": 2, "rshift": 2, "matmult": 2, "bitxor": 2, "And": 2, "Or": 2, "bitor": 2, "so": 2, "far": 2, "ensur": 2, "pars": 2, "against": 2, "addition": 2, "reject": 2, "rvalu": 2, "new": 2, "duplic": 2, "overrid": 2, "handl": 2, "behavior": 2, "copi": 2, "rtype": 2, "present": 2, "caus": 2, "what": 2, "tree": 2, "super": 2, "nodevisitor": 2, "self": 2, "comparison": 2, "last": 2, "mathemat": 2, "right": 2, "visit": 2, "left": 2, "most": 2, "recent": 2, "append": 2, "token": 2, "alwai": 2, "hand": 2, "u": 2, "pop": 2, "process": 2, "assum": 2, "inherit": 2, "byte": 2, "ellipsi": 2, "nameconst": 2, "num": 2, "usub": 2, "invalid_nam": 2, "invalid_oper": 2, "is_valid": 2, "struct": 2, "infer": 2, "invalid_": 2, "verbos": 2, "gdbgui": 2, "debugg": 2, "symbol": 2, "hasn": 2, "happen": 2, "gprof": 2, "avail": [2, 4], "consol": 2, "seri": 2, "exceed": 2, "packag": 4, "advect": 4, "problem": 4, "embed": 4, "lagrangian": 4, "dynam": 4, "intend": 4, "replac": 4, "pyurdm": 4, "softwar": 4, "github": 4, "com": 4, "featur": 4, "nsm": 4, "rdme": 4, "static": 4, "sssa": 4, "public": 4, "hybrid": 4, "smooth": 4, "dissip": 4, "algorithm": 4, "drawert": 4, "jacob": 4, "li": 4, "yi": 4, "petzold": 4, "www": 4, "sciencedirect": 4, "scienc": 4, "articl": 4, "pii": 4, "s0021999118307101": 4, "latest": 4, "version": 4, "pypi": 4, "code": 4, "licens": 4, "under": 4, "gnu": 4, "pleas": 4, "regist": 4, "develop": 4, "fund": 4, "nih": 4, "grant": 4, "2r01eb014877": 4, "continu": 4, "we": 4, "prove": 4, "our": 4, "short": 4, "registr": 4, "see": 4, "here": 4, "cylind": 4, "demo": 4, "physic": 4, "flow": 4, "weir": 4, "tracker": 4, "project": 4, "contact": 4, "main": 4, "author": 4, "dr": 4, "brian": 4, "question": 4, "suggest": 4, "subpackag": 4, "modul": 4, "content": 4, "search": 4, "page": 4}, "objects": {"": [[0, 0, 0, "-", "spatialpy"]], "spatialpy": [[1, 0, 0, "-", "core"], [2, 0, 0, "-", "solvers"], [3, 0, 0, "-", "stochss"]], "spatialpy.core": [[1, 1, 1, "", "BoundaryCondition"], [1, 3, 1, "", "BoundaryConditionError"], [1, 1, 1, "", "CartesianLattice"], [1, 1, 1, "", "CombinatoryGeometry"], [1, 1, 1, "", "CylindricalLattice"], [1, 1, 1, "", "DataFunction"], [1, 3, 1, "", "DataFunctionError"], [1, 1, 1, "", "Domain"], [1, 3, 1, "", "DomainError"], [1, 1, 1, "", "Geometry"], [1, 1, 1, "", "GeometryAll"], [1, 3, 1, "", "GeometryError"], [1, 1, 1, "", "GeometryExterior"], [1, 1, 1, "", "GeometryInterior"], [1, 1, 1, "", "InitialCondition"], [1, 3, 1, "", "InitialConditionError"], [1, 3, 1, "", "LatticeError"], [1, 1, 1, "", "MeshIOLattice"], [1, 1, 1, "", "Model"], [1, 3, 1, "", "ModelError"], [1, 1, 1, "", "Parameter"], [1, 3, 1, "", "ParameterError"], [1, 1, 1, "", "PlaceInitialCondition"], [1, 1, 1, "", "Reaction"], [1, 3, 1, "", "ReactionError"], [1, 1, 1, "", "ReflectionTransformation"], [1, 1, 1, "", "Result"], [1, 3, 1, "", "ResultError"], [1, 1, 1, "", "RotationTransformation"], [1, 1, 1, "", "ScalingTransformation"], [1, 1, 1, "", "ScatterInitialCondition"], [1, 3, 1, "", "SimulationError"], [1, 3, 1, "", "SimulationTimeout"], [1, 1, 1, "", "Species"], [1, 3, 1, "", "SpeciesError"], [1, 1, 1, "", "SphericalLattice"], [1, 1, 1, "", "StochSSLattice"], [1, 1, 1, "", "TimeSpan"], [1, 3, 1, "", "TimespanError"], [1, 1, 1, "", "Transformation"], [1, 3, 1, "", "TransformationError"], [1, 1, 1, "", "TranslationTransformation"], [1, 1, 1, "", "UniformInitialCondition"], [1, 1, 1, "", "VTKReader"], [1, 3, 1, "", "VTKReaderError"], [1, 3, 1, "", "VTKReaderIOError"], [1, 1, 1, "", "Visualization"], [1, 3, 1, "", "VisualizationError"], [1, 1, 1, "", "XMLMeshLattice"], [1, 0, 0, "-", "boundarycondition"], [1, 0, 0, "-", "cleanup"], [1, 5, 1, "", "cleanup_build_files"], [1, 5, 1, "", "cleanup_core_files"], [1, 5, 1, "", "cleanup_result_files"], [1, 5, 1, "", "cleanup_tempfiles"], [1, 0, 0, "-", "datafunction"], [1, 0, 0, "-", "domain"], [1, 5, 1, "", "export_StochSS"], [1, 0, 0, "-", "geometry"], [1, 0, 0, "-", "initialcondition"], [1, 0, 0, "-", "lattice"], [1, 0, 0, "-", "model"], [1, 0, 0, "-", "parameter"], [1, 0, 0, "-", "reaction"], [1, 0, 0, "-", "result"], [1, 0, 0, "-", "spatialpyerror"], [1, 0, 0, "-", "species"], [1, 0, 0, "-", "timespan"], [1, 0, 0, "-", "transformation"], [1, 0, 0, "-", "visualization"], [1, 0, 0, "-", "vtkreader"]], "spatialpy.core.BoundaryCondition": [[1, 2, 1, "", "expression"]], "spatialpy.core.CartesianLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.CombinatoryGeometry": [[1, 2, 1, "", "inside"], [1, 2, 1, "", "validate"]], "spatialpy.core.CylindricalLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.DataFunction": [[1, 2, 1, "", "map"]], "spatialpy.core.Domain": [[1, 2, 1, "", "add_fill_action"], [1, 2, 1, "", "add_point"], [1, 2, 1, "", "add_remove_action"], [1, 2, 1, "", "add_set_action"], [1, 2, 1, "", "apply_actions"], [1, 2, 1, "", "apply_fill_action"], [1, 2, 1, "", "apply_remove_action"], [1, 2, 1, "", "apply_set_action"], [1, 2, 1, "", "calculate_vol"], [1, 2, 1, "", "closest_vertex"], [1, 2, 1, "", "compile_prep"], [1, 2, 1, "", "coordinates"], [1, 2, 1, "", "create_2D_domain"], [1, 2, 1, "", "create_3D_domain"], [1, 2, 1, "", "distance_between_2_vertices"], [1, 2, 1, "", "fill_with_particles"], [1, 2, 1, "", "find_boundary_points"], [1, 2, 1, "", "find_h"], [1, 2, 1, "", "get_bounding_box"], [1, 2, 1, "", "get_domain_size"], [1, 2, 1, "", "get_num_voxels"], [1, 2, 1, "", "get_type_def"], [1, 2, 1, "", "get_vol"], [1, 2, 1, "", "import_meshio_object"], [1, 2, 1, "", "plot_types"], [1, 2, 1, "", "preview_actions"], [1, 2, 1, "", "read_msh_file"], [1, 2, 1, "", "read_stochss_domain"], [1, 2, 1, "", "read_stochss_subdomain_file"], [1, 2, 1, "", "read_xml_mesh"], [1, 2, 1, "", "set_properties"], [1, 2, 1, "", "validate_action"]], "spatialpy.core.Geometry": [[1, 2, 1, "", "inside"]], "spatialpy.core.GeometryAll": [[1, 2, 1, "", "inside"]], "spatialpy.core.GeometryExterior": [[1, 2, 1, "", "inside"]], "spatialpy.core.GeometryInterior": [[1, 2, 1, "", "inside"]], "spatialpy.core.InitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.MeshIOLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.Model": [[1, 2, 1, "", "add"], [1, 2, 1, "", "add_boundary_condition"], [1, 2, 1, "", "add_data_function"], [1, 2, 1, "", "add_domain"], [1, 2, 1, "", "add_initial_condition"], [1, 2, 1, "", "add_parameter"], [1, 2, 1, "", "add_reaction"], [1, 2, 1, "", "add_species"], [1, 2, 1, "", "compile_prep"], [1, 2, 1, "", "delete_all_boundary_conditions"], [1, 2, 1, "", "delete_all_data_functions"], [1, 2, 1, "", "delete_all_initial_conditions"], [1, 2, 1, "", "delete_all_parameters"], [1, 2, 1, "", "delete_all_reactions"], [1, 2, 1, "", "delete_all_species"], [1, 2, 1, "", "delete_boundary_condition"], [1, 2, 1, "", "delete_data_function"], [1, 2, 1, "", "delete_initial_condition"], [1, 2, 1, "", "delete_parameter"], [1, 2, 1, "", "delete_reaction"], [1, 2, 1, "", "delete_species"], [1, 2, 1, "", "get_all_boundary_conditions"], [1, 2, 1, "", "get_all_data_functions"], [1, 2, 1, "", "get_all_initial_conditions"], [1, 2, 1, "", "get_all_parameters"], [1, 2, 1, "", "get_all_reactions"], [1, 2, 1, "", "get_all_species"], [1, 2, 1, "", "get_data_function"], [1, 2, 1, "", "get_element"], [1, 2, 1, "", "get_num_reactions"], [1, 2, 1, "", "get_num_species"], [1, 2, 1, "", "get_parameter"], [1, 2, 1, "", "get_reaction"], [1, 2, 1, "", "get_species"], [1, 4, 1, "", "reserved_names"], [1, 2, 1, "", "run"], [1, 2, 1, "", "sanitized_data_function_names"], [1, 2, 1, "", "sanitized_parameter_names"], [1, 2, 1, "", "sanitized_species_names"], [1, 2, 1, "", "set_timesteps"], [1, 4, 1, "", "special_characters"], [1, 2, 1, "", "timespan"], [1, 2, 1, "", "update_namespace"]], "spatialpy.core.Parameter": [[1, 2, 1, "", "validate"]], "spatialpy.core.PlaceInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.Reaction": [[1, 2, 1, "", "add_product"], [1, 2, 1, "", "add_reactant"], [1, 2, 1, "", "annotate"], [1, 2, 1, "", "from_json"], [1, 2, 1, "", "initialize"], [1, 2, 1, "", "sanitized_propensity_function"], [1, 2, 1, "", "set_annotation"], [1, 2, 1, "", "set_propensities"], [1, 2, 1, "", "set_rate"], [1, 2, 1, "", "to_dict"], [1, 2, 1, "", "validate"]], "spatialpy.core.ReflectionTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"]], "spatialpy.core.Result": [[1, 2, 1, "", "export_to_csv"], [1, 2, 1, "", "get_property"], [1, 2, 1, "", "get_species"], [1, 2, 1, "", "get_timespan"], [1, 2, 1, "", "plot_property"], [1, 2, 1, "", "plot_species"], [1, 2, 1, "", "read_step"]], "spatialpy.core.RotationTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.ScalingTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.ScatterInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.Species": [[1, 2, 1, "", "set_diffusion_coefficient"], [1, 2, 1, "", "validate"]], "spatialpy.core.SphericalLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.StochSSLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.TimeSpan": [[1, 2, 1, "", "arange"], [1, 2, 1, "", "linspace"], [1, 2, 1, "", "validate"]], "spatialpy.core.Transformation": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "inside"], [1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.TranslationTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.UniformInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.VTKReader": [[1, 2, 1, "", "get_array_name"], [1, 2, 1, "", "get_arrays"], [1, 2, 1, "", "get_num_points"], [1, 2, 1, "", "get_points"], [1, 2, 1, "", "read_file"], [1, 2, 1, "", "set_filename"]], "spatialpy.core.Visualization": [[1, 4, 1, "", "MPL_HEIGHT"], [1, 4, 1, "", "MPL_SIZE"], [1, 4, 1, "", "MPL_WIDTH"], [1, 2, 1, "", "plot_scatter"]], "spatialpy.core.XMLMeshLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.boundarycondition": [[1, 1, 1, "", "BoundaryCondition"]], "spatialpy.core.boundarycondition.BoundaryCondition": [[1, 2, 1, "", "expression"]], "spatialpy.core.cleanup": [[1, 5, 1, "", "cleanup_build_files"], [1, 5, 1, "", "cleanup_core_files"], [1, 5, 1, "", "cleanup_result_files"], [1, 5, 1, "", "cleanup_tempfiles"]], "spatialpy.core.datafunction": [[1, 1, 1, "", "DataFunction"]], "spatialpy.core.datafunction.DataFunction": [[1, 2, 1, "", "map"]], "spatialpy.core.domain": [[1, 1, 1, "", "Domain"]], "spatialpy.core.domain.Domain": [[1, 2, 1, "", "add_fill_action"], [1, 2, 1, "", "add_point"], [1, 2, 1, "", "add_remove_action"], [1, 2, 1, "", "add_set_action"], [1, 2, 1, "", "apply_actions"], [1, 2, 1, "", "apply_fill_action"], [1, 2, 1, "", "apply_remove_action"], [1, 2, 1, "", "apply_set_action"], [1, 2, 1, "", "calculate_vol"], [1, 2, 1, "", "closest_vertex"], [1, 2, 1, "", "compile_prep"], [1, 2, 1, "", "coordinates"], [1, 2, 1, "", "create_2D_domain"], [1, 2, 1, "", "create_3D_domain"], [1, 2, 1, "", "distance_between_2_vertices"], [1, 2, 1, "", "fill_with_particles"], [1, 2, 1, "", "find_boundary_points"], [1, 2, 1, "", "find_h"], [1, 2, 1, "", "get_bounding_box"], [1, 2, 1, "", "get_domain_size"], [1, 2, 1, "", "get_num_voxels"], [1, 2, 1, "", "get_type_def"], [1, 2, 1, "", "get_vol"], [1, 2, 1, "", "import_meshio_object"], [1, 2, 1, "", "plot_types"], [1, 2, 1, "", "preview_actions"], [1, 2, 1, "", "read_msh_file"], [1, 2, 1, "", "read_stochss_domain"], [1, 2, 1, "", "read_stochss_subdomain_file"], [1, 2, 1, "", "read_xml_mesh"], [1, 2, 1, "", "set_properties"], [1, 2, 1, "", "validate_action"]], "spatialpy.core.geometry": [[1, 1, 1, "", "CombinatoryGeometry"], [1, 1, 1, "", "Geometry"], [1, 1, 1, "", "GeometryAll"], [1, 1, 1, "", "GeometryExterior"], [1, 1, 1, "", "GeometryInterior"]], "spatialpy.core.geometry.CombinatoryGeometry": [[1, 2, 1, "", "inside"], [1, 2, 1, "", "validate"]], "spatialpy.core.geometry.Geometry": [[1, 2, 1, "", "inside"]], "spatialpy.core.geometry.GeometryAll": [[1, 2, 1, "", "inside"]], "spatialpy.core.geometry.GeometryExterior": [[1, 2, 1, "", "inside"]], "spatialpy.core.geometry.GeometryInterior": [[1, 2, 1, "", "inside"]], "spatialpy.core.initialcondition": [[1, 1, 1, "", "InitialCondition"], [1, 1, 1, "", "PlaceInitialCondition"], [1, 1, 1, "", "ScatterInitialCondition"], [1, 1, 1, "", "UniformInitialCondition"]], "spatialpy.core.initialcondition.InitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.initialcondition.PlaceInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.initialcondition.ScatterInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.initialcondition.UniformInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.lattice": [[1, 1, 1, "", "CartesianLattice"], [1, 1, 1, "", "CylindricalLattice"], [1, 1, 1, "", "Lattice"], [1, 1, 1, "", "MeshIOLattice"], [1, 1, 1, "", "SphericalLattice"], [1, 1, 1, "", "StochSSLattice"], [1, 1, 1, "", "XMLMeshLattice"]], "spatialpy.core.lattice.CartesianLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.CylindricalLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.Lattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.MeshIOLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.SphericalLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.StochSSLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.XMLMeshLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.model": [[1, 1, 1, "", "Model"], [1, 5, 1, "", "export_StochSS"]], "spatialpy.core.model.Model": [[1, 2, 1, "", "add"], [1, 2, 1, "", "add_boundary_condition"], [1, 2, 1, "", "add_data_function"], [1, 2, 1, "", "add_domain"], [1, 2, 1, "", "add_initial_condition"], [1, 2, 1, "", "add_parameter"], [1, 2, 1, "", "add_reaction"], [1, 2, 1, "", "add_species"], [1, 2, 1, "", "compile_prep"], [1, 2, 1, "", "delete_all_boundary_conditions"], [1, 2, 1, "", "delete_all_data_functions"], [1, 2, 1, "", "delete_all_initial_conditions"], [1, 2, 1, "", "delete_all_parameters"], [1, 2, 1, "", "delete_all_reactions"], [1, 2, 1, "", "delete_all_species"], [1, 2, 1, "", "delete_boundary_condition"], [1, 2, 1, "", "delete_data_function"], [1, 2, 1, "", "delete_initial_condition"], [1, 2, 1, "", "delete_parameter"], [1, 2, 1, "", "delete_reaction"], [1, 2, 1, "", "delete_species"], [1, 2, 1, "", "get_all_boundary_conditions"], [1, 2, 1, "", "get_all_data_functions"], [1, 2, 1, "", "get_all_initial_conditions"], [1, 2, 1, "", "get_all_parameters"], [1, 2, 1, "", "get_all_reactions"], [1, 2, 1, "", "get_all_species"], [1, 2, 1, "", "get_data_function"], [1, 2, 1, "", "get_element"], [1, 2, 1, "", "get_num_reactions"], [1, 2, 1, "", "get_num_species"], [1, 2, 1, "", "get_parameter"], [1, 2, 1, "", "get_reaction"], [1, 2, 1, "", "get_species"], [1, 4, 1, "", "reserved_names"], [1, 2, 1, "", "run"], [1, 2, 1, "", "sanitized_data_function_names"], [1, 2, 1, "", "sanitized_parameter_names"], [1, 2, 1, "", "sanitized_species_names"], [1, 2, 1, "", "set_timesteps"], [1, 4, 1, "", "special_characters"], [1, 2, 1, "", "timespan"], [1, 2, 1, "", "update_namespace"]], "spatialpy.core.parameter": [[1, 1, 1, "", "Parameter"]], "spatialpy.core.parameter.Parameter": [[1, 2, 1, "", "validate"]], "spatialpy.core.reaction": [[1, 1, 1, "", "Reaction"]], "spatialpy.core.reaction.Reaction": [[1, 2, 1, "", "add_product"], [1, 2, 1, "", "add_reactant"], [1, 2, 1, "", "annotate"], [1, 2, 1, "", "from_json"], [1, 2, 1, "", "initialize"], [1, 2, 1, "", "sanitized_propensity_function"], [1, 2, 1, "", "set_annotation"], [1, 2, 1, "", "set_propensities"], [1, 2, 1, "", "set_rate"], [1, 2, 1, "", "to_dict"], [1, 2, 1, "", "validate"]], "spatialpy.core.result": [[1, 1, 1, "", "Result"]], "spatialpy.core.result.Result": [[1, 2, 1, "", "export_to_csv"], [1, 2, 1, "", "get_property"], [1, 2, 1, "", "get_species"], [1, 2, 1, "", "get_timespan"], [1, 2, 1, "", "plot_property"], [1, 2, 1, "", "plot_species"], [1, 2, 1, "", "read_step"]], "spatialpy.core.spatialpyerror": [[1, 3, 1, "", "BoundaryConditionError"], [1, 3, 1, "", "DataFunctionError"], [1, 3, 1, "", "DomainError"], [1, 3, 1, "", "GeometryError"], [1, 3, 1, "", "InitialConditionError"], [1, 3, 1, "", "LatticeError"], [1, 3, 1, "", "ModelError"], [1, 3, 1, "", "ParameterError"], [1, 3, 1, "", "ReactionError"], [1, 3, 1, "", "ResultError"], [1, 3, 1, "", "SimulationError"], [1, 3, 1, "", "SimulationTimeout"], [1, 3, 1, "", "SpeciesError"], [1, 3, 1, "", "TimespanError"], [1, 3, 1, "", "TransformationError"], [1, 3, 1, "", "VTKReaderError"], [1, 3, 1, "", "VTKReaderIOError"], [1, 3, 1, "", "VisualizationError"]], "spatialpy.core.species": [[1, 1, 1, "", "Species"]], "spatialpy.core.species.Species": [[1, 2, 1, "", "set_diffusion_coefficient"], [1, 2, 1, "", "validate"]], "spatialpy.core.timespan": [[1, 1, 1, "", "TimeSpan"]], "spatialpy.core.timespan.TimeSpan": [[1, 2, 1, "", "arange"], [1, 2, 1, "", "linspace"], [1, 2, 1, "", "validate"]], "spatialpy.core.transformation": [[1, 1, 1, "", "ReflectionTransformation"], [1, 1, 1, "", "RotationTransformation"], [1, 1, 1, "", "ScalingTransformation"], [1, 1, 1, "", "Transformation"], [1, 1, 1, "", "TranslationTransformation"]], "spatialpy.core.transformation.ReflectionTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"]], "spatialpy.core.transformation.RotationTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.transformation.ScalingTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.transformation.Transformation": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "inside"], [1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.transformation.TranslationTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.visualization": [[1, 1, 1, "", "Visualization"]], "spatialpy.core.visualization.Visualization": [[1, 4, 1, "", "MPL_HEIGHT"], [1, 4, 1, "", "MPL_SIZE"], [1, 4, 1, "", "MPL_WIDTH"], [1, 2, 1, "", "plot_scatter"]], "spatialpy.core.vtkreader": [[1, 1, 1, "", "VTKReader"]], "spatialpy.core.vtkreader.VTKReader": [[1, 2, 1, "", "get_array_name"], [1, 2, 1, "", "get_arrays"], [1, 2, 1, "", "get_num_points"], [1, 2, 1, "", "get_points"], [1, 2, 1, "", "read_file"], [1, 2, 1, "", "set_filename"]], "spatialpy.solvers": [[2, 0, 0, "-", "build_expression"], [2, 0, 0, "-", "solver"]], "spatialpy.solvers.build_expression": [[2, 1, 1, "", "BuildExpression"], [2, 1, 1, "", "CppConverter"], [2, 1, 1, "", "ExpressionConverter"], [2, 1, 1, "", "ExpressionResults"], [2, 1, 1, "", "PythonConverter"]], "spatialpy.solvers.build_expression.BuildExpression": [[2, 1, 1, "", "ValidationVisitor"], [2, 2, 1, "", "getexpr_cpp"], [2, 2, 1, "", "getexpr_python"], [2, 2, 1, "", "map_operator"], [2, 4, 1, "", "operator_map"], [2, 2, 1, "", "validate"], [2, 2, 1, "", "with_blacklist"], [2, 2, 1, "", "with_namespace"]], "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor": [[2, 2, 1, "", "visit_Assign"], [2, 2, 1, "", "visit_BinOp"], [2, 2, 1, "", "visit_BoolOp"], [2, 2, 1, "", "visit_Call"], [2, 2, 1, "", "visit_Compare"], [2, 2, 1, "", "visit_Name"], [2, 2, 1, "", "visit_UnaryOp"]], "spatialpy.solvers.build_expression.CppConverter": [[2, 1, 1, "", "CppExpressionTransformer"], [2, 2, 1, "", "get_str"], [2, 2, 1, "", "visit_And"], [2, 2, 1, "", "visit_Or"]], "spatialpy.solvers.build_expression.CppConverter.CppExpressionTransformer": [[2, 2, 1, "", "visit_BinOp"]], "spatialpy.solvers.build_expression.ExpressionConverter": [[2, 2, 1, "", "convert_str"], [2, 2, 1, "", "get_str"], [2, 2, 1, "", "parse_comparison"], [2, 2, 1, "", "parse_logical"], [2, 2, 1, "", "parse_operator"], [2, 2, 1, "", "visit_Add"], [2, 2, 1, "", "visit_BinOp"], [2, 2, 1, "", "visit_BoolOp"], [2, 2, 1, "", "visit_Bytes"], [2, 2, 1, "", "visit_Call"], [2, 2, 1, "", "visit_Compare"], [2, 2, 1, "", "visit_Constant"], [2, 2, 1, "", "visit_Div"], [2, 2, 1, "", "visit_Ellipsis"], [2, 2, 1, "", "visit_Eq"], [2, 2, 1, "", "visit_Gt"], [2, 2, 1, "", "visit_GtE"], [2, 2, 1, "", "visit_Lt"], [2, 2, 1, "", "visit_LtE"], [2, 2, 1, "", "visit_Mult"], [2, 2, 1, "", "visit_Name"], [2, 2, 1, "", "visit_NameConstant"], [2, 2, 1, "", "visit_NotEq"], [2, 2, 1, "", "visit_Num"], [2, 2, 1, "", "visit_Pow"], [2, 2, 1, "", "visit_Str"], [2, 2, 1, "", "visit_Sub"], [2, 2, 1, "", "visit_USub"], [2, 2, 1, "", "visit_UnaryOp"]], "spatialpy.solvers.build_expression.PythonConverter": [[2, 2, 1, "", "visit_And"], [2, 2, 1, "", "visit_Or"]], "spatialpy.solvers.solver": [[2, 1, 1, "", "Solver"]], "spatialpy.solvers.solver.Solver": [[2, 2, 1, "", "compile"], [2, 2, 1, "", "run"]], "spatialpy.stochss": [[3, 0, 0, "-", "stochss_export"]], "spatialpy.stochss.stochss_export": [[3, 5, 1, "", "export"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:attribute", "5": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "function", "Python function"]}, "titleterms": {"spatialpi": [0, 1, 2, 3, 4], "packag": [0, 1, 2, 3], "subpackag": 0, "modul": [0, 1, 2, 3], "content": [0, 1, 2, 3], "core": 1, "submodul": [1, 2, 3], "boundarycondit": 1, "cleanup": 1, "datafunct": 1, "domain": 1, "geometri": 1, "initialcondit": 1, "lattic": 1, "model": 1, "paramet": 1, "reaction": 1, "result": 1, "spatialpyerror": 1, "speci": 1, "timespan": 1, "transform": 1, "visual": 1, "vtkreader": 1, "solver": 2, "build_express": 2, "stochss": 3, "stochss_export": 3, "document": 4, "1": 4, "2": [], "get": 4, "copi": 4, "exampl": 4, "report": 4, "issu": 4, "api": 4, "refer": 4, "indic": 4, "tabl": 4, "3": 4}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"spatialpy package": [[0, "spatialpy-package"]], "Subpackages": [[0, "subpackages"]], "Module contents": [[0, "module-spatialpy"], [1, "module-spatialpy.core"], [2, "module-spatialpy.solvers"], [3, "module-spatialpy.stochss"]], "spatialpy.core package": [[1, "spatialpy-core-package"]], "Submodules": [[1, "submodules"], [2, "submodules"], [3, "submodules"]], "spatialpy.core.boundarycondition module": [[1, "module-spatialpy.core.boundarycondition"]], "spatialpy.core.cleanup module": [[1, "module-spatialpy.core.cleanup"]], "spatialpy.core.datafunction module": [[1, "module-spatialpy.core.datafunction"]], "spatialpy.core.domain module": [[1, "module-spatialpy.core.domain"]], "spatialpy.core.geometry module": [[1, "module-spatialpy.core.geometry"]], "spatialpy.core.initialcondition module": [[1, "module-spatialpy.core.initialcondition"]], "spatialpy.core.lattice module": [[1, "module-spatialpy.core.lattice"]], "spatialpy.core.model module": [[1, "module-spatialpy.core.model"]], "spatialpy.core.parameter module": [[1, "module-spatialpy.core.parameter"]], "spatialpy.core.reaction module": [[1, "module-spatialpy.core.reaction"]], "spatialpy.core.result module": [[1, "module-spatialpy.core.result"]], "spatialpy.core.spatialpyerror module": [[1, "module-spatialpy.core.spatialpyerror"]], "spatialpy.core.species module": [[1, "module-spatialpy.core.species"]], "spatialpy.core.timespan module": [[1, "module-spatialpy.core.timespan"]], "spatialpy.core.transformation module": [[1, "module-spatialpy.core.transformation"]], "spatialpy.core.visualization module": [[1, "module-spatialpy.core.visualization"]], "spatialpy.core.vtkreader module": [[1, "module-spatialpy.core.vtkreader"]], "spatialpy.solvers package": [[2, "spatialpy-solvers-package"]], "spatialpy.solvers.build_expression module": [[2, "module-spatialpy.solvers.build_expression"]], "spatialpy.solvers.solver module": [[2, "module-spatialpy.solvers.solver"]], "spatialpy.stochss package": [[3, "spatialpy-stochss-package"]], "spatialpy.stochss.stochss_export module": [[3, "module-spatialpy.stochss.stochss_export"]], "Documentation for SpatialPy 1.1.3": [[4, "documentation-for-spatialpy-release"]], "Getting a copy of SpatialPy": [[4, "getting-a-copy-of-spatialpy"]], "Examples": [[4, "examples"]], "Reporting Issues": [[4, "reporting-issues"]], "Documentation": [[4, "documentation"]], "API reference": [[4, null]], "Indices and tables": [[4, "indices-and-tables"]]}, "indexentries": {"module": [[0, "module-spatialpy"], [1, "module-spatialpy.core"], [1, "module-spatialpy.core.boundarycondition"], [1, "module-spatialpy.core.cleanup"], [1, "module-spatialpy.core.datafunction"], [1, "module-spatialpy.core.domain"], [1, "module-spatialpy.core.geometry"], [1, "module-spatialpy.core.initialcondition"], [1, "module-spatialpy.core.lattice"], [1, "module-spatialpy.core.model"], [1, "module-spatialpy.core.parameter"], [1, "module-spatialpy.core.reaction"], [1, "module-spatialpy.core.result"], [1, "module-spatialpy.core.spatialpyerror"], [1, "module-spatialpy.core.species"], [1, "module-spatialpy.core.timespan"], [1, "module-spatialpy.core.transformation"], [1, "module-spatialpy.core.visualization"], [1, "module-spatialpy.core.vtkreader"], [2, "module-spatialpy.solvers"], [2, "module-spatialpy.solvers.build_expression"], [2, "module-spatialpy.solvers.solver"], [3, "module-spatialpy.stochss"], [3, "module-spatialpy.stochss.stochss_export"]], "spatialpy": [[0, "module-spatialpy"]], "boundarycondition (class in spatialpy.core)": [[1, "spatialpy.core.BoundaryCondition"]], "boundarycondition (class in spatialpy.core.boundarycondition)": [[1, "spatialpy.core.boundarycondition.BoundaryCondition"]], "boundaryconditionerror": [[1, "spatialpy.core.BoundaryConditionError"], [1, "spatialpy.core.spatialpyerror.BoundaryConditionError"]], "cartesianlattice (class in spatialpy.core)": [[1, "spatialpy.core.CartesianLattice"]], "cartesianlattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.CartesianLattice"]], "combinatorygeometry (class in spatialpy.core)": [[1, "spatialpy.core.CombinatoryGeometry"]], "combinatorygeometry (class in spatialpy.core.geometry)": [[1, "spatialpy.core.geometry.CombinatoryGeometry"]], "cylindricallattice (class in spatialpy.core)": [[1, "spatialpy.core.CylindricalLattice"]], "cylindricallattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.CylindricalLattice"]], "datafunction (class in spatialpy.core)": [[1, "spatialpy.core.DataFunction"]], "datafunction (class in spatialpy.core.datafunction)": [[1, "spatialpy.core.datafunction.DataFunction"]], "datafunctionerror": [[1, "spatialpy.core.DataFunctionError"], [1, "spatialpy.core.spatialpyerror.DataFunctionError"]], "domain (class in spatialpy.core)": [[1, "spatialpy.core.Domain"]], "domain (class in spatialpy.core.domain)": [[1, "spatialpy.core.domain.Domain"]], "domainerror": [[1, "spatialpy.core.DomainError"], [1, "spatialpy.core.spatialpyerror.DomainError"]], "geometry (class in spatialpy.core)": [[1, "spatialpy.core.Geometry"]], "geometry (class in spatialpy.core.geometry)": [[1, "spatialpy.core.geometry.Geometry"]], "geometryall (class in spatialpy.core)": [[1, "spatialpy.core.GeometryAll"]], "geometryall (class in spatialpy.core.geometry)": [[1, "spatialpy.core.geometry.GeometryAll"]], "geometryerror": [[1, "spatialpy.core.GeometryError"], [1, "spatialpy.core.spatialpyerror.GeometryError"]], "geometryexterior (class in spatialpy.core)": [[1, "spatialpy.core.GeometryExterior"]], "geometryexterior (class in spatialpy.core.geometry)": [[1, "spatialpy.core.geometry.GeometryExterior"]], "geometryinterior (class in spatialpy.core)": [[1, "spatialpy.core.GeometryInterior"]], "geometryinterior (class in spatialpy.core.geometry)": [[1, "spatialpy.core.geometry.GeometryInterior"]], "initialcondition (class in spatialpy.core)": [[1, "spatialpy.core.InitialCondition"]], "initialcondition (class in spatialpy.core.initialcondition)": [[1, "spatialpy.core.initialcondition.InitialCondition"]], "initialconditionerror": [[1, "spatialpy.core.InitialConditionError"], [1, "spatialpy.core.spatialpyerror.InitialConditionError"]], "lattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.Lattice"]], "latticeerror": [[1, "spatialpy.core.LatticeError"], [1, "spatialpy.core.spatialpyerror.LatticeError"]], "mpl_height (spatialpy.core.visualization attribute)": [[1, "spatialpy.core.Visualization.MPL_HEIGHT"]], "mpl_height (spatialpy.core.visualization.visualization attribute)": [[1, "spatialpy.core.visualization.Visualization.MPL_HEIGHT"]], "mpl_size (spatialpy.core.visualization attribute)": [[1, "spatialpy.core.Visualization.MPL_SIZE"]], "mpl_size (spatialpy.core.visualization.visualization attribute)": [[1, "spatialpy.core.visualization.Visualization.MPL_SIZE"]], "mpl_width (spatialpy.core.visualization attribute)": [[1, "spatialpy.core.Visualization.MPL_WIDTH"]], "mpl_width (spatialpy.core.visualization.visualization attribute)": [[1, "spatialpy.core.visualization.Visualization.MPL_WIDTH"]], "meshiolattice (class in spatialpy.core)": [[1, "spatialpy.core.MeshIOLattice"]], "meshiolattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.MeshIOLattice"]], "model (class in spatialpy.core)": [[1, "spatialpy.core.Model"]], "model (class in spatialpy.core.model)": [[1, "spatialpy.core.model.Model"]], "modelerror": [[1, "spatialpy.core.ModelError"], [1, "spatialpy.core.spatialpyerror.ModelError"]], "parameter (class in spatialpy.core)": [[1, "spatialpy.core.Parameter"]], "parameter (class in spatialpy.core.parameter)": [[1, "spatialpy.core.parameter.Parameter"]], "parametererror": [[1, "spatialpy.core.ParameterError"], [1, "spatialpy.core.spatialpyerror.ParameterError"]], "placeinitialcondition (class in spatialpy.core)": [[1, "spatialpy.core.PlaceInitialCondition"]], "placeinitialcondition (class in spatialpy.core.initialcondition)": [[1, "spatialpy.core.initialcondition.PlaceInitialCondition"]], "reaction (class in spatialpy.core)": [[1, "spatialpy.core.Reaction"]], "reaction (class in spatialpy.core.reaction)": [[1, "spatialpy.core.reaction.Reaction"]], "reactionerror": [[1, "spatialpy.core.ReactionError"], [1, "spatialpy.core.spatialpyerror.ReactionError"]], "reflectiontransformation (class in spatialpy.core)": [[1, "spatialpy.core.ReflectionTransformation"]], "reflectiontransformation (class in spatialpy.core.transformation)": [[1, "spatialpy.core.transformation.ReflectionTransformation"]], "result (class in spatialpy.core)": [[1, "spatialpy.core.Result"]], "result (class in spatialpy.core.result)": [[1, "spatialpy.core.result.Result"]], "resulterror": [[1, "spatialpy.core.ResultError"], [1, "spatialpy.core.spatialpyerror.ResultError"]], "rotationtransformation (class in spatialpy.core)": [[1, "spatialpy.core.RotationTransformation"]], "rotationtransformation (class in spatialpy.core.transformation)": [[1, "spatialpy.core.transformation.RotationTransformation"]], "scalingtransformation (class in spatialpy.core)": [[1, "spatialpy.core.ScalingTransformation"]], "scalingtransformation (class in spatialpy.core.transformation)": [[1, "spatialpy.core.transformation.ScalingTransformation"]], "scatterinitialcondition (class in spatialpy.core)": [[1, "spatialpy.core.ScatterInitialCondition"]], "scatterinitialcondition (class in spatialpy.core.initialcondition)": [[1, "spatialpy.core.initialcondition.ScatterInitialCondition"]], "simulationerror": [[1, "spatialpy.core.SimulationError"], [1, "spatialpy.core.spatialpyerror.SimulationError"]], "simulationtimeout": [[1, "spatialpy.core.SimulationTimeout"], [1, "spatialpy.core.spatialpyerror.SimulationTimeout"]], "species (class in spatialpy.core)": [[1, "spatialpy.core.Species"]], "species (class in spatialpy.core.species)": [[1, "spatialpy.core.species.Species"]], "specieserror": [[1, "spatialpy.core.SpeciesError"], [1, "spatialpy.core.spatialpyerror.SpeciesError"]], "sphericallattice (class in spatialpy.core)": [[1, "spatialpy.core.SphericalLattice"]], "sphericallattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.SphericalLattice"]], "stochsslattice (class in spatialpy.core)": [[1, "spatialpy.core.StochSSLattice"]], "stochsslattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.StochSSLattice"]], "timespan (class in spatialpy.core)": [[1, "spatialpy.core.TimeSpan"]], "timespan (class in spatialpy.core.timespan)": [[1, "spatialpy.core.timespan.TimeSpan"]], "timespanerror": [[1, "spatialpy.core.TimespanError"], [1, "spatialpy.core.spatialpyerror.TimespanError"]], "transformation (class in spatialpy.core)": [[1, "spatialpy.core.Transformation"]], "transformation (class in spatialpy.core.transformation)": [[1, "spatialpy.core.transformation.Transformation"]], "transformationerror": [[1, "spatialpy.core.TransformationError"], [1, "spatialpy.core.spatialpyerror.TransformationError"]], "translationtransformation (class in spatialpy.core)": [[1, "spatialpy.core.TranslationTransformation"]], "translationtransformation (class in spatialpy.core.transformation)": [[1, "spatialpy.core.transformation.TranslationTransformation"]], "uniforminitialcondition (class in spatialpy.core)": [[1, "spatialpy.core.UniformInitialCondition"]], "uniforminitialcondition (class in spatialpy.core.initialcondition)": [[1, "spatialpy.core.initialcondition.UniformInitialCondition"]], "vtkreader (class in spatialpy.core)": [[1, "spatialpy.core.VTKReader"]], "vtkreader (class in spatialpy.core.vtkreader)": [[1, "spatialpy.core.vtkreader.VTKReader"]], "vtkreadererror": [[1, "spatialpy.core.VTKReaderError"], [1, "spatialpy.core.spatialpyerror.VTKReaderError"]], "vtkreaderioerror": [[1, "spatialpy.core.VTKReaderIOError"], [1, "spatialpy.core.spatialpyerror.VTKReaderIOError"]], "visualization (class in spatialpy.core)": [[1, "spatialpy.core.Visualization"]], "visualization (class in spatialpy.core.visualization)": [[1, "spatialpy.core.visualization.Visualization"]], "visualizationerror": [[1, "spatialpy.core.VisualizationError"], [1, "spatialpy.core.spatialpyerror.VisualizationError"]], "xmlmeshlattice (class in spatialpy.core)": [[1, "spatialpy.core.XMLMeshLattice"]], "xmlmeshlattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.XMLMeshLattice"]], "add() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add"]], "add() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add"]], "add_boundary_condition() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_boundary_condition"]], "add_boundary_condition() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_boundary_condition"]], "add_data_function() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_data_function"]], "add_data_function() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_data_function"]], "add_domain() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_domain"]], "add_domain() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_domain"]], "add_fill_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.add_fill_action"]], "add_fill_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.add_fill_action"]], "add_initial_condition() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_initial_condition"]], "add_initial_condition() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_initial_condition"]], "add_parameter() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_parameter"]], "add_parameter() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_parameter"]], "add_point() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.add_point"]], "add_point() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.add_point"]], "add_product() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.add_product"]], "add_product() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.add_product"]], "add_reactant() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.add_reactant"]], "add_reactant() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.add_reactant"]], "add_reaction() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_reaction"]], "add_reaction() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_reaction"]], "add_remove_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.add_remove_action"]], "add_remove_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.add_remove_action"]], "add_set_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.add_set_action"]], "add_set_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.add_set_action"]], "add_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_species"]], "add_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_species"]], "annotate() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.annotate"]], "annotate() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.annotate"]], "apply() (spatialpy.core.cartesianlattice method)": [[1, "spatialpy.core.CartesianLattice.apply"]], "apply() (spatialpy.core.cylindricallattice method)": [[1, "spatialpy.core.CylindricalLattice.apply"]], "apply() (spatialpy.core.initialcondition method)": [[1, "spatialpy.core.InitialCondition.apply"]], "apply() (spatialpy.core.meshiolattice method)": [[1, "spatialpy.core.MeshIOLattice.apply"]], "apply() (spatialpy.core.placeinitialcondition method)": [[1, "spatialpy.core.PlaceInitialCondition.apply"]], "apply() (spatialpy.core.scatterinitialcondition method)": [[1, "spatialpy.core.ScatterInitialCondition.apply"]], "apply() (spatialpy.core.sphericallattice method)": [[1, "spatialpy.core.SphericalLattice.apply"]], "apply() (spatialpy.core.stochsslattice method)": [[1, "spatialpy.core.StochSSLattice.apply"]], "apply() (spatialpy.core.transformation method)": [[1, "spatialpy.core.Transformation.apply"]], "apply() (spatialpy.core.uniforminitialcondition method)": [[1, "spatialpy.core.UniformInitialCondition.apply"]], "apply() (spatialpy.core.xmlmeshlattice method)": [[1, "spatialpy.core.XMLMeshLattice.apply"]], "apply() (spatialpy.core.initialcondition.initialcondition method)": [[1, "spatialpy.core.initialcondition.InitialCondition.apply"]], "apply() (spatialpy.core.initialcondition.placeinitialcondition method)": [[1, "spatialpy.core.initialcondition.PlaceInitialCondition.apply"]], "apply() (spatialpy.core.initialcondition.scatterinitialcondition method)": [[1, "spatialpy.core.initialcondition.ScatterInitialCondition.apply"]], "apply() (spatialpy.core.initialcondition.uniforminitialcondition method)": [[1, "spatialpy.core.initialcondition.UniformInitialCondition.apply"]], "apply() (spatialpy.core.lattice.cartesianlattice method)": [[1, "spatialpy.core.lattice.CartesianLattice.apply"]], "apply() (spatialpy.core.lattice.cylindricallattice method)": [[1, "spatialpy.core.lattice.CylindricalLattice.apply"]], "apply() (spatialpy.core.lattice.lattice method)": [[1, "spatialpy.core.lattice.Lattice.apply"]], "apply() (spatialpy.core.lattice.meshiolattice method)": [[1, "spatialpy.core.lattice.MeshIOLattice.apply"]], "apply() (spatialpy.core.lattice.sphericallattice method)": [[1, "spatialpy.core.lattice.SphericalLattice.apply"]], "apply() (spatialpy.core.lattice.stochsslattice method)": [[1, "spatialpy.core.lattice.StochSSLattice.apply"]], "apply() (spatialpy.core.lattice.xmlmeshlattice method)": [[1, "spatialpy.core.lattice.XMLMeshLattice.apply"]], "apply() (spatialpy.core.transformation.transformation method)": [[1, "spatialpy.core.transformation.Transformation.apply"]], "apply_actions() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.apply_actions"]], "apply_actions() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.apply_actions"]], "apply_fill_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.apply_fill_action"]], "apply_fill_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.apply_fill_action"]], "apply_remove_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.apply_remove_action"]], "apply_remove_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.apply_remove_action"]], "apply_set_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.apply_set_action"]], "apply_set_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.apply_set_action"]], "arange() (spatialpy.core.timespan class method)": [[1, "spatialpy.core.TimeSpan.arange"]], "arange() (spatialpy.core.timespan.timespan class method)": [[1, "spatialpy.core.timespan.TimeSpan.arange"]], "calculate_vol() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.calculate_vol"]], "calculate_vol() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.calculate_vol"]], "cleanup_build_files() (in module spatialpy.core)": [[1, "spatialpy.core.cleanup_build_files"]], "cleanup_build_files() (in module spatialpy.core.cleanup)": [[1, "spatialpy.core.cleanup.cleanup_build_files"]], "cleanup_core_files() (in module spatialpy.core)": [[1, "spatialpy.core.cleanup_core_files"]], "cleanup_core_files() (in module spatialpy.core.cleanup)": [[1, "spatialpy.core.cleanup.cleanup_core_files"]], "cleanup_result_files() (in module spatialpy.core)": [[1, "spatialpy.core.cleanup_result_files"]], "cleanup_result_files() (in module spatialpy.core.cleanup)": [[1, "spatialpy.core.cleanup.cleanup_result_files"]], "cleanup_tempfiles() (in module spatialpy.core)": [[1, "spatialpy.core.cleanup_tempfiles"]], "cleanup_tempfiles() (in module spatialpy.core.cleanup)": [[1, "spatialpy.core.cleanup.cleanup_tempfiles"]], "closest_vertex() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.closest_vertex"]], "closest_vertex() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.closest_vertex"]], "compile_prep() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.compile_prep"]], "compile_prep() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.compile_prep"]], "compile_prep() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.compile_prep"]], "compile_prep() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.compile_prep"]], "coordinates() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.coordinates"]], "coordinates() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.coordinates"]], "create_2d_domain() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.create_2D_domain"]], "create_2d_domain() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.create_2D_domain"]], "create_3d_domain() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.create_3D_domain"]], "create_3d_domain() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.create_3D_domain"]], "delete_all_boundary_conditions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_boundary_conditions"]], "delete_all_boundary_conditions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_boundary_conditions"]], "delete_all_data_functions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_data_functions"]], "delete_all_data_functions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_data_functions"]], "delete_all_initial_conditions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_initial_conditions"]], "delete_all_initial_conditions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_initial_conditions"]], "delete_all_parameters() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_parameters"]], "delete_all_parameters() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_parameters"]], "delete_all_reactions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_reactions"]], "delete_all_reactions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_reactions"]], "delete_all_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_species"]], "delete_all_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_species"]], "delete_boundary_condition() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_boundary_condition"]], "delete_boundary_condition() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_boundary_condition"]], "delete_data_function() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_data_function"]], "delete_data_function() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_data_function"]], "delete_initial_condition() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_initial_condition"]], "delete_initial_condition() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_initial_condition"]], "delete_parameter() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_parameter"]], "delete_parameter() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_parameter"]], "delete_reaction() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_reaction"]], "delete_reaction() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_reaction"]], "delete_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_species"]], "delete_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_species"]], "distance_between_2_vertices() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.distance_between_2_vertices"]], "distance_between_2_vertices() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.distance_between_2_vertices"]], "export_stochss() (in module spatialpy.core)": [[1, "spatialpy.core.export_StochSS"]], "export_stochss() (in module spatialpy.core.model)": [[1, "spatialpy.core.model.export_StochSS"]], "export_to_csv() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.export_to_csv"]], "export_to_csv() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.export_to_csv"]], "expression() (spatialpy.core.boundarycondition method)": [[1, "spatialpy.core.BoundaryCondition.expression"]], "expression() (spatialpy.core.boundarycondition.boundarycondition method)": [[1, "spatialpy.core.boundarycondition.BoundaryCondition.expression"]], "fill_with_particles() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.fill_with_particles"]], "fill_with_particles() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.fill_with_particles"]], "find_boundary_points() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.find_boundary_points"]], "find_boundary_points() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.find_boundary_points"]], "find_h() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.find_h"]], "find_h() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.find_h"]], "from_json() (spatialpy.core.reaction class method)": [[1, "spatialpy.core.Reaction.from_json"]], "from_json() (spatialpy.core.reaction.reaction class method)": [[1, "spatialpy.core.reaction.Reaction.from_json"]], "get_all_boundary_conditions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_boundary_conditions"]], "get_all_boundary_conditions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_boundary_conditions"]], "get_all_data_functions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_data_functions"]], "get_all_data_functions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_data_functions"]], "get_all_initial_conditions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_initial_conditions"]], "get_all_initial_conditions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_initial_conditions"]], "get_all_parameters() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_parameters"]], "get_all_parameters() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_parameters"]], "get_all_reactions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_reactions"]], "get_all_reactions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_reactions"]], "get_all_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_species"]], "get_all_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_species"]], "get_array_name() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.get_array_name"]], "get_array_name() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.get_array_name"]], "get_arrays() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.get_arrays"]], "get_arrays() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.get_arrays"]], "get_bounding_box() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.get_bounding_box"]], "get_bounding_box() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.get_bounding_box"]], "get_data_function() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_data_function"]], "get_data_function() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_data_function"]], "get_domain_size() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.get_domain_size"]], "get_domain_size() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.get_domain_size"]], "get_element() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_element"]], "get_element() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_element"]], "get_num_points() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.get_num_points"]], "get_num_points() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.get_num_points"]], "get_num_reactions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_num_reactions"]], "get_num_reactions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_num_reactions"]], "get_num_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_num_species"]], "get_num_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_num_species"]], "get_num_voxels() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.get_num_voxels"]], "get_num_voxels() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.get_num_voxels"]], "get_parameter() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_parameter"]], "get_parameter() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_parameter"]], "get_points() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.get_points"]], "get_points() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.get_points"]], "get_property() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.get_property"]], "get_property() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.get_property"]], "get_reaction() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_reaction"]], "get_reaction() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_reaction"]], "get_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_species"]], "get_species() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.get_species"]], "get_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_species"]], "get_species() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.get_species"]], "get_timespan() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.get_timespan"]], "get_timespan() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.get_timespan"]], "get_type_def() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.get_type_def"]], "get_type_def() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.get_type_def"]], "get_vol() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.get_vol"]], "get_vol() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.get_vol"]], "import_meshio_object() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.import_meshio_object"]], "import_meshio_object() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.import_meshio_object"]], "initialize() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.initialize"]], "initialize() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.initialize"]], "inside() (spatialpy.core.combinatorygeometry method)": [[1, "spatialpy.core.CombinatoryGeometry.inside"]], "inside() (spatialpy.core.geometry method)": [[1, "spatialpy.core.Geometry.inside"]], "inside() (spatialpy.core.geometryall method)": [[1, "spatialpy.core.GeometryAll.inside"]], "inside() (spatialpy.core.geometryexterior method)": [[1, "spatialpy.core.GeometryExterior.inside"]], "inside() (spatialpy.core.geometryinterior method)": [[1, "spatialpy.core.GeometryInterior.inside"]], "inside() (spatialpy.core.transformation method)": [[1, "spatialpy.core.Transformation.inside"]], "inside() (spatialpy.core.geometry.combinatorygeometry method)": [[1, "spatialpy.core.geometry.CombinatoryGeometry.inside"]], "inside() (spatialpy.core.geometry.geometry method)": [[1, "spatialpy.core.geometry.Geometry.inside"]], "inside() (spatialpy.core.geometry.geometryall method)": [[1, "spatialpy.core.geometry.GeometryAll.inside"]], "inside() (spatialpy.core.geometry.geometryexterior method)": [[1, "spatialpy.core.geometry.GeometryExterior.inside"]], "inside() (spatialpy.core.geometry.geometryinterior method)": [[1, "spatialpy.core.geometry.GeometryInterior.inside"]], "inside() (spatialpy.core.transformation.transformation method)": [[1, "spatialpy.core.transformation.Transformation.inside"]], "linspace() (spatialpy.core.timespan class method)": [[1, "spatialpy.core.TimeSpan.linspace"]], "linspace() (spatialpy.core.timespan.timespan class method)": [[1, "spatialpy.core.timespan.TimeSpan.linspace"]], "map() (spatialpy.core.datafunction method)": [[1, "spatialpy.core.DataFunction.map"]], "map() (spatialpy.core.datafunction.datafunction method)": [[1, "spatialpy.core.datafunction.DataFunction.map"]], "plot_property() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.plot_property"]], "plot_property() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.plot_property"]], "plot_scatter() (spatialpy.core.visualization method)": [[1, "spatialpy.core.Visualization.plot_scatter"]], "plot_scatter() (spatialpy.core.visualization.visualization method)": [[1, "spatialpy.core.visualization.Visualization.plot_scatter"]], "plot_species() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.plot_species"]], "plot_species() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.plot_species"]], "plot_types() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.plot_types"]], "plot_types() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.plot_types"]], "preview_actions() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.preview_actions"]], "preview_actions() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.preview_actions"]], "read_file() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.read_file"]], "read_file() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.read_file"]], "read_msh_file() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.read_msh_file"]], "read_msh_file() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.read_msh_file"]], "read_step() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.read_step"]], "read_step() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.read_step"]], "read_stochss_domain() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.read_stochss_domain"]], "read_stochss_domain() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.read_stochss_domain"]], "read_stochss_subdomain_file() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.read_stochss_subdomain_file"]], "read_stochss_subdomain_file() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.read_stochss_subdomain_file"]], "read_xml_mesh() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.read_xml_mesh"]], "read_xml_mesh() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.read_xml_mesh"]], "reserved_names (spatialpy.core.model attribute)": [[1, "spatialpy.core.Model.reserved_names"]], "reserved_names (spatialpy.core.model.model attribute)": [[1, "spatialpy.core.model.Model.reserved_names"]], "reverse_transform() (spatialpy.core.reflectiontransformation method)": [[1, "spatialpy.core.ReflectionTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.rotationtransformation method)": [[1, "spatialpy.core.RotationTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.scalingtransformation method)": [[1, "spatialpy.core.ScalingTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation method)": [[1, "spatialpy.core.Transformation.reverse_transform"]], "reverse_transform() (spatialpy.core.translationtransformation method)": [[1, "spatialpy.core.TranslationTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation.reflectiontransformation method)": [[1, "spatialpy.core.transformation.ReflectionTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation.rotationtransformation method)": [[1, "spatialpy.core.transformation.RotationTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation.scalingtransformation method)": [[1, "spatialpy.core.transformation.ScalingTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation.transformation method)": [[1, "spatialpy.core.transformation.Transformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation.translationtransformation method)": [[1, "spatialpy.core.transformation.TranslationTransformation.reverse_transform"]], "run() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.run"]], "run() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.run"]], "sanitized_data_function_names() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.sanitized_data_function_names"]], "sanitized_data_function_names() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.sanitized_data_function_names"]], "sanitized_parameter_names() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.sanitized_parameter_names"]], "sanitized_parameter_names() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.sanitized_parameter_names"]], "sanitized_propensity_function() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.sanitized_propensity_function"]], "sanitized_propensity_function() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.sanitized_propensity_function"]], "sanitized_species_names() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.sanitized_species_names"]], "sanitized_species_names() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.sanitized_species_names"]], "set_annotation() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.set_annotation"]], "set_annotation() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.set_annotation"]], "set_diffusion_coefficient() (spatialpy.core.species method)": [[1, "spatialpy.core.Species.set_diffusion_coefficient"]], "set_diffusion_coefficient() (spatialpy.core.species.species method)": [[1, "spatialpy.core.species.Species.set_diffusion_coefficient"]], "set_filename() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.set_filename"]], "set_filename() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.set_filename"]], "set_propensities() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.set_propensities"]], "set_propensities() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.set_propensities"]], "set_properties() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.set_properties"]], "set_properties() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.set_properties"]], "set_rate() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.set_rate"]], "set_rate() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.set_rate"]], "set_timesteps() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.set_timesteps"]], "set_timesteps() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.set_timesteps"]], "spatialpy.core": [[1, "module-spatialpy.core"]], "spatialpy.core.boundarycondition": [[1, "module-spatialpy.core.boundarycondition"]], "spatialpy.core.cleanup": [[1, "module-spatialpy.core.cleanup"]], "spatialpy.core.datafunction": [[1, "module-spatialpy.core.datafunction"]], "spatialpy.core.domain": [[1, "module-spatialpy.core.domain"]], "spatialpy.core.geometry": [[1, "module-spatialpy.core.geometry"]], "spatialpy.core.initialcondition": [[1, "module-spatialpy.core.initialcondition"]], "spatialpy.core.lattice": [[1, "module-spatialpy.core.lattice"]], "spatialpy.core.model": [[1, "module-spatialpy.core.model"]], "spatialpy.core.parameter": [[1, "module-spatialpy.core.parameter"]], "spatialpy.core.reaction": [[1, "module-spatialpy.core.reaction"]], "spatialpy.core.result": [[1, "module-spatialpy.core.result"]], "spatialpy.core.spatialpyerror": [[1, "module-spatialpy.core.spatialpyerror"]], "spatialpy.core.species": [[1, "module-spatialpy.core.species"]], "spatialpy.core.timespan": [[1, "module-spatialpy.core.timespan"]], "spatialpy.core.transformation": [[1, "module-spatialpy.core.transformation"]], "spatialpy.core.visualization": [[1, "module-spatialpy.core.visualization"]], "spatialpy.core.vtkreader": [[1, "module-spatialpy.core.vtkreader"]], "special_characters (spatialpy.core.model attribute)": [[1, "spatialpy.core.Model.special_characters"]], "special_characters (spatialpy.core.model.model attribute)": [[1, "spatialpy.core.model.Model.special_characters"]], "timespan() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.timespan"]], "timespan() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.timespan"]], "to_dict() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.to_dict"]], "to_dict() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.to_dict"]], "transform() (spatialpy.core.reflectiontransformation method)": [[1, "spatialpy.core.ReflectionTransformation.transform"]], "transform() (spatialpy.core.rotationtransformation method)": [[1, "spatialpy.core.RotationTransformation.transform"]], "transform() (spatialpy.core.scalingtransformation method)": [[1, "spatialpy.core.ScalingTransformation.transform"]], "transform() (spatialpy.core.transformation method)": [[1, "spatialpy.core.Transformation.transform"]], "transform() (spatialpy.core.translationtransformation method)": [[1, "spatialpy.core.TranslationTransformation.transform"]], "transform() (spatialpy.core.transformation.reflectiontransformation method)": [[1, "spatialpy.core.transformation.ReflectionTransformation.transform"]], "transform() (spatialpy.core.transformation.rotationtransformation method)": [[1, "spatialpy.core.transformation.RotationTransformation.transform"]], "transform() (spatialpy.core.transformation.scalingtransformation method)": [[1, "spatialpy.core.transformation.ScalingTransformation.transform"]], "transform() (spatialpy.core.transformation.transformation method)": [[1, "spatialpy.core.transformation.Transformation.transform"]], "transform() (spatialpy.core.transformation.translationtransformation method)": [[1, "spatialpy.core.transformation.TranslationTransformation.transform"]], "update_namespace() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.update_namespace"]], "update_namespace() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.update_namespace"]], "validate() (spatialpy.core.cartesianlattice method)": [[1, "spatialpy.core.CartesianLattice.validate"]], "validate() (spatialpy.core.combinatorygeometry method)": [[1, "spatialpy.core.CombinatoryGeometry.validate"]], "validate() (spatialpy.core.cylindricallattice method)": [[1, "spatialpy.core.CylindricalLattice.validate"]], "validate() (spatialpy.core.meshiolattice method)": [[1, "spatialpy.core.MeshIOLattice.validate"]], "validate() (spatialpy.core.parameter method)": [[1, "spatialpy.core.Parameter.validate"]], "validate() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.validate"]], "validate() (spatialpy.core.rotationtransformation method)": [[1, "spatialpy.core.RotationTransformation.validate"]], "validate() (spatialpy.core.scalingtransformation method)": [[1, "spatialpy.core.ScalingTransformation.validate"]], "validate() (spatialpy.core.species method)": [[1, "spatialpy.core.Species.validate"]], "validate() (spatialpy.core.sphericallattice method)": [[1, "spatialpy.core.SphericalLattice.validate"]], "validate() (spatialpy.core.stochsslattice method)": [[1, "spatialpy.core.StochSSLattice.validate"]], "validate() (spatialpy.core.timespan method)": [[1, "spatialpy.core.TimeSpan.validate"]], "validate() (spatialpy.core.transformation method)": [[1, "spatialpy.core.Transformation.validate"]], "validate() (spatialpy.core.translationtransformation method)": [[1, "spatialpy.core.TranslationTransformation.validate"]], "validate() (spatialpy.core.xmlmeshlattice method)": [[1, "spatialpy.core.XMLMeshLattice.validate"]], "validate() (spatialpy.core.geometry.combinatorygeometry method)": [[1, "spatialpy.core.geometry.CombinatoryGeometry.validate"]], "validate() (spatialpy.core.lattice.cartesianlattice method)": [[1, "spatialpy.core.lattice.CartesianLattice.validate"]], "validate() (spatialpy.core.lattice.cylindricallattice method)": [[1, "spatialpy.core.lattice.CylindricalLattice.validate"]], "validate() (spatialpy.core.lattice.lattice method)": [[1, "spatialpy.core.lattice.Lattice.validate"]], "validate() (spatialpy.core.lattice.meshiolattice method)": [[1, "spatialpy.core.lattice.MeshIOLattice.validate"]], "validate() (spatialpy.core.lattice.sphericallattice method)": [[1, "spatialpy.core.lattice.SphericalLattice.validate"]], "validate() (spatialpy.core.lattice.stochsslattice method)": [[1, "spatialpy.core.lattice.StochSSLattice.validate"]], "validate() (spatialpy.core.lattice.xmlmeshlattice method)": [[1, "spatialpy.core.lattice.XMLMeshLattice.validate"]], "validate() (spatialpy.core.parameter.parameter method)": [[1, "spatialpy.core.parameter.Parameter.validate"]], "validate() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.validate"]], "validate() (spatialpy.core.species.species method)": [[1, "spatialpy.core.species.Species.validate"]], "validate() (spatialpy.core.timespan.timespan method)": [[1, "spatialpy.core.timespan.TimeSpan.validate"]], "validate() (spatialpy.core.transformation.rotationtransformation method)": [[1, "spatialpy.core.transformation.RotationTransformation.validate"]], "validate() (spatialpy.core.transformation.scalingtransformation method)": [[1, "spatialpy.core.transformation.ScalingTransformation.validate"]], "validate() (spatialpy.core.transformation.transformation method)": [[1, "spatialpy.core.transformation.Transformation.validate"]], "validate() (spatialpy.core.transformation.translationtransformation method)": [[1, "spatialpy.core.transformation.TranslationTransformation.validate"]], "validate_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.validate_action"]], "validate_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.validate_action"]], "buildexpression (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.BuildExpression"]], "buildexpression.validationvisitor (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor"]], "cppconverter (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.CppConverter"]], "cppconverter.cppexpressiontransformer (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.CppConverter.CppExpressionTransformer"]], "expressionconverter (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter"]], "expressionresults (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.ExpressionResults"]], "pythonconverter (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.PythonConverter"]], "solver (class in spatialpy.solvers.solver)": [[2, "spatialpy.solvers.solver.Solver"]], "compile() (spatialpy.solvers.solver.solver method)": [[2, "spatialpy.solvers.solver.Solver.compile"]], "convert_str() (spatialpy.solvers.build_expression.expressionconverter class method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.convert_str"]], "get_str() (spatialpy.solvers.build_expression.cppconverter method)": [[2, "spatialpy.solvers.build_expression.CppConverter.get_str"]], "get_str() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.get_str"]], "getexpr_cpp() (spatialpy.solvers.build_expression.buildexpression method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.getexpr_cpp"]], "getexpr_python() (spatialpy.solvers.build_expression.buildexpression method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.getexpr_python"]], "map_operator() (spatialpy.solvers.build_expression.buildexpression class method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.map_operator"]], "operator_map (spatialpy.solvers.build_expression.buildexpression attribute)": [[2, "spatialpy.solvers.build_expression.BuildExpression.operator_map"]], "parse_comparison() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.parse_comparison"]], "parse_logical() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.parse_logical"]], "parse_operator() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.parse_operator"]], "run() (spatialpy.solvers.solver.solver method)": [[2, "spatialpy.solvers.solver.Solver.run"]], "spatialpy.solvers": [[2, "module-spatialpy.solvers"]], "spatialpy.solvers.build_expression": [[2, "module-spatialpy.solvers.build_expression"]], "spatialpy.solvers.solver": [[2, "module-spatialpy.solvers.solver"]], "validate() (spatialpy.solvers.build_expression.buildexpression method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.validate"]], "visit_add() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Add"]], "visit_and() (spatialpy.solvers.build_expression.cppconverter method)": [[2, "spatialpy.solvers.build_expression.CppConverter.visit_And"]], "visit_and() (spatialpy.solvers.build_expression.pythonconverter method)": [[2, "spatialpy.solvers.build_expression.PythonConverter.visit_And"]], "visit_assign() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_Assign"]], "visit_binop() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_BinOp"]], "visit_binop() (spatialpy.solvers.build_expression.cppconverter.cppexpressiontransformer method)": [[2, "spatialpy.solvers.build_expression.CppConverter.CppExpressionTransformer.visit_BinOp"]], "visit_binop() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_BinOp"]], "visit_boolop() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_BoolOp"]], "visit_boolop() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_BoolOp"]], "visit_bytes() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Bytes"]], "visit_call() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_Call"]], "visit_call() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Call"]], "visit_compare() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_Compare"]], "visit_compare() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Compare"]], "visit_constant() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Constant"]], "visit_div() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Div"]], "visit_ellipsis() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Ellipsis"]], "visit_eq() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Eq"]], "visit_gt() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Gt"]], "visit_gte() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_GtE"]], "visit_lt() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Lt"]], "visit_lte() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_LtE"]], "visit_mult() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Mult"]], "visit_name() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_Name"]], "visit_name() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Name"]], "visit_nameconstant() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_NameConstant"]], "visit_noteq() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_NotEq"]], "visit_num() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Num"]], "visit_or() (spatialpy.solvers.build_expression.cppconverter method)": [[2, "spatialpy.solvers.build_expression.CppConverter.visit_Or"]], "visit_or() (spatialpy.solvers.build_expression.pythonconverter method)": [[2, "spatialpy.solvers.build_expression.PythonConverter.visit_Or"]], "visit_pow() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Pow"]], "visit_str() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Str"]], "visit_sub() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Sub"]], "visit_usub() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_USub"]], "visit_unaryop() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_UnaryOp"]], "visit_unaryop() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_UnaryOp"]], "with_blacklist() (spatialpy.solvers.build_expression.buildexpression method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.with_blacklist"]], "with_namespace() (spatialpy.solvers.build_expression.buildexpression method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.with_namespace"]], "export() (in module spatialpy.stochss.stochss_export)": [[3, "spatialpy.stochss.stochss_export.export"]], "spatialpy.stochss": [[3, "module-spatialpy.stochss"]], "spatialpy.stochss.stochss_export": [[3, "module-spatialpy.stochss.stochss_export"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["classes/spatialpy", "classes/spatialpy.core", "classes/spatialpy.solvers", "classes/spatialpy.stochss", "index"], "filenames": ["classes/spatialpy.rst", "classes/spatialpy.core.rst", "classes/spatialpy.solvers.rst", "classes/spatialpy.stochss.rst", "index.rst"], "titles": ["spatialpy package", "spatialpy.core package", "spatialpy.solvers package", "spatialpy.stochss package", "Documentation for SpatialPy 1.2.0"], "terms": {"core": [0, 2, 3, 4], "submodul": 0, "boundarycondit": 0, "express": [0, 1, 2], "cleanup": 0, "cleanup_build_fil": [0, 1], "cleanup_core_fil": [0, 1], "cleanup_result_fil": [0, 1], "cleanup_tempfil": [0, 1], "datafunct": 0, "map": [0, 1, 2], "domain": [0, 4], "add_fill_act": [0, 1], "add_point": [0, 1], "add_remove_act": [0, 1], "add_set_act": [0, 1], "apply_act": [0, 1], "apply_fill_act": [0, 1], "apply_remove_act": [0, 1], "apply_set_act": [0, 1], "calculate_vol": [0, 1], "closest_vertex": [0, 1], "compile_prep": [0, 1], "coordin": [0, 1], "create_2d_domain": [0, 1], "create_3d_domain": [0, 1], "distance_between_2_vertic": [0, 1], "fill_with_particl": [0, 1], "find_boundary_point": [0, 1], "find_h": [0, 1], "get_bounding_box": [0, 1], "get_domain_s": [0, 1], "get_num_voxel": [0, 1], "get_type_def": [0, 1], "get_vol": [0, 1], "import_meshio_object": [0, 1], "plot_typ": [0, 1], "preview_act": [0, 1], "read_msh_fil": [0, 1], "read_stochss_domain": [0, 1], "read_stochss_subdomain_fil": [0, 1], "read_xml_mesh": [0, 1], "set_properti": [0, 1], "validate_act": [0, 1], "geometri": 0, "combinatorygeometri": [0, 1], "insid": [0, 1], "valid": [0, 1, 2], "geometryal": [0, 1], "geometryexterior": [0, 1], "geometryinterior": [0, 1], "initialcondit": 0, "appli": [0, 1], "placeinitialcondit": [0, 1], "scatterinitialcondit": [0, 1], "uniforminitialcondit": [0, 1], "lattic": 0, "cartesianlattic": [0, 1], "cylindricallattic": [0, 1], "meshiolattic": [0, 1], "sphericallattic": [0, 1], "stochsslattic": [0, 1], "xmlmeshlattic": [0, 1], "model": [0, 2, 3, 4], "add": [0, 1, 2], "add_boundary_condit": [0, 1], "add_data_funct": [0, 1], "add_domain": [0, 1], "add_initial_condit": [0, 1], "add_paramet": [0, 1], "add_react": [0, 1], "add_speci": [0, 1], "delete_all_boundary_condit": [0, 1], "delete_all_data_funct": [0, 1], "delete_all_initial_condit": [0, 1], "delete_all_paramet": [0, 1], "delete_all_react": [0, 1], "delete_all_speci": [0, 1], "delete_boundary_condit": [0, 1], "delete_data_funct": [0, 1], "delete_initial_condit": [0, 1], "delete_paramet": [0, 1], "delete_react": [0, 1], "delete_speci": [0, 1], "get_all_boundary_condit": [0, 1], "get_all_data_funct": [0, 1], "get_all_initial_condit": [0, 1], "get_all_paramet": [0, 1], "get_all_react": [0, 1], "get_all_speci": [0, 1], "get_data_funct": [0, 1], "get_el": [0, 1], "get_num_react": [0, 1], "get_num_speci": [0, 1], "get_paramet": [0, 1], "get_react": [0, 1], "get_speci": [0, 1], "reserved_nam": [0, 1], "run": [0, 1, 2], "sanitized_data_function_nam": [0, 1], "sanitized_parameter_nam": [0, 1], "sanitized_species_nam": [0, 1], "set_timestep": [0, 1], "special_charact": [0, 1], "timespan": 0, "update_namespac": [0, 1], "export_stochss": [0, 1], "paramet": [0, 2, 3], "reaction": [0, 4], "add_product": [0, 1], "annot": [0, 1], "from_json": [0, 1], "initi": [0, 1], "sanitized_propensity_funct": [0, 1], "set_annot": [0, 1], "set_propens": [0, 1], "set_rat": [0, 1], "to_dict": [0, 1], "result": [0, 2], "export_to_csv": [0, 1], "get_properti": [0, 1], "get_timespan": [0, 1], "plot_properti": [0, 1], "plot_speci": [0, 1], "read_step": [0, 1], "spatialpyerror": 0, "boundaryconditionerror": [0, 1], "datafunctionerror": [0, 1], "domainerror": [0, 1], "geometryerror": [0, 1], "initialconditionerror": [0, 1], "latticeerror": [0, 1], "modelerror": [0, 1], "parametererror": [0, 1], "reactionerror": [0, 1], "resulterror": [0, 1], "simulationerror": [0, 1, 2], "simulationtimeout": [0, 1, 2], "specieserror": [0, 1], "timespanerror": [0, 1], "transformationerror": [0, 1], "vtkreadererror": [0, 1], "vtkreaderioerror": [0, 1], "visualizationerror": [0, 1], "speci": 0, "set_diffusion_coeffici": [0, 1], "arang": [0, 1], "linspac": [0, 1], "transform": 0, "reflectiontransform": [0, 1], "reverse_transform": [0, 1], "rotationtransform": [0, 1], "scalingtransform": [0, 1], "translationtransform": [0, 1], "visual": 0, "mpl_height": [0, 1], "mpl_size": [0, 1], "mpl_width": [0, 1], "plot_scatt": [0, 1], "vtkreader": 0, "get_array_nam": [0, 1], "get_arrai": [0, 1], "get_num_point": [0, 1], "get_point": [0, 1], "read_fil": [0, 1], "set_filenam": [0, 1], "solver": [0, 1, 4], "build_express": 0, "buildexpress": [0, 2], "validationvisitor": [0, 2], "getexpr_cpp": [0, 2], "getexpr_python": [0, 2], "map_oper": [0, 2], "operator_map": [0, 2], "with_blacklist": [0, 2], "with_namespac": [0, 2], "cppconvert": [0, 2], "cppexpressiontransform": [0, 2], "get_str": [0, 2], "visit_and": [0, 2], "visit_or": [0, 2], "expressionconvert": [0, 2], "convert_str": [0, 2], "parse_comparison": [0, 2], "parse_log": [0, 2], "parse_oper": [0, 2], "visit_add": [0, 2], "visit_binop": [0, 2], "visit_boolop": [0, 2], "visit_byt": [0, 2], "visit_cal": [0, 2], "visit_compar": [0, 2], "visit_const": [0, 2], "visit_div": [0, 2], "visit_ellipsi": [0, 2], "visit_eq": [0, 2], "visit_gt": [0, 2], "visit_lt": [0, 2], "visit_mult": [0, 2], "visit_nam": [0, 2], "visit_nameconst": [0, 2], "visit_noteq": [0, 2], "visit_num": [0, 2], "visit_pow": [0, 2], "visit_str": [0, 2], "visit_sub": [0, 2], "visit_usub": [0, 2], "visit_unaryop": [0, 2], "expressionresult": [0, 2], "pythonconvert": [0, 2], "compil": [0, 1, 2], "stochss": [0, 1, 4], "stochss_export": 0, "export": [0, 1, 3], "class": [1, 2], "xmin": 1, "none": [1, 2, 3], "xmax": 1, "ymin": 1, "ymax": 1, "zmin": 1, "zmax": 1, "type_id": 1, "determinist": [1, 4], "true": [1, 2, 3], "target": [1, 2], "valu": [1, 2], "sourc": [1, 2, 3, 4], "base": [1, 2, 4], "object": [1, 2], "set": [1, 2], "spatial": [1, 2, 4], "region": 1, "where": 1, "properti": [1, 2], "particl": [1, 4], "ar": [1, 2], "held": 1, "constant": [1, 2], "updat": 1, "each": 1, "simul": [1, 2, 4], "step": 1, "condit": [1, 2], "one": [1, 2], "more": [1, 2, 4], "follow": [1, 2], "must": 1, "float": 1, "min": 1, "max": 1, "x": 1, "dimens": 1, "y": 1, "z": 1, "type": [1, 2, 3], "subdomain": 1, "partcil": 1, "str": [1, 2, 3], "nu": 1, "rho": 1, "v": 1, "name": [1, 2], "chemic": 1, "also": [1, 2, 4], "fals": [1, 2, 3], "flag": [1, 2], "axi": 1, "lower": 1, "bound": 1, "upper": 1, "int": [1, 2], "id": 1, "bool": [1, 2, 3], "i": [1, 2, 3, 4], "boundari": 1, "yet": 1, "implemenet": 1, "stochast": [1, 4], "can": [1, 2, 4], "If": [1, 2, 4], "determinst": 1, "3": [1, 4], "take": 1, "defin": [1, 2], "creat": [1, 2], "evalu": 1, "string": [1, 2], "return": [1, 2, 3], "A": [1, 2, 4], "represent": [1, 2], "build_dir": 1, "all": [1, 2], "spatialpy_build": 1, "directori": 1, "path": [1, 3], "build": [1, 2, 4], "remov": 1, "option": 1, "tempfil": 1, "result_dir": 1, "spatialpy_result": 1, "abstract": [1, 2], "us": [1, 2, 4], "constuct": 1, "data": [1, 2], "function": [1, 2], "rais": [1, 2], "provid": [1, 2, 4], "point": 1, "thi": [1, 2, 4], "method": [1, 2], "overridden": 1, "subclass": [1, 2], "note": [1, 2], "The": [1, 2, 4], "locat": 1, "evaul": 1, "t": [1, 2], "0": [1, 2], "re": 1, "fluid": [1, 4], "move": 1, "over": 1, "time": [1, 2], "posit": 1, "numpoint": 1, "xlim": 1, "ylim": 1, "zlim": 1, "rho0": 1, "1": [1, 2], "c0": 1, "10": 1, "p0": 1, "graviti": [1, 4], "action": 1, "attribut": 1, "space": 1, "total": 1, "number": [1, 2], "2": 1, "rang": 1, "along": 1, "background": 1, "densiti": 1, "system": [1, 4], "speed": 1, "sound": 1, "pressur": 1, "acceler": 1, "cartesian": 1, "spheric": 1, "cylindr": 1, "enabl": 1, "prop": 1, "an": [1, 2, 4], "when": [1, 2], "fill": [1, 4], "default": 1, "dict": [1, 2, 3], "argument": 1, "ignor": 1, "indic": [1, 2], "els": [1, 3], "addit": [1, 2], "pass": [1, 2], "ad": [1, 2], "wasn": 1, "could": [1, 2], "construct": 1, "vol": 1, "mass": 1, "unassign": 1, "fix": 1, "c": [1, 2], "singl": [1, 2], "vertic": 1, "volum": 1, "cradded": 1, "viscos": 1, "artifici": 1, "contain": [1, 2], "invalid": [1, 2], "charact": 1, "from": [1, 2], "start": [1, 2, 4], "end": 1, "preserve_act": 1, "order": 1, "index": [1, 4], "inclus": 1, "exclus": 1, "after": 1, "its": 1, "support": [1, 4], "within": 1, "have": 1, "exampl": 1, "lattice_obj": 1, "geometry_obj": 1, "miss": 1, "calcul": 1, "find": [1, 4], "nearest": 1, "vertex": 1, "given": [1, 2], "gener": [1, 4], "list": [1, 2], "check": [1, 2], "preper": 1, "file": [1, 3], "get": [1, 2], "numpi": 1, "arrai": 1, "classmethod": [1, 2], "numx": 1, "numi": 1, "kwarg": 1, "2d": 1, "highest": 1, "lowest": 1, "keyword": 1, "uniform": 1, "numz": 1, "3d": [1, 4], "distanc": 1, "between": [1, 2], "measur": 1, "geometry_ivar": 1, "deltax": 1, "deltai": 1, "deltaz": 1, "geometr": 1, "shape": 1, "instanc": [1, 2], "minimum": 1, "box": 1, "maximum": [1, 2], "were": [1, 2], "exist": 1, "np": 1, "ndarrai": 1, "dtype": 1, "h": 1, "off": 1, "which": [1, 2], "ha": [1, 4], "greatest": 1, "neighbor": 1, "entir": 1, "limit": 1, "tupl": 1, "estim": 1, "size": 1, "averag": 1, "diamet": 1, "circumradiu": 1, "tetrahedron": 1, "part": 1, "mean": 1, "incid": 1, "cell": 1, "voxel": 1, "definit": 1, "mesh_obj": 1, "subdomain_fil": 1, "import": 1, "python": [1, 2, 4], "meshio": 1, "mesh": 1, "v1": 1, "descript": 1, "filenam": [1, 3], "indeci": 1, "width": 1, "height": 1, "colormap": 1, "titl": 1, "included_types_list": 1, "use_matplotlib": 1, "return_plotly_figur": 1, "plot": 1, "plotli": 1, "onli": [1, 2], "view": 1, "jupyt": 1, "notebook": [1, 4], "pixel": 1, "output": [1, 2], "matplotlib": 1, "inch": 1, "500": 1, "specif": 1, "plotly3": 1, "jet": 1, "blue": 1, "ylorrd": 1, "purd": 1, "bugn": 1, "ylorbr": 1, "pubugn": 1, "bupu": 1, "ylgnbu": 1, "pubu": 1, "gnbu": 1, "ylgn": 1, "green": 1, "red": 1, "grei": 1, "rdpu": 1, "orrd": 1, "purpl": 1, "orang": 1, "graph": 1, "describ": [1, 4], "includ": 1, "By": [1, 2], "displai": 1, "whether": [1, 2, 3], "figur": 1, "dictionari": [1, 2], "trace": 1, "layout": 1, "mai": 1, "edit": 1, "user": [1, 4], "proprti": 1, "preview": 1, "effect": 1, "read": 1, "gmsh": 1, "style": 1, "msh": 1, "domn": 1, "pull": 1, "smdl": 1, "txt": 1, "conain": 1, "fenic": 1, "dolfin": 1, "xml": 1, "assign": [1, 2], "identifi": [1, 2], "immobil": 1, "coverag": 1, "scope": 1, "accept": [1, 2], "doaminerror": 1, "met": 1, "": [1, 4], "formula": 1, "geo_namespac": 1, "combinatori": 1, "multipl": [1, 2], "boolean": 1, "logic": [1, 2], "geo1": 1, "geo2": 1, "geo3": 1, "namespac": [1, 2], "geometry1": 1, "geometry2": 1, "geometry3": 1, "found": [1, 2, 4], "on_boundari": 1, "coodin": 1, "edg": 1, "satisfi": 1, "geometi": 1, "ani": [1, 2, 4], "doe": 1, "tag": 1, "separ": 1, "mark": 1, "work": 1, "triangl": 1, "implement": [1, 2], "direct": 1, "modifi": 1, "u0": 1, "matrix": 1, "count": 1, "contian": 1, "place": 1, "scatter": 1, "randomli": 1, "center": 1, "two": [1, 2], "doesn": 1, "restrict": 1, "depend": 1, "radiu": 1, "length": 1, "delta": 1, "deltar": 1, "surfac": 1, "radial": 1, "skip_valid": 1, "arg": 1, "io": 1, "un": 1, "biochem": 1, "compon": 1, "befor": 1, "other": [1, 2], "combin": 1, "than": 1, "do": 1, "need": [1, 4], "particular": 1, "bound_cond": 1, "conidit": 1, "data_funct": 1, "scalar": 1, "you": [1, 4], "vari": 1, "input": 1, "your": [1, 4], "It": 1, "positon": 1, "toth": 1, "init_cond": 1, "fail": [1, 2], "make": 1, "sure": 1, "paramt": 1, "diffus": [1, 4], "util": 1, "stoichiometr": 1, "dependency_graph": 1, "timestep": 1, "exce": 1, "frequenc": 1, "ordereddict": 1, "form": [1, 4], "kei": [1, 2], "specifi": 1, "element": 1, "differ": [1, 2], "rname": 1, "number_of_trajectori": [1, 2], "seed": [1, 2], "timeout": [1, 2], "number_of_thread": [1, 2], "debug_level": [1, 2], "debug": [1, 2], "profil": [1, 2], "how": [1, 2, 4], "mani": [1, 2], "trajectori": [1, 2], "should": [1, 2], "random": [1, 2], "second": [1, 2], "kill": 1, "upon": 1, "reach": 1, "thread": [1, 2], "level": [1, 2], "print": [1, 2], "out": [1, 4], "info": 1, "dure": [1, 2], "addtion": [1, 2], "perform": 1, "chosen": 1, "simplifi": 1, "format": 1, "later": [1, 2], "spatialpysolv": 1, "propens": 1, "intern": 1, "notat": 1, "output_interv": 1, "num_step": 1, "timestep_s": 1, "simlat": 1, "span": 1, "first": [1, 2], "zero": 1, "time_span": 1, "ssa": 1, "sdpd": [1, 4], "engin": 1, "non": 1, "tspan": 1, "evenli": 1, "sampl": 1, "popul": 1, "flatten": 1, "spatialpy_model": 1, "return_stochss_model": [1, 3], "convert": [1, 2, 3], "json": 1, "platform": 1, "directli": [1, 4], "understood": 1, "parent": 1, "call": [1, 2], "referenc": 1, "requir": 1, "outsid": 1, "reactant": 1, "product": 1, "propensity_funct": 1, "ode_propensity_funct": 1, "rate": 1, "restrict_to": 1, "conatain": 1, "neg": 1, "union": 1, "For": [1, 4], "zeroth": 1, "attempt": 1, "higher": 1, "error": 1, "consum": 1, "stoichiometri": 1, "would": 1, "r1": 1, "r2": 1, "event": 1, "same": 1, "custom": 1, "oper": [1, 2], "od": 1, "care": 1, "unit": 1, "about": 1, "execut": [1, 2], "NOT": 1, "both": [1, 4], "term": 1, "repres": 1, "independ": 1, "wa": 1, "impact": 1, "preserv": 1, "produc": 1, "particip": 1, "deprec": 1, "param": 1, "json_object": 1, "defer": 1, "species_map": 1, "parameter_map": 1, "chang": 1, "marat": 1, "urdm": 1, "folder_nam": 1, "write": 1, "csv": 1, "modelname_mesh": 1, "modelname_species_": 1, "column": 1, "n": 1, "vtk": 1, "written": 1, "current": [1, 2], "property_nam": 1, "timepoint": 1, "integ": 1, "1d": 1, "veloc": 1, "bvf_phi": 1, "fraction": 1, "across": 1, "concentr": 1, "retreiv": 1, "inform": [1, 2, 4], "raw": 1, "copy_numb": 1, "unabl": 1, "retriev": 1, "t_ndx": 1, "t_val": 1, "p_ndx": 1, "anim": 1, "t_ndx_list": 1, "f_durat": 1, "t_durat": 1, "300": 1, "6": 1, "4": 1, "8": 1, "indec": 1, "interv": 1, "durat": 1, "frame": [1, 4], "transit": 1, "5": 1, "show": 1, "instead": 1, "step_num": 1, "except": 1, "initailcondit": 1, "bass": 1, "messag": 1, "o": 1, "diffusion_coeffici": 1, "coeffic": 1, "coeffici": 1, "listoftyp": 1, "movement": 1, "setter": 1, "item": [1, 2], "iter": 1, "best": 1, "increment": [1, 2], "20": 1, "num_point": 1, "empti": [1, 2], "repeat": 1, "point1": 1, "normal": 1, "point2": 1, "point3": 1, "reflect": 1, "revers": 1, "around": 1, "arbitrari": 1, "plane": 1, "serv": 1, "vector": 1, "onc": 1, "wrap": 1, "prior": 1, "angl": 1, "rotat": 1, "basic": 1, "factor": 1, "scale": 1, "wrapper": 1, "translat": 1, "40": 1, "plot_arg": 1, "scatter_arg": 1, "multiple_graph": 1, "maplotlib": 1, "pyplot": 1, "subplot": 1, "dist": 1, "group": 1, "nrow": 1, "ncol": 1, "entri": 1, "plote": 1, "py": 1, "minim": 1, "legaci": 1, "reader": 1, "refer": 1, "http": [1, 4], "org": 1, "wp": 1, "upload": 1, "2015": 1, "04": 1, "pdf": 1, "arraid": 1, "ascii": 1, "blacklist": 2, "sanit": 2, "allow": 2, "pre": 2, "flight": 2, "syntax": 2, "well": 2, "manag": 2, "context": 2, "statement": 2, "expect": 2, "forward": 2, "ideal": 2, "univers": 2, "constructor": 2, "granular": 2, "bare": 2, "equival": 2, "trigger": 2, "substitut": 2, "convers": 2, "automat": 2, "correspond": 2, "getexpr_": 2, "nodetransform": 2, "ast": 2, "expres": 2, "spactialpi": 2, "node": 2, "visit_assign": 2, "visitor": 2, "origin": 2, "binop": 2, "boolop": 2, "binboolopop": 2, "otherwis": 2, "compar": 2, "unaryop": 2, "syntaxerror": 2, "imposs": 2, "convet": 2, "built": 2, "_ast": 2, "Not": 2, "noteq": 2, "mod": 2, "bitand": 2, "mult": 2, "pow": 2, "sub": 2, "div": 2, "floordiv": 2, "lt": 2, "lshift": 2, "lte": 2, "eq": 2, "gt": 2, "gte": 2, "rshift": 2, "matmult": 2, "bitxor": 2, "And": 2, "Or": 2, "bitor": 2, "so": 2, "far": 2, "ensur": 2, "pars": 2, "against": 2, "addition": 2, "reject": 2, "rvalu": 2, "new": 2, "duplic": 2, "overrid": 2, "handl": 2, "behavior": 2, "copi": 2, "rtype": 2, "present": 2, "caus": 2, "what": 2, "tree": 2, "super": 2, "nodevisitor": 2, "self": 2, "comparison": 2, "last": 2, "mathemat": 2, "right": 2, "visit": 2, "left": 2, "most": 2, "recent": 2, "append": 2, "token": 2, "alwai": 2, "hand": 2, "u": 2, "pop": 2, "process": 2, "assum": 2, "inherit": 2, "byte": 2, "ellipsi": 2, "nameconst": 2, "num": 2, "usub": 2, "invalid_nam": 2, "invalid_oper": 2, "is_valid": 2, "struct": 2, "infer": 2, "invalid_": 2, "verbos": 2, "gdbgui": 2, "debugg": 2, "symbol": 2, "hasn": 2, "happen": 2, "gprof": 2, "avail": [2, 4], "consol": 2, "seri": 2, "exceed": 2, "packag": 4, "advect": 4, "problem": 4, "embed": 4, "lagrangian": 4, "dynam": 4, "intend": 4, "replac": 4, "pyurdm": 4, "softwar": 4, "github": 4, "com": 4, "featur": 4, "nsm": 4, "rdme": 4, "static": 4, "sssa": 4, "public": 4, "hybrid": 4, "smooth": 4, "dissip": 4, "algorithm": 4, "drawert": 4, "jacob": 4, "li": 4, "yi": 4, "petzold": 4, "www": 4, "sciencedirect": 4, "scienc": 4, "articl": 4, "pii": 4, "s0021999118307101": 4, "latest": 4, "version": 4, "pypi": 4, "code": 4, "licens": 4, "under": 4, "gnu": 4, "pleas": 4, "regist": 4, "develop": 4, "fund": 4, "nih": 4, "grant": 4, "2r01eb014877": 4, "continu": 4, "we": 4, "prove": 4, "our": 4, "short": 4, "registr": 4, "see": 4, "here": 4, "cylind": 4, "demo": 4, "physic": 4, "flow": 4, "weir": 4, "tracker": 4, "project": 4, "contact": 4, "main": 4, "author": 4, "dr": 4, "brian": 4, "question": 4, "suggest": 4, "subpackag": 4, "modul": 4, "content": 4, "search": 4, "page": 4}, "objects": {"": [[0, 0, 0, "-", "spatialpy"]], "spatialpy": [[1, 0, 0, "-", "core"], [2, 0, 0, "-", "solvers"], [3, 0, 0, "-", "stochss"]], "spatialpy.core": [[1, 1, 1, "", "BoundaryCondition"], [1, 3, 1, "", "BoundaryConditionError"], [1, 1, 1, "", "CartesianLattice"], [1, 1, 1, "", "CombinatoryGeometry"], [1, 1, 1, "", "CylindricalLattice"], [1, 1, 1, "", "DataFunction"], [1, 3, 1, "", "DataFunctionError"], [1, 1, 1, "", "Domain"], [1, 3, 1, "", "DomainError"], [1, 1, 1, "", "Geometry"], [1, 1, 1, "", "GeometryAll"], [1, 3, 1, "", "GeometryError"], [1, 1, 1, "", "GeometryExterior"], [1, 1, 1, "", "GeometryInterior"], [1, 1, 1, "", "InitialCondition"], [1, 3, 1, "", "InitialConditionError"], [1, 3, 1, "", "LatticeError"], [1, 1, 1, "", "MeshIOLattice"], [1, 1, 1, "", "Model"], [1, 3, 1, "", "ModelError"], [1, 1, 1, "", "Parameter"], [1, 3, 1, "", "ParameterError"], [1, 1, 1, "", "PlaceInitialCondition"], [1, 1, 1, "", "Reaction"], [1, 3, 1, "", "ReactionError"], [1, 1, 1, "", "ReflectionTransformation"], [1, 1, 1, "", "Result"], [1, 3, 1, "", "ResultError"], [1, 1, 1, "", "RotationTransformation"], [1, 1, 1, "", "ScalingTransformation"], [1, 1, 1, "", "ScatterInitialCondition"], [1, 3, 1, "", "SimulationError"], [1, 3, 1, "", "SimulationTimeout"], [1, 1, 1, "", "Species"], [1, 3, 1, "", "SpeciesError"], [1, 1, 1, "", "SphericalLattice"], [1, 1, 1, "", "StochSSLattice"], [1, 1, 1, "", "TimeSpan"], [1, 3, 1, "", "TimespanError"], [1, 1, 1, "", "Transformation"], [1, 3, 1, "", "TransformationError"], [1, 1, 1, "", "TranslationTransformation"], [1, 1, 1, "", "UniformInitialCondition"], [1, 1, 1, "", "VTKReader"], [1, 3, 1, "", "VTKReaderError"], [1, 3, 1, "", "VTKReaderIOError"], [1, 1, 1, "", "Visualization"], [1, 3, 1, "", "VisualizationError"], [1, 1, 1, "", "XMLMeshLattice"], [1, 0, 0, "-", "boundarycondition"], [1, 0, 0, "-", "cleanup"], [1, 5, 1, "", "cleanup_build_files"], [1, 5, 1, "", "cleanup_core_files"], [1, 5, 1, "", "cleanup_result_files"], [1, 5, 1, "", "cleanup_tempfiles"], [1, 0, 0, "-", "datafunction"], [1, 0, 0, "-", "domain"], [1, 5, 1, "", "export_StochSS"], [1, 0, 0, "-", "geometry"], [1, 0, 0, "-", "initialcondition"], [1, 0, 0, "-", "lattice"], [1, 0, 0, "-", "model"], [1, 0, 0, "-", "parameter"], [1, 0, 0, "-", "reaction"], [1, 0, 0, "-", "result"], [1, 0, 0, "-", "spatialpyerror"], [1, 0, 0, "-", "species"], [1, 0, 0, "-", "timespan"], [1, 0, 0, "-", "transformation"], [1, 0, 0, "-", "visualization"], [1, 0, 0, "-", "vtkreader"]], "spatialpy.core.BoundaryCondition": [[1, 2, 1, "", "expression"]], "spatialpy.core.CartesianLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.CombinatoryGeometry": [[1, 2, 1, "", "inside"], [1, 2, 1, "", "validate"]], "spatialpy.core.CylindricalLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.DataFunction": [[1, 2, 1, "", "map"]], "spatialpy.core.Domain": [[1, 2, 1, "", "add_fill_action"], [1, 2, 1, "", "add_point"], [1, 2, 1, "", "add_remove_action"], [1, 2, 1, "", "add_set_action"], [1, 2, 1, "", "apply_actions"], [1, 2, 1, "", "apply_fill_action"], [1, 2, 1, "", "apply_remove_action"], [1, 2, 1, "", "apply_set_action"], [1, 2, 1, "", "calculate_vol"], [1, 2, 1, "", "closest_vertex"], [1, 2, 1, "", "compile_prep"], [1, 2, 1, "", "coordinates"], [1, 2, 1, "", "create_2D_domain"], [1, 2, 1, "", "create_3D_domain"], [1, 2, 1, "", "distance_between_2_vertices"], [1, 2, 1, "", "fill_with_particles"], [1, 2, 1, "", "find_boundary_points"], [1, 2, 1, "", "find_h"], [1, 2, 1, "", "get_bounding_box"], [1, 2, 1, "", "get_domain_size"], [1, 2, 1, "", "get_num_voxels"], [1, 2, 1, "", "get_type_def"], [1, 2, 1, "", "get_vol"], [1, 2, 1, "", "import_meshio_object"], [1, 2, 1, "", "plot_types"], [1, 2, 1, "", "preview_actions"], [1, 2, 1, "", "read_msh_file"], [1, 2, 1, "", "read_stochss_domain"], [1, 2, 1, "", "read_stochss_subdomain_file"], [1, 2, 1, "", "read_xml_mesh"], [1, 2, 1, "", "set_properties"], [1, 2, 1, "", "validate_action"]], "spatialpy.core.Geometry": [[1, 2, 1, "", "inside"]], "spatialpy.core.GeometryAll": [[1, 2, 1, "", "inside"]], "spatialpy.core.GeometryExterior": [[1, 2, 1, "", "inside"]], "spatialpy.core.GeometryInterior": [[1, 2, 1, "", "inside"]], "spatialpy.core.InitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.MeshIOLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.Model": [[1, 2, 1, "", "add"], [1, 2, 1, "", "add_boundary_condition"], [1, 2, 1, "", "add_data_function"], [1, 2, 1, "", "add_domain"], [1, 2, 1, "", "add_initial_condition"], [1, 2, 1, "", "add_parameter"], [1, 2, 1, "", "add_reaction"], [1, 2, 1, "", "add_species"], [1, 2, 1, "", "compile_prep"], [1, 2, 1, "", "delete_all_boundary_conditions"], [1, 2, 1, "", "delete_all_data_functions"], [1, 2, 1, "", "delete_all_initial_conditions"], [1, 2, 1, "", "delete_all_parameters"], [1, 2, 1, "", "delete_all_reactions"], [1, 2, 1, "", "delete_all_species"], [1, 2, 1, "", "delete_boundary_condition"], [1, 2, 1, "", "delete_data_function"], [1, 2, 1, "", "delete_initial_condition"], [1, 2, 1, "", "delete_parameter"], [1, 2, 1, "", "delete_reaction"], [1, 2, 1, "", "delete_species"], [1, 2, 1, "", "get_all_boundary_conditions"], [1, 2, 1, "", "get_all_data_functions"], [1, 2, 1, "", "get_all_initial_conditions"], [1, 2, 1, "", "get_all_parameters"], [1, 2, 1, "", "get_all_reactions"], [1, 2, 1, "", "get_all_species"], [1, 2, 1, "", "get_data_function"], [1, 2, 1, "", "get_element"], [1, 2, 1, "", "get_num_reactions"], [1, 2, 1, "", "get_num_species"], [1, 2, 1, "", "get_parameter"], [1, 2, 1, "", "get_reaction"], [1, 2, 1, "", "get_species"], [1, 4, 1, "", "reserved_names"], [1, 2, 1, "", "run"], [1, 2, 1, "", "sanitized_data_function_names"], [1, 2, 1, "", "sanitized_parameter_names"], [1, 2, 1, "", "sanitized_species_names"], [1, 2, 1, "", "set_timesteps"], [1, 4, 1, "", "special_characters"], [1, 2, 1, "", "timespan"], [1, 2, 1, "", "update_namespace"]], "spatialpy.core.Parameter": [[1, 2, 1, "", "validate"]], "spatialpy.core.PlaceInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.Reaction": [[1, 2, 1, "", "add_product"], [1, 2, 1, "", "add_reactant"], [1, 2, 1, "", "annotate"], [1, 2, 1, "", "from_json"], [1, 2, 1, "", "initialize"], [1, 2, 1, "", "sanitized_propensity_function"], [1, 2, 1, "", "set_annotation"], [1, 2, 1, "", "set_propensities"], [1, 2, 1, "", "set_rate"], [1, 2, 1, "", "to_dict"], [1, 2, 1, "", "validate"]], "spatialpy.core.ReflectionTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"]], "spatialpy.core.Result": [[1, 2, 1, "", "export_to_csv"], [1, 2, 1, "", "get_property"], [1, 2, 1, "", "get_species"], [1, 2, 1, "", "get_timespan"], [1, 2, 1, "", "plot_property"], [1, 2, 1, "", "plot_species"], [1, 2, 1, "", "read_step"]], "spatialpy.core.RotationTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.ScalingTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.ScatterInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.Species": [[1, 2, 1, "", "set_diffusion_coefficient"], [1, 2, 1, "", "validate"]], "spatialpy.core.SphericalLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.StochSSLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.TimeSpan": [[1, 2, 1, "", "arange"], [1, 2, 1, "", "linspace"], [1, 2, 1, "", "validate"]], "spatialpy.core.Transformation": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "inside"], [1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.TranslationTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.UniformInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.VTKReader": [[1, 2, 1, "", "get_array_name"], [1, 2, 1, "", "get_arrays"], [1, 2, 1, "", "get_num_points"], [1, 2, 1, "", "get_points"], [1, 2, 1, "", "read_file"], [1, 2, 1, "", "set_filename"]], "spatialpy.core.Visualization": [[1, 4, 1, "", "MPL_HEIGHT"], [1, 4, 1, "", "MPL_SIZE"], [1, 4, 1, "", "MPL_WIDTH"], [1, 2, 1, "", "plot_scatter"]], "spatialpy.core.XMLMeshLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.boundarycondition": [[1, 1, 1, "", "BoundaryCondition"]], "spatialpy.core.boundarycondition.BoundaryCondition": [[1, 2, 1, "", "expression"]], "spatialpy.core.cleanup": [[1, 5, 1, "", "cleanup_build_files"], [1, 5, 1, "", "cleanup_core_files"], [1, 5, 1, "", "cleanup_result_files"], [1, 5, 1, "", "cleanup_tempfiles"]], "spatialpy.core.datafunction": [[1, 1, 1, "", "DataFunction"]], "spatialpy.core.datafunction.DataFunction": [[1, 2, 1, "", "map"]], "spatialpy.core.domain": [[1, 1, 1, "", "Domain"]], "spatialpy.core.domain.Domain": [[1, 2, 1, "", "add_fill_action"], [1, 2, 1, "", "add_point"], [1, 2, 1, "", "add_remove_action"], [1, 2, 1, "", "add_set_action"], [1, 2, 1, "", "apply_actions"], [1, 2, 1, "", "apply_fill_action"], [1, 2, 1, "", "apply_remove_action"], [1, 2, 1, "", "apply_set_action"], [1, 2, 1, "", "calculate_vol"], [1, 2, 1, "", "closest_vertex"], [1, 2, 1, "", "compile_prep"], [1, 2, 1, "", "coordinates"], [1, 2, 1, "", "create_2D_domain"], [1, 2, 1, "", "create_3D_domain"], [1, 2, 1, "", "distance_between_2_vertices"], [1, 2, 1, "", "fill_with_particles"], [1, 2, 1, "", "find_boundary_points"], [1, 2, 1, "", "find_h"], [1, 2, 1, "", "get_bounding_box"], [1, 2, 1, "", "get_domain_size"], [1, 2, 1, "", "get_num_voxels"], [1, 2, 1, "", "get_type_def"], [1, 2, 1, "", "get_vol"], [1, 2, 1, "", "import_meshio_object"], [1, 2, 1, "", "plot_types"], [1, 2, 1, "", "preview_actions"], [1, 2, 1, "", "read_msh_file"], [1, 2, 1, "", "read_stochss_domain"], [1, 2, 1, "", "read_stochss_subdomain_file"], [1, 2, 1, "", "read_xml_mesh"], [1, 2, 1, "", "set_properties"], [1, 2, 1, "", "validate_action"]], "spatialpy.core.geometry": [[1, 1, 1, "", "CombinatoryGeometry"], [1, 1, 1, "", "Geometry"], [1, 1, 1, "", "GeometryAll"], [1, 1, 1, "", "GeometryExterior"], [1, 1, 1, "", "GeometryInterior"]], "spatialpy.core.geometry.CombinatoryGeometry": [[1, 2, 1, "", "inside"], [1, 2, 1, "", "validate"]], "spatialpy.core.geometry.Geometry": [[1, 2, 1, "", "inside"]], "spatialpy.core.geometry.GeometryAll": [[1, 2, 1, "", "inside"]], "spatialpy.core.geometry.GeometryExterior": [[1, 2, 1, "", "inside"]], "spatialpy.core.geometry.GeometryInterior": [[1, 2, 1, "", "inside"]], "spatialpy.core.initialcondition": [[1, 1, 1, "", "InitialCondition"], [1, 1, 1, "", "PlaceInitialCondition"], [1, 1, 1, "", "ScatterInitialCondition"], [1, 1, 1, "", "UniformInitialCondition"]], "spatialpy.core.initialcondition.InitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.initialcondition.PlaceInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.initialcondition.ScatterInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.initialcondition.UniformInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.lattice": [[1, 1, 1, "", "CartesianLattice"], [1, 1, 1, "", "CylindricalLattice"], [1, 1, 1, "", "Lattice"], [1, 1, 1, "", "MeshIOLattice"], [1, 1, 1, "", "SphericalLattice"], [1, 1, 1, "", "StochSSLattice"], [1, 1, 1, "", "XMLMeshLattice"]], "spatialpy.core.lattice.CartesianLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.CylindricalLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.Lattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.MeshIOLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.SphericalLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.StochSSLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.XMLMeshLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.model": [[1, 1, 1, "", "Model"], [1, 5, 1, "", "export_StochSS"]], "spatialpy.core.model.Model": [[1, 2, 1, "", "add"], [1, 2, 1, "", "add_boundary_condition"], [1, 2, 1, "", "add_data_function"], [1, 2, 1, "", "add_domain"], [1, 2, 1, "", "add_initial_condition"], [1, 2, 1, "", "add_parameter"], [1, 2, 1, "", "add_reaction"], [1, 2, 1, "", "add_species"], [1, 2, 1, "", "compile_prep"], [1, 2, 1, "", "delete_all_boundary_conditions"], [1, 2, 1, "", "delete_all_data_functions"], [1, 2, 1, "", "delete_all_initial_conditions"], [1, 2, 1, "", "delete_all_parameters"], [1, 2, 1, "", "delete_all_reactions"], [1, 2, 1, "", "delete_all_species"], [1, 2, 1, "", "delete_boundary_condition"], [1, 2, 1, "", "delete_data_function"], [1, 2, 1, "", "delete_initial_condition"], [1, 2, 1, "", "delete_parameter"], [1, 2, 1, "", "delete_reaction"], [1, 2, 1, "", "delete_species"], [1, 2, 1, "", "get_all_boundary_conditions"], [1, 2, 1, "", "get_all_data_functions"], [1, 2, 1, "", "get_all_initial_conditions"], [1, 2, 1, "", "get_all_parameters"], [1, 2, 1, "", "get_all_reactions"], [1, 2, 1, "", "get_all_species"], [1, 2, 1, "", "get_data_function"], [1, 2, 1, "", "get_element"], [1, 2, 1, "", "get_num_reactions"], [1, 2, 1, "", "get_num_species"], [1, 2, 1, "", "get_parameter"], [1, 2, 1, "", "get_reaction"], [1, 2, 1, "", "get_species"], [1, 4, 1, "", "reserved_names"], [1, 2, 1, "", "run"], [1, 2, 1, "", "sanitized_data_function_names"], [1, 2, 1, "", "sanitized_parameter_names"], [1, 2, 1, "", "sanitized_species_names"], [1, 2, 1, "", "set_timesteps"], [1, 4, 1, "", "special_characters"], [1, 2, 1, "", "timespan"], [1, 2, 1, "", "update_namespace"]], "spatialpy.core.parameter": [[1, 1, 1, "", "Parameter"]], "spatialpy.core.parameter.Parameter": [[1, 2, 1, "", "validate"]], "spatialpy.core.reaction": [[1, 1, 1, "", "Reaction"]], "spatialpy.core.reaction.Reaction": [[1, 2, 1, "", "add_product"], [1, 2, 1, "", "add_reactant"], [1, 2, 1, "", "annotate"], [1, 2, 1, "", "from_json"], [1, 2, 1, "", "initialize"], [1, 2, 1, "", "sanitized_propensity_function"], [1, 2, 1, "", "set_annotation"], [1, 2, 1, "", "set_propensities"], [1, 2, 1, "", "set_rate"], [1, 2, 1, "", "to_dict"], [1, 2, 1, "", "validate"]], "spatialpy.core.result": [[1, 1, 1, "", "Result"]], "spatialpy.core.result.Result": [[1, 2, 1, "", "export_to_csv"], [1, 2, 1, "", "get_property"], [1, 2, 1, "", "get_species"], [1, 2, 1, "", "get_timespan"], [1, 2, 1, "", "plot_property"], [1, 2, 1, "", "plot_species"], [1, 2, 1, "", "read_step"]], "spatialpy.core.spatialpyerror": [[1, 3, 1, "", "BoundaryConditionError"], [1, 3, 1, "", "DataFunctionError"], [1, 3, 1, "", "DomainError"], [1, 3, 1, "", "GeometryError"], [1, 3, 1, "", "InitialConditionError"], [1, 3, 1, "", "LatticeError"], [1, 3, 1, "", "ModelError"], [1, 3, 1, "", "ParameterError"], [1, 3, 1, "", "ReactionError"], [1, 3, 1, "", "ResultError"], [1, 3, 1, "", "SimulationError"], [1, 3, 1, "", "SimulationTimeout"], [1, 3, 1, "", "SpeciesError"], [1, 3, 1, "", "TimespanError"], [1, 3, 1, "", "TransformationError"], [1, 3, 1, "", "VTKReaderError"], [1, 3, 1, "", "VTKReaderIOError"], [1, 3, 1, "", "VisualizationError"]], "spatialpy.core.species": [[1, 1, 1, "", "Species"]], "spatialpy.core.species.Species": [[1, 2, 1, "", "set_diffusion_coefficient"], [1, 2, 1, "", "validate"]], "spatialpy.core.timespan": [[1, 1, 1, "", "TimeSpan"]], "spatialpy.core.timespan.TimeSpan": [[1, 2, 1, "", "arange"], [1, 2, 1, "", "linspace"], [1, 2, 1, "", "validate"]], "spatialpy.core.transformation": [[1, 1, 1, "", "ReflectionTransformation"], [1, 1, 1, "", "RotationTransformation"], [1, 1, 1, "", "ScalingTransformation"], [1, 1, 1, "", "Transformation"], [1, 1, 1, "", "TranslationTransformation"]], "spatialpy.core.transformation.ReflectionTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"]], "spatialpy.core.transformation.RotationTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.transformation.ScalingTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.transformation.Transformation": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "inside"], [1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.transformation.TranslationTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.visualization": [[1, 1, 1, "", "Visualization"]], "spatialpy.core.visualization.Visualization": [[1, 4, 1, "", "MPL_HEIGHT"], [1, 4, 1, "", "MPL_SIZE"], [1, 4, 1, "", "MPL_WIDTH"], [1, 2, 1, "", "plot_scatter"]], "spatialpy.core.vtkreader": [[1, 1, 1, "", "VTKReader"]], "spatialpy.core.vtkreader.VTKReader": [[1, 2, 1, "", "get_array_name"], [1, 2, 1, "", "get_arrays"], [1, 2, 1, "", "get_num_points"], [1, 2, 1, "", "get_points"], [1, 2, 1, "", "read_file"], [1, 2, 1, "", "set_filename"]], "spatialpy.solvers": [[2, 0, 0, "-", "build_expression"], [2, 0, 0, "-", "solver"]], "spatialpy.solvers.build_expression": [[2, 1, 1, "", "BuildExpression"], [2, 1, 1, "", "CppConverter"], [2, 1, 1, "", "ExpressionConverter"], [2, 1, 1, "", "ExpressionResults"], [2, 1, 1, "", "PythonConverter"]], "spatialpy.solvers.build_expression.BuildExpression": [[2, 1, 1, "", "ValidationVisitor"], [2, 2, 1, "", "getexpr_cpp"], [2, 2, 1, "", "getexpr_python"], [2, 2, 1, "", "map_operator"], [2, 4, 1, "", "operator_map"], [2, 2, 1, "", "validate"], [2, 2, 1, "", "with_blacklist"], [2, 2, 1, "", "with_namespace"]], "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor": [[2, 2, 1, "", "visit_Assign"], [2, 2, 1, "", "visit_BinOp"], [2, 2, 1, "", "visit_BoolOp"], [2, 2, 1, "", "visit_Call"], [2, 2, 1, "", "visit_Compare"], [2, 2, 1, "", "visit_Name"], [2, 2, 1, "", "visit_UnaryOp"]], "spatialpy.solvers.build_expression.CppConverter": [[2, 1, 1, "", "CppExpressionTransformer"], [2, 2, 1, "", "get_str"], [2, 2, 1, "", "visit_And"], [2, 2, 1, "", "visit_Or"]], "spatialpy.solvers.build_expression.CppConverter.CppExpressionTransformer": [[2, 2, 1, "", "visit_BinOp"]], "spatialpy.solvers.build_expression.ExpressionConverter": [[2, 2, 1, "", "convert_str"], [2, 2, 1, "", "get_str"], [2, 2, 1, "", "parse_comparison"], [2, 2, 1, "", "parse_logical"], [2, 2, 1, "", "parse_operator"], [2, 2, 1, "", "visit_Add"], [2, 2, 1, "", "visit_BinOp"], [2, 2, 1, "", "visit_BoolOp"], [2, 2, 1, "", "visit_Bytes"], [2, 2, 1, "", "visit_Call"], [2, 2, 1, "", "visit_Compare"], [2, 2, 1, "", "visit_Constant"], [2, 2, 1, "", "visit_Div"], [2, 2, 1, "", "visit_Ellipsis"], [2, 2, 1, "", "visit_Eq"], [2, 2, 1, "", "visit_Gt"], [2, 2, 1, "", "visit_GtE"], [2, 2, 1, "", "visit_Lt"], [2, 2, 1, "", "visit_LtE"], [2, 2, 1, "", "visit_Mult"], [2, 2, 1, "", "visit_Name"], [2, 2, 1, "", "visit_NameConstant"], [2, 2, 1, "", "visit_NotEq"], [2, 2, 1, "", "visit_Num"], [2, 2, 1, "", "visit_Pow"], [2, 2, 1, "", "visit_Str"], [2, 2, 1, "", "visit_Sub"], [2, 2, 1, "", "visit_USub"], [2, 2, 1, "", "visit_UnaryOp"]], "spatialpy.solvers.build_expression.PythonConverter": [[2, 2, 1, "", "visit_And"], [2, 2, 1, "", "visit_Or"]], "spatialpy.solvers.solver": [[2, 1, 1, "", "Solver"]], "spatialpy.solvers.solver.Solver": [[2, 2, 1, "", "compile"], [2, 2, 1, "", "run"]], "spatialpy.stochss": [[3, 0, 0, "-", "stochss_export"]], "spatialpy.stochss.stochss_export": [[3, 5, 1, "", "export"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:attribute", "5": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "function", "Python function"]}, "titleterms": {"spatialpi": [0, 1, 2, 3, 4], "packag": [0, 1, 2, 3], "subpackag": 0, "modul": [0, 1, 2, 3], "content": [0, 1, 2, 3], "core": 1, "submodul": [1, 2, 3], "boundarycondit": 1, "cleanup": 1, "datafunct": 1, "domain": 1, "geometri": 1, "initialcondit": 1, "lattic": 1, "model": 1, "paramet": 1, "reaction": 1, "result": 1, "spatialpyerror": 1, "speci": 1, "timespan": 1, "transform": 1, "visual": 1, "vtkreader": 1, "solver": 2, "build_express": 2, "stochss": 3, "stochss_export": 3, "document": 4, "1": 4, "2": 4, "get": 4, "copi": 4, "exampl": 4, "report": 4, "issu": 4, "api": 4, "refer": 4, "indic": 4, "tabl": 4, "3": [], "0": 4}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"spatialpy package": [[0, "spatialpy-package"]], "Subpackages": [[0, "subpackages"]], "Module contents": [[0, "module-spatialpy"], [1, "module-spatialpy.core"], [2, "module-spatialpy.solvers"], [3, "module-spatialpy.stochss"]], "spatialpy.core package": [[1, "spatialpy-core-package"]], "Submodules": [[1, "submodules"], [2, "submodules"], [3, "submodules"]], "spatialpy.core.boundarycondition module": [[1, "module-spatialpy.core.boundarycondition"]], "spatialpy.core.cleanup module": [[1, "module-spatialpy.core.cleanup"]], "spatialpy.core.datafunction module": [[1, "module-spatialpy.core.datafunction"]], "spatialpy.core.domain module": [[1, "module-spatialpy.core.domain"]], "spatialpy.core.geometry module": [[1, "module-spatialpy.core.geometry"]], "spatialpy.core.initialcondition module": [[1, "module-spatialpy.core.initialcondition"]], "spatialpy.core.lattice module": [[1, "module-spatialpy.core.lattice"]], "spatialpy.core.model module": [[1, "module-spatialpy.core.model"]], "spatialpy.core.parameter module": [[1, "module-spatialpy.core.parameter"]], "spatialpy.core.reaction module": [[1, "module-spatialpy.core.reaction"]], "spatialpy.core.result module": [[1, "module-spatialpy.core.result"]], "spatialpy.core.spatialpyerror module": [[1, "module-spatialpy.core.spatialpyerror"]], "spatialpy.core.species module": [[1, "module-spatialpy.core.species"]], "spatialpy.core.timespan module": [[1, "module-spatialpy.core.timespan"]], "spatialpy.core.transformation module": [[1, "module-spatialpy.core.transformation"]], "spatialpy.core.visualization module": [[1, "module-spatialpy.core.visualization"]], "spatialpy.core.vtkreader module": [[1, "module-spatialpy.core.vtkreader"]], "spatialpy.solvers package": [[2, "spatialpy-solvers-package"]], "spatialpy.solvers.build_expression module": [[2, "module-spatialpy.solvers.build_expression"]], "spatialpy.solvers.solver module": [[2, "module-spatialpy.solvers.solver"]], "spatialpy.stochss package": [[3, "spatialpy-stochss-package"]], "spatialpy.stochss.stochss_export module": [[3, "module-spatialpy.stochss.stochss_export"]], "Documentation for SpatialPy 1.2.0": [[4, "documentation-for-spatialpy-release"]], "Getting a copy of SpatialPy": [[4, "getting-a-copy-of-spatialpy"]], "Examples": [[4, "examples"]], "Reporting Issues": [[4, "reporting-issues"]], "Documentation": [[4, "documentation"]], "API reference": [[4, null]], "Indices and tables": [[4, "indices-and-tables"]]}, "indexentries": {"module": [[0, "module-spatialpy"], [1, "module-spatialpy.core"], [1, "module-spatialpy.core.boundarycondition"], [1, "module-spatialpy.core.cleanup"], [1, "module-spatialpy.core.datafunction"], [1, "module-spatialpy.core.domain"], [1, "module-spatialpy.core.geometry"], [1, "module-spatialpy.core.initialcondition"], [1, "module-spatialpy.core.lattice"], [1, "module-spatialpy.core.model"], [1, "module-spatialpy.core.parameter"], [1, "module-spatialpy.core.reaction"], [1, "module-spatialpy.core.result"], [1, "module-spatialpy.core.spatialpyerror"], [1, "module-spatialpy.core.species"], [1, "module-spatialpy.core.timespan"], [1, "module-spatialpy.core.transformation"], [1, "module-spatialpy.core.visualization"], [1, "module-spatialpy.core.vtkreader"], [2, "module-spatialpy.solvers"], [2, "module-spatialpy.solvers.build_expression"], [2, "module-spatialpy.solvers.solver"], [3, "module-spatialpy.stochss"], [3, "module-spatialpy.stochss.stochss_export"]], "spatialpy": [[0, "module-spatialpy"]], "boundarycondition (class in spatialpy.core)": [[1, "spatialpy.core.BoundaryCondition"]], "boundarycondition (class in spatialpy.core.boundarycondition)": [[1, "spatialpy.core.boundarycondition.BoundaryCondition"]], "boundaryconditionerror": [[1, "spatialpy.core.BoundaryConditionError"], [1, "spatialpy.core.spatialpyerror.BoundaryConditionError"]], "cartesianlattice (class in spatialpy.core)": [[1, "spatialpy.core.CartesianLattice"]], "cartesianlattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.CartesianLattice"]], "combinatorygeometry (class in spatialpy.core)": [[1, "spatialpy.core.CombinatoryGeometry"]], "combinatorygeometry (class in spatialpy.core.geometry)": [[1, "spatialpy.core.geometry.CombinatoryGeometry"]], "cylindricallattice (class in spatialpy.core)": [[1, "spatialpy.core.CylindricalLattice"]], "cylindricallattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.CylindricalLattice"]], "datafunction (class in spatialpy.core)": [[1, "spatialpy.core.DataFunction"]], "datafunction (class in spatialpy.core.datafunction)": [[1, "spatialpy.core.datafunction.DataFunction"]], "datafunctionerror": [[1, "spatialpy.core.DataFunctionError"], [1, "spatialpy.core.spatialpyerror.DataFunctionError"]], "domain (class in spatialpy.core)": [[1, "spatialpy.core.Domain"]], "domain (class in spatialpy.core.domain)": [[1, "spatialpy.core.domain.Domain"]], "domainerror": [[1, "spatialpy.core.DomainError"], [1, "spatialpy.core.spatialpyerror.DomainError"]], "geometry (class in spatialpy.core)": [[1, "spatialpy.core.Geometry"]], "geometry (class in spatialpy.core.geometry)": [[1, "spatialpy.core.geometry.Geometry"]], "geometryall (class in spatialpy.core)": [[1, "spatialpy.core.GeometryAll"]], "geometryall (class in spatialpy.core.geometry)": [[1, "spatialpy.core.geometry.GeometryAll"]], "geometryerror": [[1, "spatialpy.core.GeometryError"], [1, "spatialpy.core.spatialpyerror.GeometryError"]], "geometryexterior (class in spatialpy.core)": [[1, "spatialpy.core.GeometryExterior"]], "geometryexterior (class in spatialpy.core.geometry)": [[1, "spatialpy.core.geometry.GeometryExterior"]], "geometryinterior (class in spatialpy.core)": [[1, "spatialpy.core.GeometryInterior"]], "geometryinterior (class in spatialpy.core.geometry)": [[1, "spatialpy.core.geometry.GeometryInterior"]], "initialcondition (class in spatialpy.core)": [[1, "spatialpy.core.InitialCondition"]], "initialcondition (class in spatialpy.core.initialcondition)": [[1, "spatialpy.core.initialcondition.InitialCondition"]], "initialconditionerror": [[1, "spatialpy.core.InitialConditionError"], [1, "spatialpy.core.spatialpyerror.InitialConditionError"]], "lattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.Lattice"]], "latticeerror": [[1, "spatialpy.core.LatticeError"], [1, "spatialpy.core.spatialpyerror.LatticeError"]], "mpl_height (spatialpy.core.visualization attribute)": [[1, "spatialpy.core.Visualization.MPL_HEIGHT"]], "mpl_height (spatialpy.core.visualization.visualization attribute)": [[1, "spatialpy.core.visualization.Visualization.MPL_HEIGHT"]], "mpl_size (spatialpy.core.visualization attribute)": [[1, "spatialpy.core.Visualization.MPL_SIZE"]], "mpl_size (spatialpy.core.visualization.visualization attribute)": [[1, "spatialpy.core.visualization.Visualization.MPL_SIZE"]], "mpl_width (spatialpy.core.visualization attribute)": [[1, "spatialpy.core.Visualization.MPL_WIDTH"]], "mpl_width (spatialpy.core.visualization.visualization attribute)": [[1, "spatialpy.core.visualization.Visualization.MPL_WIDTH"]], "meshiolattice (class in spatialpy.core)": [[1, "spatialpy.core.MeshIOLattice"]], "meshiolattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.MeshIOLattice"]], "model (class in spatialpy.core)": [[1, "spatialpy.core.Model"]], "model (class in spatialpy.core.model)": [[1, "spatialpy.core.model.Model"]], "modelerror": [[1, "spatialpy.core.ModelError"], [1, "spatialpy.core.spatialpyerror.ModelError"]], "parameter (class in spatialpy.core)": [[1, "spatialpy.core.Parameter"]], "parameter (class in spatialpy.core.parameter)": [[1, "spatialpy.core.parameter.Parameter"]], "parametererror": [[1, "spatialpy.core.ParameterError"], [1, "spatialpy.core.spatialpyerror.ParameterError"]], "placeinitialcondition (class in spatialpy.core)": [[1, "spatialpy.core.PlaceInitialCondition"]], "placeinitialcondition (class in spatialpy.core.initialcondition)": [[1, "spatialpy.core.initialcondition.PlaceInitialCondition"]], "reaction (class in spatialpy.core)": [[1, "spatialpy.core.Reaction"]], "reaction (class in spatialpy.core.reaction)": [[1, "spatialpy.core.reaction.Reaction"]], "reactionerror": [[1, "spatialpy.core.ReactionError"], [1, "spatialpy.core.spatialpyerror.ReactionError"]], "reflectiontransformation (class in spatialpy.core)": [[1, "spatialpy.core.ReflectionTransformation"]], "reflectiontransformation (class in spatialpy.core.transformation)": [[1, "spatialpy.core.transformation.ReflectionTransformation"]], "result (class in spatialpy.core)": [[1, "spatialpy.core.Result"]], "result (class in spatialpy.core.result)": [[1, "spatialpy.core.result.Result"]], "resulterror": [[1, "spatialpy.core.ResultError"], [1, "spatialpy.core.spatialpyerror.ResultError"]], "rotationtransformation (class in spatialpy.core)": [[1, "spatialpy.core.RotationTransformation"]], "rotationtransformation (class in spatialpy.core.transformation)": [[1, "spatialpy.core.transformation.RotationTransformation"]], "scalingtransformation (class in spatialpy.core)": [[1, "spatialpy.core.ScalingTransformation"]], "scalingtransformation (class in spatialpy.core.transformation)": [[1, "spatialpy.core.transformation.ScalingTransformation"]], "scatterinitialcondition (class in spatialpy.core)": [[1, "spatialpy.core.ScatterInitialCondition"]], "scatterinitialcondition (class in spatialpy.core.initialcondition)": [[1, "spatialpy.core.initialcondition.ScatterInitialCondition"]], "simulationerror": [[1, "spatialpy.core.SimulationError"], [1, "spatialpy.core.spatialpyerror.SimulationError"]], "simulationtimeout": [[1, "spatialpy.core.SimulationTimeout"], [1, "spatialpy.core.spatialpyerror.SimulationTimeout"]], "species (class in spatialpy.core)": [[1, "spatialpy.core.Species"]], "species (class in spatialpy.core.species)": [[1, "spatialpy.core.species.Species"]], "specieserror": [[1, "spatialpy.core.SpeciesError"], [1, "spatialpy.core.spatialpyerror.SpeciesError"]], "sphericallattice (class in spatialpy.core)": [[1, "spatialpy.core.SphericalLattice"]], "sphericallattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.SphericalLattice"]], "stochsslattice (class in spatialpy.core)": [[1, "spatialpy.core.StochSSLattice"]], "stochsslattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.StochSSLattice"]], "timespan (class in spatialpy.core)": [[1, "spatialpy.core.TimeSpan"]], "timespan (class in spatialpy.core.timespan)": [[1, "spatialpy.core.timespan.TimeSpan"]], "timespanerror": [[1, "spatialpy.core.TimespanError"], [1, "spatialpy.core.spatialpyerror.TimespanError"]], "transformation (class in spatialpy.core)": [[1, "spatialpy.core.Transformation"]], "transformation (class in spatialpy.core.transformation)": [[1, "spatialpy.core.transformation.Transformation"]], "transformationerror": [[1, "spatialpy.core.TransformationError"], [1, "spatialpy.core.spatialpyerror.TransformationError"]], "translationtransformation (class in spatialpy.core)": [[1, "spatialpy.core.TranslationTransformation"]], "translationtransformation (class in spatialpy.core.transformation)": [[1, "spatialpy.core.transformation.TranslationTransformation"]], "uniforminitialcondition (class in spatialpy.core)": [[1, "spatialpy.core.UniformInitialCondition"]], "uniforminitialcondition (class in spatialpy.core.initialcondition)": [[1, "spatialpy.core.initialcondition.UniformInitialCondition"]], "vtkreader (class in spatialpy.core)": [[1, "spatialpy.core.VTKReader"]], "vtkreader (class in spatialpy.core.vtkreader)": [[1, "spatialpy.core.vtkreader.VTKReader"]], "vtkreadererror": [[1, "spatialpy.core.VTKReaderError"], [1, "spatialpy.core.spatialpyerror.VTKReaderError"]], "vtkreaderioerror": [[1, "spatialpy.core.VTKReaderIOError"], [1, "spatialpy.core.spatialpyerror.VTKReaderIOError"]], "visualization (class in spatialpy.core)": [[1, "spatialpy.core.Visualization"]], "visualization (class in spatialpy.core.visualization)": [[1, "spatialpy.core.visualization.Visualization"]], "visualizationerror": [[1, "spatialpy.core.VisualizationError"], [1, "spatialpy.core.spatialpyerror.VisualizationError"]], "xmlmeshlattice (class in spatialpy.core)": [[1, "spatialpy.core.XMLMeshLattice"]], "xmlmeshlattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.XMLMeshLattice"]], "add() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add"]], "add() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add"]], "add_boundary_condition() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_boundary_condition"]], "add_boundary_condition() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_boundary_condition"]], "add_data_function() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_data_function"]], "add_data_function() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_data_function"]], "add_domain() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_domain"]], "add_domain() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_domain"]], "add_fill_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.add_fill_action"]], "add_fill_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.add_fill_action"]], "add_initial_condition() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_initial_condition"]], "add_initial_condition() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_initial_condition"]], "add_parameter() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_parameter"]], "add_parameter() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_parameter"]], "add_point() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.add_point"]], "add_point() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.add_point"]], "add_product() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.add_product"]], "add_product() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.add_product"]], "add_reactant() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.add_reactant"]], "add_reactant() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.add_reactant"]], "add_reaction() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_reaction"]], "add_reaction() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_reaction"]], "add_remove_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.add_remove_action"]], "add_remove_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.add_remove_action"]], "add_set_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.add_set_action"]], "add_set_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.add_set_action"]], "add_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_species"]], "add_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_species"]], "annotate() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.annotate"]], "annotate() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.annotate"]], "apply() (spatialpy.core.cartesianlattice method)": [[1, "spatialpy.core.CartesianLattice.apply"]], "apply() (spatialpy.core.cylindricallattice method)": [[1, "spatialpy.core.CylindricalLattice.apply"]], "apply() (spatialpy.core.initialcondition method)": [[1, "spatialpy.core.InitialCondition.apply"]], "apply() (spatialpy.core.meshiolattice method)": [[1, "spatialpy.core.MeshIOLattice.apply"]], "apply() (spatialpy.core.placeinitialcondition method)": [[1, "spatialpy.core.PlaceInitialCondition.apply"]], "apply() (spatialpy.core.scatterinitialcondition method)": [[1, "spatialpy.core.ScatterInitialCondition.apply"]], "apply() (spatialpy.core.sphericallattice method)": [[1, "spatialpy.core.SphericalLattice.apply"]], "apply() (spatialpy.core.stochsslattice method)": [[1, "spatialpy.core.StochSSLattice.apply"]], "apply() (spatialpy.core.transformation method)": [[1, "spatialpy.core.Transformation.apply"]], "apply() (spatialpy.core.uniforminitialcondition method)": [[1, "spatialpy.core.UniformInitialCondition.apply"]], "apply() (spatialpy.core.xmlmeshlattice method)": [[1, "spatialpy.core.XMLMeshLattice.apply"]], "apply() (spatialpy.core.initialcondition.initialcondition method)": [[1, "spatialpy.core.initialcondition.InitialCondition.apply"]], "apply() (spatialpy.core.initialcondition.placeinitialcondition method)": [[1, "spatialpy.core.initialcondition.PlaceInitialCondition.apply"]], "apply() (spatialpy.core.initialcondition.scatterinitialcondition method)": [[1, "spatialpy.core.initialcondition.ScatterInitialCondition.apply"]], "apply() (spatialpy.core.initialcondition.uniforminitialcondition method)": [[1, "spatialpy.core.initialcondition.UniformInitialCondition.apply"]], "apply() (spatialpy.core.lattice.cartesianlattice method)": [[1, "spatialpy.core.lattice.CartesianLattice.apply"]], "apply() (spatialpy.core.lattice.cylindricallattice method)": [[1, "spatialpy.core.lattice.CylindricalLattice.apply"]], "apply() (spatialpy.core.lattice.lattice method)": [[1, "spatialpy.core.lattice.Lattice.apply"]], "apply() (spatialpy.core.lattice.meshiolattice method)": [[1, "spatialpy.core.lattice.MeshIOLattice.apply"]], "apply() (spatialpy.core.lattice.sphericallattice method)": [[1, "spatialpy.core.lattice.SphericalLattice.apply"]], "apply() (spatialpy.core.lattice.stochsslattice method)": [[1, "spatialpy.core.lattice.StochSSLattice.apply"]], "apply() (spatialpy.core.lattice.xmlmeshlattice method)": [[1, "spatialpy.core.lattice.XMLMeshLattice.apply"]], "apply() (spatialpy.core.transformation.transformation method)": [[1, "spatialpy.core.transformation.Transformation.apply"]], "apply_actions() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.apply_actions"]], "apply_actions() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.apply_actions"]], "apply_fill_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.apply_fill_action"]], "apply_fill_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.apply_fill_action"]], "apply_remove_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.apply_remove_action"]], "apply_remove_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.apply_remove_action"]], "apply_set_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.apply_set_action"]], "apply_set_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.apply_set_action"]], "arange() (spatialpy.core.timespan class method)": [[1, "spatialpy.core.TimeSpan.arange"]], "arange() (spatialpy.core.timespan.timespan class method)": [[1, "spatialpy.core.timespan.TimeSpan.arange"]], "calculate_vol() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.calculate_vol"]], "calculate_vol() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.calculate_vol"]], "cleanup_build_files() (in module spatialpy.core)": [[1, "spatialpy.core.cleanup_build_files"]], "cleanup_build_files() (in module spatialpy.core.cleanup)": [[1, "spatialpy.core.cleanup.cleanup_build_files"]], "cleanup_core_files() (in module spatialpy.core)": [[1, "spatialpy.core.cleanup_core_files"]], "cleanup_core_files() (in module spatialpy.core.cleanup)": [[1, "spatialpy.core.cleanup.cleanup_core_files"]], "cleanup_result_files() (in module spatialpy.core)": [[1, "spatialpy.core.cleanup_result_files"]], "cleanup_result_files() (in module spatialpy.core.cleanup)": [[1, "spatialpy.core.cleanup.cleanup_result_files"]], "cleanup_tempfiles() (in module spatialpy.core)": [[1, "spatialpy.core.cleanup_tempfiles"]], "cleanup_tempfiles() (in module spatialpy.core.cleanup)": [[1, "spatialpy.core.cleanup.cleanup_tempfiles"]], "closest_vertex() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.closest_vertex"]], "closest_vertex() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.closest_vertex"]], "compile_prep() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.compile_prep"]], "compile_prep() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.compile_prep"]], "compile_prep() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.compile_prep"]], "compile_prep() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.compile_prep"]], "coordinates() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.coordinates"]], "coordinates() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.coordinates"]], "create_2d_domain() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.create_2D_domain"]], "create_2d_domain() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.create_2D_domain"]], "create_3d_domain() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.create_3D_domain"]], "create_3d_domain() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.create_3D_domain"]], "delete_all_boundary_conditions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_boundary_conditions"]], "delete_all_boundary_conditions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_boundary_conditions"]], "delete_all_data_functions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_data_functions"]], "delete_all_data_functions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_data_functions"]], "delete_all_initial_conditions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_initial_conditions"]], "delete_all_initial_conditions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_initial_conditions"]], "delete_all_parameters() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_parameters"]], "delete_all_parameters() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_parameters"]], "delete_all_reactions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_reactions"]], "delete_all_reactions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_reactions"]], "delete_all_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_species"]], "delete_all_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_species"]], "delete_boundary_condition() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_boundary_condition"]], "delete_boundary_condition() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_boundary_condition"]], "delete_data_function() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_data_function"]], "delete_data_function() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_data_function"]], "delete_initial_condition() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_initial_condition"]], "delete_initial_condition() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_initial_condition"]], "delete_parameter() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_parameter"]], "delete_parameter() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_parameter"]], "delete_reaction() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_reaction"]], "delete_reaction() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_reaction"]], "delete_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_species"]], "delete_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_species"]], "distance_between_2_vertices() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.distance_between_2_vertices"]], "distance_between_2_vertices() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.distance_between_2_vertices"]], "export_stochss() (in module spatialpy.core)": [[1, "spatialpy.core.export_StochSS"]], "export_stochss() (in module spatialpy.core.model)": [[1, "spatialpy.core.model.export_StochSS"]], "export_to_csv() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.export_to_csv"]], "export_to_csv() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.export_to_csv"]], "expression() (spatialpy.core.boundarycondition method)": [[1, "spatialpy.core.BoundaryCondition.expression"]], "expression() (spatialpy.core.boundarycondition.boundarycondition method)": [[1, "spatialpy.core.boundarycondition.BoundaryCondition.expression"]], "fill_with_particles() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.fill_with_particles"]], "fill_with_particles() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.fill_with_particles"]], "find_boundary_points() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.find_boundary_points"]], "find_boundary_points() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.find_boundary_points"]], "find_h() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.find_h"]], "find_h() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.find_h"]], "from_json() (spatialpy.core.reaction class method)": [[1, "spatialpy.core.Reaction.from_json"]], "from_json() (spatialpy.core.reaction.reaction class method)": [[1, "spatialpy.core.reaction.Reaction.from_json"]], "get_all_boundary_conditions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_boundary_conditions"]], "get_all_boundary_conditions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_boundary_conditions"]], "get_all_data_functions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_data_functions"]], "get_all_data_functions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_data_functions"]], "get_all_initial_conditions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_initial_conditions"]], "get_all_initial_conditions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_initial_conditions"]], "get_all_parameters() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_parameters"]], "get_all_parameters() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_parameters"]], "get_all_reactions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_reactions"]], "get_all_reactions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_reactions"]], "get_all_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_species"]], "get_all_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_species"]], "get_array_name() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.get_array_name"]], "get_array_name() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.get_array_name"]], "get_arrays() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.get_arrays"]], "get_arrays() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.get_arrays"]], "get_bounding_box() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.get_bounding_box"]], "get_bounding_box() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.get_bounding_box"]], "get_data_function() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_data_function"]], "get_data_function() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_data_function"]], "get_domain_size() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.get_domain_size"]], "get_domain_size() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.get_domain_size"]], "get_element() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_element"]], "get_element() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_element"]], "get_num_points() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.get_num_points"]], "get_num_points() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.get_num_points"]], "get_num_reactions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_num_reactions"]], "get_num_reactions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_num_reactions"]], "get_num_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_num_species"]], "get_num_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_num_species"]], "get_num_voxels() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.get_num_voxels"]], "get_num_voxels() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.get_num_voxels"]], "get_parameter() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_parameter"]], "get_parameter() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_parameter"]], "get_points() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.get_points"]], "get_points() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.get_points"]], "get_property() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.get_property"]], "get_property() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.get_property"]], "get_reaction() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_reaction"]], "get_reaction() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_reaction"]], "get_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_species"]], "get_species() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.get_species"]], "get_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_species"]], "get_species() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.get_species"]], "get_timespan() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.get_timespan"]], "get_timespan() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.get_timespan"]], "get_type_def() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.get_type_def"]], "get_type_def() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.get_type_def"]], "get_vol() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.get_vol"]], "get_vol() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.get_vol"]], "import_meshio_object() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.import_meshio_object"]], "import_meshio_object() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.import_meshio_object"]], "initialize() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.initialize"]], "initialize() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.initialize"]], "inside() (spatialpy.core.combinatorygeometry method)": [[1, "spatialpy.core.CombinatoryGeometry.inside"]], "inside() (spatialpy.core.geometry method)": [[1, "spatialpy.core.Geometry.inside"]], "inside() (spatialpy.core.geometryall method)": [[1, "spatialpy.core.GeometryAll.inside"]], "inside() (spatialpy.core.geometryexterior method)": [[1, "spatialpy.core.GeometryExterior.inside"]], "inside() (spatialpy.core.geometryinterior method)": [[1, "spatialpy.core.GeometryInterior.inside"]], "inside() (spatialpy.core.transformation method)": [[1, "spatialpy.core.Transformation.inside"]], "inside() (spatialpy.core.geometry.combinatorygeometry method)": [[1, "spatialpy.core.geometry.CombinatoryGeometry.inside"]], "inside() (spatialpy.core.geometry.geometry method)": [[1, "spatialpy.core.geometry.Geometry.inside"]], "inside() (spatialpy.core.geometry.geometryall method)": [[1, "spatialpy.core.geometry.GeometryAll.inside"]], "inside() (spatialpy.core.geometry.geometryexterior method)": [[1, "spatialpy.core.geometry.GeometryExterior.inside"]], "inside() (spatialpy.core.geometry.geometryinterior method)": [[1, "spatialpy.core.geometry.GeometryInterior.inside"]], "inside() (spatialpy.core.transformation.transformation method)": [[1, "spatialpy.core.transformation.Transformation.inside"]], "linspace() (spatialpy.core.timespan class method)": [[1, "spatialpy.core.TimeSpan.linspace"]], "linspace() (spatialpy.core.timespan.timespan class method)": [[1, "spatialpy.core.timespan.TimeSpan.linspace"]], "map() (spatialpy.core.datafunction method)": [[1, "spatialpy.core.DataFunction.map"]], "map() (spatialpy.core.datafunction.datafunction method)": [[1, "spatialpy.core.datafunction.DataFunction.map"]], "plot_property() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.plot_property"]], "plot_property() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.plot_property"]], "plot_scatter() (spatialpy.core.visualization method)": [[1, "spatialpy.core.Visualization.plot_scatter"]], "plot_scatter() (spatialpy.core.visualization.visualization method)": [[1, "spatialpy.core.visualization.Visualization.plot_scatter"]], "plot_species() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.plot_species"]], "plot_species() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.plot_species"]], "plot_types() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.plot_types"]], "plot_types() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.plot_types"]], "preview_actions() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.preview_actions"]], "preview_actions() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.preview_actions"]], "read_file() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.read_file"]], "read_file() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.read_file"]], "read_msh_file() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.read_msh_file"]], "read_msh_file() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.read_msh_file"]], "read_step() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.read_step"]], "read_step() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.read_step"]], "read_stochss_domain() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.read_stochss_domain"]], "read_stochss_domain() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.read_stochss_domain"]], "read_stochss_subdomain_file() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.read_stochss_subdomain_file"]], "read_stochss_subdomain_file() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.read_stochss_subdomain_file"]], "read_xml_mesh() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.read_xml_mesh"]], "read_xml_mesh() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.read_xml_mesh"]], "reserved_names (spatialpy.core.model attribute)": [[1, "spatialpy.core.Model.reserved_names"]], "reserved_names (spatialpy.core.model.model attribute)": [[1, "spatialpy.core.model.Model.reserved_names"]], "reverse_transform() (spatialpy.core.reflectiontransformation method)": [[1, "spatialpy.core.ReflectionTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.rotationtransformation method)": [[1, "spatialpy.core.RotationTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.scalingtransformation method)": [[1, "spatialpy.core.ScalingTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation method)": [[1, "spatialpy.core.Transformation.reverse_transform"]], "reverse_transform() (spatialpy.core.translationtransformation method)": [[1, "spatialpy.core.TranslationTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation.reflectiontransformation method)": [[1, "spatialpy.core.transformation.ReflectionTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation.rotationtransformation method)": [[1, "spatialpy.core.transformation.RotationTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation.scalingtransformation method)": [[1, "spatialpy.core.transformation.ScalingTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation.transformation method)": [[1, "spatialpy.core.transformation.Transformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation.translationtransformation method)": [[1, "spatialpy.core.transformation.TranslationTransformation.reverse_transform"]], "run() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.run"]], "run() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.run"]], "sanitized_data_function_names() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.sanitized_data_function_names"]], "sanitized_data_function_names() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.sanitized_data_function_names"]], "sanitized_parameter_names() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.sanitized_parameter_names"]], "sanitized_parameter_names() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.sanitized_parameter_names"]], "sanitized_propensity_function() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.sanitized_propensity_function"]], "sanitized_propensity_function() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.sanitized_propensity_function"]], "sanitized_species_names() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.sanitized_species_names"]], "sanitized_species_names() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.sanitized_species_names"]], "set_annotation() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.set_annotation"]], "set_annotation() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.set_annotation"]], "set_diffusion_coefficient() (spatialpy.core.species method)": [[1, "spatialpy.core.Species.set_diffusion_coefficient"]], "set_diffusion_coefficient() (spatialpy.core.species.species method)": [[1, "spatialpy.core.species.Species.set_diffusion_coefficient"]], "set_filename() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.set_filename"]], "set_filename() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.set_filename"]], "set_propensities() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.set_propensities"]], "set_propensities() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.set_propensities"]], "set_properties() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.set_properties"]], "set_properties() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.set_properties"]], "set_rate() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.set_rate"]], "set_rate() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.set_rate"]], "set_timesteps() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.set_timesteps"]], "set_timesteps() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.set_timesteps"]], "spatialpy.core": [[1, "module-spatialpy.core"]], "spatialpy.core.boundarycondition": [[1, "module-spatialpy.core.boundarycondition"]], "spatialpy.core.cleanup": [[1, "module-spatialpy.core.cleanup"]], "spatialpy.core.datafunction": [[1, "module-spatialpy.core.datafunction"]], "spatialpy.core.domain": [[1, "module-spatialpy.core.domain"]], "spatialpy.core.geometry": [[1, "module-spatialpy.core.geometry"]], "spatialpy.core.initialcondition": [[1, "module-spatialpy.core.initialcondition"]], "spatialpy.core.lattice": [[1, "module-spatialpy.core.lattice"]], "spatialpy.core.model": [[1, "module-spatialpy.core.model"]], "spatialpy.core.parameter": [[1, "module-spatialpy.core.parameter"]], "spatialpy.core.reaction": [[1, "module-spatialpy.core.reaction"]], "spatialpy.core.result": [[1, "module-spatialpy.core.result"]], "spatialpy.core.spatialpyerror": [[1, "module-spatialpy.core.spatialpyerror"]], "spatialpy.core.species": [[1, "module-spatialpy.core.species"]], "spatialpy.core.timespan": [[1, "module-spatialpy.core.timespan"]], "spatialpy.core.transformation": [[1, "module-spatialpy.core.transformation"]], "spatialpy.core.visualization": [[1, "module-spatialpy.core.visualization"]], "spatialpy.core.vtkreader": [[1, "module-spatialpy.core.vtkreader"]], "special_characters (spatialpy.core.model attribute)": [[1, "spatialpy.core.Model.special_characters"]], "special_characters (spatialpy.core.model.model attribute)": [[1, "spatialpy.core.model.Model.special_characters"]], "timespan() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.timespan"]], "timespan() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.timespan"]], "to_dict() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.to_dict"]], "to_dict() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.to_dict"]], "transform() (spatialpy.core.reflectiontransformation method)": [[1, "spatialpy.core.ReflectionTransformation.transform"]], "transform() (spatialpy.core.rotationtransformation method)": [[1, "spatialpy.core.RotationTransformation.transform"]], "transform() (spatialpy.core.scalingtransformation method)": [[1, "spatialpy.core.ScalingTransformation.transform"]], "transform() (spatialpy.core.transformation method)": [[1, "spatialpy.core.Transformation.transform"]], "transform() (spatialpy.core.translationtransformation method)": [[1, "spatialpy.core.TranslationTransformation.transform"]], "transform() (spatialpy.core.transformation.reflectiontransformation method)": [[1, "spatialpy.core.transformation.ReflectionTransformation.transform"]], "transform() (spatialpy.core.transformation.rotationtransformation method)": [[1, "spatialpy.core.transformation.RotationTransformation.transform"]], "transform() (spatialpy.core.transformation.scalingtransformation method)": [[1, "spatialpy.core.transformation.ScalingTransformation.transform"]], "transform() (spatialpy.core.transformation.transformation method)": [[1, "spatialpy.core.transformation.Transformation.transform"]], "transform() (spatialpy.core.transformation.translationtransformation method)": [[1, "spatialpy.core.transformation.TranslationTransformation.transform"]], "update_namespace() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.update_namespace"]], "update_namespace() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.update_namespace"]], "validate() (spatialpy.core.cartesianlattice method)": [[1, "spatialpy.core.CartesianLattice.validate"]], "validate() (spatialpy.core.combinatorygeometry method)": [[1, "spatialpy.core.CombinatoryGeometry.validate"]], "validate() (spatialpy.core.cylindricallattice method)": [[1, "spatialpy.core.CylindricalLattice.validate"]], "validate() (spatialpy.core.meshiolattice method)": [[1, "spatialpy.core.MeshIOLattice.validate"]], "validate() (spatialpy.core.parameter method)": [[1, "spatialpy.core.Parameter.validate"]], "validate() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.validate"]], "validate() (spatialpy.core.rotationtransformation method)": [[1, "spatialpy.core.RotationTransformation.validate"]], "validate() (spatialpy.core.scalingtransformation method)": [[1, "spatialpy.core.ScalingTransformation.validate"]], "validate() (spatialpy.core.species method)": [[1, "spatialpy.core.Species.validate"]], "validate() (spatialpy.core.sphericallattice method)": [[1, "spatialpy.core.SphericalLattice.validate"]], "validate() (spatialpy.core.stochsslattice method)": [[1, "spatialpy.core.StochSSLattice.validate"]], "validate() (spatialpy.core.timespan method)": [[1, "spatialpy.core.TimeSpan.validate"]], "validate() (spatialpy.core.transformation method)": [[1, "spatialpy.core.Transformation.validate"]], "validate() (spatialpy.core.translationtransformation method)": [[1, "spatialpy.core.TranslationTransformation.validate"]], "validate() (spatialpy.core.xmlmeshlattice method)": [[1, "spatialpy.core.XMLMeshLattice.validate"]], "validate() (spatialpy.core.geometry.combinatorygeometry method)": [[1, "spatialpy.core.geometry.CombinatoryGeometry.validate"]], "validate() (spatialpy.core.lattice.cartesianlattice method)": [[1, "spatialpy.core.lattice.CartesianLattice.validate"]], "validate() (spatialpy.core.lattice.cylindricallattice method)": [[1, "spatialpy.core.lattice.CylindricalLattice.validate"]], "validate() (spatialpy.core.lattice.lattice method)": [[1, "spatialpy.core.lattice.Lattice.validate"]], "validate() (spatialpy.core.lattice.meshiolattice method)": [[1, "spatialpy.core.lattice.MeshIOLattice.validate"]], "validate() (spatialpy.core.lattice.sphericallattice method)": [[1, "spatialpy.core.lattice.SphericalLattice.validate"]], "validate() (spatialpy.core.lattice.stochsslattice method)": [[1, "spatialpy.core.lattice.StochSSLattice.validate"]], "validate() (spatialpy.core.lattice.xmlmeshlattice method)": [[1, "spatialpy.core.lattice.XMLMeshLattice.validate"]], "validate() (spatialpy.core.parameter.parameter method)": [[1, "spatialpy.core.parameter.Parameter.validate"]], "validate() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.validate"]], "validate() (spatialpy.core.species.species method)": [[1, "spatialpy.core.species.Species.validate"]], "validate() (spatialpy.core.timespan.timespan method)": [[1, "spatialpy.core.timespan.TimeSpan.validate"]], "validate() (spatialpy.core.transformation.rotationtransformation method)": [[1, "spatialpy.core.transformation.RotationTransformation.validate"]], "validate() (spatialpy.core.transformation.scalingtransformation method)": [[1, "spatialpy.core.transformation.ScalingTransformation.validate"]], "validate() (spatialpy.core.transformation.transformation method)": [[1, "spatialpy.core.transformation.Transformation.validate"]], "validate() (spatialpy.core.transformation.translationtransformation method)": [[1, "spatialpy.core.transformation.TranslationTransformation.validate"]], "validate_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.validate_action"]], "validate_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.validate_action"]], "buildexpression (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.BuildExpression"]], "buildexpression.validationvisitor (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor"]], "cppconverter (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.CppConverter"]], "cppconverter.cppexpressiontransformer (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.CppConverter.CppExpressionTransformer"]], "expressionconverter (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter"]], "expressionresults (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.ExpressionResults"]], "pythonconverter (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.PythonConverter"]], "solver (class in spatialpy.solvers.solver)": [[2, "spatialpy.solvers.solver.Solver"]], "compile() (spatialpy.solvers.solver.solver method)": [[2, "spatialpy.solvers.solver.Solver.compile"]], "convert_str() (spatialpy.solvers.build_expression.expressionconverter class method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.convert_str"]], "get_str() (spatialpy.solvers.build_expression.cppconverter method)": [[2, "spatialpy.solvers.build_expression.CppConverter.get_str"]], "get_str() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.get_str"]], "getexpr_cpp() (spatialpy.solvers.build_expression.buildexpression method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.getexpr_cpp"]], "getexpr_python() (spatialpy.solvers.build_expression.buildexpression method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.getexpr_python"]], "map_operator() (spatialpy.solvers.build_expression.buildexpression class method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.map_operator"]], "operator_map (spatialpy.solvers.build_expression.buildexpression attribute)": [[2, "spatialpy.solvers.build_expression.BuildExpression.operator_map"]], "parse_comparison() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.parse_comparison"]], "parse_logical() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.parse_logical"]], "parse_operator() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.parse_operator"]], "run() (spatialpy.solvers.solver.solver method)": [[2, "spatialpy.solvers.solver.Solver.run"]], "spatialpy.solvers": [[2, "module-spatialpy.solvers"]], "spatialpy.solvers.build_expression": [[2, "module-spatialpy.solvers.build_expression"]], "spatialpy.solvers.solver": [[2, "module-spatialpy.solvers.solver"]], "validate() (spatialpy.solvers.build_expression.buildexpression method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.validate"]], "visit_add() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Add"]], "visit_and() (spatialpy.solvers.build_expression.cppconverter method)": [[2, "spatialpy.solvers.build_expression.CppConverter.visit_And"]], "visit_and() (spatialpy.solvers.build_expression.pythonconverter method)": [[2, "spatialpy.solvers.build_expression.PythonConverter.visit_And"]], "visit_assign() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_Assign"]], "visit_binop() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_BinOp"]], "visit_binop() (spatialpy.solvers.build_expression.cppconverter.cppexpressiontransformer method)": [[2, "spatialpy.solvers.build_expression.CppConverter.CppExpressionTransformer.visit_BinOp"]], "visit_binop() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_BinOp"]], "visit_boolop() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_BoolOp"]], "visit_boolop() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_BoolOp"]], "visit_bytes() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Bytes"]], "visit_call() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_Call"]], "visit_call() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Call"]], "visit_compare() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_Compare"]], "visit_compare() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Compare"]], "visit_constant() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Constant"]], "visit_div() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Div"]], "visit_ellipsis() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Ellipsis"]], "visit_eq() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Eq"]], "visit_gt() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Gt"]], "visit_gte() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_GtE"]], "visit_lt() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Lt"]], "visit_lte() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_LtE"]], "visit_mult() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Mult"]], "visit_name() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_Name"]], "visit_name() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Name"]], "visit_nameconstant() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_NameConstant"]], "visit_noteq() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_NotEq"]], "visit_num() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Num"]], "visit_or() (spatialpy.solvers.build_expression.cppconverter method)": [[2, "spatialpy.solvers.build_expression.CppConverter.visit_Or"]], "visit_or() (spatialpy.solvers.build_expression.pythonconverter method)": [[2, "spatialpy.solvers.build_expression.PythonConverter.visit_Or"]], "visit_pow() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Pow"]], "visit_str() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Str"]], "visit_sub() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Sub"]], "visit_usub() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_USub"]], "visit_unaryop() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_UnaryOp"]], "visit_unaryop() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_UnaryOp"]], "with_blacklist() (spatialpy.solvers.build_expression.buildexpression method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.with_blacklist"]], "with_namespace() (spatialpy.solvers.build_expression.buildexpression method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.with_namespace"]], "export() (in module spatialpy.stochss.stochss_export)": [[3, "spatialpy.stochss.stochss_export.export"]], "spatialpy.stochss": [[3, "module-spatialpy.stochss"]], "spatialpy.stochss.stochss_export": [[3, "module-spatialpy.stochss.stochss_export"]]}}) \ No newline at end of file From bb0f309fb6659970a57582ab22db15efce5cfd31 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 17 Jan 2023 18:48:45 +0000 Subject: [PATCH 14/30] Latest docs build. --- docs/build/html/.doctrees/environment.pickle | Bin 748973 -> 748960 bytes .../spatialpy/core/boundarycondition.html | 2 +- .../html/_modules/spatialpy/core/cleanup.html | 2 +- .../_modules/spatialpy/core/datafunction.html | 2 +- .../html/_modules/spatialpy/core/domain.html | 2 +- .../_modules/spatialpy/core/geometry.html | 2 +- .../spatialpy/core/initialcondition.html | 2 +- .../html/_modules/spatialpy/core/lattice.html | 2 +- .../html/_modules/spatialpy/core/model.html | 2 +- .../_modules/spatialpy/core/parameter.html | 2 +- .../_modules/spatialpy/core/reaction.html | 2 +- .../html/_modules/spatialpy/core/result.html | 2 +- .../spatialpy/core/spatialpyerror.html | 2 +- .../html/_modules/spatialpy/core/species.html | 2 +- .../_modules/spatialpy/core/timespan.html | 2 +- .../spatialpy/core/transformation.html | 2 +- .../spatialpy/core/visualization.html | 2 +- .../_modules/spatialpy/core/vtkreader.html | 2 +- .../spatialpy/solvers/build_expression.html | 2 +- .../_modules/spatialpy/solvers/solver.html | 2 +- .../spatialpy/stochss/stochss_export.html | 2 +- 21 files changed, 20 insertions(+), 20 deletions(-) diff --git a/docs/build/html/.doctrees/environment.pickle b/docs/build/html/.doctrees/environment.pickle index 2a69e63fcab32f3a68e94b875e8bfec7e9f324d5..13fe8ab1d65a0c76c5f2ab3f9384a242663bc429 100644 GIT binary patch literal 748960 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 e}|2rs4&3zJ?W$d|pu66Gb5qbJkiZ&&h61 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�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 MZGVlDyLt8Q-R#X+D6+Dlyc!5csv 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 UVHs~Gko$DedDE|Ev!nL^1&dQUNB{r; diff --git a/docs/build/html/_modules/spatialpy/core/boundarycondition.html b/docs/build/html/_modules/spatialpy/core/boundarycondition.html index b8d2dbf6..32b1fd5d 100644 --- a/docs/build/html/_modules/spatialpy/core/boundarycondition.html +++ b/docs/build/html/_modules/spatialpy/core/boundarycondition.html @@ -5,7 +5,7 @@ - spatialpy.core.boundarycondition — SpatialPy 1.1.3 documentation + spatialpy.core.boundarycondition — SpatialPy 1.2.0 documentation diff --git a/docs/build/html/_modules/spatialpy/core/cleanup.html b/docs/build/html/_modules/spatialpy/core/cleanup.html index f60c8bdc..925d7b0d 100644 --- a/docs/build/html/_modules/spatialpy/core/cleanup.html +++ b/docs/build/html/_modules/spatialpy/core/cleanup.html @@ -5,7 +5,7 @@ - spatialpy.core.cleanup — SpatialPy 1.1.3 documentation + spatialpy.core.cleanup — SpatialPy 1.2.0 documentation diff --git a/docs/build/html/_modules/spatialpy/core/datafunction.html b/docs/build/html/_modules/spatialpy/core/datafunction.html index 6cdca446..ee481528 100644 --- a/docs/build/html/_modules/spatialpy/core/datafunction.html +++ b/docs/build/html/_modules/spatialpy/core/datafunction.html @@ -5,7 +5,7 @@ - spatialpy.core.datafunction — SpatialPy 1.1.3 documentation + spatialpy.core.datafunction — SpatialPy 1.2.0 documentation diff --git a/docs/build/html/_modules/spatialpy/core/domain.html b/docs/build/html/_modules/spatialpy/core/domain.html index 62c84b9a..f6d4b923 100644 --- a/docs/build/html/_modules/spatialpy/core/domain.html +++ b/docs/build/html/_modules/spatialpy/core/domain.html @@ -5,7 +5,7 @@ - spatialpy.core.domain — SpatialPy 1.1.3 documentation + spatialpy.core.domain — SpatialPy 1.2.0 documentation diff --git a/docs/build/html/_modules/spatialpy/core/geometry.html b/docs/build/html/_modules/spatialpy/core/geometry.html index 3a91aab5..1a2882b9 100644 --- a/docs/build/html/_modules/spatialpy/core/geometry.html +++ b/docs/build/html/_modules/spatialpy/core/geometry.html @@ -5,7 +5,7 @@ - spatialpy.core.geometry — SpatialPy 1.1.3 documentation + spatialpy.core.geometry — SpatialPy 1.2.0 documentation diff --git a/docs/build/html/_modules/spatialpy/core/initialcondition.html b/docs/build/html/_modules/spatialpy/core/initialcondition.html index edbc4c1d..abdfbb3c 100644 --- a/docs/build/html/_modules/spatialpy/core/initialcondition.html +++ b/docs/build/html/_modules/spatialpy/core/initialcondition.html @@ -5,7 +5,7 @@ - spatialpy.core.initialcondition — SpatialPy 1.1.3 documentation + spatialpy.core.initialcondition — SpatialPy 1.2.0 documentation diff --git a/docs/build/html/_modules/spatialpy/core/lattice.html b/docs/build/html/_modules/spatialpy/core/lattice.html index a0ad09d0..ef1dcc76 100644 --- a/docs/build/html/_modules/spatialpy/core/lattice.html +++ b/docs/build/html/_modules/spatialpy/core/lattice.html @@ -5,7 +5,7 @@ - spatialpy.core.lattice — SpatialPy 1.1.3 documentation + spatialpy.core.lattice — SpatialPy 1.2.0 documentation diff --git a/docs/build/html/_modules/spatialpy/core/model.html b/docs/build/html/_modules/spatialpy/core/model.html index 5070aa91..8862cfa0 100644 --- a/docs/build/html/_modules/spatialpy/core/model.html +++ b/docs/build/html/_modules/spatialpy/core/model.html @@ -5,7 +5,7 @@ - spatialpy.core.model — SpatialPy 1.1.3 documentation + spatialpy.core.model — SpatialPy 1.2.0 documentation diff --git a/docs/build/html/_modules/spatialpy/core/parameter.html b/docs/build/html/_modules/spatialpy/core/parameter.html index 829c1b09..f78c8bff 100644 --- a/docs/build/html/_modules/spatialpy/core/parameter.html +++ b/docs/build/html/_modules/spatialpy/core/parameter.html @@ -5,7 +5,7 @@ - spatialpy.core.parameter — SpatialPy 1.1.3 documentation + spatialpy.core.parameter — SpatialPy 1.2.0 documentation diff --git a/docs/build/html/_modules/spatialpy/core/reaction.html b/docs/build/html/_modules/spatialpy/core/reaction.html index b9d7a10d..ee89eac8 100644 --- a/docs/build/html/_modules/spatialpy/core/reaction.html +++ b/docs/build/html/_modules/spatialpy/core/reaction.html @@ -5,7 +5,7 @@ - spatialpy.core.reaction — SpatialPy 1.1.3 documentation + spatialpy.core.reaction — SpatialPy 1.2.0 documentation diff --git a/docs/build/html/_modules/spatialpy/core/result.html b/docs/build/html/_modules/spatialpy/core/result.html index 749cb884..de1aca0c 100644 --- a/docs/build/html/_modules/spatialpy/core/result.html +++ b/docs/build/html/_modules/spatialpy/core/result.html @@ -5,7 +5,7 @@ - spatialpy.core.result — SpatialPy 1.1.3 documentation + spatialpy.core.result — SpatialPy 1.2.0 documentation diff --git a/docs/build/html/_modules/spatialpy/core/spatialpyerror.html b/docs/build/html/_modules/spatialpy/core/spatialpyerror.html index c39504ce..e3c3d22e 100644 --- a/docs/build/html/_modules/spatialpy/core/spatialpyerror.html +++ b/docs/build/html/_modules/spatialpy/core/spatialpyerror.html @@ -5,7 +5,7 @@ - spatialpy.core.spatialpyerror — SpatialPy 1.1.3 documentation + spatialpy.core.spatialpyerror — SpatialPy 1.2.0 documentation diff --git a/docs/build/html/_modules/spatialpy/core/species.html b/docs/build/html/_modules/spatialpy/core/species.html index 9f2ac3b1..0063b382 100644 --- a/docs/build/html/_modules/spatialpy/core/species.html +++ b/docs/build/html/_modules/spatialpy/core/species.html @@ -5,7 +5,7 @@ - spatialpy.core.species — SpatialPy 1.1.3 documentation + spatialpy.core.species — SpatialPy 1.2.0 documentation diff --git a/docs/build/html/_modules/spatialpy/core/timespan.html b/docs/build/html/_modules/spatialpy/core/timespan.html index 2562da6c..b943ca40 100644 --- a/docs/build/html/_modules/spatialpy/core/timespan.html +++ b/docs/build/html/_modules/spatialpy/core/timespan.html @@ -5,7 +5,7 @@ - spatialpy.core.timespan — SpatialPy 1.1.3 documentation + spatialpy.core.timespan — SpatialPy 1.2.0 documentation diff --git a/docs/build/html/_modules/spatialpy/core/transformation.html b/docs/build/html/_modules/spatialpy/core/transformation.html index 9908df8c..3024ea73 100644 --- a/docs/build/html/_modules/spatialpy/core/transformation.html +++ b/docs/build/html/_modules/spatialpy/core/transformation.html @@ -5,7 +5,7 @@ - spatialpy.core.transformation — SpatialPy 1.1.3 documentation + spatialpy.core.transformation — SpatialPy 1.2.0 documentation diff --git a/docs/build/html/_modules/spatialpy/core/visualization.html b/docs/build/html/_modules/spatialpy/core/visualization.html index 75d4e271..b34ff7df 100644 --- a/docs/build/html/_modules/spatialpy/core/visualization.html +++ b/docs/build/html/_modules/spatialpy/core/visualization.html @@ -5,7 +5,7 @@ - spatialpy.core.visualization — SpatialPy 1.1.3 documentation + spatialpy.core.visualization — SpatialPy 1.2.0 documentation diff --git a/docs/build/html/_modules/spatialpy/core/vtkreader.html b/docs/build/html/_modules/spatialpy/core/vtkreader.html index 157f5219..c000ca1d 100644 --- a/docs/build/html/_modules/spatialpy/core/vtkreader.html +++ b/docs/build/html/_modules/spatialpy/core/vtkreader.html @@ -5,7 +5,7 @@ - spatialpy.core.vtkreader — SpatialPy 1.1.3 documentation + spatialpy.core.vtkreader — SpatialPy 1.2.0 documentation diff --git a/docs/build/html/_modules/spatialpy/solvers/build_expression.html b/docs/build/html/_modules/spatialpy/solvers/build_expression.html index 3fe2bd35..b0aa1134 100644 --- a/docs/build/html/_modules/spatialpy/solvers/build_expression.html +++ b/docs/build/html/_modules/spatialpy/solvers/build_expression.html @@ -5,7 +5,7 @@ - spatialpy.solvers.build_expression — SpatialPy 1.1.3 documentation + spatialpy.solvers.build_expression — SpatialPy 1.2.0 documentation diff --git a/docs/build/html/_modules/spatialpy/solvers/solver.html b/docs/build/html/_modules/spatialpy/solvers/solver.html index 477940fd..8b5eed7c 100644 --- a/docs/build/html/_modules/spatialpy/solvers/solver.html +++ b/docs/build/html/_modules/spatialpy/solvers/solver.html @@ -5,7 +5,7 @@ - spatialpy.solvers.solver — SpatialPy 1.1.3 documentation + spatialpy.solvers.solver — SpatialPy 1.2.0 documentation diff --git a/docs/build/html/_modules/spatialpy/stochss/stochss_export.html b/docs/build/html/_modules/spatialpy/stochss/stochss_export.html index c9502948..f187a042 100644 --- a/docs/build/html/_modules/spatialpy/stochss/stochss_export.html +++ b/docs/build/html/_modules/spatialpy/stochss/stochss_export.html @@ -5,7 +5,7 @@ - spatialpy.stochss.stochss_export — SpatialPy 1.1.3 documentation + spatialpy.stochss.stochss_export — SpatialPy 1.2.0 documentation From 6fd40fbc59b8b0a9f296f4e148b7b4d7ddbe00fe Mon Sep 17 00:00:00 2001 From: Bryan Rumsey Date: Wed, 18 Jan 2023 12:55:31 -0500 Subject: [PATCH 15/30] Fixed notebook plotting issues with plotly. --- spatialpy/core/domain.py | 1 - spatialpy/core/result.py | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/spatialpy/core/domain.py b/spatialpy/core/domain.py index f7afc481..1921cfb0 100644 --- a/spatialpy/core/domain.py +++ b/spatialpy/core/domain.py @@ -1035,7 +1035,6 @@ def plot_types(self, width=None, height=None, colormap=None, size=None, title=No if return_plotly_figure: return fig - # init_notebook_mode(connected=True) init_notebook_mode() iplot(fig) return diff --git a/spatialpy/core/result.py b/spatialpy/core/result.py index 8db5f27e..1753a1d9 100644 --- a/spatialpy/core/result.py +++ b/spatialpy/core/result.py @@ -582,7 +582,7 @@ def plot_species(self, species, t_ndx=None, t_val=None, concentration=False, if return_plotly_figure: return fig - init_notebook_mode(connected=True) + init_notebook_mode() iplot(fig) def get_property(self, property_name, timepoints=None): @@ -881,7 +881,7 @@ def plot_property(self, property_name, t_ndx=None, t_val=None, p_ndx=0, width=No if return_plotly_figure: return fig - init_notebook_mode(connected=True) + init_notebook_mode() iplot(fig) def export_to_csv(self, folder_name=None): From b7875b3536f44c542c71f42fd01e4ae901ae099c Mon Sep 17 00:00:00 2001 From: Bryan Rumsey Date: Wed, 25 Jan 2023 10:28:00 -0500 Subject: [PATCH 16/30] fixed numerical error when decrementing radius. --- spatialpy/core/lattice.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/spatialpy/core/lattice.py b/spatialpy/core/lattice.py index 2e7ca70a..cc573aa3 100644 --- a/spatialpy/core/lattice.py +++ b/spatialpy/core/lattice.py @@ -308,6 +308,10 @@ def apply(self, domain, geometry, transform=None, **kwargs): if transform is not None and not callable(transform): raise LatticeError("transform must be a function.") + digits = max( + len(str(self.deltar).split(".")[1]) if "." in str(self.deltar) else 0, + len(str(self.radius).split(".")[1]) if "." in str(self.radius) else 0 + ) count = 0 radius = self.radius while radius > 0: @@ -323,7 +327,7 @@ def apply(self, domain, geometry, transform=None, **kwargs): for mphi in range(m_phi): phi = numpy.pi * (mphi + 0.5) / m_phi - m_theta = int(round(2 * numpy.pi * numpy.sin(phi) / d_phi)) + m_theta = int(round(2 * numpy.pi * numpy.sin(phi) / d_theta)) for mtheta in range(m_theta): theta = 2 * numpy.pi * mtheta / m_theta @@ -339,7 +343,7 @@ def apply(self, domain, geometry, transform=None, **kwargs): point = numpy.array(point) domain.add_point(point + self.center, **kwargs) count += 1 - radius -= self.deltar + radius = round(radius - self.deltar, digits) if radius == 0 and geometry.inside((0, 0, 0), False): point = [0, 0, 0] if transform is None else transform([0, 0, 0]) if not isinstance(point, numpy.ndarray): @@ -439,6 +443,10 @@ def apply(self, domain, geometry, transform=None, **kwargs): if transform is not None and not callable(transform): raise LatticeError("transform must be a function.") + digits = max( + len(str(self.deltar).split(".")[1]) if "." in str(self.deltar) else 0, + len(str(self.radius).split(".")[1]) if "." in str(self.radius) else 0 + ) count = 0 h_len = self.length / 2 xmin = -h_len @@ -456,7 +464,7 @@ def apply(self, domain, geometry, transform=None, **kwargs): x = xmin while x <= xmax: for mtheta in range(m_theta): - theta = 2 * numpy.pi * (mtheta + 0.5) / m_theta + theta = 2 * numpy.pi * (mtheta + 0.5) / d_theta y = radius * numpy.cos(theta) z = radius * numpy.sin(theta) if geometry.inside((x, y, z), False): @@ -469,7 +477,7 @@ def apply(self, domain, geometry, transform=None, **kwargs): domain.add_point(point + self.center, **kwargs) count += 1 x += self.deltas - radius -= self.deltar + radius = round(radius - self.deltar, digits) if radius == 0: x = xmin while x <= xmax: From bbdc022a5b0c93cf845458726bad41d766b5f3f8 Mon Sep 17 00:00:00 2001 From: Bryan Rumsey Date: Wed, 25 Jan 2023 10:59:28 -0500 Subject: [PATCH 17/30] fixed numerical error when decrementing radius. --- spatialpy/core/lattice.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spatialpy/core/lattice.py b/spatialpy/core/lattice.py index cc573aa3..6d1b43d9 100644 --- a/spatialpy/core/lattice.py +++ b/spatialpy/core/lattice.py @@ -327,7 +327,7 @@ def apply(self, domain, geometry, transform=None, **kwargs): for mphi in range(m_phi): phi = numpy.pi * (mphi + 0.5) / m_phi - m_theta = int(round(2 * numpy.pi * numpy.sin(phi) / d_theta)) + m_theta = int(round(2 * numpy.pi * numpy.sin(phi) / m_theta)) for mtheta in range(m_theta): theta = 2 * numpy.pi * mtheta / m_theta @@ -464,7 +464,7 @@ def apply(self, domain, geometry, transform=None, **kwargs): x = xmin while x <= xmax: for mtheta in range(m_theta): - theta = 2 * numpy.pi * (mtheta + 0.5) / d_theta + theta = 2 * numpy.pi * (mtheta + 0.5) / m_theta y = radius * numpy.cos(theta) z = radius * numpy.sin(theta) if geometry.inside((x, y, z), False): From f3af2a4042b2210f1eecde77b7ec06ad96663a97 Mon Sep 17 00:00:00 2001 From: Bryan Rumsey Date: Wed, 25 Jan 2023 11:30:31 -0500 Subject: [PATCH 18/30] fixed numerical error when decrementing radius. --- spatialpy/core/lattice.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spatialpy/core/lattice.py b/spatialpy/core/lattice.py index 6d1b43d9..dd9e855c 100644 --- a/spatialpy/core/lattice.py +++ b/spatialpy/core/lattice.py @@ -327,7 +327,7 @@ def apply(self, domain, geometry, transform=None, **kwargs): for mphi in range(m_phi): phi = numpy.pi * (mphi + 0.5) / m_phi - m_theta = int(round(2 * numpy.pi * numpy.sin(phi) / m_theta)) + m_theta = int(round(2 * numpy.pi * numpy.sin(phi) / d_phi)) for mtheta in range(m_theta): theta = 2 * numpy.pi * mtheta / m_theta From 60a87c8a6f030d34f244df7cefe7dd13bf36c188 Mon Sep 17 00:00:00 2001 From: Bryan Rumsey Date: Wed, 25 Jan 2023 13:22:18 -0500 Subject: [PATCH 19/30] Added warning for approx_rc == 0. --- spatialpy/core/lattice.py | 104 +++++++++++++++++++++----------------- 1 file changed, 58 insertions(+), 46 deletions(-) diff --git a/spatialpy/core/lattice.py b/spatialpy/core/lattice.py index dd9e855c..9724ad62 100644 --- a/spatialpy/core/lattice.py +++ b/spatialpy/core/lattice.py @@ -318,31 +318,37 @@ def apply(self, domain, geometry, transform=None, **kwargs): # Calculate the approximate number of particle with the radius approx_rc = int(round((4 * radius ** 2) / ((self.deltas / 2) ** 2))) - # Set constants for the radius - p_area = 4 * numpy.pi * radius ** 2 / approx_rc - d_a = numpy.sqrt(p_area) - m_phi = int(round(numpy.pi * radius / d_a)) - d_phi = numpy.pi / m_phi - d_theta = p_area / d_phi - - for mphi in range(m_phi): - phi = numpy.pi * (mphi + 0.5) / m_phi - m_theta = int(round(2 * numpy.pi * numpy.sin(phi) / d_phi)) - - for mtheta in range(m_theta): - theta = 2 * numpy.pi * mtheta / m_theta - x = radius * numpy.cos(theta) * numpy.sin(phi) - y = radius * numpy.sin(theta) * numpy.sin(phi) - z = radius * numpy.cos(phi) - if geometry.inside((x, y, z), False): - if transform is None: - point = [x, y, z] - else: - point = transform([x, y, z]) - if not isinstance(point, numpy.ndarray): - point = numpy.array(point) - domain.add_point(point + self.center, **kwargs) - count += 1 + if approx_rc == 0: + from spatialpy.core import log # pylint: disable=import-outside-toplevel + msg = f"Approximation of particles for the layer at radius {radius} is 0." + msg += "Consider increasing the radius or increasing the radial spacing (deltas)" + log.warning(msg) + else: + # Set constants for the radius + p_area = 4 * numpy.pi * radius ** 2 / approx_rc + d_a = numpy.sqrt(p_area) + m_phi = int(round(numpy.pi * radius / d_a)) + d_phi = numpy.pi / m_phi + d_theta = p_area / d_phi + + for mphi in range(m_phi): + phi = numpy.pi * (mphi + 0.5) / m_phi + m_theta = int(round(2 * numpy.pi * numpy.sin(phi) / d_phi)) + + for mtheta in range(m_theta): + theta = 2 * numpy.pi * mtheta / m_theta + x = radius * numpy.cos(theta) * numpy.sin(phi) + y = radius * numpy.sin(theta) * numpy.sin(phi) + z = radius * numpy.cos(phi) + if geometry.inside((x, y, z), False): + if transform is None: + point = [x, y, z] + else: + point = transform([x, y, z]) + if not isinstance(point, numpy.ndarray): + point = numpy.array(point) + domain.add_point(point + self.center, **kwargs) + count += 1 radius = round(radius - self.deltar, digits) if radius == 0 and geometry.inside((0, 0, 0), False): point = [0, 0, 0] if transform is None else transform([0, 0, 0]) @@ -456,27 +462,33 @@ def apply(self, domain, geometry, transform=None, **kwargs): # Calculate the approximate number of particle with the radius approx_rc = int(round((2 * radius * self.length) / ((self.deltas / 2) ** 2))) - p_area = 2 * numpy.pi * radius * self.length / approx_rc - d_a = numpy.sqrt(p_area) - m_theta = int(round(2 * numpy.pi * radius / d_a)) - d_theta = 2 * numpy.pi / m_theta - - x = xmin - while x <= xmax: - for mtheta in range(m_theta): - theta = 2 * numpy.pi * (mtheta + 0.5) / m_theta - y = radius * numpy.cos(theta) - z = radius * numpy.sin(theta) - if geometry.inside((x, y, z), False): - if transform is None: - point = [x, y, z] - else: - point = transform([x, y, z]) - if not isinstance(point, numpy.ndarray): - point = numpy.array(point) - domain.add_point(point + self.center, **kwargs) - count += 1 - x += self.deltas + if approx_rc == 0: + from spatialpy.core import log # pylint: disable=import-outside-toplevel + msg = f"Approximation of particles for the layer at radius {radius} is 0." + msg += "Consider increasing the radius or increasing the radial spacing (deltas)" + log.warning(msg) + else: + p_area = 2 * numpy.pi * radius * self.length / approx_rc + d_a = numpy.sqrt(p_area) + m_theta = int(round(2 * numpy.pi * radius / d_a)) + d_theta = 2 * numpy.pi / m_theta + + x = xmin + while x <= xmax: + for mtheta in range(m_theta): + theta = 2 * numpy.pi * (mtheta + 0.5) / m_theta + y = radius * numpy.cos(theta) + z = radius * numpy.sin(theta) + if geometry.inside((x, y, z), False): + if transform is None: + point = [x, y, z] + else: + point = transform([x, y, z]) + if not isinstance(point, numpy.ndarray): + point = numpy.array(point) + domain.add_point(point + self.center, **kwargs) + count += 1 + x += self.deltas radius = round(radius - self.deltar, digits) if radius == 0: x = xmin From 1e780930191b461de461267d2f7e8bf76ec12f23 Mon Sep 17 00:00:00 2001 From: Bryan Rumsey Date: Mon, 30 Jan 2023 09:36:42 -0500 Subject: [PATCH 20/30] Changed the logger to a named logger. --- spatialpy/core/__init__.py | 64 +++++++++++++++++++++----------------- 1 file changed, 35 insertions(+), 29 deletions(-) diff --git a/spatialpy/core/__init__.py b/spatialpy/core/__init__.py index af272085..af5e9d71 100644 --- a/spatialpy/core/__init__.py +++ b/spatialpy/core/__init__.py @@ -18,33 +18,33 @@ from spatialpy.__version__ import __version__ from .boundarycondition import BoundaryCondition from .cleanup import ( - cleanup_tempfiles, - cleanup_core_files, - cleanup_build_files, - cleanup_result_files + cleanup_tempfiles, + cleanup_core_files, + cleanup_build_files, + cleanup_result_files ) from .datafunction import DataFunction from .domain import Domain from .geometry import ( - CombinatoryGeometry, - Geometry, - GeometryAll, - GeometryExterior, - GeometryInterior + CombinatoryGeometry, + Geometry, + GeometryAll, + GeometryExterior, + GeometryInterior ) from .initialcondition import ( - InitialCondition, - PlaceInitialCondition, - UniformInitialCondition, - ScatterInitialCondition + InitialCondition, + PlaceInitialCondition, + UniformInitialCondition, + ScatterInitialCondition ) from .lattice import ( - CartesianLattice, - SphericalLattice, - CylindricalLattice, - XMLMeshLattice, - MeshIOLattice, - StochSSLattice + CartesianLattice, + SphericalLattice, + CylindricalLattice, + XMLMeshLattice, + MeshIOLattice, + StochSSLattice ) from .model import Model, export_StochSS from .parameter import Parameter @@ -54,21 +54,27 @@ from .species import Species from .timespan import TimeSpan from .transformation import ( - Transformation, - TranslationTransformation, - RotationTransformation, - ReflectionTransformation, - ScalingTransformation + Transformation, + TranslationTransformation, + RotationTransformation, + ReflectionTransformation, + ScalingTransformation ) from .visualization import Visualization from .vtkreader import * -_formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') -_handler = logging.StreamHandler() -_handler.setFormatter(_formatter) version = __version__ -log = logging.getLogger() + +log = logging.getLogger("SpatialPy") log.setLevel(logging.WARNING) -log.addHandler(_handler) +log.propagate = False + +if not log.handlers: + _formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') + + _handler = logging.StreamHandler() + _handler.setFormatter(_formatter) + + log.addHandler(_handler) __all__ = [s for s in dir() if not s.startswith('_')] From 8dcd124b25ab6af03db7848740d19405f71445a7 Mon Sep 17 00:00:00 2001 From: Bryan Rumsey Date: Mon, 30 Jan 2023 10:20:28 -0500 Subject: [PATCH 21/30] Fixed warning messages for approx_rc value of 0. --- spatialpy/core/lattice.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spatialpy/core/lattice.py b/spatialpy/core/lattice.py index 9724ad62..2164adb2 100644 --- a/spatialpy/core/lattice.py +++ b/spatialpy/core/lattice.py @@ -320,7 +320,7 @@ def apply(self, domain, geometry, transform=None, **kwargs): if approx_rc == 0: from spatialpy.core import log # pylint: disable=import-outside-toplevel - msg = f"Approximation of particles for the layer at radius {radius} is 0." + msg = f"Approximation of particles for the layer at radius {radius} is 0. " msg += "Consider increasing the radius or increasing the radial spacing (deltas)" log.warning(msg) else: @@ -464,7 +464,7 @@ def apply(self, domain, geometry, transform=None, **kwargs): if approx_rc == 0: from spatialpy.core import log # pylint: disable=import-outside-toplevel - msg = f"Approximation of particles for the layer at radius {radius} is 0." + msg = f"Approximation of particles for the layer at radius {radius} is 0. " msg += "Consider increasing the radius or increasing the radial spacing (deltas)" log.warning(msg) else: From c9673b401830215327166679a7dcd3928e94f222 Mon Sep 17 00:00:00 2001 From: Bryan Rumsey Date: Mon, 30 Jan 2023 14:37:23 -0500 Subject: [PATCH 22/30] Added flag to allow all types when executing compile prep. --- spatialpy/core/domain.py | 7 ++++--- spatialpy/core/model.py | 10 +++++----- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/spatialpy/core/domain.py b/spatialpy/core/domain.py index f7afc481..754a99b3 100644 --- a/spatialpy/core/domain.py +++ b/spatialpy/core/domain.py @@ -474,7 +474,7 @@ def closest_vertex(self, point): min_vtx = i return min_vtx - def compile_prep(self): + def compile_prep(self, allow_all_types=False): """ Generate the domains list of type ids and check for invalid type_ids and rho values in preperation of compiling the simulation files. @@ -483,8 +483,9 @@ def compile_prep(self): """ self.apply_actions() - if self.type_id.tolist().count("type_UnAssigned") > 0: - raise DomainError("Particles must be assigned a type_id.") + if not allow_all_types: + if self.type_id.tolist().count("type_UnAssigned") > 0: + raise DomainError("Particles must be assigned a type_id.") if numpy.count_nonzero(self.rho) < len(self.rho): raise DomainError("Rho must be a positive value.") diff --git a/spatialpy/core/model.py b/spatialpy/core/model.py index 25353e31..f5fe3687 100644 --- a/spatialpy/core/model.py +++ b/spatialpy/core/model.py @@ -447,7 +447,7 @@ def get_element(self, name): return self.get_data_function(name) raise ModelError(f"{self.name} does not contain an element named {name}.") - def add_domain(self, domain): + def add_domain(self, domain, allow_all_types=False): """ Add a spatial domain to the model @@ -461,7 +461,7 @@ def add_domain(self, domain): "Unexpected parameter for add_domain. Parameter must be of type SpatialPy.Domain." ) - domain.compile_prep() + domain.compile_prep(allow_all_types=allow_all_types) self.domain = domain return domain @@ -766,7 +766,7 @@ def delete_all_reactions(self): self.listOfReactions.clear() self._listOfReactions.clear() - def get_reaction(self, rname): + def get_reaction(self, name): """ Returns a reaction object by name. @@ -979,7 +979,7 @@ def timespan(self, time_span, timestep_size=None): else: self.tspan = TimeSpan(time_span, timestep_size=timestep_size) - def compile_prep(self): + def compile_prep(self, allow_all_types=False): """ Make sure all paramters are evaluated to scalars, update the models diffusion restrictions, create the models expression utility, and generate the domain list of type ids in preperation @@ -997,7 +997,7 @@ def compile_prep(self): if self.domain is None: raise ModelError("The model's domain is not set. Use 'add_domain()'.") - self.domain.compile_prep() + self.domain.compile_prep(allow_all_types=allow_all_types) self.__update_diffusion_restrictions() self.__apply_initial_conditions() From 72ec726590dacc049fd9a06e7a6183778d97f3f0 Mon Sep 17 00:00:00 2001 From: Bryan Rumsey Date: Mon, 30 Jan 2023 15:14:44 -0500 Subject: [PATCH 23/30] Added handler for math errors for cartesian lattices. --- spatialpy/core/lattice.py | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/spatialpy/core/lattice.py b/spatialpy/core/lattice.py index 2164adb2..b9c5f5f6 100644 --- a/spatialpy/core/lattice.py +++ b/spatialpy/core/lattice.py @@ -158,8 +158,9 @@ def __add_point(self, domain, geometry, transform, point, count, kwargs): count += 1 return count - def __generate_z(self, domain, geometry, transform, x, y, count, kwargs): + def __generate_z(self, domain, geometry, transform, x, y, count, z_digits, kwargs): for z in numpy.arange(self.zmin, self.zmax + self.deltaz, self.deltaz): + z = round(z, z_digits) count = self.__add_point(domain, geometry, transform, [x, y, z], count, kwargs) return count @@ -190,14 +191,31 @@ def apply(self, domain, geometry, transform=None, **kwargs): if transform is not None and not callable(transform): raise LatticeError("transform must be a function.") + x_digits = max( + len(str(self.deltax).split(".")[1]) if "." in str(self.deltax) else 0, + len(str(self.xmin).split(".")[1]) if "." in str(self.xmin) else 0, + len(str(self.xmax).split(".")[1]) if "." in str(self.xmax) else 0 + ) + y_digits = max( + len(str(self.deltay).split(".")[1]) if "." in str(self.deltay) else 0, + len(str(self.ymin).split(".")[1]) if "." in str(self.ymin) else 0, + len(str(self.ymax).split(".")[1]) if "." in str(self.ymax) else 0 + ) + z_digits = max( + len(str(self.deltaz).split(".")[1]) if "." in str(self.deltaz) else 0, + len(str(self.zmin).split(".")[1]) if "." in str(self.zmin) else 0, + len(str(self.zmax).split(".")[1]) if "." in str(self.zmax) else 0 + ) count = 0 for x in numpy.arange(self.xmin, self.xmax + self.deltax, self.deltax): + x = round(x, x_digits) for y in numpy.arange(self.ymin, self.ymax + self.deltay, self.deltay): + y = round(y, y_digits) if self.deltaz == 0: z = self.center[2] count = self.__add_point(domain, geometry, transform, [x, y, z], count, kwargs) else: - count = self.__generate_z(domain, geometry, transform, x, y, count, kwargs) + count = self.__generate_z(domain, geometry, transform, x, y, count, z_digits, kwargs) self._update_limits(domain) if 'vol' not in kwargs: offset = len(domain.vertices) - count From 7b56d1ccd6194375c39bd5f3f23b37b5076a8bf6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 31 Jan 2023 18:48:18 +0000 Subject: [PATCH 24/30] Latest docs build. --- docs/build/html/.doctrees/environment.pickle | Bin 748960 -> 748887 bytes .../html/_modules/spatialpy/core/domain.html | 1 - .../html/_modules/spatialpy/core/result.html | 4 ++-- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/build/html/.doctrees/environment.pickle b/docs/build/html/.doctrees/environment.pickle index 13fe8ab1d65a0c76c5f2ab3f9384a242663bc429..27d7b46a0a3cdd357febaaf59507bf1998aae84d 100644 GIT binary patch delta 22398 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 Y9jypEIM0J4ACP9Y^3C(-PwV)90K?$y&;S4c delta 22327 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 SSy0h8psBTV!|d4;Q~w|DsW3PI diff --git a/docs/build/html/_modules/spatialpy/core/domain.html b/docs/build/html/_modules/spatialpy/core/domain.html index f6d4b923..4237e24b 100644 --- a/docs/build/html/_modules/spatialpy/core/domain.html +++ b/docs/build/html/_modules/spatialpy/core/domain.html @@ -1130,7 +1130,6 @@

    Source code for spatialpy.core.domain

    diff --git a/docs/build/html/_modules/spatialpy/core/result.html b/docs/build/html/_modules/spatialpy/core/result.html index de1aca0c..d6232803 100644 --- a/docs/build/html/_modules/spatialpy/core/result.html +++ b/docs/build/html/_modules/spatialpy/core/result.html @@ -677,7 +677,7 @@

    Source code for spatialpy.core.result

     
             if return_plotly_figure:
                 return fig
    -        init_notebook_mode(connected=True)
    +        init_notebook_mode()
             iplot(fig)
    [docs] def get_property(self, property_name, timepoints=None): @@ -976,7 +976,7 @@

    Source code for spatialpy.core.result

     
             if return_plotly_figure:
                 return fig
    -        init_notebook_mode(connected=True)
    +        init_notebook_mode()
             iplot(fig)
    [docs] def export_to_csv(self, folder_name=None): From 6d56050f7a2e673bbf4163ddfd26eefc3ccf66cd Mon Sep 17 00:00:00 2001 From: Bryan Rumsey Date: Tue, 31 Jan 2023 15:27:36 -0500 Subject: [PATCH 25/30] Fixed issues with removing multiple particles from the domain. --- spatialpy/core/domain.py | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/spatialpy/core/domain.py b/spatialpy/core/domain.py index 754a99b3..8bbf22ec 100644 --- a/spatialpy/core/domain.py +++ b/spatialpy/core/domain.py @@ -388,17 +388,19 @@ def apply_remove_action(self, action): # remove the particles that fall within the defined region on_boundary = self.find_boundary_points(update=True) - for v_ndx, vertex in enumerate(self.vertices): - if action['geometry'].inside(vertex, on_boundary[v_ndx]): - self.vertices = numpy.delete(self.vertices, v_ndx, 0) - self.type_id = numpy.delete(self.type_id, v_ndx, 0) - self.vol = numpy.delete(self.vol, v_ndx) - self.mass = numpy.delete(self.mass, v_ndx) - self.rho = numpy.delete(self.rho, v_ndx) - self.nu = numpy.delete(self.nu, v_ndx) - self.c = numpy.delete(self.c, v_ndx) - self.fixed = numpy.delete(self.fixed, v_ndx) - self.on_boundary = numpy.delete(self.on_boundary, v_ndx) + geometry = action['geometry'] + indices = [v_ndx for v_ndx, vertex in enumerate(self.vertices) if geometry.inside(vertex, on_boundary[v_ndx])] + indices.reverse() + for v_ndx in indices: + self.vertices = numpy.delete(self.vertices, v_ndx, 0) + self.type_id = numpy.delete(self.type_id, v_ndx, 0) + self.vol = numpy.delete(self.vol, v_ndx) + self.mass = numpy.delete(self.mass, v_ndx) + self.rho = numpy.delete(self.rho, v_ndx) + self.nu = numpy.delete(self.nu, v_ndx) + self.c = numpy.delete(self.c, v_ndx) + self.fixed = numpy.delete(self.fixed, v_ndx) + self.on_boundary = numpy.delete(self.on_boundary, v_ndx) def apply_set_action(self, action): """ From 44f4df71b15b85e8ba996a9082c5e41125b2a354 Mon Sep 17 00:00:00 2001 From: Josh C Date: Thu, 2 Feb 2023 16:42:37 -0500 Subject: [PATCH 26/30] Update file extensions in SConscript files --- .../ssa_sdpd-c-simulation-engine/src/SConscript | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript index 77f1f019..2c08890a 100644 --- a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript +++ b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript @@ -1,14 +1,14 @@ Import('env') libspatialpy_core = env.Object([ - 'count_cores.c', - 'model.c', + 'count_cores.cpp', + 'model.cpp', 'NRMConstant_v5.cpp', - 'output.c', + 'output.cpp', 'particle.cpp', - 'pthread_barrier.c', - 'read_lammps_input_file.c', + 'pthread_barrier.cpp', + 'read_lammps_input_file.cpp', 'simulate.cpp', 'simulate_rdme.cpp', - 'simulate_threads.c' + 'simulate_threads.cpp' ]) Return('libspatialpy_core') From 3c79cdfcd428a488a90a122e616b6865d965dd27 Mon Sep 17 00:00:00 2001 From: Josh C Date: Thu, 2 Feb 2023 16:48:47 -0500 Subject: [PATCH 27/30] Delete now-dead Makefiles --- .../build/Makefile | 36 ------ .../external/ANN/src/Makefile.spatialpy | 118 ------------------ 2 files changed, 154 deletions(-) delete mode 100644 spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/Makefile delete mode 100755 spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/external/ANN/src/Makefile.spatialpy diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/Makefile b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/Makefile deleted file mode 100644 index f5c9d0d5..00000000 --- a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/Makefile +++ /dev/null @@ -1,36 +0,0 @@ -CC = gcc -C++ = g++ -CFLAGS = -c -std=c++14 -Wall -O3 -SIMFLAGS = -l. -std=c++14 -Wall -O3 -LFLAGS = -pthread -lm -#INCDIR = "$(ROOTINC)/include/" "$(ROOTINC)/external/" "$(ROOTINC)/external/ANN/include/" -#INCDIRPARAMS = $(INCDIR:%=-I%) -INCDIRPARAMS = -I$(ROOTINC)/include/ -I$(ROOTINC)/external/ -I$(ROOTINC)/external/ANN/include/ -OBJ = NRMConstant_v5.o particle.o simulate.o count_cores.o output.o simulate_rdme.o simulate_threads.o model.o pthread_barrier.o -ANNOBJECTS = ANN.o brute.o kd_tree.o kd_util.o kd_split.o \ - kd_dump.o kd_search.o kd_pr_search.o kd_fix_rad_search.o \ - bd_tree.o bd_search.o bd_pr_search.o bd_fix_rad_search.o \ - perf.o - - -.PHONY: all - -all: ssa_sdpd - - -CORE: $(OBJ) -#this is now called directly, before this make command, in solver.py -# make -d -f $(ROOTINC_ESC)/external/ANN/src/Makefile.spatialpy ROOTINC=$(ROOTINC_ESC) - -main.o: - $(C++) -c $(GPROFFLAG) $(GDB_FLAG) -o main.o $(MODEL) $(INCDIRPARAMS) $(CFLAGS) - -%.o: $(ROOT)/src/%.cpp - $(C++) -c $(GPROFFLAG) $(GDB_FLAG) -o $@ "$<" $(INCDIRPARAMS) $(CFLAGS) - -%.o: $(ROOT)/src/%.c - $(CC) -c $(GPROFFLAG) $(GDB_FLAG) -o $@ "$<" $(INCDIRPARAMS) $(CFLAGS) - -ssa_sdpd: main.o - $(C++) $(GPROFFLAG) $(GDB_FLAG) -o ssa_sdpd $(addprefix $(COREDIR)/,$(OBJ)) main.o $(addprefix $(COREDIR)/,$(ANNOBJECTS)) $(LFLAGS) - diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/external/ANN/src/Makefile.spatialpy b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/external/ANN/src/Makefile.spatialpy deleted file mode 100755 index 027ed9ac..00000000 --- a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/external/ANN/src/Makefile.spatialpy +++ /dev/null @@ -1,118 +0,0 @@ -#----------------------------------------------------------------------------- -# Makefile for ANN library -#---------------------------------------------------------------------- -# Copyright (c) 1997-2005 University of Maryland and Sunil Arya and -# David Mount. All Rights Reserved. -# -# This software and related documentation is part of the Approximate -# Nearest Neighbor Library (ANN). This software is provided under -# the provisions of the Lesser GNU Public License (LGPL). See the -# file ../ReadMe.txt for further information. -# -# The University of Maryland (U.M.) and the authors make no -# representations about the suitability or fitness of this software for -# any purpose. It is provided "as is" without express or implied -# warranty. -#---------------------------------------------------------------------- -# History: -# Revision 0.1 03/04/98 -# Initial release -# Revision 1.0 04/01/05 -# Renamed files from .cc to .cpp for Microsoft Visual C++ -# Added kd_dump.cpp -# Revision 1.1 05/03/05 -# Added kd_fix_rad_search.cpp and bd_fix_rad_search.cpp -#---------------------------------------------------------------------- - -#----------------------------------------------------------------------------- -# Some basic definitions: -# BASEDIR where include, src, lib, ... are -# INCLIB include directory -# LIBLIB library directory -#----------------------------------------------------------------------------- -BASEDIR = .. -C++ = g++ -CFLAGS = -c -std=c++14 -Wall -O3 -g -INCDIR = $(ROOTINC)/external/ANN/include/ -LIBDIR = $(BASEDIR)/lib - -SOURCES = ANN.cpp brute.cpp kd_tree.cpp kd_util.cpp kd_split.cpp \ - kd_dump.cpp kd_search.cpp kd_pr_search.cpp kd_fix_rad_search.cpp \ - bd_tree.cpp bd_search.cpp bd_pr_search.cpp bd_fix_rad_search.cpp \ - perf.cpp - -HEADERS = kd_tree.h kd_split.h kd_util.h kd_search.h \ - kd_pr_search.h kd_fix_rad_search.h perf.h pr_queue.h pr_queue_k.h - -OBJECTS = $(SOURCES:.cpp=.o) - -#----------------------------------------------------------------------------- -# Make the library -#----------------------------------------------------------------------------- - -default: spatialpy - -targets: $(LIBDIR)/$(ANNLIB) - -spatialpy: $(OBJECTS) - -$(LIBDIR)/$(ANNLIB): $(OBJECTS) - $(MAKELIB) $(ANNLIB) $(OBJECTS) - $(RANLIB) $(ANNLIB) - mv $(ANNLIB) $(LIBDIR) - -#----------------------------------------------------------------------------- -# Make object files -#----------------------------------------------------------------------------- - -ANN.o: $(ROOTINC)/external/ANN/src/ANN.cpp - $(C++) -c -I$(INCDIR) $(CFLAGS) $(ROOTINC)/external/ANN/src/ANN.cpp - -brute.o: $(ROOTINC)/external/ANN/src/brute.cpp - $(C++) -c -I$(INCDIR) $(CFLAGS) $(ROOTINC)/external/ANN/src/brute.cpp - -kd_tree.o: $(ROOTINC)/external/ANN/src/kd_tree.cpp - $(C++) -c -I$(INCDIR) $(CFLAGS) $(ROOTINC)/external/ANN/src/kd_tree.cpp - -kd_util.o: $(ROOTINC)/external/ANN/src/kd_util.cpp - $(C++) -c -I$(INCDIR) $(CFLAGS) $(ROOTINC)/external/ANN/src/kd_util.cpp - -kd_split.o: $(ROOTINC)/external/ANN/src/kd_split.cpp - $(C++) -c -I$(INCDIR) $(CFLAGS) $(ROOTINC)/external/ANN/src/kd_split.cpp - -kd_search.o: $(ROOTINC)/external/ANN/src/kd_search.cpp - $(C++) -c -I$(INCDIR) $(CFLAGS) $(ROOTINC)/external/ANN/src/kd_search.cpp - -kd_pr_search.o: $(ROOTINC)/external/ANN/src/kd_pr_search.cpp - $(C++) -c -I$(INCDIR) $(CFLAGS) $(ROOTINC)/external/ANN/src/kd_pr_search.cpp - -kd_fix_rad_search.o: $(ROOTINC)/external/ANN/src/kd_fix_rad_search.cpp - $(C++) -c -I$(INCDIR) $(CFLAGS) $(ROOTINC)/external/ANN/src/kd_fix_rad_search.cpp - -kd_dump.o: $(ROOTINC)/external/ANN/src/kd_dump.cpp - $(C++) -c -I$(INCDIR) $(CFLAGS) $(ROOTINC)/external/ANN/src/kd_dump.cpp - -bd_tree.o: $(ROOTINC)/external/ANN/src/bd_tree.cpp - $(C++) -c -I$(INCDIR) $(CFLAGS) $(ROOTINC)/external/ANN/src/bd_tree.cpp - -bd_search.o: $(ROOTINC)/external/ANN/src/bd_search.cpp - $(C++) -c -I$(INCDIR) $(CFLAGS) $(ROOTINC)/external/ANN/src/bd_search.cpp - -bd_pr_search.o: $(ROOTINC)/external/ANN/src/bd_pr_search.cpp - $(C++) -c -I$(INCDIR) $(CFLAGS) $(ROOTINC)/external/ANN/src/bd_pr_search.cpp - -bd_fix_rad_search.o: $(ROOTINC)/external/ANN/src/bd_fix_rad_search.cpp - $(C++) -c -I$(INCDIR) $(CFLAGS) $(ROOTINC)/external/ANN/src/bd_fix_rad_search.cpp - -perf.o: $(ROOTINC)/external/ANN/src/perf.cpp - $(C++) -c -I$(INCDIR) $(CFLAGS) $(ROOTINC)/external/ANN/src/perf.cpp - -#----------------------------------------------------------------------------- -# Cleaning -#----------------------------------------------------------------------------- - -clean: - -rm -f *.o core - -realclean: clean - From 2c403191961344c2938a960f8c64c1f1b88640c5 Mon Sep 17 00:00:00 2001 From: Brian Drawert Date: Wed, 8 Feb 2023 15:57:12 -0800 Subject: [PATCH 28/30] Fixed compile to work on Linux --- .../c_base/ssa_sdpd-c-simulation-engine/build/SConstruct | 2 +- .../solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript | 1 - spatialpy/solvers/solver.py | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/SConstruct b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/SConstruct index e77b415e..92b25a22 100644 --- a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/SConstruct +++ b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/SConstruct @@ -31,4 +31,4 @@ core = SConscript(f'{root_dir}/src/SConscript', variant_dir=core_dir, duplicate= env.StaticLibrary(f'{core_dir}/lib/spatialpy-core', core) env.StaticLibrary(f'{core_dir}/lib/ANN', ann) -env.Program('ssa_sdpd', model, LIBS=['spatialpy-core', 'ANN']) +env.Program('ssa_sdpd.exe', model, LIBS=['spatialpy-core', 'ANN', 'pthread']) diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript index 2c08890a..c4a9a3c0 100644 --- a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript +++ b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript @@ -6,7 +6,6 @@ libspatialpy_core = env.Object([ 'output.cpp', 'particle.cpp', 'pthread_barrier.cpp', - 'read_lammps_input_file.cpp', 'simulate.cpp', 'simulate_rdme.cpp', 'simulate_threads.cpp' diff --git a/spatialpy/solvers/solver.py b/spatialpy/solvers/solver.py index c3c544b0..c884a6f8 100644 --- a/spatialpy/solvers/solver.py +++ b/spatialpy/solvers/solver.py @@ -67,7 +67,7 @@ def __init__(self, model, debug_level=0): self.build_dir = None self.propfilename = None self.prop_file_name = None - self.executable_name = 'ssa_sdpd' + self.executable_name = 'ssa_sdpd.exe' self.h = None # basis function width self.spatialpy_root = os.path.dirname( From 279f724b0ad2e43a6b794c7ab510956e46fe7bd6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 9 Feb 2023 18:16:05 +0000 Subject: [PATCH 29/30] Latest docs build. --- docs/build/html/.doctrees/environment.pickle | Bin 748887 -> 748146 bytes .../_modules/spatialpy/solvers/solver.html | 49 ++++++------------ 2 files changed, 17 insertions(+), 32 deletions(-) diff --git a/docs/build/html/.doctrees/environment.pickle b/docs/build/html/.doctrees/environment.pickle index 27d7b46a0a3cdd357febaaf59507bf1998aae84d..b014c2492533155e5e9e57525e3e289a49557d77 100644 GIT binary patch delta 22575 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 code for spatialpy.solvers.solver
  •  import time
     import getpass
     import re
    +import sys
     
     import numpy
     
    @@ -161,7 +162,7 @@ 

    Source code for spatialpy.solvers.solver

             self.build_dir = None
             self.propfilename = None
             self.prop_file_name = None
    -        self.executable_name = 'ssa_sdpd'
    +        self.executable_name = 'ssa_sdpd.exe'
             self.h = None  # basis function width
     
             self.spatialpy_root = os.path.dirname(
    @@ -565,51 +566,35 @@ 

    Source code for spatialpy.solvers.solver

             self.__create_propensity_file(stoich_matrix, dep_graph, file_name=self.prop_file_name)
     
             # Build the solver
    -        for make_exe_location in ["make", "mingw32-make"]:
    -            make_exe = shutil.which("make")
    -            if make_exe is not None:
    -                break
    -        if make_exe is None:
    -            raise SimulationError("Make executable could not be found")
    -        makefile = self.spatialpy_rootdir+'/build/Makefile'
    -        makefile_ann = self.spatialpy_rootdir+'/external/ANN/src/Makefile.spatialpy'
    -
    -        cmd_ann = [
    -            make_exe, '-d', '-C', self.core_dir, '-f', makefile_ann,
    -            f'ROOTINC={self.spatialpy_rootinc}',
    -        ]
    -        cmd_core = [
    -            make_exe, '-d', '-C', self.core_dir, 'CORE', '-f',  makefile,
    +        makefile = self.spatialpy_rootdir+'/build/SConstruct'
    +        make_cmd = [
    +            sys.executable, "-m", "SCons", f"-C{self.build_dir}", f"-f{makefile}",
                 f'ROOT={self.spatialpy_rootparam}',
                 f'ROOTINC={self.spatialpy_rootinc}',
    -            f'BUILD={self.core_dir}',
    -        ]
    -        cmd_build = [
    -            make_exe, '-d', '-C', self.build_dir, '-I', self.core_dir, '-f', makefile,
    -            'ROOT=' + self.spatialpy_rootparam,
    -            'ROOTINC=' + self.spatialpy_rootinc,
    -            'COREDIR=' + self.core_dir,
    -            'MODEL=' + self.prop_file_name, 'BUILD='+self.build_dir
    +            f'COREDIR={self.core_dir}',
    +            f'MODEL={self.prop_file_name}',
    +            f'BUILD={self.build_dir}',
             ]
             if profile:
    -            cmd_build.append('GPROFFLAG=-pg')
    +            # TODO: add profile/debug targets to SConstruct file
    +            make_cmd.append('GPROFFLAG=-pg')
             if profile or debug:
    -            cmd_build.append('GDB_FLAG=-g')
    +            make_cmd.append('GDB_FLAG=-g')
             if self.debug_level > 1:
    -            cmd = " && ".join([*cmd_ann, *cmd_core, *cmd_build])
    +            cmd = " ".join(make_cmd)
                 print(f"cmd: {cmd}\n")
             try:
    -            for cmd_target in [cmd_ann, cmd_core, cmd_build]:
    -                result = subprocess.check_output(cmd_target, stderr=subprocess.STDOUT)
    -                if self.debug_level > 1:
    -                    print(result.stdout.decode("utf-8"))
    +            result = subprocess.check_output(make_cmd, stderr=subprocess.STDOUT)
    +            if self.debug_level > 1:
    +                print(result)
             except subprocess.CalledProcessError as err:
                 try:
                     print(err.stdout.decode("utf-8"))
                 except Exception:
                     pass
    -            raise SimulationError(f"Compilation of solver failed, return_code={result.return_code}")
    +            raise SimulationError(f"Compilation of solver failed, return_code={err.returncode}")
             except OSError as err:
    +            cmd = " ".join(make_cmd)
                 print(f"Error, execution of compilation raised an exception: {err}")
                 print(f"cmd = {cmd}")
                 raise SimulationError("Compilation of solver failed") from err
    
    From 4da8f83ddf3c04f33176d4402343ac873c972621 Mon Sep 17 00:00:00 2001
    From: "github-actions[bot]"
     <41898282+github-actions[bot]@users.noreply.github.com>
    Date: Thu, 9 Feb 2023 18:25:16 +0000
    Subject: [PATCH 30/30] Latest docs build.
    
    ---
     .../.doctrees/classes/spatialpy.core.doctree  | Bin 2042201 -> 2044993 bytes
     docs/build/html/.doctrees/environment.pickle  | Bin 748146 -> 750656 bytes
     .../html/_modules/spatialpy/core/domain.html  |  31 ++--
     .../html/_modules/spatialpy/core/lattice.html | 138 +++++++++++-------
     .../html/_modules/spatialpy/core/model.html   |  10 +-
     docs/build/html/classes/spatialpy.core.html   |  16 +-
     docs/build/html/searchindex.js                |   2 +-
     7 files changed, 119 insertions(+), 78 deletions(-)
    
    diff --git a/docs/build/html/.doctrees/classes/spatialpy.core.doctree b/docs/build/html/.doctrees/classes/spatialpy.core.doctree
    index 1a3ecd4643bfef5ed7ba1c76b96fb8e100d4c834..dae0065ff68e52bfd97bed0538c5df48cd45f987 100644
    GIT binary patch
    literal 2044993
    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

    sVN~Ik7Fj} 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¥ing2@8d}jCOJN&h86*T8f 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

    t$y79AB%jEUQfV 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

    BsLlZqh@y?>b>B!ILD?;;s64 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 z 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 z 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%0DFa@inPaeRzL{kXk`*LThr;;j9Z5l(1u1Kw%N=5 z!0lE50S~kSwt2gVwgPzP`71lxX44D{ZbcyMIJ5#J7u6a#;_l8!L#=?$Gi>tZJ`I(l z%-97RVAMtJ0%ig5fbWk37;YMT4!$~Kztb^9SDb$?v5j9j@f5fO3}1q14LkAN0570z zcTuwn8KLkb6OQcBd}u(9UyM0RTIDvrjCsns3zLZ|ybL&!U})Mzwb^P9<3nTRNz_am zr^>C$2x!q^NCR9Rt4>rQrWe7n@&RnpfIpiYhT4!-FSj4>Jt>ww&%u@%4lfe!6e;4Eb zU4s9&9^RqD|6Yh-*w?wGR*RKXTVst@wLLrN?nj#rbhN(8Vek$Q2Qd8W2>2Qq84)8{ zJt*SfH{AO_j~q|jaGM~=6F1yG45v7^Z4e(9i;qjh2NFnpb0UeqkWk|LLP0Dj2qqVF zj08(zFfKWq{Yhk_pWcOI~T?U6+Mb82~_1YUzyGB(p}mLWIj zmPYd`OqmXD1g;yI9bw!~&}<5EtfLH8;gR1&q3SjKy5YY=Bg+v#7CZNHwtRUz0M3LR z#J(j72e#<2{JcxY`#V7+@BU1A?lbmye;0tQp8ViC$&dGG?<~?1r^wOHh)vws&WJ5_ z8gtD}k^<&v+{Ra`J@%{pf^mkQSacH>T^uU9i{D8c;8!ZBN25&I@yR_<+aerr&Yy%3in=HSzTrL zyBUERCv-EtFo;o+mQ+@vH=g|z;3n# z)~A%Vk>t#YWKjM+m_RPS)mU{1u1}-YxqKLQ-BYD@v$_?xu;ZY!A){ZTzEZ$VhUzm@ zqp+98$1+llzC78g{;(OhF0JJVy~!@ML8ib2`-TknknO&_3EHzsVGZ#QyOs^hM5WZ0 zKe9xG;0mbL$IDx>EsuD{o?$@)a~j_fVok7!F0Cou3gDPPzmyztD(t|UrCFYox>daz zCN8JLM!h`U3ZrMD&!m8DoWvpQY(~oz)ClnJi?9^Q_?Csb_ zwcHwOR!8wu(_@^63^pr`!IjB4 zDk1jw6neu}f`)3f;MeLneB*u0jn#4Z6Thec3Mao9q>AT<)ssv1jZi`$&MTZnAOhwQjOg1*485YWbWua7IS|~$)Wrdt^p`<#_{!W<}itsxvOc@w{AQoo7xtSO$)@N89g^?vg znn-Y)hRWXl899W&iIV_eJBnC}rK^$Jn!C;2N{ZJ{7;^F|P59NMKjieXsv$qx?dz}UtJ5$YFsiKlNw;fXGIJQ_~@PqC_go+6KEDD@*Q zc>F4AcEklg$3{_Huq)$%5j4JF^Tmi~(UhPdjEa&B^JhcZwF`}Bb|0kt=E2B(o-!04 zVv8rk*#dFgW2GRnsgh0*e@Yw=2jf^#3Cpoj6f-=Z`%TiMs;4w&Cdc6@tet=pHAzp_ zd6G7%4?=UN0{3Is6az2RgjOaed}`E$$r4zVL+=Rw%j8Nu9bgAB-3e?EwiOkBQT001 z84AX*M2!i?ub_y(SLUDw*@hN9WSc1d_78v#g2aAY_y_!r=paaV=OhK)N^v8dH3tVo3Dg%=r(TgyRDvbqM*v zP523?mnK_fT=gLn`&6|Kr{dKySvWegiT{xeK-^hDKq~QSnPls`4C&CV9{-`y9ckOn z`Mo}8Q);xoxlyK0q$ zfEuNex3<4pU%+$`bp*ja8AzYq{lM+?A>fie^O>p=Goioa4EFbS5=|lAeNhTo)M=JN zS|u^BUG-8qzvp}B=b+G0&?qEK`7}RpJB0{%Foo86JBg+c@4g^~b{;RMYg>jg^VyGr zBJ`J}#H4o~4oXx4DRH$QxSbLNJeU%%^mYJ4XlPduGik z_xZRSW9EGPW*Bo1&c{Cp#Ny}U55Si^AJ+^paXc=<-4#PjIUN^R1l-JMYLWE>C(dFd)`5uA zool29_vm@-q4f=It9o~T`L-++eSp&yh{4Y3K5hq>{7BXICC!cs23U?l+ z@UjIQ%Qnl986PTQ5!;j{B{**42Np)Sak?uIE@tXRInelJ6z<5q@-t{;IRV9D)vaN1 zA8N_9I-W4&9k0=085X9Io1YF^=0PLh?nQO`#GZgI0NASA2eqs91e7Dkm?-dpFc5aY zZz;4(i%gXI$VnvD+27B5Vnlh>n6i4-snGpKrf=+#Zz^dk*`fiwlSSsnul?T78*ohB?ZOQ8sstRgV zn1h%HjxY^14v`y;sgZ%gv1|iMl#v`&KnxppX$xWNOX%7_c*t6kq?blOlVd<1-%98a zEWt>wSHB1h8^ zCT?sxB3oy}2lI#1N zq0vTTl9_lHRmu=$2LZWFc8Z1(cd5;XL9a%;_05^`a;z+OF3Aw{Xe~$erq_l@TK1F5 z7T5vECHA*FI?~PI?q~`8nw9TkFERIrhJ0ksrnZ*B)Bm1HO&8@wV zl}OQjj*ZM+wHrnEC4e2I=u-4(iq6E2P0?BE{Puq+YfDBjkrJeS-kZY+(dwsjqvi`v zLUoVPD%Cu#c4Mqk!UH~`dF1U^5wIU7@LCT-nw*~N|B4bT68JwbY-R)=i+d;VdtR$U zb4#%z@Vh~y&^>9aW%CSx9VGB6dNhGIv11c>OP#Cy036iqk_FT#? zVBUVWbn&03hRO=RCLIPSZnd{Z@gVtx--?a$e8O7j>`kj&#}CqQw;nmLYk(AHD>ecY zUd#T3>^S3!D*%>WRcAONZJ#EiksSMxC@N5d+PwiBOT2{y>oIRd1m=D%YIek9k6@!H z9y8)?k>@R*bx=x1MM;Jq1`o6gEo*ikq;Q{L1axbC)K0_}{}ND@*aC6fW3~{HxTJB! zpAyHrUZ*di{y7md3}B-uW;j)eoW-M~3+koONl0hIkA|x7)^h4sn9C^L=S0n(jFE$& zQIAaHOqA{*zz*WT{n;RFOFI6d8bwg&m}2ObTw=oXFSf+_`{m#Xg@iaC87hkN{R5zo zU2&2d6|yTr1|)x5LU#87``nki1%KxuyAv=o9R}Ys687 zgHWJ%02m$$^nUn~p+Gu6h*%&8hrx(h@@auc82MJjX;`X^&IKYEh$p{5v|vO;eFWZ+ zU=Jz#19;NpJMdTwiRiXKG5mEUswN#e&O&|dE_e#_kim3_MIej^5 z%4EoV5gRQP(gsVAEt*E#Ih~~Mobb{ikXMKe9zKXbF5K)ufXnm@oKGP8@bpwE4|ESm zlKb0HbEoC`AE1%Xj8T?nL{s4M{5e)N{~Bq;e&u&jvm?s>8XHAX*4Ty=*sttzJy$UK zQm5`$A|rZy`xVre*5ICnFtR*a6I;v=s7h8F;y8*ef~+>7D+Ct(jp(A4(Cw1s7OQPv zn3~UO!{52pb`pNEjC<^>|5n?`^kgF{<(?y9y9TDX-L~Pma3)Lv!Wzg--o1_W@vSW7 z9vr@IgtSZaJ8JKSctK5qlkffyzn;iUn_L~?q{Uw?Dl|=^o zGCqLZi*UF2f!i;S5O8^UWXCj;4ICu=4>|sKc)N(cI>I}5FJyUS5PH={2KY@O1O6qa z@k#GA9Cvsg3M9i<{lM*HAmD*y_$O}{(PZGA7bL?@w4`Nezz@xFxyDf8h87FO&w?7VK+@y&-uXD_@!CLoyu}aPP7eYe zNRNBGT}0D^cV3Vli_#5Dh88>GPl68o4@rYBdgtJv!Dj<$@J&B(I}HeUAPt`Ib`ebj z-g!Y9K;VJcIcA73pZzANKz~Ux{K-2F2N`}BNQOl>6j-GRcpw>`>Fpw#47~G#WLT_k z+B2kBD1H~zkOh(;hkGaFAjmK@3R$&J^aHoc1p$`?$w}34j<=I&lJM>el4Li-Z<3)2 z-|I22h@gsEBJ71+l+a_ZVh~Fd%;y zlu(Q0r2fu3DF->e8c2?R_5-(*gMdqN>;NuNF$wl9NB=W#2hk+qT^A*Z?zGL4ME)*j z16oS>c@;j}@g?3B_xmN|2( zx{ot5BzuOfuArIyM@h80chU}`)dGojtsl6ZXarmmEyqH8wYQUKvhnTtYn0JQS^MLf`uwMbU|zRQd_3GmK7-G80C(21eb3 zFuMI-D#GZN!Iuo9GftvK9G!TASsTBSRZHL!FuazIG(xg!ow){%)%kLEm_Cl3V_ zxliE@YmtZcFYVu%JK%VT2GsW~R3}BvoT95vz(z}je1X+$i<>L*{Lksyp?LK3Kgd*g zQ;{#6dWI6)X}srY!%L&^LRSMWf<~4MQ&_BWm*pOek$4GmaEZm;c*u6zfThQan4C)2 z_ovvn+*P}XN2@gfwt8g&wT(3hEk%xYOVPxQ?Mj2C&S8OX?4%qaW!;44URKiJ*!^nj zb1;ZiDecDjtZH7`qRvX@lauL+)>9lQs6Tv;jv`B&EaN;VQ1-kP&Bn&wIT0D}fkCM( z=;j5S39<7#*i3*TdfFW-<^ZKcvilWh5jW&6O)Y+e{?CG4g{pkz$0utOxnuK z5Sq8C-e}^wj|s4NydS0vQZlKQ?0e1<=SB%he6j?+mbmm_9|2#`GqBY)o&db6&5xL}J+NEl4na-gCh? zkwpXPI$l^fMfJQt+~}kz)*?NBJY%g4+hcJQ+p|~4SeWCIj`0H71qQ4jmS4-p<*wQd z%U=YrgIGRAj>hsPZfq=XsdE^zd<+LjmNuaUvGj2{7>w8TZ)EXRlBF-g0B_u~O;_<< zUR3pT>jjM!co!2)nI=mcAmgZ^`d9@X9nRL3xq8&R0dRVe46R`sMwVUdc_T+BL+6&- zSaeQxlNOJN@hRuweU~#YHNve2urfJ_S32sT;e*a9x8eU!hK*7S{(JG{dCj%s2MrG#v}OkXd(g=*Xnv+VD2)|~eSZJX1R zYyjsqOZ83gW%Z)TI8u^qSs-b3@XK_0bPEO&fMh#?Mi$>07RSl9+jn-H0n0xwT3nyU z#^tWsjcoq~zz&k_6giq~o4B#bcDBxjZM2*WZ*e6H@EzMz{coj5^@x;;uSciXU_IDfi z7^Nnpz?`(^>h=aCPaBhTGrl6blWdZibs3A}WY_H|yvcy&9~a5)OWC;GRlAYhR{-oF z*-eq7$*zeTo9tTZ?4Lt!sf5kOLEKu+L0CMuK8FQf%hi(md>~F+I0ZK~OVbs*gAc>G zQzse^;Fk0IL=;2NBJ&`dUxrb!IF3=>i_F&ySZ?k^WD=u3!p7yU+6|+A17HU+YKk0< zQBB;~7}Zi|iG$FRfM%m02E9KAQSl6VS?Y84rXHR~Zw7d!OUY5ElA9V{7S){BdTL_Ncu+aU-FP_rsMDPRBlW*cP}Ca;Br0l=MBDl(mZYU%4MSUIDZt`5VL_aTRcc4} zha6eefaaC}WigmwBXd{nMp&)_*g?XQqDK=J6FW9xvDCS|zq}*yZT1}`Kav#0}Gl0w>gAM*?r#rdn0d+Vnz~^I~j5^VuHm{ zV&XX)y5E51=6pp+?qlO}SM5ef9st-uLXsj!6A}|QHX*UpS=SFPk)mPt7$h3E=U_Qr zG)|V+YIOM!*ErJUrClkt!Q7f?mT;|U!MlR3>B-V;dEB~INU%Z|+i&aqTNJaA5d4^- zAtMA>+$$lN_i`PUo3j-mcru4P-3Y-BFrXkINRgunfr%TN5LoJrpb$i`g5+-#SP*~z zAP0f*{C&Q>kd(*YjikJ_JT}vY{DClOc<89!s%cSllaiKi7a2#O`OYak;B@!|vw+>>zeek)yG@i5nZcTk4!(XZKLf zkaRX-2XX%qIrxm{et5z-lV(lXLaa(R5MT{~MlZLs>S2K3IQ~NPJloQt_(8?ZP^Soqd~25Rmj zZa1L0Wk6XSZeb&HSM5ez-UP6N#3e?^B#Cc!7bHQ~<)AoTg5GJn zlc&7fv&DFkk7dw@{Do*KvDAg?`^yku!_w)Chp&d1vo&dq*2-g$mbO`f?fY`@W{oFc zSV7oM(wN2ts72y9Rhq?X8RhXR1l1>_vuvFLFIUqlc=ii}#L)I1CH5bUVsH|@zh&6Z zh#nTliJtGhydN0Q-14M|-VbMX6*2RoCkdBXEOGSgSLmYP z=1814iPf{9k;VMO;@*kX5e78>$jFU6!baw<+KpHp1+as}Dn*YbRwj0AVr8jwVwX%J zNo@iT5{JEW5E?HI&*ATdNhzRcP*%JNO+9>M&bFt?c{r{T#W2Lm<7|GJ6#|QU$I90k z(A@l~tPoeTk-4jO!^$rP*g>qEqDNz86FW9mw$$0%PHD-ZW}6@mE#=@T!=Zkt^bp+Y zfKY$Ra*lT$1GAj3WL5K%-v>Nr@YyJyqHCF-!bW-5GPUOnu3n{@i_P*hEJtN{!hpFU zzj|T82 zaS@WH$6OTggu<_)W=Gugb8HmFO*@WP$M{j0<%Se!5&pYG`utbwYPc`jka`W$hx1@S zzB^W^Y>4(xhSMGq*<;#^hup{j6n{$84hN$a=R_1=j*X%ye$rZYKlQX`6E1ncyKbj6 zW+unkQ}LVNU3OhXOhA>4h9E;=!w%bRCtic9EWlamw>f~FnD(1 zNPMbVhX9J|n0Q=+-7llpJ@|DO`a{Ioi;w+qEYB`AvQ0Z zfU0l!MXC2ukX>~AgMI@M)(fR{-epL;zAXBm1i2$^+pG7y^pTq{f-DAx_+R1!Cy&l- z;+()&H02!)O!JAt%hxUWhK63gq?7(FIpO}4nh}qF+zX9-MvVH}#67I8GFTp9#iWHM zA_tt4V&dTQt#qTHHE~4{W@y^`~TOJu8RLDsNU*d!9 zU!~g$y7q7+8hbL347>Y*+sQz{1Ie(zw~J^p@Xia8VK2+Fl@SX_#jmVwT*@J_kX|Zf z`uX1ZIp}i~Gy<1wu9%$W2X3bi0hjd2$(y*&+etKqc=tsqWU(Q#6w)fC6w*s2g(ki8 zb5N)fNTI9!!0i+w;K3AnrMHu43i0j>QmBikTkiHw!$F8Q2NL3ge&BXO5O7Hd?~3wC zZx_*I;GGvFLw8TNe9Jo%2PM89NQr;-1GiIxfCp0IKfGN;Q-XJ1kP^Lkx@G5A7g*$X zf<_^W$Uc7Hc6t!-Kza;%yNIR-@4O&A7T|r#6OPHO8s2M?CwV8}5QyUg39#A^+)e-j zE(tJ?PYE`f@FiEb%e=s&QO~~y zuy@i9l6^3cWS{W^x08&3OOoX*_F;7~tsJ0%EsFeQ%jb`nhq-hB)u^6TOQ zAo2*b_I^ClnWG0l_TnKbBiebX^ZgGw$jtj6H^ZQN@cze@K&{$o5LZ*Hz?XdgLqByE z&wuP~8NKrQhd?Bt_f|S43wixx?HUMPaKHY6nPHWPclH)Y=rbVw04>dtX)mj*0U~Kg z*wVfoxC7FsXgq*)Eq?R1Gba-5pb0NZ8>uxQL;`LcVETbg<>qkGENy|3W(ltVHJWg} zuGB7JD<1Js9v>cnJnTyDb>3X>Waxyk#`NsQ`pnd5xp~;;#^lUYdASON-(CPi>FGN_ zN$eLFAa?C~Y_$K`J9vn5ArMD9V?qqAZ_bp5lUAj%CB6EAfpMZ9M#A8|;a0m`8po^f zt#)IqQo`cplsi(KU-b*TM9gcuK+FOiF=G(Ir3d&8<;O`6tSRB;e+Uwy;E5$2wMY*1 z?x=xMwBudaXsK8uV43aJBQ`IffDf7U%=K7_sHnZ}VZHg228YltD*am`;S*6vpuoom zp%EAu<`W-StOguf;(3E#tofP&%Lqt#4#YwY!oSNe--fzWBt&E5a#vLYGCSK(&u)u& z;^P|tTMfv>_0jrbO^O`tdW4A^K;C>vPx;0~ak5+Lj6^blB&-R{Z3d-_(SEi2a}bDC z>A{-&Sk>GIYpy8%V2ze0EzM>F+E7_%`1y+-_L~!NwCJ@um%7;nXG0(T*UGFv2nSpsvKYYA&@MB;}d`##PKO|G>$iMW8-*B9r?aT{*y*Q93n-+ z>@7$nw$H(EyhuD9AHKODiup(=&S$8}ECW~^B@{Ui-_#6vZf-|fkYH?LV{=#SMldD; zc93AC2+{<@#E(rdEOn${KpN;KXb#i%4iZ)RxB2oV-X36VGb z=0^=^Zn;oI=)-Je?yB90(1QRwNQ6@KXd+}{$0kCSI^%P~NRlDUAq2_Q9XV)^m#Y`* zd@pZV2cSc1YO}U>&DH>F7^M;=Kab)>l98VFvAU6w z9brI0GLoW4lMxd;HW{(hIXs#vBymk}LHz#192Ca$`~N4eO&u4-kR&R{KqJdW1&gCZ z#gln+wE-(gP|jxKa#!s}P}TtKAVEoyqX~+M8=Ih5>O9?En=*$OBz#BakR@LD{y%zc z>ZT}0Cjop3!)Ru$!s1>D;2j1mw^S)B)vat??yB7g;GFB#wLK4I#0XT zrpz%0N#ON4bcvV1|9x$$!JjD-XCAiKroI*>LnPY|Gg@V28;j#)+x-y84-HsufmLMt z`)pk9s@=%;j{$a&Y^TW4WZT4zO}4Xj{`a-1g0D@Ps0>m;U&&#gcoo#&*QS>KA6?$u zjE^HH+1&>kSqx(=j+0%t2meR|mVaF2s632~%U!h_**zLy2gz=V98Gpj+}LE-QYZYi zDYJ19w=T&+SUk7(?X{_D6hjcBmf8F=iwqXWF{*o!x!!=~=00VSxrU9)U9}rVy#Zhc zF=~n&jZsb9*cjDPC;zo6vr!O(j^-dLoO<%IqgdBtDRX+jx=qb9-%S-s^M* zck>zIf`sM27}_$zg2i#d;(KjsNz};5YS{}K`O?L7BP`DX*g?XQqDK=J6FW9xvDBHf z*QU(Ag9PZ0Jr|&-=WA2vMlmCa$(f89Gh%|pQDWlpd5;>f{NhVOvXPC;U9}q_83))w zLXsj!6A}|QHX*Up>GNw-W{*Llae5Ax|0a$jG)jg^kQzwHrBmA;1oj zvlKm=oSE3M$(g0j)9;j zWjNFimEOwvV8Bf>%KML3Dg*QWzlmQut61)ZPAO%bfVXm%y+P+tH=`f|==NuVjq+}P zYIm*A)!xd13l8lPq^^ett=Po{yu@q1mV?)KdG7Co-bRx5u0=#kkDC%8WGrIT1UKSbAHt9h~}%YQ54N%U$mJB9#$7R%krX)^9t)Iqmo}Di1r%; zsuJxHkv*opc*2Hm=7>KfKfg8@wThI#8XHAX{AlH+8GO-Zrd}GIgx9$n>?N#Jp7qCU z=r%-)NE-5e;Xr>;Mtl3TGR08TxoK8c4Vy4ERRq+niNFwH)}eBCafVG6DBXg7iiLV zJC<`Ht~?~tRG_rb1jJ&klt`BRZ-cFM`SU;5@~5)3Flx!MyN`OFUWt&GL2uJU9_H%Ylhij4LUK7!oG7>@S?whDQ?gyiD7Z!KmN!cJK{@OASr!s)SSt1zXuvw4rj1fHJJ0WFu5bzzi7ZR z)@6GZrq8i)xvQ!hir6enUjo?bh5~h>H49UU9L@1&;>Nb&u+-VtLvl$(v!Q#9!>t4D zGTxhmEUZcym)^~)=4M=4%gob+-SSU{#>*2WcmtKE_gikuropS@`|3?ds|ZRK^UUFc ztdLZ38mz~5d7N8&MwTVkPAFS?hFv1#Nf@lkg>H7h84^eTk`s zdygCU+NMMEkBp8RcZWtkTT|uf+G8-@h&)Ss1MDE4=IGH=s3E3EvFJ!Uw8%862a8MM z?W%hfvO6eTCHgl?B`+LbWGKh=5#uLzf$`dHd%?T1+{Dmy%laa-OgUZyWiq@?O~m7I#W@CUkHUdO8DCy)#{Jow8fT9b|P z8f=tjqiBZ*t5;?1=%GuQx!k&ZIJuNr(yhyvClk%a6d1$ez<}B1U?-#9F3t5cy=t$) zN*;Pk6kccvyb~JvbgSZMLlpLy+7ZVGpNN_rQT-uo6h-yS0DGzg{5neDG~iQ*eHtV$Md~A zd#fH#5cG%Io6M&t_u!kVo6BIQkw;SOJ1om~M_smo)mvZ-vOdJ3t(D1H?|yTPkwoU( zuF%LQ$Pvt!IZ4E5r<}p9}|{;StCwgkb@sZ(IEpxak_s1 zbfO^k@KGlU!d)c!*>a-5OkU540{+fV6wXIN{%8?om}g(XCkp-vz7SH@gOlRq8A0M& z89$lBP;WWJx196GCQGf>wzBF)sr>+lbp;OahxoNI9V+|s4)u>W%maz%PQc0r;TEqf zV0z_%>$VM54g}BCGWb{7GG8|j<*n_N$zXZwSa}+En1d${C&!PMTVoqr)lD0r$FcItB(0VVo_Hen;thd_E=pS| zJHoBl5t}e!{IzL+^Ae%j;7bbZ4Mq!NX}Z0n(gpF_0lZ>2J}DG_?UzE`nY4pG)8K3n zzskGQ`RHQ0pFIszl(A9hG5Dq6JX^ zSxrK8h@b!2Czo2~*2-ih92+vtxbn)=gtT7CSPErvC#t2$)t3xvY8Go}Z#TT!6$;gA zUq>)}Q@tqdSn1}QMmGk_)~W!EEB1xcvnwpR9oN>&p%UQbQGn$&Qx*WZ;p}u)BFj*0;T?b`3zNF@jx-U#K8!*DMF zpbV(@`x{{u0g-}HB4T~I2U{__qTf27jphq58dSKzOWF?g&{J?3O)#(})zdBTjGPpTaqauq(_k{lN@A9C@Ykv zxVSm7_!ePK?1o>=@?l>A<^&BNSKXo}#o=okZRXWo-z?Qz(#Jc*SQjakDm%7*EZ^37 zj$SfihhW53NE3usWVe~nxyTN2Xfu0UW*8h9n$(dIZf z?VwZ6+I>2T^6WmNww**GJfti0Rl;rN zGnqCAs+NLVi`S9Ed`XdEUf0bqchz(b;aehhq4=3k1Y()e0y*m2i;VhajQZBOjqyj zdac1+`tJHTWp`bmPkje|8Ft03q{aFOm2LPH#&~pL9g5n9Ujndv_JqzZ+BUobP2;!W zjQVUF&NzZ?!-r!?#h#kW?$nV;K8s!1sn4O64s3iLQ42Qhw`SP5cBfL*`GByS@sUqu zW0ml2A_QD+u7blhDJ8Hat2D;>mcKMTJvoc<<)!*KJWRP6o?L{#2AZ_xG+;sNW@83w z!a;SZIa-CDAe@t%u*oO{b0+*)iM2aQ=Dm^#6Xwde8)gZf{kh{Ee4g}WjHzq)DH!IiRbBf5MY(&SZ?qPqn1h}qf$oSR z5O>4XZox+TpS?X`?^cFAT|26qcvK1ZB3T8Z-HSL@eG}sV(E*a@B>^4W!aERJ032C- zgy2rEjM8lB))Ep z%v}bB#q`$504(+J&~ABaX$pedS0j78%2B!UxkMzCL1LZ8uZHII!%(&An{OSMg*d0Q71W0o}t@xZgn#aPJ%f9 zU}$6seaGS`&d+&y@&p5(e{972E7{oGRaM@v&4gY{(GYzxAY(lNzlH|#_X=zjiCJlzz!0$6mgoMnRv4anx)R={pBZ#Z?o?p z@p>o+-|^x#r3;5DW%{bbgiSBP+$3l&Dce!1c2sisF3)wYa7Zvuh^e<%8`kUmX>!UD4%l9=oyc8jxnTrcI z0PG;~+`Y#Rdi5iRrjQjI5Xk72 z$eqkjF3KC*;^@PcddMC|$4^5bXzuxPZQ-eito27ST^V6?nMrxV=nfMH9=fz-`xs(3 z21R(>L*h8Ivxj9g`~=YQi)5Ft8tkYqYyQ+lf0MTDY?+gYwJbJ744aJ0n$PgV6^sn7 zQcGnBkXj0!L*7#2=81HEw%9gDyvgHCK6Esyrv++=%(nyU;+elhcI}^VTr5~_&d&Th zL!tb+O+V^I&9R)HUC0?^A_G1PGb$Pxz&yn~tbXAgpq@{I-fFwUmot9QCMzQC&LN@m zRMPPXdH|I^kEG$D)w#h2tJbnZRyc@7w-nsMuhzkMXU7zHWRWT`p2q>BvaudNR%NWp zS72N~x`!mW{#k%Jb%AoTGSZf!)}K=O2fXi1gYNrj*or9ZkkNJsHd-p=7M4%jX_#iT z9m@!uaF6|^N5QRdu-G;XCl?PVmtb-wky}Y{1)i=~$0p0dDAS$xib}Moxs#)&L{`>` z(8#il!(x?ra{ZAxPWy`tcz$N24cdA(Hg{Fk0*pPdx)@-q79c7bp0kF+kHmo$N064^ zqjt$cI3?zb^1MrxoxpUFSyBfU^IJU+tX-w_d6d%U4MqCA4jOsGeAN3jlTbOrpNj)6 zjM*ENSzfNp^421=OnF<|TbrzHGwv;Q4i1u9seVlme)E~^_rJ)Yi(l(Auhb*fEN*Al72=l@> z>5GdSpQ?th#pxl@ZICM35k|yTK~0@wY0e@D)0?Mizv3hN^uMX|nr0OVQ_rlE+>^EaXkgTjuNY;DPtz!=MuCjo!w$p_X068LRF_T{}T z$h-#KCLdUt?j8!bKjaN+%2i-@f23V>;r1AGY`0R_E_cVGw1)5{DkV~%O?l;C58{ktfvkWKfu*l4McNf7;~mCNE^qozbI zi|;}si^~FwbF4LO7cUG%GNdzB>K_bvekLTB#c$cz+*MVBHr8eFCxES5eW*;VE(?wz zZL&_6#h!QSSaS~@4Lq79bx_o0aZr&y4}eC#g-gY3Z822t!etSKS(nS=xFWMmd0TT? zn5=DcSy<}Cx-3i(ehZtn#Q&Vb@yfmcby48H;LEIPPh1w8qUbA5;%CmgX#irpw~fMici6(8bg;E(@oMmGe?v7UsNyRMXoTirn*2SReT)iuL^i zAeV(O4TT-+Z$vH&VY^GVwzw?V0_SmA;P2dJ@mu_2369uT|6LZxv8W=rqE*0SF%lNA zA$o8+EIReM+33rG9<3VfQ!d0DCd+3ikPf6+g!p%P8uV+)hhK={hM*Xj3!zEQNaIW=ftv`; z>gWtSIFz35#5a`kaT<+Js9;?_)PNpb4Y(_zwh$WuQ^EXBPUq)uNy=NG1C+NwlDVu< zf;x}#z6|>0%KLKsV#=F+1t@PCJ6tCYT5Lp84H&OTwPCg#V)x-hT187TJ-jZ*hg(aB z%f7tB?MZIl!`6)fPt`ZA7eRtN#>SIJ?_gtvu>vsGm6$YomstT0O_avkjplGN2DydH zO-h%y>FJeA??z&EAu5&J{JpO+S{Nc?&!vamm^`M+p-}XgOYg;L2c7XAujp1fi7>>j zQt7=l9kk6a@6Y5bCtQ0Ag5k#pGCFi`$FO-YisM(Q4L^`GG+!b;`_SYHep*j>oU9-j z@wtG53DYnYc3y~r52$6eg85!%qu zZT1vsyFw#yP3O|%06%a$JqUOpJyv+Th^7bcydXWg&KP*QcQOuPJ~@yW>;1s(#30~- z#2EE<5lsx-WfV5v?Y*2ukr)8Q;2{EQs`E17ts{roySlpzb@{4t&8xS z-5#iY2$a0@UVt21W^;Qrv@5!~6}k4YZ@#nr0?>*LMPv-bpTyo&m`#AJYoXY=H=WCj zfnPD0ON*21^fY7OH?b>j4Z1T1e#;n-zP80>4E#F4@|jFJyJ#-t??Th~jDd{$EMp+! zh@NE(L?Ze2CDK1IhkFs=;=dtc!O?wQ!oWLdcVPNdisTDy@tw5+%APK8da_gpuTCS$ zBnKSuB?mmKcf%ESbuU3m+kCsXcx^%D@gQUpN)0$?8&*s`_n(Y;b29_3?k!aX)_V_EOrr`u5MDwNOw{1@x3 zC$Y7sRZaXUd1PJGBq@mKJjNJs7OJP|!{VItQ!TDW9NE&~GC@QY1D>BzD7>c3#^$c7 zE~2qPL^Xh|o-ec2lqKpTBTC$RN)e<*qL}!xMWR^h>}JwgQqQdI7eESXI41`~D0P%t z?@U%Tmp7ls9WusEy;GRGHW9D3;+trcR09<$WE$gs9wV=0o~!4rFeH`9+?2+75X0Wd z=8<7oELLG@rll>fWX?ss`we*hu@S@G$HwNasxoZtI;b2GoAm%x4`Nu3AWb@*QEv|y znI&~lH0tf2i}d+zXyjYJy1}e@QO~IgY?yULz5Tk#EO`eQn6g~CCWNIbYuj{}c#&?AZ?eTP7@gub2gE&)OiY$A)2EI61;tKFdr{?e~!rzC!?5_ z%!dj?UB-OC;wVwGq&y@^v-~0j?IlJ(Zs|c9lAvAB#_X=zjiB8Ku!96GMVuyRCf;m< zW~no0$q>!HgT$+xgYS6p`ZG+1_+S*Ll5~B9VJ;(GSR5r??p%i?WbO)5)*d!`bqkOp zYhPhAa98a{*8UD)2gzEBMordCEZStvQm2>65KZtw;&g8gN;Bf*hf2v1PY*CYDa9K) za`HUdlnn7mRyF^=MQ$?0J@3|8-px@seeyW%hK=$(PFh}_KjUPGheTnB6wDwr>d`(h zlMHbfUN`0@kM z!tVvI%H#yJ#MYCG%?O1|b0I!2B=FIem~X-A_O=q>s&bKX7$u@&DxOq`Bi0dRyKtoj zu;e=wre+2oirZj|!Hc>E@<+tC(zcz=a}jTtMTUq#lyP-xazhywrH z>DeL^9YGqeX0oAUQ9a>MBe7l{SQkSXB(7^W;kf2Fh<`AUJKe$jasrunhdNBCXuJc9 zY~XniKLTKQ$ipY#tK$go^rb;u9ym)SjesBqkZ2m|;tK9J11PMy3tQGxWcD<@E04fQ zT?3M)@aJg)LS4DJ7#9P6eE5_~J|O)w66yWTC-6^E$RShhTi9r+kXTqWZHI%JsWz7> z5PuOhC9e_>oXJb0W#N*Ozdht#VGoOHcHS9=jMQRIXRS^Z=}eT5~-^90j#TXs57D8 zsj+w3w&&OUb0*zaXU5^_v?81t!_dgLda2Hgp}@N6%#b*)4dS@w*qL!a9wGE7d{k8Q zn1dX6#)+{zOr!@+j0*t_cVb)tUrr~6!uDxKf}B|?P78r_AjO`D|3Ih3iMHH_ExXUc zllrh*FjCGZXz)VA>vFET-4usKualkRpq)uIAbLz9y1$N!Yod@smfTisv{XnV2>sK_ zQSrK{DUqY11C1<>3M^LFhHf1d?=;}~d5|0xZ)0O~S5;_O51?~oBSk<05D)xGZt{2?Gi9;o|xjQzBQk%h!hvJTkgQI3b z^f?e3`Q%2S4^Fzr^oej(tcsc)(dk5N6h)_Ej*1I|2iJujvNLKyCn ztu2lUw!nED75F=MRJ;vl#vK*xtN)IQV@1Bcct6F8px_Jv-|434OwCEqf*eO)*2BcU zl@I`mCO!OwS91N{kO$MYbC0cVavsWY*S>;Nm}3va{(efjqa@_GGY*FPU>-eiFnkZd za0kOr;LGV?$Ywmu=T1U-B6BgxPj|TRokC?V!Y}4qW?um+o5miR z?oea|f$@qwA(`>=3ySku&V+52bcc9Wm&dB*7Gyna%+%Y%?A@{!%Y7)4-QFm! zkav!}^!R1%^49jsWRPKg@WkQd`0;XUY-6jsX(P;Gth_Qwt0aRbo=9(w;g*ooN=m_D zKp52+%+F-_e4~ZI{q{_T*p10Ps*6rIlQEOwp=k%5T6U4Ha)OQtf{skjt{iWSwICI0 zeG^_kHi($1?;wG2z;~6;@SJq$Hb=WZpP`&~?Q8_YRxKsR@iUzR=Q(Vgze{3Yk~2JC zPDA_fWbEa>ZWiV@zm@cVJ5gO8Iv`^*_3|a1^lv$ZY3~#qaha3Q$hW^0+=saeE3B?E z*!fH(&7rELC{`%8N@VRTiwyH+-3)U8pE~3!gYYf!I-mW z-}eDOaC<^B0v?!<>=WKDq7#zw&fWX4EVty>#e*-a1Qkw5Hnef7F+MX{Zpo+X4jXGU z%ZHf?Z(C=66CTz*lB3HQpU;JMMU799k_`Limgi6L3;z@;$?#iPk3#bS zx`v?GX+0VdwWpq3YL#0nla;U-uoZ6QmDlI31EytgC5a8F9fGFF^Dk*I!dTP}4mu}v z-*4>-B}+{057-@7>${udR7UkDV^sQ59G9HzcL2+$BX!2n+&uH&1$?y=Fd2JoRoECd z-};tPv%c+BwQKObdd3GVIT_;(mYnSHSfXu1|I9@I4$Rcw-#Aa$=14A|xq+>?ML*{z z25|Pj5!v9NO$+~Bb;@L^)kn^dA>jryQP{K9da`aBa(R~~ z*UYAA;Clc`E)V+yc~uip=Q7obd)lBid&ru9Ofayf)GWarpmH+}X;h0OK8}jQ2RWe+ z$3{zqWe3b@J7X=9De3~Ur4rafFgBQ;kW=j8-s97C_8ak^z3mRF@YOz>lJ5A-<()H}`M}RPY@~X+%j2R>FGd`W}Udd+T zuBvLz*wfuIz*bLpnF?hYsb~!q8L3i~YDa`7Mr}ugmO9JBxklp7gyS}mQl+t9?Tj4U zVO7dibtfDE^%cWm0F<|YscAvxS2&@)!$*!^#UVW~{(<^!Ay z3BavvE!x0)q_|$MUKYGCT?u3Y^k#XSvj2k5`QMFAa>rCgTHuoKAmmdlA+0Ji})Eg zeIn@^rWCD?!IpsK7oB7o*lhE)YWJKy;*Vf1Dl@vdLSgLhGX!K98;ey~xs1Id&R1|Y z|3i}IKMiR9kr8YEfsM>vwHwxc5?}|hc8VU2wN32USld$PdFzX@f<&YVG>FH)n}f&< zkNcrg=7v=PQ0Zn18diCxK4orL5df7=Wrc|@_Irizqd&g{Pe#w$k2!75%j0yXNK!LSG zV!5^n$JN~-X}mY8v((FX?o(1Z@QkBs4NRn{ql&qt_+9c_01Wq4-34DAr(?ZCY%hYa zF|^z!)10-G5Nv^PAj4Y3z3YtB@N%6`@ZsDC-OYoz?hlf&I+(z_UXVe2ayDsfE;re> z4p&WP8?cpOs5Cjr&y|wuM6$Y3FE3C11s4m*Puy@DgZ;z}w_{8Ali*`Pp&lgrzl)|S zbgHfs9DanSMgst0-YyB#S8u|{qp(8Wga@(FQX#kwZ-VAqI*TczjFW(sj-1PMe6nIi z!oJYE1P-M-9;l)7DP&v300|QnIQZY zAcdrUIR|ZMSCR#Y!VqWy-X8#!EI=XuLRBuapoi*_U^yJqhsGZC!P0W|BQ( zd0MmCXm0D6jy|gB+Kpr|(hbl74<9Ra5 zqr7#jJdMFCF_9jN(pJiW(fQaBSQ~<=^P@d3Hd+{p%pUE5-S{L@*sK`su{!Nw4(Pz5 z3cHH%sHelV+3@}d4>{G^6oN4#JW@6QJ)GfgsZOuW8G$c|!#aY(N6^o89YO2zAP=CC z&-HUeRO58LQjRTS*S`?j6}9Wd0W|i_jru$B3;z@c(D)4lVd0B{Fu<8-Lvg5S{_N}l z^l3tBy$8#8Qzt?qHD6d~Z{=XwfTtfAzYoFiz4)TEq9XYB7~SY%9CuRuR{+bmBh@La z+BdZaplSR`F(Vi|DP}}uC&kJvk%zKJz=&9%4#HM+1l)i9&jLp8A{v;-z9anDccRfu zQk~rbFEu~-O;@=D>{f{PNcU{9&7=l-lm;SrPG<)DMyz%gHUf$=gFN>+7pi<;F~VTgMDG%vNz4 z9ar|v=n$i;~7njU8Cn{JPdNG-*7PG0-ue1qh= zeX>%qPl|M^8!?w+U)+fC*uR$>BhpnvoGEiLz$$3UY=WlorVL{MX38+8V5W?Dqs>n( zN5mV_$*21ib7yY!9d7N2Ql`OkaB87~OSy{CZfN_o`J$Sz9d|1=bHXZ19d!eBD%KjE zJ=EnuqNMgmls9hN$Uz4gH$qauxDoPek|D^rxfO=Zjhox>iy1fUE5x|r!|%qpIdC11 z67yY;S&}j)4=|%9#?hnnt8iWFOM871ff%Yo;2pc|GMtQ8CnjcE;Oy8q)+kR*RN-1o zy-mM0%XrOWti7?_n2WnH_ZqB}Z?-&Sv@n>@Znj`ICeNsRs+ukLq#bl#Xfq($EuwsP z6|a^OklO=Y`9&T{2Nv%ak&~)Dj9?7&q_a~xP`)^%e@m(VPEPke%f#NjJOO@wLGEOS z3q#6Hl0_*X`bnM~?}$H%(+K{DoZNqSC+9df{slCG-A?ZPjP2gbO$~>>wBOGl;DPru z7JIvhzMsK6cWY-MFL;~hryL9N;C^4Xe#sDJZ);saCC9IlY=houJIJ;S8ikPU7(Z}3 z*$8+b*-r6x5luGUc|o%6ZmRwav36E!2oh;!k}#KfC*~l`hCss9{J`ymA>e_8+3M{g znlQZc7{cV&#RwCtUM;-iJHYL1W~-U>GCvM7@7(IiL1ngj?}2vRZuPKlzSVmd5UGZL zime`gi>;nm<^W6Yh2qey-agr_USqUY9&3BIaPKqNMc=~hschj?VEWeVeuTkS-vzvu z;#_{f=s>r6;&x;o23Q4mWS@bi@jEg`C$=MFv|~FmF-6=VWIfA>PoKRe_Z2<1(STdt zL#Q^lR4?Rb@({99N=B=Vu}XQW3b`56Q1;~98HfcMEhlinsJaPn6_uo=4e=h#(gs62 z-FEd3pwzqHrolT*jpx8M^+EV|`Q>bnOV0V;nz=d(`x@Bu%c$8>V9&o{qou+O1~%)} zHK7C1z=ZIhc9Y$MSdD)Hw_tdWYF!W2I`AM<8s+IVO9$TPwHys{Qc%wVXk-cM!D8-? zGMI_s=9HoYy+ zS+!AL0Rd^PcB$SLnhJda$i8V~=0PGx<~q#aWQVm*YntO%iLHxZHY$I*83j>5yuOa1 z0LZ1^>%n3bRxYpSyp}R)!1Ird_`S-;=B}#pd+lhb9C5d&4%LJBJw=el?|)rhwc!L5-Ebm8dEtf^T=!|Ff5VS0CME0WDyNhP z#eIhNfvzq$8%#=M#4sE&%b4JLqm5_IgV@t~6YMg{;7Ef1tglpC2^a`qXI3|tA;4IS z5$+km@-YSR##1DZ5;moP=J%Ca=vk!~OFBX+;v7wrC_$TS17>%CGp@P1tq+$@PwMclg+H1h7;7D0vx zxS>$0*0;s3D7ygc!rZ$fS_*=H`5%&l4=OU%P#mMSPCI6Q$c~RH((&Pa#PKm*;<%~e z82*q`J-f(MLvif88hTlgjxX*bj<4tv$8J7u7ny1(j?v0U`I!A7iF;F#j$hhG9KRwC z$6y9%)+gdbwE}F`r=`x9!VNI}QkBgJgBpq%23N154KckBw=tIONs(J~nn5=4ojJ>F z#wPYdr3=CT1%46V;(}1=ItaQ@^4xQDA^0Z&P)GR#)xz;6d{>3T2>$|-u53)LboG$i zc1f5{<SW`ZQK<#hrzPUkbz@LUW&HW&DibspKv!uxoJ$DPWa8dB9f;Z-&MOT~|; zZ9AjAIyfKkOpBjk%R^*`hk@;G)mqYV{3_A-hZGgIqk6~j*KeSaPXN_J z*MASJi-$y#F126bxES90e@N630WTgJI?s^gm@{Wc{{(X=dWOVKi}(%X1MUHP_cX|v zQX7OX8357o$ceaxyewaAm!pH7U3U;T2TDAK=nuS!eCoO~UUa5p1cx?_66~huGBhauskyXtX?94LwKJF!ue2%kx728##BJOF1ZXDh0Wnt&^~Ufu-PZa2gEVKYImaVcSs zRIuC<;_SuZ+|v#gcTqbOTT8uABH`0fNFd4mBqM~{5`vGiVY+dp2m$g|lo0p_K)WlkB#PaYzY$%w7Y2)D zb;|{IMp@5gd;FcpUC;Xfe6hG|_T`PcX4|N4U+X z!Z;DJ62g%KIC-$71Ysg=xOX)=(=I10j1US%42YzGD$Nz?n%UxC7sl@K%{|Kpnh3j<%0Cabw%bSn9mu>B3)9$C#sZuPwOQA?Lt%awwzhi%={B_eEb~ReRtZ zIP!x!=ek))aSj}YjiU6&owQ)2&Vf~_HUMt`#8y=6OlfcjK$5I2zi6h~#1Qke9vqaQ zCc&hW{3z3@Dw0Hl4uEGsNzJrd)p4$@#xNHa03U@EnB#O!c*rKRnpV+W3#3`}Ldh#< zMd6jS%NfwfcR->_acx(q9N}*`2dW22@hNN&HYvqlR4oT}IvS>*YC1~vn?nr})sxuF z{SrV2#3%t#qUs+2xiEy)AdDD)BXVH~BTEXT#f8C`#pA-j-?(SaObhR99w1={T^snbQdiW1Y+NO3;mz?g@1~xoA?bT6gx2&Q~{oR9~6gfk&n+_ z-ONdt!*293edN8}IqyTdtZJrE=NRR7XJmi+1<;+b8y>4OAV;Qb$##VbHz(W8+YbLx zm4~hh;%kG@?_oU=n?HK=1ZyG`oh^FTtjA|n_)Zu^;H;brCfW%Ghy*O@A zhah-z3PF~OkW;i=2#86Kpd3ACz_7XX@sF5$(phPaW2jjgug<{Z)$meCyM&Ke!*!r? zlg>z3A^$_17RfBfJ$=i%WUy6!zMiVlLf2IlyV-)>nEa#itZKGgo_1h6tb+8_NXI;* zQB*VWE)J`@O5AgOI>LBkMb55v9fC28l@7SbO|IihNcIP*96C7z@|iF80m;L>U{1{( zBlLb~DnQ6+J-+S1`+ew`}57@rz2W~%LBjECYZAWx? zi5c)eg`z2L7q81;>*7JDRk;=3n>q98&}t*|>HH-ys&i8&2bI~B zZGd*&ZpyH4z9~B&h*ZNr#ik6uk(sUqvreo&fTc^IICN8XWd5d1ti9*(rP{j{yU^ex zeJggTXDepyMc;s3iNN{lxf2aW5y4TTYu%8E+jLz4uzahJ&I{V6YZ98qZ@L(1*`|w; zn{B%G*Dcx+14E81s7L{yX(qQ5{W8aZ1J@BP;Ar+%*p-T8DwM_KPNk?bn;J+7O)%jm z{dBXj8BRP}aBj-){;(MPv1S>zp71IYzVw+s`$?D@;CE}2E!B1fFO|WbfQ&E5n$c*E zSL-D>zirL7+U2Q{0j}k1Z&OEeb`M7*R*Rm(l#6GFa4fv-I=>t1P3>-&Wo2ofNWMLg z{FRLFYWFGFByww8?BN&^2@J+Hk|??>3Ps!jQM&^h?SD4T=}l}-e#G93h!xX!uVN^6 zZ(=l1JGd#JgIjn9LZm>|^AW;6y3dy@~$0<3Y(gi74fHJp?`_O0Ud-s z#>fi(X+7%=7OOrVZE>_^c*?ml@oNK~pHV5);@{cW+*Q@ZEH>2Qw*Xr`q-Cob%ko5) zipcWB5u|0*^C+dyrA7MO z7aDnu1~vP`BB<;>{?5D=jsq=<+0OQtr+EqRQ!@9_MW$(?U1$4iWe@NvdpNm^9&(7+ z$&rqAMY>)Cjrv8y3jlUe8rB+nN$D6;5PVgUS#~KM*A(e zicqvfe~htXW{JjPl~Ua<(cduO1ub5Wvaz|Vs!Mb&av}M9fE}cSQUqz7Y~shp$(B09 zQA{AY+5{EE)eq#LFP^Jkz&*u&uHMpMd(!IIBt+@a%Vj>cChxPbJn2t4_kj=Vtmx(k zoDi|~0%&9j@WtX@vh@K5Jpb6pCVMs;o4aZ^Y<(cW4r1#RK^j||__49IrOt{hTl=^` z($<6(#Me9I;4hx9kL7M{m9N*r=?x@J9?vLkWnyW_slJusz{H+C>m$D~ifM?U*Rn}x z^fVUtlA*6M;JLXJu}lnIVPkVw?S`SJ0Co^VrwGy*+Qg5Ip)GZu8%Tc1$tI8>PChRO zaT!kbL!|^sUk|WmDE<|l6nRckN|5x|-0-O=+eW@sAF53$WgT&GUFdVV)-Eyip(qw3 zZ^}K`D9@XsIoL|%8Basis}sV8#Ea{ASsjcn%&i5%3XO8BK8PuW>utzMm>h*yS!T+u z;Q_eUUaHUXKiP$McFCQ&TZEBj*`8_oU>9{DLM!Nn5;QgY-khk*Ev{3VI;9ZZj2He{{TjLUNPy} zq`;dE`guX+fa@UM_drOCzYP9Wa;kTBf*_k_6_Q6_Kya&bcxifia@LwdOpn2kcgmk* zoUx?te`4Md2GWQW$_&^Yu-rM>4snRP!H1JgMaYf}NjW4O8GM7Ng?jLGs!Z)Fp%WaWP&*6gPl=@AbfUJHA4gEi5H#|6 zhtvRrgIQf=qzeV9`Jm)jjUSeDWPu#-sYS+nQa9sWtTQBGUJiRv`n$lgQX&U_S&@Nn z;K<93QK|WX+an_gcwl72R&N*4krBLew_fzKkkAQ442hrZ4>?3o0Y4@BU+*1$#g3uZ za`a1DFW{<3bRqtf-Mq!$jXnN_cN2q){JIz=B9&Ne8IG$@*WpRcrBNcCB@TtBM+@M3 zx}2Zs$$@4fM|OdM7mXZYF(N#R-WLE24<30KzAVv*Vlfd{f%tCN!nJh{X4H9MkD{Ut4NVvou6Tj`lSAvnEgjaMFLnZHn|Qf`ZaVbv$-lEMF; zrW$tIPOUzhmLUenLNT|2O*)PzTHAWk_=zoiz*$^SHJ^0amN5jI*XBoNlk zUL6FlA{J6EC7jBbik$-UPldHg%`#rR#fP89$AN{~4Y7mKwkyI!5c@aYiK0p8-|sW4 zRJ#-jyEL)*1cfTj{vgS=uhENc2$~}%r^Ykch}~7yO;zmq z@UsE7x~W2)#INET=ff%5G^d7%HQT1kQs>|xmXK&OLAVzkBsA@!o`k9ROhc?nM=5_| zRdbJ0ZV^gO&5U&hZ5JT+L2|??jj2%#ZE7@U#qUfM#2;`eVWL_`TOIXlv%Cp2RZxr+ zmIysttq*LeRL3fY@Q6GYZrPCrD@l(mkZ4^S#f>CCs~I-}q4h`#ERK?&JtejTR)hrE zev+f!Wc1_~45Tp0&^Q~lyQ(TfwZoutL?l2Jst3ssN1Ya9(b)m`M$DUi%Za|Y$V90R ziz`SCv*;|9*thVi7*I|vIn>t`8R~1HkxxLop~)NKXael4={1v^ZFYvyM-Br7hipK$V zkfut}q)CN|C7V=O>Kw5?nkys@O?W{Z|LGhY#&i7XVxNzBXjhGoSCPNrRPL(s>=p=P zPQWcVgYS*CV5M%gIHz+XX9R5AjVxAVXt|Z$7YfiRE2RYz4SRi5XHYkP;M|DWcY{XE z)Xjvp;4dn_10@FoXQkNRCKSzP?(BzG3ouT6<&`ET_=N@iD#4*RB29`@CMT7D0keR=O; zvxAFnbM_u3(&I%Pv?!bPu|~5zl5sN$sLr#N&LzD+kdU3`B%bN)=NvGo3)Cb-6?s4- zGfs;AP}-5yEZcx^s#eq$ga4T3b!po^V})gckta3V(`21Ta>9L$Zdf_U+S_ovbLEEJ z$4M%8dQv&oj3@ThF!mmJVjlu9+!Om5__BFoCD#aNte5FPXR?cb0=Izi*CLu-{@9up zCNO-Vp08BglM=pw@$z)JK3=Ym!SQP9WsPejS^dj2E}j48u*NIU49*Zt~g z5R0d}=qmHZ!Rh#Hr||wXVRCM@WeA23M=rvPb(RqO9kWVDw%gKq*J7#eV`w~Oe|0N%NK#mG`3zb@KgR^FV0qzOj@dh|Ul zuI_a7EeDk`xSoUstf;{yGTC9@+}e6Ce&L@YX##!=+es)6z|wY5?6jSRbmOVVNfSOu zT?_L__iS{TG~pox&OIHLqzNB4y4F`9)xEJ0+#Bp-zSF<)0KoET5}g+`|Hc=fsp8)t zGbhi%!AQ#-9E{vuBuzjH_|{ZumiA{I1^#cr$} zFq``g5ehCmB8Mhuvrus12&TrA2PG3F6b;bMTbmQ$JKX=07xm`{|e;joQ3@Jl*SkW&l(==9d;d z9YhqppvZ3%+Rn{2*Sfr(xJ(94TFy(XmlHFC^_-fVpu5Ovc(BEX%fQ3QA$a?+hxZa+ zm+s*|&KFAPQpj@kehL(MK7)^MWMNLllQ9 z5!pb=Obk~PJ(Msk;nKP7t}=TyNu`?l}Qe40n`9HLPn)RoL-fuLV_cQes$_*RlbKgX_eA2+1{s5PZeUYEB zm7EJ`!g2p=KNn)a{dyV_;J&YS8z-ZtPR`RRHd-p=4zx(GoTpFG-Nsi$A%S*lH$o%J zZVij0c5B%yjHH0GKS++f)9A&}_y)()KJIolVs}+_9~bLWy$fKg`#97^{BEP+Q%%vP z?c+?W+4gakIfO%U#-CKdGkYB%JdP1)96$ExPKAD$LhdcFx`RT>34IU99oZj(~O#TxCs(*yU+$qo(Lo zVFbzb&Jvx<_{bAYi@)>m)RiBHFBVP9zP#b7%$L#aeT5@L?0tma<+*;pi-2eZtV-8Q zXG5=@6tc^_n+p3F_N{1H^q#_cAegG!bj{*-+pJ03_7x-D+)|K3tc~Jm=V}}EOb40V zJ1IHR%uebo7vC;)9L5M%23{JRNng+949 zy&J!nHf3J{+O)>U9(p%Hghk3w5sUU`2dwV93HUP~?g!H0vM=v&dvZ77p!L@3E$U(v#&V>;O*@Vr8`-lOF0ptwG zeJ_*UNp^7%-;y1Kf$yBc>5kry3!;M$?lzIyr6l8Ep(!KV?v!g8tP zI{h@lH=G=fJo`^0P&KXqo1I2EU+FZ${ZR$Y6XN5epb$8fb`@xpPLWsz6m07x!jlnh zKIeP*B!X^ND`scN0 z)O?G(3uGFN`>ea9URSc_NRHnxIvtrpTR4>D(7}T#BCWAyXr&RmO2o8_I^i@zZ@6&3gPIG^=)zwStRlAyUsj$xLx{5{JuSJdy|UV}+q%$) zZO3CnrTVf+hcBa*(q)48&?ZrIzRL6HVD=Vtn#J*P1dUb9wz>!TTD7gzaRjPc8deo> zNuZ*RBhV*hDk<#>n>UiKdcs9HGZ^hhu+rXs9GYrPOQd$sq`y-OD9;Gnq|hw`+&9J`WjzH%1X_px;i$^U*zoAa-jRV~ ztybJ9f=C^`zBDqlaVdt6ejItBY~tQPGS>~+RT3+tzCM~&V&}XZMn83qu{wfKqQg*p z@50Dv?@)O})Y!cOmm}4X1oa)!Q&@pB_t7(OT~n$lY?g|?gPBBmq7m!AXUG~ZeEa056M2;(CV%Lj^Mq5HJq(z03etz{?0!sO zmYmeo@Of8soO5-<;MH1=^!W-ORtY(oC))b*HtEcSYbC z@|Ui9-rY98lF4RJcn&fJM^tmC^^0g+j^%_cQFiAkys(vKW~H!DB@uxpNL*N2_5G7Tjk6nG^kH3#cT&Y|RXl$~iPk;JhF>p)oC`&(%!*O5A0 zi~E!mh50&LP2=yjQuVhckjCH3M`Ks1x$@^zYMwNO)NZCp=4Q{NINp*%vY6rsm&%L% z_hnE=yx32Zp|trwpIW$GYOeNgBird7TNxzxN@_mO+7?izv{{?wLs)V;O{Cz5)7O#F zdI()9hBcY;h*+F1&|yk-)X39mtohA6t3=g#oVQvc_RG~yR-nDe6dFo$D5}`SVh5n? zOp0oWK*HBa=!>bykw$v>y=2w2aPx)bSokJ(sVqvN1&IgCF^NYmISwPhn^u&2N_kWU zTRnZV47Xjt58&AbLLzk+6f$K2gG7!gaRJvYSlCwS-Lo{&m z=0K+?*cSb@62Hb||KcH46A~D;#z2dQ zmqrydPwn91VZ=&z(Qc;Vv2>fm9s zqfAmO>Xk6}%YvryMz`qW!4@SPK)M~7Lb_7%ke2ao6KRcQyy+zC+z^fK)X3_@lSc1> zR?z#BtTJ_h?)%}w{R?zlxL%-}#;t)yrbmtYQ^DeMFV4w|lhtRC=o7GZ`p;nV5+vuZ z8CkQ%=k4LnQ7wMfaN(LY(^pqVO0r`tXv!a&Jv#@h$ju&Ec^>wpr=_*iOCvHHYGV@C zPMcdg!&UMoHH~6yA$1Jcx4MujmQ3YwpOxU1TuVI;Pffj-qN#MW3ZJ{RgSBzU=Vqd$ z+`zSgiHbFd)I&ZeuEMGK2CWRp4LxKtz!%Rq>nP_w+Zhwm zhXlup@F2zRkC*GBSPMmpI;|GvTyT?>ye1dbc&2m(GI>^p=(RaR zNp&@`^Mmn=xk7Gq%5#PQXH}KghTbM{OHOLe;_|Ky-Gs8uSsbY%dD_QW8~8v4 zD-Gp3JTqtO7N&qZ@7`9by&IWAmY+%A%7>9S$I8$bkUR%{p+znKxhsG89=nyqljfD3 z?~l5Fx%DLv`81{G+4rR>G&X!w8${Anr}nZ&Tn!z~tIk^CIGZkPCw66MCHAh!d68wI zzW@}>ZlB!u2ya#)&k4NAVlH$W7Bjsz%W7AJ%)QqxFN_b7 z8lc%#$kR&*@DkTWB5C>t#m!GGHO6WqQ7ob8w^p*h%Ozes5&R8hN}C8;i(EU9pMe&+ zBKv8WcFsooRTIB!O#hV&Q#KC&o`I`Oe`-{R=|5M}Uo74!znb+QN6ftbg1M91`{)+q0n8Ra%qx)+B`Dt;-@3mK+FN0yQ$8IrP;5Xn0% zB{NSgmg}Xcld7MZ&}U~Rv>_X3P^Mh6air>_(Lyx#`PRreCzsuDr)H@@E@C+84llrU zCq7R2^7Lq~*0b?5EZCIXiE>C}YvX;OL8Kgdq(ko%x8Z<-;v4JTkG& zuT7y4i4w~^iBc|^4f*2>qZ7OlgX_-wH9L~F_RoV68>lt82f`YsRKejF{6XM@F4 z@UX2|yKXzuLbR)Wv3X~`wRG+-u^ZReTj`=5@@*`#uTY~vR9LrMTgT>7c}Z?voW%V% zFSbAE_LtPf_HR2m997_7Y^Q2Mg09vKX|eswQ3cJ@JGt1d1VkO#HO|QDPkd4=dZBf} zFC(<_FS+X`RenLmxJ&MfGmD1wvA4R4{f}T95|&E;f=qC;r>-i7-tDlZ(}|fYdKbYQoj{qV<|{2#`v+T!{L z%EFN&!-e}f!i8&&1Q)MY2dl`<6WG1$vb}()ji%T{71An6^eTw!7dyD2NX1F8C0*C3hEm0#D}d zf>{xIYJb7DarESXI}IjsY46v$TFMjEUm%lb zcL2RMCx{;ZjP1Nm@go1zDbKNb{JR7GCU8qmYEGi_?hcr8zdea2RpQ+pAPHnQHgFha z2b60PE*X2$nY<*yb)Bg-B`&eY;)xV-q@=vG_n1hUy3l{29umaSHL>Anb#$hDB6b>?_BHPh zFkk5*qc4|4u{JqRNEDc5Zxo={W~WHiCILxrIAvw(V6PH*B`0l1($}NxOp+cE$C7lH zHa z3%rt(wj=&uK-rnZUlJ$tK>CAL8p?H~4Wuc?%CB0f`WF*O$=I6rCs1}K5xh+x z;Tz%Ti)n=+&AwvII}f$Bgt*0p$0nBg52TRD(2XQaxuiaf055tgw_C17Z{-}-vh7*) z7XE?2qBnh)i{5`g%jBZBc$)Y{?|pQ9{p3aO=tOzqaA-3$85`XU{QFDDu*a@pyUC5MWv2j_raQ|u+7oKr7>+oO|xmUAf z<;mK`Tms%nQb8{PPrzd1nZf2Iu;)~XSnBHhK)7%}d${n7?5PE-$ju&Ed5i4X%GEBh zzA{Uth?Gn8LMxXy2AhQgl%`mI}WYp|l+jFBkhVN7~j zS_RhHxUwT*EOh7Ot^!AjJ8>0QBNc$$ z#*Z{HCiX1&bGe$%^YGtOrY_Y3F!Xk6h4w$d_dNg0AzRIr1)hD)K_<^aF1V!=vnLOuG`;4T_~t1j zqoll;J6$AAUCe!lGK?_CY}CY3?&*UV4f?C2A_Qr%(LhxGF$ztBXyZ!T_7)1Kl|=k; zoK1?76h?{|NGM`If|J+E{SB3#LiQ*AA$<{}4+YqP9$MTC||{ga+`|9pp2Rv0fC~qfuC(6#$ zNh0D{oy4V$uakJvyx~7ZzBFfCEHm}RD^fTU>xVg4!5Gy6lbU{dqh>iH36O0#;bRiImA9%l8z6N$2?P#PX>Z0sqFR2zk{kupU~ zA`jF^qln88NVy=6(oiW;0r7`gX_P`R4Up0rlb1ReWsH>8A!6hD5)O8iDRQGQnw5_7 zjGmU-a)O95b)C0b9RHk)$gIGgOA(wLiX!I6ei3D7QWVb$Bz%g1zLDaz zMLOJrd5nH0g%Q*-xCc|m$kl_x2(Y(YO@Y*;ES!mth^a}W?x!AaxiG>4-g5dbz2%2| z1yADoNb!`}Tb>D5b%hmhRTo>iRP2^vzLT$xq$uDL)uSR*#ZwT~j$9q-^!w(no?x&v z8y5#k9k;!{DzbTg{QOi@P^ng{*3#}fbW*F{$knFY23$D}WFtk^J$Q8#!u4PsHnwz0 ze`%ENYRVHdc6OA@FqsuHIUqGoFTG>d&$Q6%h5hoG?XmdxZwGzEHrT$PjTW|d>dkyzay3^0@ z3HoL~lJP`mp~fxdEIb|gT6GqxoBgP6=_&jmJ<(5fvmZTU6cMLE6k8ybXW=zM%DQb#|fGC7GNPYB%*yy@?DMnd&gYr@n#$h_$?~cBT`@N$MAuNBfjR>+oZWL-mr{rJyaE{k26S8kxtM zVdGOv+q|zz1+Anl-ICef$>GSS-;$wfT(L4`$h2f;M-?s|J`j762I14{yw-HZZo>eS= z)(6{Xsn5!RsbA=3uMRdlVb%P2WXiJ7T(6o354Bfx~t@^;llmQ;KDO9<2}JDax+6# z-Xb%$we^=6C1O08Zzoc$abIf=eJ0q#1P=XQMh<;BT)3Y@TzEzfeK%M|ZVt)HTjh{v z$c}Mno|Q;3$a$;z^V?wi68Q70jQsgqxNtvzxNyy%8NxPEE#Y6f1+yQptqR*l$ju>H zeI5>_r=<-*-XX8^Q+cOB!gaRG#XVQ~5){ zD}jod%F`z`m0yf!o>$DI$Ba|?o#IpZ>Y7TazY(0LuW+Qso~LhP%+t-n>`C}BRE9K@ zX3A8?1pHX10$VKeO~8*rSuIY$Pes=J6L7&NF##966BBUNM3S4cHk(2#S}$IWaOH9) zNc0RD-Fp5w(T4U7n@yQIh5i_`!qS4+{g;VXV#d&XL-? z@;(!Zm$#3E(v_VkN-NqL6H-mzY>75!Sj6o2qD_Nc6U}V!cp8-Jh>*U@Ck#3=e{J7N z9_A<__T$#qRGa!J=yaIrZAB|PDEDCPacPeAMX_WFe|t?Lj^a=3RE9L zpO+ZIeKNs!&3q^q`FN%MR?5_+Cb&>Yo!Vb`t(qE|M^RqEJ{PfTNd1sX1Iy@Rb%5$f zKXwG6=i5R=tN2o7lm>d|*d4wXi}p}Ag$=dhXuY6{<+p0Z-CADP(^MXf^b0MHU&=*K zUR1wNhzM3U>|H_h+FX*d22bvI)(t7f`AF3u)xCV5G}ezgHHEta?-}~Oz&bgp>7mZM zdGW_6+uRBuM#|4)kCrfNqOoz8N<=zq&yY(w-&O%nnsth56D?hu@-7x(?ZRvS_oPss z=)?Q-J|~i2|kAtvNLtGh;UX%bLr;mXr43|OsqURxkG=$*fN4cnc=>}B?- zBzMMI>j<>dbxle1voeOd;@U>3X7swja@{e8z5U5`9dWmEUu();m`hT*cbzLJ7aPdv zb*|pEqwZZceN-n)PM}**cWO=UK*Uh)YonqC$w}MkYhx%oQ(ue7X!SLhioU+)Npqx4 z!4||xlhiFfQ+GNmg`~0W6fTu_uzn`P7|8qI$XrdEG;<`A_siijHIhl{4%W})5#Gy0lPUE6ib@Qx8P;ZBKzUFI^DeSj6HA0lv~+>5#N7r`vk! zSAEp`P0P|Zb5V#D%)=?Nl%spbwx50*WoPQ14+tcD-H*PQiVkU3w$BPpGq?P3Pho5E z%PBOY{>MFq1Ta@m2_wKeMfJ3n7u?Uby+eb$UxEF7FTt(ud*YuF?y|W#E|jm8as38u z0IWBqz1Z!E&To&HQMiIV^*AD<^IPd;anA057_x!g0sGq0&*(|7Q%_+X&s%#6OO{-` zp;%j2R}24ls`fW$2n$&C82+XC-SstFp6qcc9GGCIC~vcWLf70C8Rb&9UR~ZfnGmAE z=92MDnN|`)FBMy_7c|vRO`rp#M*5cO6V_GsMW&FS*IZ2P5owLZZ9VB1CX~k2`LLj= zUub+!Yz5zA+rn1~AJbf~$4*S}7?YMv;X zssKuA@O$vV$!e0-PMmk?X=&X^_m;{&gqINJNn1B+Zs*e^$+whiY-1})+X4GlSCWKt zMcz_=6N-_GN&gQ|v280#aj8S(3w-z+=g1XJLFolV-sDB6w8euP&w|5l6jLC&T-x#@ zz~U)33ZvN8heZVJ62l$mmbx#j9UJMVz2eemh-p>yeGaW1l>3K}aYMN=$lCyGrFE2g z084u#n0c+)C~T@B=@t>|5lY4Tml#f;2vk*nnwY|M@BA3EDc3T@WDPX581Z2s2+woc zV#JZ{vQ`ni{em=c@5@D8UbMKIGRZ}Ydqmr9YrxT#6<)NEWJ*?oWc~4?g;Bu=GgQEf z7XK5qr6LQM_(h9fMpb%8eZzvJ*74-(Ny^lvv^$B;6~>ugcBg+D3o*(#ldrl{eWxp> z?P5B0juH!x!kHrzcDP*jfGrqj53_GE0bH+zQoeYt{ z8z$rm{4SM=t;9zCXvu&bBhS~WuEl?O)xsFA$W=4MUgaB%x_eKohj(i zg30A-(S3Ad@2cwXn(|1oQLSxM-|e+KF{09%J}uetC~J(nYJ@G1%-Jwl?jLkIk2?0B z+;_C)&Amsz&}2P1mo#$!IYCHctpCvKT>Zzl9LKo&K5486oSMQM<~~#uSSKen`%t9^ ziE}I!ikU0gtRIRhE)U^W;sfpn4rLWz}nWdGeNg zJb^e{dd-z)pI-B%IYV`JX)$-Ie``9sb!Jk8$EMJkEQEZD@EA3tCP(YafdL%Uua4lT z{>7z@8>%&|(A3tA4a0F&hu*?mghu#+RQbKdfdP4OV>jPy)LpR#{aLDLC4>5fCc_tV zi5n}fdj%PMoTM+N?n0VH8Czxe4BS#I3!=FTZS*6r-13WDO33Yl_Kv?F6H0Q&-!^V~ zOe!@ge(KPWZqK@mV9aCNol&TF7Te$x1U>QWpvqg~gQ_e_n>9%y^<=hZ&!` zO1ddCWsNTQddifG-3Qs;NpqF7SWvT#4aK?$?W5LA)vVlOOj={McbSu=-1|)n)_Zd` zpGWd{3qB=tKZgv)mOyVo*_lM}W`TsyoS-j`Ik6j-Ktpua1aUKm2O5^~x2F)qP;MkT zxnw+y0IzRq518wXcNa7X6^?|X+~8W0J&|yP3JFBQq3`m9_Ty-oJfSU~f+w`a5@)-Y zr7x5FXLBsZ?xlT3zQtHsUK^{ii|t;{TY0-js|ebO?G7V-YpP=-1I60L_%iHFRXHCs z;h$PC|K>=w-TlG~u`fhf8o(2IEH+XYSjrOC3* z*X_=3lOd;3lD;-f~_RdAf(;yYFc$d`?k zVOnq|hqYSDQ3j%A4W=l}>vOf7Exsl)dG@T+Yg3>+a~a#)nsT$>|2XA^1(aRO?-RHs zCpE3nyvsAUqHNO|C1v1Uo{ z+{i$=UuYg2w1MKmuK!5)(8)GzO(Atu8dxVnXw&n6Jn$-wJKMEv8A8elV^nM~a_eu{ ziY2*sQ(IX{%|j-SlA_nSl+<);zqITYH02M?u)Uqq!kDp&+EZYboV1;e)Qz$;b)<+q zmYloP@yWR-&GI%xLle_2IFt0xNg-xT`opENulVW=eTv;wWCmoM!dGSY>x8fP;#`8q z7Rw-IO0!rjgLC)O(TNRTagxoMnoe{1@?4m+j@y`l%ghgIWQX}-`G%FMIP;N5?o5wfyVfDYlfuEdm?0q zd7tVsek3z#sZGrBZ&RjR96#8eQra%#b-c5`@Ne)L|29|qd2s%ojIQn852}rZM@EHdPt#yE#J3QjBhI=A~A|yO4}0q&$oOJB`(3JKIVv zJB^j|Ld&wpX)NXf0jDv2mrmo}Z{kUW^%PGN?=)V{(HQy~YG-y1|M9Z0|2S538?NL< zcJJ?vl`Xx>aYypjv6RY`^?cDH{0cC_>;QI84ZD|DMR}XmiFGe~+U9ziP4|ZmKxn?r z>|4GtYL|DDum5<+xyTfnG%L3&#YsFfV_I_2Y9d$8AiO5oMO#Rd$7FA<#ysY&JpwK1 zfVcJ<6eGR0O+3ZDwI0b=j@v!b+GY4~72Uy&BZ&pcM@TG_`jAsa%qaNp!~|KK<OLp1#sA6l?%tEDNo<>a7MVPb6MAh937(0EWq!cOOC7rrk)&!|UCZ1hN{N=-qv$l~!^Et$KI=-b$T+L8j0^Wm2~CG!nPr z-OWYWB=7FF-?HT~Stv+}vHV1`ZF#+1(e_OVJZbWJcikewW;xFbKAplBV_rbIDC4}~ z7LhdlVzg+NB6~fe-+C}vnTrpsHjki8xzy$&@02gps(0A#w_$FE=T^8bL;$0T| zM;b4Ot71{uRS^~0hKpi%XX+G{ndF+79i>n%3FD2{%D)QspRg<9sVHxA-Nd>gjJ8am z3u4N*ZS~{yJ--X$@1pNHNsZk-rVHZ5jA_XQp^000f#^KRE{GkI?`r}0EjIM@*Rw5QAq7?-^4HR?&hLz9J z&|+@ga}N$nt096kQV4shYjXQ3=y?DmIpKTEPRK+?axYwzt4Zu$ zI3Jlj?ge_CVp&-;Ze`5z#3W`>jydHe>pv1co*vc&Zplea3oWmEVFSuGEl*MqUiX3| zkk!~k_rjZ7X(d+>x6JK2lQxgNyOlcMiAp3ZWF>H9!MHy}Qqeaq=xEG$t#RpcKk5Q&vYBRIDfb~u0 z^m;gaK37YaKYtLEOx8#Sf2h$N=1&gy!q(rh^>-L$=F@!2l#5TTxfk}%j9eRfNR3FD zl>8pRNQ{D(dx74j41%tEVTF?=neJ^gE#_WGRI$2UrhCC{S0>f8yC6|=dkoPhIm#va zVFcK{piIMD?geF^Yq9pY7sLP;a4*nz>0YRzWzxMMo+jSCu%EgbG>3O#@3414m6+&U zXs(^u$+<=#<#zYxPR?XZ<-}Z!6o2=ij+8n}eN)~G{X*;fX0UgLofp?ec_)!R;@))~ zGIbg^JTW4!avqRFKqFkanQ)(Ehk$$ND&mhFDTCAo-+!hNj`;&#iw1PSAMkM$BmDt) z;wkPA&@!Xk0RagF=Hl*iMO={lbwuYRZ-9Nl^buzkhsp!kzAq>IQ7m9SZr&r}M@DWe zxeo!6C2Qq1V>oOSt*f+KjP4uvG44vehBdu(4^*z9Ob{%z{hp}p;hgOERiuJqRs?j1 z48DXqpqPJvI;CR%Aw7w$YT_w_VrJYCjW9g=Fuv+8Jm9Nt$a8ac%gZ(R!euLvjJzs1Ks((Z9=Z=`|d9>I}9Y-)8z34x3_rPy2(A0?vVO0`s_ z03uO%{S}+a3^C#4ixNGNMAShzJq=lOg5o=!xJR zqbEDuwsuN24>Il;%~_uvlB!TnbeN5m=bXjBn##A(6CG1P{u17ky_$Vh7? ztJYRmGD6A*u;s=a95lfyFH+BwhM8_qCPPQ{Sr|I1C%a5y!^{{bEu}4uog09*Gh0e2;2&C zT4JHy>v3OlwWhBI5x2khs1Q{At6^=i5--(sSldARYa2+kHjn+oDnU!&#~cYvw|zeC zW20p*D%q>`*6lB74T!zRdMH9%N{UUHumz+W zUHKXn<5)oKF7e5{a*D|5tT%;b_oFE&hRh>BirRy5XsaU54j+AJWTq@hwoIQIv0md! z7*3^I_xoV$5@HfPgG{0ER*5E^8+lr!HDVIYQ^(XqU*(2qjCJs7HXrm0jrFWYq$QOw z2>7>}Oh+cDP<^G#)Wek^;7J$0AY8crLKiOlFDe{fxE)3 z`&^pa*2hLitF=a7eHfwfUo}>R*JFGW*_bba#58JX0NvI{AAb`5j`3HF*I%BWLV=Cn+$&d`P!Wf zQ{8ehd>43Cp`U6pOwVdEtj1{&>w|cmbuxTp`efK9O0Te5a8PYnSiHdr@qLbP*%RW! z0u$m4b=s5SuTfQUQasrI-JKu}84t7nh)NBT+ zc}_@l>V;eX7Ax|1yj)HH+20Eq=MMdO>1+mNlGk<3#A8TlQD5ilx+D>kM`ud< zPQl;`S3soyy&%1KqQRNsdCM;0*g*L5w+MLyoE)I*uN)I1pE^KHd#<+`q6 zRvXb@esNG_?s_C|1Q9NwzPO9~!ehr?jxh@iyP{1!l=f%~3kQcwISJac{{0S8qO>Vd9uwLLjjH^<}O+?`Ug-42{sR0VFRSpi{ z)nE42USiBg2N|P_Z>l5xa{GhmIg#;7!3#N-$Uv`i2{}jCEo{IopY`b4ax3Pp)0?z6 zh5M6!p$YkRG}P<`$-+p~;U4uiL7iBSqSt0wsXfYfqZi}q`=qh{h*MJ-Ywm5g39OTo zn!T;kKw{t0P(s|$k0N=d-WHM0>TNFNe7((+X5A}PysZhAE=_qCi%cEw`V`9N?|7H9 zC(G=2C(8S0MYrSUf<+fZ3x$=8qevUY6fvHV8A zHR+xJ70m9DEQv-}`UD$Vx}3{Kqn@`vxgJjLR_<#}xnqOY%c(i~}1umy3_ zBz23=)SbFhNE+)-;Zix0@8KCbDaTc$8D5$PY#l6l81IWk()0sPsnJ6>=(b1%wWKMfx?(D_Z+q0OaJZ+Y=2*mVc$Ki1L2R#9I>d99uxVUo z?cX2Ax+P`r+LNn@r+*3#ZbM=%k0&8Ta(w-pR)6(izoTFobA(IZX4EeU}NUtz9=PcL5i@qSr zmn9yL)7h>QYg%Bt&iN*7dVX(?3GyYhD; zy=eEOErmAs$swi55jk`tVr!;Pp;4`_nF?Q<+(Wz%$S;>o55QAs$5PYNHPoq`r8!z_ z#O+Xw0lR+5-2;B()N7trdP0O^O{&_Er*azBR3N$r$QQ$-10`wg@Y1mOdsiL)?YaP@ zKa}wX=_fXV=qb4f#Kzo7l&MSgVW4r~IGDCd0?aHK@_7WsYZjT}Q zBuBYKKa2po9F%FOHZp}X@yTpu%4@Oqg!m8xT;L=*eV3<|HlStlw32uVo>mfmgm#Z+ zA0AC0T62r+pV=)ERn&$%WJ&VWD=I$84Pt~_WTkGr(Q5npU021fG^~+br!jTR{d)RPl z(%r5bh)vpwqICcN2{%HG0^tEkm~CDEw%!h+KdOm7u?~$t<{}JRe9uy*F4aq+4F01W z8k;|A+h1W`vqNJuWb!yP=yi%MXU*}I`N(5YEN1DhPI+P6*rBnLz%4ncX%pskXzYfv z&1pC37Oz7?63A+7V$9NmT4^O$(5ge@=vL}{c@D}}_Cw+}92&VOo8-_qzm---vTZpu zT+#M9G(2hYIyBrO!uB^$n5U%h#h5jaF3LD-ct#}ch(qJLTzp`)`3B0AOKoO$P_*vQ zcxSGbFn?~!&L3)YhxwDkq4Akqtz$mjL78&#sWpej!mA zXL#@EZOS0%Iy9bevSb^)ayBjI&`4CVx?QG2!);e4)%0aSqU81%s)^(%m*|HPV26e> z4V5Vy&cqH4WyEW-_Bb@e02gp*(0A$3*y%@j65&_G)5JS8R;W;qt@$(d%k0lk^(4A8 zny;EPAArUsC1hQ5ujJXCDx}r;rU!u4X6LshKkPYK7Uli-P_3O%ryBRlN@~U=dn4pE zrQR(3}ohY!oA%5f|Yp=!}R5K+PttP^2Ojs-iw-#XZD`Bv*tT zT5I1k%~+^O8!J4~PxEKgUWP%&PpM|RuehfprI(?y4`qUMp?#&Oec_y})D=0P)D@B3 z;U+!a>8nwvRO(mJlThm7DT7jH+_T0zRnZE7uZm$1!&e>;N{)9*r-vlEZ;H?rPeF7$ z67O`sGe*j^wf?w~a-&=vT2&nxzyq9Gf#6?m-0XxRoY6){M3wz_FtC^KfP^A(u%OhB zn}K=?{nfFNMo)pxSJfvYwATk%id8R25AF3)Cx;{b{?J}jjVnH87gKI%3hnj2sDfrC zK75xYL;Dp&(}H`&(kHM$x$fHv?sb2Jy3a))4(_F!UHJkPBgQZz!1)e|h|BmIiQl!# z`&J5ip}<~#^z=f<&dDMy&o~q!8?`gkZ(2RcTCj2tkgoH(qCy*)YBFN7~ zS_9b`qD#7{ns2c+Ri@Es{;L%<|JDwgbF|7}dTYAQ5Z`1IfUNwbk=^0Pa->!|!0FNc z*kaov6MV3#vBegK3-v!+`#B23=ht}-v0=)#+PB!7ZT>2Qmhqm)(C;7 z)JSQ*()9RHE_$$=`c}%+r7SxLr*9Rum2fp@uq|bV0N`NhVoK3_nw(n5BgzmZl^zmS zFExa8#iUA|BW#+71|w^XHBT*SR{tW@x37a`CL$vB)Vaj2DaY zUIMS=q^2lWo&`g4EVwU5*_lK+B90}>E^U0G>`AjUAOAJ|+_Ex>^V}5rZE|^Bh!=WMvSBlBISG%Xo5iiUoKrGnj3Ic#PcE~Y$olCHT zA;;=YY02_R^k&f>6__O_ZAY}nPuz)wo4tKXnWEe+@dIG8FvfKB;#kL5Hcp? z;ZiwD#Ah-L1bp_L468I#pQA*)KSQa!ZmUdmW%IUt4aFfMZ-3=m} zkU<7xa(vP;^aDQWy@CaI!^=<_Quj;T8O2DQA=;%z8~&wb>6^h$8D5BdD9YO$ojm`q zqN8-XYQN?TK>*oM3 zgDo;PY%79;4G$3QlU7L`FV`zhgK@e@ShS01%wNQY>LR+zriuv3VlqeJIfX?aOoQ&? z(2!hBqTn)gL&M_8OK>uk_xM#ei4q^b>K&8|Ke<$Tk+WPa>Rlk5Im9QAv@}4l&*0zF z+rfmL8C%TCC)9JWe=e%9=U^FS>QbFF!E<2wk&YLNC*}|kZ+lM?`kaCdi6`CkOK}x4d8R=0+7zQy9{^UNgfDD#qjVq&mGxo(!e3wWs>Ovi8DQ^M($kxpm+4?9zJ`kZ1;W>Ctz& zL*jk(BsO%2r{E3=Vczkv!%VoUwG{1v^x!IH@X4Dw=(9xiV-c$2DTr!EHgoKG=IJM# zS}G1;gbQrnFoFvT2WXVZF^=n**t)}yDGt?3$~vB) z+tI08Je_3b&J9+Qn-jA7Je){ROLJpy2W)w##!HfRYDDT!Z_)S@)P}v%PR0*!(a>ncX1leetp#r`a zhDz&-{TmB3XyJwkG6;L;oLX92s+Dk)#PY&mqcK`vzHAvfR&TYoZrO&>r8K=QjWm{x zjSf|d1NCM5@4MeY%l18R85OZq#@?>?jt;D4UA&;Vssnf!@^u$CS4}M{Z@+Y^zG>>E z?P82+Tw7&m)%-;VQM)6Ui`_y$jn&HIl`oStL1J!1o4{IX>wk=JO{gR1vCPCG@~|W4 zCzPp6S(Ttvr?!CfC?gIopGHk=^q`3fx$~l}L8ALmIw|NCYiEZx`dClu7g|96maEO| z*LgvRL~I3+UYk=IORf9%c5H@*DXT&}YrM94%q}ZgaETY}shNjNK~+7wR$43Xh#SxA zso4f)o1Pk>rNu4{9!AwJjfgmwr^cm?&r{<`vvYvunpkeeWP2zY33jPGFPIpnD{ssA zgGidXEn~SbbPL^Us?{MOug75pyEazpDQqaiUp-pGP6j!{UPq3}@<{lWgcQ5^*jy6A zl6#bpkeKAs>s*pMo!Y2GSN_oKxWFkbOkq)aD2m3Yg+=4R6^2!wAk=R?Z94?jDtACfFhp-2eMuD_JlGm#r%}^?PFqKuM z%#4=TtM|tSsJ>#YR@~S}3dOT<9oa{EsTvDWme)N>(rcIIIO1YR2Ue+fPbw2zy9P>^ zC>NYwpq}qmEoT7kYb{Qng=CmL+wNfDCF@T`d7Bq>)*lw5U~GL_v|lP1?Pi!^yw%lBgxGNo!3Qag;5Xhm8O{F6lGj4RRGzJhlS z3r$fVO%bgsd%tNR+x+LDZf4FiA`7HzGCCC~Fr88JE(3RWa0mIWxoE)Chn*->m+A}& z(+6uEcstR-_2yTt6P#PyQuM-pxzJ_%X(=*!R&?pLsb$kG|Kv@r$2eu#8ru~mww_iA zypofe)>B@~|5%i5T2ItfIR#zw|zoAwKn0DAN?7WL^@^+D12=tm&hm1gSipGUz$8E%HQ7~Vm8Z;Gdfntlt@g(+oh^OEN3NcA)H^j7_Mbxv+==MyX(czTb%+-zYA~-g97ObZ{v$+Kx z(-fG=9&W@um=jIn^qD;4mDaTjK~b|K*#Z`xyuBpK+dOBYCT~FBow!Zo_73iT#d!DN zOK=nXp7>{+rc^U0nhj|jD+ds|lQ$dM&c~|cnUF>_HWS(vh<9KnbUccYGoe%QWX*(3 zaZ$6NBvB)=y&U~nkrPDTjVPOO2GpfyKm+A|iYrsBZ6trYm=D#Xxll?fEx+e-)k-Vb z@@q;3DM((Sn_y`LMb6R`iLa+*m=R^L=Bl|`&UVBQWr}!*QNp*BV$FqiviUSnY!sPU z%AgCR(0sZo7q)EEU4cxY#Rg-{qlRT1^U5M=M{T-y>cqm@%E1JVvmds_l;IDf5>R_guU3hv^MM>$0euB z^w>Vat*28cHRZn6-Q-`Oa;rAb-=e$|;%hUT(Uu*g@vO{y0?nN~JIL`08!bxQuceWV z*+PE?y*pqF?FAZ0Tc`(5mM!GUiL!@6BB*R4MOs(@FS1}@h)umGb0=jJfjDchR~z<_ z?0=Cx6iA`v_&{PT%rK>~GTA~CvFu{-m;?>f*pE?b)kB=Y9y%^p>v;@5hB9@jE`d=b z)gIbvwZkK&U*aD$XU@%q8;^izAye95$s-^&BjX6TN+j*5^|K*Y>zMKl%9M-pQIrP1 z@#A>1nwgPm$MzAGnx+q_6R+uWEk2}ilNtZI3`v>sM8#Z;4_h&8`l#Nj6iGM}n?6e6 zX{LHipPPYi$n>G_()78Po`mTmo+jS(5w4y*W>47FBTH(-pLEO{Q#O=olO$@&tWo5|K>lqOge+#w4$7=iC#xl4BBLhpyO!DcKtEY# zC(*rQNGPZT-emq^-CW9F5)TE}!>O__4hT}S5eTQl;zCi>dUXtiU`$XZQ%hV+Nmo>_wr zX$)oF_hm@RyeC5D;(gdOVS7e(*If3D(sY`y9($$%d_(pOeV6vk&GaPf8Symn_RLZ` z=g~(y*R!o$?UA^06&2KmHM6~54T*~L_-?R!oRL=3D&vjr4W9%tlZS<{Df6)?Z}aR9 zuUZ+%w`Iv_6f5@;wv%VcZ0liD@|u;#GiJzq2zYnEkof_Mk%r7;c(VL7hF~Z=CPB!Q z8KY>40sJFG){HAw^G}6LM#n%R>&1PorSoYnT&bH(ewc}sMKt*--Q@U^RQeD)^VDLw zUW!(e)lc2(f8=U451fCcOkGOKq54w|mL-vd9(VH5wHkI9AtK9hBjUQ4!phTD9d}&B zDmhj1jIZ_~o~_&xmFkIq(5>D6sgMS84O8CQw+%9d#>^Z;_rvq2pgZ8Kjf^`pUfBU< zn*%rX7w^D5Um)SzB1d0Lt%@`Y5-6();bsaC$ZQeJO(BG_utyS-(IR+3Bn|gAwg^;b zP+c^PHG4Re($E6yu?Uu+X(5Y%zDtYXEP4_afq0sDi(p@bEfxkr_5%tF6O971tTyZd z>a3(+aUj(!v0I(Yi*Ie&!c3>Ss{K++=O}1winJ{pVMAdk%G*4z!-j(01lLy3hX}=~ zLVY;F`Jm4yI3E@?^$SglH$?4`qqR+ogi{JvBU4Casl7H7v*Fbl)6%{iP29?rgxBPm zIEJ&sVnd?4Mxz?Da@GO$4p=$2qZn!B+<_;{%CQAo89K(An%M>z)XLUTL5(ljGiq=DYSiEoSP@5 zsnpGuBILdCUX$Y6xk$lg&^IU(?hB*;?RJ7|1~q3LgIQcuzjgOP<#Ea*-M%`RM(4>~ z=t#~eJT?OXA4C37|2IZzYDA`yI%+6Y@DL-IRtXQ>ilIu@} zFVw(2kDkQ9EuJzD+?jAyp+SJF3K$Z@RUS@FjyOhVSEY@ybA+mR3ZmMPh-34k@mv_^ zgZ$#pSNPqM(L8q z^1`ChCHJs`s|u;&@$c9%E?rW zG{vIBu#psCD&$JG*0C3+AP@>!=0%|8h)H`VMNG0ggASWSQl4n|Xxw6k&l2Qo)$mba zlc;WK^;}6$^izdRqGx5vD84{0m*RC+OJ>)2*rcOXpAAM%x|%CdBaG!gXl`#rPIAh# zgD1U-ijm{;>?onp?cd^5V|U_w@sr+&vO?ph&0*8aPlD|SZk37x zkQERocWg+X;cX?WRwSQbgp}ynGGS_KO{+=|WrE&9|IiJ}WNN7H1XDwGGM7JW78wIq z$wZ^_)NGthd;l0obK^mJ5|)v8%3y9V`nX)T<;V+hH(hi0NLpkx<7n__pP}QhFwBm= z_)I@4t1Yu5syW5*Xzt`9+dW*W*Nf{s(NZVG9(mFc!gPD&87GG$wtjnrs&S>w6fM&p zc`T}+ISKq}-y)g%OF2&Y`*GMJ(QU0vp<-N%L zAmwaWyQl2;+B;>x$L+K#zeabjAi4>@sRA;EhCL-hHN=+U8 zl*%^Jg<`fCwA;>fM98+=4m0ew7V5NZyNjqQ*$0zn1#299Y^|8jz`GD-g(Te;7t6pK zLe~5Sp5VSP@PtGN1JAuzC&;RV`$dUKA+4|Nn#s}h5a838Pp%bMh^+PkA{f+hpD5Xa z$1OX#AVgE2RZLH)_1x>YGXKb6j(?gGl^;_VlNO#vHj{;?IwveV)n#4kXR`4A8)!=l z?_KmHEIjd)#ln;5w`1WgIuNGO#3u8~l(;b&${wECnf9SlU#+SbCL zn@&Nhl_~8W+F!ee#N;85YlxkBT2emcNJ_dHc8`<8Ryc!xGmNTnMZy$AHHMN~=o3)| z&2!^s@_LihY4bBXu|-^U;JYoK(03wK^ZSH!Gb`VwVjK&sInO~?4g}6y&B&jppc1mg z{HSP4Y&r>|YlaywwGC#xT!0gslue`fLJ-9S>+3mW3XMrha>)96He*_{zPxR2+4@?T zq)0H*e6Y8YP{wV3gBJMy(_d{N!f_}c4fJkd{Oe9^NqzLZdcRv*Lbtj1Ss zal{t`6Vp3wTUFWOh#x>@$X=p?Y-`y&$f>~ATKUYR{ZLj&ByGl8X41=$HNTl8_$16E z!MhA`#EG6EeXEE43D>cZpS_v*ZFpY}IO&uV`;I;OxK|u|dhFsXOHmezjYh4!W~>26 zMl*I~*cv=^kkHp2-c9LzT8jHaoEQP+om{Q*;C6)Pfu_7Bums8+TQNpl`@bFdr^QCK%3Ne`1P` z%|7+;sQkl?^4}aRzw#)GD4LcB^@NA<5@ITANw2%{Nm z3HPKuBZ+}`h-JK2P8EQehbq=pdurwp>4kBRZ~1FLM9w@Oq9-x)5KqCGhtL!4#(vt5 zbiirHoqKc+y%yUq7h@9@*oIbH5NEtB(a~wM6!NMs>K9tXpJFbzqR)OFari>We0Rwl1NKUwm--a(_~thl^#0)$&?;b$U=|(lp7AV#-lJ~(POFr z=rL7nOL}Y-@RNG%D0&ilOgv4z9^0Q(!CA*0b^5V66xrS(M~X0}M2T%^vK``@jEi(s z+3W~^rOS*rTE;H`T}>IcyJUE)?>SN4=9wK=X51=Qn{9S*?}1s>*=U4c4s|w!Oc~YL zmBI3Z>P*&>uFjglDiYKg7Y^Huh^2W=?@eB711l*OAlYV`%ax0%09T)#j+Y(KXNiI> z721bTOH82|60J1ahmlTcG=(l2aVBBjj%B6_fJRfrwxrQM2SlVsyNjNLMiWmHuh9;~ zom7p!dOs}3Qq6a|(X_hsZ3~NoI?XJz4Yf9Gt2MLKZtYt1dp3YEUJU+Ql32+L9{_TRUn zyv=oOs?7B!yLyx9r#!>j|M|*}QJMoxS^T)3YTTzE!K{5V)eZcfO`^Kc?PEv-muQ>XF-jkIFkFj*^-&7A`Vk-eZr z?pNL>rcsvWhHhx(AvB@=Sx#lM-@xcUdNXYQor|Z~gvK^G)w#u8liOmPT~tH{>A%jF zjn{wEZExFNstPX^M3m~WI$eP{TqFZ+sJy1YCP9II>)ks!bLq~vEt+l4L2Zl3UCH1x zkCSRDgMM2vlAvEJ=O5>YbB-mO^0EtzLTHhH0&LSl=XGK&KPWf5?GsBm#<tkz#$VmNc$Br;;eKwqpH<~=Fa*>ClMZ64|U}3_STj(}?AN1Ok zJ8MPWcLl7D8jiB$4~^N`PHAB&ejoS)sX9YomYmdFSxm#lA}u-Dl^5o$J#aq*)?ileS0%d3TVsjNt8B~`+A znI0yRrfQrG=6sWsPF*S;(mvvPi)_lLz<(aTOJ|qZgIX%~4;I$ds$-+_biQ*bojuKE zQLzc1BMHT5YJQ<6kpXOc^k4Dn^J=eXCes*0Qe>D#xrg z-`({Ms)&Os-IhX={95fc$4evc9mh>RukGtRuLFNYJZPU;$TKli6kGD5AXL zXbD!@Mp0y~y1qP68u04Dm@kQiHTGW9z3@y(L|vW3+HhB7^4Mwg+7x%I*Lm%<(1qs* zIi)45IASwv!~F$j$w}MMhKHc+OxjSAr*ey7+Bd~*e#{Q%X1|kKX(-omc5JR-S35(< zt@5YvFU|c6TdDdyWD05`3eq-E9WItf#`BIi7oqG{X8$1Cy>C`wn5qcFal$m-;EF zTv#>-XRtju#4~w)(&lOFq@Q7r45e~hDCOwNW-;+5RpnjOPAE@6M=?tX+)hg0GHv?FLvY7c&?F`|}$iZsMdc#Nn6sUlpsTxW4fXw z0mFw+(zVX+OF<%Zgv5(P%j;0NV?|LL6BnE`Zm|WYeUPu!1t%3Nit3iDO|PaW`l*h_ z(K7}u5tl&m1|w20UQ?IJvU1dNtf*_a5;f{rbG+=aqTWo!NK@U2qNIi9dZ!w@Gw1X0 zHc?h^zA{tHSNg{*hhk{AW{5W7mYODPkym(`q128ilVFhEo{b2+3= z^h5!(d?$Jy1P0Ow`5HY5dr3THFhUspc47&1pMBDaCza}hCt~wxxxW+&Cg6syv~xOp zM0E@)sQ^Pq6OXe?>Q=#adkXzHO=%>$!s>L?WJu69+>(&Iqdj5 zW!T8jZL3V7VjLr*Ip4)s4jJxits%BdK_+Bu_>s|DZx3r(XyrQkpx)1^gO!UxQ17jE zKKR3$FAO#^VH4C#kSR0@Dv_i8r(Ghgf$veIY4yikV zPY4(8-?YVrXWX=PPOysHo3>=-$s8MQ#qs%3I{nJZrp)@n)9#thl0IXnx!pY)=9|Zpp}xJHmzg`N4%} z1jpSyJ%=NhM$(Fm%AqgUg5!4hg{hjR~80uly14ZFgQt zb<26>ALxmGs(B?nt9hjwjxieigsGHeUP;klOZDXiV};#~J*P~O6Q$)M*V((_M%bM5 z8gB1D10&N5WY0GD$y*-)zj#!;efL3x_mRxe-dHW*d>_eo-GU3 z40H>ik$(m%SSx0r#M6qHf$kQ$|74&rhYtzi>xcs(OI1&_CdN92{5{7)0Qq}+e7W<# zjaSV#!(PPcxB6g#TgNetN9C${y-?({abhPzKW?vU(2iLw&tpd zC^rU0HWWHgT3a5$^8A{Ocyr9rBjr`6EgPr~;bo!T*f>-wMAeh2*gHom|H}JJ6pxS6 zw2h(~K{{Ea9)o&<9l#V{l7aW4je}hiA_LPP1KmId{QrbON#0Ok`6XW7KGPIYJ5iJ- z<`KDw$(NEWr%bz@K<$62Xn(Q>Ar^d`SfEIiJOEPCcM5J*j0zTJsNhCff$EQNi^u}t zoS4|X)&sey$9t`dlnGHFNqfX^m|^K@Wv}&-a=ugOUOQARHqJZX0&EWwkKG5zJwc~K zi*Ooo$FR~YO5?IxXqx*&)U1gIB=u8E(5rLNfH&$~Cb){R)!tA|ug$T|8diN9b!Le6 zsjk7lG;ZTgd0{!_tvYWNxFshwhrzsCs&7Qu<~9;B9)2G57WNMH0I{QXmx?5iwP&Vs z?kv5Hfa+%&}1|>S>@#6pHOzIJWSkVHTUR{?J=f@#A~!tcWK~A$3I4 z9nH-iHbi(M?jg%p-pNu7SEdgb*HRM{cu#^m7LTZi}Q{cV<192Y~P2nGs$*D980!c+W2JKlje|CWkYk=Ej5$$-;zSf{L+7ta)!%OtCvBoEyuqr zguXthI66w+8S=|u2^cp~;b2gyPO4k{rt3lLX|k`q>n!#9g{H=zbIBFU`yT~0V)9O} zbIJQWI_?y;TxoUZt;TikAMEmz1>5KYvyf?`Y@T^2J5wKs2xj#GmtMX;;7PMze(BIO zbj!;m{mS%SjB`zy%hE`^xK<4#J+o5{f{E zC}XwaNFBGF4D()-B}*>eKwsiv#%74-sqV?Yv`7sGyJa{Q<3NV&AYm zkSV0L%$4#DBCUbx48dYLt9r>=C>DsDD%pEb33p4wAW|JuHv9W8qL^ReIL+nb*)}_sYTfP%HH6L zT(0lMQ*1+AlLsOdZfJoIe{w=;h zEQ0ecYfp@KHO96(6odK)FiI1>baq0nrt{L-v6QJx^*jv0oeER5k_D(+8!tzRgTi9M zCm+RXycDcrO*rask{-coAU=(%*T12x4YhVAD={?a+FV57`P~|1@*Hxf*SY3*Te)pj zDmeZ@OYCJ%EsnY5NGyBPFA*3gCpA4Cc~{h~K-uOjkF=2tQpCH4)QVa}HfxsWQq4EZ z^Q74;lSpW?xkV%oHl)Pa`P`R6Hp8uPzDSztd_FF+tFTBsHquW)xP*kCuBIFET0ixz zKy!<-5O5hyLg`koxEnSaOT6($)8doB)fCiZxu6EJ(0@!cFy_>t*JfF%4(eH|X-e4j z3ytAdol?UXvXFmCV3?fL6!OaTNStGF^FbufB;*m9EFpKP(sw8#|DWce_J{cnN{ zJ}%K0vpA$#l(ALDu;Z3u^_u1`w0jYT(BSfmTuR72k@jxI9i9V9a<}3(Zh9DaniM-x z!b}?%Hy_=&ln}7bED?b&kUM?0M^T~qw`~_&J#SBBHTEq|7xnnMBHS$_L}8XBDNT^r}i2IQD4*nl}uga#k^f4Tq=9}&dE?Jd;7=+%joSp zIzy@K?NerFHd^pOd^JUC(jewVfU|U|Qn%5RI4#(1AIxz~za*`Sr} zSQsdcmPQ6jBmG!`h&&0o@@N6SgRxRtF>F2X?%Yc#lRQ`aiKtcKoUBh35ui^MXq-W^;)f!#ax`+Ly*HeO{`STox z-qTZDw?uBBERRAfP2JYX+~-&<{bC(Hnfq*%*S99s*H<1XH~RY0jvaGD{q%DW`)=zY zi<&-qzv&JSl1OXl00kr?TtyuQ!fgWB&tJIb!wV!Y8U*fH3G zgcE<;Arnjiy@rr*5$)dL!u=}R%p}OUmzJ{LYC!hFhZtv-G#%h7;4=ngZ8W+YE@-Q!8gKK)LqGSH~R zC{46a|B75qXP^G1l&MRpIH(PuPv1IBbwZ@M#I8haI}kq1Q;IkcM|-daO9hc4V(CVD z4QG9=G+bSe5VgkMEIILTZW4&f4{FB$%GFx-W4;-gJkEQ1Z3>O$k?|dTnJM>MC2WVgs|s7=i|tS; z9+d6kI7ZHswoLNP|70s5TL*+q^39^W6Gj%{M!8dM0Bmj(Cxg<2zE8SGFNjd}?e+@q zhSSZgY){3w_INJej<>K$u=jQZ=85*6Mk;3S{R7>(U3-t}miFFCdZM4o-t)^fRHg9K zD00J;nSx9i{WO;G)+h~+()pS?c57?XuRwjzZ|wy$Xn}eKs#H}%Im2ZSKn^wa7T^++5zJIZhAoG=mON}VZPF>cvr9$2|kc_AX63} z$cMv)`+Xo>ct#({oxv({`#@yn$!4YUYmg7*20?{n-KNr#55&vxNf;A10msBKQ6m)_ z6RXJA?wCk*%Q5kn^h7_^n7F{Jk`~i4vltasrvT+%g=~qVqH{On;#FQJi0li|l-cxx z%x@W`JOkr|Dm9Sl*P2WddIjUOKTCFGYdiZv{zb@jDOH!n4|0;$Ux|(ohpjn1 zA*MRyJs##O&Fvj>wU~V&+ai<47ecQ)>kH{|N=#NqG&yHq$YOzAa?*BuA-yQu^o5AN z@A^U_@>sqQmpVRQh$qd#rY|IiP-qsrg(mBNA|g9Own`x)C1qy_$-isMy7n_WL;fz3 zCbNc0WoL-$@~SI_v1ThZt5ykO? zZ0%u_G|W9;bXR_7glB%MT(_}uGZo`n<+;2d-ohrq;(He`Pqg?nQZb9~waC}5#Yc5Z zi|@9v*!KNp;S$0FF&{lBeU?6A2&LXXG6nmZu#w3K6+o;=+Dc;iZR(vW3@`6v)3NgBiaq;e8>aGkL5o_gcneNK4 z@vb@N6kK$Tqduit6a~Y4r5pX-T#aVe-M1)Hml|_19Qn2|wGz?yTxSr4n@=))bfcW6 zOC#hY;=R}d<&g*Mds3o62bGn4NPSvqnpBF7&Fu4wz1Q@5HW$6v@%I~K@;LtJwJC6^ zo1k`1riK#wP!ipW=`Y$fho=|pAe@R!AsC-h)yIMuMJCdRO`^*+Tc4YE>%r zvj%Y%wp1%rYlV?&gLJseAa=Tn5x^(PeiN8Ay8ol5%(ZBwDVE9dLCs|mzeZ3dCgSwk zEGt#5Pp6hE1ulPR%--dc7RHQ){APh!a?*B${5>c;RmdaKSVHbn#wX;SG<#$a2u(1z zfJ{REniPV?ggjg-pE7hWB{ z#n#`?C{vpCXKi3V8c~Z%6eU#L_Hz7bC$C;gq5g315XPw9`tZPzj0KICg|T``hBZ=l z{V0O{Q0i#gT8B#0RCq2I6?moZ_ZcLHc}oQAFmLBd-ir9EN^@B6bnCYIi>;25wE_t_ z^LQR*%Ee=~BcBwmN8_QZs}vfwg_%)nLt#brrYfzM0G*J5OY~vx@0KAcbDv0=i~C{K z!t1?-J6$<9IWl&f$#q^;d_71)o+o zcad*OLnZO1kAl$k_0zS~Kp8c1hUmo>wUSuh87i$W4UL~LtvP3~h&{3Vb4GLP(j_?2 ziqiX@Bfzq0>btrE>#VG-;kOKDx4C4(2UFt7UqsFgo&M%LQjy3vl9KAY#RO8Lr zV~w>-4_#U><9S#6V_&IOtJeAku>?2-w~G9vllF7@&ySO9CzFOD^;xVKroYECOdsOAlf4UhIkf(OEi z7iGExdIZZ>C}vCXCJLdYUyasFV*}Mb#27>>;pD61VrV0$kdppJ-}-XBEJbw7zJYSR zxMqkN!dPyuI>ca4a|<-4jxHd=aiP$8oJ?+&MquOS0-Exok~(~Rh~fnfQ)vTW`P^D@ zL-Z3Ox;6DGNY2PQ2;xwAxZD^&X{$xe`J<)LJ`kmZzKH1MsALOzvj+Dh_EG0(?l{n)cWYegOC_R9tv!$YWScB8lky=VaOfKHgz>_UGV?u)u-)PO#y zHb}^(=2rEMBaPxEeS_t7gG2ZS`JFygCDGraK8(lQuh};*CjgH^&vV~K`-zLaN6*1HrV1!f%n;=Hj{_@CL2!qlP z+mOz{Jqb>_@-Rs;F6xrqa=K7Y5T4;Rr2+J1T-sM3EMXG8iO#}Six>BmhKuE)J_M!0 z>O85EYnxkB$;A75X=ts~Z=0H%l}6T&W4*aKOX?MLWXL3isHfwteR66pnz=QQf{Znw zUQq_F5Uh`10nKN<6`}0uHA-6>{g_F8X+R|3oLi}jFc;V9k&l7m|4*<^)Sn+3o!wCFf_S7kr zM+hui0?tu^I4X)ZG8na0>WRqybCeeUR0{Kk>@l68hO#j26JT> zG-s6SuqVc^C4=n|Vo#Uvpw^n|*vLS!wh;BvhxYgB7win z2bi)Yfarqnq#pSh0-;t=f=sPA!qW;7O*IvNkxF4sSTW{bCfvS8;HU)v#}Rn{E&#U? z_;vx{`vlJ36W{^@@7^2W76O|u2H1kY%a#BfMPS1|0GAW^SP#G*1Qsj>*oDAndI9bx zFt!ZfQUWLM3vfDtpC1D73j!lY0@Mk-_vHW|ATaNEfNcmId;-8r32b#D!1e?#I|<+_ z0@tkucng7nlL5*EX1)?&E`i4gJVjvL8302BZax>_Jp^t$AK;?|_Pq$;AOd%+0r)I| zs|EmGM_}_ofGr5j9s!t7Kq%UKt9beefe^nbK_-5`JkIYZmU2o+VwFzuoG@da|Az4U zJ%Jlu1#mNgZ`T2SK;W1LzzGC?P2gDqPp=2~ErI3+fVUF3ZX>{32=rbGZ~%dx%K`Qy z@J#}b5D>%8gER{Ll0b+qlpqsbPL0!r!qZ^EHnWa((l%D+oMtJ;0*`PJ0``IRw5!;2{D(dpp3B1TMH4pr63E2z-ygLGJ=s zPT-U80l1UEqW=fbL*O5`08D#7!1f;i*oD9*0&ga8_=f;qPT+GN0l1IAvfBX;B=GT% z0ep(UWgiE44S{C~JWrs02f!r+uKP5=^#p{O^H+M>;WGds%2R?&lwT2-L9t|zriyu8 zL2kSxoS5nh39}^x*53(m8G)_t2H2j!|1A%+)2e_ZW@4f`^ z9D&`w3a}@El@9_OLtyZ003!sxLEsSr2R{U`g21~7+(Kab!vJ##Tuk6q1inq+`vm5E z17J%6FaIXMD+pZrEr3@OD195CLg19|0GvVK+V29qiNKmi0M-#$@jZZ*1QvWBU>5?v zC-5f%5B>n)8wB3}Lx9@|9P=Z969~-y3BY^;PY`&Tz}-Iu_yU2x#{dQhOnn?+CV^X? z0Qew*-JS&4lfVa`2DqKTYkvjs1_I~*8lXtv;NJkel)#R^1?VDhJ%Jkt%zqYOI|8pI z@CE|Hg#P0n@U-P00YXwn2{K99QE@3lsA#$4B2ChwgsP7dZY*tGgy9|pRzDAL8UbPW zzwFO=I-fuYe@c)Ef6oX8Z;F^*rJ=9VDeMU|#=b)MRSBH;cYuos-1QHD`v`RX3t&$I z-z4w|f%B)(bcDbwrUINuVEQzGIRvgIa4mr!ZU*o(0%uPLxPZX_61anam=OJl=0`6Q z2vLX_uSF763g2&YurZByjjP052!7 z!?pms5;(sLph)2EMF3wQASQqN(_HXm0-;t@f=sRU><^AysKR-b)_Oa&q5@&bRJed} z?I$pQAAs!$+(Y1t1V(xQ8U%J*3a}S}uM_w#fh&6ft|8F74B$WlKPB)afj939Fizlz z{Q!<4@H+y}6L|Oj0PiQT`T&5_3H+15^aBAtO5pzpTzC+`0D=8za(xH^F}eN;J^htH zh|-iG6Qw;CLVdI(f@r3gkep1>mhfWQ&N>9x%_FdUIl#*Z)Lsg(fq-xf%phmM9t1+I zpahv(;n5?FGHwGLEvC+Y?Zy>PODFBNJeCL$_KOnIF z41miB?06PH7lF^74R9}k-g5vBAh5>;0E-BG@j`$H2&}ybV2Hq@1b#-~*Zly`68P#` zfQJceR|eRLz^5tzpCfSg5Ws~59wP890&_GSmTV*(*Q zP=ZW+I59rL!kavXP_&n3VuO`fae;7TF8rD>eU`xc8UVKv*m(?KcLM)K;OzwFtOwYV zfN-6a$dmS30-;t?f=sRS*b(a+7t@8va1N*FfheJB9pT2UyPhz-fxzo71GtXB?=J`V z6M+Y>0Qd%h_g@Kc8-Xid4RAGqmtF;MBmr^}Rw$sVSfmTKm{##JwfL|&Uo*z>P|Z{k zUa{?TA!@BGAuzHDpibb7>j2IpFyoB?a|pcetpK+YD2xN_O<j~WR2*CXWmiz=@8G+M&3UD@or9T7MpTJFz z0lbUAtv?6&2!Yo;4)A&cdp-%!P2e8{rac94&C>vz2z>gt0Cy4i(z5^$5;*ZWfL9Xu z)}H{rN8rC-0C+EfJ^u#KO<>_vh}{wbk4*#k1%c}~1Gs^}fztsFBe4HWfJ6Sj>h3=# z>N<|&cm`qzh~hlWFgs^4@-!sPbf^;uf3c7eOmtHe?j*ikIHR+vOIqo&c5Z3lmX6I* z5-qgMnbx$a8IE*l{+dvZG}BsUMUl(qdOg2)-vhi5v%mW1vGM(WzTYqRxzF9c_kF*< z-w&LICOCPIXoTf9@hT)lis29+Eu2sf4RAO{90gA=u@Kz7MG4qrMI0Q0dRT848(>F& zu^Zy=6;4<*KrDsc_X|6mA0#fpPKVe7KMoeZz`h~kApG=@Xn{cqVhE%R6_em;rznL6 zI0d7JiE&T`8zFqSh=dYY2w%b(h)fi{Aa#V83`>$kIk+Dc24syCxv+ASSOo=-i6R&` zTBJa~$3-0c48KGD7|{Tm#)>U4DOqHIZM=wq3ve0sP7ntmf1+?fw^R`U8`DG$#62M# zP(4L#h4QIlIn10U=D^4dF$U~Uiu+&{tbwTMA{NSF1teyPQIMZ4T#%C^WpT+an6#>O%1wtS%F4VWL;0L*61W8|FSQ+)%k#tb;`_h^3IVOyol4O0f=F*NE$| zpi+3@fwkg6IPj*Z1J`;{3=vf#8kRsgl)fd(p!Y^$haH>5ZiufIPRQCUa$!o1$b@Tf z18TO2S~&ZjI0v!YL_et6F1A75`(idk?-a4{+Ai@r+<>r;#EW~x3YhkZ$bx-v5WM@u z64<|Ad=A|Xi3rH46SE-vu&_bjFT?=&^{Ds*CL9xK(0p86gqKc;mCy=*!8<3#yKwQ0 z_yJxyD}3;9lSqUrcpK`z7DwRIbK*1jpjqsKf#=0wXoc%=?1DH2TfY_Cq3ELUz|il+ z2xx?6sJ$e1fa|g-hOgio$oXE(gd=bqoL58=G(j^k2ctQaq`~wE=0pz$PgFJ^18wlE zJ%eZQ89ZUgd@Pc|o#zI3rW@R&WZqWg_4RCD1~<#GJqwFfOsAf!60Ls;X$PyFzwX<9 ziNBqS-YT0vQ?S4jtgM?&``)xL*xJ@%k2dS5=0<%w>|eo^XP+Y}W50P{fi-veB9+A` zRPm8}m3&c!3p^fwU0Zpa9%+H)Z>Su*q9R+l0$narLP5W&%2Yt-fC(y##*{5CQw+gc z+!hTAlt(+>6yHC$RJR1^Ac|Y6GOpl`{}kFv4tBb}EvmQo&wrC545Z{f)<(CCN_7vU ze!_g=W~AQNJv}>nx?Z)Fp)$sXDIG>wz+I6MMm={o|45vXpyizFD#}I^CBGEPGWKX? z#~N$Ljz~^b?4iVAMj#xTwZcDTrZPQ_d5!`_ZAu&*DcRv|>o2duM)X)Pe)^yG(bl17 z@1#Rd-)@KAZFOjm87bMBQ!^(M3NbseTd;3^8KI}**2TT9etQJlWe2Vrnv+3w_TDI- z(dApy=@<+o_&Z(S)}^g?(xol8+ojeRHBM-YU?&F($Ec31Cft3EAr8P*oM4g8n$j< tpWyWz>&w>s(vJ!*HUmdd#ifNFuZw_F5s|7$7ZE-4Tec$8|C{`gzX4cc>cap4 diff --git a/docs/build/html/.doctrees/environment.pickle b/docs/build/html/.doctrees/environment.pickle index b014c2492533155e5e9e57525e3e289a49557d77..403ef47bdfc3bee13cb4388d2d7c8dd9290d835d 100644 GIT binary patch delta 25811 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 delta 24072 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 nRK5+dmbtL>B>w)Source code for spatialpy.core.domain

    + geometry = action['geometry'] + indices = [v_ndx for v_ndx, vertex in enumerate(self.vertices) if geometry.inside(vertex, on_boundary[v_ndx])] + indices.reverse() + for v_ndx in indices: + self.vertices = numpy.delete(self.vertices, v_ndx, 0) + self.type_id = numpy.delete(self.type_id, v_ndx, 0) + self.vol = numpy.delete(self.vol, v_ndx) + self.mass = numpy.delete(self.mass, v_ndx) + self.rho = numpy.delete(self.rho, v_ndx) + self.nu = numpy.delete(self.nu, v_ndx) + self.c = numpy.delete(self.c, v_ndx) + self.fixed = numpy.delete(self.fixed, v_ndx) + self.on_boundary = numpy.delete(self.on_boundary, v_ndx)
    [docs] def apply_set_action(self, action): """ @@ -569,7 +571,7 @@

    Source code for spatialpy.core.domain

                     min_vtx = i
             return min_vtx
    -
    [docs] def compile_prep(self): +
    [docs] def compile_prep(self, allow_all_types=False): """ Generate the domains list of type ids and check for invalid type_ids and rho values in preperation of compiling the simulation files. @@ -578,8 +580,9 @@

    Source code for spatialpy.core.domain

             """
             self.apply_actions()
     
    -        if self.type_id.tolist().count("type_UnAssigned") > 0:
    -            raise DomainError("Particles must be assigned a type_id.")
    +        if not allow_all_types:
    +            if self.type_id.tolist().count("type_UnAssigned") > 0:
    +                raise DomainError("Particles must be assigned a type_id.")
             if numpy.count_nonzero(self.rho) < len(self.rho):
                 raise DomainError("Rho must be a positive value.")
     
    diff --git a/docs/build/html/_modules/spatialpy/core/lattice.html b/docs/build/html/_modules/spatialpy/core/lattice.html
    index ef1dcc76..b5654470 100644
    --- a/docs/build/html/_modules/spatialpy/core/lattice.html
    +++ b/docs/build/html/_modules/spatialpy/core/lattice.html
    @@ -253,8 +253,9 @@ 

    Source code for spatialpy.core.lattice

                 count += 1
             return count
     
    -    def __generate_z(self, domain, geometry, transform, x, y, count, kwargs):
    +    def __generate_z(self, domain, geometry, transform, x, y, count, z_digits, kwargs):
             for z in numpy.arange(self.zmin, self.zmax + self.deltaz, self.deltaz):
    +            z = round(z, z_digits)
                 count = self.__add_point(domain, geometry, transform, [x, y, z], count, kwargs)
             return count
     
    @@ -285,14 +286,31 @@ 

    Source code for spatialpy.core.lattice

             if transform is not None and not callable(transform):
                 raise LatticeError("transform must be a function.")
     
    +        x_digits = max(
    +            len(str(self.deltax).split(".")[1]) if "." in str(self.deltax) else 0,
    +            len(str(self.xmin).split(".")[1]) if "." in str(self.xmin) else 0,
    +            len(str(self.xmax).split(".")[1]) if "." in str(self.xmax) else 0
    +        )
    +        y_digits = max(
    +            len(str(self.deltay).split(".")[1]) if "." in str(self.deltay) else 0,
    +            len(str(self.ymin).split(".")[1]) if "." in str(self.ymin) else 0,
    +            len(str(self.ymax).split(".")[1]) if "." in str(self.ymax) else 0
    +        )
    +        z_digits = max(
    +            len(str(self.deltaz).split(".")[1]) if "." in str(self.deltaz) else 0,
    +            len(str(self.zmin).split(".")[1]) if "." in str(self.zmin) else 0,
    +            len(str(self.zmax).split(".")[1]) if "." in str(self.zmax) else 0
    +        )
             count = 0
             for x in numpy.arange(self.xmin, self.xmax + self.deltax, self.deltax):
    +            x = round(x, x_digits)
                 for y in numpy.arange(self.ymin, self.ymax + self.deltay, self.deltay):
    +                y = round(y, y_digits)
                     if self.deltaz == 0:
                         z = self.center[2]
                         count = self.__add_point(domain, geometry, transform, [x, y, z], count, kwargs)
                     else:
    -                    count = self.__generate_z(domain, geometry, transform, x, y, count, kwargs)
    +                    count = self.__generate_z(domain, geometry, transform, x, y, count, z_digits, kwargs)
             self._update_limits(domain)
             if 'vol' not in kwargs:
                 offset = len(domain.vertices) - count
    @@ -403,38 +421,48 @@ 

    Source code for spatialpy.core.lattice

             if transform is not None and not callable(transform):
                 raise LatticeError("transform must be a function.")
     
    +        digits = max(
    +            len(str(self.deltar).split(".")[1]) if "." in str(self.deltar) else 0,
    +            len(str(self.radius).split(".")[1]) if "." in str(self.radius) else 0
    +        )
             count = 0
             radius = self.radius
             while radius > 0:
                 # Calculate the approximate number of particle with the radius
                 approx_rc = int(round((4 * radius ** 2) / ((self.deltas / 2) ** 2)))
     
    -            # Set constants for the radius
    -            p_area = 4 * numpy.pi * radius ** 2 / approx_rc
    -            d_a = numpy.sqrt(p_area)
    -            m_phi = int(round(numpy.pi * radius / d_a))
    -            d_phi = numpy.pi / m_phi
    -            d_theta = p_area / d_phi
    -
    -            for mphi in range(m_phi):
    -                phi = numpy.pi * (mphi + 0.5) / m_phi
    -                m_theta = int(round(2 * numpy.pi * numpy.sin(phi) / d_phi))
    -
    -                for mtheta in range(m_theta):
    -                    theta = 2 * numpy.pi * mtheta / m_theta
    -                    x = radius * numpy.cos(theta) * numpy.sin(phi)
    -                    y = radius * numpy.sin(theta) * numpy.sin(phi)
    -                    z = radius * numpy.cos(phi)
    -                    if geometry.inside((x, y, z), False):
    -                        if transform is None:
    -                            point = [x, y, z]
    -                        else:
    -                            point = transform([x, y, z])
    -                        if not isinstance(point, numpy.ndarray):
    -                            point = numpy.array(point)
    -                        domain.add_point(point + self.center, **kwargs)
    -                        count += 1
    -            radius -= self.deltar
    +            if approx_rc == 0:
    +                from spatialpy.core import log # pylint: disable=import-outside-toplevel
    +                msg = f"Approximation of particles for the layer at radius {radius} is 0. "
    +                msg += "Consider increasing the radius or increasing the radial spacing (deltas)"
    +                log.warning(msg)
    +            else:
    +                # Set constants for the radius
    +                p_area = 4 * numpy.pi * radius ** 2 / approx_rc
    +                d_a = numpy.sqrt(p_area)
    +                m_phi = int(round(numpy.pi * radius / d_a))
    +                d_phi = numpy.pi / m_phi
    +                d_theta = p_area / d_phi
    +
    +                for mphi in range(m_phi):
    +                    phi = numpy.pi * (mphi + 0.5) / m_phi
    +                    m_theta = int(round(2 * numpy.pi * numpy.sin(phi) / d_phi))
    +
    +                    for mtheta in range(m_theta):
    +                        theta = 2 * numpy.pi * mtheta / m_theta
    +                        x = radius * numpy.cos(theta) * numpy.sin(phi)
    +                        y = radius * numpy.sin(theta) * numpy.sin(phi)
    +                        z = radius * numpy.cos(phi)
    +                        if geometry.inside((x, y, z), False):
    +                            if transform is None:
    +                                point = [x, y, z]
    +                            else:
    +                                point = transform([x, y, z])
    +                            if not isinstance(point, numpy.ndarray):
    +                                point = numpy.array(point)
    +                            domain.add_point(point + self.center, **kwargs)
    +                            count += 1
    +            radius = round(radius - self.deltar, digits)
             if radius == 0 and geometry.inside((0, 0, 0), False):
                 point = [0, 0, 0] if transform is None else transform([0, 0, 0])
                 if not isinstance(point, numpy.ndarray):
    @@ -534,6 +562,10 @@ 

    Source code for spatialpy.core.lattice

             if transform is not None and not callable(transform):
                 raise LatticeError("transform must be a function.")
     
    +        digits = max(
    +            len(str(self.deltar).split(".")[1]) if "." in str(self.deltar) else 0,
    +            len(str(self.radius).split(".")[1]) if "." in str(self.radius) else 0
    +        )
             count = 0
             h_len = self.length / 2
             xmin = -h_len
    @@ -543,28 +575,34 @@ 

    Source code for spatialpy.core.lattice

                 # Calculate the approximate number of particle with the radius
                 approx_rc = int(round((2 * radius * self.length) / ((self.deltas / 2) ** 2)))
     
    -            p_area = 2 * numpy.pi * radius * self.length / approx_rc
    -            d_a = numpy.sqrt(p_area)
    -            m_theta = int(round(2 * numpy.pi * radius / d_a))
    -            d_theta = 2 * numpy.pi / m_theta
    -
    -            x = xmin
    -            while x <= xmax:
    -                for mtheta in range(m_theta):
    -                    theta = 2 * numpy.pi * (mtheta + 0.5) / m_theta
    -                    y = radius * numpy.cos(theta)
    -                    z = radius * numpy.sin(theta)
    -                    if geometry.inside((x, y, z), False):
    -                        if transform is None:
    -                            point = [x, y, z]
    -                        else:
    -                            point = transform([x, y, z])
    -                        if not isinstance(point, numpy.ndarray):
    -                            point = numpy.array(point)
    -                        domain.add_point(point + self.center, **kwargs)
    -                        count += 1
    -                x += self.deltas
    -            radius -= self.deltar
    +            if approx_rc == 0:
    +                from spatialpy.core import log # pylint: disable=import-outside-toplevel
    +                msg = f"Approximation of particles for the layer at radius {radius} is 0. "
    +                msg += "Consider increasing the radius or increasing the radial spacing (deltas)"
    +                log.warning(msg)
    +            else:
    +                p_area = 2 * numpy.pi * radius * self.length / approx_rc
    +                d_a = numpy.sqrt(p_area)
    +                m_theta = int(round(2 * numpy.pi * radius / d_a))
    +                d_theta = 2 * numpy.pi / m_theta
    +
    +                x = xmin
    +                while x <= xmax:
    +                    for mtheta in range(m_theta):
    +                        theta = 2 * numpy.pi * (mtheta + 0.5) / m_theta
    +                        y = radius * numpy.cos(theta)
    +                        z = radius * numpy.sin(theta)
    +                        if geometry.inside((x, y, z), False):
    +                            if transform is None:
    +                                point = [x, y, z]
    +                            else:
    +                                point = transform([x, y, z])
    +                            if not isinstance(point, numpy.ndarray):
    +                                point = numpy.array(point)
    +                            domain.add_point(point + self.center, **kwargs)
    +                            count += 1
    +                    x += self.deltas
    +            radius = round(radius - self.deltar, digits)
             if radius == 0:
                 x = xmin
                 while x <= xmax:
    diff --git a/docs/build/html/_modules/spatialpy/core/model.html b/docs/build/html/_modules/spatialpy/core/model.html
    index 8862cfa0..85054149 100644
    --- a/docs/build/html/_modules/spatialpy/core/model.html
    +++ b/docs/build/html/_modules/spatialpy/core/model.html
    @@ -542,7 +542,7 @@ 

    Source code for spatialpy.core.model

                 return self.get_data_function(name)
             raise ModelError(f"{self.name} does not contain an element named {name}.")
    -
    [docs] def add_domain(self, domain): +
    [docs] def add_domain(self, domain, allow_all_types=False): """ Add a spatial domain to the model @@ -556,7 +556,7 @@

    Source code for spatialpy.core.model

                     "Unexpected parameter for add_domain. Parameter must be of type SpatialPy.Domain."
                 )
     
    -        domain.compile_prep()
    +        domain.compile_prep(allow_all_types=allow_all_types)
             self.domain = domain
             return domain
    @@ -861,7 +861,7 @@

    Source code for spatialpy.core.model

             self.listOfReactions.clear()
             self._listOfReactions.clear()
    -
    [docs] def get_reaction(self, rname): +
    [docs] def get_reaction(self, name): """ Returns a reaction object by name. @@ -1074,7 +1074,7 @@

    Source code for spatialpy.core.model

             else:
                 self.tspan = TimeSpan(time_span, timestep_size=timestep_size)
    -
    [docs] def compile_prep(self): +
    [docs] def compile_prep(self, allow_all_types=False): """ Make sure all paramters are evaluated to scalars, update the models diffusion restrictions, create the models expression utility, and generate the domain list of type ids in preperation @@ -1092,7 +1092,7 @@

    Source code for spatialpy.core.model

     
             if self.domain is None:
                 raise ModelError("The model's domain is not set.  Use 'add_domain()'.")
    -        self.domain.compile_prep()
    +        self.domain.compile_prep(allow_all_types=allow_all_types)
             
             self.__update_diffusion_restrictions()
             self.__apply_initial_conditions()
    diff --git a/docs/build/html/classes/spatialpy.core.html b/docs/build/html/classes/spatialpy.core.html
    index cc0c1571..6e40f757 100644
    --- a/docs/build/html/classes/spatialpy.core.html
    +++ b/docs/build/html/classes/spatialpy.core.html
    @@ -450,7 +450,7 @@ 

    Submodules
    -compile_prep()[source]
    +compile_prep(allow_all_types=False)[source]

    Generate the domains list of type ids and check for invalid type_ids and rho values in preperation of compiling the simulation files.

    @@ -1537,7 +1537,7 @@

    Submodules
    -add_domain(domain)[source]
    +add_domain(domain, allow_all_types=False)[source]

    Add a spatial domain to the model

    Parameters:
    @@ -1631,7 +1631,7 @@

    Submodules
    -compile_prep()[source]
    +compile_prep(allow_all_types=False)[source]

    Make sure all paramters are evaluated to scalars, update the models diffusion restrictions, create the models expression utility, and generate the domain list of type ids in preperation of compiling the simulation files.

    @@ -1933,7 +1933,7 @@

    Submodules
    -get_reaction(rname)[source]
    +get_reaction(name)[source]

    Returns a reaction object by name.

    Parameters:
    @@ -3779,7 +3779,7 @@

    Submodules
    -compile_prep()[source]
    +compile_prep(allow_all_types=False)[source]

    Generate the domains list of type ids and check for invalid type_ids and rho values in preperation of compiling the simulation files.

    @@ -4489,7 +4489,7 @@

    Submodules
    -add_domain(domain)[source]
    +add_domain(domain, allow_all_types=False)[source]

    Add a spatial domain to the model

    Parameters:
    @@ -4583,7 +4583,7 @@

    Submodules
    -compile_prep()[source]
    +compile_prep(allow_all_types=False)[source]

    Make sure all paramters are evaluated to scalars, update the models diffusion restrictions, create the models expression utility, and generate the domain list of type ids in preperation of compiling the simulation files.

    @@ -4885,7 +4885,7 @@

    Submodules
    -get_reaction(rname)[source]
    +get_reaction(name)[source]

    Returns a reaction object by name.

    Parameters:
    diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index ae1c6939..1fbae23b 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["classes/spatialpy", "classes/spatialpy.core", "classes/spatialpy.solvers", "classes/spatialpy.stochss", "index"], "filenames": ["classes/spatialpy.rst", "classes/spatialpy.core.rst", "classes/spatialpy.solvers.rst", "classes/spatialpy.stochss.rst", "index.rst"], "titles": ["spatialpy package", "spatialpy.core package", "spatialpy.solvers package", "spatialpy.stochss package", "Documentation for SpatialPy 1.2.0"], "terms": {"core": [0, 2, 3, 4], "submodul": 0, "boundarycondit": 0, "express": [0, 1, 2], "cleanup": 0, "cleanup_build_fil": [0, 1], "cleanup_core_fil": [0, 1], "cleanup_result_fil": [0, 1], "cleanup_tempfil": [0, 1], "datafunct": 0, "map": [0, 1, 2], "domain": [0, 4], "add_fill_act": [0, 1], "add_point": [0, 1], "add_remove_act": [0, 1], "add_set_act": [0, 1], "apply_act": [0, 1], "apply_fill_act": [0, 1], "apply_remove_act": [0, 1], "apply_set_act": [0, 1], "calculate_vol": [0, 1], "closest_vertex": [0, 1], "compile_prep": [0, 1], "coordin": [0, 1], "create_2d_domain": [0, 1], "create_3d_domain": [0, 1], "distance_between_2_vertic": [0, 1], "fill_with_particl": [0, 1], "find_boundary_point": [0, 1], "find_h": [0, 1], "get_bounding_box": [0, 1], "get_domain_s": [0, 1], "get_num_voxel": [0, 1], "get_type_def": [0, 1], "get_vol": [0, 1], "import_meshio_object": [0, 1], "plot_typ": [0, 1], "preview_act": [0, 1], "read_msh_fil": [0, 1], "read_stochss_domain": [0, 1], "read_stochss_subdomain_fil": [0, 1], "read_xml_mesh": [0, 1], "set_properti": [0, 1], "validate_act": [0, 1], "geometri": 0, "combinatorygeometri": [0, 1], "insid": [0, 1], "valid": [0, 1, 2], "geometryal": [0, 1], "geometryexterior": [0, 1], "geometryinterior": [0, 1], "initialcondit": 0, "appli": [0, 1], "placeinitialcondit": [0, 1], "scatterinitialcondit": [0, 1], "uniforminitialcondit": [0, 1], "lattic": 0, "cartesianlattic": [0, 1], "cylindricallattic": [0, 1], "meshiolattic": [0, 1], "sphericallattic": [0, 1], "stochsslattic": [0, 1], "xmlmeshlattic": [0, 1], "model": [0, 2, 3, 4], "add": [0, 1, 2], "add_boundary_condit": [0, 1], "add_data_funct": [0, 1], "add_domain": [0, 1], "add_initial_condit": [0, 1], "add_paramet": [0, 1], "add_react": [0, 1], "add_speci": [0, 1], "delete_all_boundary_condit": [0, 1], "delete_all_data_funct": [0, 1], "delete_all_initial_condit": [0, 1], "delete_all_paramet": [0, 1], "delete_all_react": [0, 1], "delete_all_speci": [0, 1], "delete_boundary_condit": [0, 1], "delete_data_funct": [0, 1], "delete_initial_condit": [0, 1], "delete_paramet": [0, 1], "delete_react": [0, 1], "delete_speci": [0, 1], "get_all_boundary_condit": [0, 1], "get_all_data_funct": [0, 1], "get_all_initial_condit": [0, 1], "get_all_paramet": [0, 1], "get_all_react": [0, 1], "get_all_speci": [0, 1], "get_data_funct": [0, 1], "get_el": [0, 1], "get_num_react": [0, 1], "get_num_speci": [0, 1], "get_paramet": [0, 1], "get_react": [0, 1], "get_speci": [0, 1], "reserved_nam": [0, 1], "run": [0, 1, 2], "sanitized_data_function_nam": [0, 1], "sanitized_parameter_nam": [0, 1], "sanitized_species_nam": [0, 1], "set_timestep": [0, 1], "special_charact": [0, 1], "timespan": 0, "update_namespac": [0, 1], "export_stochss": [0, 1], "paramet": [0, 2, 3], "reaction": [0, 4], "add_product": [0, 1], "annot": [0, 1], "from_json": [0, 1], "initi": [0, 1], "sanitized_propensity_funct": [0, 1], "set_annot": [0, 1], "set_propens": [0, 1], "set_rat": [0, 1], "to_dict": [0, 1], "result": [0, 2], "export_to_csv": [0, 1], "get_properti": [0, 1], "get_timespan": [0, 1], "plot_properti": [0, 1], "plot_speci": [0, 1], "read_step": [0, 1], "spatialpyerror": 0, "boundaryconditionerror": [0, 1], "datafunctionerror": [0, 1], "domainerror": [0, 1], "geometryerror": [0, 1], "initialconditionerror": [0, 1], "latticeerror": [0, 1], "modelerror": [0, 1], "parametererror": [0, 1], "reactionerror": [0, 1], "resulterror": [0, 1], "simulationerror": [0, 1, 2], "simulationtimeout": [0, 1, 2], "specieserror": [0, 1], "timespanerror": [0, 1], "transformationerror": [0, 1], "vtkreadererror": [0, 1], "vtkreaderioerror": [0, 1], "visualizationerror": [0, 1], "speci": 0, "set_diffusion_coeffici": [0, 1], "arang": [0, 1], "linspac": [0, 1], "transform": 0, "reflectiontransform": [0, 1], "reverse_transform": [0, 1], "rotationtransform": [0, 1], "scalingtransform": [0, 1], "translationtransform": [0, 1], "visual": 0, "mpl_height": [0, 1], "mpl_size": [0, 1], "mpl_width": [0, 1], "plot_scatt": [0, 1], "vtkreader": 0, "get_array_nam": [0, 1], "get_arrai": [0, 1], "get_num_point": [0, 1], "get_point": [0, 1], "read_fil": [0, 1], "set_filenam": [0, 1], "solver": [0, 1, 4], "build_express": 0, "buildexpress": [0, 2], "validationvisitor": [0, 2], "getexpr_cpp": [0, 2], "getexpr_python": [0, 2], "map_oper": [0, 2], "operator_map": [0, 2], "with_blacklist": [0, 2], "with_namespac": [0, 2], "cppconvert": [0, 2], "cppexpressiontransform": [0, 2], "get_str": [0, 2], "visit_and": [0, 2], "visit_or": [0, 2], "expressionconvert": [0, 2], "convert_str": [0, 2], "parse_comparison": [0, 2], "parse_log": [0, 2], "parse_oper": [0, 2], "visit_add": [0, 2], "visit_binop": [0, 2], "visit_boolop": [0, 2], "visit_byt": [0, 2], "visit_cal": [0, 2], "visit_compar": [0, 2], "visit_const": [0, 2], "visit_div": [0, 2], "visit_ellipsi": [0, 2], "visit_eq": [0, 2], "visit_gt": [0, 2], "visit_lt": [0, 2], "visit_mult": [0, 2], "visit_nam": [0, 2], "visit_nameconst": [0, 2], "visit_noteq": [0, 2], "visit_num": [0, 2], "visit_pow": [0, 2], "visit_str": [0, 2], "visit_sub": [0, 2], "visit_usub": [0, 2], "visit_unaryop": [0, 2], "expressionresult": [0, 2], "pythonconvert": [0, 2], "compil": [0, 1, 2], "stochss": [0, 1, 4], "stochss_export": 0, "export": [0, 1, 3], "class": [1, 2], "xmin": 1, "none": [1, 2, 3], "xmax": 1, "ymin": 1, "ymax": 1, "zmin": 1, "zmax": 1, "type_id": 1, "determinist": [1, 4], "true": [1, 2, 3], "target": [1, 2], "valu": [1, 2], "sourc": [1, 2, 3, 4], "base": [1, 2, 4], "object": [1, 2], "set": [1, 2], "spatial": [1, 2, 4], "region": 1, "where": 1, "properti": [1, 2], "particl": [1, 4], "ar": [1, 2], "held": 1, "constant": [1, 2], "updat": 1, "each": 1, "simul": [1, 2, 4], "step": 1, "condit": [1, 2], "one": [1, 2], "more": [1, 2, 4], "follow": [1, 2], "must": 1, "float": 1, "min": 1, "max": 1, "x": 1, "dimens": 1, "y": 1, "z": 1, "type": [1, 2, 3], "subdomain": 1, "partcil": 1, "str": [1, 2, 3], "nu": 1, "rho": 1, "v": 1, "name": [1, 2], "chemic": 1, "also": [1, 2, 4], "fals": [1, 2, 3], "flag": [1, 2], "axi": 1, "lower": 1, "bound": 1, "upper": 1, "int": [1, 2], "id": 1, "bool": [1, 2, 3], "i": [1, 2, 3, 4], "boundari": 1, "yet": 1, "implemenet": 1, "stochast": [1, 4], "can": [1, 2, 4], "If": [1, 2, 4], "determinst": 1, "3": [1, 4], "take": 1, "defin": [1, 2], "creat": [1, 2], "evalu": 1, "string": [1, 2], "return": [1, 2, 3], "A": [1, 2, 4], "represent": [1, 2], "build_dir": 1, "all": [1, 2], "spatialpy_build": 1, "directori": 1, "path": [1, 3], "build": [1, 2, 4], "remov": 1, "option": 1, "tempfil": 1, "result_dir": 1, "spatialpy_result": 1, "abstract": [1, 2], "us": [1, 2, 4], "constuct": 1, "data": [1, 2], "function": [1, 2], "rais": [1, 2], "provid": [1, 2, 4], "point": 1, "thi": [1, 2, 4], "method": [1, 2], "overridden": 1, "subclass": [1, 2], "note": [1, 2], "The": [1, 2, 4], "locat": 1, "evaul": 1, "t": [1, 2], "0": [1, 2], "re": 1, "fluid": [1, 4], "move": 1, "over": 1, "time": [1, 2], "posit": 1, "numpoint": 1, "xlim": 1, "ylim": 1, "zlim": 1, "rho0": 1, "1": [1, 2], "c0": 1, "10": 1, "p0": 1, "graviti": [1, 4], "action": 1, "attribut": 1, "space": 1, "total": 1, "number": [1, 2], "2": 1, "rang": 1, "along": 1, "background": 1, "densiti": 1, "system": [1, 4], "speed": 1, "sound": 1, "pressur": 1, "acceler": 1, "cartesian": 1, "spheric": 1, "cylindr": 1, "enabl": 1, "prop": 1, "an": [1, 2, 4], "when": [1, 2], "fill": [1, 4], "default": 1, "dict": [1, 2, 3], "argument": 1, "ignor": 1, "indic": [1, 2], "els": [1, 3], "addit": [1, 2], "pass": [1, 2], "ad": [1, 2], "wasn": 1, "could": [1, 2], "construct": 1, "vol": 1, "mass": 1, "unassign": 1, "fix": 1, "c": [1, 2], "singl": [1, 2], "vertic": 1, "volum": 1, "cradded": 1, "viscos": 1, "artifici": 1, "contain": [1, 2], "invalid": [1, 2], "charact": 1, "from": [1, 2], "start": [1, 2, 4], "end": 1, "preserve_act": 1, "order": 1, "index": [1, 4], "inclus": 1, "exclus": 1, "after": 1, "its": 1, "support": [1, 4], "within": 1, "have": 1, "exampl": 1, "lattice_obj": 1, "geometry_obj": 1, "miss": 1, "calcul": 1, "find": [1, 4], "nearest": 1, "vertex": 1, "given": [1, 2], "gener": [1, 4], "list": [1, 2], "check": [1, 2], "preper": 1, "file": [1, 3], "get": [1, 2], "numpi": 1, "arrai": 1, "classmethod": [1, 2], "numx": 1, "numi": 1, "kwarg": 1, "2d": 1, "highest": 1, "lowest": 1, "keyword": 1, "uniform": 1, "numz": 1, "3d": [1, 4], "distanc": 1, "between": [1, 2], "measur": 1, "geometry_ivar": 1, "deltax": 1, "deltai": 1, "deltaz": 1, "geometr": 1, "shape": 1, "instanc": [1, 2], "minimum": 1, "box": 1, "maximum": [1, 2], "were": [1, 2], "exist": 1, "np": 1, "ndarrai": 1, "dtype": 1, "h": 1, "off": 1, "which": [1, 2], "ha": [1, 4], "greatest": 1, "neighbor": 1, "entir": 1, "limit": 1, "tupl": 1, "estim": 1, "size": 1, "averag": 1, "diamet": 1, "circumradiu": 1, "tetrahedron": 1, "part": 1, "mean": 1, "incid": 1, "cell": 1, "voxel": 1, "definit": 1, "mesh_obj": 1, "subdomain_fil": 1, "import": 1, "python": [1, 2, 4], "meshio": 1, "mesh": 1, "v1": 1, "descript": 1, "filenam": [1, 3], "indeci": 1, "width": 1, "height": 1, "colormap": 1, "titl": 1, "included_types_list": 1, "use_matplotlib": 1, "return_plotly_figur": 1, "plot": 1, "plotli": 1, "onli": [1, 2], "view": 1, "jupyt": 1, "notebook": [1, 4], "pixel": 1, "output": [1, 2], "matplotlib": 1, "inch": 1, "500": 1, "specif": 1, "plotly3": 1, "jet": 1, "blue": 1, "ylorrd": 1, "purd": 1, "bugn": 1, "ylorbr": 1, "pubugn": 1, "bupu": 1, "ylgnbu": 1, "pubu": 1, "gnbu": 1, "ylgn": 1, "green": 1, "red": 1, "grei": 1, "rdpu": 1, "orrd": 1, "purpl": 1, "orang": 1, "graph": 1, "describ": [1, 4], "includ": 1, "By": [1, 2], "displai": 1, "whether": [1, 2, 3], "figur": 1, "dictionari": [1, 2], "trace": 1, "layout": 1, "mai": 1, "edit": 1, "user": [1, 4], "proprti": 1, "preview": 1, "effect": 1, "read": 1, "gmsh": 1, "style": 1, "msh": 1, "domn": 1, "pull": 1, "smdl": 1, "txt": 1, "conain": 1, "fenic": 1, "dolfin": 1, "xml": 1, "assign": [1, 2], "identifi": [1, 2], "immobil": 1, "coverag": 1, "scope": 1, "accept": [1, 2], "doaminerror": 1, "met": 1, "": [1, 4], "formula": 1, "geo_namespac": 1, "combinatori": 1, "multipl": [1, 2], "boolean": 1, "logic": [1, 2], "geo1": 1, "geo2": 1, "geo3": 1, "namespac": [1, 2], "geometry1": 1, "geometry2": 1, "geometry3": 1, "found": [1, 2, 4], "on_boundari": 1, "coodin": 1, "edg": 1, "satisfi": 1, "geometi": 1, "ani": [1, 2, 4], "doe": 1, "tag": 1, "separ": 1, "mark": 1, "work": 1, "triangl": 1, "implement": [1, 2], "direct": 1, "modifi": 1, "u0": 1, "matrix": 1, "count": 1, "contian": 1, "place": 1, "scatter": 1, "randomli": 1, "center": 1, "two": [1, 2], "doesn": 1, "restrict": 1, "depend": 1, "radiu": 1, "length": 1, "delta": 1, "deltar": 1, "surfac": 1, "radial": 1, "skip_valid": 1, "arg": 1, "io": 1, "un": 1, "biochem": 1, "compon": 1, "befor": 1, "other": [1, 2], "combin": 1, "than": 1, "do": 1, "need": [1, 4], "particular": 1, "bound_cond": 1, "conidit": 1, "data_funct": 1, "scalar": 1, "you": [1, 4], "vari": 1, "input": 1, "your": [1, 4], "It": 1, "positon": 1, "toth": 1, "init_cond": 1, "fail": [1, 2], "make": 1, "sure": 1, "paramt": 1, "diffus": [1, 4], "util": 1, "stoichiometr": 1, "dependency_graph": 1, "timestep": 1, "exce": 1, "frequenc": 1, "ordereddict": 1, "form": [1, 4], "kei": [1, 2], "specifi": 1, "element": 1, "differ": [1, 2], "rname": 1, "number_of_trajectori": [1, 2], "seed": [1, 2], "timeout": [1, 2], "number_of_thread": [1, 2], "debug_level": [1, 2], "debug": [1, 2], "profil": [1, 2], "how": [1, 2, 4], "mani": [1, 2], "trajectori": [1, 2], "should": [1, 2], "random": [1, 2], "second": [1, 2], "kill": 1, "upon": 1, "reach": 1, "thread": [1, 2], "level": [1, 2], "print": [1, 2], "out": [1, 4], "info": 1, "dure": [1, 2], "addtion": [1, 2], "perform": 1, "chosen": 1, "simplifi": 1, "format": 1, "later": [1, 2], "spatialpysolv": 1, "propens": 1, "intern": 1, "notat": 1, "output_interv": 1, "num_step": 1, "timestep_s": 1, "simlat": 1, "span": 1, "first": [1, 2], "zero": 1, "time_span": 1, "ssa": 1, "sdpd": [1, 4], "engin": 1, "non": 1, "tspan": 1, "evenli": 1, "sampl": 1, "popul": 1, "flatten": 1, "spatialpy_model": 1, "return_stochss_model": [1, 3], "convert": [1, 2, 3], "json": 1, "platform": 1, "directli": [1, 4], "understood": 1, "parent": 1, "call": [1, 2], "referenc": 1, "requir": 1, "outsid": 1, "reactant": 1, "product": 1, "propensity_funct": 1, "ode_propensity_funct": 1, "rate": 1, "restrict_to": 1, "conatain": 1, "neg": 1, "union": 1, "For": [1, 4], "zeroth": 1, "attempt": 1, "higher": 1, "error": 1, "consum": 1, "stoichiometri": 1, "would": 1, "r1": 1, "r2": 1, "event": 1, "same": 1, "custom": 1, "oper": [1, 2], "od": 1, "care": 1, "unit": 1, "about": 1, "execut": [1, 2], "NOT": 1, "both": [1, 4], "term": 1, "repres": 1, "independ": 1, "wa": 1, "impact": 1, "preserv": 1, "produc": 1, "particip": 1, "deprec": 1, "param": 1, "json_object": 1, "defer": 1, "species_map": 1, "parameter_map": 1, "chang": 1, "marat": 1, "urdm": 1, "folder_nam": 1, "write": 1, "csv": 1, "modelname_mesh": 1, "modelname_species_": 1, "column": 1, "n": 1, "vtk": 1, "written": 1, "current": [1, 2], "property_nam": 1, "timepoint": 1, "integ": 1, "1d": 1, "veloc": 1, "bvf_phi": 1, "fraction": 1, "across": 1, "concentr": 1, "retreiv": 1, "inform": [1, 2, 4], "raw": 1, "copy_numb": 1, "unabl": 1, "retriev": 1, "t_ndx": 1, "t_val": 1, "p_ndx": 1, "anim": 1, "t_ndx_list": 1, "f_durat": 1, "t_durat": 1, "300": 1, "6": 1, "4": 1, "8": 1, "indec": 1, "interv": 1, "durat": 1, "frame": [1, 4], "transit": 1, "5": 1, "show": 1, "instead": 1, "step_num": 1, "except": 1, "initailcondit": 1, "bass": 1, "messag": 1, "o": 1, "diffusion_coeffici": 1, "coeffic": 1, "coeffici": 1, "listoftyp": 1, "movement": 1, "setter": 1, "item": [1, 2], "iter": 1, "best": 1, "increment": [1, 2], "20": 1, "num_point": 1, "empti": [1, 2], "repeat": 1, "point1": 1, "normal": 1, "point2": 1, "point3": 1, "reflect": 1, "revers": 1, "around": 1, "arbitrari": 1, "plane": 1, "serv": 1, "vector": 1, "onc": 1, "wrap": 1, "prior": 1, "angl": 1, "rotat": 1, "basic": 1, "factor": 1, "scale": 1, "wrapper": 1, "translat": 1, "40": 1, "plot_arg": 1, "scatter_arg": 1, "multiple_graph": 1, "maplotlib": 1, "pyplot": 1, "subplot": 1, "dist": 1, "group": 1, "nrow": 1, "ncol": 1, "entri": 1, "plote": 1, "py": 1, "minim": 1, "legaci": 1, "reader": 1, "refer": 1, "http": [1, 4], "org": 1, "wp": 1, "upload": 1, "2015": 1, "04": 1, "pdf": 1, "arraid": 1, "ascii": 1, "blacklist": 2, "sanit": 2, "allow": 2, "pre": 2, "flight": 2, "syntax": 2, "well": 2, "manag": 2, "context": 2, "statement": 2, "expect": 2, "forward": 2, "ideal": 2, "univers": 2, "constructor": 2, "granular": 2, "bare": 2, "equival": 2, "trigger": 2, "substitut": 2, "convers": 2, "automat": 2, "correspond": 2, "getexpr_": 2, "nodetransform": 2, "ast": 2, "expres": 2, "spactialpi": 2, "node": 2, "visit_assign": 2, "visitor": 2, "origin": 2, "binop": 2, "boolop": 2, "binboolopop": 2, "otherwis": 2, "compar": 2, "unaryop": 2, "syntaxerror": 2, "imposs": 2, "convet": 2, "built": 2, "_ast": 2, "Not": 2, "noteq": 2, "mod": 2, "bitand": 2, "mult": 2, "pow": 2, "sub": 2, "div": 2, "floordiv": 2, "lt": 2, "lshift": 2, "lte": 2, "eq": 2, "gt": 2, "gte": 2, "rshift": 2, "matmult": 2, "bitxor": 2, "And": 2, "Or": 2, "bitor": 2, "so": 2, "far": 2, "ensur": 2, "pars": 2, "against": 2, "addition": 2, "reject": 2, "rvalu": 2, "new": 2, "duplic": 2, "overrid": 2, "handl": 2, "behavior": 2, "copi": 2, "rtype": 2, "present": 2, "caus": 2, "what": 2, "tree": 2, "super": 2, "nodevisitor": 2, "self": 2, "comparison": 2, "last": 2, "mathemat": 2, "right": 2, "visit": 2, "left": 2, "most": 2, "recent": 2, "append": 2, "token": 2, "alwai": 2, "hand": 2, "u": 2, "pop": 2, "process": 2, "assum": 2, "inherit": 2, "byte": 2, "ellipsi": 2, "nameconst": 2, "num": 2, "usub": 2, "invalid_nam": 2, "invalid_oper": 2, "is_valid": 2, "struct": 2, "infer": 2, "invalid_": 2, "verbos": 2, "gdbgui": 2, "debugg": 2, "symbol": 2, "hasn": 2, "happen": 2, "gprof": 2, "avail": [2, 4], "consol": 2, "seri": 2, "exceed": 2, "packag": 4, "advect": 4, "problem": 4, "embed": 4, "lagrangian": 4, "dynam": 4, "intend": 4, "replac": 4, "pyurdm": 4, "softwar": 4, "github": 4, "com": 4, "featur": 4, "nsm": 4, "rdme": 4, "static": 4, "sssa": 4, "public": 4, "hybrid": 4, "smooth": 4, "dissip": 4, "algorithm": 4, "drawert": 4, "jacob": 4, "li": 4, "yi": 4, "petzold": 4, "www": 4, "sciencedirect": 4, "scienc": 4, "articl": 4, "pii": 4, "s0021999118307101": 4, "latest": 4, "version": 4, "pypi": 4, "code": 4, "licens": 4, "under": 4, "gnu": 4, "pleas": 4, "regist": 4, "develop": 4, "fund": 4, "nih": 4, "grant": 4, "2r01eb014877": 4, "continu": 4, "we": 4, "prove": 4, "our": 4, "short": 4, "registr": 4, "see": 4, "here": 4, "cylind": 4, "demo": 4, "physic": 4, "flow": 4, "weir": 4, "tracker": 4, "project": 4, "contact": 4, "main": 4, "author": 4, "dr": 4, "brian": 4, "question": 4, "suggest": 4, "subpackag": 4, "modul": 4, "content": 4, "search": 4, "page": 4}, "objects": {"": [[0, 0, 0, "-", "spatialpy"]], "spatialpy": [[1, 0, 0, "-", "core"], [2, 0, 0, "-", "solvers"], [3, 0, 0, "-", "stochss"]], "spatialpy.core": [[1, 1, 1, "", "BoundaryCondition"], [1, 3, 1, "", "BoundaryConditionError"], [1, 1, 1, "", "CartesianLattice"], [1, 1, 1, "", "CombinatoryGeometry"], [1, 1, 1, "", "CylindricalLattice"], [1, 1, 1, "", "DataFunction"], [1, 3, 1, "", "DataFunctionError"], [1, 1, 1, "", "Domain"], [1, 3, 1, "", "DomainError"], [1, 1, 1, "", "Geometry"], [1, 1, 1, "", "GeometryAll"], [1, 3, 1, "", "GeometryError"], [1, 1, 1, "", "GeometryExterior"], [1, 1, 1, "", "GeometryInterior"], [1, 1, 1, "", "InitialCondition"], [1, 3, 1, "", "InitialConditionError"], [1, 3, 1, "", "LatticeError"], [1, 1, 1, "", "MeshIOLattice"], [1, 1, 1, "", "Model"], [1, 3, 1, "", "ModelError"], [1, 1, 1, "", "Parameter"], [1, 3, 1, "", "ParameterError"], [1, 1, 1, "", "PlaceInitialCondition"], [1, 1, 1, "", "Reaction"], [1, 3, 1, "", "ReactionError"], [1, 1, 1, "", "ReflectionTransformation"], [1, 1, 1, "", "Result"], [1, 3, 1, "", "ResultError"], [1, 1, 1, "", "RotationTransformation"], [1, 1, 1, "", "ScalingTransformation"], [1, 1, 1, "", "ScatterInitialCondition"], [1, 3, 1, "", "SimulationError"], [1, 3, 1, "", "SimulationTimeout"], [1, 1, 1, "", "Species"], [1, 3, 1, "", "SpeciesError"], [1, 1, 1, "", "SphericalLattice"], [1, 1, 1, "", "StochSSLattice"], [1, 1, 1, "", "TimeSpan"], [1, 3, 1, "", "TimespanError"], [1, 1, 1, "", "Transformation"], [1, 3, 1, "", "TransformationError"], [1, 1, 1, "", "TranslationTransformation"], [1, 1, 1, "", "UniformInitialCondition"], [1, 1, 1, "", "VTKReader"], [1, 3, 1, "", "VTKReaderError"], [1, 3, 1, "", "VTKReaderIOError"], [1, 1, 1, "", "Visualization"], [1, 3, 1, "", "VisualizationError"], [1, 1, 1, "", "XMLMeshLattice"], [1, 0, 0, "-", "boundarycondition"], [1, 0, 0, "-", "cleanup"], [1, 5, 1, "", "cleanup_build_files"], [1, 5, 1, "", "cleanup_core_files"], [1, 5, 1, "", "cleanup_result_files"], [1, 5, 1, "", "cleanup_tempfiles"], [1, 0, 0, "-", "datafunction"], [1, 0, 0, "-", "domain"], [1, 5, 1, "", "export_StochSS"], [1, 0, 0, "-", "geometry"], [1, 0, 0, "-", "initialcondition"], [1, 0, 0, "-", "lattice"], [1, 0, 0, "-", "model"], [1, 0, 0, "-", "parameter"], [1, 0, 0, "-", "reaction"], [1, 0, 0, "-", "result"], [1, 0, 0, "-", "spatialpyerror"], [1, 0, 0, "-", "species"], [1, 0, 0, "-", "timespan"], [1, 0, 0, "-", "transformation"], [1, 0, 0, "-", "visualization"], [1, 0, 0, "-", "vtkreader"]], "spatialpy.core.BoundaryCondition": [[1, 2, 1, "", "expression"]], "spatialpy.core.CartesianLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.CombinatoryGeometry": [[1, 2, 1, "", "inside"], [1, 2, 1, "", "validate"]], "spatialpy.core.CylindricalLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.DataFunction": [[1, 2, 1, "", "map"]], "spatialpy.core.Domain": [[1, 2, 1, "", "add_fill_action"], [1, 2, 1, "", "add_point"], [1, 2, 1, "", "add_remove_action"], [1, 2, 1, "", "add_set_action"], [1, 2, 1, "", "apply_actions"], [1, 2, 1, "", "apply_fill_action"], [1, 2, 1, "", "apply_remove_action"], [1, 2, 1, "", "apply_set_action"], [1, 2, 1, "", "calculate_vol"], [1, 2, 1, "", "closest_vertex"], [1, 2, 1, "", "compile_prep"], [1, 2, 1, "", "coordinates"], [1, 2, 1, "", "create_2D_domain"], [1, 2, 1, "", "create_3D_domain"], [1, 2, 1, "", "distance_between_2_vertices"], [1, 2, 1, "", "fill_with_particles"], [1, 2, 1, "", "find_boundary_points"], [1, 2, 1, "", "find_h"], [1, 2, 1, "", "get_bounding_box"], [1, 2, 1, "", "get_domain_size"], [1, 2, 1, "", "get_num_voxels"], [1, 2, 1, "", "get_type_def"], [1, 2, 1, "", "get_vol"], [1, 2, 1, "", "import_meshio_object"], [1, 2, 1, "", "plot_types"], [1, 2, 1, "", "preview_actions"], [1, 2, 1, "", "read_msh_file"], [1, 2, 1, "", "read_stochss_domain"], [1, 2, 1, "", "read_stochss_subdomain_file"], [1, 2, 1, "", "read_xml_mesh"], [1, 2, 1, "", "set_properties"], [1, 2, 1, "", "validate_action"]], "spatialpy.core.Geometry": [[1, 2, 1, "", "inside"]], "spatialpy.core.GeometryAll": [[1, 2, 1, "", "inside"]], "spatialpy.core.GeometryExterior": [[1, 2, 1, "", "inside"]], "spatialpy.core.GeometryInterior": [[1, 2, 1, "", "inside"]], "spatialpy.core.InitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.MeshIOLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.Model": [[1, 2, 1, "", "add"], [1, 2, 1, "", "add_boundary_condition"], [1, 2, 1, "", "add_data_function"], [1, 2, 1, "", "add_domain"], [1, 2, 1, "", "add_initial_condition"], [1, 2, 1, "", "add_parameter"], [1, 2, 1, "", "add_reaction"], [1, 2, 1, "", "add_species"], [1, 2, 1, "", "compile_prep"], [1, 2, 1, "", "delete_all_boundary_conditions"], [1, 2, 1, "", "delete_all_data_functions"], [1, 2, 1, "", "delete_all_initial_conditions"], [1, 2, 1, "", "delete_all_parameters"], [1, 2, 1, "", "delete_all_reactions"], [1, 2, 1, "", "delete_all_species"], [1, 2, 1, "", "delete_boundary_condition"], [1, 2, 1, "", "delete_data_function"], [1, 2, 1, "", "delete_initial_condition"], [1, 2, 1, "", "delete_parameter"], [1, 2, 1, "", "delete_reaction"], [1, 2, 1, "", "delete_species"], [1, 2, 1, "", "get_all_boundary_conditions"], [1, 2, 1, "", "get_all_data_functions"], [1, 2, 1, "", "get_all_initial_conditions"], [1, 2, 1, "", "get_all_parameters"], [1, 2, 1, "", "get_all_reactions"], [1, 2, 1, "", "get_all_species"], [1, 2, 1, "", "get_data_function"], [1, 2, 1, "", "get_element"], [1, 2, 1, "", "get_num_reactions"], [1, 2, 1, "", "get_num_species"], [1, 2, 1, "", "get_parameter"], [1, 2, 1, "", "get_reaction"], [1, 2, 1, "", "get_species"], [1, 4, 1, "", "reserved_names"], [1, 2, 1, "", "run"], [1, 2, 1, "", "sanitized_data_function_names"], [1, 2, 1, "", "sanitized_parameter_names"], [1, 2, 1, "", "sanitized_species_names"], [1, 2, 1, "", "set_timesteps"], [1, 4, 1, "", "special_characters"], [1, 2, 1, "", "timespan"], [1, 2, 1, "", "update_namespace"]], "spatialpy.core.Parameter": [[1, 2, 1, "", "validate"]], "spatialpy.core.PlaceInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.Reaction": [[1, 2, 1, "", "add_product"], [1, 2, 1, "", "add_reactant"], [1, 2, 1, "", "annotate"], [1, 2, 1, "", "from_json"], [1, 2, 1, "", "initialize"], [1, 2, 1, "", "sanitized_propensity_function"], [1, 2, 1, "", "set_annotation"], [1, 2, 1, "", "set_propensities"], [1, 2, 1, "", "set_rate"], [1, 2, 1, "", "to_dict"], [1, 2, 1, "", "validate"]], "spatialpy.core.ReflectionTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"]], "spatialpy.core.Result": [[1, 2, 1, "", "export_to_csv"], [1, 2, 1, "", "get_property"], [1, 2, 1, "", "get_species"], [1, 2, 1, "", "get_timespan"], [1, 2, 1, "", "plot_property"], [1, 2, 1, "", "plot_species"], [1, 2, 1, "", "read_step"]], "spatialpy.core.RotationTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.ScalingTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.ScatterInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.Species": [[1, 2, 1, "", "set_diffusion_coefficient"], [1, 2, 1, "", "validate"]], "spatialpy.core.SphericalLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.StochSSLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.TimeSpan": [[1, 2, 1, "", "arange"], [1, 2, 1, "", "linspace"], [1, 2, 1, "", "validate"]], "spatialpy.core.Transformation": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "inside"], [1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.TranslationTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.UniformInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.VTKReader": [[1, 2, 1, "", "get_array_name"], [1, 2, 1, "", "get_arrays"], [1, 2, 1, "", "get_num_points"], [1, 2, 1, "", "get_points"], [1, 2, 1, "", "read_file"], [1, 2, 1, "", "set_filename"]], "spatialpy.core.Visualization": [[1, 4, 1, "", "MPL_HEIGHT"], [1, 4, 1, "", "MPL_SIZE"], [1, 4, 1, "", "MPL_WIDTH"], [1, 2, 1, "", "plot_scatter"]], "spatialpy.core.XMLMeshLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.boundarycondition": [[1, 1, 1, "", "BoundaryCondition"]], "spatialpy.core.boundarycondition.BoundaryCondition": [[1, 2, 1, "", "expression"]], "spatialpy.core.cleanup": [[1, 5, 1, "", "cleanup_build_files"], [1, 5, 1, "", "cleanup_core_files"], [1, 5, 1, "", "cleanup_result_files"], [1, 5, 1, "", "cleanup_tempfiles"]], "spatialpy.core.datafunction": [[1, 1, 1, "", "DataFunction"]], "spatialpy.core.datafunction.DataFunction": [[1, 2, 1, "", "map"]], "spatialpy.core.domain": [[1, 1, 1, "", "Domain"]], "spatialpy.core.domain.Domain": [[1, 2, 1, "", "add_fill_action"], [1, 2, 1, "", "add_point"], [1, 2, 1, "", "add_remove_action"], [1, 2, 1, "", "add_set_action"], [1, 2, 1, "", "apply_actions"], [1, 2, 1, "", "apply_fill_action"], [1, 2, 1, "", "apply_remove_action"], [1, 2, 1, "", "apply_set_action"], [1, 2, 1, "", "calculate_vol"], [1, 2, 1, "", "closest_vertex"], [1, 2, 1, "", "compile_prep"], [1, 2, 1, "", "coordinates"], [1, 2, 1, "", "create_2D_domain"], [1, 2, 1, "", "create_3D_domain"], [1, 2, 1, "", "distance_between_2_vertices"], [1, 2, 1, "", "fill_with_particles"], [1, 2, 1, "", "find_boundary_points"], [1, 2, 1, "", "find_h"], [1, 2, 1, "", "get_bounding_box"], [1, 2, 1, "", "get_domain_size"], [1, 2, 1, "", "get_num_voxels"], [1, 2, 1, "", "get_type_def"], [1, 2, 1, "", "get_vol"], [1, 2, 1, "", "import_meshio_object"], [1, 2, 1, "", "plot_types"], [1, 2, 1, "", "preview_actions"], [1, 2, 1, "", "read_msh_file"], [1, 2, 1, "", "read_stochss_domain"], [1, 2, 1, "", "read_stochss_subdomain_file"], [1, 2, 1, "", "read_xml_mesh"], [1, 2, 1, "", "set_properties"], [1, 2, 1, "", "validate_action"]], "spatialpy.core.geometry": [[1, 1, 1, "", "CombinatoryGeometry"], [1, 1, 1, "", "Geometry"], [1, 1, 1, "", "GeometryAll"], [1, 1, 1, "", "GeometryExterior"], [1, 1, 1, "", "GeometryInterior"]], "spatialpy.core.geometry.CombinatoryGeometry": [[1, 2, 1, "", "inside"], [1, 2, 1, "", "validate"]], "spatialpy.core.geometry.Geometry": [[1, 2, 1, "", "inside"]], "spatialpy.core.geometry.GeometryAll": [[1, 2, 1, "", "inside"]], "spatialpy.core.geometry.GeometryExterior": [[1, 2, 1, "", "inside"]], "spatialpy.core.geometry.GeometryInterior": [[1, 2, 1, "", "inside"]], "spatialpy.core.initialcondition": [[1, 1, 1, "", "InitialCondition"], [1, 1, 1, "", "PlaceInitialCondition"], [1, 1, 1, "", "ScatterInitialCondition"], [1, 1, 1, "", "UniformInitialCondition"]], "spatialpy.core.initialcondition.InitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.initialcondition.PlaceInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.initialcondition.ScatterInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.initialcondition.UniformInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.lattice": [[1, 1, 1, "", "CartesianLattice"], [1, 1, 1, "", "CylindricalLattice"], [1, 1, 1, "", "Lattice"], [1, 1, 1, "", "MeshIOLattice"], [1, 1, 1, "", "SphericalLattice"], [1, 1, 1, "", "StochSSLattice"], [1, 1, 1, "", "XMLMeshLattice"]], "spatialpy.core.lattice.CartesianLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.CylindricalLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.Lattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.MeshIOLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.SphericalLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.StochSSLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.XMLMeshLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.model": [[1, 1, 1, "", "Model"], [1, 5, 1, "", "export_StochSS"]], "spatialpy.core.model.Model": [[1, 2, 1, "", "add"], [1, 2, 1, "", "add_boundary_condition"], [1, 2, 1, "", "add_data_function"], [1, 2, 1, "", "add_domain"], [1, 2, 1, "", "add_initial_condition"], [1, 2, 1, "", "add_parameter"], [1, 2, 1, "", "add_reaction"], [1, 2, 1, "", "add_species"], [1, 2, 1, "", "compile_prep"], [1, 2, 1, "", "delete_all_boundary_conditions"], [1, 2, 1, "", "delete_all_data_functions"], [1, 2, 1, "", "delete_all_initial_conditions"], [1, 2, 1, "", "delete_all_parameters"], [1, 2, 1, "", "delete_all_reactions"], [1, 2, 1, "", "delete_all_species"], [1, 2, 1, "", "delete_boundary_condition"], [1, 2, 1, "", "delete_data_function"], [1, 2, 1, "", "delete_initial_condition"], [1, 2, 1, "", "delete_parameter"], [1, 2, 1, "", "delete_reaction"], [1, 2, 1, "", "delete_species"], [1, 2, 1, "", "get_all_boundary_conditions"], [1, 2, 1, "", "get_all_data_functions"], [1, 2, 1, "", "get_all_initial_conditions"], [1, 2, 1, "", "get_all_parameters"], [1, 2, 1, "", "get_all_reactions"], [1, 2, 1, "", "get_all_species"], [1, 2, 1, "", "get_data_function"], [1, 2, 1, "", "get_element"], [1, 2, 1, "", "get_num_reactions"], [1, 2, 1, "", "get_num_species"], [1, 2, 1, "", "get_parameter"], [1, 2, 1, "", "get_reaction"], [1, 2, 1, "", "get_species"], [1, 4, 1, "", "reserved_names"], [1, 2, 1, "", "run"], [1, 2, 1, "", "sanitized_data_function_names"], [1, 2, 1, "", "sanitized_parameter_names"], [1, 2, 1, "", "sanitized_species_names"], [1, 2, 1, "", "set_timesteps"], [1, 4, 1, "", "special_characters"], [1, 2, 1, "", "timespan"], [1, 2, 1, "", "update_namespace"]], "spatialpy.core.parameter": [[1, 1, 1, "", "Parameter"]], "spatialpy.core.parameter.Parameter": [[1, 2, 1, "", "validate"]], "spatialpy.core.reaction": [[1, 1, 1, "", "Reaction"]], "spatialpy.core.reaction.Reaction": [[1, 2, 1, "", "add_product"], [1, 2, 1, "", "add_reactant"], [1, 2, 1, "", "annotate"], [1, 2, 1, "", "from_json"], [1, 2, 1, "", "initialize"], [1, 2, 1, "", "sanitized_propensity_function"], [1, 2, 1, "", "set_annotation"], [1, 2, 1, "", "set_propensities"], [1, 2, 1, "", "set_rate"], [1, 2, 1, "", "to_dict"], [1, 2, 1, "", "validate"]], "spatialpy.core.result": [[1, 1, 1, "", "Result"]], "spatialpy.core.result.Result": [[1, 2, 1, "", "export_to_csv"], [1, 2, 1, "", "get_property"], [1, 2, 1, "", "get_species"], [1, 2, 1, "", "get_timespan"], [1, 2, 1, "", "plot_property"], [1, 2, 1, "", "plot_species"], [1, 2, 1, "", "read_step"]], "spatialpy.core.spatialpyerror": [[1, 3, 1, "", "BoundaryConditionError"], [1, 3, 1, "", "DataFunctionError"], [1, 3, 1, "", "DomainError"], [1, 3, 1, "", "GeometryError"], [1, 3, 1, "", "InitialConditionError"], [1, 3, 1, "", "LatticeError"], [1, 3, 1, "", "ModelError"], [1, 3, 1, "", "ParameterError"], [1, 3, 1, "", "ReactionError"], [1, 3, 1, "", "ResultError"], [1, 3, 1, "", "SimulationError"], [1, 3, 1, "", "SimulationTimeout"], [1, 3, 1, "", "SpeciesError"], [1, 3, 1, "", "TimespanError"], [1, 3, 1, "", "TransformationError"], [1, 3, 1, "", "VTKReaderError"], [1, 3, 1, "", "VTKReaderIOError"], [1, 3, 1, "", "VisualizationError"]], "spatialpy.core.species": [[1, 1, 1, "", "Species"]], "spatialpy.core.species.Species": [[1, 2, 1, "", "set_diffusion_coefficient"], [1, 2, 1, "", "validate"]], "spatialpy.core.timespan": [[1, 1, 1, "", "TimeSpan"]], "spatialpy.core.timespan.TimeSpan": [[1, 2, 1, "", "arange"], [1, 2, 1, "", "linspace"], [1, 2, 1, "", "validate"]], "spatialpy.core.transformation": [[1, 1, 1, "", "ReflectionTransformation"], [1, 1, 1, "", "RotationTransformation"], [1, 1, 1, "", "ScalingTransformation"], [1, 1, 1, "", "Transformation"], [1, 1, 1, "", "TranslationTransformation"]], "spatialpy.core.transformation.ReflectionTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"]], "spatialpy.core.transformation.RotationTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.transformation.ScalingTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.transformation.Transformation": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "inside"], [1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.transformation.TranslationTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.visualization": [[1, 1, 1, "", "Visualization"]], "spatialpy.core.visualization.Visualization": [[1, 4, 1, "", "MPL_HEIGHT"], [1, 4, 1, "", "MPL_SIZE"], [1, 4, 1, "", "MPL_WIDTH"], [1, 2, 1, "", "plot_scatter"]], "spatialpy.core.vtkreader": [[1, 1, 1, "", "VTKReader"]], "spatialpy.core.vtkreader.VTKReader": [[1, 2, 1, "", "get_array_name"], [1, 2, 1, "", "get_arrays"], [1, 2, 1, "", "get_num_points"], [1, 2, 1, "", "get_points"], [1, 2, 1, "", "read_file"], [1, 2, 1, "", "set_filename"]], "spatialpy.solvers": [[2, 0, 0, "-", "build_expression"], [2, 0, 0, "-", "solver"]], "spatialpy.solvers.build_expression": [[2, 1, 1, "", "BuildExpression"], [2, 1, 1, "", "CppConverter"], [2, 1, 1, "", "ExpressionConverter"], [2, 1, 1, "", "ExpressionResults"], [2, 1, 1, "", "PythonConverter"]], "spatialpy.solvers.build_expression.BuildExpression": [[2, 1, 1, "", "ValidationVisitor"], [2, 2, 1, "", "getexpr_cpp"], [2, 2, 1, "", "getexpr_python"], [2, 2, 1, "", "map_operator"], [2, 4, 1, "", "operator_map"], [2, 2, 1, "", "validate"], [2, 2, 1, "", "with_blacklist"], [2, 2, 1, "", "with_namespace"]], "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor": [[2, 2, 1, "", "visit_Assign"], [2, 2, 1, "", "visit_BinOp"], [2, 2, 1, "", "visit_BoolOp"], [2, 2, 1, "", "visit_Call"], [2, 2, 1, "", "visit_Compare"], [2, 2, 1, "", "visit_Name"], [2, 2, 1, "", "visit_UnaryOp"]], "spatialpy.solvers.build_expression.CppConverter": [[2, 1, 1, "", "CppExpressionTransformer"], [2, 2, 1, "", "get_str"], [2, 2, 1, "", "visit_And"], [2, 2, 1, "", "visit_Or"]], "spatialpy.solvers.build_expression.CppConverter.CppExpressionTransformer": [[2, 2, 1, "", "visit_BinOp"]], "spatialpy.solvers.build_expression.ExpressionConverter": [[2, 2, 1, "", "convert_str"], [2, 2, 1, "", "get_str"], [2, 2, 1, "", "parse_comparison"], [2, 2, 1, "", "parse_logical"], [2, 2, 1, "", "parse_operator"], [2, 2, 1, "", "visit_Add"], [2, 2, 1, "", "visit_BinOp"], [2, 2, 1, "", "visit_BoolOp"], [2, 2, 1, "", "visit_Bytes"], [2, 2, 1, "", "visit_Call"], [2, 2, 1, "", "visit_Compare"], [2, 2, 1, "", "visit_Constant"], [2, 2, 1, "", "visit_Div"], [2, 2, 1, "", "visit_Ellipsis"], [2, 2, 1, "", "visit_Eq"], [2, 2, 1, "", "visit_Gt"], [2, 2, 1, "", "visit_GtE"], [2, 2, 1, "", "visit_Lt"], [2, 2, 1, "", "visit_LtE"], [2, 2, 1, "", "visit_Mult"], [2, 2, 1, "", "visit_Name"], [2, 2, 1, "", "visit_NameConstant"], [2, 2, 1, "", "visit_NotEq"], [2, 2, 1, "", "visit_Num"], [2, 2, 1, "", "visit_Pow"], [2, 2, 1, "", "visit_Str"], [2, 2, 1, "", "visit_Sub"], [2, 2, 1, "", "visit_USub"], [2, 2, 1, "", "visit_UnaryOp"]], "spatialpy.solvers.build_expression.PythonConverter": [[2, 2, 1, "", "visit_And"], [2, 2, 1, "", "visit_Or"]], "spatialpy.solvers.solver": [[2, 1, 1, "", "Solver"]], "spatialpy.solvers.solver.Solver": [[2, 2, 1, "", "compile"], [2, 2, 1, "", "run"]], "spatialpy.stochss": [[3, 0, 0, "-", "stochss_export"]], "spatialpy.stochss.stochss_export": [[3, 5, 1, "", "export"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:attribute", "5": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "function", "Python function"]}, "titleterms": {"spatialpi": [0, 1, 2, 3, 4], "packag": [0, 1, 2, 3], "subpackag": 0, "modul": [0, 1, 2, 3], "content": [0, 1, 2, 3], "core": 1, "submodul": [1, 2, 3], "boundarycondit": 1, "cleanup": 1, "datafunct": 1, "domain": 1, "geometri": 1, "initialcondit": 1, "lattic": 1, "model": 1, "paramet": 1, "reaction": 1, "result": 1, "spatialpyerror": 1, "speci": 1, "timespan": 1, "transform": 1, "visual": 1, "vtkreader": 1, "solver": 2, "build_express": 2, "stochss": 3, "stochss_export": 3, "document": 4, "1": 4, "2": 4, "get": 4, "copi": 4, "exampl": 4, "report": 4, "issu": 4, "api": 4, "refer": 4, "indic": 4, "tabl": 4, "3": [], "0": 4}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"spatialpy package": [[0, "spatialpy-package"]], "Subpackages": [[0, "subpackages"]], "Module contents": [[0, "module-spatialpy"], [1, "module-spatialpy.core"], [2, "module-spatialpy.solvers"], [3, "module-spatialpy.stochss"]], "spatialpy.core package": [[1, "spatialpy-core-package"]], "Submodules": [[1, "submodules"], [2, "submodules"], [3, "submodules"]], "spatialpy.core.boundarycondition module": [[1, "module-spatialpy.core.boundarycondition"]], "spatialpy.core.cleanup module": [[1, "module-spatialpy.core.cleanup"]], "spatialpy.core.datafunction module": [[1, "module-spatialpy.core.datafunction"]], "spatialpy.core.domain module": [[1, "module-spatialpy.core.domain"]], "spatialpy.core.geometry module": [[1, "module-spatialpy.core.geometry"]], "spatialpy.core.initialcondition module": [[1, "module-spatialpy.core.initialcondition"]], "spatialpy.core.lattice module": [[1, "module-spatialpy.core.lattice"]], "spatialpy.core.model module": [[1, "module-spatialpy.core.model"]], "spatialpy.core.parameter module": [[1, "module-spatialpy.core.parameter"]], "spatialpy.core.reaction module": [[1, "module-spatialpy.core.reaction"]], "spatialpy.core.result module": [[1, "module-spatialpy.core.result"]], "spatialpy.core.spatialpyerror module": [[1, "module-spatialpy.core.spatialpyerror"]], "spatialpy.core.species module": [[1, "module-spatialpy.core.species"]], "spatialpy.core.timespan module": [[1, "module-spatialpy.core.timespan"]], "spatialpy.core.transformation module": [[1, "module-spatialpy.core.transformation"]], "spatialpy.core.visualization module": [[1, "module-spatialpy.core.visualization"]], "spatialpy.core.vtkreader module": [[1, "module-spatialpy.core.vtkreader"]], "spatialpy.solvers package": [[2, "spatialpy-solvers-package"]], "spatialpy.solvers.build_expression module": [[2, "module-spatialpy.solvers.build_expression"]], "spatialpy.solvers.solver module": [[2, "module-spatialpy.solvers.solver"]], "spatialpy.stochss package": [[3, "spatialpy-stochss-package"]], "spatialpy.stochss.stochss_export module": [[3, "module-spatialpy.stochss.stochss_export"]], "Documentation for SpatialPy 1.2.0": [[4, "documentation-for-spatialpy-release"]], "Getting a copy of SpatialPy": [[4, "getting-a-copy-of-spatialpy"]], "Examples": [[4, "examples"]], "Reporting Issues": [[4, "reporting-issues"]], "Documentation": [[4, "documentation"]], "API reference": [[4, null]], "Indices and tables": [[4, "indices-and-tables"]]}, "indexentries": {"module": [[0, "module-spatialpy"], [1, "module-spatialpy.core"], [1, "module-spatialpy.core.boundarycondition"], [1, "module-spatialpy.core.cleanup"], [1, "module-spatialpy.core.datafunction"], [1, "module-spatialpy.core.domain"], [1, "module-spatialpy.core.geometry"], [1, "module-spatialpy.core.initialcondition"], [1, "module-spatialpy.core.lattice"], [1, "module-spatialpy.core.model"], [1, "module-spatialpy.core.parameter"], [1, "module-spatialpy.core.reaction"], [1, "module-spatialpy.core.result"], [1, "module-spatialpy.core.spatialpyerror"], [1, "module-spatialpy.core.species"], [1, "module-spatialpy.core.timespan"], [1, "module-spatialpy.core.transformation"], [1, "module-spatialpy.core.visualization"], [1, "module-spatialpy.core.vtkreader"], [2, "module-spatialpy.solvers"], [2, "module-spatialpy.solvers.build_expression"], [2, "module-spatialpy.solvers.solver"], [3, "module-spatialpy.stochss"], [3, "module-spatialpy.stochss.stochss_export"]], "spatialpy": [[0, "module-spatialpy"]], "boundarycondition (class in spatialpy.core)": [[1, "spatialpy.core.BoundaryCondition"]], "boundarycondition (class in spatialpy.core.boundarycondition)": [[1, "spatialpy.core.boundarycondition.BoundaryCondition"]], "boundaryconditionerror": [[1, "spatialpy.core.BoundaryConditionError"], [1, "spatialpy.core.spatialpyerror.BoundaryConditionError"]], "cartesianlattice (class in spatialpy.core)": [[1, "spatialpy.core.CartesianLattice"]], "cartesianlattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.CartesianLattice"]], "combinatorygeometry (class in spatialpy.core)": [[1, "spatialpy.core.CombinatoryGeometry"]], "combinatorygeometry (class in spatialpy.core.geometry)": [[1, "spatialpy.core.geometry.CombinatoryGeometry"]], "cylindricallattice (class in spatialpy.core)": [[1, "spatialpy.core.CylindricalLattice"]], "cylindricallattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.CylindricalLattice"]], "datafunction (class in spatialpy.core)": [[1, "spatialpy.core.DataFunction"]], "datafunction (class in spatialpy.core.datafunction)": [[1, "spatialpy.core.datafunction.DataFunction"]], "datafunctionerror": [[1, "spatialpy.core.DataFunctionError"], [1, "spatialpy.core.spatialpyerror.DataFunctionError"]], "domain (class in spatialpy.core)": [[1, "spatialpy.core.Domain"]], "domain (class in spatialpy.core.domain)": [[1, "spatialpy.core.domain.Domain"]], "domainerror": [[1, "spatialpy.core.DomainError"], [1, "spatialpy.core.spatialpyerror.DomainError"]], "geometry (class in spatialpy.core)": [[1, "spatialpy.core.Geometry"]], "geometry (class in spatialpy.core.geometry)": [[1, "spatialpy.core.geometry.Geometry"]], "geometryall (class in spatialpy.core)": [[1, "spatialpy.core.GeometryAll"]], "geometryall (class in spatialpy.core.geometry)": [[1, "spatialpy.core.geometry.GeometryAll"]], "geometryerror": [[1, "spatialpy.core.GeometryError"], [1, "spatialpy.core.spatialpyerror.GeometryError"]], "geometryexterior (class in spatialpy.core)": [[1, "spatialpy.core.GeometryExterior"]], "geometryexterior (class in spatialpy.core.geometry)": [[1, "spatialpy.core.geometry.GeometryExterior"]], "geometryinterior (class in spatialpy.core)": [[1, "spatialpy.core.GeometryInterior"]], "geometryinterior (class in spatialpy.core.geometry)": [[1, "spatialpy.core.geometry.GeometryInterior"]], "initialcondition (class in spatialpy.core)": [[1, "spatialpy.core.InitialCondition"]], "initialcondition (class in spatialpy.core.initialcondition)": [[1, "spatialpy.core.initialcondition.InitialCondition"]], "initialconditionerror": [[1, "spatialpy.core.InitialConditionError"], [1, "spatialpy.core.spatialpyerror.InitialConditionError"]], "lattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.Lattice"]], "latticeerror": [[1, "spatialpy.core.LatticeError"], [1, "spatialpy.core.spatialpyerror.LatticeError"]], "mpl_height (spatialpy.core.visualization attribute)": [[1, "spatialpy.core.Visualization.MPL_HEIGHT"]], "mpl_height (spatialpy.core.visualization.visualization attribute)": [[1, "spatialpy.core.visualization.Visualization.MPL_HEIGHT"]], "mpl_size (spatialpy.core.visualization attribute)": [[1, "spatialpy.core.Visualization.MPL_SIZE"]], "mpl_size (spatialpy.core.visualization.visualization attribute)": [[1, "spatialpy.core.visualization.Visualization.MPL_SIZE"]], "mpl_width (spatialpy.core.visualization attribute)": [[1, "spatialpy.core.Visualization.MPL_WIDTH"]], "mpl_width (spatialpy.core.visualization.visualization attribute)": [[1, "spatialpy.core.visualization.Visualization.MPL_WIDTH"]], "meshiolattice (class in spatialpy.core)": [[1, "spatialpy.core.MeshIOLattice"]], "meshiolattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.MeshIOLattice"]], "model (class in spatialpy.core)": [[1, "spatialpy.core.Model"]], "model (class in spatialpy.core.model)": [[1, "spatialpy.core.model.Model"]], "modelerror": [[1, "spatialpy.core.ModelError"], [1, "spatialpy.core.spatialpyerror.ModelError"]], "parameter (class in spatialpy.core)": [[1, "spatialpy.core.Parameter"]], "parameter (class in spatialpy.core.parameter)": [[1, "spatialpy.core.parameter.Parameter"]], "parametererror": [[1, "spatialpy.core.ParameterError"], [1, "spatialpy.core.spatialpyerror.ParameterError"]], "placeinitialcondition (class in spatialpy.core)": [[1, "spatialpy.core.PlaceInitialCondition"]], "placeinitialcondition (class in spatialpy.core.initialcondition)": [[1, "spatialpy.core.initialcondition.PlaceInitialCondition"]], "reaction (class in spatialpy.core)": [[1, "spatialpy.core.Reaction"]], "reaction (class in spatialpy.core.reaction)": [[1, "spatialpy.core.reaction.Reaction"]], "reactionerror": [[1, "spatialpy.core.ReactionError"], [1, "spatialpy.core.spatialpyerror.ReactionError"]], "reflectiontransformation (class in spatialpy.core)": [[1, "spatialpy.core.ReflectionTransformation"]], "reflectiontransformation (class in spatialpy.core.transformation)": [[1, "spatialpy.core.transformation.ReflectionTransformation"]], "result (class in spatialpy.core)": [[1, "spatialpy.core.Result"]], "result (class in spatialpy.core.result)": [[1, "spatialpy.core.result.Result"]], "resulterror": [[1, "spatialpy.core.ResultError"], [1, "spatialpy.core.spatialpyerror.ResultError"]], "rotationtransformation (class in spatialpy.core)": [[1, "spatialpy.core.RotationTransformation"]], "rotationtransformation (class in spatialpy.core.transformation)": [[1, "spatialpy.core.transformation.RotationTransformation"]], "scalingtransformation (class in spatialpy.core)": [[1, "spatialpy.core.ScalingTransformation"]], "scalingtransformation (class in spatialpy.core.transformation)": [[1, "spatialpy.core.transformation.ScalingTransformation"]], "scatterinitialcondition (class in spatialpy.core)": [[1, "spatialpy.core.ScatterInitialCondition"]], "scatterinitialcondition (class in spatialpy.core.initialcondition)": [[1, "spatialpy.core.initialcondition.ScatterInitialCondition"]], "simulationerror": [[1, "spatialpy.core.SimulationError"], [1, "spatialpy.core.spatialpyerror.SimulationError"]], "simulationtimeout": [[1, "spatialpy.core.SimulationTimeout"], [1, "spatialpy.core.spatialpyerror.SimulationTimeout"]], "species (class in spatialpy.core)": [[1, "spatialpy.core.Species"]], "species (class in spatialpy.core.species)": [[1, "spatialpy.core.species.Species"]], "specieserror": [[1, "spatialpy.core.SpeciesError"], [1, "spatialpy.core.spatialpyerror.SpeciesError"]], "sphericallattice (class in spatialpy.core)": [[1, "spatialpy.core.SphericalLattice"]], "sphericallattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.SphericalLattice"]], "stochsslattice (class in spatialpy.core)": [[1, "spatialpy.core.StochSSLattice"]], "stochsslattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.StochSSLattice"]], "timespan (class in spatialpy.core)": [[1, "spatialpy.core.TimeSpan"]], "timespan (class in spatialpy.core.timespan)": [[1, "spatialpy.core.timespan.TimeSpan"]], "timespanerror": [[1, "spatialpy.core.TimespanError"], [1, "spatialpy.core.spatialpyerror.TimespanError"]], "transformation (class in spatialpy.core)": [[1, "spatialpy.core.Transformation"]], "transformation (class in spatialpy.core.transformation)": [[1, "spatialpy.core.transformation.Transformation"]], "transformationerror": [[1, "spatialpy.core.TransformationError"], [1, "spatialpy.core.spatialpyerror.TransformationError"]], "translationtransformation (class in spatialpy.core)": [[1, "spatialpy.core.TranslationTransformation"]], "translationtransformation (class in spatialpy.core.transformation)": [[1, "spatialpy.core.transformation.TranslationTransformation"]], "uniforminitialcondition (class in spatialpy.core)": [[1, "spatialpy.core.UniformInitialCondition"]], "uniforminitialcondition (class in spatialpy.core.initialcondition)": [[1, "spatialpy.core.initialcondition.UniformInitialCondition"]], "vtkreader (class in spatialpy.core)": [[1, "spatialpy.core.VTKReader"]], "vtkreader (class in spatialpy.core.vtkreader)": [[1, "spatialpy.core.vtkreader.VTKReader"]], "vtkreadererror": [[1, "spatialpy.core.VTKReaderError"], [1, "spatialpy.core.spatialpyerror.VTKReaderError"]], "vtkreaderioerror": [[1, "spatialpy.core.VTKReaderIOError"], [1, "spatialpy.core.spatialpyerror.VTKReaderIOError"]], "visualization (class in spatialpy.core)": [[1, "spatialpy.core.Visualization"]], "visualization (class in spatialpy.core.visualization)": [[1, "spatialpy.core.visualization.Visualization"]], "visualizationerror": [[1, "spatialpy.core.VisualizationError"], [1, "spatialpy.core.spatialpyerror.VisualizationError"]], "xmlmeshlattice (class in spatialpy.core)": [[1, "spatialpy.core.XMLMeshLattice"]], "xmlmeshlattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.XMLMeshLattice"]], "add() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add"]], "add() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add"]], "add_boundary_condition() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_boundary_condition"]], "add_boundary_condition() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_boundary_condition"]], "add_data_function() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_data_function"]], "add_data_function() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_data_function"]], "add_domain() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_domain"]], "add_domain() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_domain"]], "add_fill_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.add_fill_action"]], "add_fill_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.add_fill_action"]], "add_initial_condition() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_initial_condition"]], "add_initial_condition() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_initial_condition"]], "add_parameter() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_parameter"]], "add_parameter() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_parameter"]], "add_point() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.add_point"]], "add_point() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.add_point"]], "add_product() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.add_product"]], "add_product() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.add_product"]], "add_reactant() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.add_reactant"]], "add_reactant() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.add_reactant"]], "add_reaction() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_reaction"]], "add_reaction() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_reaction"]], "add_remove_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.add_remove_action"]], "add_remove_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.add_remove_action"]], "add_set_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.add_set_action"]], "add_set_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.add_set_action"]], "add_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_species"]], "add_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_species"]], "annotate() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.annotate"]], "annotate() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.annotate"]], "apply() (spatialpy.core.cartesianlattice method)": [[1, "spatialpy.core.CartesianLattice.apply"]], "apply() (spatialpy.core.cylindricallattice method)": [[1, "spatialpy.core.CylindricalLattice.apply"]], "apply() (spatialpy.core.initialcondition method)": [[1, "spatialpy.core.InitialCondition.apply"]], "apply() (spatialpy.core.meshiolattice method)": [[1, "spatialpy.core.MeshIOLattice.apply"]], "apply() (spatialpy.core.placeinitialcondition method)": [[1, "spatialpy.core.PlaceInitialCondition.apply"]], "apply() (spatialpy.core.scatterinitialcondition method)": [[1, "spatialpy.core.ScatterInitialCondition.apply"]], "apply() (spatialpy.core.sphericallattice method)": [[1, "spatialpy.core.SphericalLattice.apply"]], "apply() (spatialpy.core.stochsslattice method)": [[1, "spatialpy.core.StochSSLattice.apply"]], "apply() (spatialpy.core.transformation method)": [[1, "spatialpy.core.Transformation.apply"]], "apply() (spatialpy.core.uniforminitialcondition method)": [[1, "spatialpy.core.UniformInitialCondition.apply"]], "apply() (spatialpy.core.xmlmeshlattice method)": [[1, "spatialpy.core.XMLMeshLattice.apply"]], "apply() (spatialpy.core.initialcondition.initialcondition method)": [[1, "spatialpy.core.initialcondition.InitialCondition.apply"]], "apply() (spatialpy.core.initialcondition.placeinitialcondition method)": [[1, "spatialpy.core.initialcondition.PlaceInitialCondition.apply"]], "apply() (spatialpy.core.initialcondition.scatterinitialcondition method)": [[1, "spatialpy.core.initialcondition.ScatterInitialCondition.apply"]], "apply() (spatialpy.core.initialcondition.uniforminitialcondition method)": [[1, "spatialpy.core.initialcondition.UniformInitialCondition.apply"]], "apply() (spatialpy.core.lattice.cartesianlattice method)": [[1, "spatialpy.core.lattice.CartesianLattice.apply"]], "apply() (spatialpy.core.lattice.cylindricallattice method)": [[1, "spatialpy.core.lattice.CylindricalLattice.apply"]], "apply() (spatialpy.core.lattice.lattice method)": [[1, "spatialpy.core.lattice.Lattice.apply"]], "apply() (spatialpy.core.lattice.meshiolattice method)": [[1, "spatialpy.core.lattice.MeshIOLattice.apply"]], "apply() (spatialpy.core.lattice.sphericallattice method)": [[1, "spatialpy.core.lattice.SphericalLattice.apply"]], "apply() (spatialpy.core.lattice.stochsslattice method)": [[1, "spatialpy.core.lattice.StochSSLattice.apply"]], "apply() (spatialpy.core.lattice.xmlmeshlattice method)": [[1, "spatialpy.core.lattice.XMLMeshLattice.apply"]], "apply() (spatialpy.core.transformation.transformation method)": [[1, "spatialpy.core.transformation.Transformation.apply"]], "apply_actions() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.apply_actions"]], "apply_actions() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.apply_actions"]], "apply_fill_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.apply_fill_action"]], "apply_fill_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.apply_fill_action"]], "apply_remove_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.apply_remove_action"]], "apply_remove_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.apply_remove_action"]], "apply_set_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.apply_set_action"]], "apply_set_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.apply_set_action"]], "arange() (spatialpy.core.timespan class method)": [[1, "spatialpy.core.TimeSpan.arange"]], "arange() (spatialpy.core.timespan.timespan class method)": [[1, "spatialpy.core.timespan.TimeSpan.arange"]], "calculate_vol() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.calculate_vol"]], "calculate_vol() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.calculate_vol"]], "cleanup_build_files() (in module spatialpy.core)": [[1, "spatialpy.core.cleanup_build_files"]], "cleanup_build_files() (in module spatialpy.core.cleanup)": [[1, "spatialpy.core.cleanup.cleanup_build_files"]], "cleanup_core_files() (in module spatialpy.core)": [[1, "spatialpy.core.cleanup_core_files"]], "cleanup_core_files() (in module spatialpy.core.cleanup)": [[1, "spatialpy.core.cleanup.cleanup_core_files"]], "cleanup_result_files() (in module spatialpy.core)": [[1, "spatialpy.core.cleanup_result_files"]], "cleanup_result_files() (in module spatialpy.core.cleanup)": [[1, "spatialpy.core.cleanup.cleanup_result_files"]], "cleanup_tempfiles() (in module spatialpy.core)": [[1, "spatialpy.core.cleanup_tempfiles"]], "cleanup_tempfiles() (in module spatialpy.core.cleanup)": [[1, "spatialpy.core.cleanup.cleanup_tempfiles"]], "closest_vertex() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.closest_vertex"]], "closest_vertex() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.closest_vertex"]], "compile_prep() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.compile_prep"]], "compile_prep() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.compile_prep"]], "compile_prep() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.compile_prep"]], "compile_prep() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.compile_prep"]], "coordinates() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.coordinates"]], "coordinates() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.coordinates"]], "create_2d_domain() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.create_2D_domain"]], "create_2d_domain() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.create_2D_domain"]], "create_3d_domain() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.create_3D_domain"]], "create_3d_domain() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.create_3D_domain"]], "delete_all_boundary_conditions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_boundary_conditions"]], "delete_all_boundary_conditions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_boundary_conditions"]], "delete_all_data_functions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_data_functions"]], "delete_all_data_functions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_data_functions"]], "delete_all_initial_conditions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_initial_conditions"]], "delete_all_initial_conditions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_initial_conditions"]], "delete_all_parameters() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_parameters"]], "delete_all_parameters() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_parameters"]], "delete_all_reactions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_reactions"]], "delete_all_reactions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_reactions"]], "delete_all_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_species"]], "delete_all_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_species"]], "delete_boundary_condition() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_boundary_condition"]], "delete_boundary_condition() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_boundary_condition"]], "delete_data_function() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_data_function"]], "delete_data_function() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_data_function"]], "delete_initial_condition() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_initial_condition"]], "delete_initial_condition() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_initial_condition"]], "delete_parameter() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_parameter"]], "delete_parameter() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_parameter"]], "delete_reaction() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_reaction"]], "delete_reaction() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_reaction"]], "delete_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_species"]], "delete_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_species"]], "distance_between_2_vertices() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.distance_between_2_vertices"]], "distance_between_2_vertices() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.distance_between_2_vertices"]], "export_stochss() (in module spatialpy.core)": [[1, "spatialpy.core.export_StochSS"]], "export_stochss() (in module spatialpy.core.model)": [[1, "spatialpy.core.model.export_StochSS"]], "export_to_csv() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.export_to_csv"]], "export_to_csv() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.export_to_csv"]], "expression() (spatialpy.core.boundarycondition method)": [[1, "spatialpy.core.BoundaryCondition.expression"]], "expression() (spatialpy.core.boundarycondition.boundarycondition method)": [[1, "spatialpy.core.boundarycondition.BoundaryCondition.expression"]], "fill_with_particles() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.fill_with_particles"]], "fill_with_particles() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.fill_with_particles"]], "find_boundary_points() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.find_boundary_points"]], "find_boundary_points() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.find_boundary_points"]], "find_h() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.find_h"]], "find_h() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.find_h"]], "from_json() (spatialpy.core.reaction class method)": [[1, "spatialpy.core.Reaction.from_json"]], "from_json() (spatialpy.core.reaction.reaction class method)": [[1, "spatialpy.core.reaction.Reaction.from_json"]], "get_all_boundary_conditions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_boundary_conditions"]], "get_all_boundary_conditions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_boundary_conditions"]], "get_all_data_functions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_data_functions"]], "get_all_data_functions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_data_functions"]], "get_all_initial_conditions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_initial_conditions"]], "get_all_initial_conditions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_initial_conditions"]], "get_all_parameters() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_parameters"]], "get_all_parameters() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_parameters"]], "get_all_reactions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_reactions"]], "get_all_reactions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_reactions"]], "get_all_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_species"]], "get_all_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_species"]], "get_array_name() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.get_array_name"]], "get_array_name() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.get_array_name"]], "get_arrays() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.get_arrays"]], "get_arrays() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.get_arrays"]], "get_bounding_box() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.get_bounding_box"]], "get_bounding_box() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.get_bounding_box"]], "get_data_function() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_data_function"]], "get_data_function() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_data_function"]], "get_domain_size() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.get_domain_size"]], "get_domain_size() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.get_domain_size"]], "get_element() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_element"]], "get_element() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_element"]], "get_num_points() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.get_num_points"]], "get_num_points() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.get_num_points"]], "get_num_reactions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_num_reactions"]], "get_num_reactions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_num_reactions"]], "get_num_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_num_species"]], "get_num_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_num_species"]], "get_num_voxels() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.get_num_voxels"]], "get_num_voxels() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.get_num_voxels"]], "get_parameter() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_parameter"]], "get_parameter() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_parameter"]], "get_points() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.get_points"]], "get_points() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.get_points"]], "get_property() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.get_property"]], "get_property() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.get_property"]], "get_reaction() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_reaction"]], "get_reaction() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_reaction"]], "get_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_species"]], "get_species() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.get_species"]], "get_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_species"]], "get_species() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.get_species"]], "get_timespan() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.get_timespan"]], "get_timespan() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.get_timespan"]], "get_type_def() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.get_type_def"]], "get_type_def() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.get_type_def"]], "get_vol() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.get_vol"]], "get_vol() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.get_vol"]], "import_meshio_object() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.import_meshio_object"]], "import_meshio_object() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.import_meshio_object"]], "initialize() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.initialize"]], "initialize() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.initialize"]], "inside() (spatialpy.core.combinatorygeometry method)": [[1, "spatialpy.core.CombinatoryGeometry.inside"]], "inside() (spatialpy.core.geometry method)": [[1, "spatialpy.core.Geometry.inside"]], "inside() (spatialpy.core.geometryall method)": [[1, "spatialpy.core.GeometryAll.inside"]], "inside() (spatialpy.core.geometryexterior method)": [[1, "spatialpy.core.GeometryExterior.inside"]], "inside() (spatialpy.core.geometryinterior method)": [[1, "spatialpy.core.GeometryInterior.inside"]], "inside() (spatialpy.core.transformation method)": [[1, "spatialpy.core.Transformation.inside"]], "inside() (spatialpy.core.geometry.combinatorygeometry method)": [[1, "spatialpy.core.geometry.CombinatoryGeometry.inside"]], "inside() (spatialpy.core.geometry.geometry method)": [[1, "spatialpy.core.geometry.Geometry.inside"]], "inside() (spatialpy.core.geometry.geometryall method)": [[1, "spatialpy.core.geometry.GeometryAll.inside"]], "inside() (spatialpy.core.geometry.geometryexterior method)": [[1, "spatialpy.core.geometry.GeometryExterior.inside"]], "inside() (spatialpy.core.geometry.geometryinterior method)": [[1, "spatialpy.core.geometry.GeometryInterior.inside"]], "inside() (spatialpy.core.transformation.transformation method)": [[1, "spatialpy.core.transformation.Transformation.inside"]], "linspace() (spatialpy.core.timespan class method)": [[1, "spatialpy.core.TimeSpan.linspace"]], "linspace() (spatialpy.core.timespan.timespan class method)": [[1, "spatialpy.core.timespan.TimeSpan.linspace"]], "map() (spatialpy.core.datafunction method)": [[1, "spatialpy.core.DataFunction.map"]], "map() (spatialpy.core.datafunction.datafunction method)": [[1, "spatialpy.core.datafunction.DataFunction.map"]], "plot_property() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.plot_property"]], "plot_property() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.plot_property"]], "plot_scatter() (spatialpy.core.visualization method)": [[1, "spatialpy.core.Visualization.plot_scatter"]], "plot_scatter() (spatialpy.core.visualization.visualization method)": [[1, "spatialpy.core.visualization.Visualization.plot_scatter"]], "plot_species() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.plot_species"]], "plot_species() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.plot_species"]], "plot_types() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.plot_types"]], "plot_types() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.plot_types"]], "preview_actions() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.preview_actions"]], "preview_actions() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.preview_actions"]], "read_file() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.read_file"]], "read_file() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.read_file"]], "read_msh_file() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.read_msh_file"]], "read_msh_file() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.read_msh_file"]], "read_step() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.read_step"]], "read_step() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.read_step"]], "read_stochss_domain() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.read_stochss_domain"]], "read_stochss_domain() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.read_stochss_domain"]], "read_stochss_subdomain_file() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.read_stochss_subdomain_file"]], "read_stochss_subdomain_file() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.read_stochss_subdomain_file"]], "read_xml_mesh() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.read_xml_mesh"]], "read_xml_mesh() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.read_xml_mesh"]], "reserved_names (spatialpy.core.model attribute)": [[1, "spatialpy.core.Model.reserved_names"]], "reserved_names (spatialpy.core.model.model attribute)": [[1, "spatialpy.core.model.Model.reserved_names"]], "reverse_transform() (spatialpy.core.reflectiontransformation method)": [[1, "spatialpy.core.ReflectionTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.rotationtransformation method)": [[1, "spatialpy.core.RotationTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.scalingtransformation method)": [[1, "spatialpy.core.ScalingTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation method)": [[1, "spatialpy.core.Transformation.reverse_transform"]], "reverse_transform() (spatialpy.core.translationtransformation method)": [[1, "spatialpy.core.TranslationTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation.reflectiontransformation method)": [[1, "spatialpy.core.transformation.ReflectionTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation.rotationtransformation method)": [[1, "spatialpy.core.transformation.RotationTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation.scalingtransformation method)": [[1, "spatialpy.core.transformation.ScalingTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation.transformation method)": [[1, "spatialpy.core.transformation.Transformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation.translationtransformation method)": [[1, "spatialpy.core.transformation.TranslationTransformation.reverse_transform"]], "run() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.run"]], "run() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.run"]], "sanitized_data_function_names() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.sanitized_data_function_names"]], "sanitized_data_function_names() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.sanitized_data_function_names"]], "sanitized_parameter_names() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.sanitized_parameter_names"]], "sanitized_parameter_names() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.sanitized_parameter_names"]], "sanitized_propensity_function() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.sanitized_propensity_function"]], "sanitized_propensity_function() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.sanitized_propensity_function"]], "sanitized_species_names() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.sanitized_species_names"]], "sanitized_species_names() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.sanitized_species_names"]], "set_annotation() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.set_annotation"]], "set_annotation() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.set_annotation"]], "set_diffusion_coefficient() (spatialpy.core.species method)": [[1, "spatialpy.core.Species.set_diffusion_coefficient"]], "set_diffusion_coefficient() (spatialpy.core.species.species method)": [[1, "spatialpy.core.species.Species.set_diffusion_coefficient"]], "set_filename() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.set_filename"]], "set_filename() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.set_filename"]], "set_propensities() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.set_propensities"]], "set_propensities() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.set_propensities"]], "set_properties() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.set_properties"]], "set_properties() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.set_properties"]], "set_rate() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.set_rate"]], "set_rate() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.set_rate"]], "set_timesteps() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.set_timesteps"]], "set_timesteps() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.set_timesteps"]], "spatialpy.core": [[1, "module-spatialpy.core"]], "spatialpy.core.boundarycondition": [[1, "module-spatialpy.core.boundarycondition"]], "spatialpy.core.cleanup": [[1, "module-spatialpy.core.cleanup"]], "spatialpy.core.datafunction": [[1, "module-spatialpy.core.datafunction"]], "spatialpy.core.domain": [[1, "module-spatialpy.core.domain"]], "spatialpy.core.geometry": [[1, "module-spatialpy.core.geometry"]], "spatialpy.core.initialcondition": [[1, "module-spatialpy.core.initialcondition"]], "spatialpy.core.lattice": [[1, "module-spatialpy.core.lattice"]], "spatialpy.core.model": [[1, "module-spatialpy.core.model"]], "spatialpy.core.parameter": [[1, "module-spatialpy.core.parameter"]], "spatialpy.core.reaction": [[1, "module-spatialpy.core.reaction"]], "spatialpy.core.result": [[1, "module-spatialpy.core.result"]], "spatialpy.core.spatialpyerror": [[1, "module-spatialpy.core.spatialpyerror"]], "spatialpy.core.species": [[1, "module-spatialpy.core.species"]], "spatialpy.core.timespan": [[1, "module-spatialpy.core.timespan"]], "spatialpy.core.transformation": [[1, "module-spatialpy.core.transformation"]], "spatialpy.core.visualization": [[1, "module-spatialpy.core.visualization"]], "spatialpy.core.vtkreader": [[1, "module-spatialpy.core.vtkreader"]], "special_characters (spatialpy.core.model attribute)": [[1, "spatialpy.core.Model.special_characters"]], "special_characters (spatialpy.core.model.model attribute)": [[1, "spatialpy.core.model.Model.special_characters"]], "timespan() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.timespan"]], "timespan() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.timespan"]], "to_dict() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.to_dict"]], "to_dict() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.to_dict"]], "transform() (spatialpy.core.reflectiontransformation method)": [[1, "spatialpy.core.ReflectionTransformation.transform"]], "transform() (spatialpy.core.rotationtransformation method)": [[1, "spatialpy.core.RotationTransformation.transform"]], "transform() (spatialpy.core.scalingtransformation method)": [[1, "spatialpy.core.ScalingTransformation.transform"]], "transform() (spatialpy.core.transformation method)": [[1, "spatialpy.core.Transformation.transform"]], "transform() (spatialpy.core.translationtransformation method)": [[1, "spatialpy.core.TranslationTransformation.transform"]], "transform() (spatialpy.core.transformation.reflectiontransformation method)": [[1, "spatialpy.core.transformation.ReflectionTransformation.transform"]], "transform() (spatialpy.core.transformation.rotationtransformation method)": [[1, "spatialpy.core.transformation.RotationTransformation.transform"]], "transform() (spatialpy.core.transformation.scalingtransformation method)": [[1, "spatialpy.core.transformation.ScalingTransformation.transform"]], "transform() (spatialpy.core.transformation.transformation method)": [[1, "spatialpy.core.transformation.Transformation.transform"]], "transform() (spatialpy.core.transformation.translationtransformation method)": [[1, "spatialpy.core.transformation.TranslationTransformation.transform"]], "update_namespace() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.update_namespace"]], "update_namespace() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.update_namespace"]], "validate() (spatialpy.core.cartesianlattice method)": [[1, "spatialpy.core.CartesianLattice.validate"]], "validate() (spatialpy.core.combinatorygeometry method)": [[1, "spatialpy.core.CombinatoryGeometry.validate"]], "validate() (spatialpy.core.cylindricallattice method)": [[1, "spatialpy.core.CylindricalLattice.validate"]], "validate() (spatialpy.core.meshiolattice method)": [[1, "spatialpy.core.MeshIOLattice.validate"]], "validate() (spatialpy.core.parameter method)": [[1, "spatialpy.core.Parameter.validate"]], "validate() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.validate"]], "validate() (spatialpy.core.rotationtransformation method)": [[1, "spatialpy.core.RotationTransformation.validate"]], "validate() (spatialpy.core.scalingtransformation method)": [[1, "spatialpy.core.ScalingTransformation.validate"]], "validate() (spatialpy.core.species method)": [[1, "spatialpy.core.Species.validate"]], "validate() (spatialpy.core.sphericallattice method)": [[1, "spatialpy.core.SphericalLattice.validate"]], "validate() (spatialpy.core.stochsslattice method)": [[1, "spatialpy.core.StochSSLattice.validate"]], "validate() (spatialpy.core.timespan method)": [[1, "spatialpy.core.TimeSpan.validate"]], "validate() (spatialpy.core.transformation method)": [[1, "spatialpy.core.Transformation.validate"]], "validate() (spatialpy.core.translationtransformation method)": [[1, "spatialpy.core.TranslationTransformation.validate"]], "validate() (spatialpy.core.xmlmeshlattice method)": [[1, "spatialpy.core.XMLMeshLattice.validate"]], "validate() (spatialpy.core.geometry.combinatorygeometry method)": [[1, "spatialpy.core.geometry.CombinatoryGeometry.validate"]], "validate() (spatialpy.core.lattice.cartesianlattice method)": [[1, "spatialpy.core.lattice.CartesianLattice.validate"]], "validate() (spatialpy.core.lattice.cylindricallattice method)": [[1, "spatialpy.core.lattice.CylindricalLattice.validate"]], "validate() (spatialpy.core.lattice.lattice method)": [[1, "spatialpy.core.lattice.Lattice.validate"]], "validate() (spatialpy.core.lattice.meshiolattice method)": [[1, "spatialpy.core.lattice.MeshIOLattice.validate"]], "validate() (spatialpy.core.lattice.sphericallattice method)": [[1, "spatialpy.core.lattice.SphericalLattice.validate"]], "validate() (spatialpy.core.lattice.stochsslattice method)": [[1, "spatialpy.core.lattice.StochSSLattice.validate"]], "validate() (spatialpy.core.lattice.xmlmeshlattice method)": [[1, "spatialpy.core.lattice.XMLMeshLattice.validate"]], "validate() (spatialpy.core.parameter.parameter method)": [[1, "spatialpy.core.parameter.Parameter.validate"]], "validate() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.validate"]], "validate() (spatialpy.core.species.species method)": [[1, "spatialpy.core.species.Species.validate"]], "validate() (spatialpy.core.timespan.timespan method)": [[1, "spatialpy.core.timespan.TimeSpan.validate"]], "validate() (spatialpy.core.transformation.rotationtransformation method)": [[1, "spatialpy.core.transformation.RotationTransformation.validate"]], "validate() (spatialpy.core.transformation.scalingtransformation method)": [[1, "spatialpy.core.transformation.ScalingTransformation.validate"]], "validate() (spatialpy.core.transformation.transformation method)": [[1, "spatialpy.core.transformation.Transformation.validate"]], "validate() (spatialpy.core.transformation.translationtransformation method)": [[1, "spatialpy.core.transformation.TranslationTransformation.validate"]], "validate_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.validate_action"]], "validate_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.validate_action"]], "buildexpression (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.BuildExpression"]], "buildexpression.validationvisitor (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor"]], "cppconverter (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.CppConverter"]], "cppconverter.cppexpressiontransformer (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.CppConverter.CppExpressionTransformer"]], "expressionconverter (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter"]], "expressionresults (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.ExpressionResults"]], "pythonconverter (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.PythonConverter"]], "solver (class in spatialpy.solvers.solver)": [[2, "spatialpy.solvers.solver.Solver"]], "compile() (spatialpy.solvers.solver.solver method)": [[2, "spatialpy.solvers.solver.Solver.compile"]], "convert_str() (spatialpy.solvers.build_expression.expressionconverter class method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.convert_str"]], "get_str() (spatialpy.solvers.build_expression.cppconverter method)": [[2, "spatialpy.solvers.build_expression.CppConverter.get_str"]], "get_str() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.get_str"]], "getexpr_cpp() (spatialpy.solvers.build_expression.buildexpression method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.getexpr_cpp"]], "getexpr_python() (spatialpy.solvers.build_expression.buildexpression method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.getexpr_python"]], "map_operator() (spatialpy.solvers.build_expression.buildexpression class method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.map_operator"]], "operator_map (spatialpy.solvers.build_expression.buildexpression attribute)": [[2, "spatialpy.solvers.build_expression.BuildExpression.operator_map"]], "parse_comparison() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.parse_comparison"]], "parse_logical() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.parse_logical"]], "parse_operator() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.parse_operator"]], "run() (spatialpy.solvers.solver.solver method)": [[2, "spatialpy.solvers.solver.Solver.run"]], "spatialpy.solvers": [[2, "module-spatialpy.solvers"]], "spatialpy.solvers.build_expression": [[2, "module-spatialpy.solvers.build_expression"]], "spatialpy.solvers.solver": [[2, "module-spatialpy.solvers.solver"]], "validate() (spatialpy.solvers.build_expression.buildexpression method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.validate"]], "visit_add() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Add"]], "visit_and() (spatialpy.solvers.build_expression.cppconverter method)": [[2, "spatialpy.solvers.build_expression.CppConverter.visit_And"]], "visit_and() (spatialpy.solvers.build_expression.pythonconverter method)": [[2, "spatialpy.solvers.build_expression.PythonConverter.visit_And"]], "visit_assign() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_Assign"]], "visit_binop() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_BinOp"]], "visit_binop() (spatialpy.solvers.build_expression.cppconverter.cppexpressiontransformer method)": [[2, "spatialpy.solvers.build_expression.CppConverter.CppExpressionTransformer.visit_BinOp"]], "visit_binop() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_BinOp"]], "visit_boolop() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_BoolOp"]], "visit_boolop() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_BoolOp"]], "visit_bytes() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Bytes"]], "visit_call() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_Call"]], "visit_call() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Call"]], "visit_compare() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_Compare"]], "visit_compare() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Compare"]], "visit_constant() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Constant"]], "visit_div() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Div"]], "visit_ellipsis() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Ellipsis"]], "visit_eq() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Eq"]], "visit_gt() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Gt"]], "visit_gte() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_GtE"]], "visit_lt() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Lt"]], "visit_lte() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_LtE"]], "visit_mult() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Mult"]], "visit_name() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_Name"]], "visit_name() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Name"]], "visit_nameconstant() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_NameConstant"]], "visit_noteq() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_NotEq"]], "visit_num() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Num"]], "visit_or() (spatialpy.solvers.build_expression.cppconverter method)": [[2, "spatialpy.solvers.build_expression.CppConverter.visit_Or"]], "visit_or() (spatialpy.solvers.build_expression.pythonconverter method)": [[2, "spatialpy.solvers.build_expression.PythonConverter.visit_Or"]], "visit_pow() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Pow"]], "visit_str() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Str"]], "visit_sub() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Sub"]], "visit_usub() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_USub"]], "visit_unaryop() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_UnaryOp"]], "visit_unaryop() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_UnaryOp"]], "with_blacklist() (spatialpy.solvers.build_expression.buildexpression method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.with_blacklist"]], "with_namespace() (spatialpy.solvers.build_expression.buildexpression method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.with_namespace"]], "export() (in module spatialpy.stochss.stochss_export)": [[3, "spatialpy.stochss.stochss_export.export"]], "spatialpy.stochss": [[3, "module-spatialpy.stochss"]], "spatialpy.stochss.stochss_export": [[3, "module-spatialpy.stochss.stochss_export"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["classes/spatialpy", "classes/spatialpy.core", "classes/spatialpy.solvers", "classes/spatialpy.stochss", "index"], "filenames": ["classes/spatialpy.rst", "classes/spatialpy.core.rst", "classes/spatialpy.solvers.rst", "classes/spatialpy.stochss.rst", "index.rst"], "titles": ["spatialpy package", "spatialpy.core package", "spatialpy.solvers package", "spatialpy.stochss package", "Documentation for SpatialPy 1.2.0"], "terms": {"core": [0, 2, 3, 4], "submodul": 0, "boundarycondit": 0, "express": [0, 1, 2], "cleanup": 0, "cleanup_build_fil": [0, 1], "cleanup_core_fil": [0, 1], "cleanup_result_fil": [0, 1], "cleanup_tempfil": [0, 1], "datafunct": 0, "map": [0, 1, 2], "domain": [0, 4], "add_fill_act": [0, 1], "add_point": [0, 1], "add_remove_act": [0, 1], "add_set_act": [0, 1], "apply_act": [0, 1], "apply_fill_act": [0, 1], "apply_remove_act": [0, 1], "apply_set_act": [0, 1], "calculate_vol": [0, 1], "closest_vertex": [0, 1], "compile_prep": [0, 1], "coordin": [0, 1], "create_2d_domain": [0, 1], "create_3d_domain": [0, 1], "distance_between_2_vertic": [0, 1], "fill_with_particl": [0, 1], "find_boundary_point": [0, 1], "find_h": [0, 1], "get_bounding_box": [0, 1], "get_domain_s": [0, 1], "get_num_voxel": [0, 1], "get_type_def": [0, 1], "get_vol": [0, 1], "import_meshio_object": [0, 1], "plot_typ": [0, 1], "preview_act": [0, 1], "read_msh_fil": [0, 1], "read_stochss_domain": [0, 1], "read_stochss_subdomain_fil": [0, 1], "read_xml_mesh": [0, 1], "set_properti": [0, 1], "validate_act": [0, 1], "geometri": 0, "combinatorygeometri": [0, 1], "insid": [0, 1], "valid": [0, 1, 2], "geometryal": [0, 1], "geometryexterior": [0, 1], "geometryinterior": [0, 1], "initialcondit": 0, "appli": [0, 1], "placeinitialcondit": [0, 1], "scatterinitialcondit": [0, 1], "uniforminitialcondit": [0, 1], "lattic": 0, "cartesianlattic": [0, 1], "cylindricallattic": [0, 1], "meshiolattic": [0, 1], "sphericallattic": [0, 1], "stochsslattic": [0, 1], "xmlmeshlattic": [0, 1], "model": [0, 2, 3, 4], "add": [0, 1, 2], "add_boundary_condit": [0, 1], "add_data_funct": [0, 1], "add_domain": [0, 1], "add_initial_condit": [0, 1], "add_paramet": [0, 1], "add_react": [0, 1], "add_speci": [0, 1], "delete_all_boundary_condit": [0, 1], "delete_all_data_funct": [0, 1], "delete_all_initial_condit": [0, 1], "delete_all_paramet": [0, 1], "delete_all_react": [0, 1], "delete_all_speci": [0, 1], "delete_boundary_condit": [0, 1], "delete_data_funct": [0, 1], "delete_initial_condit": [0, 1], "delete_paramet": [0, 1], "delete_react": [0, 1], "delete_speci": [0, 1], "get_all_boundary_condit": [0, 1], "get_all_data_funct": [0, 1], "get_all_initial_condit": [0, 1], "get_all_paramet": [0, 1], "get_all_react": [0, 1], "get_all_speci": [0, 1], "get_data_funct": [0, 1], "get_el": [0, 1], "get_num_react": [0, 1], "get_num_speci": [0, 1], "get_paramet": [0, 1], "get_react": [0, 1], "get_speci": [0, 1], "reserved_nam": [0, 1], "run": [0, 1, 2], "sanitized_data_function_nam": [0, 1], "sanitized_parameter_nam": [0, 1], "sanitized_species_nam": [0, 1], "set_timestep": [0, 1], "special_charact": [0, 1], "timespan": 0, "update_namespac": [0, 1], "export_stochss": [0, 1], "paramet": [0, 2, 3], "reaction": [0, 4], "add_product": [0, 1], "annot": [0, 1], "from_json": [0, 1], "initi": [0, 1], "sanitized_propensity_funct": [0, 1], "set_annot": [0, 1], "set_propens": [0, 1], "set_rat": [0, 1], "to_dict": [0, 1], "result": [0, 2], "export_to_csv": [0, 1], "get_properti": [0, 1], "get_timespan": [0, 1], "plot_properti": [0, 1], "plot_speci": [0, 1], "read_step": [0, 1], "spatialpyerror": 0, "boundaryconditionerror": [0, 1], "datafunctionerror": [0, 1], "domainerror": [0, 1], "geometryerror": [0, 1], "initialconditionerror": [0, 1], "latticeerror": [0, 1], "modelerror": [0, 1], "parametererror": [0, 1], "reactionerror": [0, 1], "resulterror": [0, 1], "simulationerror": [0, 1, 2], "simulationtimeout": [0, 1, 2], "specieserror": [0, 1], "timespanerror": [0, 1], "transformationerror": [0, 1], "vtkreadererror": [0, 1], "vtkreaderioerror": [0, 1], "visualizationerror": [0, 1], "speci": 0, "set_diffusion_coeffici": [0, 1], "arang": [0, 1], "linspac": [0, 1], "transform": 0, "reflectiontransform": [0, 1], "reverse_transform": [0, 1], "rotationtransform": [0, 1], "scalingtransform": [0, 1], "translationtransform": [0, 1], "visual": 0, "mpl_height": [0, 1], "mpl_size": [0, 1], "mpl_width": [0, 1], "plot_scatt": [0, 1], "vtkreader": 0, "get_array_nam": [0, 1], "get_arrai": [0, 1], "get_num_point": [0, 1], "get_point": [0, 1], "read_fil": [0, 1], "set_filenam": [0, 1], "solver": [0, 1, 4], "build_express": 0, "buildexpress": [0, 2], "validationvisitor": [0, 2], "getexpr_cpp": [0, 2], "getexpr_python": [0, 2], "map_oper": [0, 2], "operator_map": [0, 2], "with_blacklist": [0, 2], "with_namespac": [0, 2], "cppconvert": [0, 2], "cppexpressiontransform": [0, 2], "get_str": [0, 2], "visit_and": [0, 2], "visit_or": [0, 2], "expressionconvert": [0, 2], "convert_str": [0, 2], "parse_comparison": [0, 2], "parse_log": [0, 2], "parse_oper": [0, 2], "visit_add": [0, 2], "visit_binop": [0, 2], "visit_boolop": [0, 2], "visit_byt": [0, 2], "visit_cal": [0, 2], "visit_compar": [0, 2], "visit_const": [0, 2], "visit_div": [0, 2], "visit_ellipsi": [0, 2], "visit_eq": [0, 2], "visit_gt": [0, 2], "visit_lt": [0, 2], "visit_mult": [0, 2], "visit_nam": [0, 2], "visit_nameconst": [0, 2], "visit_noteq": [0, 2], "visit_num": [0, 2], "visit_pow": [0, 2], "visit_str": [0, 2], "visit_sub": [0, 2], "visit_usub": [0, 2], "visit_unaryop": [0, 2], "expressionresult": [0, 2], "pythonconvert": [0, 2], "compil": [0, 1, 2], "stochss": [0, 1, 4], "stochss_export": 0, "export": [0, 1, 3], "class": [1, 2], "xmin": 1, "none": [1, 2, 3], "xmax": 1, "ymin": 1, "ymax": 1, "zmin": 1, "zmax": 1, "type_id": 1, "determinist": [1, 4], "true": [1, 2, 3], "target": [1, 2], "valu": [1, 2], "sourc": [1, 2, 3, 4], "base": [1, 2, 4], "object": [1, 2], "set": [1, 2], "spatial": [1, 2, 4], "region": 1, "where": 1, "properti": [1, 2], "particl": [1, 4], "ar": [1, 2], "held": 1, "constant": [1, 2], "updat": 1, "each": 1, "simul": [1, 2, 4], "step": 1, "condit": [1, 2], "one": [1, 2], "more": [1, 2, 4], "follow": [1, 2], "must": 1, "float": 1, "min": 1, "max": 1, "x": 1, "dimens": 1, "y": 1, "z": 1, "type": [1, 2, 3], "subdomain": 1, "partcil": 1, "str": [1, 2, 3], "nu": 1, "rho": 1, "v": 1, "name": [1, 2], "chemic": 1, "also": [1, 2, 4], "fals": [1, 2, 3], "flag": [1, 2], "axi": 1, "lower": 1, "bound": 1, "upper": 1, "int": [1, 2], "id": 1, "bool": [1, 2, 3], "i": [1, 2, 3, 4], "boundari": 1, "yet": 1, "implemenet": 1, "stochast": [1, 4], "can": [1, 2, 4], "If": [1, 2, 4], "determinst": 1, "3": [1, 4], "take": 1, "defin": [1, 2], "creat": [1, 2], "evalu": 1, "string": [1, 2], "return": [1, 2, 3], "A": [1, 2, 4], "represent": [1, 2], "build_dir": 1, "all": [1, 2], "spatialpy_build": 1, "directori": 1, "path": [1, 3], "build": [1, 2, 4], "remov": 1, "option": 1, "tempfil": 1, "result_dir": 1, "spatialpy_result": 1, "abstract": [1, 2], "us": [1, 2, 4], "constuct": 1, "data": [1, 2], "function": [1, 2], "rais": [1, 2], "provid": [1, 2, 4], "point": 1, "thi": [1, 2, 4], "method": [1, 2], "overridden": 1, "subclass": [1, 2], "note": [1, 2], "The": [1, 2, 4], "locat": 1, "evaul": 1, "t": [1, 2], "0": [1, 2], "re": 1, "fluid": [1, 4], "move": 1, "over": 1, "time": [1, 2], "posit": 1, "numpoint": 1, "xlim": 1, "ylim": 1, "zlim": 1, "rho0": 1, "1": [1, 2], "c0": 1, "10": 1, "p0": 1, "graviti": [1, 4], "action": 1, "attribut": 1, "space": 1, "total": 1, "number": [1, 2], "2": 1, "rang": 1, "along": 1, "background": 1, "densiti": 1, "system": [1, 4], "speed": 1, "sound": 1, "pressur": 1, "acceler": 1, "cartesian": 1, "spheric": 1, "cylindr": 1, "enabl": 1, "prop": 1, "an": [1, 2, 4], "when": [1, 2], "fill": [1, 4], "default": 1, "dict": [1, 2, 3], "argument": 1, "ignor": 1, "indic": [1, 2], "els": [1, 3], "addit": [1, 2], "pass": [1, 2], "ad": [1, 2], "wasn": 1, "could": [1, 2], "construct": 1, "vol": 1, "mass": 1, "unassign": 1, "fix": 1, "c": [1, 2], "singl": [1, 2], "vertic": 1, "volum": 1, "cradded": 1, "viscos": 1, "artifici": 1, "contain": [1, 2], "invalid": [1, 2], "charact": 1, "from": [1, 2], "start": [1, 2, 4], "end": 1, "preserve_act": 1, "order": 1, "index": [1, 4], "inclus": 1, "exclus": 1, "after": 1, "its": 1, "support": [1, 4], "within": 1, "have": 1, "exampl": 1, "lattice_obj": 1, "geometry_obj": 1, "miss": 1, "calcul": 1, "find": [1, 4], "nearest": 1, "vertex": 1, "given": [1, 2], "gener": [1, 4], "list": [1, 2], "check": [1, 2], "preper": 1, "file": [1, 3], "get": [1, 2], "numpi": 1, "arrai": 1, "classmethod": [1, 2], "numx": 1, "numi": 1, "kwarg": 1, "2d": 1, "highest": 1, "lowest": 1, "keyword": 1, "uniform": 1, "numz": 1, "3d": [1, 4], "distanc": 1, "between": [1, 2], "measur": 1, "geometry_ivar": 1, "deltax": 1, "deltai": 1, "deltaz": 1, "geometr": 1, "shape": 1, "instanc": [1, 2], "minimum": 1, "box": 1, "maximum": [1, 2], "were": [1, 2], "exist": 1, "np": 1, "ndarrai": 1, "dtype": 1, "h": 1, "off": 1, "which": [1, 2], "ha": [1, 4], "greatest": 1, "neighbor": 1, "entir": 1, "limit": 1, "tupl": 1, "estim": 1, "size": 1, "averag": 1, "diamet": 1, "circumradiu": 1, "tetrahedron": 1, "part": 1, "mean": 1, "incid": 1, "cell": 1, "voxel": 1, "definit": 1, "mesh_obj": 1, "subdomain_fil": 1, "import": 1, "python": [1, 2, 4], "meshio": 1, "mesh": 1, "v1": 1, "descript": 1, "filenam": [1, 3], "indeci": 1, "width": 1, "height": 1, "colormap": 1, "titl": 1, "included_types_list": 1, "use_matplotlib": 1, "return_plotly_figur": 1, "plot": 1, "plotli": 1, "onli": [1, 2], "view": 1, "jupyt": 1, "notebook": [1, 4], "pixel": 1, "output": [1, 2], "matplotlib": 1, "inch": 1, "500": 1, "specif": 1, "plotly3": 1, "jet": 1, "blue": 1, "ylorrd": 1, "purd": 1, "bugn": 1, "ylorbr": 1, "pubugn": 1, "bupu": 1, "ylgnbu": 1, "pubu": 1, "gnbu": 1, "ylgn": 1, "green": 1, "red": 1, "grei": 1, "rdpu": 1, "orrd": 1, "purpl": 1, "orang": 1, "graph": 1, "describ": [1, 4], "includ": 1, "By": [1, 2], "displai": 1, "whether": [1, 2, 3], "figur": 1, "dictionari": [1, 2], "trace": 1, "layout": 1, "mai": 1, "edit": 1, "user": [1, 4], "proprti": 1, "preview": 1, "effect": 1, "read": 1, "gmsh": 1, "style": 1, "msh": 1, "domn": 1, "pull": 1, "smdl": 1, "txt": 1, "conain": 1, "fenic": 1, "dolfin": 1, "xml": 1, "assign": [1, 2], "identifi": [1, 2], "immobil": 1, "coverag": 1, "scope": 1, "accept": [1, 2], "doaminerror": 1, "met": 1, "": [1, 4], "formula": 1, "geo_namespac": 1, "combinatori": 1, "multipl": [1, 2], "boolean": 1, "logic": [1, 2], "geo1": 1, "geo2": 1, "geo3": 1, "namespac": [1, 2], "geometry1": 1, "geometry2": 1, "geometry3": 1, "found": [1, 2, 4], "on_boundari": 1, "coodin": 1, "edg": 1, "satisfi": 1, "geometi": 1, "ani": [1, 2, 4], "doe": 1, "tag": 1, "separ": 1, "mark": 1, "work": 1, "triangl": 1, "implement": [1, 2], "direct": 1, "modifi": 1, "u0": 1, "matrix": 1, "count": 1, "contian": 1, "place": 1, "scatter": 1, "randomli": 1, "center": 1, "two": [1, 2], "doesn": 1, "restrict": 1, "depend": 1, "radiu": 1, "length": 1, "delta": 1, "deltar": 1, "surfac": 1, "radial": 1, "skip_valid": 1, "arg": 1, "io": 1, "un": 1, "biochem": 1, "compon": 1, "befor": 1, "other": [1, 2], "combin": 1, "than": 1, "do": 1, "need": [1, 4], "particular": 1, "bound_cond": 1, "conidit": 1, "data_funct": 1, "scalar": 1, "you": [1, 4], "vari": 1, "input": 1, "your": [1, 4], "It": 1, "positon": 1, "toth": 1, "init_cond": 1, "fail": [1, 2], "make": 1, "sure": 1, "paramt": 1, "diffus": [1, 4], "util": 1, "stoichiometr": 1, "dependency_graph": 1, "timestep": 1, "exce": 1, "frequenc": 1, "ordereddict": 1, "form": [1, 4], "kei": [1, 2], "specifi": 1, "element": 1, "differ": [1, 2], "rname": [], "number_of_trajectori": [1, 2], "seed": [1, 2], "timeout": [1, 2], "number_of_thread": [1, 2], "debug_level": [1, 2], "debug": [1, 2], "profil": [1, 2], "how": [1, 2, 4], "mani": [1, 2], "trajectori": [1, 2], "should": [1, 2], "random": [1, 2], "second": [1, 2], "kill": 1, "upon": 1, "reach": 1, "thread": [1, 2], "level": [1, 2], "print": [1, 2], "out": [1, 4], "info": 1, "dure": [1, 2], "addtion": [1, 2], "perform": 1, "chosen": 1, "simplifi": 1, "format": 1, "later": [1, 2], "spatialpysolv": 1, "propens": 1, "intern": 1, "notat": 1, "output_interv": 1, "num_step": 1, "timestep_s": 1, "simlat": 1, "span": 1, "first": [1, 2], "zero": 1, "time_span": 1, "ssa": 1, "sdpd": [1, 4], "engin": 1, "non": 1, "tspan": 1, "evenli": 1, "sampl": 1, "popul": 1, "flatten": 1, "spatialpy_model": 1, "return_stochss_model": [1, 3], "convert": [1, 2, 3], "json": 1, "platform": 1, "directli": [1, 4], "understood": 1, "parent": 1, "call": [1, 2], "referenc": 1, "requir": 1, "outsid": 1, "reactant": 1, "product": 1, "propensity_funct": 1, "ode_propensity_funct": 1, "rate": 1, "restrict_to": 1, "conatain": 1, "neg": 1, "union": 1, "For": [1, 4], "zeroth": 1, "attempt": 1, "higher": 1, "error": 1, "consum": 1, "stoichiometri": 1, "would": 1, "r1": 1, "r2": 1, "event": 1, "same": 1, "custom": 1, "oper": [1, 2], "od": 1, "care": 1, "unit": 1, "about": 1, "execut": [1, 2], "NOT": 1, "both": [1, 4], "term": 1, "repres": 1, "independ": 1, "wa": 1, "impact": 1, "preserv": 1, "produc": 1, "particip": 1, "deprec": 1, "param": 1, "json_object": 1, "defer": 1, "species_map": 1, "parameter_map": 1, "chang": 1, "marat": 1, "urdm": 1, "folder_nam": 1, "write": 1, "csv": 1, "modelname_mesh": 1, "modelname_species_": 1, "column": 1, "n": 1, "vtk": 1, "written": 1, "current": [1, 2], "property_nam": 1, "timepoint": 1, "integ": 1, "1d": 1, "veloc": 1, "bvf_phi": 1, "fraction": 1, "across": 1, "concentr": 1, "retreiv": 1, "inform": [1, 2, 4], "raw": 1, "copy_numb": 1, "unabl": 1, "retriev": 1, "t_ndx": 1, "t_val": 1, "p_ndx": 1, "anim": 1, "t_ndx_list": 1, "f_durat": 1, "t_durat": 1, "300": 1, "6": 1, "4": 1, "8": 1, "indec": 1, "interv": 1, "durat": 1, "frame": [1, 4], "transit": 1, "5": 1, "show": 1, "instead": 1, "step_num": 1, "except": 1, "initailcondit": 1, "bass": 1, "messag": 1, "o": 1, "diffusion_coeffici": 1, "coeffic": 1, "coeffici": 1, "listoftyp": 1, "movement": 1, "setter": 1, "item": [1, 2], "iter": 1, "best": 1, "increment": [1, 2], "20": 1, "num_point": 1, "empti": [1, 2], "repeat": 1, "point1": 1, "normal": 1, "point2": 1, "point3": 1, "reflect": 1, "revers": 1, "around": 1, "arbitrari": 1, "plane": 1, "serv": 1, "vector": 1, "onc": 1, "wrap": 1, "prior": 1, "angl": 1, "rotat": 1, "basic": 1, "factor": 1, "scale": 1, "wrapper": 1, "translat": 1, "40": 1, "plot_arg": 1, "scatter_arg": 1, "multiple_graph": 1, "maplotlib": 1, "pyplot": 1, "subplot": 1, "dist": 1, "group": 1, "nrow": 1, "ncol": 1, "entri": 1, "plote": 1, "py": 1, "minim": 1, "legaci": 1, "reader": 1, "refer": 1, "http": [1, 4], "org": 1, "wp": 1, "upload": 1, "2015": 1, "04": 1, "pdf": 1, "arraid": 1, "ascii": 1, "blacklist": 2, "sanit": 2, "allow": 2, "pre": 2, "flight": 2, "syntax": 2, "well": 2, "manag": 2, "context": 2, "statement": 2, "expect": 2, "forward": 2, "ideal": 2, "univers": 2, "constructor": 2, "granular": 2, "bare": 2, "equival": 2, "trigger": 2, "substitut": 2, "convers": 2, "automat": 2, "correspond": 2, "getexpr_": 2, "nodetransform": 2, "ast": 2, "expres": 2, "spactialpi": 2, "node": 2, "visit_assign": 2, "visitor": 2, "origin": 2, "binop": 2, "boolop": 2, "binboolopop": 2, "otherwis": 2, "compar": 2, "unaryop": 2, "syntaxerror": 2, "imposs": 2, "convet": 2, "built": 2, "_ast": 2, "Not": 2, "noteq": 2, "mod": 2, "bitand": 2, "mult": 2, "pow": 2, "sub": 2, "div": 2, "floordiv": 2, "lt": 2, "lshift": 2, "lte": 2, "eq": 2, "gt": 2, "gte": 2, "rshift": 2, "matmult": 2, "bitxor": 2, "And": 2, "Or": 2, "bitor": 2, "so": 2, "far": 2, "ensur": 2, "pars": 2, "against": 2, "addition": 2, "reject": 2, "rvalu": 2, "new": 2, "duplic": 2, "overrid": 2, "handl": 2, "behavior": 2, "copi": 2, "rtype": 2, "present": 2, "caus": 2, "what": 2, "tree": 2, "super": 2, "nodevisitor": 2, "self": 2, "comparison": 2, "last": 2, "mathemat": 2, "right": 2, "visit": 2, "left": 2, "most": 2, "recent": 2, "append": 2, "token": 2, "alwai": 2, "hand": 2, "u": 2, "pop": 2, "process": 2, "assum": 2, "inherit": 2, "byte": 2, "ellipsi": 2, "nameconst": 2, "num": 2, "usub": 2, "invalid_nam": 2, "invalid_oper": 2, "is_valid": 2, "struct": 2, "infer": 2, "invalid_": 2, "verbos": 2, "gdbgui": 2, "debugg": 2, "symbol": 2, "hasn": 2, "happen": 2, "gprof": 2, "avail": [2, 4], "consol": 2, "seri": 2, "exceed": 2, "packag": 4, "advect": 4, "problem": 4, "embed": 4, "lagrangian": 4, "dynam": 4, "intend": 4, "replac": 4, "pyurdm": 4, "softwar": 4, "github": 4, "com": 4, "featur": 4, "nsm": 4, "rdme": 4, "static": 4, "sssa": 4, "public": 4, "hybrid": 4, "smooth": 4, "dissip": 4, "algorithm": 4, "drawert": 4, "jacob": 4, "li": 4, "yi": 4, "petzold": 4, "www": 4, "sciencedirect": 4, "scienc": 4, "articl": 4, "pii": 4, "s0021999118307101": 4, "latest": 4, "version": 4, "pypi": 4, "code": 4, "licens": 4, "under": 4, "gnu": 4, "pleas": 4, "regist": 4, "develop": 4, "fund": 4, "nih": 4, "grant": 4, "2r01eb014877": 4, "continu": 4, "we": 4, "prove": 4, "our": 4, "short": 4, "registr": 4, "see": 4, "here": 4, "cylind": 4, "demo": 4, "physic": 4, "flow": 4, "weir": 4, "tracker": 4, "project": 4, "contact": 4, "main": 4, "author": 4, "dr": 4, "brian": 4, "question": 4, "suggest": 4, "subpackag": 4, "modul": 4, "content": 4, "search": 4, "page": 4, "allow_all_typ": 1}, "objects": {"": [[0, 0, 0, "-", "spatialpy"]], "spatialpy": [[1, 0, 0, "-", "core"], [2, 0, 0, "-", "solvers"], [3, 0, 0, "-", "stochss"]], "spatialpy.core": [[1, 1, 1, "", "BoundaryCondition"], [1, 3, 1, "", "BoundaryConditionError"], [1, 1, 1, "", "CartesianLattice"], [1, 1, 1, "", "CombinatoryGeometry"], [1, 1, 1, "", "CylindricalLattice"], [1, 1, 1, "", "DataFunction"], [1, 3, 1, "", "DataFunctionError"], [1, 1, 1, "", "Domain"], [1, 3, 1, "", "DomainError"], [1, 1, 1, "", "Geometry"], [1, 1, 1, "", "GeometryAll"], [1, 3, 1, "", "GeometryError"], [1, 1, 1, "", "GeometryExterior"], [1, 1, 1, "", "GeometryInterior"], [1, 1, 1, "", "InitialCondition"], [1, 3, 1, "", "InitialConditionError"], [1, 3, 1, "", "LatticeError"], [1, 1, 1, "", "MeshIOLattice"], [1, 1, 1, "", "Model"], [1, 3, 1, "", "ModelError"], [1, 1, 1, "", "Parameter"], [1, 3, 1, "", "ParameterError"], [1, 1, 1, "", "PlaceInitialCondition"], [1, 1, 1, "", "Reaction"], [1, 3, 1, "", "ReactionError"], [1, 1, 1, "", "ReflectionTransformation"], [1, 1, 1, "", "Result"], [1, 3, 1, "", "ResultError"], [1, 1, 1, "", "RotationTransformation"], [1, 1, 1, "", "ScalingTransformation"], [1, 1, 1, "", "ScatterInitialCondition"], [1, 3, 1, "", "SimulationError"], [1, 3, 1, "", "SimulationTimeout"], [1, 1, 1, "", "Species"], [1, 3, 1, "", "SpeciesError"], [1, 1, 1, "", "SphericalLattice"], [1, 1, 1, "", "StochSSLattice"], [1, 1, 1, "", "TimeSpan"], [1, 3, 1, "", "TimespanError"], [1, 1, 1, "", "Transformation"], [1, 3, 1, "", "TransformationError"], [1, 1, 1, "", "TranslationTransformation"], [1, 1, 1, "", "UniformInitialCondition"], [1, 1, 1, "", "VTKReader"], [1, 3, 1, "", "VTKReaderError"], [1, 3, 1, "", "VTKReaderIOError"], [1, 1, 1, "", "Visualization"], [1, 3, 1, "", "VisualizationError"], [1, 1, 1, "", "XMLMeshLattice"], [1, 0, 0, "-", "boundarycondition"], [1, 0, 0, "-", "cleanup"], [1, 5, 1, "", "cleanup_build_files"], [1, 5, 1, "", "cleanup_core_files"], [1, 5, 1, "", "cleanup_result_files"], [1, 5, 1, "", "cleanup_tempfiles"], [1, 0, 0, "-", "datafunction"], [1, 0, 0, "-", "domain"], [1, 5, 1, "", "export_StochSS"], [1, 0, 0, "-", "geometry"], [1, 0, 0, "-", "initialcondition"], [1, 0, 0, "-", "lattice"], [1, 0, 0, "-", "model"], [1, 0, 0, "-", "parameter"], [1, 0, 0, "-", "reaction"], [1, 0, 0, "-", "result"], [1, 0, 0, "-", "spatialpyerror"], [1, 0, 0, "-", "species"], [1, 0, 0, "-", "timespan"], [1, 0, 0, "-", "transformation"], [1, 0, 0, "-", "visualization"], [1, 0, 0, "-", "vtkreader"]], "spatialpy.core.BoundaryCondition": [[1, 2, 1, "", "expression"]], "spatialpy.core.CartesianLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.CombinatoryGeometry": [[1, 2, 1, "", "inside"], [1, 2, 1, "", "validate"]], "spatialpy.core.CylindricalLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.DataFunction": [[1, 2, 1, "", "map"]], "spatialpy.core.Domain": [[1, 2, 1, "", "add_fill_action"], [1, 2, 1, "", "add_point"], [1, 2, 1, "", "add_remove_action"], [1, 2, 1, "", "add_set_action"], [1, 2, 1, "", "apply_actions"], [1, 2, 1, "", "apply_fill_action"], [1, 2, 1, "", "apply_remove_action"], [1, 2, 1, "", "apply_set_action"], [1, 2, 1, "", "calculate_vol"], [1, 2, 1, "", "closest_vertex"], [1, 2, 1, "", "compile_prep"], [1, 2, 1, "", "coordinates"], [1, 2, 1, "", "create_2D_domain"], [1, 2, 1, "", "create_3D_domain"], [1, 2, 1, "", "distance_between_2_vertices"], [1, 2, 1, "", "fill_with_particles"], [1, 2, 1, "", "find_boundary_points"], [1, 2, 1, "", "find_h"], [1, 2, 1, "", "get_bounding_box"], [1, 2, 1, "", "get_domain_size"], [1, 2, 1, "", "get_num_voxels"], [1, 2, 1, "", "get_type_def"], [1, 2, 1, "", "get_vol"], [1, 2, 1, "", "import_meshio_object"], [1, 2, 1, "", "plot_types"], [1, 2, 1, "", "preview_actions"], [1, 2, 1, "", "read_msh_file"], [1, 2, 1, "", "read_stochss_domain"], [1, 2, 1, "", "read_stochss_subdomain_file"], [1, 2, 1, "", "read_xml_mesh"], [1, 2, 1, "", "set_properties"], [1, 2, 1, "", "validate_action"]], "spatialpy.core.Geometry": [[1, 2, 1, "", "inside"]], "spatialpy.core.GeometryAll": [[1, 2, 1, "", "inside"]], "spatialpy.core.GeometryExterior": [[1, 2, 1, "", "inside"]], "spatialpy.core.GeometryInterior": [[1, 2, 1, "", "inside"]], "spatialpy.core.InitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.MeshIOLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.Model": [[1, 2, 1, "", "add"], [1, 2, 1, "", "add_boundary_condition"], [1, 2, 1, "", "add_data_function"], [1, 2, 1, "", "add_domain"], [1, 2, 1, "", "add_initial_condition"], [1, 2, 1, "", "add_parameter"], [1, 2, 1, "", "add_reaction"], [1, 2, 1, "", "add_species"], [1, 2, 1, "", "compile_prep"], [1, 2, 1, "", "delete_all_boundary_conditions"], [1, 2, 1, "", "delete_all_data_functions"], [1, 2, 1, "", "delete_all_initial_conditions"], [1, 2, 1, "", "delete_all_parameters"], [1, 2, 1, "", "delete_all_reactions"], [1, 2, 1, "", "delete_all_species"], [1, 2, 1, "", "delete_boundary_condition"], [1, 2, 1, "", "delete_data_function"], [1, 2, 1, "", "delete_initial_condition"], [1, 2, 1, "", "delete_parameter"], [1, 2, 1, "", "delete_reaction"], [1, 2, 1, "", "delete_species"], [1, 2, 1, "", "get_all_boundary_conditions"], [1, 2, 1, "", "get_all_data_functions"], [1, 2, 1, "", "get_all_initial_conditions"], [1, 2, 1, "", "get_all_parameters"], [1, 2, 1, "", "get_all_reactions"], [1, 2, 1, "", "get_all_species"], [1, 2, 1, "", "get_data_function"], [1, 2, 1, "", "get_element"], [1, 2, 1, "", "get_num_reactions"], [1, 2, 1, "", "get_num_species"], [1, 2, 1, "", "get_parameter"], [1, 2, 1, "", "get_reaction"], [1, 2, 1, "", "get_species"], [1, 4, 1, "", "reserved_names"], [1, 2, 1, "", "run"], [1, 2, 1, "", "sanitized_data_function_names"], [1, 2, 1, "", "sanitized_parameter_names"], [1, 2, 1, "", "sanitized_species_names"], [1, 2, 1, "", "set_timesteps"], [1, 4, 1, "", "special_characters"], [1, 2, 1, "", "timespan"], [1, 2, 1, "", "update_namespace"]], "spatialpy.core.Parameter": [[1, 2, 1, "", "validate"]], "spatialpy.core.PlaceInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.Reaction": [[1, 2, 1, "", "add_product"], [1, 2, 1, "", "add_reactant"], [1, 2, 1, "", "annotate"], [1, 2, 1, "", "from_json"], [1, 2, 1, "", "initialize"], [1, 2, 1, "", "sanitized_propensity_function"], [1, 2, 1, "", "set_annotation"], [1, 2, 1, "", "set_propensities"], [1, 2, 1, "", "set_rate"], [1, 2, 1, "", "to_dict"], [1, 2, 1, "", "validate"]], "spatialpy.core.ReflectionTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"]], "spatialpy.core.Result": [[1, 2, 1, "", "export_to_csv"], [1, 2, 1, "", "get_property"], [1, 2, 1, "", "get_species"], [1, 2, 1, "", "get_timespan"], [1, 2, 1, "", "plot_property"], [1, 2, 1, "", "plot_species"], [1, 2, 1, "", "read_step"]], "spatialpy.core.RotationTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.ScalingTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.ScatterInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.Species": [[1, 2, 1, "", "set_diffusion_coefficient"], [1, 2, 1, "", "validate"]], "spatialpy.core.SphericalLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.StochSSLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.TimeSpan": [[1, 2, 1, "", "arange"], [1, 2, 1, "", "linspace"], [1, 2, 1, "", "validate"]], "spatialpy.core.Transformation": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "inside"], [1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.TranslationTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.UniformInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.VTKReader": [[1, 2, 1, "", "get_array_name"], [1, 2, 1, "", "get_arrays"], [1, 2, 1, "", "get_num_points"], [1, 2, 1, "", "get_points"], [1, 2, 1, "", "read_file"], [1, 2, 1, "", "set_filename"]], "spatialpy.core.Visualization": [[1, 4, 1, "", "MPL_HEIGHT"], [1, 4, 1, "", "MPL_SIZE"], [1, 4, 1, "", "MPL_WIDTH"], [1, 2, 1, "", "plot_scatter"]], "spatialpy.core.XMLMeshLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.boundarycondition": [[1, 1, 1, "", "BoundaryCondition"]], "spatialpy.core.boundarycondition.BoundaryCondition": [[1, 2, 1, "", "expression"]], "spatialpy.core.cleanup": [[1, 5, 1, "", "cleanup_build_files"], [1, 5, 1, "", "cleanup_core_files"], [1, 5, 1, "", "cleanup_result_files"], [1, 5, 1, "", "cleanup_tempfiles"]], "spatialpy.core.datafunction": [[1, 1, 1, "", "DataFunction"]], "spatialpy.core.datafunction.DataFunction": [[1, 2, 1, "", "map"]], "spatialpy.core.domain": [[1, 1, 1, "", "Domain"]], "spatialpy.core.domain.Domain": [[1, 2, 1, "", "add_fill_action"], [1, 2, 1, "", "add_point"], [1, 2, 1, "", "add_remove_action"], [1, 2, 1, "", "add_set_action"], [1, 2, 1, "", "apply_actions"], [1, 2, 1, "", "apply_fill_action"], [1, 2, 1, "", "apply_remove_action"], [1, 2, 1, "", "apply_set_action"], [1, 2, 1, "", "calculate_vol"], [1, 2, 1, "", "closest_vertex"], [1, 2, 1, "", "compile_prep"], [1, 2, 1, "", "coordinates"], [1, 2, 1, "", "create_2D_domain"], [1, 2, 1, "", "create_3D_domain"], [1, 2, 1, "", "distance_between_2_vertices"], [1, 2, 1, "", "fill_with_particles"], [1, 2, 1, "", "find_boundary_points"], [1, 2, 1, "", "find_h"], [1, 2, 1, "", "get_bounding_box"], [1, 2, 1, "", "get_domain_size"], [1, 2, 1, "", "get_num_voxels"], [1, 2, 1, "", "get_type_def"], [1, 2, 1, "", "get_vol"], [1, 2, 1, "", "import_meshio_object"], [1, 2, 1, "", "plot_types"], [1, 2, 1, "", "preview_actions"], [1, 2, 1, "", "read_msh_file"], [1, 2, 1, "", "read_stochss_domain"], [1, 2, 1, "", "read_stochss_subdomain_file"], [1, 2, 1, "", "read_xml_mesh"], [1, 2, 1, "", "set_properties"], [1, 2, 1, "", "validate_action"]], "spatialpy.core.geometry": [[1, 1, 1, "", "CombinatoryGeometry"], [1, 1, 1, "", "Geometry"], [1, 1, 1, "", "GeometryAll"], [1, 1, 1, "", "GeometryExterior"], [1, 1, 1, "", "GeometryInterior"]], "spatialpy.core.geometry.CombinatoryGeometry": [[1, 2, 1, "", "inside"], [1, 2, 1, "", "validate"]], "spatialpy.core.geometry.Geometry": [[1, 2, 1, "", "inside"]], "spatialpy.core.geometry.GeometryAll": [[1, 2, 1, "", "inside"]], "spatialpy.core.geometry.GeometryExterior": [[1, 2, 1, "", "inside"]], "spatialpy.core.geometry.GeometryInterior": [[1, 2, 1, "", "inside"]], "spatialpy.core.initialcondition": [[1, 1, 1, "", "InitialCondition"], [1, 1, 1, "", "PlaceInitialCondition"], [1, 1, 1, "", "ScatterInitialCondition"], [1, 1, 1, "", "UniformInitialCondition"]], "spatialpy.core.initialcondition.InitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.initialcondition.PlaceInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.initialcondition.ScatterInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.initialcondition.UniformInitialCondition": [[1, 2, 1, "", "apply"]], "spatialpy.core.lattice": [[1, 1, 1, "", "CartesianLattice"], [1, 1, 1, "", "CylindricalLattice"], [1, 1, 1, "", "Lattice"], [1, 1, 1, "", "MeshIOLattice"], [1, 1, 1, "", "SphericalLattice"], [1, 1, 1, "", "StochSSLattice"], [1, 1, 1, "", "XMLMeshLattice"]], "spatialpy.core.lattice.CartesianLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.CylindricalLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.Lattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.MeshIOLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.SphericalLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.StochSSLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.lattice.XMLMeshLattice": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "validate"]], "spatialpy.core.model": [[1, 1, 1, "", "Model"], [1, 5, 1, "", "export_StochSS"]], "spatialpy.core.model.Model": [[1, 2, 1, "", "add"], [1, 2, 1, "", "add_boundary_condition"], [1, 2, 1, "", "add_data_function"], [1, 2, 1, "", "add_domain"], [1, 2, 1, "", "add_initial_condition"], [1, 2, 1, "", "add_parameter"], [1, 2, 1, "", "add_reaction"], [1, 2, 1, "", "add_species"], [1, 2, 1, "", "compile_prep"], [1, 2, 1, "", "delete_all_boundary_conditions"], [1, 2, 1, "", "delete_all_data_functions"], [1, 2, 1, "", "delete_all_initial_conditions"], [1, 2, 1, "", "delete_all_parameters"], [1, 2, 1, "", "delete_all_reactions"], [1, 2, 1, "", "delete_all_species"], [1, 2, 1, "", "delete_boundary_condition"], [1, 2, 1, "", "delete_data_function"], [1, 2, 1, "", "delete_initial_condition"], [1, 2, 1, "", "delete_parameter"], [1, 2, 1, "", "delete_reaction"], [1, 2, 1, "", "delete_species"], [1, 2, 1, "", "get_all_boundary_conditions"], [1, 2, 1, "", "get_all_data_functions"], [1, 2, 1, "", "get_all_initial_conditions"], [1, 2, 1, "", "get_all_parameters"], [1, 2, 1, "", "get_all_reactions"], [1, 2, 1, "", "get_all_species"], [1, 2, 1, "", "get_data_function"], [1, 2, 1, "", "get_element"], [1, 2, 1, "", "get_num_reactions"], [1, 2, 1, "", "get_num_species"], [1, 2, 1, "", "get_parameter"], [1, 2, 1, "", "get_reaction"], [1, 2, 1, "", "get_species"], [1, 4, 1, "", "reserved_names"], [1, 2, 1, "", "run"], [1, 2, 1, "", "sanitized_data_function_names"], [1, 2, 1, "", "sanitized_parameter_names"], [1, 2, 1, "", "sanitized_species_names"], [1, 2, 1, "", "set_timesteps"], [1, 4, 1, "", "special_characters"], [1, 2, 1, "", "timespan"], [1, 2, 1, "", "update_namespace"]], "spatialpy.core.parameter": [[1, 1, 1, "", "Parameter"]], "spatialpy.core.parameter.Parameter": [[1, 2, 1, "", "validate"]], "spatialpy.core.reaction": [[1, 1, 1, "", "Reaction"]], "spatialpy.core.reaction.Reaction": [[1, 2, 1, "", "add_product"], [1, 2, 1, "", "add_reactant"], [1, 2, 1, "", "annotate"], [1, 2, 1, "", "from_json"], [1, 2, 1, "", "initialize"], [1, 2, 1, "", "sanitized_propensity_function"], [1, 2, 1, "", "set_annotation"], [1, 2, 1, "", "set_propensities"], [1, 2, 1, "", "set_rate"], [1, 2, 1, "", "to_dict"], [1, 2, 1, "", "validate"]], "spatialpy.core.result": [[1, 1, 1, "", "Result"]], "spatialpy.core.result.Result": [[1, 2, 1, "", "export_to_csv"], [1, 2, 1, "", "get_property"], [1, 2, 1, "", "get_species"], [1, 2, 1, "", "get_timespan"], [1, 2, 1, "", "plot_property"], [1, 2, 1, "", "plot_species"], [1, 2, 1, "", "read_step"]], "spatialpy.core.spatialpyerror": [[1, 3, 1, "", "BoundaryConditionError"], [1, 3, 1, "", "DataFunctionError"], [1, 3, 1, "", "DomainError"], [1, 3, 1, "", "GeometryError"], [1, 3, 1, "", "InitialConditionError"], [1, 3, 1, "", "LatticeError"], [1, 3, 1, "", "ModelError"], [1, 3, 1, "", "ParameterError"], [1, 3, 1, "", "ReactionError"], [1, 3, 1, "", "ResultError"], [1, 3, 1, "", "SimulationError"], [1, 3, 1, "", "SimulationTimeout"], [1, 3, 1, "", "SpeciesError"], [1, 3, 1, "", "TimespanError"], [1, 3, 1, "", "TransformationError"], [1, 3, 1, "", "VTKReaderError"], [1, 3, 1, "", "VTKReaderIOError"], [1, 3, 1, "", "VisualizationError"]], "spatialpy.core.species": [[1, 1, 1, "", "Species"]], "spatialpy.core.species.Species": [[1, 2, 1, "", "set_diffusion_coefficient"], [1, 2, 1, "", "validate"]], "spatialpy.core.timespan": [[1, 1, 1, "", "TimeSpan"]], "spatialpy.core.timespan.TimeSpan": [[1, 2, 1, "", "arange"], [1, 2, 1, "", "linspace"], [1, 2, 1, "", "validate"]], "spatialpy.core.transformation": [[1, 1, 1, "", "ReflectionTransformation"], [1, 1, 1, "", "RotationTransformation"], [1, 1, 1, "", "ScalingTransformation"], [1, 1, 1, "", "Transformation"], [1, 1, 1, "", "TranslationTransformation"]], "spatialpy.core.transformation.ReflectionTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"]], "spatialpy.core.transformation.RotationTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.transformation.ScalingTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.transformation.Transformation": [[1, 2, 1, "", "apply"], [1, 2, 1, "", "inside"], [1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.transformation.TranslationTransformation": [[1, 2, 1, "", "reverse_transform"], [1, 2, 1, "", "transform"], [1, 2, 1, "", "validate"]], "spatialpy.core.visualization": [[1, 1, 1, "", "Visualization"]], "spatialpy.core.visualization.Visualization": [[1, 4, 1, "", "MPL_HEIGHT"], [1, 4, 1, "", "MPL_SIZE"], [1, 4, 1, "", "MPL_WIDTH"], [1, 2, 1, "", "plot_scatter"]], "spatialpy.core.vtkreader": [[1, 1, 1, "", "VTKReader"]], "spatialpy.core.vtkreader.VTKReader": [[1, 2, 1, "", "get_array_name"], [1, 2, 1, "", "get_arrays"], [1, 2, 1, "", "get_num_points"], [1, 2, 1, "", "get_points"], [1, 2, 1, "", "read_file"], [1, 2, 1, "", "set_filename"]], "spatialpy.solvers": [[2, 0, 0, "-", "build_expression"], [2, 0, 0, "-", "solver"]], "spatialpy.solvers.build_expression": [[2, 1, 1, "", "BuildExpression"], [2, 1, 1, "", "CppConverter"], [2, 1, 1, "", "ExpressionConverter"], [2, 1, 1, "", "ExpressionResults"], [2, 1, 1, "", "PythonConverter"]], "spatialpy.solvers.build_expression.BuildExpression": [[2, 1, 1, "", "ValidationVisitor"], [2, 2, 1, "", "getexpr_cpp"], [2, 2, 1, "", "getexpr_python"], [2, 2, 1, "", "map_operator"], [2, 4, 1, "", "operator_map"], [2, 2, 1, "", "validate"], [2, 2, 1, "", "with_blacklist"], [2, 2, 1, "", "with_namespace"]], "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor": [[2, 2, 1, "", "visit_Assign"], [2, 2, 1, "", "visit_BinOp"], [2, 2, 1, "", "visit_BoolOp"], [2, 2, 1, "", "visit_Call"], [2, 2, 1, "", "visit_Compare"], [2, 2, 1, "", "visit_Name"], [2, 2, 1, "", "visit_UnaryOp"]], "spatialpy.solvers.build_expression.CppConverter": [[2, 1, 1, "", "CppExpressionTransformer"], [2, 2, 1, "", "get_str"], [2, 2, 1, "", "visit_And"], [2, 2, 1, "", "visit_Or"]], "spatialpy.solvers.build_expression.CppConverter.CppExpressionTransformer": [[2, 2, 1, "", "visit_BinOp"]], "spatialpy.solvers.build_expression.ExpressionConverter": [[2, 2, 1, "", "convert_str"], [2, 2, 1, "", "get_str"], [2, 2, 1, "", "parse_comparison"], [2, 2, 1, "", "parse_logical"], [2, 2, 1, "", "parse_operator"], [2, 2, 1, "", "visit_Add"], [2, 2, 1, "", "visit_BinOp"], [2, 2, 1, "", "visit_BoolOp"], [2, 2, 1, "", "visit_Bytes"], [2, 2, 1, "", "visit_Call"], [2, 2, 1, "", "visit_Compare"], [2, 2, 1, "", "visit_Constant"], [2, 2, 1, "", "visit_Div"], [2, 2, 1, "", "visit_Ellipsis"], [2, 2, 1, "", "visit_Eq"], [2, 2, 1, "", "visit_Gt"], [2, 2, 1, "", "visit_GtE"], [2, 2, 1, "", "visit_Lt"], [2, 2, 1, "", "visit_LtE"], [2, 2, 1, "", "visit_Mult"], [2, 2, 1, "", "visit_Name"], [2, 2, 1, "", "visit_NameConstant"], [2, 2, 1, "", "visit_NotEq"], [2, 2, 1, "", "visit_Num"], [2, 2, 1, "", "visit_Pow"], [2, 2, 1, "", "visit_Str"], [2, 2, 1, "", "visit_Sub"], [2, 2, 1, "", "visit_USub"], [2, 2, 1, "", "visit_UnaryOp"]], "spatialpy.solvers.build_expression.PythonConverter": [[2, 2, 1, "", "visit_And"], [2, 2, 1, "", "visit_Or"]], "spatialpy.solvers.solver": [[2, 1, 1, "", "Solver"]], "spatialpy.solvers.solver.Solver": [[2, 2, 1, "", "compile"], [2, 2, 1, "", "run"]], "spatialpy.stochss": [[3, 0, 0, "-", "stochss_export"]], "spatialpy.stochss.stochss_export": [[3, 5, 1, "", "export"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:attribute", "5": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "function", "Python function"]}, "titleterms": {"spatialpi": [0, 1, 2, 3, 4], "packag": [0, 1, 2, 3], "subpackag": 0, "modul": [0, 1, 2, 3], "content": [0, 1, 2, 3], "core": 1, "submodul": [1, 2, 3], "boundarycondit": 1, "cleanup": 1, "datafunct": 1, "domain": 1, "geometri": 1, "initialcondit": 1, "lattic": 1, "model": 1, "paramet": 1, "reaction": 1, "result": 1, "spatialpyerror": 1, "speci": 1, "timespan": 1, "transform": 1, "visual": 1, "vtkreader": 1, "solver": 2, "build_express": 2, "stochss": 3, "stochss_export": 3, "document": 4, "1": 4, "2": 4, "get": 4, "copi": 4, "exampl": 4, "report": 4, "issu": 4, "api": 4, "refer": 4, "indic": 4, "tabl": 4, "3": [], "0": 4}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"spatialpy package": [[0, "spatialpy-package"]], "Subpackages": [[0, "subpackages"]], "Module contents": [[0, "module-spatialpy"], [1, "module-spatialpy.core"], [2, "module-spatialpy.solvers"], [3, "module-spatialpy.stochss"]], "spatialpy.core package": [[1, "spatialpy-core-package"]], "Submodules": [[1, "submodules"], [2, "submodules"], [3, "submodules"]], "spatialpy.core.boundarycondition module": [[1, "module-spatialpy.core.boundarycondition"]], "spatialpy.core.cleanup module": [[1, "module-spatialpy.core.cleanup"]], "spatialpy.core.datafunction module": [[1, "module-spatialpy.core.datafunction"]], "spatialpy.core.domain module": [[1, "module-spatialpy.core.domain"]], "spatialpy.core.geometry module": [[1, "module-spatialpy.core.geometry"]], "spatialpy.core.initialcondition module": [[1, "module-spatialpy.core.initialcondition"]], "spatialpy.core.lattice module": [[1, "module-spatialpy.core.lattice"]], "spatialpy.core.model module": [[1, "module-spatialpy.core.model"]], "spatialpy.core.parameter module": [[1, "module-spatialpy.core.parameter"]], "spatialpy.core.reaction module": [[1, "module-spatialpy.core.reaction"]], "spatialpy.core.result module": [[1, "module-spatialpy.core.result"]], "spatialpy.core.spatialpyerror module": [[1, "module-spatialpy.core.spatialpyerror"]], "spatialpy.core.species module": [[1, "module-spatialpy.core.species"]], "spatialpy.core.timespan module": [[1, "module-spatialpy.core.timespan"]], "spatialpy.core.transformation module": [[1, "module-spatialpy.core.transformation"]], "spatialpy.core.visualization module": [[1, "module-spatialpy.core.visualization"]], "spatialpy.core.vtkreader module": [[1, "module-spatialpy.core.vtkreader"]], "spatialpy.solvers package": [[2, "spatialpy-solvers-package"]], "spatialpy.solvers.build_expression module": [[2, "module-spatialpy.solvers.build_expression"]], "spatialpy.solvers.solver module": [[2, "module-spatialpy.solvers.solver"]], "spatialpy.stochss package": [[3, "spatialpy-stochss-package"]], "spatialpy.stochss.stochss_export module": [[3, "module-spatialpy.stochss.stochss_export"]], "Documentation for SpatialPy 1.2.0": [[4, "documentation-for-spatialpy-release"]], "Getting a copy of SpatialPy": [[4, "getting-a-copy-of-spatialpy"]], "Examples": [[4, "examples"]], "Reporting Issues": [[4, "reporting-issues"]], "Documentation": [[4, "documentation"]], "API reference": [[4, null]], "Indices and tables": [[4, "indices-and-tables"]]}, "indexentries": {"module": [[0, "module-spatialpy"], [1, "module-spatialpy.core"], [1, "module-spatialpy.core.boundarycondition"], [1, "module-spatialpy.core.cleanup"], [1, "module-spatialpy.core.datafunction"], [1, "module-spatialpy.core.domain"], [1, "module-spatialpy.core.geometry"], [1, "module-spatialpy.core.initialcondition"], [1, "module-spatialpy.core.lattice"], [1, "module-spatialpy.core.model"], [1, "module-spatialpy.core.parameter"], [1, "module-spatialpy.core.reaction"], [1, "module-spatialpy.core.result"], [1, "module-spatialpy.core.spatialpyerror"], [1, "module-spatialpy.core.species"], [1, "module-spatialpy.core.timespan"], [1, "module-spatialpy.core.transformation"], [1, "module-spatialpy.core.visualization"], [1, "module-spatialpy.core.vtkreader"], [2, "module-spatialpy.solvers"], [2, "module-spatialpy.solvers.build_expression"], [2, "module-spatialpy.solvers.solver"], [3, "module-spatialpy.stochss"], [3, "module-spatialpy.stochss.stochss_export"]], "spatialpy": [[0, "module-spatialpy"]], "boundarycondition (class in spatialpy.core)": [[1, "spatialpy.core.BoundaryCondition"]], "boundarycondition (class in spatialpy.core.boundarycondition)": [[1, "spatialpy.core.boundarycondition.BoundaryCondition"]], "boundaryconditionerror": [[1, "spatialpy.core.BoundaryConditionError"], [1, "spatialpy.core.spatialpyerror.BoundaryConditionError"]], "cartesianlattice (class in spatialpy.core)": [[1, "spatialpy.core.CartesianLattice"]], "cartesianlattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.CartesianLattice"]], "combinatorygeometry (class in spatialpy.core)": [[1, "spatialpy.core.CombinatoryGeometry"]], "combinatorygeometry (class in spatialpy.core.geometry)": [[1, "spatialpy.core.geometry.CombinatoryGeometry"]], "cylindricallattice (class in spatialpy.core)": [[1, "spatialpy.core.CylindricalLattice"]], "cylindricallattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.CylindricalLattice"]], "datafunction (class in spatialpy.core)": [[1, "spatialpy.core.DataFunction"]], "datafunction (class in spatialpy.core.datafunction)": [[1, "spatialpy.core.datafunction.DataFunction"]], "datafunctionerror": [[1, "spatialpy.core.DataFunctionError"], [1, "spatialpy.core.spatialpyerror.DataFunctionError"]], "domain (class in spatialpy.core)": [[1, "spatialpy.core.Domain"]], "domain (class in spatialpy.core.domain)": [[1, "spatialpy.core.domain.Domain"]], "domainerror": [[1, "spatialpy.core.DomainError"], [1, "spatialpy.core.spatialpyerror.DomainError"]], "geometry (class in spatialpy.core)": [[1, "spatialpy.core.Geometry"]], "geometry (class in spatialpy.core.geometry)": [[1, "spatialpy.core.geometry.Geometry"]], "geometryall (class in spatialpy.core)": [[1, "spatialpy.core.GeometryAll"]], "geometryall (class in spatialpy.core.geometry)": [[1, "spatialpy.core.geometry.GeometryAll"]], "geometryerror": [[1, "spatialpy.core.GeometryError"], [1, "spatialpy.core.spatialpyerror.GeometryError"]], "geometryexterior (class in spatialpy.core)": [[1, "spatialpy.core.GeometryExterior"]], "geometryexterior (class in spatialpy.core.geometry)": [[1, "spatialpy.core.geometry.GeometryExterior"]], "geometryinterior (class in spatialpy.core)": [[1, "spatialpy.core.GeometryInterior"]], "geometryinterior (class in spatialpy.core.geometry)": [[1, "spatialpy.core.geometry.GeometryInterior"]], "initialcondition (class in spatialpy.core)": [[1, "spatialpy.core.InitialCondition"]], "initialcondition (class in spatialpy.core.initialcondition)": [[1, "spatialpy.core.initialcondition.InitialCondition"]], "initialconditionerror": [[1, "spatialpy.core.InitialConditionError"], [1, "spatialpy.core.spatialpyerror.InitialConditionError"]], "lattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.Lattice"]], "latticeerror": [[1, "spatialpy.core.LatticeError"], [1, "spatialpy.core.spatialpyerror.LatticeError"]], "mpl_height (spatialpy.core.visualization attribute)": [[1, "spatialpy.core.Visualization.MPL_HEIGHT"]], "mpl_height (spatialpy.core.visualization.visualization attribute)": [[1, "spatialpy.core.visualization.Visualization.MPL_HEIGHT"]], "mpl_size (spatialpy.core.visualization attribute)": [[1, "spatialpy.core.Visualization.MPL_SIZE"]], "mpl_size (spatialpy.core.visualization.visualization attribute)": [[1, "spatialpy.core.visualization.Visualization.MPL_SIZE"]], "mpl_width (spatialpy.core.visualization attribute)": [[1, "spatialpy.core.Visualization.MPL_WIDTH"]], "mpl_width (spatialpy.core.visualization.visualization attribute)": [[1, "spatialpy.core.visualization.Visualization.MPL_WIDTH"]], "meshiolattice (class in spatialpy.core)": [[1, "spatialpy.core.MeshIOLattice"]], "meshiolattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.MeshIOLattice"]], "model (class in spatialpy.core)": [[1, "spatialpy.core.Model"]], "model (class in spatialpy.core.model)": [[1, "spatialpy.core.model.Model"]], "modelerror": [[1, "spatialpy.core.ModelError"], [1, "spatialpy.core.spatialpyerror.ModelError"]], "parameter (class in spatialpy.core)": [[1, "spatialpy.core.Parameter"]], "parameter (class in spatialpy.core.parameter)": [[1, "spatialpy.core.parameter.Parameter"]], "parametererror": [[1, "spatialpy.core.ParameterError"], [1, "spatialpy.core.spatialpyerror.ParameterError"]], "placeinitialcondition (class in spatialpy.core)": [[1, "spatialpy.core.PlaceInitialCondition"]], "placeinitialcondition (class in spatialpy.core.initialcondition)": [[1, "spatialpy.core.initialcondition.PlaceInitialCondition"]], "reaction (class in spatialpy.core)": [[1, "spatialpy.core.Reaction"]], "reaction (class in spatialpy.core.reaction)": [[1, "spatialpy.core.reaction.Reaction"]], "reactionerror": [[1, "spatialpy.core.ReactionError"], [1, "spatialpy.core.spatialpyerror.ReactionError"]], "reflectiontransformation (class in spatialpy.core)": [[1, "spatialpy.core.ReflectionTransformation"]], "reflectiontransformation (class in spatialpy.core.transformation)": [[1, "spatialpy.core.transformation.ReflectionTransformation"]], "result (class in spatialpy.core)": [[1, "spatialpy.core.Result"]], "result (class in spatialpy.core.result)": [[1, "spatialpy.core.result.Result"]], "resulterror": [[1, "spatialpy.core.ResultError"], [1, "spatialpy.core.spatialpyerror.ResultError"]], "rotationtransformation (class in spatialpy.core)": [[1, "spatialpy.core.RotationTransformation"]], "rotationtransformation (class in spatialpy.core.transformation)": [[1, "spatialpy.core.transformation.RotationTransformation"]], "scalingtransformation (class in spatialpy.core)": [[1, "spatialpy.core.ScalingTransformation"]], "scalingtransformation (class in spatialpy.core.transformation)": [[1, "spatialpy.core.transformation.ScalingTransformation"]], "scatterinitialcondition (class in spatialpy.core)": [[1, "spatialpy.core.ScatterInitialCondition"]], "scatterinitialcondition (class in spatialpy.core.initialcondition)": [[1, "spatialpy.core.initialcondition.ScatterInitialCondition"]], "simulationerror": [[1, "spatialpy.core.SimulationError"], [1, "spatialpy.core.spatialpyerror.SimulationError"]], "simulationtimeout": [[1, "spatialpy.core.SimulationTimeout"], [1, "spatialpy.core.spatialpyerror.SimulationTimeout"]], "species (class in spatialpy.core)": [[1, "spatialpy.core.Species"]], "species (class in spatialpy.core.species)": [[1, "spatialpy.core.species.Species"]], "specieserror": [[1, "spatialpy.core.SpeciesError"], [1, "spatialpy.core.spatialpyerror.SpeciesError"]], "sphericallattice (class in spatialpy.core)": [[1, "spatialpy.core.SphericalLattice"]], "sphericallattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.SphericalLattice"]], "stochsslattice (class in spatialpy.core)": [[1, "spatialpy.core.StochSSLattice"]], "stochsslattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.StochSSLattice"]], "timespan (class in spatialpy.core)": [[1, "spatialpy.core.TimeSpan"]], "timespan (class in spatialpy.core.timespan)": [[1, "spatialpy.core.timespan.TimeSpan"]], "timespanerror": [[1, "spatialpy.core.TimespanError"], [1, "spatialpy.core.spatialpyerror.TimespanError"]], "transformation (class in spatialpy.core)": [[1, "spatialpy.core.Transformation"]], "transformation (class in spatialpy.core.transformation)": [[1, "spatialpy.core.transformation.Transformation"]], "transformationerror": [[1, "spatialpy.core.TransformationError"], [1, "spatialpy.core.spatialpyerror.TransformationError"]], "translationtransformation (class in spatialpy.core)": [[1, "spatialpy.core.TranslationTransformation"]], "translationtransformation (class in spatialpy.core.transformation)": [[1, "spatialpy.core.transformation.TranslationTransformation"]], "uniforminitialcondition (class in spatialpy.core)": [[1, "spatialpy.core.UniformInitialCondition"]], "uniforminitialcondition (class in spatialpy.core.initialcondition)": [[1, "spatialpy.core.initialcondition.UniformInitialCondition"]], "vtkreader (class in spatialpy.core)": [[1, "spatialpy.core.VTKReader"]], "vtkreader (class in spatialpy.core.vtkreader)": [[1, "spatialpy.core.vtkreader.VTKReader"]], "vtkreadererror": [[1, "spatialpy.core.VTKReaderError"], [1, "spatialpy.core.spatialpyerror.VTKReaderError"]], "vtkreaderioerror": [[1, "spatialpy.core.VTKReaderIOError"], [1, "spatialpy.core.spatialpyerror.VTKReaderIOError"]], "visualization (class in spatialpy.core)": [[1, "spatialpy.core.Visualization"]], "visualization (class in spatialpy.core.visualization)": [[1, "spatialpy.core.visualization.Visualization"]], "visualizationerror": [[1, "spatialpy.core.VisualizationError"], [1, "spatialpy.core.spatialpyerror.VisualizationError"]], "xmlmeshlattice (class in spatialpy.core)": [[1, "spatialpy.core.XMLMeshLattice"]], "xmlmeshlattice (class in spatialpy.core.lattice)": [[1, "spatialpy.core.lattice.XMLMeshLattice"]], "add() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add"]], "add() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add"]], "add_boundary_condition() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_boundary_condition"]], "add_boundary_condition() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_boundary_condition"]], "add_data_function() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_data_function"]], "add_data_function() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_data_function"]], "add_domain() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_domain"]], "add_domain() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_domain"]], "add_fill_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.add_fill_action"]], "add_fill_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.add_fill_action"]], "add_initial_condition() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_initial_condition"]], "add_initial_condition() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_initial_condition"]], "add_parameter() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_parameter"]], "add_parameter() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_parameter"]], "add_point() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.add_point"]], "add_point() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.add_point"]], "add_product() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.add_product"]], "add_product() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.add_product"]], "add_reactant() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.add_reactant"]], "add_reactant() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.add_reactant"]], "add_reaction() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_reaction"]], "add_reaction() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_reaction"]], "add_remove_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.add_remove_action"]], "add_remove_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.add_remove_action"]], "add_set_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.add_set_action"]], "add_set_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.add_set_action"]], "add_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.add_species"]], "add_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.add_species"]], "annotate() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.annotate"]], "annotate() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.annotate"]], "apply() (spatialpy.core.cartesianlattice method)": [[1, "spatialpy.core.CartesianLattice.apply"]], "apply() (spatialpy.core.cylindricallattice method)": [[1, "spatialpy.core.CylindricalLattice.apply"]], "apply() (spatialpy.core.initialcondition method)": [[1, "spatialpy.core.InitialCondition.apply"]], "apply() (spatialpy.core.meshiolattice method)": [[1, "spatialpy.core.MeshIOLattice.apply"]], "apply() (spatialpy.core.placeinitialcondition method)": [[1, "spatialpy.core.PlaceInitialCondition.apply"]], "apply() (spatialpy.core.scatterinitialcondition method)": [[1, "spatialpy.core.ScatterInitialCondition.apply"]], "apply() (spatialpy.core.sphericallattice method)": [[1, "spatialpy.core.SphericalLattice.apply"]], "apply() (spatialpy.core.stochsslattice method)": [[1, "spatialpy.core.StochSSLattice.apply"]], "apply() (spatialpy.core.transformation method)": [[1, "spatialpy.core.Transformation.apply"]], "apply() (spatialpy.core.uniforminitialcondition method)": [[1, "spatialpy.core.UniformInitialCondition.apply"]], "apply() (spatialpy.core.xmlmeshlattice method)": [[1, "spatialpy.core.XMLMeshLattice.apply"]], "apply() (spatialpy.core.initialcondition.initialcondition method)": [[1, "spatialpy.core.initialcondition.InitialCondition.apply"]], "apply() (spatialpy.core.initialcondition.placeinitialcondition method)": [[1, "spatialpy.core.initialcondition.PlaceInitialCondition.apply"]], "apply() (spatialpy.core.initialcondition.scatterinitialcondition method)": [[1, "spatialpy.core.initialcondition.ScatterInitialCondition.apply"]], "apply() (spatialpy.core.initialcondition.uniforminitialcondition method)": [[1, "spatialpy.core.initialcondition.UniformInitialCondition.apply"]], "apply() (spatialpy.core.lattice.cartesianlattice method)": [[1, "spatialpy.core.lattice.CartesianLattice.apply"]], "apply() (spatialpy.core.lattice.cylindricallattice method)": [[1, "spatialpy.core.lattice.CylindricalLattice.apply"]], "apply() (spatialpy.core.lattice.lattice method)": [[1, "spatialpy.core.lattice.Lattice.apply"]], "apply() (spatialpy.core.lattice.meshiolattice method)": [[1, "spatialpy.core.lattice.MeshIOLattice.apply"]], "apply() (spatialpy.core.lattice.sphericallattice method)": [[1, "spatialpy.core.lattice.SphericalLattice.apply"]], "apply() (spatialpy.core.lattice.stochsslattice method)": [[1, "spatialpy.core.lattice.StochSSLattice.apply"]], "apply() (spatialpy.core.lattice.xmlmeshlattice method)": [[1, "spatialpy.core.lattice.XMLMeshLattice.apply"]], "apply() (spatialpy.core.transformation.transformation method)": [[1, "spatialpy.core.transformation.Transformation.apply"]], "apply_actions() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.apply_actions"]], "apply_actions() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.apply_actions"]], "apply_fill_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.apply_fill_action"]], "apply_fill_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.apply_fill_action"]], "apply_remove_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.apply_remove_action"]], "apply_remove_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.apply_remove_action"]], "apply_set_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.apply_set_action"]], "apply_set_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.apply_set_action"]], "arange() (spatialpy.core.timespan class method)": [[1, "spatialpy.core.TimeSpan.arange"]], "arange() (spatialpy.core.timespan.timespan class method)": [[1, "spatialpy.core.timespan.TimeSpan.arange"]], "calculate_vol() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.calculate_vol"]], "calculate_vol() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.calculate_vol"]], "cleanup_build_files() (in module spatialpy.core)": [[1, "spatialpy.core.cleanup_build_files"]], "cleanup_build_files() (in module spatialpy.core.cleanup)": [[1, "spatialpy.core.cleanup.cleanup_build_files"]], "cleanup_core_files() (in module spatialpy.core)": [[1, "spatialpy.core.cleanup_core_files"]], "cleanup_core_files() (in module spatialpy.core.cleanup)": [[1, "spatialpy.core.cleanup.cleanup_core_files"]], "cleanup_result_files() (in module spatialpy.core)": [[1, "spatialpy.core.cleanup_result_files"]], "cleanup_result_files() (in module spatialpy.core.cleanup)": [[1, "spatialpy.core.cleanup.cleanup_result_files"]], "cleanup_tempfiles() (in module spatialpy.core)": [[1, "spatialpy.core.cleanup_tempfiles"]], "cleanup_tempfiles() (in module spatialpy.core.cleanup)": [[1, "spatialpy.core.cleanup.cleanup_tempfiles"]], "closest_vertex() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.closest_vertex"]], "closest_vertex() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.closest_vertex"]], "compile_prep() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.compile_prep"]], "compile_prep() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.compile_prep"]], "compile_prep() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.compile_prep"]], "compile_prep() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.compile_prep"]], "coordinates() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.coordinates"]], "coordinates() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.coordinates"]], "create_2d_domain() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.create_2D_domain"]], "create_2d_domain() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.create_2D_domain"]], "create_3d_domain() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.create_3D_domain"]], "create_3d_domain() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.create_3D_domain"]], "delete_all_boundary_conditions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_boundary_conditions"]], "delete_all_boundary_conditions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_boundary_conditions"]], "delete_all_data_functions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_data_functions"]], "delete_all_data_functions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_data_functions"]], "delete_all_initial_conditions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_initial_conditions"]], "delete_all_initial_conditions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_initial_conditions"]], "delete_all_parameters() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_parameters"]], "delete_all_parameters() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_parameters"]], "delete_all_reactions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_reactions"]], "delete_all_reactions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_reactions"]], "delete_all_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_all_species"]], "delete_all_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_all_species"]], "delete_boundary_condition() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_boundary_condition"]], "delete_boundary_condition() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_boundary_condition"]], "delete_data_function() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_data_function"]], "delete_data_function() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_data_function"]], "delete_initial_condition() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_initial_condition"]], "delete_initial_condition() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_initial_condition"]], "delete_parameter() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_parameter"]], "delete_parameter() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_parameter"]], "delete_reaction() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_reaction"]], "delete_reaction() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_reaction"]], "delete_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.delete_species"]], "delete_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.delete_species"]], "distance_between_2_vertices() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.distance_between_2_vertices"]], "distance_between_2_vertices() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.distance_between_2_vertices"]], "export_stochss() (in module spatialpy.core)": [[1, "spatialpy.core.export_StochSS"]], "export_stochss() (in module spatialpy.core.model)": [[1, "spatialpy.core.model.export_StochSS"]], "export_to_csv() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.export_to_csv"]], "export_to_csv() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.export_to_csv"]], "expression() (spatialpy.core.boundarycondition method)": [[1, "spatialpy.core.BoundaryCondition.expression"]], "expression() (spatialpy.core.boundarycondition.boundarycondition method)": [[1, "spatialpy.core.boundarycondition.BoundaryCondition.expression"]], "fill_with_particles() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.fill_with_particles"]], "fill_with_particles() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.fill_with_particles"]], "find_boundary_points() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.find_boundary_points"]], "find_boundary_points() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.find_boundary_points"]], "find_h() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.find_h"]], "find_h() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.find_h"]], "from_json() (spatialpy.core.reaction class method)": [[1, "spatialpy.core.Reaction.from_json"]], "from_json() (spatialpy.core.reaction.reaction class method)": [[1, "spatialpy.core.reaction.Reaction.from_json"]], "get_all_boundary_conditions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_boundary_conditions"]], "get_all_boundary_conditions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_boundary_conditions"]], "get_all_data_functions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_data_functions"]], "get_all_data_functions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_data_functions"]], "get_all_initial_conditions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_initial_conditions"]], "get_all_initial_conditions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_initial_conditions"]], "get_all_parameters() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_parameters"]], "get_all_parameters() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_parameters"]], "get_all_reactions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_reactions"]], "get_all_reactions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_reactions"]], "get_all_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_all_species"]], "get_all_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_all_species"]], "get_array_name() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.get_array_name"]], "get_array_name() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.get_array_name"]], "get_arrays() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.get_arrays"]], "get_arrays() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.get_arrays"]], "get_bounding_box() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.get_bounding_box"]], "get_bounding_box() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.get_bounding_box"]], "get_data_function() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_data_function"]], "get_data_function() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_data_function"]], "get_domain_size() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.get_domain_size"]], "get_domain_size() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.get_domain_size"]], "get_element() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_element"]], "get_element() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_element"]], "get_num_points() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.get_num_points"]], "get_num_points() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.get_num_points"]], "get_num_reactions() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_num_reactions"]], "get_num_reactions() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_num_reactions"]], "get_num_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_num_species"]], "get_num_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_num_species"]], "get_num_voxels() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.get_num_voxels"]], "get_num_voxels() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.get_num_voxels"]], "get_parameter() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_parameter"]], "get_parameter() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_parameter"]], "get_points() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.get_points"]], "get_points() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.get_points"]], "get_property() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.get_property"]], "get_property() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.get_property"]], "get_reaction() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_reaction"]], "get_reaction() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_reaction"]], "get_species() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.get_species"]], "get_species() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.get_species"]], "get_species() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.get_species"]], "get_species() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.get_species"]], "get_timespan() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.get_timespan"]], "get_timespan() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.get_timespan"]], "get_type_def() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.get_type_def"]], "get_type_def() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.get_type_def"]], "get_vol() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.get_vol"]], "get_vol() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.get_vol"]], "import_meshio_object() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.import_meshio_object"]], "import_meshio_object() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.import_meshio_object"]], "initialize() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.initialize"]], "initialize() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.initialize"]], "inside() (spatialpy.core.combinatorygeometry method)": [[1, "spatialpy.core.CombinatoryGeometry.inside"]], "inside() (spatialpy.core.geometry method)": [[1, "spatialpy.core.Geometry.inside"]], "inside() (spatialpy.core.geometryall method)": [[1, "spatialpy.core.GeometryAll.inside"]], "inside() (spatialpy.core.geometryexterior method)": [[1, "spatialpy.core.GeometryExterior.inside"]], "inside() (spatialpy.core.geometryinterior method)": [[1, "spatialpy.core.GeometryInterior.inside"]], "inside() (spatialpy.core.transformation method)": [[1, "spatialpy.core.Transformation.inside"]], "inside() (spatialpy.core.geometry.combinatorygeometry method)": [[1, "spatialpy.core.geometry.CombinatoryGeometry.inside"]], "inside() (spatialpy.core.geometry.geometry method)": [[1, "spatialpy.core.geometry.Geometry.inside"]], "inside() (spatialpy.core.geometry.geometryall method)": [[1, "spatialpy.core.geometry.GeometryAll.inside"]], "inside() (spatialpy.core.geometry.geometryexterior method)": [[1, "spatialpy.core.geometry.GeometryExterior.inside"]], "inside() (spatialpy.core.geometry.geometryinterior method)": [[1, "spatialpy.core.geometry.GeometryInterior.inside"]], "inside() (spatialpy.core.transformation.transformation method)": [[1, "spatialpy.core.transformation.Transformation.inside"]], "linspace() (spatialpy.core.timespan class method)": [[1, "spatialpy.core.TimeSpan.linspace"]], "linspace() (spatialpy.core.timespan.timespan class method)": [[1, "spatialpy.core.timespan.TimeSpan.linspace"]], "map() (spatialpy.core.datafunction method)": [[1, "spatialpy.core.DataFunction.map"]], "map() (spatialpy.core.datafunction.datafunction method)": [[1, "spatialpy.core.datafunction.DataFunction.map"]], "plot_property() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.plot_property"]], "plot_property() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.plot_property"]], "plot_scatter() (spatialpy.core.visualization method)": [[1, "spatialpy.core.Visualization.plot_scatter"]], "plot_scatter() (spatialpy.core.visualization.visualization method)": [[1, "spatialpy.core.visualization.Visualization.plot_scatter"]], "plot_species() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.plot_species"]], "plot_species() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.plot_species"]], "plot_types() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.plot_types"]], "plot_types() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.plot_types"]], "preview_actions() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.preview_actions"]], "preview_actions() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.preview_actions"]], "read_file() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.read_file"]], "read_file() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.read_file"]], "read_msh_file() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.read_msh_file"]], "read_msh_file() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.read_msh_file"]], "read_step() (spatialpy.core.result method)": [[1, "spatialpy.core.Result.read_step"]], "read_step() (spatialpy.core.result.result method)": [[1, "spatialpy.core.result.Result.read_step"]], "read_stochss_domain() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.read_stochss_domain"]], "read_stochss_domain() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.read_stochss_domain"]], "read_stochss_subdomain_file() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.read_stochss_subdomain_file"]], "read_stochss_subdomain_file() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.read_stochss_subdomain_file"]], "read_xml_mesh() (spatialpy.core.domain class method)": [[1, "spatialpy.core.Domain.read_xml_mesh"]], "read_xml_mesh() (spatialpy.core.domain.domain class method)": [[1, "spatialpy.core.domain.Domain.read_xml_mesh"]], "reserved_names (spatialpy.core.model attribute)": [[1, "spatialpy.core.Model.reserved_names"]], "reserved_names (spatialpy.core.model.model attribute)": [[1, "spatialpy.core.model.Model.reserved_names"]], "reverse_transform() (spatialpy.core.reflectiontransformation method)": [[1, "spatialpy.core.ReflectionTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.rotationtransformation method)": [[1, "spatialpy.core.RotationTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.scalingtransformation method)": [[1, "spatialpy.core.ScalingTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation method)": [[1, "spatialpy.core.Transformation.reverse_transform"]], "reverse_transform() (spatialpy.core.translationtransformation method)": [[1, "spatialpy.core.TranslationTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation.reflectiontransformation method)": [[1, "spatialpy.core.transformation.ReflectionTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation.rotationtransformation method)": [[1, "spatialpy.core.transformation.RotationTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation.scalingtransformation method)": [[1, "spatialpy.core.transformation.ScalingTransformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation.transformation method)": [[1, "spatialpy.core.transformation.Transformation.reverse_transform"]], "reverse_transform() (spatialpy.core.transformation.translationtransformation method)": [[1, "spatialpy.core.transformation.TranslationTransformation.reverse_transform"]], "run() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.run"]], "run() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.run"]], "sanitized_data_function_names() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.sanitized_data_function_names"]], "sanitized_data_function_names() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.sanitized_data_function_names"]], "sanitized_parameter_names() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.sanitized_parameter_names"]], "sanitized_parameter_names() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.sanitized_parameter_names"]], "sanitized_propensity_function() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.sanitized_propensity_function"]], "sanitized_propensity_function() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.sanitized_propensity_function"]], "sanitized_species_names() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.sanitized_species_names"]], "sanitized_species_names() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.sanitized_species_names"]], "set_annotation() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.set_annotation"]], "set_annotation() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.set_annotation"]], "set_diffusion_coefficient() (spatialpy.core.species method)": [[1, "spatialpy.core.Species.set_diffusion_coefficient"]], "set_diffusion_coefficient() (spatialpy.core.species.species method)": [[1, "spatialpy.core.species.Species.set_diffusion_coefficient"]], "set_filename() (spatialpy.core.vtkreader method)": [[1, "spatialpy.core.VTKReader.set_filename"]], "set_filename() (spatialpy.core.vtkreader.vtkreader method)": [[1, "spatialpy.core.vtkreader.VTKReader.set_filename"]], "set_propensities() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.set_propensities"]], "set_propensities() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.set_propensities"]], "set_properties() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.set_properties"]], "set_properties() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.set_properties"]], "set_rate() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.set_rate"]], "set_rate() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.set_rate"]], "set_timesteps() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.set_timesteps"]], "set_timesteps() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.set_timesteps"]], "spatialpy.core": [[1, "module-spatialpy.core"]], "spatialpy.core.boundarycondition": [[1, "module-spatialpy.core.boundarycondition"]], "spatialpy.core.cleanup": [[1, "module-spatialpy.core.cleanup"]], "spatialpy.core.datafunction": [[1, "module-spatialpy.core.datafunction"]], "spatialpy.core.domain": [[1, "module-spatialpy.core.domain"]], "spatialpy.core.geometry": [[1, "module-spatialpy.core.geometry"]], "spatialpy.core.initialcondition": [[1, "module-spatialpy.core.initialcondition"]], "spatialpy.core.lattice": [[1, "module-spatialpy.core.lattice"]], "spatialpy.core.model": [[1, "module-spatialpy.core.model"]], "spatialpy.core.parameter": [[1, "module-spatialpy.core.parameter"]], "spatialpy.core.reaction": [[1, "module-spatialpy.core.reaction"]], "spatialpy.core.result": [[1, "module-spatialpy.core.result"]], "spatialpy.core.spatialpyerror": [[1, "module-spatialpy.core.spatialpyerror"]], "spatialpy.core.species": [[1, "module-spatialpy.core.species"]], "spatialpy.core.timespan": [[1, "module-spatialpy.core.timespan"]], "spatialpy.core.transformation": [[1, "module-spatialpy.core.transformation"]], "spatialpy.core.visualization": [[1, "module-spatialpy.core.visualization"]], "spatialpy.core.vtkreader": [[1, "module-spatialpy.core.vtkreader"]], "special_characters (spatialpy.core.model attribute)": [[1, "spatialpy.core.Model.special_characters"]], "special_characters (spatialpy.core.model.model attribute)": [[1, "spatialpy.core.model.Model.special_characters"]], "timespan() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.timespan"]], "timespan() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.timespan"]], "to_dict() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.to_dict"]], "to_dict() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.to_dict"]], "transform() (spatialpy.core.reflectiontransformation method)": [[1, "spatialpy.core.ReflectionTransformation.transform"]], "transform() (spatialpy.core.rotationtransformation method)": [[1, "spatialpy.core.RotationTransformation.transform"]], "transform() (spatialpy.core.scalingtransformation method)": [[1, "spatialpy.core.ScalingTransformation.transform"]], "transform() (spatialpy.core.transformation method)": [[1, "spatialpy.core.Transformation.transform"]], "transform() (spatialpy.core.translationtransformation method)": [[1, "spatialpy.core.TranslationTransformation.transform"]], "transform() (spatialpy.core.transformation.reflectiontransformation method)": [[1, "spatialpy.core.transformation.ReflectionTransformation.transform"]], "transform() (spatialpy.core.transformation.rotationtransformation method)": [[1, "spatialpy.core.transformation.RotationTransformation.transform"]], "transform() (spatialpy.core.transformation.scalingtransformation method)": [[1, "spatialpy.core.transformation.ScalingTransformation.transform"]], "transform() (spatialpy.core.transformation.transformation method)": [[1, "spatialpy.core.transformation.Transformation.transform"]], "transform() (spatialpy.core.transformation.translationtransformation method)": [[1, "spatialpy.core.transformation.TranslationTransformation.transform"]], "update_namespace() (spatialpy.core.model method)": [[1, "spatialpy.core.Model.update_namespace"]], "update_namespace() (spatialpy.core.model.model method)": [[1, "spatialpy.core.model.Model.update_namespace"]], "validate() (spatialpy.core.cartesianlattice method)": [[1, "spatialpy.core.CartesianLattice.validate"]], "validate() (spatialpy.core.combinatorygeometry method)": [[1, "spatialpy.core.CombinatoryGeometry.validate"]], "validate() (spatialpy.core.cylindricallattice method)": [[1, "spatialpy.core.CylindricalLattice.validate"]], "validate() (spatialpy.core.meshiolattice method)": [[1, "spatialpy.core.MeshIOLattice.validate"]], "validate() (spatialpy.core.parameter method)": [[1, "spatialpy.core.Parameter.validate"]], "validate() (spatialpy.core.reaction method)": [[1, "spatialpy.core.Reaction.validate"]], "validate() (spatialpy.core.rotationtransformation method)": [[1, "spatialpy.core.RotationTransformation.validate"]], "validate() (spatialpy.core.scalingtransformation method)": [[1, "spatialpy.core.ScalingTransformation.validate"]], "validate() (spatialpy.core.species method)": [[1, "spatialpy.core.Species.validate"]], "validate() (spatialpy.core.sphericallattice method)": [[1, "spatialpy.core.SphericalLattice.validate"]], "validate() (spatialpy.core.stochsslattice method)": [[1, "spatialpy.core.StochSSLattice.validate"]], "validate() (spatialpy.core.timespan method)": [[1, "spatialpy.core.TimeSpan.validate"]], "validate() (spatialpy.core.transformation method)": [[1, "spatialpy.core.Transformation.validate"]], "validate() (spatialpy.core.translationtransformation method)": [[1, "spatialpy.core.TranslationTransformation.validate"]], "validate() (spatialpy.core.xmlmeshlattice method)": [[1, "spatialpy.core.XMLMeshLattice.validate"]], "validate() (spatialpy.core.geometry.combinatorygeometry method)": [[1, "spatialpy.core.geometry.CombinatoryGeometry.validate"]], "validate() (spatialpy.core.lattice.cartesianlattice method)": [[1, "spatialpy.core.lattice.CartesianLattice.validate"]], "validate() (spatialpy.core.lattice.cylindricallattice method)": [[1, "spatialpy.core.lattice.CylindricalLattice.validate"]], "validate() (spatialpy.core.lattice.lattice method)": [[1, "spatialpy.core.lattice.Lattice.validate"]], "validate() (spatialpy.core.lattice.meshiolattice method)": [[1, "spatialpy.core.lattice.MeshIOLattice.validate"]], "validate() (spatialpy.core.lattice.sphericallattice method)": [[1, "spatialpy.core.lattice.SphericalLattice.validate"]], "validate() (spatialpy.core.lattice.stochsslattice method)": [[1, "spatialpy.core.lattice.StochSSLattice.validate"]], "validate() (spatialpy.core.lattice.xmlmeshlattice method)": [[1, "spatialpy.core.lattice.XMLMeshLattice.validate"]], "validate() (spatialpy.core.parameter.parameter method)": [[1, "spatialpy.core.parameter.Parameter.validate"]], "validate() (spatialpy.core.reaction.reaction method)": [[1, "spatialpy.core.reaction.Reaction.validate"]], "validate() (spatialpy.core.species.species method)": [[1, "spatialpy.core.species.Species.validate"]], "validate() (spatialpy.core.timespan.timespan method)": [[1, "spatialpy.core.timespan.TimeSpan.validate"]], "validate() (spatialpy.core.transformation.rotationtransformation method)": [[1, "spatialpy.core.transformation.RotationTransformation.validate"]], "validate() (spatialpy.core.transformation.scalingtransformation method)": [[1, "spatialpy.core.transformation.ScalingTransformation.validate"]], "validate() (spatialpy.core.transformation.transformation method)": [[1, "spatialpy.core.transformation.Transformation.validate"]], "validate() (spatialpy.core.transformation.translationtransformation method)": [[1, "spatialpy.core.transformation.TranslationTransformation.validate"]], "validate_action() (spatialpy.core.domain method)": [[1, "spatialpy.core.Domain.validate_action"]], "validate_action() (spatialpy.core.domain.domain method)": [[1, "spatialpy.core.domain.Domain.validate_action"]], "buildexpression (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.BuildExpression"]], "buildexpression.validationvisitor (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor"]], "cppconverter (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.CppConverter"]], "cppconverter.cppexpressiontransformer (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.CppConverter.CppExpressionTransformer"]], "expressionconverter (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter"]], "expressionresults (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.ExpressionResults"]], "pythonconverter (class in spatialpy.solvers.build_expression)": [[2, "spatialpy.solvers.build_expression.PythonConverter"]], "solver (class in spatialpy.solvers.solver)": [[2, "spatialpy.solvers.solver.Solver"]], "compile() (spatialpy.solvers.solver.solver method)": [[2, "spatialpy.solvers.solver.Solver.compile"]], "convert_str() (spatialpy.solvers.build_expression.expressionconverter class method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.convert_str"]], "get_str() (spatialpy.solvers.build_expression.cppconverter method)": [[2, "spatialpy.solvers.build_expression.CppConverter.get_str"]], "get_str() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.get_str"]], "getexpr_cpp() (spatialpy.solvers.build_expression.buildexpression method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.getexpr_cpp"]], "getexpr_python() (spatialpy.solvers.build_expression.buildexpression method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.getexpr_python"]], "map_operator() (spatialpy.solvers.build_expression.buildexpression class method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.map_operator"]], "operator_map (spatialpy.solvers.build_expression.buildexpression attribute)": [[2, "spatialpy.solvers.build_expression.BuildExpression.operator_map"]], "parse_comparison() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.parse_comparison"]], "parse_logical() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.parse_logical"]], "parse_operator() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.parse_operator"]], "run() (spatialpy.solvers.solver.solver method)": [[2, "spatialpy.solvers.solver.Solver.run"]], "spatialpy.solvers": [[2, "module-spatialpy.solvers"]], "spatialpy.solvers.build_expression": [[2, "module-spatialpy.solvers.build_expression"]], "spatialpy.solvers.solver": [[2, "module-spatialpy.solvers.solver"]], "validate() (spatialpy.solvers.build_expression.buildexpression method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.validate"]], "visit_add() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Add"]], "visit_and() (spatialpy.solvers.build_expression.cppconverter method)": [[2, "spatialpy.solvers.build_expression.CppConverter.visit_And"]], "visit_and() (spatialpy.solvers.build_expression.pythonconverter method)": [[2, "spatialpy.solvers.build_expression.PythonConverter.visit_And"]], "visit_assign() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_Assign"]], "visit_binop() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_BinOp"]], "visit_binop() (spatialpy.solvers.build_expression.cppconverter.cppexpressiontransformer method)": [[2, "spatialpy.solvers.build_expression.CppConverter.CppExpressionTransformer.visit_BinOp"]], "visit_binop() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_BinOp"]], "visit_boolop() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_BoolOp"]], "visit_boolop() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_BoolOp"]], "visit_bytes() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Bytes"]], "visit_call() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_Call"]], "visit_call() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Call"]], "visit_compare() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_Compare"]], "visit_compare() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Compare"]], "visit_constant() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Constant"]], "visit_div() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Div"]], "visit_ellipsis() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Ellipsis"]], "visit_eq() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Eq"]], "visit_gt() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Gt"]], "visit_gte() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_GtE"]], "visit_lt() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Lt"]], "visit_lte() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_LtE"]], "visit_mult() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Mult"]], "visit_name() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_Name"]], "visit_name() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Name"]], "visit_nameconstant() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_NameConstant"]], "visit_noteq() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_NotEq"]], "visit_num() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Num"]], "visit_or() (spatialpy.solvers.build_expression.cppconverter method)": [[2, "spatialpy.solvers.build_expression.CppConverter.visit_Or"]], "visit_or() (spatialpy.solvers.build_expression.pythonconverter method)": [[2, "spatialpy.solvers.build_expression.PythonConverter.visit_Or"]], "visit_pow() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Pow"]], "visit_str() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Str"]], "visit_sub() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_Sub"]], "visit_usub() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_USub"]], "visit_unaryop() (spatialpy.solvers.build_expression.buildexpression.validationvisitor method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor.visit_UnaryOp"]], "visit_unaryop() (spatialpy.solvers.build_expression.expressionconverter method)": [[2, "spatialpy.solvers.build_expression.ExpressionConverter.visit_UnaryOp"]], "with_blacklist() (spatialpy.solvers.build_expression.buildexpression method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.with_blacklist"]], "with_namespace() (spatialpy.solvers.build_expression.buildexpression method)": [[2, "spatialpy.solvers.build_expression.BuildExpression.with_namespace"]], "export() (in module spatialpy.stochss.stochss_export)": [[3, "spatialpy.stochss.stochss_export.export"]], "spatialpy.stochss": [[3, "module-spatialpy.stochss"]], "spatialpy.stochss.stochss_export": [[3, "module-spatialpy.stochss.stochss_export"]]}}) \ No newline at end of file