Octave 初始化bim的问题';这是一个八度音阶的现成例子
在作业中,他们给了我一个本文中的逐步示例 这个例子是手动输入的,没有复制粘贴。我已经安装了这个软件包-fpl,bim,msh,image。 倍频程示例:Octave 初始化bim的问题';这是一个八度音阶的现成例子,octave,octave-gui,Octave,Octave Gui,在作业中,他们给了我一个本文中的逐步示例 这个例子是手动输入的,没有复制粘贴。我已经安装了这个软件包-fpl,bim,msh,image。 倍频程示例: pkg load bim pkg load msh pkg load fpl [mesh]=msh2m_gmsh("fuime","scale",1,"clscale",.1); – Error [mesh]=bim2c_mesh_properties(mesh); pdemes
pkg load bim
pkg load msh
pkg load fpl
[mesh]=msh2m_gmsh("fuime","scale",1,"clscale",.1); – Error
[mesh]=bim2c_mesh_properties(mesh);
pdemesh(mesh.p,mesh.e,mesh.t);
view(2)
xu=mesh.p(1,:).';
yu=mesh.p(2,:).';
nelems=columns(mesh.t);
nnodes=columns(mesh.p);
epsilon=.1;
phi=xu+yu;
AdvDiff=bim2a_advaction_diffusion(mesh,epsilon,1,1,phi);
Mass=bim2a_reaction(mesh,1,1);
b=bim2a_rhs(mesh,f,g);
A=AdvDiff+Mass;
GammaD=bim2c_unknowns_on_side(mesh,[1 2]);
GammaN=bim2c_unknowns_on_side(mesh,[3 4]);
GammaN=setdiff(GammaN,GammaD);
jn=zeros(length(GammaN),1);
ud=3*xu;
Omega=setdiff(1:nnodes,union(GammaD,GammaN));
Add=A(GammaD,GammaD);
Adn=A(GammaD,GammaN);
Adi=A(GammaD,Omega);
And=A(GammaN,GammaD);
Ann=A(GammaN,GammaN);
Ani=A(GammaN,Omega);
Aid=A(Omega,GammaD);
Ain=A(Omega,GammaN);
Aii=A(Omega,Omega);
bd=b(GammaD);
bn=b(GammaN);
bi=b(Omega);
temp=[Ann Ani;Ain Aii]\[jn+bn-And*ud(GammaD); bi-Aid*ud(GammaD)];
u=ud;
u(GammaN)=temp(1:numel(GammaN));
u(Omega)=temp(length(GammaN)+1:end);
jd=[Add Adi Adn]*u([GammaD;Omega;GammaN])-bd;
[gx,gy]=bim2c_pde_gradient(mesh,u);
[jxglob,jyglob]=bim2c_global_flux(mesh,u,epsilon*ones(nelems,1),ones(nnodes,1),ones(nnodes,1),phi);
fpl_vtk_write_field("vtkdata",mesh,{u,"Solution"},{[gx:gy]',"Gradient"},1);
pdesurf(mesh.p,mesh.t,u);
在此-[mesh]=msh2m_gmsh(“fuime”、“scale”、1、“clscale”、.1)代码>错误
Generating mesh...
error: 'tmpnam' undefined near line 78, column 78
error: called from
msh2m_gmsh at line 78 column 12
>>
我采取了哪些措施来修复错误
我认为问题出在卸载的软件包中。
根据这条线索给我的答案
我开始安装mesh软件包,但这里出现了另一个错误
error: get_forge_pkg: package not found: "mesh". Maybe you meant "lssa?"
error: called from
get_forge_pkg at line 90 column 5
get_forge_download at line 32 column 14
pkg at line 500 column 31
但找不到mesh包。包msh已安装。
如何解决我的问题?没有深入检查,只是指出tmpnam
是为临时文件创建文件名的旧命令。这是特定于倍频程的,后来更改为tempname
,以便与matlab中引入的等效函数兼容。如果幸运的话,您可以在包的代码中将tmpnam
替换为tempname
,就这样。。。(虽然如果包真的那么旧,可能会有更多的问题……)此外,bim包似乎期望有一个linux环境,因为它在引擎盖下调用系统函数。它似乎还希望在系统上安装gmsh
linux软件包(不是octave软件包)。我尝试运行您的示例,但它似乎在创建一个包含0个节点的网格后结束。不确定这是否与您如何称呼这一点有关。