Source code for app_control.forward

from calculation import Aperture, Geometry, Medium, Resonator, SimulationParameters, Simulation 
from io_tools import save_to_json

[docs] def forward(parameters : dict): """ calculates the absorbtion area and resonance frequency based on parameters provided by the GUI Args: parameters (dict): all required parameters. can be handed over from GUI or CLI """ # Geometry parameters form = parameters['geometry']['shape'] # for cuboid x = parameters['geometry'].get('l', None) y = parameters['geometry'].get('b', None) z = parameters['geometry'].get('h', None) # for cylinder radius = parameters['geometry'].get('radius', None) height = parameters['geometry'].get('height', None) # create Geometry instance geom = Geometry(form=form, x=x, y=y, z=z, radius=radius, height=height) # create Resonator instance resonator = Resonator(geom, parameters['aperture']) # specify simulation parameters temp = parameters['conditions']['temperature'] rel_humidity = parameters['conditions']['humidity'] medium = Medium(temperature_celsius=temp, rel_humidity=rel_humidity) sim_params = SimulationParameters(medium=medium, values_per_octave=500) # run simulation simulation = Simulation(resonator=resonator, sim_params=sim_params) simulation.calc_all() return simulation