Skip to content

Releases: Rro-123/rsf-friction

v1.4.0

Choose a tag to compare

@Rro-123 Rro-123 released this 05 Sep 07:42

v1.4.0

✨ 新增:时间依赖接口

  • 'RSF.frictionOverTime(材质, N, 速度历史, opts)' — 返回 μ(t)、θ(t)、F(t) 演化序列,体现速度阶跃直接效应、静止愈合、滑动历史演化。
  • computeFriction 新增 opts.holdTime — RSF 模式传入静止保持时间 Δt,按老化律(θ = θ₀ + Δt)返回静止愈合后的静摩擦 μ_s(θ₀+Δt)。

📚 文档与目录

  • 'CHANGELOG.md' 归入 docs/;根目录仅留 npm 必需入口。
  • 新增 docs/README.md 文档索引;重构 README / docs/guide.md / docs/materials-table.md,消除跨文档重复。
  • 修正 'healingCurve' API 误标(其为 RateStateFriction 方法,非顶层函数)。

⚙️ 安装

'''bash
npm install rsf-friction@1.4.0
'''

v1.3.0

Choose a tag to compare

@Rro-123 Rro-123 released this 24 Aug 15:57

变更(键名规则统一,破坏性)

材质键名统一为「接触对」规则

  • 自配对(同种材料自接触,如 钢-钢、花岗岩-花岗岩、铜-铜)用单名键steelgranitecopper
  • 异材质用「主材质_副材质」成对键名:aluminum_steelpom_steel
  • 特例:stainless_steel(不锈钢-不锈钢)单名中的下划线属材质名本身(stainless steel),非成对连接符

共重命名 23 条aluminumaluminum_steelcopper→铜-铜(原铜-钢改 copper_steel)、brassbrass_steelbronzebronze_steelnickelnickel_steelleadlead_steelzinczinc_steeltintin_steeltungstentungsten_steelrubberrubber_concreterubber_wetrubber_concrete_wetptfe→PTFE-PTFE(原 PTFE-钢改 ptfe_steel)、polyethylenepe_steelpvc_pvcpvcptfe_ptfeptfeiceice_steelceramicceramic_steelasphalttire_asphaltbrick→砖-砖(原砖-木材改 brick_wood)、corkcork_steelfeltfelt_steel

⚠️ 破坏性变更

computeFriction / RSF.materials旧键名含义已调整或改写(如 copperaluminumptfebrickrubberice 等),请按 docs/materials-table.md「怎么读这张表」的键名规则迁移到新键名。

文档

docs/materials-table.mdREADME.mddocs/guide.md 均补充键名规则说明;materials.json 键名同步更新(仍 71 种接触对,14 岩石 + 57 工程材料)。

安装

  • npm:npm install rsf-friction
  • CDN:https://cdn.jsdelivr.net/npm/rsf-friction@1.3.0/rsf.js
  • GitHub:下载 rsf.js 直接引入

v1.2.3

Choose a tag to compare

@Rro-123 Rro-123 released this 24 Aug 14:54

新增(内置材质表 49 → 71 种接触对)

  • 金属 2 种:铜-铜(1.00/1.00)、铸铁-钢(0.23/0.40)
  • 聚合物 13 种:聚甲醛(POM)-钢、聚氯乙烯(PVC)-钢、PVC 自配对、聚碳酸酯(PC)-钢、尼龙-钢、有机玻璃(PMMA)-钢、聚醚醚酮(PEEK)-钢、PTFE 自配对、酚醛树脂层压材-青铜、橡胶-钢、PET-钢、PVDF-钢、FEP-钢
  • 其他非金属 7 种:混凝土-钢、皮革-钢、玻璃-钢、木材-钢、砖-砖、石墨-钢、皮革-木材

数据经《机械设计手册》/ Engineering ToolBox / GORTEF / Super Civil CD / Machinery's Handbook 等网络查证与交叉核对,每条均为明确接触对 + 干/湿条件。

