专栏
标签
‘’
一般问题
发布于 2025-04-02 17:42:18
查看 15过去452天

model H2_Vessel

parameter Integer nPorts=2;//代表几个端口 有可能只有入口 还有可能是进出口
Modelica.Fluid.Interfaces.FluidPort_a [nPorts]portArray
annotation (Placement(transformation(origin={-56.579,4.6322},
extent={{-10,-10},{10,10}})));
replaceable package H2_medium=Modelica.Media.IdealGases.SingleGases.H2;//氢气介质

parameter Modelica.Units.SI.SpecificEnthalpy h_initial=300e3;//罐内的初始焓值
parameter Modelica.Units.SI.AbsolutePressure P_initial=2e5;//罐内的初始压力
parameter Modelica.Units.SI.Volume V=2;//罐的体积

Modelica.Units.SI.Mass mass;//罐内的质量
Modelica.Units.SI.Density Rho;//罐内的密度
Modelica.Media.Interfaces.Types.SpecificEnthalpy h;//罐内的比焓
Modelica.Media.Interfaces.Types.AbsolutePressure P;//罐内的压力
Modelica.Media.Interfaces.Types.MassFraction[:] Xi={1};//纯氢气

H2_medium.ThermodynamicState H2_TankState;
initial equation
//为罐内的热力学参数赋值
P=P_initial;//罐内的初始压力
h=h_initial;//罐内的初始焓值
Rho=H2_medium.density_phX(P,h,Xi);//罐内的密度(代表在初始阶段和equation阶段都执行)
equation
//罐内的质量
Rho=H2_medium.density_phX(P,h,Xi);//罐内的密度(代表在初始阶段和equation阶段都执行)
mass=V*Rho;

//质量守恒
Vder(Rho)=sum(portArray.m_flow);//portArray[0].m_flow+portArray[1].m_flow;
//能量守恒
mass
der(h)=sum(portArray.m_flow.(portArray.h_outflow-hones(nPorts)))+Vder(P);//portArray[0].m_flow(portArray[0].h_outflow-h)+portArray[1].m_flow*(portArray[1].h_outflow-h);
//三大变量守恒
H2_TankState=H2_medium.setState_phX(P,h,Xi);//

der(Rho)=H2_medium.density_derh_p (H2_TankState)*der(h)+H2_medium.density_derp_h(H2_TankState)*der(P);

//压力平衡
portArray.p=Pones(nPorts);
//焓值平衡
portArray.h_outflow=h
ones(nPorts);

end H2_Vessel;函数 Modelica.Media.Interfaces.PartialMedium.density_derh_p 的定义中不包含算法区或外部函数接口.

所属专栏:Sysplorer基础平台
产品信息:Sysplorer系统建模仿真环境
系统建模

全部回答 1

发布于 2025-04-02 18:02:40

您好,请问您的问题是什么?

用户
和原帖交流更多问题细节吧,去
我要发帖 我要发帖
资料中心 资料中心
查看更多>
热门帖子 热门帖子
主要贡献者 主要贡献者
过去7天