1"""Simple bouncing molecules in 3-D system. This file is translated from 2port.txt file. 3""" 4 5__author__ = "Dilawar Singh" 6__email__ = "dilawars@ncbs.res.in" 7__date__ = "2020-06-30" 8 9 10import smoldyn 11 12sim = smoldyn.Simulation(low=[0, 0, 0], high=[100, 100, 100]) 13 14# Set it after Simulation object is created. 15sim.seed = 0 16 17spRed = sim.addSpecies("red", color="red", difc=3, display_size=3) 18spRed.addToSolution(20, highpos=[10, 50, 50]) 19# sim.addMolecules(spRed, 20, highpos=[10,50,50]) 20 21spGreen = sim.addSpecies("green", color="green", difc=1, display_size=3) 22# spGreen.addToSolution(10) 23sim.addMolecules(spGreen, 20, highpos=[10,50,50]) 24 25# Add Surfaces 26r1 = smoldyn.Rectangle(corner=[100, 0, 0], dimensions=[100, 100], axis="-x") 27r2 = smoldyn.Rectangle(corner=[0, 0, 0], dimensions=[100, 100], axis="+y") 28r3 = smoldyn.Rectangle(corner=[0, 100, 0], dimensions=[100, 100], axis="-y") 29r4 = smoldyn.Rectangle(corner=[0, 0, 0], dimensions=[100, 100], axis="+z") 30r5 = smoldyn.Rectangle(corner=[0, 0, 100], dimensions=[100, 100], axis="-z") 31 32s1 = sim.addSurface("walls", panels=[r1, r2, r3, r4, r5]) 33# s1.both.setStyle(drawmode='edge') 34s1.setStyle("both", drawmode="edge") 35s1.setAction('both', [spRed, spGreen], "reflect") 36 37# portsurf 38rr = smoldyn.Rectangle(corner=[0, 0, 0], dimensions=[100, 100], axis="+x") 39portSurf = sim.addSurface("portsurf", panels=[rr]) 40portSurf.setStyle('front', drawmode="face", color="gray") 41portSurf.setStyle('back', drawmode="face", color=[0.2, 0, 0, 1]) 42portSurf.setAction('front', [spRed, spGreen], "port") 43portSurf.setAction('back', [spRed, spGreen], "reflect") 44 45# Ports 46testport = sim.addPort(name="testport", surface=portSurf, panel="front") 47sim.setGraphics("opengl", 20) 48sim.run(dt=0.01, stop=100) 49