from cherab.openadas import OpenADAS from cherab.tools.plasmas import GaussianVolume # tunables ion_density = 1e20 sigma = 0.25 # setup scenegraph world = World() # create atomic data source adas = OpenADAS(permit_extrapolation=True) # PLASMA ---------------------------------------------------------------------- plasma = Plasma(parent=world) plasma.atomic_data = adas plasma.geometry = Sphere(sigma * 5.0) plasma.geometry_transform = None plasma.integrator = NumericalIntegrator(step=sigma / 5.0) # define basic distributions d_density = GaussianVolume(0.5 * ion_density, sigma * 10000) n_density = d_density * 0.01 e_density = GaussianVolume(ion_density, sigma * 10000) temperature = 1 + GaussianVolume(79, sigma) bulk_velocity = ConstantVector3D(Vector3D(-1e6, 0, 0)) deuterium_mass = deuterium.atomic_weight * atomic_mass d_distribution = Maxwellian(d_density, temperature, bulk_velocity, deuterium_mass) nitrogen_mass = nitrogen.atomic_weight * atomic_mass
# tunables peak_density = 1e19 peak_temperature = 2500 magnetic_axis = (2.5, 0) # setup scenegraph world = World() ################### # plasma creation # plasma = Plasma(parent=world) plasma.atomic_data = OpenADAS(permit_extrapolation=True) plasma.geometry = Cylinder(3.5, 2.2, transform=translate(0, 0, -1.1)) plasma.geometry_transform = translate(0, 0, -1.1) # No net velocity for any species zero_velocity = ConstantVector3D(Vector3D(0, 0, 0)) # define neutral species distribution d0_density = NeutralFunction(peak_density, 0.1, magnetic_axis) d0_temperature = Constant3D(0.5) # constant 0.5eV temperature for all neutrals d0_distribution = Maxwellian(d0_density, d0_temperature, zero_velocity, deuterium.atomic_weight * atomic_mass) d0_species = Species(deuterium, 0, d0_distribution) # define deuterium ion species distribution d1_density = IonFunction(peak_density, 0, magnetic_axis)