Clear Filters
Clear Filters

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 views (last 30 days)
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 Comments
Kai Mommsen
Kai Mommsen on 25 Mar 2019
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

Sign in to comment.

Accepted Answer

Jan
Jan on 20 Feb 2016
Edited: Jan on 20 Feb 2016
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 Comment
benho
benho on 20 Feb 2016
Edited: benho on 20 Feb 2016
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

Sign in to comment.

More Answers (1)

Haris Hameed
Haris Hameed on 26 Aug 2019
Anyone got this error solved

Community Treasure Hunt

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

Start Hunting!