Page History
Content layer | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
To run the Spacecraft Mass Rollup sample with input and output parameters
|
Note | ||
---|---|---|
| ||
Add the Car Braking Analysis sample project to the Teamwork Cloud server. |
To run the Car Braking Analysis sample to see the relationship between the vehicle mass and braking distance
Run the Car Braking Analysis project while changing the mass of the car, e.g., by 20 kg.
Code Block title Request example for running the simulation with a changed mass mass = [0] * 10 distance = [0] * 10 for x in range(0, 5): mass[x] = 800 + 20 * x parameters = { "inputs": { "grossMass": mass[x] } } results = client.simulate('CarBrakingAnalysis_final', config='Vehicle Analysis no Matlab', commit_results=False, data=json.dumps(parameters)) distance[x] = results['outputs']['stoppingDistance'] print(mass[x], distance[x] )
Draw the a chart of the relationship between the vehicle mass and braking distance.
Code Block title Request example for drawing the chart import numpty as np import matplotlib.pyplot as plt from matplotlib.pyplot import figure from io import StringIO figure(figsize=(16, 8), dpi=80) plt.xlabel('mass (kg)') plt.ylabel('stopping distance (m)') plt.title('The relationship between vehicle mass and braking distance', fontweight="bold", fontsize=20) plt.plot(mass, distance) plt.grid() plt.show()
The chart showing the relationship between the vehicle mass and stopping distance.
To run the Car Braking Analysis sample to calculate the stopping distance
Run the Car Braking Analysis sample to calculate the stopping distance according to the specified car mass and speed.
Code Block title Request example for running the simulation to calculate the stopping distance speed = input("Enter the car speed (km/h):") totalMass = input("Enter the car mass (kg):") parameters = { "inputs": { "grossMass": totalMass, "speed": speed } } results = client.simulate('CarBakingAnalysis', config='Vehicle Analysis no Matlab', data=json.dumps(parameters)) distance = results['outputs']["stoppingDistance"] requiredDistance = results['outputs']["requiredStoppingDistance"] print("Stopping distance:", distance) print("Failed requirements:") print(json.dumps(results['verification'], indent=2))
Draw a chart to show the car stopping distance with the threshold of the required maximum stopping distance.
Code Block title Request example for drawing the chart import matplotlib.pyplot as plt import matplotlib as mpl import numpy as np import pandas as pd data = pd.DataFrame( {"distance": [distance]}) ax = data.plot(kind='bar' figsize=(10,7), color=['dodgerblue'], fontsize=13); plt.axhline(y=requiredDistance, linewidth=3, linestyle='--', color='r') ax.set_ylim([0, distance+50]) plt.title("car Braking Analysis Chart", fontsize=18, weight="bold") plt.ylabel("Metre (m)", fontsize=15) plt.text(0, distance+2, round(distance, 4), ha = 'center', fontsize=14) ax.get_legend().remove() plt.xticks(np.arange(1), ["Stopping distance"], rotation="horizontal", fontsize=15);
The chart showing the car stopping distance with the threshold of the required maximum stopping distance.
Hinge Monte Carlo Analysis sample
The Hinge Monte Carlo sample project demonstrates a server-side simulation that runs the Monte Carlo analysis. In addition, you can draw a histogram chart based on the CSV data after the model execution.
Note | ||
---|---|---|
| ||
Add the Hinge Monte Carlo Analysis sample project to the Teamwork Cloud server. |
To run the Hinge Monte Carlo Analysis and draw a histogram based on CSV data
Run the Hinge Monte Carlo Analysis and get the CSV data.
Code Block title Request example for running the simulation result = client.simulate('HingeMonteCarloAnalysis_Jupyter', config='Monte Carlo Analysis') csv = result['csvExports']['clearance']
Draw a histogram based on the CSV data.
Code Block title Request example for drawing a histogram based on the CSV data import matplotlib.pyplot as plt import numpy as np from matplotlib.pyplot import figure from io import StringIO x = np.loadtxt(StringIO(csv), dtype='double', delimiter=',', skiprows = 1, usecols = (0)) numberOfBins = 30 figure(figsize=(16, 8), dpi=80) plt.hist(x, bins = numberOfBins) plt.xlabel('hinge.clearance') plt.ylabel('Frequency') plt.title('Hinge Clearance Histogram', fontweight="bold", fontsize=20) plt.xticks(np.arange(min(x), max(x), 0.5)) plt.grid() plt.show()
The Hinge Clearance Histogram drawn based on the CSV data.
Cruise Control Widgets sample
The Cruise Control Widgets sample project demonstrates server-side simulation with a specified HTML UI mockup that includes widgets. With this project, you can open the HTML UI window during model execution.
Note | ||
---|---|---|
| ||
|
To run the Cruise Control Widgets project and get the status of the specified simulation
Run the Cruise Control Widgets project.
Code Block title Request example for running the simulation result = client.run('CruiseControl_Widgets', config='Cruise Control with Widgets') simID = result['simulationId']
To get the status of the specified simulation.
Code Block title Request example for getting the status of the specified simulation client.get_status(simID) {'state': 'RUNNING', 'simulationId': '160e822a-5c22-4758-9f1d-d72a83351559', 'simulationTime': '0 ms', 'ui': ['<server_address>/simulation/api/ui/160e822a-5c22-4758-9f1d-d72a83351559/SimulationWithWidgets.html'], 'project': 'CruiseControl_Widgets', 'config': 'Cruise Control with Widgets', 'elapsedTime': 1657}