变更

  • zinc 基准改为「锌-钢(干)」:数据源核实为 zinc-on-steel,与其它金属 X-钢 口径统一
  • 聚合物补回条目改用成对语义键名(如 pom_steelpvc_pvc
  • docs/materials-table.md 按材质中心索引重建(每个材质一个章节 + 单对速查表),数值统一两位小数,与 rsf.js 完全一致

数据口径

仅收录 μ 与 μ_s 双值完整、配对明确的干摩擦工程参考值;数值反常(铝-铝 动>静)、低可靠(不锈钢-钢 / 钛-钢 / 碳化钨-碳化钨 / 硬质合金-钢)、缺单值(PMMA-PMMA / PS-钢 / PP-钢 / PE-PE 等)或缺 RSF 参数的岩石新条目暂不收录(不编造)。

安装

  • npm:npm install rsf-friction
  • CDN:https://cdn.jsdelivr.net/npm/rsf-friction@1.2.3/rsf.js
  • GitHub:下载 rsf.js 直接引入

v1.2.2

Choose a tag to compare

@Rro-123 Rro-123 released this 24 Aug 13:49

新增

  • npm 发布支持package.json 补充 exports(含 materials/*.json 子路径)、files 白名单、sideEffectsenginesprepublishOnly(发布前自动跑测试)、homepagebugs 等字段。
  • CHANGELOG.md:新增版本记录文件。

变更(结构重组)

  • 文档集中到 docs/使用指南.mddocs/guide.md材质参数表.mddocs/materials-table.md(文件名英文化)。
  • 演示页独立到 demo/index.htmldemo/index.html;根目录 index.html 改为 GitHub Pages 跳转入口(旧链接 rro-123.github.io/rsf-friction/ 不失效)。
  • 材质数据目录 materials/ 仅保留机器可读的 materials.json
  • README 安装方式重构:npm 安装(npm install rsf-friction)为主,CDN 链接切换为 npm CDN(jsDelivr / unpkg)。

修复

  • 演示页与文档中所有旧路径引用随目录迁移同步更新。

安装

npm install rsf-friction

v1.2.1

Choose a tag to compare

@Rro-123 Rro-123 released this 13 Aug 18:23

演示页(index.html)改进补丁版本。

新增

  • 四个面板均加入内置材质下拉框(62 种材质,岩石类自动填充 RSF 参数、只读)
  • 面板 4 静态愈合支持「对数时间轴 / 线性时间轴」切换
  • 图表横轴刻度整齐化(对数轴 10 的幂、线性轴 nice 等差刻度)
  • 图表刻度按数据范围动态显示小数位
  • 面板 1 的 μ_ss(V) 曲线配套数据表格

修复

  • 无障碍:31 个表单 label 补充 for 关联
  • 错误输入校验:非法/非正数值给出明确错误提示
  • 选择材质后相关参数设为只读;工程材料显示「—」并明确显示库仑参数
  • 表格取样值整齐排列(等距时间点 / 10 的幂)

v1.2.0

Choose a tag to compare

@Rro-123 Rro-123 released this 13 Aug 16:55

新增

  • 内置材质参数表扩充至 62 种(14 种岩石含 RSF 参数 + 48 种工程材料库仑参数)
  • 材质参数表拆分为独立文件:materials/materials.json(机器可读)+ materials/材质参数表.md(可读文档)
  • rsf.js 的 materials 新增 category 字段,index.d.ts 新增 MaterialCategory 类型
  • 使用指南新增「如何修改 / 新增材质」三种方式说明
  • 新增内置材质表完整性测试(≥62 种且逐一可计算)

改进

  • 修正 README 的 CDN 链接版本号
  • 补充 rsf.js 中 materials 的 category 字段注释

数据来源说明

库仑 μ/μ_s 参考 Serway & Jewett《Physics for Scientists and Engineers》、Engineering ToolBox、机械设计手册;岩石 RSF 参数为 Dieterich (1979) / Ruina (1983) / Marone (1998) 等文献的典型量级(非特定样品标定值,正式研究请以实测为准)。

v1.1.0

Choose a tag to compare

@Rro-123 Rro-123 released this 13 Aug 11:43

新增自动化测试与 TypeScript 类型定义。

新增功能

  • 自动化测试:node:test 测试套件(16 项,npm test),覆盖本构律解析解、速度阶跃直接效应、静态愈合、computeFriction、稳定性判据、粘滑仿真
  • TypeScript 类型定义:index.d.ts,完整类型化全部导出(类、函数、接口、常量)
  • package.json 新增 types 入口与 test 脚本
  • README 补充 TypeScript 用法与测试说明

当前功能

  • RSF 本构律(Dieterich 1979 / Ruina 1983),四种状态演化律
  • 三种求解模型:RateStateFriction / SpringBlockSlider / StickSlipSlider
  • 三变量便捷接口 computeFriction(材质, 法向力, 速度)
  • 内置 11 种材质参数表
  • 自适应 Cash-Karp RK45 求解器(与解析解逐位吻合)
  • 复现粘滑、速度阶跃直接效应、静态对数愈合
  • 零依赖 Canvas 可视化演示页
  • TypeScript 类型定义
  • 自动化测试(npm test)

许可证

MIT

v1.0.0

Choose a tag to compare

@Rro-123 Rro-123 released this 13 Aug 10:44

速率-状态摩擦定律(Rate-and-State Friction, RSF)计算库的首个正式版本。

功能特性

  • RSF 本构律(Dieterich 1979 / Ruina 1983),四种状态演化律(Dieterich / Ruina / PRZ / Nagata)
  • 三种求解模型:RateStateFriction(本构)、SpringBlockSlider(准静态)、StickSlipSlider(准动力粘滑)
  • 三变量便捷接口 computeFriction(材质, 法向力, 速度)
  • 内置 11 种材质参数表(岩石类含 RSF 参数,工程类含库仑 μ/μ_s)
  • 自适应 Cash-Karp RK45 求解器,与解析解逐位吻合
  • 复现粘滑、速度阶跃直接效应、静态对数愈合
  • 零依赖 Canvas 可视化演示页

许可证

MIT