Skip to content

Commit 5ac1f09

Browse files
1-Bart-1jellepolandclaude
authored
Unify RamAirWing and Wing into Wing (#204)
* Make sure 0 groups works * Unify Wing and RamAirWing * Restore test * Not passing bench * Working grouping * Working tests except aqua * Working tests with aqua * Don't deform tuple * Option to not use data prefix * Add obj set * Old tests not failing * Passing tests * Add cl cd cm group array * Added tests and settings * Improved obj file reading * Fixed deform * Test on 1.10 and 1.11 * Disable mapping kwarg * Add kwarg to sort sections * Add groups * Correct width * Add makie plotting * Don't use corrected alpha * Updated settings * Use plot and plot! with obs * Use unrefined sections * Use glmakie * Use unrefined segments and no groups * Working ram example * Add combined plot * Dont use old vsm * Actually remove super confusing unrefined panels, simplify to use unrefined segments everywhere * Adjust for using the unrefined segment approach * Dist for per panel, unrefined_dist for per unrefined section * Update the deform functions to make more sense * Update tests for recent changes * Rename to more logical name * Add claude md * Rename * Simpler example, angle at wingtips * Add unreleased news * Remove last instances of groups * Removed groups * Add tests for smoothing and non smoothing deform * Add everything plotting function * Manual refine * Improved makie plotting * Deformable yaml kite * Fix for updated separate refine * Move Obj to refinement method * Add obj wing refinement test * Auto refine yaml wing * Width is sum not average * adjusted V3_kite example, added literature plotting to MakieExt, changed alpha_geometric to angle between va and chord, changed settings_jl to default the corrected_aoa to false * added alpha_geometric_dist to the solver output, and updated example V3_kite to also test solve! output * Add option to disable sort * Flat extrapolate * Extrapolate lift flat drag line * Update news * Update recursive array tools * Update prealloc tools * Update docs * Fix date * Unreleased news * Add setup test * Use makie * Add prefixes * Use makie * Add setup test * Simplify install examples * No wait if not interactive * Dont show * Implement claude review * No pycall * Dont update yet * Headless lets go * corrected moment and handling of nonuniform inflow, also update the v3_kite example to resemble wind tunnel test in alpha and beta and input data and comparison data, and added a center of pressure calculation method * No eval * Fix allocation regressions on Julia 1.12 Replace LinearAlgebra norm/dot/normalize\!/cross with inline scalar helpers (norm3, dot3, normalize3\!, cross3\!) across hot paths. Unroll heterogeneous filament loop to eliminate Union dispatch. Fix tuple slicing, matrix slice copies, and broadcast allocations. AIC: 4010 → 10 allocs, gamma_loop: 9 → 0, calculate_results: 857 → 590, solve_base\!/solve\!: broken → passing. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Add sandbox files to gitignore * Add some overhead * Use headless makie * Julia lts and latest * Restore surfplan * adding figure to readme * add use_prior_polar functionality * Add controlplots tests * Make less restrictive * Improve plotting dispatch * Use julia-runtest --------- Co-authored-by: jellepoland <jellepoland@gmail.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 51a47c9 commit 5ac1f09

File tree

101 files changed

+9805
-4289
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

101 files changed

+9805
-4289
lines changed

.github/workflows/CI.yml

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
fail-fast: false
2323
matrix:
2424
version:
25-
- '1.10'
25+
- 'lts'
2626
- '1'
2727
os:
2828
- ubuntu-latest
@@ -40,9 +40,6 @@ jobs:
4040
version: 1
4141
build_is_production_build: true
4242
steps:
43-
- name: Install matplotlib
44-
run: if [ "$RUNNER_OS" = "Linux" ]; then sudo apt-get install -y python3-matplotlib; fi
45-
shell: bash
4643
- uses: actions/checkout@v4
4744
- uses: julia-actions/setup-julia@v2
4845
with:
@@ -71,31 +68,33 @@ jobs:
7168
fail-fast: false
7269
matrix:
7370
julia_version:
74-
- "1.10"
75-
- "1.11"
76-
- "pre"
71+
- "lts"
72+
- "1"
7773
julia_arch:
7874
- x64
7975
os:
8076
- ubuntu-latest
8177
runs-on: ${{ matrix.os }}
8278
steps:
83-
- name: Install matplotlib
84-
run: if [ "$RUNNER_OS" = "Linux" ]; then sudo apt-get install -y python3-matplotlib; fi
85-
shell: bash
8679
- uses: actions/checkout@v4
8780
- uses: julia-actions/setup-julia@v2
8881
with:
8982
arch: ${{ matrix.julia_arch }}
9083
version: ${{ matrix.julia_version }}
9184
- uses: julia-actions/cache@v2
9285
- uses: julia-actions/julia-buildpkg@v1
93-
- name: Build PyCall
94-
run: julia --project -e 'ENV["PYTHON"]=""; using Pkg; Pkg.instantiate(); Pkg.add("PyCall"); Pkg.build("PyCall")'
95-
shell: bash
9686
- uses: julia-actions/julia-runtest@v1
9787
env:
9888
BUILD_IS_PRODUCTION_BUILD: false
89+
- name: Install matplotlib
90+
run: sudo apt-get install -y python3-matplotlib
91+
- name: Build PyCall with system Python
92+
run: julia -e 'ENV["PYTHON"]="python3"; using Pkg; Pkg.add("PyCall"); Pkg.build("PyCall")'
93+
- uses: julia-actions/julia-runtest@v1
94+
env:
95+
JULIA_NUM_THREADS: 1
96+
with:
97+
test_args: 'plot-controlplots'
9998
- uses: julia-actions/julia-processcoverage@v1
10099
- uses: codecov/codecov-action@v5
101100
with:
@@ -109,9 +108,6 @@ jobs:
109108
steps:
110109
- uses: actions/checkout@v4
111110
- uses: julia-actions/setup-julia@v2
112-
- name: Build PyCall
113-
run: julia --project=docs/ -e 'ENV["PYTHON"]=""; using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate(); Pkg.build("PyCall")'
114-
shell: bash
115111
- uses: julia-actions/cache@v2
116112
- uses: julia-actions/julia-buildpkg@v1
117113

.github/workflows/setup-test.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Setup Test
2+
on:
3+
pull_request:
4+
branches:
5+
- main
6+
types: [opened, synchronize, reopened, ready_for_review]
7+
concurrency:
8+
group: ${{ github.workflow }}-${{ github.ref }}
9+
cancel-in-progress: true
10+
jobs:
11+
setup-test:
12+
name: Test end-user and developer setup
13+
if: github.event.pull_request.draft == false
14+
runs-on: ubuntu-latest
15+
timeout-minutes: 40
16+
steps:
17+
- uses: actions/checkout@v4
18+
- uses: julia-actions/setup-julia@v2
19+
with:
20+
version: '1'
21+
- uses: julia-actions/cache@v2
22+
- name: Install xvfb for headless GLMakie
23+
run: sudo apt-get update && sudo apt-get install -y xvfb
24+
- name: Run setup tests
25+
run: bash test/test_setup.sh

.gitignore

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Manifest.toml
1+
Manifest*.toml
22
.vscode/settings.json
33
venv
44
results/TUDELFT_V3_LEI_KITE/polars/$C_L$ vs $C_D$.pdf
@@ -7,5 +7,27 @@ results/TUDELFT_V3_LEI_KITE/polars/tutorial_testing_stall_model_n_panels_54_dist
77
docs/build/
88
results/TUDELFT_V3_LEI_KITE/polars/tutorial_testing_stall_model_n_panels_54_distribution_SPLIT_PROVIDED.pdf
99
!test/data/*.bin
10-
Manifest-v1.11.toml
11-
Manifest-v1.10.toml
10+
CLAUDE.md
11+
12+
# Claude Code sandbox artifacts
13+
.bash_profile
14+
.bashrc
15+
.gitconfig
16+
.gitmodules
17+
.profile
18+
.ripgreprc
19+
.zprofile
20+
.zshrc
21+
HEAD
22+
config
23+
objects
24+
refs
25+
hooks
26+
27+
# IDE / tool configs
28+
.claude/
29+
.idea/
30+
.mcp.json
31+
.vscode/
32+
.vscode
33+
.idea

0 commit comments

Comments
 (0)