module myna.application.adamantine.temperature_part_pvd.app
Application module for the adamantine/temperature_part_pvd simulation. This app contains functionality to configure adamantine simulation cases based on Myna metadata for the corresponding layer within a build. Once cases are configured, cases are launched sequentially within Docker containers.
The current behavior of the application does not consider the part geometry when meshing the domain. It is assumed that you do not have knowledge of the geometry of the part before the current layer, so a "substrate" thickness (specified by the user) is added below the scan path. The substrate is a rectangular box that spans the bounds of the scan path for the layer plus the user-specified padding on each side of the scan path.
Material is added based on the scan path location. It is assumed that the user does not have knowledge of the deposit geometry, so the deposited material size is set to be the max(mesh_size_xy, spot size) in the deposit length and width and max(mesh_size_z, layer thickness) in the deposit height.
class AdamantineTemperatureApp
Simulate the temperature evolution of a part, outputting the results to a VTK PVD-format file
method AdamantineTemperatureApp.__init__
__init__(name='temperature_part_pvd')
method AdamantineTemperatureApp.configure
configure()
Configure case directories for all cases associated with the Myna step
method AdamantineTemperatureApp.configure_case
configure_case(case_dict)
Configures the case directory based on available Myna data
method AdamantineTemperatureApp.execute
execute()
Execute all cases for the Myna step
method AdamantineTemperatureApp.execute_case
execute_case(case_dict: dict)
Execute a case directory using the specified Myna execution parameters
method AdamantineTemperatureApp.parse_configure_arguments
parse_configure_arguments()
Check for arguments relevant to the configure step and update app settings
method AdamantineTemperatureApp.parse_mynafile_path_to_dict
parse_mynafile_path_to_dict(mynafile)
Parses the path of the output Myna file into a dictionary containing the build, part, and layer names as strings and the case_dir and mynafile as Path objects. The path to the Myna file is expected to be in the format: working_dir/build/part/layer/stepname/mynafile
method AdamantineTemperatureApp.update_laser_parameter_dict
update_laser_parameter_dict(input_dict: dict, case_dict: dict)
Update laser power and spot size in the adamantine input dict from the Myna case data.
Assumes that the only beam is "beam_0" and "n_beams" == 1
method AdamantineTemperatureApp.update_material_boundary_condition_dict
update_material_boundary_condition_dict(input_dict: dict)
Update material boundary conditions that are not set by Mist
method AdamantineTemperatureApp.update_material_property_dict_from_mist
update_material_property_dict_from_mist(input_dict: dict, material)
Updates the materials dictionary of the adamantine input dictionary using the Myna-specified material name and corresponding Mist dictionary
This file was automatically generated via lazydocs.