45 lines
1.7 KiB
Python
45 lines
1.7 KiB
Python
from pprint import pprint
|
|
|
|
import pandas as pd
|
|
from tabulate import tabulate
|
|
from cadCAD.engine import ExecutionMode, ExecutionContext, Executor
|
|
from documentation.examples import sys_model_A, sys_model_B
|
|
from cadCAD import configs
|
|
|
|
exec_mode = ExecutionMode()
|
|
|
|
# Single Process Execution using a Single System Model Configuration:
|
|
# sys_model_A
|
|
sys_model_A = [configs[0]]
|
|
single_proc_ctx = ExecutionContext(context=exec_mode.single_proc)
|
|
sys_model_A_simulation = Executor(exec_context=single_proc_ctx, configs=sys_model_A)
|
|
|
|
sys_model_A_raw_result, sys_model_A_tensor_field = sys_model_A_simulation.execute()
|
|
sys_model_A_result = pd.DataFrame(sys_model_A_raw_result)
|
|
print()
|
|
print("Tensor Field: sys_model_A")
|
|
print(tabulate(sys_model_A_tensor_field, headers='keys', tablefmt='psql'))
|
|
print("Result: System Events DataFrame")
|
|
print(tabulate(sys_model_A_result, headers='keys', tablefmt='psql'))
|
|
print()
|
|
|
|
# # Multiple Processes Execution using Multiple System Model Configurations:
|
|
# # sys_model_A & sys_model_B
|
|
multi_proc_ctx = ExecutionContext(context=exec_mode.multi_proc)
|
|
sys_model_AB_simulation = Executor(exec_context=multi_proc_ctx, configs=configs)
|
|
|
|
|
|
|
|
i = 0
|
|
config_names = ['sys_model_A', 'sys_model_B']
|
|
for sys_model_AB_raw_result, sys_model_AB_tensor_field in sys_model_AB_simulation.execute():
|
|
print()
|
|
pprint(sys_model_AB_raw_result)
|
|
# sys_model_AB_result = pd.DataFrame(sys_model_AB_raw_result)
|
|
print()
|
|
print(f"Tensor Field: {config_names[i]}")
|
|
print(tabulate(sys_model_AB_tensor_field, headers='keys', tablefmt='psql'))
|
|
# print("Result: System Events DataFrame:")
|
|
# print(tabulate(sys_model_AB_result, headers='keys', tablefmt='psql'))
|
|
# print()
|
|
i += 1 |