vault backup: 2025-03-14 16:09:36

This commit is contained in:
yz 2025-03-14 16:09:40 +08:00
parent c66e41041e
commit 8310c43857
26 changed files with 26878 additions and 176195 deletions

View File

@ -2,5 +2,6 @@
"copilot",
"obsidian-git",
"smart-connections",
"obsidian-excalidraw-plugin"
"obsidian-excalidraw-plugin",
"obsidian-icon-folder"
]

View File

@ -38,12 +38,25 @@
"maxSourceChunks": 3,
"groqApiKey": "",
"activeModels": [
{
"name": "copilot-plus-flash",
"provider": "copilot-plus",
"enabled": true,
"isBuiltIn": true,
"core": true,
"capabilities": [
"vision"
]
},
{
"name": "gpt-4o",
"provider": "openai",
"enabled": true,
"isBuiltIn": true,
"core": true,
"capabilities": [
"vision"
],
"baseUrl": "",
"apiKey": ""
},
@ -53,6 +66,9 @@
"enabled": true,
"isBuiltIn": true,
"core": true,
"capabilities": [
"vision"
],
"baseUrl": "",
"apiKey": ""
},
@ -62,6 +78,9 @@
"enabled": true,
"isBuiltIn": true,
"core": true,
"capabilities": [
"vision"
],
"baseUrl": "",
"apiKey": ""
},
@ -95,13 +114,24 @@
"isEmbeddingModel": true,
"core": true
},
{
"name": "copilot-plus-large",
"provider": "copilot-plus-jina",
"enabled": true,
"isBuiltIn": true,
"isEmbeddingModel": true,
"core": true,
"believerExclusive": true,
"dimensions": 1024
},
{
"name": "copilot-plus-multilingual",
"provider": "copilot-plus-jina",
"enabled": true,
"isBuiltIn": true,
"isEmbeddingModel": true,
"core": true
"core": true,
"dimensions": 512
},
{
"name": "text-embedding-3-small",
@ -189,5 +219,8 @@
"name": "Change tone of selection"
}
},
"promptUsageTimestamps": {}
"promptUsageTimestamps": {},
"embeddingRequestsPerMin": 90,
"embeddingBatchSize": 16,
"isPlusUser": false
}

File diff suppressed because one or more lines are too long

View File

@ -1,7 +1,7 @@
{
"id": "copilot",
"name": "Copilot",
"version": "2.7.15",
"version": "2.8.7",
"minAppVersion": "0.15.0",
"description": "An AI Copilot in Obsidian.",
"author": "Logan Yang",

File diff suppressed because one or more lines are too long

View File

@ -100,7 +100,7 @@
"library2": {
"type": "excalidrawlib",
"version": 2,
"source": "https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/2.7.5",
"source": "https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/2.9.2",
"libraryItems": []
},
"imageElementNotice": true,
@ -112,10 +112,11 @@
"mdCSS": "",
"scriptEngineSettings": {},
"defaultTrayMode": true,
"previousRelease": "2.7.5",
"previousRelease": "2.9.2",
"showReleaseNotes": true,
"showNewVersionNotification": true,
"latexBoilerplate": "\\color{blue}",
"latexPreambleLocation": "preamble.sty",
"taskboneEnabled": false,
"taskboneAPIkey": "",
"pinnedScripts": [],
@ -785,5 +786,14 @@
"key": "G"
}
],
"showSplashscreen": true
"showSplashscreen": true,
"pdfSettings": {
"pageSize": "A4",
"pageOrientation": "portrait",
"fitToPage": 1,
"paperColor": "white",
"customPaperColor": "#ffffff",
"alignment": "center",
"margin": "normal"
}
}

File diff suppressed because one or more lines are too long

View File

@ -1,7 +1,7 @@
{
"id": "obsidian-excalidraw-plugin",
"name": "Excalidraw",
"version": "2.7.5",
"version": "2.9.2",
"minAppVersion": "1.1.6",
"description": "An Obsidian plugin to edit and view Excalidraw drawings",
"author": "Zsolt Viczian",

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -6,5 +6,5 @@
"description": "Integrate Git version control with automatic backup and other advanced features.",
"isDesktopOnly": false,
"fundingUrl": "https://ko-fi.com/vinzent",
"version": "2.31.1"
"version": "2.32.0"
}

