I work on the optimization of the stamping process, and I use the coupling between abaqus and Matlab through the tool "abaqus2matlab". Firstly, I write a code in Matlab to generate the file (. inp) abaqus and I run the job via Matlab, therefore the job is executed and the output files (file. Odb) are generated. But the problem here is that the file (. fil) is not generated and therefore I could not convert it to get the file (. fin) that i need because i work by the explicit abaqus model. Even I followed the instructions in the abaqus2matlab tool documentation, I always fall on the same problem : ” Abaqus Error: No input file was specified. The Abaqus analysis cannot be executed. Abaqus ascfil execution exited with error(s)” and” Error using readFil (line 75) The file emboutissageABAQUS.fin does not exist”, either by the first method:
Abaqus job= emboutissageABAQUS convert=select
or
Abaqus job= emboutissageABAQUS convert=all
Or by the second method by specification in the {emboutissageABAQUS input file. Inp the option:
*FILE OUTPUT
Followed by at least one of the following options:
*EL FILE
*NODE FILE
When running in Abaqus / Command:
abaqus ascfil job= emboutissageABAQUS
So I don’t know exactly where is the problem in those code, please can help me to change where is needed so that it can run without error. thank you very much
here are the two codes:
close all
clear
% Change the current directory
S = mfilename('fullpath');
f = filesep;
ind=strfind(S,f);
S1=S(1:ind(end)-1);
cd(S1);
% Construct the Abaqus input file emboutissageABAQUS.inp
x = [0.08 0.1];
emboutissageinp(x)
% Run the input file emboutissageABAQUS.inp with Abaqus
!abaqus job=emboutissageABAQUS
% Pause Matlab execution to give Abaqus enough time to create the
% TrussABAQUS.lck file
pause(20)
% If the TrussABAQUS.lck file exists then halt Matlab execution
while exist('emboutissageABAQUS.lck','file')==2
pause(0.1)
end
% Convert fil file to fin (ASCII format)
!abaqus ascfil job=emboutissageABAQUS
% Give Abaqus enough time for the file conversion
pause(10)
% Obtain results contained in AbaqusInputFile.fin
out2 = readFil('emboutissageABAQUS.fin',101);
NodalDisplacements=out2{1,1}(:,2:3);
here is the output part in the code forc Construct the Abaqus input file emboutissageABAQUS.inp :
fprintf(fileID,'*Restart, write, number interval=1, time marks=NO\n');
fprintf(fileID,'*FILE OUTPUT\n');
fprintf(fileID,'*Output, field, variable=PRESELECT\n');
fprintf(fileID,'*Output, history, variable=PRESELECT\n');
fprintf(fileID,'*NODE FILE, NSET=sheet-1.Set-1 \n');
fprintf(fileID,'U\n');
fprintf(fileID,'*End Step\n');
This question has been answered with a personal message through email as follows:
"I have modified your codes and the Abaqus analysis as well as the postprocessing with Abaqus2Matlab work perfectly. I have made the following modifications in your files:
1) Commented line 455 in the Matlab function emboutissageinp.m which creates the Abaqus input file ("Close input file" is replaced by "%Close input file")
2) Added the parameter NUMBER INTERVAL=10 in the *FILE OUTPUT option in lines 415 and 449 in the Matlab function emboutissageinp.m.
3) Added the lines:
% Convert sel file to fil (binary format) !abaqus job=emboutissageABAQUS convert=select
in the main Matlab code (file test2.m), lines 21-22."
Best regards.