Esempio n. 1
0
load_wall_configuration(config_file, world)

########################
# load the equilibrium #
eq007 = get_resource("ST40-IVC1", "equilibrium", "eq_006_2T_export")
fiesta = Fiesta(eq007)
b_field = fiesta.b_field
field_tracer = FieldlineTracer(b_field, method=RK2(step_size=0.0001))
equilibrium = fiesta.to_cherab_equilibrium()
psin2d = equilibrium.psi_normalised

##############################
# setup the heatflux profile #

# specify and load heatflux profile
footprint = Eich(1, 0.0001)  # lambda_q=2.5, S=0.5

x = np.linspace(-1, 10, 100)
footprint.set_coordinates(x)
footprint.s_disconnected_dn_max = 2.1
footprint.fx_in_out = 5.
footprint.calculate_heat_flux_density("lfs")

POINT_A = Point2D(0.340, -0.600)
POINT_B = Point2D(0.500, -0.810)
power_profile = sample_power_at_surface(POINT_A, POINT_B, equilibrium,
                                        footprint)
interface_power = 1e6  # 1MW
angle_period = 45

interface_surface = InterfaceSurface(POINT_A, POINT_B, power_profile,
Esempio n. 2
0
world = World()

########################
# load the equilibrium #
eq006 = get_resource("ST40-IVC1", "equilibrium", "eq_006_2T_export")
fiesta = Fiesta(eq006)
b_field = fiesta.b_field
field_tracer = FieldlineTracer(b_field, method=RK2(step_size=0.0001))
equilibrium = fiesta.to_cherab_equilibrium()
psin2d = equilibrium.psi_normalised

##############################
# setup the heatflux profile #

# specify and load heatflux profile
footprint = Eich(1.0e-3, 0.0001e-3)

x = np.linspace(-0.001, 0.01, 100)
footprint.set_coordinates(x)
footprint.s_disconnected_dn_max = 2.1
footprint.fx_in_out = 5.
footprint.calculate_heat_flux_density("lfs")
footprint.plot_heat_power_density()

# make a mesh of the interface surface
interface_point_a = Point2D(0.345941, -0.593439)
interface_point_b = Point2D(0.51091, -0.757166)
interface_vector = interface_point_a.vector_to(interface_point_b)
interface_polygon = np.zeros((100, 2))
psi_on_interface = []
for i in range(100):
Esempio n. 3
0
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Sun Oct 20 18:28:22 2019

@author: Daniel.Ibanez
"""
from vita.modules.sol_heat_flux.eich import Eich
import numpy as np

footprint = Eich(2.5,0.5)# lambda_q=2.5, S=0.5

x=np.linspace(-1,10,100)
footprint.set_coordinates(x)
footprint.s_disconnected_dn_max = 2.1
footprint.fx_in_out = 5.

footprint.calculate_heat_flux_density("hfs-mp")
footprint.plot_heat_power_density()
print(footprint.calculate_heat_power())
Esempio n. 4
0
def run_midplane_power(midplane_model, plasma, plot=False):
    '''
    Function for running the specified mid-plane model

    Input: midplane_model, a string with the type of model to use for the heat-flux
                           evaluation
           plasma,         the plasma settings defined in the .json input file

    return: footprint,     an object of the midplane_model class specified
    '''
    print(plasma)
    print(plasma['sol'])
    if midplane_model == 'Eich':
        footprint = Eich(plasma['sol']['lambda_q'],
                         plasma['sol']['S'])  # lambda_q=2., S=0.1
    else:
        raise NotImplementedError(
            "The midplane_model {} is not yet implemented.".format(
                midplane_model))

#    footprint.s_disconnected_dn_max = 0.003
#    footprint.fx_in_out = 2.5
#    footprint.fx = 20
    footprint.R0 = 1.25 * (1. + 1. / 1.9)
    aux_power = plasma['heating']['NBI-power'] + plasma['heating']['Ohmic-power']\
                + plasma['heating']['rf-power']
    print("Auxiliary heating = {}".format(aux_power))

    if plasma['isotopes'] == "DT":
        alpha_power = aux_power * 0.20
        print("Alpha heating = {}".format(alpha_power))

    else:
        alpha_power = 0.
    print("Total heating = {}".format(aux_power + alpha_power))

    footprint.q0 = (aux_power + alpha_power) / (0.00245419 * 2. *
                                                footprint.R0 * math.pi)
    print("Peak power density is {}".format(footprint.q0), "MW/m2")
    print("Total footprint Power is ", footprint.q0 * 0.00245419, "MW/m")
    print(
        "Total Power is ",
        footprint.q0 * 0.00245419 * 2. * footprint.R0 * math.pi * (.55 / 1.7),
        "MW")
    x_coord = np.linspace(-0.001, 0.020, 100)
    footprint.set_coordinates(x_coord)

    footprint.calculate_heat_flux_density("hfs")

    print(
        "calculated footprint power is {}".format(
            footprint.calculate_heat_power()), "MW/m")
    footprint.xlabel = r'$s\quad [m]$'
    footprint.ylabel = r'$q//(s)\quad [MW/m^2]$'
    if plot:
        footprint.plot_heat_power_density()
    print(footprint.calculate_heat_power())

    return footprint