mirror of
https://gitlab.com/Anson-Projects/projects.git
synced 2025-09-19 03:52:37 +00:00
Compare commits
1 Commits
7652873b9e
...
datascienc
Author | SHA1 | Date | |
---|---|---|---|
c7676b0bcf |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,3 +1,4 @@
|
||||
_freeze/
|
||||
_site/
|
||||
public/
|
||||
ghost-upload/target/
|
||||
@@ -6,4 +7,3 @@ posts/*/\.jupyter_cache/
|
||||
!/.quarto/_freeze/
|
||||
!/.quarto/_freeze/*
|
||||
/.quarto/
|
||||
**/.DS_Store
|
||||
|
@@ -1,23 +1,24 @@
|
||||
build:
|
||||
stage: build
|
||||
image:
|
||||
name: gcr.io/kaniko-project/executor:v1.23.2-debug
|
||||
name: gcr.io/kaniko-project/executor:v1.21.0-debug
|
||||
entrypoint: [""]
|
||||
script:
|
||||
- /kaniko/executor
|
||||
--context "${CI_PROJECT_DIR}"
|
||||
--dockerfile "${CI_PROJECT_DIR}/Dockerfile"
|
||||
--destination "${CI_REGISTRY_IMAGE}:${CI_COMMIT_BRANCH}"
|
||||
--cleanup
|
||||
--destination "${CI_REGISTRY_IMAGE}:latest"
|
||||
|
||||
staging:
|
||||
cache:
|
||||
paths:
|
||||
- _freeze
|
||||
stage: deploy
|
||||
image: ${CI_REGISTRY_IMAGE}:${CI_COMMIT_BRANCH}
|
||||
script:
|
||||
- echo "Building the main website with Quarto..."
|
||||
- echo "Building the project with Quarto..."
|
||||
- quarto render --to html --output-dir public
|
||||
- echo "Building Ghost-optimized version..."
|
||||
- quarto render --profile ghost --to html --output-dir public/ghost-content
|
||||
artifacts:
|
||||
paths:
|
||||
- public
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -2,8 +2,7 @@ const kProgressiveAttr = "data-src";
|
||||
let categoriesLoaded = false;
|
||||
|
||||
window.quartoListingCategory = (category) => {
|
||||
// category is URI encoded in EJS template for UTF-8 support
|
||||
category = decodeURIComponent(atob(category));
|
||||
category = atob(category);
|
||||
if (categoriesLoaded) {
|
||||
activateCategory(category);
|
||||
setCategoryHash(category);
|
||||
|
15
Dockerfile
15
Dockerfile
@@ -1,12 +1,11 @@
|
||||
FROM debian:bookworm
|
||||
FROM ubuntu:22.04
|
||||
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
ENV JULIA_VERSION=1.11.5 \
|
||||
ENV JULIA_VERSION=1.11.1 \
|
||||
JULIA_MAJOR_VERSION=1.11 \
|
||||
JULIA_PATH=/usr/local/julia
|
||||
|
||||
ENV QUARTO_VERSION=1.7.31
|
||||
JULIA_PATH=/usr/local/julia \
|
||||
QUARTO_VERSION=1.6.37
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
apt-utils dialog \
|
||||
@@ -14,19 +13,19 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
python3 python3-pip python3-dev \
|
||||
r-base \
|
||||
gcc g++ \
|
||||
curl tar \
|
||||
wget curl tar \
|
||||
openssh-client \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Use a RUN command for architecture detection and conditional logic
|
||||
RUN curl -fsSL "https://github.com/quarto-dev/quarto-cli/releases/download/v${QUARTO_VERSION}/quarto-${QUARTO_VERSION}-linux-$(if [ "$(uname -m)" = "x86_64" ]; then echo "amd64"; else echo "arm64"; fi).tar.gz" -o quarto.tar.gz \
|
||||
RUN wget https://github.com/quarto-dev/quarto-cli/releases/download/v${QUARTO_VERSION}/quarto-${QUARTO_VERSION}-linux-$(if [ "$(uname -m)" = "x86_64" ]; then echo "amd64"; else echo "arm64"; fi).tar.gz -O quarto.tar.gz \
|
||||
&& tar -xzf quarto.tar.gz -C /opt \
|
||||
&& mkdir -p /opt/quarto \
|
||||
&& mv /opt/quarto-${QUARTO_VERSION}/* /opt/quarto/ \
|
||||
&& ln -s /opt/quarto/bin/quarto /usr/local/bin/quarto \
|
||||
&& rm -rf quarto.tar.gz /opt/quarto-${QUARTO_VERSION}
|
||||
|
||||
RUN python3 -m pip install --break-system-packages jupyter webio_jupyter_extension jupyter-cache
|
||||
RUN python3 -m pip install jupyter webio_jupyter_extension jupyter-cache
|
||||
|
||||
RUN curl -fsSL "https://julialang-s3.julialang.org/bin/linux/$(if [ "$(uname -m)" = "x86_64" ]; then echo "x64"; else echo "aarch64"; fi)/${JULIA_MAJOR_VERSION}/julia-${JULIA_VERSION}-linux-$(if [ "$(uname -m)" = "x86_64" ]; then echo "x86_64"; else echo "aarch64"; fi).tar.gz" -o julia.tar.gz \
|
||||
&& tar -xzf julia.tar.gz -C /tmp \
|
||||
|
2711
Manifest.toml
2711
Manifest.toml
File diff suppressed because it is too large
Load Diff
11
Project.toml
11
Project.toml
@@ -1,9 +1,20 @@
|
||||
[deps]
|
||||
CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b"
|
||||
Colors = "5ae59095-9a9b-59fe-a467-6f913c188581"
|
||||
Conda = "8f4d0f93-b110-5947-807f-2305c1781a2d"
|
||||
DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
|
||||
DifferentialEquations = "0c46a032-eb83-5123-abaf-570d42b7fbaa"
|
||||
GR_jll = "d2c73de3-f751-5644-a686-071e5b155ba9"
|
||||
IJulia = "7073ff75-c697-5162-941a-fcdaad2a7d2a"
|
||||
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
|
||||
Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7"
|
||||
Optim = "429524aa-4258-5aef-a3af-852621145aeb"
|
||||
PlotlyJS = "f0f68f2c-4968-5e81-91da-67840de0976a"
|
||||
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
|
||||
Pluto = "c3e4b0f8-55cb-11ea-2926-15256bba5781"
|
||||
Revise = "295af30f-e4ad-537b-8983-00126c2a3abe"
|
||||
SatelliteToolbox = "6ac157d9-b43d-51bb-8fab-48bf53814f4a"
|
||||
Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d"
|
||||
|
||||
[compat]
|
||||
julia = "1.11"
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
7
_freeze/site_libs/clipboard/clipboard.min.js
vendored
7
_freeze/site_libs/clipboard/clipboard.min.js
vendored
File diff suppressed because one or more lines are too long
2
_freeze/site_libs/quarto-listing/list.min.js
vendored
2
_freeze/site_libs/quarto-listing/list.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -1,253 +0,0 @@
|
||||
const kProgressiveAttr = "data-src";
|
||||
let categoriesLoaded = false;
|
||||
|
||||
window.quartoListingCategory = (category) => {
|
||||
category = atob(category);
|
||||
if (categoriesLoaded) {
|
||||
activateCategory(category);
|
||||
setCategoryHash(category);
|
||||
}
|
||||
};
|
||||
|
||||
window["quarto-listing-loaded"] = () => {
|
||||
// Process any existing hash
|
||||
const hash = getHash();
|
||||
|
||||
if (hash) {
|
||||
// If there is a category, switch to that
|
||||
if (hash.category) {
|
||||
// category hash are URI encoded so we need to decode it before processing
|
||||
// so that we can match it with the category element processed in JS
|
||||
activateCategory(decodeURIComponent(hash.category));
|
||||
}
|
||||
// Paginate a specific listing
|
||||
const listingIds = Object.keys(window["quarto-listings"]);
|
||||
for (const listingId of listingIds) {
|
||||
const page = hash[getListingPageKey(listingId)];
|
||||
if (page) {
|
||||
showPage(listingId, page);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const listingIds = Object.keys(window["quarto-listings"]);
|
||||
for (const listingId of listingIds) {
|
||||
// The actual list
|
||||
const list = window["quarto-listings"][listingId];
|
||||
|
||||
// Update the handlers for pagination events
|
||||
refreshPaginationHandlers(listingId);
|
||||
|
||||
// Render any visible items that need it
|
||||
renderVisibleProgressiveImages(list);
|
||||
|
||||
// Whenever the list is updated, we also need to
|
||||
// attach handlers to the new pagination elements
|
||||
// and refresh any newly visible items.
|
||||
list.on("updated", function () {
|
||||
renderVisibleProgressiveImages(list);
|
||||
setTimeout(() => refreshPaginationHandlers(listingId));
|
||||
|
||||
// Show or hide the no matching message
|
||||
toggleNoMatchingMessage(list);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
window.document.addEventListener("DOMContentLoaded", function (_event) {
|
||||
// Attach click handlers to categories
|
||||
const categoryEls = window.document.querySelectorAll(
|
||||
".quarto-listing-category .category"
|
||||
);
|
||||
|
||||
for (const categoryEl of categoryEls) {
|
||||
// category needs to support non ASCII characters
|
||||
const category = decodeURIComponent(
|
||||
atob(categoryEl.getAttribute("data-category"))
|
||||
);
|
||||
categoryEl.onclick = () => {
|
||||
activateCategory(category);
|
||||
setCategoryHash(category);
|
||||
};
|
||||
}
|
||||
|
||||
// Attach a click handler to the category title
|
||||
// (there should be only one, but since it is a class name, handle N)
|
||||
const categoryTitleEls = window.document.querySelectorAll(
|
||||
".quarto-listing-category-title"
|
||||
);
|
||||
for (const categoryTitleEl of categoryTitleEls) {
|
||||
categoryTitleEl.onclick = () => {
|
||||
activateCategory("");
|
||||
setCategoryHash("");
|
||||
};
|
||||
}
|
||||
|
||||
categoriesLoaded = true;
|
||||
});
|
||||
|
||||
function toggleNoMatchingMessage(list) {
|
||||
const selector = `#${list.listContainer.id} .listing-no-matching`;
|
||||
const noMatchingEl = window.document.querySelector(selector);
|
||||
if (noMatchingEl) {
|
||||
if (list.visibleItems.length === 0) {
|
||||
noMatchingEl.classList.remove("d-none");
|
||||
} else {
|
||||
if (!noMatchingEl.classList.contains("d-none")) {
|
||||
noMatchingEl.classList.add("d-none");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function setCategoryHash(category) {
|
||||
setHash({ category });
|
||||
}
|
||||
|
||||
function setPageHash(listingId, page) {
|
||||
const currentHash = getHash() || {};
|
||||
currentHash[getListingPageKey(listingId)] = page;
|
||||
setHash(currentHash);
|
||||
}
|
||||
|
||||
function getListingPageKey(listingId) {
|
||||
return `${listingId}-page`;
|
||||
}
|
||||
|
||||
function refreshPaginationHandlers(listingId) {
|
||||
const listingEl = window.document.getElementById(listingId);
|
||||
const paginationEls = listingEl.querySelectorAll(
|
||||
".pagination li.page-item:not(.disabled) .page.page-link"
|
||||
);
|
||||
for (const paginationEl of paginationEls) {
|
||||
paginationEl.onclick = (sender) => {
|
||||
setPageHash(listingId, sender.target.getAttribute("data-i"));
|
||||
showPage(listingId, sender.target.getAttribute("data-i"));
|
||||
return false;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
function renderVisibleProgressiveImages(list) {
|
||||
// Run through the visible items and render any progressive images
|
||||
for (const item of list.visibleItems) {
|
||||
const itemEl = item.elm;
|
||||
if (itemEl) {
|
||||
const progressiveImgs = itemEl.querySelectorAll(
|
||||
`img[${kProgressiveAttr}]`
|
||||
);
|
||||
for (const progressiveImg of progressiveImgs) {
|
||||
const srcValue = progressiveImg.getAttribute(kProgressiveAttr);
|
||||
if (srcValue) {
|
||||
progressiveImg.setAttribute("src", srcValue);
|
||||
}
|
||||
progressiveImg.removeAttribute(kProgressiveAttr);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function getHash() {
|
||||
// Hashes are of the form
|
||||
// #name:value|name1:value1|name2:value2
|
||||
const currentUrl = new URL(window.location);
|
||||
const hashRaw = currentUrl.hash ? currentUrl.hash.slice(1) : undefined;
|
||||
return parseHash(hashRaw);
|
||||
}
|
||||
|
||||
const kAnd = "&";
|
||||
const kEquals = "=";
|
||||
|
||||
function parseHash(hash) {
|
||||
if (!hash) {
|
||||
return undefined;
|
||||
}
|
||||
const hasValuesStrs = hash.split(kAnd);
|
||||
const hashValues = hasValuesStrs
|
||||
.map((hashValueStr) => {
|
||||
const vals = hashValueStr.split(kEquals);
|
||||
if (vals.length === 2) {
|
||||
return { name: vals[0], value: vals[1] };
|
||||
} else {
|
||||
return undefined;
|
||||
}
|
||||
})
|
||||
.filter((value) => {
|
||||
return value !== undefined;
|
||||
});
|
||||
|
||||
const hashObj = {};
|
||||
hashValues.forEach((hashValue) => {
|
||||
hashObj[hashValue.name] = decodeURIComponent(hashValue.value);
|
||||
});
|
||||
return hashObj;
|
||||
}
|
||||
|
||||
function makeHash(obj) {
|
||||
return Object.keys(obj)
|
||||
.map((key) => {
|
||||
return `${key}${kEquals}${obj[key]}`;
|
||||
})
|
||||
.join(kAnd);
|
||||
}
|
||||
|
||||
function setHash(obj) {
|
||||
const hash = makeHash(obj);
|
||||
window.history.pushState(null, null, `#${hash}`);
|
||||
}
|
||||
|
||||
function showPage(listingId, page) {
|
||||
const list = window["quarto-listings"][listingId];
|
||||
if (list) {
|
||||
list.show((page - 1) * list.page + 1, list.page);
|
||||
}
|
||||
}
|
||||
|
||||
function activateCategory(category) {
|
||||
// Deactivate existing categories
|
||||
const activeEls = window.document.querySelectorAll(
|
||||
".quarto-listing-category .category.active"
|
||||
);
|
||||
for (const activeEl of activeEls) {
|
||||
activeEl.classList.remove("active");
|
||||
}
|
||||
|
||||
// Activate this category
|
||||
const categoryEl = window.document.querySelector(
|
||||
`.quarto-listing-category .category[data-category='${btoa(
|
||||
encodeURIComponent(category)
|
||||
)}']`
|
||||
);
|
||||
if (categoryEl) {
|
||||
categoryEl.classList.add("active");
|
||||
}
|
||||
|
||||
// Filter the listings to this category
|
||||
filterListingCategory(category);
|
||||
}
|
||||
|
||||
function filterListingCategory(category) {
|
||||
const listingIds = Object.keys(window["quarto-listings"]);
|
||||
for (const listingId of listingIds) {
|
||||
const list = window["quarto-listings"][listingId];
|
||||
if (list) {
|
||||
if (category === "") {
|
||||
// resets the filter
|
||||
list.filter();
|
||||
} else {
|
||||
// filter to this category
|
||||
list.filter(function (item) {
|
||||
const itemValues = item.values();
|
||||
if (itemValues.categories !== null) {
|
||||
const categories = decodeURIComponent(
|
||||
atob(itemValues.categories)
|
||||
).split(",");
|
||||
return categories.includes(category);
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
17
_quarto.yml
17
_quarto.yml
@@ -1,8 +1,6 @@
|
||||
project:
|
||||
type: website
|
||||
|
||||
profiles:
|
||||
default:
|
||||
website:
|
||||
title: "Anson's Projects"
|
||||
site-url: https://projects.ansonbiggs.com
|
||||
@@ -23,20 +21,5 @@ profiles:
|
||||
css: styles.css
|
||||
# toc: true
|
||||
|
||||
ghost:
|
||||
website:
|
||||
title: "Anson's Projects"
|
||||
site-url: https://projects.ansonbiggs.com
|
||||
description: A Blog for Technical Topics
|
||||
navbar: false
|
||||
open-graph: true
|
||||
format:
|
||||
html:
|
||||
theme: none
|
||||
css: ghost-iframe.css
|
||||
toc: false
|
||||
page-layout: article
|
||||
title-block-banner: false
|
||||
|
||||
execute:
|
||||
freeze: true
|
129
ghost-iframe.css
129
ghost-iframe.css
@@ -1,129 +0,0 @@
|
||||
/* Ghost iframe optimized styles */
|
||||
body {
|
||||
font-family: system-ui, -apple-system, sans-serif;
|
||||
line-height: 1.6;
|
||||
color: #333;
|
||||
max-width: 100%;
|
||||
margin: 0;
|
||||
padding: 20px;
|
||||
background: white;
|
||||
}
|
||||
|
||||
/* Remove any potential margins/padding */
|
||||
html, body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
/* Ensure content flows naturally */
|
||||
#quarto-content {
|
||||
max-width: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* Style headings for Ghost */
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin-top: 1.5em;
|
||||
margin-bottom: 0.5em;
|
||||
font-weight: 600;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
h1 { font-size: 2em; }
|
||||
h2 { font-size: 1.5em; }
|
||||
h3 { font-size: 1.25em; }
|
||||
|
||||
/* Code blocks */
|
||||
pre {
|
||||
background: #f8f9fa;
|
||||
border: 1px solid #e9ecef;
|
||||
border-radius: 6px;
|
||||
padding: 1rem;
|
||||
overflow-x: auto;
|
||||
font-size: 0.875em;
|
||||
}
|
||||
|
||||
code {
|
||||
font-family: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;
|
||||
background: #f1f3f4;
|
||||
padding: 0.2em 0.4em;
|
||||
border-radius: 3px;
|
||||
font-size: 0.875em;
|
||||
}
|
||||
|
||||
pre code {
|
||||
background: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* Images */
|
||||
img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
/* Tables */
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
th, td {
|
||||
border: 1px solid #ddd;
|
||||
padding: 8px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
th {
|
||||
background-color: #f2f2f2;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
/* Links */
|
||||
a {
|
||||
color: #0066cc;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
/* Blockquotes */
|
||||
blockquote {
|
||||
border-left: 4px solid #ddd;
|
||||
margin: 1em 0;
|
||||
padding-left: 1em;
|
||||
color: #666;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
/* Lists */
|
||||
ul, ol {
|
||||
padding-left: 1.5em;
|
||||
}
|
||||
|
||||
li {
|
||||
margin-bottom: 0.25em;
|
||||
}
|
||||
|
||||
/* Remove any navbar/footer elements that might leak through */
|
||||
.navbar, .nav, footer, .sidebar, .toc, .page-footer {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* Ensure responsive behavior for iframe */
|
||||
@media (max-width: 768px) {
|
||||
body {
|
||||
padding: 15px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
h1 { font-size: 1.75em; }
|
||||
h2 { font-size: 1.35em; }
|
||||
h3 { font-size: 1.15em; }
|
||||
}
|
@@ -1,3 +1,8 @@
|
||||
cache:
|
||||
paths:
|
||||
- ./ghost-upload/target/
|
||||
- ./ghost-upload/cargo/
|
||||
|
||||
publish:
|
||||
stage: deploy
|
||||
image: rust:latest
|
||||
|
@@ -1,25 +1,3 @@
|
||||
# ghost-upload
|
||||
|
||||
This tool synchronizes posts from https://projects.ansonbiggs.com to the Ghost blog at https://notes.ansonbiggs.com.
|
||||
|
||||
## Features
|
||||
|
||||
- **Clean content extraction**: Uses Quarto ghost profile to generate clean HTML instead of iframes
|
||||
- **Duplicate prevention**: Checks Ghost Admin API to avoid creating duplicate posts
|
||||
- **AI summaries**: Uses Kagi Summarizer for post summaries
|
||||
- **Dual content rendering**: GitLab CI builds both main site and ghost-optimized versions
|
||||
|
||||
## How It Works
|
||||
|
||||
1. **Dual Build Process**: GitLab CI builds the site twice:
|
||||
- Main site → `public/` (normal theme with navigation)
|
||||
- Ghost content → `public/ghost-content/` (minimal theme for content extraction)
|
||||
|
||||
2. **Content Extraction**: Rust tool fetches clean HTML from the ghost-content version instead of using iframes
|
||||
|
||||
3. **Duplicate Detection**: Uses Ghost Admin API to check for existing posts by slug
|
||||
|
||||
## Environment Variables
|
||||
|
||||
- `admin_api_key`: Ghost Admin API key (required)
|
||||
- `kagi_api_key`: Kagi Summarizer API key (required)
|
||||
This code uploads posts from https://projects.ansonbiggs.com to https://notes.ansonbiggs.com. I couldn't figure out how to update posts, and the kagi API doesn't make it clear how long it caches results for so for now only posts that don't exist on the ghost blog will be uploaded. If you want to update content you need to manually make edits to the code and delete posts on the blog.
|
@@ -45,29 +45,13 @@ impl Post {
|
||||
let slug = get_slug(link);
|
||||
|
||||
let summary = summarize_url(link).await;
|
||||
|
||||
// Extract content from ghost-optimized version
|
||||
let ghost_content = extract_article_content(&link).await;
|
||||
|
||||
let html = html! {
|
||||
div class="ghost-summary" {
|
||||
h3 { "Summary" }
|
||||
p { (summary) }
|
||||
}
|
||||
div class="ghost-content" {
|
||||
(maud::PreEscaped(ghost_content))
|
||||
}
|
||||
div class="ghost-footer" {
|
||||
hr {}
|
||||
iframe src=(link) style="width: 100%; height: 80vh" { }
|
||||
p {
|
||||
em {
|
||||
"This content was originally posted on my projects website "
|
||||
a href=(link) { "here" }
|
||||
". The above summary was generated by the "
|
||||
a href=("https://help.kagi.com/kagi/api/summarizer.html") {"Kagi Summarizer"}
|
||||
"."
|
||||
}
|
||||
}
|
||||
"This content was originally posted on my projects website " a href=(link) { "here." }
|
||||
" The above summary was made by the " a href=("https://help.kagi.com/kagi/api/summarizer.html")
|
||||
{"Kagi Summarizer"}
|
||||
}
|
||||
}.into_string();
|
||||
|
||||
@@ -143,87 +127,17 @@ impl Post {
|
||||
}
|
||||
|
||||
fn get_slug(link: &str) -> String {
|
||||
link.split_once("/posts/").unwrap().1.trim_end_matches('/').to_string()
|
||||
link.split_once("/posts/").unwrap().1.to_string()
|
||||
}
|
||||
|
||||
async fn extract_article_content(original_link: &str) -> String {
|
||||
// Convert original link to ghost-content version
|
||||
let ghost_link = original_link.replace("projects.ansonbiggs.com", "projects.ansonbiggs.com/ghost-content");
|
||||
async fn check_if_post_exists(entry: &Entry) -> bool {
|
||||
let posts_url = "https://notes.ansonbiggs.com/";
|
||||
let link = entry.links.first().unwrap().href.as_str();
|
||||
let slug = get_slug(link);
|
||||
|
||||
match reqwest::get(&ghost_link).await {
|
||||
Ok(response) => {
|
||||
match response.text().await {
|
||||
Ok(html_content) => {
|
||||
let document = Html::parse_document(&html_content);
|
||||
|
||||
// Try different selectors to find the main content
|
||||
let content_selectors = [
|
||||
"#quarto-content main",
|
||||
"#quarto-content",
|
||||
"main",
|
||||
"article",
|
||||
".content",
|
||||
"body"
|
||||
];
|
||||
|
||||
for selector_str in &content_selectors {
|
||||
if let Ok(selector) = Selector::parse(selector_str) {
|
||||
if let Some(element) = document.select(&selector).next() {
|
||||
let content = element.inner_html();
|
||||
|
||||
if !content.trim().is_empty() {
|
||||
return content;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Fallback: return original content with iframe if extraction fails
|
||||
format!(r#"<div class="fallback-iframe">
|
||||
<p><em>Content extraction failed. Falling back to embedded view:</em></p>
|
||||
<iframe src="{}" style="width: 100%; height: 80vh; border: none;" loading="lazy"></iframe>
|
||||
</div>"#, original_link)
|
||||
}
|
||||
Err(_) => format!(r#"<p><em>Failed to fetch content. <a href="{}">View original post</a></em></p>"#, original_link)
|
||||
}
|
||||
}
|
||||
Err(_) => format!(r#"<p><em>Failed to fetch content. <a href="{}">View original post</a></em></p>"#, original_link)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#[derive(Deserialize, Debug)]
|
||||
struct GhostPostsResponse {
|
||||
posts: Vec<GhostPost>,
|
||||
}
|
||||
|
||||
#[derive(Deserialize, Debug)]
|
||||
struct GhostPost {
|
||||
id: String,
|
||||
}
|
||||
|
||||
async fn get_existing_post_id(slug: &str, token: &str) -> Option<String> {
|
||||
let client = Client::new();
|
||||
let api_url = format!("https://notes.ansonbiggs.com/ghost/api/v3/admin/posts/slug/{}/", slug);
|
||||
|
||||
match client
|
||||
.get(&api_url)
|
||||
.header("Authorization", format!("Ghost {}", token))
|
||||
.send()
|
||||
.await
|
||||
{
|
||||
Ok(response) => {
|
||||
if response.status().is_success() {
|
||||
if let Ok(ghost_response) = response.json::<GhostPostsResponse>().await {
|
||||
ghost_response.posts.first().map(|post| post.id.clone())
|
||||
} else {
|
||||
None
|
||||
}
|
||||
} else {
|
||||
None
|
||||
}
|
||||
}
|
||||
Err(_) => None,
|
||||
match reqwest::get(format!("{}{}", posts_url, slug)).await {
|
||||
Ok(response) => response.status().is_success(),
|
||||
Err(_) => false,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -294,8 +208,6 @@ async fn main() {
|
||||
let ghost_api_url = "https://notes.ansonbiggs.com/ghost/api/v3/admin/posts/?source=html";
|
||||
let ghost_admin_api_key = env::var("admin_api_key").unwrap();
|
||||
|
||||
|
||||
|
||||
let feed = "https://projects.ansonbiggs.com/index.xml";
|
||||
|
||||
// Split the key into ID and SECRET
|
||||
@@ -331,12 +243,7 @@ async fn main() {
|
||||
|
||||
let post_exists_futures = entries.into_iter().map(|entry| {
|
||||
let entry_clone = entry.clone();
|
||||
let token_clone = token.clone();
|
||||
async move {
|
||||
let link = entry.links.first().unwrap().href.as_str();
|
||||
let slug = get_slug(link);
|
||||
(entry_clone, get_existing_post_id(&slug, &token_clone).await.is_some())
|
||||
}
|
||||
async move { (entry_clone, check_if_post_exists(&entry).await) }
|
||||
});
|
||||
|
||||
let post_exists_results = join_all(post_exists_futures).await;
|
||||
|
BIN
posts/.DS_Store
vendored
BIN
posts/.DS_Store
vendored
Binary file not shown.
301
posts/2025-04-25/aerospace_structural_design_dataset.csv
Normal file
301
posts/2025-04-25/aerospace_structural_design_dataset.csv
Normal file
@@ -0,0 +1,301 @@
|
||||
Material Type,E (GPa),ν,ρ (kg/m³),Tensile Strength (MPa),Young’s Modulus,Altitude (m),Temperature (°C),Pressure (Pa),Operational Life (years),Wing Span (m),Fuselage Length (m),Structural Thickness (mm),Structural Shape,Load Distribution,Vibration Damping,Computational Time,Weight Efficiency,Durability,Quantum Algorithm Type,Number of Iterations,Optimization Time (sec)
|
||||
Aluminum,185.69674587216923,0.3077091076893067,2730.710453347573,1423.8896628761486,91.17299288446213,15599.655147919875,-57.4316753428427,148360.10745115433,37,33.200714738611765,64.8981493428567,13.688270591376993,Tapered,point load,Low,Short,Excellent,Low,Chaotic Quantum Genetic,1568,146.8483625712404
|
||||
Titanium,59.852396308551285,0.3091065976511747,1969.6701047524516,467.4422250027577,88.16186018969657,12086.883847255816,-40.72602152301445,168254.942831212,32,36.628837375854935,62.93773388897836,9.550246323730573,Cylindrical,point load,High,Long,Poor,High,Shark Optimizer,1764,107.07157146961171
|
||||
Carbon Fiber,136.37391806872313,0.34693239807717946,3659.13911868068,961.1634225571677,55.89916627958678,19366.24386815015,-43.5763296690442,161654.15233261226,27,36.06081428096664,56.812967861996306,5.026259803862095,Tapered,distributed,Low,Long,Good,Medium,Chaotic Quantum Genetic,1707,148.14485133157285
|
||||
Aluminum,103.1404688671567,0.3110803842093607,3377.9041546502604,1432.1332098388214,53.71812348404767,15975.653098448489,-54.26445040826743,143375.9981752317,25,58.4709309292062,30.477116063096545,9.812850176901676,Cylindrical,distributed,High,Long,Good,High,Chaotic Quantum Genetic,1394,72.46312572695285
|
||||
Aluminum,136.73238012505152,0.3081743106150689,1859.5278067829097,1448.2940589146617,86.93776881689828,6948.7164403823535,-41.03878977021339,100397.4035199826,31,51.21656851915226,30.515037835310714,10.85505636634123,Tapered,point load,High,Medium,Poor,High,Chaotic Quantum Genetic,630,72.55489227802586
|
||||
Aluminum,142.8293261707048,0.3458692800681361,3835.2676659121353,289.3948599331531,95.37520858635656,6431.227665179744,-56.159318961767795,176977.5145553468,31,20.01907763119695,65.65169341994012,9.711056981697059,Rectangular,uniform,Moderate,Long,Good,Medium,Chaotic Quantum Genetic,845,66.4723509826728
|
||||
Aluminum,180.05288793830337,0.32605954095794687,2165.6654187122276,394.8236151465794,97.23435223482802,12975.196444997844,-40.785178256254,122496.84181779732,22,25.641439302803906,54.93476557528503,8.580532219920899,Cylindrical,distributed,Low,Short,Poor,High,Chaotic Quantum Genetic,1443,57.438959985958036
|
||||
Carbon Fiber,95.46567932146925,0.3364791446443523,2381.1918865021908,918.3375262560851,77.54490562644108,6402.932149851687,-59.083534493517206,116094.72773801848,23,27.641114172579595,45.86597969323207,6.396295653522422,Rectangular,point load,Moderate,Medium,Poor,Medium,Shark Optimizer,1304,136.93256390334258
|
||||
Titanium,193.33211000100965,0.3156223201252317,3843.9773642084233,832.5522183002187,81.40322335846595,16974.39460676098,-53.134688761511086,135539.80502332433,21,34.657051875464425,39.971821209190765,14.578870208967704,Tapered,uniform,High,Long,Good,Medium,Shark Optimizer,1124,107.67952920733637
|
||||
Carbon Fiber,125.09339497884484,0.3270695448715915,3931.5677282158986,312.18376766009476,95.11438172512086,18428.346563804655,-59.113182716605884,189515.1590988675,37,23.55874400288851,39.89937025072916,12.239644803414784,Rectangular,distributed,Low,Medium,Excellent,Low,Chaotic Quantum Genetic,1195,128.01889520720465
|
||||
Titanium,99.76197200379667,0.34219971494269685,3802.213663300717,1337.0312986856434,53.21965321919042,19718.0400014506,-45.667662622288994,139306.78626462014,38,37.87467910718959,49.995736339287646,14.680648659535029,Rectangular,uniform,Low,Medium,Good,Medium,Chaotic Quantum Genetic,1442,79.20082571877944
|
||||
Aluminum,143.3125873666309,0.33993219975926603,2850.5786094242585,305.1293941720374,95.47654637704724,5193.101067257328,-43.569465368927624,123778.86047837434,20,58.871074482020546,64.763644877599,12.510552252342098,Rectangular,point load,High,Long,Excellent,Medium,Shark Optimizer,541,104.87086654280625
|
||||
Aluminum,173.97208316924662,0.3297927846604411,4088.694664139886,1214.612784553235,61.21369420983725,14942.473259534878,-58.933154133216995,128046.04910270477,34,21.713714162745298,67.39587736930224,6.02060881973955,Tapered,point load,Low,Long,Poor,Low,Chaotic Quantum Genetic,1798,60.48475132088802
|
||||
Carbon Fiber,164.39280107764,0.30160684458813486,3323.080303973813,969.0195401697008,70.37974658006833,16548.358714079353,-52.32338621879984,122355.92154472703,32,30.288172070395376,65.38914330024781,8.442654498895124,Tapered,point load,Moderate,Medium,Good,Low,Shark Optimizer,1037,58.774870860473825
|
||||
Titanium,91.1591724557606,0.30021029872451355,1664.390825278095,261.2468675518519,87.61404538127476,7737.665305560045,-46.40778002720175,126644.23663043186,23,45.94479356094932,66.08393823328004,5.928445821198167,Tapered,point load,Low,Short,Poor,Medium,Shark Optimizer,1396,72.30942096323649
|
||||
Carbon Fiber,165.1022287916304,0.3008221710583374,3555.2175899344197,831.5213387322339,88.05938513150673,15200.805232377954,-56.678938895369924,187245.15496293193,35,41.175028567582096,59.846477301936716,11.369122049991104,Rectangular,point load,High,Long,Poor,Low,Chaotic Quantum Genetic,1181,67.18012070543091
|
||||
Titanium,183.85220393294023,0.3194816302474728,2140.532584432867,402.78530302256036,52.32649195759719,9470.54768089762,-43.50481992939302,194043.18213693151,38,45.668986919770916,35.75865924591864,7.508387097294733,Rectangular,point load,High,Medium,Excellent,Low,Shark Optimizer,762,91.06840119767335
|
||||
Carbon Fiber,97.73649000181257,0.3465251814972963,1650.989863930798,1412.7590905269183,59.5296989080556,9473.487152567275,-48.69266879369785,100593.88273255317,29,53.88500825939991,67.59010105694699,5.915049433139105,Tapered,point load,Low,Medium,Excellent,Low,Chaotic Quantum Genetic,1541,130.16451419467
|
||||
Titanium,103.32100834796287,0.3251616416637965,2063.066243161847,731.2444566912928,87.39099535485155,18773.927987827636,-51.635418720272,136000.4513198292,32,55.71027444991133,35.96461197422321,6.202030045517514,Rectangular,point load,High,Short,Excellent,Low,Shark Optimizer,1178,109.9248169510528
|
||||
Carbon Fiber,126.67086383262512,0.3184986450753615,2748.5350688917533,1431.7431910820912,66.26139559574396,10000.458614177083,-42.72863794266303,160618.24564149286,32,36.123864085015995,68.64675350948136,7.9588951429252806,Rectangular,distributed,High,Short,Poor,High,Shark Optimizer,674,144.71471248891976
|
||||
Carbon Fiber,65.83640046245274,0.33210439290697624,2288.8233594508492,1402.923346628862,63.30960553904075,12889.236306517234,-44.748384737640826,103901.36529063854,21,55.599758948803355,50.2659883520016,13.092362933884004,Tapered,uniform,Low,Long,Excellent,Low,Shark Optimizer,1466,143.485302485745
|
||||
Aluminum,76.07339592814992,0.33782205516781094,3894.8878432032566,879.8498363101618,57.33068265251317,18175.65280786523,-45.65945623655695,148914.5749560104,37,52.77162727716028,30.329511276987343,6.363333735735451,Rectangular,uniform,High,Medium,Excellent,Low,Shark Optimizer,763,114.57785713385437
|
||||
Aluminum,114.30464562492321,0.31364898375016864,2853.3471534018836,1186.4985158007942,59.94262741530115,15227.771507441645,-46.325477400382574,149505.71095971586,35,55.99710477557582,53.0742741412037,12.042902290161347,Tapered,uniform,Low,Long,Excellent,Medium,Shark Optimizer,1234,63.30789714731612
|
||||
Aluminum,155.30014125726473,0.3463045171622278,2372.828437867368,1287.364284113898,86.1869184630626,19429.82668906438,-56.192926682953505,180798.82817886292,26,52.81414363657311,56.23267113133001,5.447753801464143,Cylindrical,uniform,High,Medium,Excellent,High,Shark Optimizer,1716,127.07984141251384
|
||||
Titanium,89.68185181432807,0.34601878545167636,3467.4941842232615,1244.683293446122,75.08398749394509,7648.5411822589795,-53.2587376814376,169678.54108113432,33,55.95672624357594,51.802593169938,6.507240669764442,Tapered,distributed,Moderate,Short,Excellent,Low,Shark Optimizer,1800,106.0349869724827
|
||||
Carbon Fiber,94.941326628275,0.3292341482313094,1984.0315169111295,451.39919053154307,76.25550943324689,18675.48532861378,-41.92134845163533,186516.57343162133,22,35.753265507287196,48.01579948924509,13.666356250759645,Tapered,point load,Low,Medium,Poor,Low,Chaotic Quantum Genetic,1481,140.0233447736726
|
||||
Titanium,199.81757759681514,0.31730427447639625,1520.9326830665884,887.6698185833585,71.57797424272107,16849.923868198835,-43.141478528705484,127924.2401907722,39,37.389348486003996,41.313063478347665,11.617647747105028,Rectangular,distributed,Moderate,Long,Poor,Low,Chaotic Quantum Genetic,1937,107.71802469964831
|
||||
Carbon Fiber,126.1558548149402,0.31220459790220234,1766.1422357320198,1483.2161721750033,86.99652446278297,6000.560641294601,-45.22842906320757,182374.7355351096,33,31.345037120332677,43.27105731288941,6.3104386120918035,Cylindrical,point load,Low,Medium,Excellent,Medium,Chaotic Quantum Genetic,1567,62.49753806139737
|
||||
Titanium,90.49120856396642,0.3110594556193396,2246.090732707651,961.7395527232031,51.9364678559415,6909.513172344643,-40.471672166170094,120719.48515498136,27,35.288143033834345,50.92233688939321,8.077167277113304,Rectangular,point load,High,Medium,Poor,Low,Shark Optimizer,1178,69.96057682332706
|
||||
Carbon Fiber,174.18302323561682,0.3488650862268602,2110.4414068867322,1415.8447690284972,86.97168639992108,15470.964231330086,-48.66796601545295,170774.8130660075,32,49.49157408154812,37.357939802083635,12.23262699413218,Cylindrical,distributed,Moderate,Short,Excellent,High,Shark Optimizer,1688,113.78608840480152
|
||||
Carbon Fiber,50.10324792779846,0.3198538099174011,3454.20340548934,1436.463563476737,87.3980256309425,13293.297069881495,-56.033926491614785,107368.45344576395,32,53.65662468200266,49.59992953397539,13.776411710333175,Cylindrical,uniform,Moderate,Long,Good,Low,Shark Optimizer,1512,66.20427445707013
|
||||
Titanium,102.59370321158133,0.3138365249203013,3698.001054697077,1031.2893197889362,67.8223312665979,18551.41433765254,-48.959965085013394,199753.23121456456,29,39.33409545323259,69.1042443948012,6.166558380245696,Tapered,distributed,Moderate,Medium,Good,Medium,Chaotic Quantum Genetic,599,86.20459461383635
|
||||
Carbon Fiber,179.8601837764895,0.3212199485165768,4051.815453630391,350.3272911377233,71.02659886012793,7317.398454824679,-46.00713854401302,130432.42864555851,26,38.43526337354982,48.3916031392669,12.13650477461984,Cylindrical,distributed,Low,Long,Poor,Medium,Chaotic Quantum Genetic,1367,70.39894477480988
|
||||
Aluminum,180.31717370858613,0.32398970635276614,4236.440887210955,958.0547929059627,90.18694600591681,17721.35467467908,-42.842938469918366,138251.0686734774,27,59.019420804208686,62.632726973470895,8.801667918699188,Cylindrical,point load,High,Medium,Good,Low,Chaotic Quantum Genetic,1094,65.43744200049852
|
||||
Titanium,83.94742701811707,0.34629760413841476,1620.5408343974364,1410.3053664746371,72.45802238788207,5974.708676638895,-40.830608758035396,196996.0401135071,33,49.17695805302832,53.11643466648175,12.563119463106682,Rectangular,uniform,High,Long,Good,Medium,Chaotic Quantum Genetic,1391,137.70287344490055
|
||||
Carbon Fiber,153.7902670450099,0.3429334249228698,2045.3599432162653,1385.5200900536254,61.91410700385839,7609.827125359874,-58.14729096847522,159994.09590703793,20,41.969313229517624,52.36771876365739,5.5222071692582775,Tapered,distributed,Low,Medium,Excellent,Medium,Shark Optimizer,735,118.6915748127189
|
||||
Aluminum,197.82096452049848,0.3119910443413289,3375.48918804584,364.6478075497559,62.48317850458787,19962.628912373224,-53.29185042634573,148172.1077459446,21,46.07165746272892,32.80791280140578,8.04504780546391,Rectangular,point load,Moderate,Short,Poor,Medium,Chaotic Quantum Genetic,1355,70.41310363401095
|
||||
Carbon Fiber,96.49774574338687,0.3217234467484825,3611.406616621056,325.7088403218356,62.64219434319173,9786.200543337738,-55.01831751744858,189546.53623136744,21,47.17772993686935,35.98127691981561,11.272163084709497,Rectangular,uniform,High,Long,Poor,High,Shark Optimizer,1537,115.93701177580775
|
||||
Carbon Fiber,67.19368220137531,0.3152621385410689,3360.8395808477903,732.4683875250296,85.8852343101693,15536.035015799269,-57.45037399033869,103369.01246980573,33,56.68236905306986,60.82838204951429,8.793757771476947,Tapered,point load,Low,Short,Good,Medium,Chaotic Quantum Genetic,1433,108.24052665875041
|
||||
Aluminum,145.9691592473058,0.3279837900648014,3047.0471882975553,726.5065912160063,89.15334170602381,7223.092355193023,-59.63576334379074,137622.91619872986,20,38.919485857087224,41.48776407231498,5.12701814075527,Tapered,uniform,High,Short,Good,Low,Shark Optimizer,1297,123.545799633798
|
||||
Titanium,181.89251206173822,0.3045280593704386,2172.141626713458,1138.6949188296587,78.14394236447085,18492.477449297206,-56.53532506341871,148901.72944824485,31,48.33764052937341,69.94881322469841,7.7962542726683335,Rectangular,point load,Moderate,Short,Poor,Medium,Shark Optimizer,1673,130.23599876249048
|
||||
Aluminum,180.40832905149895,0.3358546592267001,3779.305079212863,1172.9221585017822,90.40283248995459,17556.736668685626,-58.215594813308456,137763.017523335,33,55.04189055551096,69.05242236512643,14.281592330016922,Tapered,uniform,High,Short,Excellent,Medium,Shark Optimizer,1058,127.95688319796898
|
||||
Titanium,139.36204823886553,0.3100690811986523,4106.413314134352,968.8277471766653,55.17719662156092,7122.928541049403,-53.213857781209214,165453.96780920826,20,43.576652724591355,57.505827135894094,9.682589900981457,Tapered,distributed,Low,Medium,Good,Low,Shark Optimizer,656,90.94844860339671
|
||||
Aluminum,51.81017249373506,0.3352605710253455,2650.0124950999593,933.4888213887647,73.66971803738434,12110.296660994027,-52.97132452015937,109136.38312778754,21,27.915292837137965,30.30623238756448,6.8265145781461145,Rectangular,distributed,Low,Medium,Good,Low,Shark Optimizer,982,67.1710167138295
|
||||
Carbon Fiber,165.54128690202185,0.3346820554806511,3000.742299803105,710.7813012517802,93.72875076281389,10280.128630580095,-48.95614388650211,124515.45824555824,31,24.754208486932235,54.408286558798096,7.162245260464161,Tapered,distributed,High,Short,Poor,High,Chaotic Quantum Genetic,860,108.83157338856557
|
||||
Carbon Fiber,75.52636823304476,0.34015462408932634,2028.168206603846,1128.3788637758025,79.61096217167413,11035.915529704715,-54.00550478062596,174316.02129301603,28,36.57600065342378,31.620390142160417,11.014452180626567,Tapered,point load,High,Medium,Poor,Low,Chaotic Quantum Genetic,734,81.91398929192813
|
||||
Aluminum,134.2445815243871,0.3396625227478938,3213.3167597173288,842.3632455072941,81.82236594419447,15542.71059503579,-58.37640252071766,134366.9232080362,20,28.430521199066586,62.885204620568686,12.591542248026117,Tapered,point load,Moderate,Long,Poor,Low,Shark Optimizer,1590,82.87443305515785
|
||||
Carbon Fiber,51.92589868987134,0.3263982078047308,3922.946353396984,483.71745629058364,96.46870507031338,16843.764779349054,-57.479913608505555,178008.5725032908,28,45.05071110181301,52.45119994348275,5.431629480563175,Tapered,distributed,Low,Medium,Poor,High,Shark Optimizer,925,139.55570121612305
|
||||
Aluminum,52.39584268665441,0.3340646956870017,2963.779409537177,1136.6364040866374,64.6066829672252,7705.364079862682,-48.13611673605301,105603.54082509266,25,49.08163939079482,31.33994726037191,7.280312441015119,Rectangular,distributed,High,Long,Poor,Low,Chaotic Quantum Genetic,809,73.3023656715142
|
||||
Carbon Fiber,67.12419604885464,0.34939828315157634,2646.2996146619453,770.6907871089971,95.25364982468582,18238.298468368568,-50.39910153432608,141906.4297103032,23,26.208904671803722,62.22923576659143,10.024608673320618,Rectangular,point load,High,Short,Poor,High,Chaotic Quantum Genetic,1244,113.95656958889435
|
||||
Titanium,125.0550520763387,0.3261607972683329,2645.033357748076,1158.1524741915118,57.85630173746365,12984.628009003696,-51.464052028780955,195651.36006806014,36,47.70085559184646,44.837999882052614,10.377837987060058,Tapered,point load,Low,Long,Poor,Medium,Chaotic Quantum Genetic,1004,134.25045202845445
|
||||
Aluminum,106.59597173369147,0.30520087566284093,2264.5563629256712,864.4006439252198,53.92352967172894,17000.188166578708,-49.30703328992954,113215.00816928872,23,23.627615800031926,60.2312614954618,11.395836224702238,Rectangular,distributed,Moderate,Medium,Good,Medium,Chaotic Quantum Genetic,1403,148.71885519164908
|
||||
Carbon Fiber,76.77139880894487,0.32288397958796283,4488.694619032443,851.994855598322,70.01921864769697,6991.4387878250345,-46.73002893677631,124068.24594056963,29,46.85763597715996,68.89676637113962,5.344333864801799,Tapered,uniform,Low,Long,Excellent,Low,Shark Optimizer,973,60.18465465088313
|
||||
Carbon Fiber,166.62595402942807,0.31345617561655154,1622.418845601043,1178.4546792827118,87.57162019021179,6496.415503073929,-50.295794871642926,139673.2333180655,24,46.03284471188195,34.79682641759467,10.444322753597827,Tapered,point load,Low,Medium,Good,Low,Chaotic Quantum Genetic,558,111.82440330975172
|
||||
Carbon Fiber,103.17546247576614,0.32114119061539603,3580.8718343627593,921.2736379816258,51.15444269077046,17763.3555582122,-45.51593734921981,182848.75767669035,37,40.70869405964362,61.55320743576864,11.67580067141912,Tapered,distributed,High,Short,Poor,High,Chaotic Quantum Genetic,889,71.70554771821288
|
||||
Titanium,119.78659312190429,0.32202763184925237,2633.0727048554845,1386.429253706373,91.48489335429812,13027.527204254908,-58.6709913401147,131722.58665042804,26,31.570672893927885,60.71029548403665,11.001914083861738,Tapered,point load,Moderate,Medium,Poor,Medium,Shark Optimizer,728,57.87785554951081
|
||||
Carbon Fiber,64.7337531399095,0.31909696622456507,1710.7711742007425,1116.224332777372,94.59189370682326,18630.828820971074,-49.54321187274624,140880.15486580122,33,44.245890188193215,35.06860686103313,9.930351982443662,Rectangular,distributed,High,Medium,Excellent,High,Chaotic Quantum Genetic,1250,62.39023637596573
|
||||
Titanium,157.1366525376356,0.33778113619004196,4229.202795597148,1008.3434995394355,67.26946754131265,11875.459658007705,-47.26416892525209,158625.7928603336,35,55.37448336519795,57.532373897943785,13.725027226744846,Rectangular,distributed,Moderate,Medium,Excellent,High,Chaotic Quantum Genetic,1268,95.69211755015316
|
||||
Carbon Fiber,96.25352808892958,0.3340331363150605,3832.486081712602,579.7298824255677,80.1652973771188,7190.744253400046,-58.649408845821426,124270.02953366433,28,38.78882045408136,64.59913025285542,8.5736110339123,Cylindrical,point load,Low,Medium,Excellent,Medium,Shark Optimizer,786,67.10415210554338
|
||||
Titanium,125.49581854757568,0.3018495625761281,1989.1734798654365,518.0519335461158,75.20019144810344,9020.01724669529,-52.79323553442098,183726.16344585412,20,55.68568630989571,58.48089864262715,14.600653945697252,Cylindrical,uniform,Moderate,Medium,Good,High,Shark Optimizer,755,117.73648649644136
|
||||
Titanium,79.78677028932746,0.30896032228873604,3329.290517677895,1256.8229478892729,72.15788651431193,14371.929990655526,-44.05166669513029,144302.9881317668,31,44.01368292712951,66.20627568082767,10.429486165318567,Rectangular,point load,Low,Short,Good,Low,Shark Optimizer,1895,55.141667030479894
|
||||
Carbon Fiber,174.5840352198053,0.33112916896265276,4301.732871849848,549.4727803921394,56.74196490405457,9426.797302187802,-56.97075114852104,120238.36495844682,34,52.4147397242101,59.157072021272796,12.497721685851827,Rectangular,distributed,Moderate,Long,Poor,High,Shark Optimizer,1939,72.3663482379493
|
||||
Carbon Fiber,145.7099592652728,0.34483513546056216,3870.51631014997,1103.9638862408856,83.31506980357005,8580.075154748785,-58.316830925257385,139575.78888199083,29,31.08678954978157,64.79769191426828,11.303787498352008,Cylindrical,point load,High,Short,Poor,Low,Chaotic Quantum Genetic,994,98.5768274353511
|
||||
Titanium,62.352603928118285,0.33806682374225683,2756.991599697687,1120.9216400700225,82.00387275234948,5216.132976166924,-47.68758944534671,181099.04950867628,32,52.45576694281669,53.274202247818664,9.712069365189631,Rectangular,uniform,Moderate,Long,Excellent,High,Shark Optimizer,580,61.7731919120438
|
||||
Aluminum,141.93751129688212,0.32683270312848717,2936.1115114383197,1153.3311641867906,93.56600255321447,7128.339269199193,-55.48393041486737,131970.97097416312,34,24.149395692653115,47.762827674298286,9.210452512591086,Tapered,distributed,Moderate,Short,Good,Low,Chaotic Quantum Genetic,1595,51.452166808289505
|
||||
Carbon Fiber,80.11119206609943,0.32142582077929227,2780.959556192543,293.6230924046978,97.16729505454217,14708.638971238977,-41.62487786940113,143689.05143463542,25,40.560241141608,61.4057757343753,13.166632656263959,Rectangular,point load,Moderate,Medium,Poor,High,Shark Optimizer,831,126.86057157156615
|
||||
Aluminum,64.92304702426978,0.34078484729801434,1530.4764333454066,1312.2815580517256,53.05601350850335,14262.350117018757,-47.226391365644176,180417.57613633777,33,30.03782265391196,48.68335712306381,14.681935967626739,Rectangular,distributed,High,Medium,Poor,High,Chaotic Quantum Genetic,1101,84.01353425744054
|
||||
Carbon Fiber,120.73161331968106,0.30916322166882615,1924.3483516533702,806.3010402045561,62.458857360571606,19741.455801564058,-45.174906886232286,145163.25407416176,23,31.16073663050145,48.79943611108367,6.747584948497522,Cylindrical,point load,Moderate,Long,Excellent,High,Shark Optimizer,953,121.447874572892
|
||||
Aluminum,83.31166557697277,0.34990396534913865,2531.4267219475387,1443.0062005444856,84.33254357697504,18259.95440369423,-40.02748539344467,168238.46736031948,36,56.31348225403329,55.113127109416624,10.321809275902819,Rectangular,point load,Low,Short,Good,Low,Shark Optimizer,1239,93.69451577385689
|
||||
Titanium,68.2987780009954,0.33928495806909714,2066.240478505781,1446.145111100128,70.77653645006933,6071.200278298396,-54.743288070763846,122164.36390650568,27,34.06481834869423,61.00349411412256,6.798012909150933,Cylindrical,point load,Moderate,Long,Excellent,Low,Shark Optimizer,737,97.38853897247955
|
||||
Carbon Fiber,181.05770111959808,0.3200286085935296,4322.098351215337,775.3376344149037,59.9982895061711,8346.319941714093,-43.61098151450741,163364.78104961774,26,36.71577854616624,40.78776598274473,10.809703985386053,Rectangular,uniform,Moderate,Short,Good,Low,Shark Optimizer,1663,144.36523752594871
|
||||
Carbon Fiber,199.32331858444866,0.32346724082797357,3641.35929435735,914.8748181950555,70.1282059128773,9471.04950912469,-57.88165586225057,102917.22746541076,29,54.06943052454709,67.95267604495393,8.603210229781345,Rectangular,point load,High,Medium,Good,High,Chaotic Quantum Genetic,1866,128.12058805649917
|
||||
Aluminum,193.81278082016019,0.3198583748438536,3107.523429895602,351.8486478078985,92.09031336503685,11572.685577560882,-59.83909144111157,186846.3033952424,36,41.38891291711869,30.01276768280777,10.869309077790453,Tapered,point load,Moderate,Long,Excellent,Medium,Shark Optimizer,1679,130.78437675187058
|
||||
Aluminum,158.04281154753926,0.33081362759964644,2181.8215049067903,1387.5060642485632,75.06953467814637,16022.430938517125,-41.855856336011506,129574.30789275766,25,23.169391947340607,66.53384504277753,8.99118465569181,Cylindrical,uniform,Low,Long,Good,High,Shark Optimizer,1914,63.81812421794935
|
||||
Aluminum,123.00463978788652,0.33586229327791195,4298.405766018375,282.5212407400989,87.17874319708542,12006.848061767763,-44.009619917183535,145311.13755185576,37,28.163491005785506,44.11594529694576,13.295317472826362,Cylindrical,uniform,High,Short,Poor,High,Chaotic Quantum Genetic,1505,103.34248167878721
|
||||
Carbon Fiber,157.24982810270237,0.32764424037515655,3997.664360423798,1161.743177819044,83.2356802529196,14777.163141768651,-42.83664359993419,179565.24814722297,25,29.865087363376656,34.92962217771948,11.89974562572987,Rectangular,point load,Low,Medium,Excellent,High,Shark Optimizer,1049,134.16263742144548
|
||||
Aluminum,199.79873562642683,0.33803079150185766,4155.848078633603,1047.7539568528498,96.00398373760461,10661.533557527062,-55.046293817026466,135523.91567529185,38,50.9082558210664,61.61807493409016,8.58993668384335,Rectangular,point load,Moderate,Medium,Good,Low,Shark Optimizer,960,81.88715670615426
|
||||
Carbon Fiber,51.62875007673623,0.3342905973286316,2918.839606894168,432.2239487762512,97.0458149273556,6765.488962142561,-58.56350200026297,136899.07557651523,27,24.780620834562757,51.01257541212661,14.880442216015128,Rectangular,point load,High,Medium,Excellent,Medium,Chaotic Quantum Genetic,812,142.45243956038541
|
||||
Titanium,102.57024885672254,0.3484051237672955,4401.575223887234,1371.2895375023656,98.45283912861181,15413.802583061055,-55.461850649184385,163609.72059587543,31,21.884151641735553,47.42107690466422,10.660588818362577,Cylindrical,point load,Low,Medium,Good,Medium,Shark Optimizer,960,138.89526786823666
|
||||
Carbon Fiber,166.79426948269122,0.3335127162317976,3496.223750158945,1078.6697752843484,78.59502822969206,5970.85780914429,-57.7377967981293,186699.14141683932,30,42.98340911174206,51.01525554910158,7.888442714256309,Tapered,point load,Moderate,Long,Good,High,Chaotic Quantum Genetic,616,112.30862806344285
|
||||
Aluminum,109.69766873153114,0.31801603475679024,2581.6527658101213,1121.0376109773708,53.73946761636116,16203.24088097327,-46.51206699841739,186324.04913003984,23,51.53347587433504,35.04235440481522,13.818059038320515,Rectangular,uniform,Moderate,Medium,Good,High,Shark Optimizer,1732,140.40738772801836
|
||||
Aluminum,92.51010519210476,0.33138124583134165,1632.2891527791583,931.896558964996,85.60604314012227,18867.816225294133,-59.74363383837469,156542.4822601062,38,53.52866457879076,66.38635187320048,8.129975182447827,Tapered,point load,High,Short,Good,High,Shark Optimizer,677,87.73729944008977
|
||||
Titanium,119.94872430886215,0.3339047877477086,2304.076833176831,288.8296542647375,77.60078951126592,15604.603059646399,-43.85067458113683,184574.92855529767,37,54.71041407453699,54.91931164346501,8.098797320047872,Tapered,distributed,Low,Medium,Good,Medium,Shark Optimizer,1391,108.13528150327238
|
||||
Carbon Fiber,56.68633838128914,0.32036580986755664,3093.380984300831,1164.1480633247634,64.42196516710544,19367.912280099918,-46.38144919864643,161609.34012628978,26,54.68767473477626,69.96330333545606,14.107125159585612,Cylindrical,point load,Low,Short,Poor,High,Chaotic Quantum Genetic,637,145.4953148704685
|
||||
Titanium,136.02442335005577,0.3199764670147615,1654.0993391467273,1466.861573890748,92.47496036789065,19004.393704124144,-42.43799816750993,139824.25059880555,38,39.82430060173187,45.044455244858426,7.982842640112154,Rectangular,uniform,Low,Short,Excellent,Low,Chaotic Quantum Genetic,1610,128.33100661294037
|
||||
Aluminum,67.17496879224193,0.3432686355486503,4313.892014825285,1442.3889221347029,59.439437942709105,12547.280586836852,-56.70300091882989,122613.55387946786,26,46.33755399005969,48.13829406691694,14.263387219328788,Tapered,point load,Low,Medium,Poor,Medium,Shark Optimizer,1033,98.94293905157
|
||||
Titanium,82.87817801366498,0.3364986273785943,3316.797728932426,332.338118288678,84.75798008974391,16535.54795771488,-40.580372581811375,104663.96178678896,39,52.640091096034844,62.984983298315726,9.40585206861043,Tapered,distributed,Low,Long,Good,High,Chaotic Quantum Genetic,919,110.05412004922044
|
||||
Carbon Fiber,145.2899370200497,0.3008297340892527,2589.8562861471873,728.9221948628576,67.23555362907157,16770.01891939393,-56.28908635999404,129616.19365729274,27,32.74711035214018,31.12747054097595,8.523971537937605,Cylindrical,point load,Low,Medium,Excellent,Low,Chaotic Quantum Genetic,926,122.07972737777696
|
||||
Titanium,76.91418830744459,0.33826609074533237,3963.0813739323544,397.58419480499026,78.57370830972161,5841.3062673969625,-53.721357645780365,180257.3183196313,28,24.618407784865166,45.49821942595951,12.216320186765017,Tapered,uniform,High,Medium,Poor,Low,Shark Optimizer,1022,54.70428535617845
|
||||
Titanium,84.17935105262524,0.3121802578619319,3360.370948905229,1318.8159656985772,65.9688845363055,15335.306645973911,-47.97805863066143,121387.67032258914,28,26.30740068435225,47.336787835427664,7.5084923787657,Tapered,distributed,Low,Medium,Poor,Medium,Shark Optimizer,573,72.12455130423055
|
||||
Titanium,179.83541624953236,0.3089427341261053,3416.5371445981073,886.7308167438717,96.59360043528862,18382.662411409477,-48.845825048941734,193147.05775591894,34,45.99003059791956,61.53420164324196,6.367703466391232,Cylindrical,uniform,High,Medium,Good,Medium,Chaotic Quantum Genetic,1499,127.21410070781467
|
||||
Aluminum,162.625495920712,0.34379908882373145,3551.899938834394,1017.1737632298411,80.00480642199898,10712.328185207765,-48.0877281371544,128374.04457831135,38,57.62580373031115,32.30543520662526,14.273024190599045,Tapered,uniform,Low,Medium,Excellent,Low,Chaotic Quantum Genetic,1014,141.90362306016485
|
||||
Carbon Fiber,93.56137557852627,0.3163487031851667,4222.337339056994,514.4395642182785,54.43976358531143,11032.831741271959,-41.884592228717985,102086.06251726026,32,53.365492590325125,63.844669401481056,10.755981578628298,Rectangular,point load,Low,Short,Good,Medium,Shark Optimizer,1189,120.31741367105886
|
||||
Titanium,125.94395330817927,0.3259928433063592,2652.4227651285696,575.1940175827654,79.10872460559003,7906.255859700976,-51.43582154312202,146497.77021328296,27,34.090633770635144,50.12324392465645,7.3928860970612265,Rectangular,distributed,Moderate,Short,Poor,Low,Shark Optimizer,1824,113.22197585726792
|
||||
Titanium,163.12294928775628,0.30126109970578324,2170.8433544605896,909.2615728393552,64.41411434892595,6197.414138580061,-49.2075455346522,128914.25648613147,32,30.29136717398812,32.21171982739105,12.118967907711234,Rectangular,uniform,Moderate,Medium,Good,Medium,Chaotic Quantum Genetic,1350,92.44591253858923
|
||||
Carbon Fiber,124.07665122545002,0.32893581020939155,3999.5069650745954,684.1858643302327,80.27074353339084,15217.69602083406,-46.71645249540837,186377.7591058199,21,52.67688881465139,67.60770061778126,8.150328014686327,Tapered,distributed,Low,Short,Poor,High,Shark Optimizer,1365,124.71678851700949
|
||||
Aluminum,57.26214531286442,0.33313405784661976,4106.8894617291435,403.6951804141105,58.747872244021636,15493.47937763715,-42.207651651908385,115400.70419731943,31,35.019743601559256,62.619052149578394,8.951652323766794,Tapered,uniform,Low,Short,Poor,High,Chaotic Quantum Genetic,1811,114.77977201388268
|
||||
Carbon Fiber,179.806790085297,0.31449725982427434,3673.8332285660745,1262.1456347480912,74.31979786798422,10447.365730917183,-50.1853252905379,191436.5860863601,24,46.84923201328618,47.22423838667454,13.331945677199382,Cylindrical,point load,Low,Medium,Poor,Low,Shark Optimizer,640,106.15181505077253
|
||||
Titanium,147.76877694911695,0.31368561994369654,3738.646001243673,1034.679589037522,87.38104743710042,8957.27656659461,-50.694209202406846,166086.75240033862,25,21.3756835353019,69.44189384744575,13.520506833772721,Cylindrical,distributed,High,Medium,Poor,Low,Shark Optimizer,1689,106.04616787902143
|
||||
Aluminum,52.174883898308615,0.3053455482679295,2963.2478566728014,1260.4231306899558,82.6413789648906,7744.957008410021,-58.762015592894045,147178.03376333995,33,27.126628484107215,39.40804648774786,6.251924591518111,Tapered,point load,High,Long,Excellent,Medium,Chaotic Quantum Genetic,1965,134.68943585110935
|
||||
Titanium,184.43893324273958,0.3427247400135462,3081.6114320085817,1012.4114283442904,79.85587036613865,17552.14089531356,-43.21395269339199,173357.29494532978,24,23.833245617461394,58.61892467502662,11.710335336488098,Tapered,point load,Low,Long,Poor,Low,Shark Optimizer,1435,148.7771228636147
|
||||
Titanium,135.63836284704215,0.3380005478387557,1600.1814750305803,782.2510413637744,91.02812343570162,5654.629158427554,-46.11129129115784,130299.80419475633,37,40.166559348207464,51.838038739461965,10.84089152020642,Cylindrical,distributed,Moderate,Medium,Poor,Medium,Shark Optimizer,846,139.97693553342418
|
||||
Carbon Fiber,76.79954485132303,0.3350277545428916,2450.1822039189074,1386.9929699618187,82.54336970444888,14703.58215175283,-56.31346256463422,140125.7089955663,30,27.2340450603772,48.920422879043585,7.789585518853858,Cylindrical,uniform,Low,Short,Poor,Low,Shark Optimizer,1907,92.43929081236843
|
||||
Aluminum,60.48444947107433,0.33504309768839946,2183.992958975346,782.5467882314107,59.85878441448475,7301.053983427482,-53.88347973151224,126736.58702552057,24,54.67517617187244,68.50712184920992,6.0708501885579915,Rectangular,distributed,Moderate,Medium,Excellent,Medium,Chaotic Quantum Genetic,1721,108.49183953081575
|
||||
Carbon Fiber,90.49154343604896,0.33222096025808984,2208.6714016493424,413.8914061824411,99.39376308501396,12125.377621674106,-44.539279122247294,115139.12207527022,38,39.08638647645702,57.8975503513143,12.206436604463606,Cylindrical,distributed,High,Medium,Poor,Medium,Chaotic Quantum Genetic,524,77.1825197184895
|
||||
Titanium,91.55282762372312,0.31519326239074646,1529.522483135766,636.3811425366549,54.805216814441465,6550.204949242153,-58.31718693262403,184320.13305422163,23,47.21949681630108,53.47104998593006,12.949744147157727,Rectangular,distributed,Moderate,Long,Good,Medium,Chaotic Quantum Genetic,740,144.65566043534244
|
||||
Aluminum,85.9902686912848,0.3479715189050339,3964.347313215337,645.2232108471612,92.7477027144372,17429.68411424043,-49.630410373214644,139443.1219999463,37,52.542790082799335,66.65746739575405,14.775731161383984,Cylindrical,uniform,Moderate,Long,Poor,Low,Shark Optimizer,633,131.80829509282373
|
||||
Carbon Fiber,61.851208160031796,0.31500071203921787,3714.0441049746532,534.1300758827197,95.35821777486544,5376.9094436591495,-43.67594480135925,120686.64921333164,35,50.24890810469663,48.781151674233314,6.738799006066547,Cylindrical,distributed,Moderate,Short,Good,Medium,Shark Optimizer,1394,57.76785847832193
|
||||
Aluminum,89.98176308928669,0.32693860723453544,2476.648622188361,773.9811560496805,75.97551587432388,8513.151285149126,-41.97345649364107,195790.86991082787,33,52.155499868931926,47.50121353603428,13.533282271009968,Cylindrical,uniform,Moderate,Long,Good,Medium,Shark Optimizer,1926,142.0687875584573
|
||||
Titanium,114.58792068307095,0.34717988729928595,3548.066634951153,472.26818044919537,60.825413582155406,12397.296734391202,-44.96809602863618,109252.97538818988,35,35.252806652311996,49.52409876357566,6.277228607325734,Cylindrical,uniform,High,Medium,Excellent,Medium,Shark Optimizer,1979,141.38383190273504
|
||||
Carbon Fiber,133.55386129779845,0.32334833485864556,3610.7854629797057,535.7100344478897,92.02116903033095,5813.421316815419,-49.03787996966923,109574.01124777614,38,48.06791232833086,36.83456013318051,11.127192618083626,Rectangular,point load,Moderate,Short,Good,Low,Chaotic Quantum Genetic,1449,125.03889027541749
|
||||
Titanium,66.47947743957862,0.34274986274584646,3846.3888902281137,538.455680488003,88.48411659832087,7811.667803370031,-48.7320001610111,155470.41133333242,34,32.09122566917729,44.356764077724236,10.573351661330681,Tapered,distributed,Low,Long,Poor,Low,Chaotic Quantum Genetic,1708,86.59310520121974
|
||||
Aluminum,77.86174515976937,0.31538870313870704,3896.0462222753663,1163.108793508014,71.04666375140258,18302.015784343395,-57.78311731623569,150027.95122863638,32,32.040264708994044,50.409246614630526,5.260121543019829,Rectangular,uniform,Moderate,Long,Excellent,High,Shark Optimizer,810,98.60631343370214
|
||||
Aluminum,112.2761561644197,0.31800814427160484,2411.1353541531134,467.4800418816834,88.49263921322083,15107.823364204856,-53.9863382600782,175355.21250206657,27,26.476670055259458,39.535529477919845,6.470289674258533,Rectangular,distributed,Low,Medium,Excellent,Medium,Shark Optimizer,1076,67.4946347328466
|
||||
Aluminum,187.6444669219642,0.3314288214629405,2791.0183735298915,1414.6902905608565,84.66259471749068,11895.22624081189,-56.49351242659862,151452.58012154154,31,43.61267531111008,36.91962405784078,12.305670374205134,Cylindrical,distributed,Low,Medium,Poor,High,Chaotic Quantum Genetic,1356,112.8758049224953
|
||||
Titanium,154.13328143134243,0.33111131221019163,2368.758026252045,923.719728572155,67.57499243290658,16940.13352251224,-41.05446756842128,134482.63858802232,34,49.52628463656483,39.02193207855869,13.239061626007185,Tapered,distributed,Moderate,Short,Poor,High,Chaotic Quantum Genetic,1502,90.24037707766176
|
||||
Titanium,89.77361408449609,0.332432621130794,3367.8961165529226,1435.4026681062542,75.21817109964186,15295.496048689403,-57.47851364286974,151666.24913247133,30,31.814791207783134,69.82145532549033,9.523130203191599,Rectangular,point load,Low,Short,Good,High,Chaotic Quantum Genetic,1402,76.87656310879599
|
||||
Titanium,197.69307184406665,0.34847870226876165,1570.68586653003,1447.3412947714603,72.6580890863014,17361.399115659715,-48.06052289673833,141548.5735483423,36,40.53832710320906,39.47352070233924,13.26296515992648,Rectangular,point load,Low,Medium,Good,Low,Chaotic Quantum Genetic,1348,83.4801248818049
|
||||
Titanium,87.51386046381967,0.34323917107856666,1777.3619797734766,1129.8116135539394,66.91209293243304,19384.641940425056,-42.17199580752094,138340.7525779543,36,35.400767712690104,60.68266514096644,5.123799088300558,Cylindrical,uniform,Low,Long,Excellent,High,Chaotic Quantum Genetic,1821,86.73927123073273
|
||||
Aluminum,174.53868025738296,0.309029096088993,1643.5731187737154,935.3082644773463,58.564197636185405,11611.316386978557,-44.2779567902355,189740.60695258476,31,43.542310762718316,60.699682024753855,9.895327791074955,Cylindrical,distributed,Low,Short,Good,High,Shark Optimizer,1518,124.96019751647364
|
||||
Titanium,134.69888492674067,0.3431704340349757,3309.188097628775,284.21645523888714,66.05671149485364,9611.413062072319,-57.950069664464536,177773.2469550484,32,32.84500792754571,30.43854297918614,7.940841423962398,Cylindrical,distributed,Moderate,Long,Excellent,Medium,Chaotic Quantum Genetic,594,111.85652966282001
|
||||
Carbon Fiber,105.16066405920549,0.32772051146388786,3305.2576172329027,268.37133122959466,50.42456767106934,10441.975487963136,-46.75652902792134,103581.23260983427,26,25.39052461488651,37.81677994499889,6.0937220031791615,Rectangular,distributed,Moderate,Medium,Poor,High,Shark Optimizer,1218,84.15458419080369
|
||||
Aluminum,97.13744338926156,0.33959099806880455,2255.456180250895,553.3538432075684,52.23798856961911,7760.888281471534,-42.99502435634451,147666.85931994775,30,41.19061854781824,51.64792381811826,14.21017510417067,Cylindrical,point load,Low,Long,Poor,Medium,Shark Optimizer,1178,136.4119098818287
|
||||
Titanium,192.6595686606406,0.3378370964951013,3475.1566421289217,689.3456752618644,93.74280834696685,5147.811439144733,-43.11403607341548,152409.2263032784,35,27.139271591604622,58.04510376678871,7.743057042050042,Cylindrical,point load,High,Medium,Good,High,Shark Optimizer,1971,123.02089026723817
|
||||
Carbon Fiber,196.68552330675885,0.3112854530417988,2104.677578174032,1349.3894577109115,60.88509182466303,19749.57673470555,-41.159506382576694,152536.9691155363,33,58.506424283069826,64.4285735515553,6.522153852040402,Tapered,uniform,Low,Long,Poor,Low,Chaotic Quantum Genetic,1361,66.391583625597
|
||||
Aluminum,183.8906167180615,0.30768025250247594,2792.9898542986843,432.0151760907893,64.35188629950419,12449.436906372677,-50.047748024349914,154025.39874271565,25,42.27675846187081,60.388431969762735,5.978819853403826,Cylindrical,point load,Moderate,Short,Poor,Medium,Chaotic Quantum Genetic,1951,114.86525085726123
|
||||
Aluminum,75.02629862638626,0.303493906873094,3712.984129576242,483.7489935226571,73.50664046847064,13766.919044327262,-56.578325577555596,183421.97472504195,34,53.34371532134881,31.36615983313861,11.065663369285133,Tapered,distributed,Low,Medium,Excellent,Medium,Chaotic Quantum Genetic,941,93.87709462046075
|
||||
Aluminum,148.17507046870642,0.30343347859179376,4144.1534229696335,889.591682711022,96.17229743492592,9651.934666546655,-42.79316945644997,138332.17240194642,31,48.08123193665104,47.29526449915541,13.135265800208934,Tapered,point load,Moderate,Medium,Excellent,High,Chaotic Quantum Genetic,1012,97.52940579142154
|
||||
Carbon Fiber,54.47272134203694,0.31775527155064764,3460.8322143698115,1036.8101047882842,83.06447492636715,14440.62966348379,-45.08295472893391,167130.18215741497,24,52.12206225137531,53.64209733938181,14.835461010921428,Rectangular,uniform,Moderate,Short,Good,Low,Shark Optimizer,1029,98.48692606574215
|
||||
Aluminum,184.26998322860376,0.32969237437234233,3985.231446371762,1206.1870017156148,86.57718037264968,10894.644347613863,-47.022903257793324,155604.47276225704,21,28.629552749952126,59.578394373905454,14.271975743658572,Cylindrical,point load,High,Short,Poor,Low,Shark Optimizer,1239,122.80685546103992
|
||||
Carbon Fiber,139.02043427925273,0.3250081129516541,4291.927911430152,1130.599677413748,68.50457570204802,5645.495309064314,-48.00680390378453,165496.35507062078,31,22.159731033816257,57.5700005347477,5.350588884653103,Rectangular,uniform,High,Long,Good,Medium,Chaotic Quantum Genetic,916,122.16155333019158
|
||||
Titanium,121.23889060685343,0.3233584513976819,3048.947946973595,490.7853741011255,82.93802289260796,12672.684476010534,-55.43245509249938,181295.12031100813,36,41.56207083716204,37.952535846738094,11.808620138399139,Rectangular,point load,Low,Medium,Excellent,Medium,Shark Optimizer,1490,52.00685457980736
|
||||
Carbon Fiber,103.74718622276833,0.31558285347157594,1835.9898025286757,850.2698378048267,90.69701663013859,18223.966410806264,-40.414440592247686,120916.40444077617,23,34.6880037364989,63.0193588779259,7.244540051765682,Rectangular,point load,High,Short,Excellent,Medium,Chaotic Quantum Genetic,829,75.19060715180943
|
||||
Carbon Fiber,192.59185793082554,0.33329294562810163,2645.173561643849,511.522547469404,56.693247701721454,17944.279026943692,-42.211968491519755,193557.6107908364,21,34.657376347991004,61.20179547270853,7.899245459553135,Tapered,uniform,Moderate,Short,Good,Low,Shark Optimizer,1419,118.47300008219133
|
||||
Carbon Fiber,53.17476807403847,0.319632638691402,2002.345274060352,535.4901513077143,91.09122148112104,19286.592328659746,-59.66907516208308,150487.07623444742,23,24.257700888603356,65.52094792140119,13.676073300570717,Tapered,distributed,Low,Long,Good,Medium,Chaotic Quantum Genetic,798,130.21788948829868
|
||||
Carbon Fiber,109.4221612742347,0.321606442736265,2046.8231193278575,705.9309864325063,64.09218413965239,5455.518387373402,-47.4582094452839,173146.81711710396,38,48.53483532809835,57.67071238743965,11.27161216136317,Tapered,point load,Low,Medium,Poor,Low,Chaotic Quantum Genetic,868,147.3923714934731
|
||||
Carbon Fiber,105.00083187385584,0.338745285280319,4406.600109697671,1309.3483268566483,93.16135003766627,13484.513327977136,-59.974258571539366,149388.18878492917,26,39.81018896151467,66.25991266248322,11.462097690084299,Cylindrical,uniform,Low,Short,Excellent,Medium,Chaotic Quantum Genetic,1085,116.47401671538692
|
||||
Carbon Fiber,139.12998647371603,0.333578222945554,3872.9331918241382,1130.5249883630433,59.96522904798391,15058.745505322488,-40.781461829059864,164561.10536244523,21,30.311696149100385,66.85171521480873,12.576601361707985,Cylindrical,point load,High,Short,Good,Medium,Chaotic Quantum Genetic,642,108.18021051868077
|
||||
Titanium,178.34292650583944,0.3285825688928668,4041.218324251428,747.4292689294091,61.04419314308945,15747.358358155669,-59.619443238050074,186124.71965772333,20,43.99388358988678,61.52432363292897,8.986222935906731,Cylindrical,point load,Low,Short,Good,Low,Shark Optimizer,1488,92.13461998585927
|
||||
Carbon Fiber,89.06488164856773,0.32006218767672806,2265.009788081885,400.53401807257075,89.25179337509009,19360.45310237301,-52.24926922162031,136357.07150351602,35,31.555602869269332,55.4582377628179,12.179902476548945,Tapered,distributed,Moderate,Medium,Good,Low,Shark Optimizer,1593,61.39788768823497
|
||||
Aluminum,114.08455086521978,0.32858606778014876,2579.618700241688,1096.2366018135808,50.75744203920824,15770.722855352524,-46.777237406433414,162497.42222998396,21,37.26007962902769,58.78784355457558,8.494933543287914,Cylindrical,point load,Moderate,Long,Good,High,Shark Optimizer,1233,91.93645735693049
|
||||
Carbon Fiber,119.68300207223835,0.31872415997662584,3433.1545782232597,1371.8886537867509,79.76975604944536,6967.806137314897,-55.096142053456326,112462.27200257254,31,22.97038339587685,56.584240315561246,6.375768310642897,Cylindrical,uniform,Moderate,Long,Excellent,Low,Shark Optimizer,1423,148.97420523569332
|
||||
Carbon Fiber,132.9939949539904,0.34479639069079776,3476.4041108633046,923.2408217418285,67.85569849854267,18175.71287544536,-46.65734817258223,157846.96752188334,31,46.32742730521771,67.2446920235183,10.686985080167831,Cylindrical,distributed,Low,Short,Excellent,Low,Chaotic Quantum Genetic,1802,122.90192889070134
|
||||
Carbon Fiber,60.62543350660732,0.31598988605433687,2390.486804725004,1056.0027999917515,97.28037847255223,19538.86506732287,-43.711810468025206,173937.42421265919,24,38.40995074675583,53.18993548995866,8.732877172504182,Tapered,uniform,Moderate,Long,Good,High,Shark Optimizer,932,131.91397502133577
|
||||
Titanium,69.2688454399015,0.3352042186907277,4408.555860765388,423.79333469019167,85.96018534848358,6535.025753933452,-51.49850969731044,182419.4302594776,21,57.02087172437106,69.69072102638613,12.524962426554502,Tapered,point load,High,Short,Poor,Medium,Shark Optimizer,949,56.536142251083575
|
||||
Titanium,175.7383943982463,0.3497576507072271,1772.625270027273,1450.2706626931445,68.07486412129451,15654.748781061939,-47.82957670374314,103193.68279042256,27,50.343969396526795,33.195537528343834,14.445669216834713,Tapered,distributed,Low,Medium,Good,Low,Chaotic Quantum Genetic,1775,96.96868840261266
|
||||
Aluminum,92.17369017894106,0.32231219649848636,3547.270666909043,346.72006006272755,64.868176460171,9447.543984281649,-49.20214419374315,128141.72380604527,26,47.3037150671765,63.33195723989284,7.060983369885894,Cylindrical,point load,High,Long,Good,Medium,Chaotic Quantum Genetic,1537,141.12887351646413
|
||||
Aluminum,194.72876608043916,0.3498260631553911,4387.803113290621,1228.0939581358534,62.68229112749881,9416.925001688753,-48.48670140557605,141100.42942696993,31,48.782923420232535,53.357820390327134,11.49624403543298,Rectangular,distributed,Low,Short,Poor,High,Shark Optimizer,1971,116.59133508826464
|
||||
Carbon Fiber,166.5605235168601,0.33298603678933925,3292.0130106779766,490.64558064833886,60.72870111858731,7476.652857763972,-47.519886799846894,151279.47781259433,26,32.84029556814817,47.352715240403185,7.615954699090288,Cylindrical,point load,Moderate,Medium,Good,High,Shark Optimizer,1959,141.50475362786983
|
||||
Carbon Fiber,136.40483856492244,0.33029049320389037,2073.105157809348,517.2042154289202,94.05234441120234,16722.14045369842,-44.43309736464278,129883.17028628067,25,27.749223871916534,36.13515156884917,5.137279504616382,Tapered,point load,Low,Short,Poor,High,Shark Optimizer,1228,106.17100002733649
|
||||
Aluminum,199.83468375664552,0.3201972263154291,3600.6859324170505,551.4422632033628,90.21923073666188,5548.178019648359,-47.38878647519978,133278.9646866758,39,27.014660007133294,60.866659789775156,10.560645886031729,Cylindrical,uniform,Low,Medium,Good,Medium,Chaotic Quantum Genetic,1633,141.72752839006483
|
||||
Titanium,63.346614579642875,0.30306911546304,2362.8807754211434,1415.9203545052771,80.5816444772247,17351.474946353977,-40.12230196353694,127459.85686627339,24,40.98467167944583,38.050428347155844,7.273395981229688,Rectangular,uniform,High,Medium,Excellent,Medium,Shark Optimizer,709,146.03254076967374
|
||||
Aluminum,99.03814614207573,0.32342099098643534,2375.1714757871277,820.7548287633477,72.90320398632147,5932.701076781486,-54.6511846056833,111264.17108280904,38,48.02370098730475,57.00411064767947,12.520428253767896,Rectangular,distributed,High,Medium,Poor,High,Shark Optimizer,1493,70.17661097124184
|
||||
Titanium,75.40687540540495,0.3315691860783343,2497.8342587290663,957.1279266853898,88.70463096170494,17441.343051357162,-51.20483888905378,163243.3348476423,21,53.414273690914,37.68268911481229,6.887629248729828,Rectangular,distributed,Moderate,Short,Good,High,Chaotic Quantum Genetic,1457,125.32675334813422
|
||||
Aluminum,68.7646914946048,0.30777658491471355,3897.7519265548394,609.9990607893453,55.79652399971057,6645.951986020225,-48.53260671660293,164627.0929374213,32,57.6371421486691,41.18433305603517,11.440008392983039,Rectangular,uniform,Moderate,Long,Good,Low,Shark Optimizer,738,121.9161392642731
|
||||
Aluminum,166.84737720236998,0.3283392199423162,4304.190176824549,620.4980214827424,98.27423279229362,16250.081921951974,-40.81208789865232,149185.1709426367,35,25.768483008742148,48.06138969034268,5.228257496224748,Cylindrical,distributed,High,Short,Good,Low,Shark Optimizer,1217,125.02294232646437
|
||||
Aluminum,120.09837112725617,0.34461568525958663,3213.6706543037108,1175.6269928123868,80.4202971444144,14083.385127608668,-54.26931548662968,131238.0656604902,33,21.578676961160138,36.80120918575558,10.841519321370292,Rectangular,uniform,Moderate,Medium,Excellent,Medium,Chaotic Quantum Genetic,831,64.45477053451731
|
||||
Aluminum,56.69709945059187,0.3157407303502829,3826.410486284693,1080.9259051090617,58.83589412143627,6590.089848760536,-41.41535206449319,187033.30865202827,23,43.91122127170813,51.11571041122241,7.989444813261352,Tapered,uniform,Moderate,Long,Good,Low,Shark Optimizer,901,63.51697588851752
|
||||
Aluminum,156.82138309881876,0.3194607261329255,4085.234923360307,627.932083142415,81.56017962943649,6001.6215767873855,-41.11837071458906,164988.11505586968,25,45.98213124519233,60.38292008526929,10.809049344061492,Tapered,point load,High,Long,Good,Medium,Chaotic Quantum Genetic,696,109.09169970740332
|
||||
Carbon Fiber,187.11271147506574,0.32734695142171216,2643.417414356394,1308.1863690516734,90.79594817589891,18118.679212605603,-42.69021349117605,170333.4083442096,36,52.86001186879699,41.90752235181173,11.133548285596133,Cylindrical,point load,High,Short,Excellent,High,Chaotic Quantum Genetic,970,104.04109691705183
|
||||
Titanium,71.90895345209883,0.30731456673371693,2162.8354070282476,733.1004411361089,78.28734880971301,19543.093051009295,-40.260691173904554,162301.12833883282,20,25.442045873054994,33.640062870680374,14.621281977080816,Cylindrical,point load,Moderate,Short,Poor,Low,Shark Optimizer,1613,116.92311497595226
|
||||
Aluminum,126.24244126027871,0.3288802504631441,4171.673435526482,980.478230335445,50.10844500858114,6793.918802491668,-40.409615991806774,147705.58552853926,34,30.91367967753167,63.57714467766531,10.107418686608852,Rectangular,uniform,Low,Medium,Excellent,Medium,Chaotic Quantum Genetic,967,88.67737684798796
|
||||
Aluminum,132.76809971399786,0.32189780582161676,3417.14160583138,289.5737330236487,83.56722642326741,14121.649937067752,-56.12069347854465,191521.67829782344,24,48.34671037260384,64.10286253273657,7.508791361437304,Tapered,uniform,Moderate,Short,Excellent,High,Chaotic Quantum Genetic,1877,59.83994986148069
|
||||
Carbon Fiber,87.27337418029798,0.3058619078382297,4495.759088095127,1276.6913647750052,62.477724176645246,6093.353110750253,-47.909534456511075,172851.74463450734,24,49.354744194186964,32.068674111671,11.7714425156925,Cylindrical,distributed,High,Long,Good,Low,Shark Optimizer,1101,112.9440876077484
|
||||
Titanium,116.9414619999563,0.33933657389100114,2423.07131646441,1343.6407368128528,91.04009236910004,11240.295163927125,-49.4982234096901,180430.24725062805,24,38.69732246117138,30.668971993706606,8.25551629521799,Cylindrical,point load,Moderate,Long,Excellent,Low,Shark Optimizer,1067,88.93385095457998
|
||||
Aluminum,199.6874303498191,0.3047197704719732,4424.727677117145,558.644999159548,95.58079668543044,7914.392919918006,-59.17744253906887,135754.78216345742,37,45.51256588734137,34.419196059500926,11.230571539488661,Cylindrical,point load,Moderate,Short,Excellent,High,Shark Optimizer,924,132.38295848454538
|
||||
Carbon Fiber,75.51484945659993,0.33405857566920594,3363.1487120786687,1194.0493461586047,56.330741869416094,6045.464723982278,-53.59800941435614,147713.74795957396,24,34.603685279744354,66.9263574944235,8.986823689904723,Cylindrical,distributed,Moderate,Medium,Excellent,Low,Shark Optimizer,1881,82.44187083874371
|
||||
Aluminum,94.56556089203033,0.32471489572568857,1584.5843655427811,331.82785276571803,59.22638425632325,6882.740038603013,-50.04815261162904,187062.10894017783,37,21.855638741193207,45.08907489943889,10.654477149270479,Cylindrical,distributed,Low,Short,Excellent,Medium,Chaotic Quantum Genetic,660,142.44977118998773
|
||||
Titanium,67.56157998854103,0.30783795527593555,1836.821865576465,877.5766596023909,56.6066820501142,6903.689512086867,-53.7507415039341,158602.44878113928,24,26.612918205950965,65.04635680736085,12.977760179877997,Tapered,uniform,Moderate,Long,Poor,High,Shark Optimizer,1203,70.64000738974406
|
||||
Titanium,125.07938576615493,0.32189147886041664,2782.8714251932015,718.9670851660708,66.65101514102729,15294.060891879028,-51.23347730450811,144137.30534534185,26,42.700097820602636,55.98060292223079,14.705272243484217,Cylindrical,uniform,Moderate,Medium,Good,High,Chaotic Quantum Genetic,725,62.27031892039555
|
||||
Titanium,171.80122164360668,0.3331430707404452,2251.918018777694,514.4999745149837,99.60466799554584,11283.724755384825,-56.66569701916052,154999.755319985,38,30.57953333704328,67.72994242837936,12.229155159854734,Cylindrical,uniform,Moderate,Short,Poor,Medium,Shark Optimizer,1032,134.07035448382464
|
||||
Carbon Fiber,138.96799913988195,0.34049735313848034,2426.0133803637464,1118.382882280015,92.57949161144754,10483.325884279644,-40.03928514984504,127953.53212084374,23,46.959535447461285,49.84862549141527,10.171385333543206,Tapered,point load,Moderate,Medium,Good,Medium,Chaotic Quantum Genetic,1115,51.89795087302753
|
||||
Titanium,170.82449016726224,0.31942975170320026,3193.2421121115203,721.1988787181929,79.81817304673737,16097.863768073987,-50.58823880556335,184786.23605019,33,24.569823534818287,59.82052256629467,8.35684247123519,Tapered,distributed,High,Long,Excellent,Low,Shark Optimizer,1428,119.59362289246151
|
||||
Titanium,93.72792302224357,0.3396116047649838,3275.5856375930666,412.69901706851135,60.26073064232294,14552.069800588883,-43.26346955265798,182321.9884871071,36,52.05321058489518,47.352347342645345,10.791958622189856,Tapered,point load,Moderate,Medium,Excellent,Medium,Shark Optimizer,620,132.8946773365208
|
||||
Titanium,128.338591606834,0.318390204537693,4156.482730017622,733.4835579355744,92.0218058131863,19935.24077476948,-56.850923338378564,192002.143145962,38,45.89018799666829,66.46359221326031,14.152896210103163,Cylindrical,uniform,Low,Long,Good,High,Shark Optimizer,1148,132.33449945744422
|
||||
Aluminum,73.8090149565966,0.3408177430826213,2448.5769128868724,1396.0152771077885,64.95695257697055,6579.9292426561415,-59.621153861919844,158525.7366886848,25,23.997234466418927,47.124959238216064,14.003469289536568,Rectangular,uniform,Low,Short,Excellent,High,Shark Optimizer,626,139.9244882646708
|
||||
Titanium,73.32930465871681,0.34272745401880583,2534.934963035566,490.3231064566148,50.75393812627439,5778.830183082483,-50.97413969615735,194582.21302045288,37,55.060416445991535,42.87058833575507,6.5783400656322275,Tapered,distributed,Moderate,Long,Good,High,Shark Optimizer,1056,64.88532297441647
|
||||
Titanium,180.09620133045038,0.3243864678621922,2369.803768005643,889.3929429389649,54.03987066866878,13138.41567489173,-52.05198449209837,103293.43451524385,32,38.81194007351337,32.069989399260486,6.648687829011585,Cylindrical,distributed,Low,Medium,Poor,Low,Chaotic Quantum Genetic,712,68.51025671837998
|
||||
Titanium,101.07948481019235,0.33960313788297314,1889.8579051754625,1124.2988306453503,62.85349978189063,12309.01725714908,-45.96427553301792,105879.52201363584,39,25.72064433241934,49.41769584481503,5.5465256548168504,Cylindrical,point load,High,Medium,Good,High,Shark Optimizer,1283,137.07259263296592
|
||||
Titanium,109.19277192955673,0.32794549413266527,3187.2397495107853,293.65021239896515,86.9663194111391,13603.171726785527,-45.672039740679665,128067.73578506942,25,23.567439045494115,54.148813489052024,13.120443138632027,Cylindrical,distributed,Low,Long,Poor,High,Shark Optimizer,523,113.42455169039488
|
||||
Carbon Fiber,152.6696023504366,0.32952897873152875,2708.4365867001634,737.8015144790563,89.89940486560965,17775.09829661627,-47.309929390925745,141917.39504487993,31,58.0582076477414,33.70070914398852,13.023187220065957,Rectangular,distributed,High,Medium,Excellent,Medium,Chaotic Quantum Genetic,914,58.620883204954865
|
||||
Carbon Fiber,112.00881959133545,0.31865886549879124,2755.436104319301,827.4034301694264,89.74930422558322,14838.05760832567,-45.552019841846985,112338.63643995016,33,53.93675126274105,42.137620790526654,9.703516423209647,Cylindrical,uniform,Low,Medium,Poor,Medium,Chaotic Quantum Genetic,1197,92.89287075409526
|
||||
Carbon Fiber,60.70789009281995,0.31567797098301037,3374.3329592433865,1333.3458865405053,64.96536079423925,13371.680365898603,-49.542903560932444,132120.00267518786,38,55.64041576527538,61.11139741954567,14.891479885329671,Cylindrical,uniform,High,Long,Poor,High,Shark Optimizer,1056,52.03076503170191
|
||||
Carbon Fiber,152.78095182641238,0.3435710779182959,3245.7268453799197,330.6063540016541,83.98137964973716,17329.41791403921,-48.83775942445844,167410.03330741858,39,54.5044189573799,31.28338014760349,12.213018309392393,Rectangular,distributed,Low,Medium,Poor,High,Shark Optimizer,548,85.3271833848091
|
||||
Titanium,71.82378604002112,0.3229463423087163,4262.4569636484375,751.3346948437769,74.09468183540808,6359.634529770067,-52.93897848034652,113917.69690990448,39,26.355100760186616,36.62370911418838,5.779340000642436,Rectangular,point load,Moderate,Short,Excellent,High,Shark Optimizer,892,79.46087045377946
|
||||
Titanium,112.88745859776303,0.3380030989324535,2353.831236769237,609.6598578681815,87.84470151574206,17566.83131929546,-56.98103002033637,190363.484531281,33,22.162191679365996,59.27997176763812,13.54248522244884,Cylindrical,uniform,Low,Long,Good,High,Shark Optimizer,1212,124.75508064914825
|
||||
Carbon Fiber,67.78219734186854,0.33265422145285306,2725.360533071691,1205.3204072061385,66.84198968265436,10805.422987986924,-52.72093138532442,187830.11061932036,24,44.96523857887968,68.68944500566197,12.849360176457019,Cylindrical,distributed,High,Long,Good,Medium,Chaotic Quantum Genetic,1754,59.38920611494613
|
||||
Aluminum,199.78606273674143,0.307865367238671,4304.972831494888,564.5985806335037,54.5733096092584,15720.149500251373,-58.189778883064335,132944.42555412892,20,41.87944215333776,68.82410015827699,8.7020863196409,Rectangular,point load,Moderate,Long,Excellent,Medium,Chaotic Quantum Genetic,1674,56.20041624840617
|
||||
Titanium,99.9159121694745,0.3215679473316001,3104.8504860547678,1404.2009528252047,99.53492609965339,16797.347420211536,-58.58934051995491,109472.15555236513,34,43.1196462990673,50.650836421485664,11.05158755097041,Rectangular,point load,Low,Short,Excellent,Medium,Shark Optimizer,1563,79.19727407478022
|
||||
Aluminum,99.85072406041925,0.33694346622334626,3488.9115457916373,1081.2967351827815,59.55445634592409,5113.454695968275,-58.713687019179254,186970.55663227077,22,24.94991352248734,43.050441430124195,9.710147732066435,Tapered,distributed,Low,Long,Excellent,High,Shark Optimizer,1013,100.21775025214265
|
||||
Titanium,133.45966673826945,0.32753318933012904,4116.376820774793,1428.4627149310197,86.36285149858058,10185.161725647138,-41.74214783029139,199838.63734669943,34,37.380486593526655,35.380110658370796,10.303594291097014,Cylindrical,distributed,Moderate,Medium,Poor,Medium,Shark Optimizer,739,105.61200759744418
|
||||
Titanium,126.50016901527833,0.3425330024107249,3674.7584963395907,664.9957792545542,84.42230576682806,9402.140775464159,-53.64645590379666,187629.0472539254,20,30.066633996365496,57.798188607419746,9.566723001663053,Rectangular,distributed,High,Short,Excellent,Medium,Shark Optimizer,1839,52.97313133525133
|
||||
Carbon Fiber,158.20249699278673,0.32260635061828874,3752.2161815070735,279.48367123112206,76.33619428727037,8881.060893684102,-58.55166580633603,129150.50343372603,27,54.796301529901875,62.74881032998602,13.418383768935735,Tapered,uniform,Low,Short,Good,Low,Chaotic Quantum Genetic,1825,144.4092085062881
|
||||
Titanium,168.18628662563543,0.3230392300140324,4118.8404631486155,1196.787065368414,52.197071639575675,8486.47982359324,-49.61997957460107,146707.4214953051,31,32.5203199380889,61.10291371285684,12.014884030961241,Tapered,uniform,Moderate,Short,Good,Medium,Chaotic Quantum Genetic,896,131.7161089292363
|
||||
Carbon Fiber,93.47735172074647,0.3276819676144798,2461.4502324587656,893.1608284010018,88.67322484997868,6318.7151113607615,-45.27239417126991,166276.46674818557,28,59.700470731936086,44.35268177850554,11.628575506756757,Tapered,point load,Low,Long,Excellent,Medium,Chaotic Quantum Genetic,1409,113.61113754907214
|
||||
Titanium,78.74767208214891,0.3393160164635287,2057.271009239906,1099.9073857258832,80.92414713704787,10019.07631869839,-54.69440571537877,196017.24096054427,39,49.971522523709055,42.47769655220852,13.832703481352116,Tapered,distributed,High,Long,Good,High,Chaotic Quantum Genetic,672,75.75295895588889
|
||||
Aluminum,137.3156664647344,0.3167303831072694,2273.51898115326,764.4424718713115,74.55181572014045,11358.504149523967,-46.34248615756951,186888.2786083053,34,24.332813734912648,66.46489766008504,14.524090817490867,Rectangular,distributed,Low,Long,Poor,Low,Shark Optimizer,1601,131.29518574000878
|
||||
Carbon Fiber,130.48208971511093,0.33876012064799194,2768.2841982761684,1419.6990087330503,69.42598813221026,19416.25121338723,-58.53002632646023,157355.11169621354,39,24.78932552302384,48.4089098999,11.793058438855784,Rectangular,uniform,Moderate,Short,Poor,Medium,Chaotic Quantum Genetic,1221,134.3131854824422
|
||||
Titanium,63.324962872687195,0.3080869092058525,3061.478556553598,871.2877922323855,71.06368516485479,8113.543617345882,-50.274422033708845,140441.7745384745,20,51.47575226315695,31.211102177975167,12.559639350984689,Rectangular,point load,Moderate,Long,Excellent,Medium,Chaotic Quantum Genetic,699,135.73738575527426
|
||||
Titanium,123.53565721862158,0.3019454773671641,2092.8653620474424,1071.551350909288,97.66763776298635,9769.9545023014,-57.71260017205171,197133.8444764602,27,26.601907639912675,50.83135124738388,10.083783780990393,Tapered,point load,High,Medium,Excellent,Low,Shark Optimizer,895,149.83364146455503
|
||||
Carbon Fiber,109.4490154547812,0.3493304450478336,3615.6779026183744,1162.3849487235677,84.09729086203858,14541.30925567411,-48.164918890181845,138151.10251520772,34,42.52848903553894,57.38284362095126,8.237433673721114,Cylindrical,point load,Moderate,Medium,Good,Medium,Shark Optimizer,615,79.10062304982083
|
||||
Titanium,187.28303417858402,0.3268088480006997,2480.3234434401056,701.8223404543419,78.63575099523484,6921.19655520528,-40.97457228204692,151900.34389142768,33,31.157930875928365,42.72094795523928,12.599270883937432,Cylindrical,distributed,Low,Long,Good,Medium,Shark Optimizer,1610,72.13513294682767
|
||||
Carbon Fiber,117.9492393494834,0.30890008719063605,3543.270095672942,711.4926785112391,60.466462990134275,8052.351570900372,-58.41390438974412,179659.30099874543,38,30.458436101970623,35.14032903773569,5.17665603182364,Rectangular,uniform,High,Medium,Poor,High,Shark Optimizer,1961,132.48423534114286
|
||||
Titanium,161.3299132526702,0.3299691505131516,1914.4833836107175,1124.9501831359403,70.74377781428917,18759.32532046469,-43.09644160936145,169385.61950749977,28,25.778546972591954,65.33356446956168,14.8800238827295,Rectangular,point load,Low,Medium,Good,Medium,Shark Optimizer,1179,141.4768127000948
|
||||
Carbon Fiber,131.53722696393785,0.3210177578287089,4351.720576933076,830.9522874371552,52.48215382448273,11997.669731326761,-44.70364888805722,160890.99338429153,26,21.703534389184753,30.929704958938004,7.957677732156462,Cylindrical,uniform,Low,Short,Good,High,Shark Optimizer,1095,132.57037458431398
|
||||
Titanium,115.5421836442394,0.32389907583998245,2842.3475771895073,860.8376832820627,93.80644042712058,9151.577712295943,-48.36929942011754,174367.47435508907,22,49.04126664299555,65.01051880617047,11.029100023969796,Rectangular,uniform,High,Short,Good,Medium,Shark Optimizer,1857,148.94514534036836
|
||||
Carbon Fiber,107.37747891979318,0.30579121410987914,3883.9844093515403,1424.663755277445,74.80393350691968,11959.579313290447,-41.27448348614631,139227.46634058078,21,22.20427859058068,45.34828971514548,10.671933220076628,Rectangular,point load,High,Medium,Excellent,High,Shark Optimizer,946,148.57945163008623
|
||||
Carbon Fiber,144.79355569751556,0.30401440197199087,3352.744181713453,510.1914441574008,82.2269918971399,14253.075194501742,-45.18778171701921,143006.45903088132,36,39.36219953244666,66.26897863350095,8.566996455448294,Rectangular,distributed,Moderate,Medium,Excellent,High,Chaotic Quantum Genetic,1305,100.87720026479181
|
||||
Titanium,84.53087473684803,0.3162160863721583,3534.2925631675453,374.17163832267056,51.689503598965715,7543.510330141304,-52.02872614226409,180752.53448797038,24,21.3608915610936,30.378353085973057,10.34132843272321,Cylindrical,uniform,High,Long,Good,Medium,Shark Optimizer,1133,117.16748745373539
|
||||
Carbon Fiber,168.65728986466507,0.33300308399234574,3444.1420863367002,1064.475101438682,88.72069727520778,15797.595304615263,-56.16920982151109,106122.18622900116,39,29.17662268818939,35.91719475288422,12.912029831038916,Rectangular,point load,Low,Medium,Poor,Low,Shark Optimizer,1932,103.06570831206002
|
||||
Titanium,183.501113634111,0.3425786303028783,1779.977470346558,591.0588368715744,63.81845628666689,15416.903081321543,-49.057924891994816,126681.35598185097,31,28.788747003501072,41.149848591568826,9.053157559123933,Tapered,distributed,Moderate,Medium,Poor,Low,Shark Optimizer,1828,129.26829528750548
|
||||
Aluminum,161.17448530636005,0.3231393900637663,3963.8079137082327,811.3205380558993,62.87296068221107,19126.645016357095,-50.925493922973395,190515.40622172243,28,48.266917712098106,69.38449898796816,11.113015503806395,Rectangular,distributed,High,Medium,Excellent,Medium,Shark Optimizer,914,142.24981809497183
|
||||
Carbon Fiber,58.031266833012474,0.30400445670195025,2017.2896486078218,978.2253625036751,64.2730276828996,19088.780933865164,-57.798662948257224,143405.54017249358,24,28.01505766878925,58.10790660179279,13.596178637277045,Tapered,point load,High,Short,Poor,Low,Shark Optimizer,1931,79.87429925535136
|
||||
Titanium,136.37570297212676,0.33334205223689,1550.048780843938,559.783649359762,91.40958115345033,7915.29748861066,-47.457077299388146,146187.3548008253,36,20.624112778864557,39.561022351842695,6.343586350155961,Rectangular,uniform,Moderate,Long,Poor,Medium,Chaotic Quantum Genetic,1138,97.73123836389028
|
||||
Carbon Fiber,152.73405190577824,0.30926024316365874,2761.1131143090333,1333.476356567212,69.68815281390472,5520.245690458759,-57.58023072754013,101602.67980436113,33,50.678436730889175,68.28455266234405,7.558440556547277,Tapered,uniform,Moderate,Medium,Excellent,Low,Shark Optimizer,1200,110.09101922559063
|
||||
Carbon Fiber,57.65181232405935,0.3396311005140293,2084.8499154694873,796.3040907029854,52.815287554060184,13338.838661242955,-55.709090315430224,117838.79386039113,30,45.97437673837672,35.739866563601694,13.714408959552953,Cylindrical,distributed,Moderate,Long,Poor,High,Shark Optimizer,1500,145.43479233206568
|
||||
Aluminum,138.00936462311864,0.34008559990155973,2180.076257600897,412.8283858301651,86.67372114471809,18081.527465381667,-51.36536544876153,116965.26840437623,24,37.22172771198903,32.056144710352235,12.96176874333899,Tapered,distributed,Moderate,Medium,Excellent,High,Shark Optimizer,1320,141.9082454648015
|
||||
Titanium,196.84594476126284,0.30850845667844773,2175.3043891890643,521.8084513237167,97.61949349987913,9391.424635768917,-44.53569017196954,111947.8596010432,23,29.74796638040003,34.02639278313511,9.337394759048873,Tapered,distributed,Low,Medium,Poor,Low,Chaotic Quantum Genetic,1028,90.02667642409997
|
||||
Carbon Fiber,125.00981945347718,0.3240182530588267,2232.7246963421417,1275.7195811371134,74.35490058460826,16228.05210583642,-52.26426132990494,139790.1601827328,29,26.48347289088477,43.63705672286863,7.567715406697869,Tapered,distributed,High,Short,Excellent,Low,Shark Optimizer,1005,53.295603308285756
|
||||
Aluminum,125.4708165272372,0.31409741458499807,3142.899157908142,484.0823770068456,92.63091616559348,6712.079144696568,-47.57403797580669,173312.72842813522,23,28.588487616308527,42.35195672191338,6.269652526124117,Cylindrical,uniform,Low,Medium,Poor,Low,Shark Optimizer,1877,64.63359850697437
|
||||
Titanium,187.38252838993355,0.31278577404373176,4154.004764908057,1279.0301528283187,69.78222204073813,8369.025762996407,-45.56440913091964,124798.41086824168,34,39.21407025992183,53.29858906288534,9.957279404793724,Rectangular,distributed,High,Short,Poor,High,Shark Optimizer,787,54.69873674920136
|
||||
Aluminum,198.97573082046426,0.31611805152376743,4249.546997931168,561.4347049373589,78.98151686062941,12759.169213647192,-49.63077723689678,122600.18159426015,39,42.69543078562213,63.5321284920028,5.13882024963404,Rectangular,uniform,Low,Long,Excellent,High,Chaotic Quantum Genetic,780,109.48976221438011
|
||||
Carbon Fiber,67.3327214126077,0.31329992398170314,3980.754750235748,1055.5266295727563,98.64527239749165,19671.280386867606,-40.575220575982776,165555.1606510082,28,44.67368688077056,41.33831710966791,6.507958579841045,Cylindrical,distributed,Moderate,Medium,Poor,Low,Shark Optimizer,860,129.59724070261154
|
||||
Titanium,153.44339182596354,0.33328375237813057,4376.079652658282,594.4456593943303,56.27998056276017,19213.456966310776,-51.60061157221861,144812.75737787058,32,53.32819939646124,48.75672192337582,9.788017251789842,Tapered,distributed,High,Long,Good,High,Shark Optimizer,1396,58.694753247750796
|
||||
Carbon Fiber,161.7449553000091,0.3023294424864961,1857.4660804630394,1089.283797175654,52.88366879007044,9748.459592535786,-50.329528080283026,140712.49395419424,36,28.02765592006115,43.38852961774215,8.301754947348403,Cylindrical,point load,High,Long,Good,Low,Chaotic Quantum Genetic,1921,138.4107694682034
|
||||
Aluminum,183.449068679844,0.3474382841617692,3511.9630590409315,1037.041969635995,70.90816430852627,16558.04577283501,-43.065584496641875,103447.10545876047,36,43.3099662741761,48.39397825911057,6.526074212954347,Tapered,point load,Low,Short,Excellent,Low,Shark Optimizer,1897,110.43117133437039
|
||||
Aluminum,84.34175298014374,0.32923496098639327,2937.631457719022,747.8873337860011,82.0672914524597,10459.033005382134,-58.861280769856,197460.25065263844,35,39.371991815316946,55.91369817694962,12.533248237095753,Rectangular,point load,High,Long,Good,Low,Shark Optimizer,1844,53.83283357820259
|
||||
Aluminum,67.42242563333039,0.3198241480371565,4034.4540017486343,865.8454321190122,89.89782600440333,18327.72732919913,-45.960759413066256,127743.9501795964,24,46.69028937165877,64.36473587601357,8.269387610657912,Cylindrical,point load,Moderate,Long,Good,Medium,Shark Optimizer,1292,130.4977015541189
|
||||
Aluminum,53.428797742534876,0.30701977954630527,3880.9260094917463,1427.5053449420695,86.58333805315425,19841.77115868535,-40.78009536430089,159551.2177648068,24,36.35101481033976,57.71187519204943,13.537845454417953,Tapered,distributed,Low,Long,Good,High,Shark Optimizer,764,69.11169350391867
|
||||
Carbon Fiber,57.085239062242955,0.31110295608930855,2351.341950180716,1120.558298685262,58.760346049359875,14645.49745718864,-54.566123079950394,167206.28603439394,38,41.92399528837048,38.16433772984278,10.349883951908946,Rectangular,distributed,Low,Medium,Poor,Low,Chaotic Quantum Genetic,1897,114.52518324912403
|
||||
Carbon Fiber,168.19615939315727,0.3263770892550651,3792.8163960174447,1364.2760740255196,86.54518119532469,16342.860787792799,-52.85236979846153,106835.90302989399,38,32.25214762338884,39.08357113573517,10.03724920221303,Cylindrical,point load,Low,Short,Excellent,Low,Chaotic Quantum Genetic,1080,127.31209225597671
|
||||
Carbon Fiber,50.1475199417925,0.3224325835745488,2168.9859015896436,1493.0549273647625,91.96471326354984,17054.683588562442,-41.225334562671016,150129.63820626203,22,55.90437881833589,59.60274854453128,6.3050341682685005,Tapered,uniform,High,Short,Good,High,Shark Optimizer,884,56.96457478298099
|
||||
Aluminum,159.07730124038275,0.34799394665493916,3297.2093547244895,282.1359945803931,69.78894226805491,17758.767533921025,-56.7120251199934,111919.5932774671,39,57.805949133021414,43.54369710480097,14.4217296994304,Rectangular,point load,Moderate,Long,Poor,Medium,Shark Optimizer,1490,71.35566842173844
|
||||
Titanium,128.34881345740627,0.3387625696834526,3134.1917049602225,668.0202692030247,69.79289577307985,16752.713305694906,-48.92199507477562,160168.28905275164,26,53.05368787381495,60.16018178155578,12.076046186049634,Tapered,uniform,High,Long,Good,High,Shark Optimizer,1730,90.34207811742473
|
||||
Aluminum,129.4176254705561,0.3262390016305974,3549.57740622188,615.3025537577353,79.07169020894653,11849.012576972262,-42.95362668552802,163034.67494548205,31,27.683376874307477,64.08543908539716,6.2561395983859915,Cylindrical,point load,Low,Medium,Good,Low,Shark Optimizer,1284,63.11740273130661
|
||||
Carbon Fiber,60.806337298961296,0.3230222960495691,3321.2724277481525,801.9434206773415,90.766773055349,7257.273913628722,-40.52741253068015,119170.99041870018,30,37.4617433267726,53.475696515026364,5.007289818643935,Tapered,uniform,High,Short,Good,Medium,Chaotic Quantum Genetic,1096,141.90390813477325
|
||||
Carbon Fiber,191.8542837494378,0.3037113248683276,1586.7272265085812,1313.9306437749235,78.21852152618891,18824.23209280477,-58.52091695519492,122776.87365120626,38,51.36011880765493,48.28008969630485,10.079738727492192,Rectangular,point load,Low,Medium,Good,Low,Chaotic Quantum Genetic,1053,148.3250831379027
|
||||
Titanium,159.14293007922234,0.32610440831699034,3163.516545861131,921.0157911989576,78.8888050650946,13399.177494955497,-43.7081038131101,197546.09556894522,35,58.75202805455484,34.35722913538366,13.546434072556297,Rectangular,distributed,Moderate,Medium,Good,Low,Shark Optimizer,1365,80.38110095341474
|
||||
Aluminum,95.50765953161259,0.3002257803282272,3158.6256019542134,1490.5235370651883,76.01797882167446,17631.090753943892,-52.76475754892414,115894.11274221505,38,49.163006425808234,40.86634408985985,8.992884408791785,Tapered,uniform,Moderate,Short,Good,Medium,Shark Optimizer,1102,71.98895383216399
|
||||
Carbon Fiber,177.08228446053897,0.3372549244206147,3393.5636323503795,415.0516391584613,67.89140120394781,7338.27562295662,-56.18675938413862,141387.1961985939,30,33.88594494249489,68.38598707832885,6.024580189637602,Cylindrical,uniform,High,Medium,Good,Medium,Chaotic Quantum Genetic,1970,78.6215810565587
|
||||
Carbon Fiber,93.27030406015186,0.31787050045695514,4468.365747528785,1382.5984018279678,90.93766608470104,18108.68756569468,-48.51977821348551,121354.52788959286,28,41.702269196271274,66.06573358244032,5.703669707507533,Rectangular,distributed,High,Short,Good,High,Shark Optimizer,1583,78.81348546354856
|
||||
Carbon Fiber,103.44986977859799,0.3015192609639968,1624.7948489505502,957.9323653550438,98.60162522179414,12263.574150762619,-44.48251578282595,125600.48754599207,20,21.906181605603457,53.54398218465961,8.923569902670542,Cylindrical,point load,Moderate,Short,Excellent,Medium,Shark Optimizer,1567,68.41598451723618
|
||||
Aluminum,59.85024692881366,0.33035966803109845,1926.1425119023147,1039.7650001949914,76.46262730149351,14858.91491755473,-52.122000906018826,195524.92918411846,22,32.70098726354604,41.20930560944943,10.20891531546451,Rectangular,distributed,Moderate,Short,Poor,Low,Shark Optimizer,616,119.81058315170866
|
||||
Aluminum,145.10220223203737,0.32083344923480306,2466.1745404384546,1458.3643486495646,92.93416096366246,16512.885729684836,-46.97636482464479,194996.1770537466,25,24.3946198251297,33.39827001545552,12.215211244370117,Rectangular,point load,High,Long,Poor,Medium,Shark Optimizer,1504,79.98148748392312
|
||||
Aluminum,156.23663628672296,0.31383419535100976,1611.0951453140658,772.5830581098461,84.91059517603884,8657.163121623667,-54.33301737449769,185253.6328148537,38,29.595385592804387,52.85203823643974,12.23396142686233,Tapered,distributed,Moderate,Short,Good,High,Chaotic Quantum Genetic,933,65.54861969838592
|
||||
Aluminum,129.40441584207443,0.3113574899189524,2983.299087638119,286.113113217805,55.93064049664957,14852.302540288127,-42.52506245084881,151435.9020039608,34,25.467522803867517,47.405947027879506,11.690922072779568,Rectangular,point load,Moderate,Short,Good,Low,Chaotic Quantum Genetic,1524,128.88023033746975
|
||||
Carbon Fiber,159.74559288388912,0.3102209106189198,2875.944494102293,604.2988642726604,70.68488412680576,8044.280517760523,-53.19658930819816,137196.8254794872,33,57.72686548143357,50.27300046378633,10.866539282225778,Cylindrical,uniform,Low,Long,Excellent,Medium,Shark Optimizer,954,96.86733920125826
|
||||
Aluminum,155.8393301315951,0.3426252457818588,1937.1872841391591,512.5767590499013,52.291383506519786,19266.927247512023,-50.190590906917514,177493.24021970894,30,42.193561547597,68.24995426694744,13.714735079476572,Rectangular,uniform,Moderate,Short,Good,High,Shark Optimizer,1151,122.65855766786242
|
||||
Titanium,124.38390592380034,0.3298943473320918,2529.5597341716802,718.5950718562467,55.69914726794903,5884.309861069101,-43.57902714619591,118356.34720418457,24,24.917482502412835,62.048482304312664,5.7246230685096275,Rectangular,point load,Low,Long,Poor,Medium,Chaotic Quantum Genetic,1569,94.06164767783511
|
||||
Carbon Fiber,147.06351138935955,0.31371683449892473,1586.6715999425744,747.9921607993817,94.49979950160741,19655.50934295629,-41.63211436747248,125838.02920841033,31,57.055513803360924,49.42016034129139,9.031507981102704,Rectangular,point load,Low,Medium,Excellent,High,Chaotic Quantum Genetic,1340,103.58042100009911
|
||||
Carbon Fiber,138.05967626418652,0.3168444668841396,3573.185229158968,1358.6782701354248,91.93515798661696,10740.562349915166,-40.52579012793008,191134.4733947721,31,34.978602554505926,65.32691887127287,5.002665120391389,Tapered,point load,Low,Medium,Excellent,Low,Chaotic Quantum Genetic,1666,132.20683382549674
|
||||
Carbon Fiber,104.09492941174557,0.3381619739888985,2555.484186857165,1421.3921046449352,52.24277639629873,14297.323214101865,-56.965944362029994,102036.38431816829,30,20.730539262197368,55.559594615666654,9.439345941532457,Tapered,distributed,Moderate,Long,Poor,Medium,Shark Optimizer,1983,108.11524561951418
|
||||
Aluminum,171.70401126092554,0.3377089240480896,3751.192228966798,943.999928534063,80.31303028002746,6697.475397037162,-42.792750960092874,127418.52743523614,31,51.26189900470396,36.125874271187385,13.533339954964113,Cylindrical,uniform,Moderate,Short,Poor,High,Chaotic Quantum Genetic,879,84.48499277895189
|
||||
Titanium,60.484640668248126,0.32574846579810257,1793.997006732732,335.2350290226964,60.156575490146906,5085.762895380582,-41.626859155023695,164442.33638856414,34,48.132985728583705,44.22281060226674,10.68695838672264,Rectangular,point load,Moderate,Medium,Excellent,Medium,Chaotic Quantum Genetic,680,102.89897110836881
|
||||
Aluminum,91.88923194895838,0.33506809257701897,4171.373814819603,731.3437573186568,59.099347411554064,7008.140891272159,-43.601039117699905,189945.493456338,32,38.85912669665809,69.58975536684518,6.508198998912061,Rectangular,distributed,Low,Medium,Good,Medium,Chaotic Quantum Genetic,622,74.27080950415265
|
||||
Titanium,198.51241145775035,0.32572130001328586,4005.206019704468,691.9507988005614,61.41226833287119,14060.467167154186,-49.971827159526924,173869.65341240546,26,44.89180944204042,40.27420863176589,6.7720054985989195,Tapered,uniform,Moderate,Medium,Poor,Low,Chaotic Quantum Genetic,1096,52.31034389266972
|
||||
Titanium,166.39684387245256,0.3461118037885186,2035.1298568926777,1463.516946166312,50.647692267905896,13087.61878333434,-59.62180467301834,199589.4115631007,39,28.102079491684965,31.398487482070546,11.734603870975022,Rectangular,point load,Moderate,Short,Poor,Low,Shark Optimizer,1572,72.85065873217532
|
||||
Carbon Fiber,151.44739672956135,0.31306804156299434,2647.662272489538,312.3242890680026,75.50388560144992,7783.912358218977,-44.92102965073815,139328.78670744144,37,34.81550656625869,61.50889592633849,9.599565586502468,Tapered,distributed,High,Medium,Excellent,Low,Chaotic Quantum Genetic,575,144.744777789402
|
||||
Titanium,168.29118621672035,0.3357715357189974,3710.271445655975,979.2504648681735,57.337411236785925,5350.723601828506,-59.137729284974874,112531.1630605543,32,23.941216057740103,51.646469681532295,14.938447247403403,Rectangular,uniform,Moderate,Short,Excellent,Medium,Shark Optimizer,1564,55.5217890109575
|
||||
Aluminum,141.56360490479676,0.33796379859101244,3442.4633663124723,482.4565544720325,92.00604567118044,9516.56698078591,-59.531832084291,104190.16758434002,36,38.4470505546949,49.32498158982234,13.50327961146064,Cylindrical,uniform,Low,Medium,Good,Medium,Chaotic Quantum Genetic,809,135.9400441070838
|
||||
Aluminum,156.14665339101856,0.3448177532374029,2273.6373521717687,265.4341464147885,64.8965611311593,17070.264198277648,-54.12140128817527,180546.0655689793,29,59.25602198893366,47.72023068179749,6.7554112877938435,Rectangular,uniform,Low,Long,Good,High,Shark Optimizer,1830,109.01889951046488
|
||||
Aluminum,186.35219262122487,0.3326552752850483,4258.772765693722,968.1218134331315,74.49107352556676,7290.61487077061,-44.37110429385557,100171.58928205323,28,47.08281242102227,60.163608010835155,14.28696523524599,Cylindrical,point load,High,Medium,Good,Low,Chaotic Quantum Genetic,1567,95.96096866912072
|
||||
Titanium,77.32531776454842,0.30786647184051247,1659.784082054094,905.0046011050001,62.915780464455025,14400.176350510319,-49.07015680790664,125679.4516497108,24,36.48200962091373,66.02444616604825,13.966945573607797,Cylindrical,distributed,High,Medium,Excellent,Low,Shark Optimizer,1309,140.66903311095058
|
||||
Aluminum,60.049487142818236,0.3407841888228831,2760.8560586518524,300.30327455345457,96.33097058314851,17257.44453323435,-56.41382135140423,185533.90661767777,30,40.852017259610236,35.19735907219575,13.980378160188657,Tapered,uniform,Moderate,Medium,Good,High,Chaotic Quantum Genetic,1864,104.92854012037427
|
||||
Carbon Fiber,151.9538216823329,0.3221474246707368,1702.4318829468336,541.3965007010958,66.00587638353169,7110.035334122142,-53.68156452713198,170178.52731901256,37,39.87547984350953,49.07124484433884,11.394304922861073,Rectangular,uniform,Moderate,Long,Poor,Medium,Shark Optimizer,851,120.8064944586448
|
||||
Aluminum,173.67020380593257,0.31214139521525636,1781.7388727173634,1155.0187736253856,61.08114940514266,14878.982816786243,-46.42044448454856,180427.31065770882,38,37.213652300161485,35.04161368786937,13.876900412908999,Rectangular,uniform,Moderate,Short,Excellent,Medium,Shark Optimizer,662,72.31556737626164
|
||||
Titanium,83.99383252007797,0.33750142504332437,2723.2018500539207,797.6202186708347,51.22546878915388,11960.76331784355,-53.5141056906284,182260.25088735457,29,32.13421848414275,62.25285294922725,11.42697179252313,Cylindrical,distributed,Moderate,Medium,Excellent,Medium,Chaotic Quantum Genetic,1528,119.85236375454163
|
||||
Titanium,73.14818083777563,0.34394834746234393,1942.1599075163656,360.6833682370541,67.26979276142019,8481.514357385486,-53.06464017549114,163179.81861464377,31,33.589081632999935,30.81779190194693,6.706978335349341,Cylindrical,uniform,High,Medium,Good,Medium,Chaotic Quantum Genetic,1094,124.80323269144964
|
||||
Carbon Fiber,136.26150284410426,0.30551953522520053,1979.9588155706736,1133.8869510505847,79.96223297446562,12626.428747250233,-58.33193197077725,171662.4512674342,37,30.196883636635352,34.22237986067627,14.662507700548101,Tapered,point load,High,Medium,Good,Medium,Chaotic Quantum Genetic,761,111.95483429623509
|
||||
Carbon Fiber,186.7704624284862,0.30063675837991477,3965.99854697664,865.0213275297234,92.62167016322528,13699.36069643242,-47.58973876916265,117880.21592821144,20,47.97737662692356,53.6907431456489,10.44824349716499,Rectangular,point load,High,Long,Excellent,High,Shark Optimizer,1223,79.61694168958124
|
||||
Titanium,99.82355031479588,0.30327758395320126,4008.920840766815,937.0666502781637,60.96550440822172,11454.44961618821,-44.31827467032464,133690.293628842,39,40.19021328331874,30.646549984944457,12.472189443676902,Rectangular,distributed,Low,Medium,Good,Low,Shark Optimizer,1568,61.8883706863526
|
||||
Carbon Fiber,188.00932199689447,0.3405895994284934,4089.732370172486,373.02697304690855,88.23066968513618,15740.313681368887,-44.09372598500028,106962.69291739838,21,37.389433222826014,48.63921849536145,13.342877624081583,Cylindrical,point load,Low,Short,Good,High,Chaotic Quantum Genetic,1919,77.57765161557042
|
||||
Aluminum,64.88289734563017,0.30624445767097386,1988.147642988144,335.46031263178975,65.80811928758766,13065.966031441094,-49.9439966239004,163570.92543500435,32,48.206268580935664,35.486506124408315,12.91690494737031,Tapered,point load,Low,Long,Poor,High,Shark Optimizer,1424,103.47288828246892
|
||||
Aluminum,134.09762093293463,0.3394207690433808,3482.5451440618344,372.5035392174285,67.10720219396096,13118.874797302262,-56.15983471174473,150685.49449590297,37,45.805858258830256,54.653265551644864,9.455853114564926,Cylindrical,distributed,High,Medium,Excellent,High,Chaotic Quantum Genetic,1250,66.78528324241148
|
||||
Carbon Fiber,175.03107899478047,0.30866438424547804,3591.6155405575932,814.8028121815528,69.89617508264722,7386.706014574198,-57.202844715305744,162535.89070983444,32,41.81140403395452,31.14356934949207,7.71432694676546,Cylindrical,point load,Moderate,Short,Poor,High,Shark Optimizer,870,79.7849260433373
|
||||
Titanium,89.13365846241868,0.34506135012491645,3132.411291988288,1152.3598212256977,72.30935128674004,6230.313598677851,-54.8829335670404,163297.50020329354,39,31.962176900947043,31.45909523915328,8.998606967637816,Rectangular,uniform,Moderate,Medium,Poor,Medium,Chaotic Quantum Genetic,1186,62.6036435743822
|
||||
Titanium,134.4840693580297,0.3251746495388523,3030.4785345729006,454.03231105276836,86.73007887714084,7721.772906245542,-51.79719496099713,142104.6524330817,28,52.700400149760455,39.91951219468825,14.471794730760012,Rectangular,point load,Moderate,Long,Excellent,Low,Shark Optimizer,1052,96.77927553880457
|
||||
Carbon Fiber,188.96103015236105,0.30076536981279867,3709.1072489331127,859.2956916468434,96.12529727513947,5443.044418436746,-44.820241016673585,104524.3565542988,26,43.21125247623613,69.15217318216074,9.80834460069814,Cylindrical,uniform,Moderate,Long,Poor,Low,Chaotic Quantum Genetic,1923,83.620317613261
|
||||
Carbon Fiber,169.79265005989234,0.3181057399937741,3362.6542808212753,707.4702996778867,72.86849252344486,15805.846416803606,-42.39587478411417,165460.665629724,35,20.891434665572742,53.58689568172608,6.352011466468827,Cylindrical,uniform,High,Long,Poor,Medium,Shark Optimizer,1770,62.191332570599485
|
||||
Titanium,137.2350913713762,0.30449616861502515,3700.377606847798,717.2515849431023,67.28383439129476,7000.936857146653,-53.829102244576404,105017.48288982283,25,46.83660047495542,48.46890965175308,13.387533006607555,Rectangular,distributed,Low,Medium,Poor,High,Shark Optimizer,583,75.9612560910044
|
||||
Aluminum,115.29300684919109,0.3184380080271858,4125.936865372625,1214.1966605504322,91.9454969747219,7274.916556316738,-57.92185559036089,116390.37797121082,22,37.50186031484844,45.10950272161495,14.085511449205427,Cylindrical,uniform,High,Medium,Poor,Medium,Shark Optimizer,1832,56.710819002829595
|
||||
Carbon Fiber,176.52288232004204,0.3091817920483404,2793.7421284399325,396.6689811486299,53.33379524783018,9851.885901686885,-40.098808281132484,164929.25085347675,22,56.62656363821458,64.65850890787505,9.476010096261849,Cylindrical,point load,Moderate,Medium,Excellent,High,Shark Optimizer,1661,125.66561305686342
|
||||
Aluminum,85.10311917589424,0.3250320128327853,2087.2738969767315,1174.0570532076674,50.79963359933059,7280.2239669761675,-45.37169072002044,127537.77521433562,38,26.978441141393734,62.96134180275982,9.409737797277376,Rectangular,point load,Moderate,Long,Good,Medium,Shark Optimizer,1292,98.00597854028697
|
||||
Carbon Fiber,189.53534555057416,0.3328902583943779,3966.9330507887244,305.0795095240535,81.16855226576678,10784.877875809436,-43.41033189411002,151313.77588389887,22,25.065357519104342,54.81899072273649,11.264380748948248,Rectangular,distributed,Low,Long,Good,Medium,Shark Optimizer,1600,147.29283875119353
|
||||
Titanium,98.98609692431702,0.3497879572761305,2846.3715634561454,1206.0676752647596,74.2169437962935,17730.444488559784,-42.704273269890095,161905.09035316168,34,52.675123915299324,37.662125736937256,12.653889059725028,Rectangular,point load,High,Short,Good,High,Chaotic Quantum Genetic,634,145.33209330225165
|
||||
Titanium,80.55784456890241,0.34976744997721654,3002.602605346025,1148.3674069036065,54.832538780004136,14987.596501108343,-59.163533778771864,174311.15305892937,30,59.12129669914463,41.16695530622888,10.715935978925739,Cylindrical,uniform,Moderate,Short,Good,Low,Shark Optimizer,900,144.84186373443015
|
||||
Aluminum,117.95200255027571,0.32767764039637065,2330.819769711209,553.7367917305155,90.47971352613263,19486.52817290716,-54.61211019163627,195308.92606680357,32,49.46487274908121,55.539936400983045,12.230750280417084,Tapered,uniform,Moderate,Medium,Excellent,Medium,Chaotic Quantum Genetic,1369,139.42699771695612
|
||||
Aluminum,155.8191615056037,0.31129332863287673,3161.7392868333454,922.1466928801116,67.17891880010666,16577.678484371798,-48.89323682062665,181673.77104873906,22,58.78346866123343,34.4539775040142,7.717805892580085,Rectangular,point load,Moderate,Short,Excellent,Low,Shark Optimizer,1271,86.86101488571046
|
||||
Carbon Fiber,143.54675083662738,0.34174603205969084,3247.8831573619427,1476.9199519619747,76.7750227876111,11865.062747889351,-56.81522176851152,107849.6697591146,27,37.82242821368178,51.67286343541725,9.722605819991728,Rectangular,uniform,High,Long,Good,High,Shark Optimizer,718,145.23687533121898
|
||||
Titanium,148.50909668570117,0.30608664114719525,3884.2686994343203,1393.2456312777863,77.17624864015906,8401.037170388068,-58.61992262154988,126779.1213749302,31,46.75099271250602,53.46373718528487,5.132143030452556,Cylindrical,point load,Low,Short,Good,Low,Shark Optimizer,797,80.20122112826833
|
||||
Titanium,115.64807787707241,0.312168382931845,2269.4946797452067,1496.0900572156327,62.89137194278163,17516.761506200004,-42.558844475029815,117237.22246613717,20,25.779021282469074,66.6939981592844,10.931995698857497,Cylindrical,uniform,Moderate,Long,Excellent,Medium,Chaotic Quantum Genetic,1152,95.02410278716414
|
||||
Carbon Fiber,152.19298113374987,0.30568797162727074,4029.6462356487896,715.818632174801,93.80331437640177,10520.244343647923,-48.03315757848352,111051.17602928143,25,35.443337956795276,67.80255919793285,11.907901225962206,Tapered,point load,High,Medium,Good,Low,Shark Optimizer,820,132.30481689652333
|
||||
Aluminum,117.36002445868198,0.3466053116773562,3006.1978261623835,480.98426539834946,61.33734779684961,12989.479632856071,-42.00980007921311,130854.21620500425,31,20.986472780118888,62.58365570763588,11.90563308816559,Tapered,distributed,Moderate,Medium,Excellent,Medium,Chaotic Quantum Genetic,1539,128.69087941551788
|
||||
Carbon Fiber,125.24371041457647,0.3133765263406588,3683.252965646017,1014.2799956809547,82.41606800718073,18236.592028240142,-41.40345922066663,115182.73614049428,37,26.054711379546106,66.3116976006136,11.899220672036083,Rectangular,distributed,High,Long,Excellent,Medium,Shark Optimizer,1522,55.32154775146428
|
||||
Titanium,81.402076093447,0.31638075745070154,3532.958841127813,1391.7129968108009,94.40312171865794,8464.038664010153,-42.28975119641002,119832.19496737808,36,23.2637976347783,40.887992208532324,5.188763578838172,Cylindrical,point load,Moderate,Short,Poor,Low,Chaotic Quantum Genetic,1092,80.86598043542074
|
||||
Titanium,55.97896636848175,0.32687086647948893,2427.3951908379286,1054.9460378899175,59.26838448613375,9363.247661704849,-56.90642121061366,169993.10115419654,24,27.56282087437862,52.3566153636087,12.13661289432569,Cylindrical,uniform,Low,Medium,Excellent,Medium,Shark Optimizer,1522,129.82292268067954
|
||||
Titanium,181.4755039013556,0.33761911312864784,2529.2954311346416,532.2097956169976,87.36955621126728,15313.349255104666,-40.149003561025566,168685.08257364627,26,22.145418294281455,30.684717832413945,11.543812957604953,Cylindrical,uniform,Low,Long,Poor,High,Shark Optimizer,594,51.89795828363507
|
||||
Aluminum,106.47674007376429,0.3239004228536562,2295.3590690990013,705.3597184965945,62.55961649880683,14826.358818312372,-48.31325985071068,125409.27772485602,23,26.87503151137357,55.76618939915603,8.521192075532527,Cylindrical,uniform,Moderate,Short,Excellent,Low,Shark Optimizer,1036,54.661268230527746
|
||||
Carbon Fiber,112.79773948037523,0.3048648345978486,4062.0808391680516,619.8131697323777,97.60872566213848,12367.062895724015,-53.50037607230469,153441.8260105037,39,31.012928898847136,39.55234336953571,13.36562092599181,Rectangular,uniform,Low,Medium,Excellent,High,Chaotic Quantum Genetic,1012,100.59953325652282
|
||||
Titanium,150.11706063756958,0.34414444111197534,4238.370089472764,1259.170797541669,73.67445196167145,11749.799603298728,-48.08308147277026,128124.36617500398,35,45.36454860814612,61.40523874868347,12.854248658142579,Rectangular,distributed,High,Medium,Poor,Medium,Chaotic Quantum Genetic,1830,114.71417920841427
|
|
Binary file not shown.
@@ -1,155 +0,0 @@
|
||||
---
|
||||
title: "Double Pendulum"
|
||||
description: |
|
||||
Lets create a double pendulum in Observable JS!
|
||||
date: 2025-05-09
|
||||
categories:
|
||||
- Observable JS
|
||||
- Code
|
||||
- Math
|
||||
draft: false
|
||||
freeze: true
|
||||
image: FeistyCompetentGarpike-mobile.mp4
|
||||
image-alt: "My original Double Pendulum done in Python and Processing.js"
|
||||
---
|
||||
|
||||
Quarto (which this blog is built on) recently added support for [Observable JS](https://observablehq.com/@observablehq/observable-javascript), which lets you make really cool interactive and animated visualizations. I have an odd fixation with finding new tools to visualize data, and while JS is far from the first tool I want to grab I figure I should give OJS a shot. Web browsers have been the best way to distribute and share applications for a long time now so I think its time that I invest some time to learn something better than a plotly diagram or jupyter notebook saved as a pdf to share data.
|
||||
|
||||
{fig-alt="My original Double Pendulum done in Python and Processing.js"}
|
||||
|
||||
Many years ago I hit the front page the [/r/python](https://www.reddit.com/r/Python/comments/ci1cg4/double_pendulum_made_with_processingpy/) with a double pendulum I made after watching the wonderful [Daniel Shiffman](https://thecodingtrain.com/showcase/author/anson-biggs) of the Coding Train. The video was posted on gfycat which is now defunct but the internet archive has saved it: [https://web.archive.org/web/20201108021323/https://gfycat.com/feistycompetentgarpike-daniel-shiffman-double-pendulum-coding-train](https://web.archive.org/web/20201108021323/https://gfycat.com/feistycompetentgarpike-daniel-shiffman-double-pendulum-coding-train)
|
||||
|
||||
I originally used Processing's Python bindings to make the animation. So, a lot of the hard work was done (mostly by Daniel), and this animation seems to be a crowd pleaser so I went ahead and ported it over. Keeping the code hidden since its not the focus here, but feel free to expand it and peruse.
|
||||
|
||||
|
||||
```{ojs}
|
||||
//| echo: false
|
||||
|
||||
// Interactive controls
|
||||
viewof length1 = Inputs.range([50, 300], {step: 10, value: 200, label: "Length of pendulum 1"})
|
||||
viewof length2 = Inputs.range([50, 300], {step: 10, value: 200, label: "Length of pendulum 2"})
|
||||
viewof mass1 = Inputs.range([10, 100], {step: 5, value: 40, label: "Mass of pendulum 1"})
|
||||
viewof mass2 = Inputs.range([10, 100], {step: 5, value: 40, label: "Mass of pendulum 2"})
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
```{ojs}
|
||||
//| code-fold: true
|
||||
//| column: page
|
||||
|
||||
pendulum = {
|
||||
const width = 900;
|
||||
const height = 600;
|
||||
const canvas = DOM.canvas(width, height);
|
||||
const ctx = canvas.getContext("2d");
|
||||
const gravity = .1;
|
||||
const traceCanvas = DOM.canvas(width, height);
|
||||
const traceCtx = traceCanvas.getContext("2d");
|
||||
traceCtx.fillStyle = "white";
|
||||
traceCtx.fillRect(0, 0, width, height);
|
||||
|
||||
const centerX = width / 2;
|
||||
const centerY = 200;
|
||||
|
||||
// State variables
|
||||
let angle1 = Math.PI / 2;
|
||||
let angle2 = Math.PI / 2;
|
||||
let angularVelocity1 = 0;
|
||||
let angularVelocity2 = 0;
|
||||
let previousPosition2X = -1;
|
||||
let previousPosition2Y = -1;
|
||||
|
||||
|
||||
function animate() {
|
||||
// Physics calculations (same equations as Python)
|
||||
let numerator1Part1 = -gravity * (2 * mass1 + mass2) * Math.sin(angle1);
|
||||
let numerator1Part2 = -mass2 * gravity * Math.sin(angle1 - 2 * angle2);
|
||||
let numerator1Part3 = -2 * Math.sin(angle1 - angle2) * mass2;
|
||||
let numerator1Part4 = angularVelocity2 * angularVelocity2 * length2 +
|
||||
angularVelocity1 * angularVelocity1 * length1 * Math.cos(angle1 - angle2);
|
||||
let denominator1 = length1 * (2 * mass1 + mass2 - mass2 * Math.cos(2 * angle1 - 2 * angle2));
|
||||
let angularAcceleration1 = (numerator1Part1 + numerator1Part2 + numerator1Part3 * numerator1Part4) / denominator1;
|
||||
|
||||
let numerator2Part1 = 2 * Math.sin(angle1 - angle2);
|
||||
let numerator2Part2 = angularVelocity1 * angularVelocity1 * length1 * (mass1 + mass2);
|
||||
let numerator2Part3 = gravity * (mass1 + mass2) * Math.cos(angle1);
|
||||
let numerator2Part4 = angularVelocity2 * angularVelocity2 * length2 * mass2 * Math.cos(angle1 - angle2);
|
||||
let denominator2 = length2 * (2 * mass1 + mass2 - mass2 * Math.cos(2 * angle1 - 2 * angle2));
|
||||
let angularAcceleration2 = (numerator2Part1 * (numerator2Part2 + numerator2Part3 + numerator2Part4)) / denominator2;
|
||||
|
||||
// Update velocities and angles
|
||||
angularVelocity1 += angularAcceleration1;
|
||||
angularVelocity2 += angularAcceleration2;
|
||||
angle1 += angularVelocity1;
|
||||
angle2 += angularVelocity2;
|
||||
|
||||
// Calculate positions
|
||||
let position1X = length1 * Math.sin(angle1);
|
||||
let position1Y = length1 * Math.cos(angle1);
|
||||
let position2X = position1X + length2 * Math.sin(angle2);
|
||||
let position2Y = position1Y + length2 * Math.cos(angle2);
|
||||
|
||||
// Clear and draw to canvas
|
||||
ctx.fillStyle = "white";
|
||||
ctx.fillRect(0, 0, width, height);
|
||||
ctx.drawImage(traceCanvas, 0, 0);
|
||||
|
||||
// Draw pendulum
|
||||
ctx.save();
|
||||
ctx.translate(centerX, centerY);
|
||||
|
||||
// First arm and mass
|
||||
ctx.beginPath();
|
||||
ctx.moveTo(0, 0);
|
||||
ctx.lineTo(position1X, position1Y);
|
||||
ctx.strokeStyle = "black";
|
||||
ctx.lineWidth = 2;
|
||||
ctx.stroke();
|
||||
|
||||
ctx.beginPath();
|
||||
ctx.arc(position1X, position1Y, mass1/2, 0, 2 * Math.PI);
|
||||
ctx.fillStyle = "black";
|
||||
ctx.fill();
|
||||
|
||||
// Second arm and mass
|
||||
ctx.beginPath();
|
||||
ctx.moveTo(position1X, position1Y);
|
||||
ctx.lineTo(position2X, position2Y);
|
||||
ctx.stroke();
|
||||
|
||||
ctx.beginPath();
|
||||
ctx.arc(position2X, position2Y, mass2/2, 0, 2 * Math.PI);
|
||||
ctx.fill();
|
||||
|
||||
ctx.restore();
|
||||
|
||||
// Draw trace line
|
||||
if (previousPosition2X !== -1 && previousPosition2Y !== -1) {
|
||||
traceCtx.save();
|
||||
traceCtx.translate(centerX, centerY);
|
||||
traceCtx.beginPath();
|
||||
traceCtx.moveTo(previousPosition2X, previousPosition2Y);
|
||||
traceCtx.lineTo(position2X, position2Y);
|
||||
traceCtx.strokeStyle = "black";
|
||||
traceCtx.stroke();
|
||||
traceCtx.restore();
|
||||
}
|
||||
|
||||
previousPosition2X = position2X;
|
||||
previousPosition2Y = position2Y;
|
||||
|
||||
requestAnimationFrame(animate);
|
||||
}
|
||||
|
||||
animate();
|
||||
return canvas;
|
||||
}
|
||||
```
|
||||
|
||||
## Conclusion
|
||||
|
||||
I think this is far from an idiomatic implementation so I'll keep this brief. I don't think I used JS or Observable as well as I could have so treat this as a beginner stabbing into the dark because thats essentially what the code is.
|
||||
|
||||
This was quite a bit more work than the [original Python implementation](https://gitlab.com/MisterBiggs/double_pendulum/blob/master/double_pendulum.pyde), but running real time, having beaufitul defaults, and being interactive without a backend make this leagues better than anything offered by any other language. There is definitely a loss of energy in the system over time that I attribute to Javascript being a mess, but I doubt that I would ever move all of my analysis to JS anyways so I don't think it matters. Its also very likely I'm doing something bad with my timesteps.
|
Reference in New Issue
Block a user