フィルターのクリア

I have a problem with "At line 85 of file ../src/userio.f (unit = 5, file = 'stdin') Fortran runtime error: End of file" when attempting to run xfoil using matlab

7 ビュー (過去 30 日間)
benho
benho 2016 年 2 月 20 日
回答済み: Haris Hameed 2019 年 8 月 26 日
The script that calls the xfoil script is something like this
Options=optimset('Display','iter','DiffMinChange',0.01,'TolCon',0.01)
[rootWeightsSQP,rootDragSQP]=fmincon(@drag,goodrootweights,[],[],[],[],zeros(1,14),ones(1,14),@thicknessconstraint,Options);
meanError=getstartweights(rootWeightsSQP,1);
[cd,cl,rootAlpha]=drag(rootWeightsSQP);
and the script whichs opens xfoil is
function [cd,cl,alpha]=drag(w)
global wingParameters constants
% control points
p0=[1 0]';
p1=[0.8 w(1)*0.2-0.05]';
%p1=[0.8 w(1)*0.2-0.1]';
p2=[0.3 w(2)*0.15]';
%p2=[0.3 w(2)*0.2-0.05]';
p3=[0 -0.1]';
q1=[0 0.1]';
q2=[0.4 w(3)*0.2+0.1]';
q3=[0.8 w(4)*0.2-0.05]';
q4=[1 0]';
if length(w)<5
w=[w wingParameters.bezierw];
end
% weights
zp=[w(5)*1.9+0.1 w(6)*1.9+0.1 w(7)*1.9+0.1 w(8)*1.9+0.1 w(9)*1.9+0.1];
zq=[w(10)*1.9+0.1 w(11)*1.9+0.1 w(12)*1.9+0.1 w(13)*1.9+0.1 w(14)*1.9+0.1];
% calculate connection point
p4=(4/(4+4))*p3+(4/(4+4))*q1;
q0=p4;
% calculate rational cubic Bezier for t[0,1]
lower=bezier([p0 p1 p2 p3 p4]',zp);
upper=bezier([q0 q1 q2 q3 q4]',zq);
fid=fopen('aerofoil.dat','w');
for i=1:101
fprintf(fid,'%20.18f %20.18f\n',lower(i,1),lower(i,2));
end
for i=2:101
fprintf(fid,'%20.18f %20.18f\n',upper(i,1),upper(i,2));
end
fclose(fid);
a=340.3; %speed of sound
v=constants.V; %velocity
M=v/a; %Mach number
nu=0.00001461; %kinematic viscosity
L=wingParameters.localChord; %local chord length of wing section airfoil
Re=v*L/nu; %local Reynold's number
fid=fopen('commands.in','w');
fprintf(fid,'load %saerofoil.dat\n',constants.file_path);
fprintf(fid,'GuyMartin\n');
fprintf(fid,'panel\n');
fprintf(fid,'plop\nG\n\n');
fprintf(fid,'oper\n');
fprintf(fid,'visc %f\n',Re);
fprintf(fid,'M %f\n',M);
fprintf(fid,'type 1\n');
fprintf(fid,'pacc\n');
fprintf(fid,'%spolar.dat\n',constants.file_path);
fprintf(fid,'\n');
fprintf(fid,'iter\n250\n');
fprintf(fid,'cl %f\n',wingParameters.CL2d);
fprintf(fid,'\n');
fprintf(fid,'\n');
fprintf(fid,'quit\n');
fclose(fid);
run_xfoil_command=[constants.xfoil_path 'xfoil < ' constants.file_path 'commands.in > dump.out' ];
setenv('GFORTRAN_STDIN_UNIT','5'); %only for matlab on mac
setenv('GFORTRAN_STDOUT_UNIT','6'); %only for matlab on mac
setenv('GFORTRAN_STDERR_UNIT','0'); %only for matlab on mac
try
system(run_xfoil_command)
fid=fopen('polar.dat');
for i=1:13
tline = fgetl(fid);
disp(tline);
end
fclose(fid);
cl=str2num(tline(12:17));
cd=str2num(tline(20:28));
alpha=str2num(tline(3:8));
catch me
cl=777;
cd=777;
alpha=777;
end
setenv('GFORTRAN_STDIN_UNIT','-1'); %only for matlab on mac
setenv('GFORTRAN_STDOUT_UNIT','-1'); %only for matlab on mac
setenv('GFORTRAN_STDERR_UNIT','-1'); %only for matlab on mac
delete polar.dat
I am running this script on a windows 10 machine and I am using Xfoil 6.99. Do let me know if you have any idea what could have gone wrong because I have spent ages rectifying it and the error seems intermittent
  2 件のコメント
Diogo Nascimento
Diogo Nascimento 2018 年 1 月 3 日
Hey, have you been able to solve this? I'm having the same error and dont know why!
thanks
Kai Mommsen
Kai Mommsen 2019 年 3 月 25 日
Its the same with me,
trying to figure out what might be the issue, but i did not find anything about it.
Using matlab 2018b on Win 10 with Xfoil6.99 and an airfoil of Airfoiltools
Thanks

サインインしてコメントする。

採用された回答

Jan
Jan 2016 年 2 月 20 日
編集済み: Jan 2016 年 2 月 20 日
Are you creating the control file in the correct folder? This is safer:
fid = fopen(fullfile(constants.file_path, 'aerofoil.dat'),'w')
...
fid=fopen(fullfile(constants.file_path, 'commands.in'),'w');
  1 件のコメント
benho
benho 2016 年 2 月 20 日
編集済み: benho 2016 年 2 月 20 日
Thank you, I've tried your suggestion but I am still getting those intermittent runtime errors from Xfoil.
There is another thing which I would like to ask, I get matlab stopping suddenly while its iterating (opening, running and closing xfoil) where the computation seems to become terribly slow which last for hours/days. I have no idea what is wrong.
As shown, right before it stops, it shows the Iteration, F-Counts, Feasibility, F(x), Feasibility, First Order Optimality and Step.
Ben

サインインしてコメントする。

その他の回答 (1 件)

Haris Hameed
Haris Hameed 2019 年 8 月 26 日
Anyone got this error solved

カテゴリ

Help Center および File ExchangeSources についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by