Spaces:
Sleeping
Sleeping
from pycalculix import * | |
def run_pycalculix_simulation(simulation_type, **kwargs): | |
if simulation_type == "plate": | |
model = Model("pycalculix_plate") | |
model.set_units("mm") | |
part = Part("block", model) | |
part.make_box(0, kwargs["length"], 0, kwargs["width"], 0, kwargs["thickness"]) | |
part.cut_cylinder(0, kwargs["hole_diameter"] / 2, 0, kwargs["hole_diameter"] / 2, kwargs["thickness"]) | |
model.make_step_static(kwargs["force"]) | |
elif simulation_type == "beam": | |
model = Model("pycalculix_beam") | |
model.set_units("mm") | |
part = Part("block", model) | |
part.make_box(0, kwargs["length"], 0, kwargs["width"], 0, kwargs["thickness"]) | |
model.make_step_static(kwargs["load"]) | |
model.run() | |
stress = model.results().max_stress() | |
deformation = model.results().max_displacement() | |
return stress, deformation | |