View File

@ -0,0 +1,38 @@
{
"settings": {
"migrated": 6,
"iconPacksPath": ".obsidian/icons",
"fontSize": 16,
"emojiStyle": "native",
"iconColor": null,
"recentlyUsedIcons": [
"🧑‍🏫",
"📚",
"LiCoffee"
],
"recentlyUsedIconsSize": 5,
"rules": [],
"extraMargin": {
"top": 0,
"right": 4,
"bottom": 0,
"left": 0
},
"iconInTabsEnabled": false,
"iconInTitleEnabled": false,
"iconInTitlePosition": "above",
"iconInFrontmatterEnabled": false,
"iconInFrontmatterFieldName": "icon",
"iconColorInFrontmatterFieldName": "iconColor",
"iconsBackgroundCheckEnabled": false,
"iconsInNotesEnabled": true,
"iconsInLinksEnabled": true,
"iconIdentifier": ":",
"lucideIconPackType": "native",
"debugMode": false,
"useInternalPlugins": false
},
"InterestingStuffs": "LiCoffee",
"力学书籍": "📚",
"补课": "🧑‍🏫"
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,10 @@
{
"id": "obsidian-icon-folder",
"name": "Iconize",
"version": "2.14.7",
"minAppVersion": "0.9.12",
"description": "Add icons to anything you desire in Obsidian, including files, folders, and text.",
"author": "Florian Woelki",
"authorUrl": "https://florianwoelki.com/",
"isDesktopOnly": false
}

View File

@ -0,0 +1,120 @@
.iconize-inline-title-wrapper {
width: var(--line-width);
max-width: var(--max-width);
margin-inline: var(--content-margin);
}
.iconize-title-icon {
max-width: var(--max-width);
margin-right: var(--size-4-2);
}
.iconize-icon-in-link {
transform: translateY(20%);
margin-right: var(--size-2-2);
display: inline-flex;
}
.iconize-icon {
border: 1px solid transparent;
margin: 0px 4px 0px 0px;
display: flex;
align-self: center;
margin: auto 0;
}
.nav-folder-title,
.nav-file-title {
align-items: center;
}
.iconize-setting input[type='color'] {
margin: 0 6px;
}
.iconize-modal.prompt-results {
margin: 0;
overflow-y: auto;
display: grid;
grid-template-columns: repeat(5, minmax(0, 1fr));
}
.prompt .iconize-subheadline {
margin-top: 12px;
font-size: 12px;
color: gray;
grid-column-start: 1;
grid-column-end: 6;
}
@media (max-width: 640px) {
.iconize-modal.prompt-results {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.prompt .iconize-subheadline {
grid-column-end: 4;
}
}
.iconize-modal.prompt-results .suggestion-item {
cursor: pointer;
white-space: pre-wrap;
display: flex;
justify-content: flex-end;
align-items: center;
flex-direction: column-reverse;
text-align: center;
font-size: 13px;
color: var(--text-muted);
padding: 16px 8px;
line-break: auto;
word-break: break-word;
line-height: 1.3;
}
.iconize-modal.prompt-results .suggestion-item.suggestion-item__center {
justify-content: center;
}
.iconize-icon-preview {
font-size: 22px;
}
.iconize-icon-preview img {
width: 16px;
height: 16px;
}
.iconize-icon-preview svg {
width: 24px;
height: 24px;
color: currentColor;
margin-bottom: 4px;
}
.iconize-dragover {
position: relative;
}
.iconize-dragover-el {
position: absolute;
width: 100%;
height: 100%;
color: var(--text-normal);
background-color: var(--background-secondary-alt);
display: flex;
align-items: center;
justify-content: center;
}
/* Custom rule modal. */
.iconize-custom-modal .modal-content {
display: flex;
align-items: center;
justify-content: center;
}
.iconize-custom-modal .modal-content input {
width: 100%;
margin-right: 0.5rem;
}

View File

@ -21,5 +21,5 @@
"show_full_path": false,
"expanded_view": true,
"language": "en",
"version": "2.3.47"
"version": "2.5.4"
}

File diff suppressed because one or more lines are too long

View File

@ -6,5 +6,5 @@
"minAppVersion": "1.1.0",
"authorUrl": "https://wfhbrian.com",
"isDesktopOnly": false,
"version": "2.3.47"
"version": "2.5.4"
}

