vault backup: 2025-02-28 16:17:23
This commit is contained in:
parent
ecc5b3ce29
commit
b1d66a91e9
@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"nodes":[
|
"nodes":[
|
||||||
{"id":"b698e88ca5fb9c51","type":"text","text":"状态指标:\n推进OKR的时候也要关注这些事情,它们是完成OKR的保障。\n\n\n","x":-96,"y":80,"width":456,"height":347},
|
{"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课程\nP1 根据HEROWind数据结构更新多体模块结构体\nP1 公共模块整理与探讨\nP1 气动模块联合调试,跑通\nP1 多体动力学节点细化\n","x":-620,"y":-307,"width":450,"height":347},
|
{"id":"58be7961ae7275a7","type":"text","text":"# 计划\n这周要做的3~5件重要的事情,这些事情能有效推进实现OKR。\n\nP1 必须做。P2 应该做\n\nP1 多体原理学习 YouTube课程 ing\nP1 公共模块整理与探讨 已有初步方案\nP1 气动模块联合调试,跑通 no\nP1 梳理Steady Operational Load计算条件,方法及输出结果,确定技术路线\nP1 专利答通一稿\n","x":-620,"y":-307,"width":450,"height":347},
|
||||||
{"id":"2b068bfe5df15a72","type":"text","text":"# 目标:多体动力学模块完善\n### 每周盘点一下它们\n\n\n关键结果:建模原理、建模方法掌握 (5/10)\n\n关键结果:对标Bladed模块完成 (5/10)\n\n关键结果:风机多体动力学文献调研情况完成 (5/10)","x":-96,"y":-307,"width":456,"height":347},
|
{"id":"2b068bfe5df15a72","type":"text","text":"# 目标:多体动力学模块完善\n### 每周盘点一下它们\n\n\n关键结果:建模原理、建模方法掌握 (6/10)\n\n关键结果:对标Bladed模块完成 (6/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}
|
{"id":"01ee5c157d0deeae","type":"text","text":"# 推进计划\n未来四周计划推进的重要事情\n\n文献调研启动\n\n建模重新推导\n\n\n","x":-620,"y":80,"width":456,"height":347}
|
||||||
],
|
],
|
||||||
"edges":[]
|
"edges":[]
|
||||||
|
BIN
工作总结/25年多体月度进展/25年多体月度进展.xlsx
Normal file
BIN
工作总结/25年多体月度进展/25年多体月度进展.xlsx
Normal file
Binary file not shown.
BIN
工作总结/周报/周报66-郭翼泽.docx
Normal file
BIN
工作总结/周报/周报66-郭翼泽.docx
Normal file
Binary file not shown.
BIN
工作总结/月报/25年2月团队员工考核表-郭翼泽.docx
Normal file
BIN
工作总结/月报/25年2月团队员工考核表-郭翼泽.docx
Normal file
Binary file not shown.
@ -0,0 +1,82 @@
|
|||||||
|
{
|
||||||
|
"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()"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 2,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"theta, beta, alpha, l = me.dynamicsymbols('theta, beta, alpha, l')\n",
|
||||||
|
"A, B, C, D = sm.symbols('A, B, C, D', cls=me.ReferenceFrame)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 3,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"B.orient_axis(A, theta, A.z)\n",
|
||||||
|
"C.orient_axis(B, beta, -B.x)\n",
|
||||||
|
"D.orient_axis(C, alpha, C.z)\n",
|
||||||
|
"B.dcm(A)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"r = l *D.x\n",
|
||||||
|
"r"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"metadata": {
|
||||||
|
"kernelspec": {
|
||||||
|
"display_name": "Python 3 (ipykernel)",
|
||||||
|
"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": 4
|
||||||
|
}
|
File diff suppressed because one or more lines are too long
@ -3,4 +3,24 @@ Vector differentiation
|
|||||||
r = l dx
|
r = l dx
|
||||||
A ^ p r/ p theta
|
A ^ p r/ p theta
|
||||||
|
|
||||||
partial derivative of r when observed from reference frame A with respect to theta
|
partial derivative of r when observed from reference frame A with respect to theta
|
||||||
|
|
||||||
|
p r/ p theta is meaningless if no frame is given!
|
||||||
|
|
||||||
|
If theta, beta, alpah, l are all themselves functions of time
|
||||||
|
-> theta(t), beta(t), alpha(t), l(t), time t is the single variable
|
||||||
|
|
||||||
|
r(t) = a1(t)ax + a2(t)ay + a3(t)az
|
||||||
|
|
||||||
|
A^ d r / dt = da1 / dt * ax + ...
|
||||||
|
|
||||||
|
use dot notation
|
||||||
|
|
||||||
|
when the measure numbers are expressions containing implict functions of time, eg theta(t), the chain role can be used to calculate the derivative.
|
||||||
|
|
||||||
|
A ^ dr /dt = A ^ (p r / p theta) * (d theta / dt) + A ^ (p r / p beta) * (d beta / dt) + ...
|
||||||
|
|
||||||
|
if t is explict in expressions 最后要加上 A ^ (p r / p t)
|
||||||
|
|
||||||
|
Second (and higher) derivatives
|
||||||
|
|
||||||
|
82
补课/多体动力学/06_Vector_differentiation.ipynb
Normal file
82
补课/多体动力学/06_Vector_differentiation.ipynb
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
{
|
||||||
|
"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()"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 2,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"theta, beta, alpha, l = me.dynamicsymbols('theta, beta, alpha, l')\n",
|
||||||
|
"A, B, C, D = sm.symbols('A, B, C, D', cls=me.ReferenceFrame)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"B.orient_axis(A, theta, A.z)\n",
|
||||||
|
"C.orient_axis(B, beta, -B.x)\n",
|
||||||
|
"D.orient_axis(C, alpha, C.z)\n",
|
||||||
|
"B.dcm(A)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"r = l *D.x\n",
|
||||||
|
"r"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"metadata": {
|
||||||
|
"kernelspec": {
|
||||||
|
"display_name": "Python 3 (ipykernel)",
|
||||||
|
"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": 4
|
||||||
|
}
|
32
补课/多体动力学/06_Vector_differentiation.py
Normal file
32
补课/多体动力学/06_Vector_differentiation.py
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
import sympy as sm
|
||||||
|
import sympy.physics.mechanics as me
|
||||||
|
me.init_vprinting()
|
||||||
|
|
||||||
|
theta, beta, alpha, l = me.dynamicsymbols('theta, beta, alpha, l')
|
||||||
|
A, B, C, D = sm.symbols('A, B, C, D', cls=me.ReferenceFrame)
|
||||||
|
|
||||||
|
B.orient_axis(A, theta, A.z)
|
||||||
|
C.orient_axis(B, beta, -B.x)
|
||||||
|
D.orient_axis(C, alpha, C.z)
|
||||||
|
|
||||||
|
r = l *D.x
|
||||||
|
print(r)
|
||||||
|
|
||||||
|
print(r.express(C))
|
||||||
|
|
||||||
|
print(r.express(B))
|
||||||
|
|
||||||
|
print(r.express(A))
|
||||||
|
|
||||||
|
print(r.dot(C.x).diff(alpha))
|
||||||
|
|
||||||
|
print(r.dot(C.y).diff(alpha))
|
||||||
|
|
||||||
|
r_alpha_C = r.dot(C.x).diff(alpha) * C.x + r.dot(C.y).diff(alpha) * C.y
|
||||||
|
print(r_alpha_C)
|
||||||
|
|
||||||
|
print(r.diff(alpha, C).express(C))
|
||||||
|
|
||||||
|
t = me.dynamicsymbols._t
|
||||||
|
print(theta.diff(t))
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user