Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
dc6eade86b
3
.obsidian/app.json
vendored
3
.obsidian/app.json
vendored
@ -1,4 +1,5 @@
|
||||
{
|
||||
"promptDelete": false,
|
||||
"alwaysUpdateLinks": true
|
||||
"alwaysUpdateLinks": true,
|
||||
"livePreview": true
|
||||
}
|
28
多体+耦合求解器/公共Mesh模块变更.md
Normal file
28
多体+耦合求解器/公共Mesh模块变更.md
Normal file
@ -0,0 +1,28 @@
|
||||
1 fn mesh_position_node pos: &[f64; 3] -> Array1<f64>
|
||||
|
||||
2 fn mesh_construct_element -> fn mesh_construct_element_1pt
|
||||
|
||||
3 增加 fn mesh_construct_element_2pt
|
||||
|
||||
4 增加 fn create_point_mesh
|
||||
|
||||
5 增加 fn commit_point_mesh
|
||||
|
||||
6 mesh_copy iso:i32-> option<i32>
|
||||
|
||||
|
||||
mesh_construct_element_1pt
|
||||
elem_table elements[].elem_nodes
|
||||
fast 1-17
|
||||
rust 0-16
|
||||
|
||||
mesh_position_node
|
||||
对于单点网格inode 需给0 即 需要-1
|
||||
|
||||
mesh_construct_element_1pt
|
||||
对于单点网格nodeindex 需给0 即 需要-1
|
||||
|
||||
elem_list的定义是否正确?
|
||||
|
||||
改到与fast相同?
|
||||
|
@ -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课程 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":"58be7961ae7275a7","type":"text","text":"# 计划\n这周要做的3~5件重要的事情,这些事情能有效推进实现OKR。\n\nP1 必须做。P2 应该做\n\nP1 多体原理学习 YouTube课程 016\nP1 根据公共mesh模块调整代码 yes\nP1 气动模块联合调试,跑通 no\nP1 稳态工况多体动力学求解方法\n\n","x":-620,"y":-307,"width":450,"height":347},
|
||||
{"id":"2b068bfe5df15a72","type":"text","text":"# 目标:多体动力学模块完善\n### 每周盘点一下它们\n\n\n关键结果:建模原理、建模方法掌握 (6.8/10)\n\n关键结果:对标Bladed模块完成 (7.2/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":[]
|
||||
|
BIN
工作总结/周报/周报69-郭翼泽.docx
Normal file
BIN
工作总结/周报/周报69-郭翼泽.docx
Normal file
Binary file not shown.
3
工作总结/团队周例会/25.3.18.md
Normal file
3
工作总结/团队周例会/25.3.18.md
Normal file
@ -0,0 +1,3 @@
|
||||
中试平台
|
||||
|
||||
中车协议
|
BIN
补课/images/Pasted Image 20250320075513_851.png
Normal file
BIN
补课/images/Pasted Image 20250320075513_851.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 55 KiB |
@ -475,7 +475,7 @@
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "turtle_trade",
|
||||
"display_name": "TagUIFocus5",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
@ -489,7 +489,7 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.10.16"
|
||||
"version": "3.12.4"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
|
7729
补课/多体动力学/16_Generalized_Forces.excalidraw.md
Normal file
7729
补课/多体动力学/16_Generalized_Forces.excalidraw.md
Normal file
File diff suppressed because it is too large
Load Diff
95
补课/多体动力学/16_generalized_forces.ipynb
Normal file
95
补课/多体动力学/16_generalized_forces.ipynb
Normal file
@ -0,0 +1,95 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 1,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/latex": [
|
||||
"$\\displaystyle l \\dot{q}_{1}\\mathbf{\\hat{a}_x} + l \\dot{q}_{2}\\mathbf{\\hat{b}_x}$"
|
||||
],
|
||||
"text/plain": [
|
||||
"l⋅q₁̇ a_x + l⋅q₂̇ b_x"
|
||||
]
|
||||
},
|
||||
"execution_count": 1,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"import sympy as sm\n",
|
||||
"import sympy.physics.mechanics as me\n",
|
||||
"me.init_vprinting(use_latex='mathjax')\n",
|
||||
"\n",
|
||||
"l = sm.symbols('l')\n",
|
||||
"q1, q2, u1, u2 = me.dynamicsymbols('q1, q2, u1, u2')\n",
|
||||
"\n",
|
||||
"N = me.ReferenceFrame('N')\n",
|
||||
"A = me.ReferenceFrame('A')\n",
|
||||
"B = me.ReferenceFrame('B')\n",
|
||||
"\n",
|
||||
"A.orient_axis(N, q1, N.z)\n",
|
||||
"B.orient_axis(N, q2, N.z)\n",
|
||||
"\n",
|
||||
"O = me.Point('O')\n",
|
||||
"P1 = me.Point('P1')\n",
|
||||
"P2 = me.Point('P2')\n",
|
||||
"\n",
|
||||
"O.set_vel(N, 0)\n",
|
||||
"\n",
|
||||
"P1.set_pos(O, -l*A.y)\n",
|
||||
"P2.set_pos(P1, -l*B.y)\n",
|
||||
"\n",
|
||||
"P1.v2pt_theory(O, N, A)\n",
|
||||
"P2.v2pt_theory(P1, N, B)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/latex": [
|
||||
"$\\displaystyle l \\cos{\\left(q_{1} \\right)} \\dot{q}_{1}\\mathbf{\\hat{n}_x} + l \\sin{\\left(q_{1} \\right)} \\dot{q}_{1}\\mathbf{\\hat{n}_y}$"
|
||||
],
|
||||
"text/plain": [
|
||||
"l⋅cos(q₁)⋅q₁̇ n_x + l⋅sin(q₁)⋅q₁̇ n_y"
|
||||
]
|
||||
},
|
||||
"execution_count": 2,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"P1.vel(N).express(N)"
|
||||
]
|
||||
}
|
||||
],
|
||||
"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
|
||||
}
|
27
补课/多体动力学/16_generalized_forces.py
Normal file
27
补课/多体动力学/16_generalized_forces.py
Normal file
@ -0,0 +1,27 @@
|
||||
import sympy as sm
|
||||
import sympy.physics.mechanics as me
|
||||
me.init_vprinting(use_latex='mathjax')
|
||||
|
||||
l = sm.symbols('l')
|
||||
q1, q2, u1, u2 = me.dynamicsymbols('q1, q2, u1, u2')
|
||||
|
||||
N = me.ReferenceFrame('N')
|
||||
A = me.ReferenceFrame('A')
|
||||
B = me.ReferenceFrame('B')
|
||||
|
||||
A.orient_axis(N, q1, N.z)
|
||||
B.orient_axis(N, q2, N.z)
|
||||
|
||||
O = me.Point('O')
|
||||
P1 = me.Point('P1')
|
||||
P2 = me.Point('P2')
|
||||
|
||||
O.set_vel(N, 0)
|
||||
|
||||
P1.set_pos(O, -l*A.y)
|
||||
P2.set_pos(P1, -l*B.y)
|
||||
|
||||
P1.v2pt_theory(O, N, A)
|
||||
P2.v2pt_theory(P1, N, B)
|
||||
|
||||
print(P1.vel(N).express(N))
|
Loading…
x
Reference in New Issue
Block a user