View File

@ -204,6 +204,7 @@
.sc-chat-name-input {
flex-grow: 1;
min-width: 20px;
}
}
@ -616,6 +617,7 @@
justify-content: space-between;
align-items: baseline;
font-size: var(--font-smallest);
flex-wrap: wrap;
&:hover {
background-color: var(--background-secondary-hover);
@ -794,6 +796,10 @@
display: flex;
justify-content: flex-end;
}
.setting-item {
flex-direction: column;
align-items: flex-start;
}
}
}
@ -966,3 +972,22 @@ div.workspace-leaf-content[data-type^="smart-"] {
}
}
}
.sc-inline-confirm-row {
margin-top: 10px;
padding: 6px;
border: 1px solid var(--interactive-normal);
}
.sc-inline-confirm-row-buttons {
display: flex;
justify-content: flex-end;
gap: 10px;
margin-top: 10px;
& .sc-inline-confirm-yes {
font-weight: bold;
}
& .sc-inline-confirm-cancel {
font-weight: normal;
}
}

View File

@ -31,21 +31,121 @@ Steady state parameters
BEMSolve(twist) --> phi、Pn、Pt
Solve_along_blade(V, omega) -> Cp、Power、Thrust
# 转速、变桨算法
aoa = phi - twist
输入:
- 风速 3, 25, 0.1
- 转速min(rpm)
- 转速max(rpm)
new_twist = twist + pitch_angle
1、算Cp-lambda -> Cpmax + 对应lambda
2、根据追踪最佳cp方法得到3-25每个风速对应的转速
```python
        # 根据转速上下界,找到风速上下界 rpm -> deg
        omegalb = self.omega_rpmlb * 2 * np.pi / 60
        omegaub = self.omega_rpmub * 2 * np.pi / 60
       
  # 根据relalabmda_R找到风速上下界在此风速范围内可以追踪最佳Cp
        V0lb =  omegalb * self.RPlusHub / relalabmda_R
        V0ub =  omegaub * self.RPlusHub / relalabmda_R
        for V in self.v_w:
        # self.v_w 风速序列 3, 25, 0.1
delta_pitch_anlge - >
            # 形成转速规律
            if V < V0lb:
0
0 + 1
0 + 1 + 1
                # 转速为最小转速
19.006
                append(omegalb)
            elif V > V0ub:
                # 转速为最大转速
                append(omegaub)
            else:
                # 转速为最大Cp对应的转速
                append(relalabmda_R * V / self.RPlusHub)
        self.omega_list = omega_list
```
3、遍历速度
```python
for i in range(self.numv_w):
V = np.round(self.v_w[i], 3)
omega = self.omega_list[i]
Cp, CThrust, Power, Thrust, Mxy = self.SolveAlongBlade(V, omega) #对整只叶片解BEM
if Power > self.Rated_P:  # 达到额定风速了,开始变桨
min_angle = 0
max_angle = 90
init_pitch_angle = pitch_angle[i-1] # 从前一步变桨角度开始
tolerance = 0.01
max_iterations = 1000
error = Power - self.Rated_P
print(f"Iteration {0}: pitch_angle={init_pitch_angle}, Power={Power}, Error={error}")
delta_pitch_angle = compute_delta_pitch(Power, self.Rated_P, 0.05)
# 我直接把delta变桨角度加到扭角里了
self.Twist += np.full((self.SectionNum,), delta_pitch_angle)
total_pitch_angle = init_pitch_angle + delta_pitch_angle
# 开始迭代
    for iteration in range(max_iterations):   
    Cp, CThrust, Power, Thrust, Mxy = self.SolveAlongBlade(V, omega)
    error = Power - self.Rated_P
if abs(error) < tolerance:
Power_re[i] = Power
self.V0 = V
Thrust_re[i] = Thrust
Mxy_re[i] = Mxy
Cp_re[i] = Cp
pitch_angle[i] = total_pitch_angle
iteration_step[i] = iteration + 1
break
else:
delta_pitch_angle = compute_delta_pitch(Power, self.Rated_P, 0.05)
total_pitch_angle = total_pitch_angle + delta_pitch_angle
# 约束检查
if total_pitch_angle < min_angle:
total_pitch_angle = min_angle
elif total_pitch_angle > max_angle:
total_pitch_angle = max_angle
self.Twist += np.full((self.SectionNum,), delta_pitch_angle)
else:
Power_re[i] = Power
Thrust_re[i] = Thrust
Mxy_re[i] = Mxy
Cp_re[i] = Cp
pitch_angle[i] = 0
iteration_step[i] = 0
```
```python
def compute_delta_pitch(current_power, target_power, sensitivity):
    delta = (current_power - target_power) * sensitivity
    return delta
```

