#!/bin/python3 import boutcore as bc bc.init("mesh:n=48") class Model(bc.PhysicsModel): def init(self, restart): self.dens = bc.create3D("sin(x)") self.solve_for(n=self.dens) def rhs(self, time): self.dens.ddt(bc.DDX(self.dens)) model = Model() model.solve()
# class MyModel(PhysicsModel): # def init(self,restart): # self.n=create3D("dens:function") # self.solve_for(dens=self.n) # def rhs(self,time): # self.n.ddt(DDX(self.n)) # model=MyModel() # model.solve() import boutcore as bc from numpy import sqrt from boutcore import bracket, DDZ, Delp2, PhysicsModel import sys bc.init("-d blob".split(" ") + sys.argv[1:]) class Blob2D(PhysicsModel): def init(self, restart): self.mesh = bc.Mesh.getGlobal() self.n = bc.Field3D.fromMesh(self.mesh) self.omega = bc.Field3D.fromMesh(self.mesh) self.phiSolver = bc.Laplacian() options = bc.Options("model") # Temperature in eV Te0 = options.get("Te0", 30) e = options.get("e", 1.602e-19) m_i = options.get("m_i", 2 * 1.667e-27)
# -*- coding: utf-8 #!################################################################## # # 2D blob simulations # # Copyright: NR Walkden, B Dudson, D Schwörer; 2012, , 2017 # ################################################################### import boutcore as bc from numpy import sqrt from boutcore import bracket, DDZ, Delp2 import sys bc.init("-d blob".split(" ") + sys.argv[1:]) mesh = bc.Mesh.getGlobal() n = bc.Field3D.fromMesh(mesh) omega = bc.Field3D.fromMesh(mesh) phi = bc.Field3D.fromMesh(mesh) phiSolver = bc.Laplacian() options = bc.Options("model") # Temperature in eV Te0 = options.get("Te0", 30) e = options.get("e", 1.602e-19) m_i = options.get("m_i", 2 * 1.667e-27) m_e = options.get("m_e", 9.11e-31) # Background density in cubic m
#!/usr/bin/env python3 import boutcore as bc import numpy as np bc.init("-d input -f ../data/BOUT.inp".split(" ")) f = bc.Field3D.fromMesh(None) f.setAll(np.array([[[1.]]])) f2 = bc.Field3D.fromMesh(None) f2.setAll(np.array([[[2.]]])) print(f.getAll()) dump = bc.Datafile() # get global :( dump.add(f3d=f, f2d=f2, save_repeat=True) dump.write()
#!/usr/bin/python3 import boutcore as bc import numpy as np bc.init("-d input -f ../data/BOUT.inp".split(" ")) f=bc.Field3D.fromMesh(None) f.setAll(np.array([[[1.]]])) f2=bc.Field3D.fromMesh(None) f2.setAll(np.array([[[2.]]])) print(f.getAll()) dump=bc.Datafile() # get global :( dump.add(f3d=f,f2d=f2,save_repeat=True) dump.write()
import boutcore as bc bc.init("-d test") bc.print("We can print to the log from python 🎉")
#!/bin/python3 import boutcore as bc bc.init("mesh:n=48") class Model(bc.PhysicsModel): def init(self,restart): self.dens = bc.create3D("sin(x)") self.solve_for(n=self.dens) def rhs(self,time): self.dens.ddt(bc.DDX(self.dens)) model = Model() model.solve()