代码拉取完成,页面将自动刷新
Ligral是一个基于文本的仿真语言,旨在替代 Simulink 进行仿真,通过与框图等效的文本语言描述仿真对象,并解释/编译而后求解。
目前发布了v0.2.2 预览版,您也可以克隆本项目到本地编译。
git clone https://gitee.com/junruoyu-zheng/ligral.git
cd ligral
dotnet build
./bin/Debug/netcoreapp3.1/ligral
详细安装方法请参考快速开始。
运行仿真工程需要给出仿真工程文件作为第一个位置参数,该命令支持以下参数:
参数 | 作用 |
---|---|
[ProjectFileName] | 仿真工程文件,一般是.lig 和.lig.json 文件 |
-s, --step-size [StepSize] | 设置仿真步长,仅在定步长求解器中生效 |
-t, --stop-time [StopTime] | 设置仿真时长 |
-j, --json [bool]? | 指定输入.lig.json 文件,默认为输入.lig 文件 |
-o, --output [Folder] | 仿真输出重定向至给定文件夹 |
Ligral 目前支持的命令包括doc
、trim
、lin
和exm
,可以通过ligral [command] --help
查看使用说明。
如果启用内部绘图工具(InnerPlotter
),绘图模块Scope
和PhaseDiagram
需要 python 3 支持,且需要numpy、matplotlib、pandas包。
以下是一个弹簧阻尼质量块系统的仿真(代码)。
# 定义一个路由 MassSpringDamper
route MassSpringDamper(m, k, d, x0, v0; F; x, v)
F-k*x-d*v -> Gain{value:1/m} -> Integrator{initial:v0} -> v;
v -> Integrator{initial:x0} -> x;
end
# 定义一个 Step 信号
Step[F]{start:3, level:5};
# 实例化一个 MassSpringDamper 对象
MassSpringDamper[sys]{m:0.1, k:10, d:0.3, x0:1, v0: 0};
# 连接模块
F -> sys;
sys:x[position] -> Scope;
(sys:x, sys:v[velocity]) -> PhaseDiagram;
# 设置定步长仿真配置参数
conf step_size = 0.001;
conf stop_time = 10;
# 设置输出文件夹
conf output_folder = 'out';
更多例子参见examples
语法参见用户指引,目前已编写完成的文档如下:
目前开发文档还在努力编撰中。
如有 bug 反馈或其他建议,请提交 issue。
开发计划:
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型