View File

@ -1,8 +1,8 @@
{
"nodes":[
{"id":"b698e88ca5fb9c51","type":"text","text":"状态指标:\n推进OKR的时候也要关注这些事情它们是完成OKR的保障。\n\n\n效率状态 green","x":-96,"y":80,"width":456,"height":347},
{"id":"58be7961ae7275a7","type":"text","text":"# 计划\n这周要做的3~5件重要的事情这些事情能有效推进实现OKR。\n\nP1 必须做。P2 应该做\n\nP1 多体原理学习 YouTube课程 ing\nP1 根据公共mesh模块调整代码\nP1 气动模块联合调试,跑通 no\nP1 梳理Steady Operational Load计算条件方法及输出结果确定变桨角度技术路线\nP1 反序列化\n\n","x":-620,"y":-307,"width":450,"height":347},
{"id":"2b068bfe5df15a72","type":"text","text":"# 目标:多体动力学模块完善\n### 每周盘点一下它们\n\n\n关键结果建模原理、建模方法掌握 6.5/10\n\n关键结果对标Bladed模块完成 6.5/10\n\n关键结果风机多体动力学文献调研情况完成 5/10","x":-96,"y":-307,"width":456,"height":347},
{"id":"58be7961ae7275a7","type":"text","text":"# 计划\n这周要做的3~5件重要的事情这些事情能有效推进实现OKR。\n\nP1 必须做。P2 应该做\n\nP1 多体原理学习 YouTube课程 014\nP1 根据公共mesh模块调整代码 no\nP1 气动模块联合调试,跑通 no\nP1 稳态工况多体动力学求解方法\n\n","x":-620,"y":-307,"width":450,"height":347},
{"id":"2b068bfe5df15a72","type":"text","text":"# 目标:多体动力学模块完善\n### 每周盘点一下它们\n\n\n关键结果建模原理、建模方法掌握 6.7/10\n\n关键结果对标Bladed模块完成 7/10\n\n关键结果风机多体动力学文献调研情况完成 5/10","x":-96,"y":-307,"width":456,"height":347},
{"id":"01ee5c157d0deeae","type":"text","text":"# 推进计划\n未来四周计划推进的重要事情\n\n文献调研启动\n\n建模重新推导\n\n\n","x":-620,"y":80,"width":456,"height":347}
],
"edges":[]

Binary file not shown.

View File

@ -0,0 +1,45 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import sympy as sm\n",
"import sympy.physics.mechanics as me\n",
"me.init_vprinting()\n",
"\n",
"A = me.ReferenceFrame('A')\n",
"B = me.ReferenceFrame('B')\n",
"\n",
"theta = me.dynamicsymbols('theta')\n",
"\n",
"B.orient_axis(A, theta, A.y)\n",
"\n",
"Q = 3*me.outer(B.x, A.z) + 4*me.outer(A.x, A.x) + 6*me.outer(A.z, B.z)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "TagUIFocus5",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}

View File

@ -0,0 +1,22 @@
import sympy as sm
import sympy.physics.mechanics as me
me.init_vprinting()
A = me.ReferenceFrame('A')
B = me.ReferenceFrame('B')
theta = me.dynamicsymbols('theta')
B.orient_axis(A, theta, A.y)
Q = 3*me.outer(B.x, A.z) + 4*me.outer(A.x, A.x) + 6*me.outer(A.z, B.z)
print(Q)
print(Q.express(A))
print(Q.express(B))
print(Q.to_matrix(A))
print(Q.to_matrix(B))

File diff suppressed because it is too large Load Diff