from .Bucket import Bucket from .WarpX import warpx from .Amr import amr from .Geometry import geometry from .Algo import algo from .Langmuirwave import langmuirwave from .Interpolation import interpolation from .Laser import laser from . import Particles from .Particles import particles, particles_list import ctypes from ._libwarpx import libwarpx from ._libwarpx import amrex_init class AMReX(object): def init(self): argv = ['warpx'] argv += warpx.attrlist() argv += amr.attrlist() argv += geometry.attrlist() argv += algo.attrlist() argv += langmuirwave.attrlist() argv += interpolation.attrlist() argv += particles.attrlist() argv += laser.attrlist() if not particles_list: # --- This is needed in case only species_names has been set, # --- assuming that only the built in particle types are being used. for pstring in particles.species_names.split(' '): particles_list.append(getattr(Particles, pstring)) for particle in particles_list: argv += particle.attrlist() amrex_init(argv) def finalize(self, finalize_mpi=1): libwarpx.amrex_finalize(finalize_mpi)