在分配任务时,他们从这篇文章http://wiki.octave.org/Bim_package中给了我一个分步示例。
这个例子是手动输入的,没有复制粘贴。我已经安装了这个包——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);
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
>>
我采取了什么措施来修复错误
我认为问题出在已卸载的软件包中。根据我在此线程错误中给出的答案,在 Octave 中安装新软件包时。
我开始安装包网格,但这里又出现了另一个错误。
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包已经安装了。我怎样才能解决我的问题?