From f9e39790e86cbdcdab99a16c876b40bbd59b8ee8 Mon Sep 17 00:00:00 2001 From: yize Date: Fri, 6 Jun 2025 16:10:50 +0800 Subject: [PATCH] vault backup: 2025-06-06 16:10:49 --- 多体+耦合求解器/V0.5版本结果对比/对比步骤.md | 7 +++++++ 工作OKRs/25.2-5 OKR.canvas | 3 ++- 工作OKRs/25.6-8 OKR.canvas | 12 ++++++++++++ 工作总结/周报/周报80-郭翼泽.docx | Bin 0 -> 20834 bytes 4 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 工作OKRs/25.6-8 OKR.canvas create mode 100644 工作总结/周报/周报80-郭翼泽.docx diff --git a/多体+耦合求解器/V0.5版本结果对比/对比步骤.md b/多体+耦合求解器/V0.5版本结果对比/对比步骤.md index b8abf32..c50bfdb 100644 --- a/多体+耦合求解器/V0.5版本结果对比/对比步骤.md +++ b/多体+耦合求解器/V0.5版本结果对比/对比步骤.md @@ -35,3 +35,10 @@ AD 15 bladed 模态振型导出 bladed 模态与fast一致后,计算结果如何 2 气动结果差异 + + + +## 测试过程 + +- 采用v3.5气动数据情况下,多体计算结果与FAST一致 +- 采用v4.0气动数据情况下,多体计算结果与FAST一致 \ No newline at end of file diff --git a/工作OKRs/25.2-5 OKR.canvas b/工作OKRs/25.2-5 OKR.canvas index 7729691..dd3cd4b 100644 --- a/工作OKRs/25.2-5 OKR.canvas +++ b/工作OKRs/25.2-5 OKR.canvas @@ -5,7 +5,8 @@ {"id":"01ee5c157d0deeae","type":"text","text":"# 推进计划\n未来四周计划推进的重要事情\n\n文献调研启动\n\n建模重新推导\n\n\n","x":-620,"y":80,"width":456,"height":347}, {"id":"cb9319d24c3e70e3","type":"text","text":"# 5月已完成\n\nP1 Steady Operational Loads求解器编写测试 \n- 变桨算法测试完成\n- 转速算法基本完成\n- 两个结合点测试 完成\n\nP1 Steady Parked Loads求解器编写及测试\n\nP1 simpack多体对CAE的需求梳理 分成塔架、叶片、传动链模型 完成\n\nP1 建立IEA 15yaml文件 完成\nP1 结果对比\n- 完成 bladed、fast模型建立,工况设置,对比\n\nP1 集成yaml解析代码,测试功能是否正确 done","x":-240,"y":520,"width":440,"height":560}, {"id":"1ebeabaf5c73ddbb","type":"text","text":"# 4月已完成\n\n多体原理学习 YouTube课程 018\n\n气动模块联合调试,跑通\n\n使用python搭建风电机组多体模型 刚性部件主动力、惯性力计算 \n\n编写Steady Operational Loads求解器\n- 稳态工况多体动力学求解方法 --龙格库塔+ed_caloutput 初步方案完成\n- 遍历风速框架 完成\n- 不同风速下转速、变桨角度算法 完成\n- 多体设置参数 完成\n- 每个风速直接是否需要重新初始化 需要 完成\n\n\n\ngenerator torque计算 简单了解,确定方案","x":-720,"y":520,"width":440,"height":560}, - {"id":"58be7961ae7275a7","type":"text","text":"# 计划\n这周要做的3~5件重要的事情,这些事情能有效推进实现OKR。\n\nP1 必须做。P2 应该做\n\n\nP1 柔性部件 叶片、塔架主动力惯性力算法 主线\n- 变形体动力学 简略看看ing\n- 浮动坐标系方法 如何用于梁模型 \n\t- Q 问孟航 不用浮动坐标系\n- 柔性梁弯曲变形振动学习,主线 \n\t- 广义质量 刚度矩阵及含义\n- 如何静力学求解\n\t- 基于本构方程 读孟的论文\n\t\nP1 结果对比\n- Herowind 不带气动与fast3.5对比\n- Herowind 不带气动与fast4.0对比\n- Herowind 带气动与fast对比\n\nP1 如何优雅的存储、输出结果。\nP1 国产化适配交给甲子营,对接\nP1 推进气动、控制、多体、水动 耦合计算\nP2 yaw 自由度再bug确认 已知原理了\n\nP1 模型线性化调研\n\n","x":-614,"y":-307,"width":450,"height":347} + {"id":"58be7961ae7275a7","type":"text","text":"# 计划\n这周要做的3~5件重要的事情,这些事情能有效推进实现OKR。\n\nP1 必须做。P2 应该做\n\n\nP1 柔性部件 叶片、塔架主动力惯性力算法 主线\n- 变形体动力学 简略看看ing\n- 浮动坐标系方法 如何用于梁模型 \n\t- Q 问孟航 不用浮动坐标系\n- 柔性梁弯曲变形振动学习,主线 \n\t- 广义质量 刚度矩阵及含义\n- 如何静力学求解\n\t- 基于本构方程 读孟的论文\n\t\nP1 结果对比\n- Herowind 带hrl气动与fast对比 需气动支持15MW\n- Bladed与FAST之间的对比\n\nP1 如何优雅的存储、输出结果。\nP1 国产化适配交给甲子营,对接\nP1 推进气动、控制、多体、水动 耦合计算\nP2 yaw 自由度再bug确认 已知原理了\n\nP1 模型线性化调研\n \n","x":-614,"y":-307,"width":450,"height":347}, + {"id":"f893807d40bded89","type":"text","text":"# 6月已完成\n\nP1 结果对比\n- Herowind 带3.5气动与fast3.5对比 相同\n- Herowind 带4.0气动与fast4.0对比 相同\n- Herowind 带hrl气动与fast对比 需气动支持15MW\n\nP1 Bladed交流问题汇总","x":240,"y":520,"width":440,"height":560} ], "edges":[] } \ No newline at end of file diff --git a/工作OKRs/25.6-8 OKR.canvas b/工作OKRs/25.6-8 OKR.canvas new file mode 100644 index 0000000..8647621 --- /dev/null +++ b/工作OKRs/25.6-8 OKR.canvas @@ -0,0 +1,12 @@ +{ + "nodes":[ + {"id":"8359617e1edc48ba","type":"text","text":"状态指标:\n推进OKR的时候也要关注这些事情,它们是完成OKR的保障。\n\n\n效率状态 green","x":-76,"y":-306,"width":456,"height":347}, + {"id":"a4eaccbbfadaaf17","type":"text","text":"# 目标:多体动力学模块完善\n### 每周盘点一下它们\n\n\n关键结果:建模原理、建模方法掌握 (9/10)\n\n关键结果:风机多体动力学文献调研情况完成 (5.5/10)\n关键结果:风机模型线性化原理、方法掌握 (5/10)","x":-76,"y":-693,"width":456,"height":347}, + {"id":"d2c5e076ba6cf7d7","type":"text","text":"# 推进计划\n未来四周计划推进的重要事情\n\n文献调研启动\n\n建模重新推导\n\n\n","x":-600,"y":-306,"width":456,"height":347}, + {"id":"82708a439812fdc7","type":"text","text":"# 7月已完成\n\n","x":-220,"y":134,"width":440,"height":560}, + {"id":"505acb3e6b119076","type":"text","text":"# 6月已完成\n\n\nP1 结果对比\n- Herowind 带3.5气动与fast3.5对比 相同\n- Herowind 带4.0气动与fast4.0对比 相同\n- Herowind 带hrl气动与fast对比 需气动支持15MW\n\nP1 Bladed交流问题汇总","x":-700,"y":134,"width":440,"height":560}, + {"id":"c18d25521d773705","type":"text","text":"# 计划\n这周要做的3~5件重要的事情,这些事情能有效推进实现OKR。\n\nP1 必须做。P2 应该做\n\n\nP1 柔性部件 叶片、塔架主动力惯性力算法 主线\n- 变形体动力学 简略看看ing\n- 浮动坐标系方法 如何用于梁模型 \n\t- Q 问孟航 不用浮动坐标系\n- 柔性梁弯曲变形振动学习,主线 \n\t- 广义质量 刚度矩阵及含义\n- 如何静力学求解\n\t- 基于本构方程 读孟的论文\n\t\nP1 结果对比\n- Herowind 带hrl气动与fast对比 需气动支持15MW\n- Bladed与FAST之间的对比\n\nP1 如何优雅的存储、输出结果。\nP1 国产化适配交给甲子营,对接\nP1 推进气动、控制、多体、水动 耦合计算\nP2 yaw 自由度再bug确认 已知原理了\n\nP1 模型线性化调研\n \n","x":-594,"y":-693,"width":450,"height":347}, + {"id":"30cb7486dc4e224c","type":"text","text":"# 8月已完成\n\n","x":260,"y":134,"width":440,"height":560} + ], + "edges":[] +} \ No newline at end of file diff --git a/工作总结/周报/周报80-郭翼泽.docx b/工作总结/周报/周报80-郭翼泽.docx new file mode 100644 index 0000000000000000000000000000000000000000..ed80f8a1974cc0197f733919bf6ae05d7371cf35 GIT binary patch literal 20834 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 rA=!h00i*4Kt{t_wN7k5if)1Ku-~+-2U