Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 10 additions & 26 deletions apps/dash-aerosandbox/app.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,10 @@
import plotly.express as px
import plotly.graph_objects as go
import plotly.subplots as sub
import dash
import dash_core_components as dcc
import dash_html_components as html
from dash import dcc, html
import dash_bootstrap_components as dbc
from dash.dependencies import Input, Output, State
import aerosandbox as asb
import casadi as cas
from airplane import make_airplane
import numpy as np
import pandas as pd

app = dash.Dash(external_stylesheets=[dbc.themes.MINTY])
Expand Down Expand Up @@ -65,21 +60,18 @@
id="display_geometry",
color="primary",
style={"margin": "5px"},
n_clicks_timestamp="0",
),
dbc.Button(
"LL Analysis (3s)",
id="run_ll_analysis",
color="secondary",
style={"margin": "5px"},
n_clicks_timestamp="0",
),
dbc.Button(
"VLM Analysis (15s)",
id="run_vlm_analysis",
color="secondary",
style={"margin": "5px"},
n_clicks_timestamp="0",
),
]
),
Expand Down Expand Up @@ -137,29 +129,21 @@ def make_table(dataframe):
@app.callback(
[Output("display", "figure"), Output("output", "children")],
[
Input("display_geometry", "n_clicks_timestamp"),
Input("run_ll_analysis", "n_clicks_timestamp"),
Input("run_vlm_analysis", "n_clicks_timestamp"),
Input("display_geometry", "n_clicks"),
Input("run_ll_analysis", "n_clicks"),
Input("run_vlm_analysis", "n_clicks"),
],
[State("n_booms", "value"), State("wing_span", "value"), State("alpha", "value"),],
)
def display_geometry(
display_geometry, run_ll_analysis, run_vlm_analysis, n_booms, wing_span, alpha,
):
### Figure out which button was clicked
try:
button_pressed = np.argmax(
np.array(
[
float(display_geometry),
float(run_ll_analysis),
float(run_vlm_analysis),
]
)
)
assert button_pressed is not None
except:
button_pressed = 0
button_pressed = {
"display_geometry": 0,
"run_ll_analysis": 1,
"run_vlm_analysis": 2,
}.get(dash.ctx.triggered_id, 0)

### Make the airplane
airplane = make_airplane(n_booms=n_booms, wing_span=wing_span,)
Expand Down Expand Up @@ -255,4 +239,4 @@ def display_geometry(


if __name__ == "__main__":
app.run_server(debug=False)
app.run(debug=False)
15 changes: 15 additions & 0 deletions apps/dash-aerosandbox/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
[project]
name = "dash-aerosandbox"
version = "0.1.0"
requires-python = ">=3.12"
dependencies = [
"aerosandbox==1.1.20",
"casadi>=3.7.2,<3.8",
"dash>=4.4.1",
"dash-bootstrap-components>=2.0.4",
"plotly>=7.0.0",
"numpy>=2.5.2",
"pandas>=3.0.5",
"seaborn>=0.13.2",
"gunicorn>=26.2.0",
]
57 changes: 46 additions & 11 deletions apps/dash-aerosandbox/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,47 @@
aerosandbox==1.1.20
plotly>= 4.6.0
dash>= 1.9
dash_core_components>=1.8.0
dash_html_components>=1.0.2
dash_bootstrap_components>=0.8.0
numpy>=1.18
casadi>=3.5
gunicorn
pandas
seaborn
importlib-resources
annotated-types==0.8.0
blinker==1.9.0
casadi==3.7.2
certifi==2026.7.22
charset-normalizer==3.5.1
click==8.5.0
colorama==0.4.6 ; sys_platform == 'win32'
comm==0.2.3
contourpy==1.3.3
cycler==0.12.1
dash==4.4.1
dash-bootstrap-components==2.0.4
flask==3.1.3
fonttools==4.64.0
gunicorn==26.2.0
idna==3.19
importlib-metadata==9.0.1
itsdangerous==2.2.0
janus==2.0.0
jinja2==3.1.6
kiwisolver==1.5.1
markupsafe==3.0.3
matplotlib==3.11.1
narwhals==2.25.0
nest-asyncio==1.6.0
numpy==2.5.2
packaging==26.3
pandas==3.0.5
pillow==12.3.0
plotly==7.0.0
pydantic==2.13.5
pydantic-core==2.46.5
pyparsing==3.3.2
python-dateutil==2.9.0.post0
requests==2.34.2
retrying==1.4.2
seaborn==0.13.2
setuptools==84.0.0
six==1.17.0
tqdm==4.70.0
typing-extensions==4.16.0
typing-inspection==0.4.4
tzdata==2026.3 ; sys_platform == 'emscripten' or sys_platform == 'win32'
urllib3==2.7.0
werkzeug==3.1.8
zipp==4.1.0
2 changes: 1 addition & 1 deletion apps/dash-aerosandbox/runtime.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
python-3.7.6
python-3.12.11
Loading