Dear Sir,
I am trying to run a dynamic analyses using substructuring whereby my ABAQUS model is supposed to continuously exchange information with my MATLAB program. So if I have to run my analysis for say 20000 time steps, the ABAQUS simulation also runs 20000 times and there is this same number of information exchanges between the two packages. Is this kind of interfacing possible by means of your software?
Thanking you,
Yours faithfully,
Rahul Kochar
IISc
I have pm-ed you the files for you to take a look. Thank you
Dear Rahul,
It is suspicious that a folder is unintentionally generated during your analysis. Could you share your input file and Matlab code either here or in a pm?
Best regards,
Abaqus2Matlab work Team
Regarding the third to last post:
If this has fixed the problem then it is ok. But it is indeed strange that these folders are created unintentionally. Regarding the running time, you can minimize the size of the fil file, by specifying as many output variable identifiers as possible for each option associated with a definition of results file output request. Apart from this, you can introduce a naive parallelization in the RecXXX.m functions employed which decreases the computational time by an estimated factor of 2. Based on the Abaqus2Matlab work team experience, the last applies only for very large fil files.
I keep getting this after a few hundred runs
Sorry to be bothering you so frequently.
This is how I am trying to delete the folder each time using the rmdir command.
disp('Reading .fil')
Rec = Fil2str([Inp_file '.fil']);
% Obtain the desired output data
%disp('Obtaining desired output data')
out = Rec104(Rec); % Put here the Rec function selected
cd 'C:\Temp\A2matlab'
rmdir PsDTestHM2 s
But,
Error using rmdir C:\Temp\A2matlab\PsDTestHM1\PsDTestHM1.log could not be removed. C:\Temp\A2matlab\PsDTestHM1 could not be removed.
Error in AbaqusPS (line 1356) rmdir PsDTestHM1 s
How do I suppress this log file that is generated? Or is it due to some other issue?
Thank you for your response.
So in order to avoid the problem of folders under folders getting created, I used the rmdir command in matlab after each instance of folder creation. Is it okay?
Also, I cannot create multiple input files because the results from abaqus run are to be used to update the .inp file which is to be sent back to abaqus again.
Hello Rahul Kochar,
Sorry for the delayed reply!
You have to check if the current working directory of Matlab changes during the execution of the for or while loop. If you have resolved this issue and you want to minimize running time, a good idea is to copy more than one input files in the working directory and assign to them different names, then run them simultaneously in Abaqus for each repetition of the loop.
Best regards,
Abaqus2Matlab work Team
I have been able to resolve most of the problems above. However, I want to reduce the time between interactions as my number of runs is very large.
Thank you
Also, I just noticed, it keeps creating folders inside folders and so on for every simulation in abaqus. This will eat a lot of computer memory since my simulations are to run 2e6 times.
Error using copyfile
The system cannot find the path specified.
Error in AbaqusPS (line 1330)
copyfile([Inp_file '.inp'],[pwd '\' Inp_file '\'])
This the error I keep getting
Good morning Sir
I did exactly what you suggested. However, the error that input file cannot be located pops up after a few runs of the for loop. Could you suggest why?
Thank you
Dear Rahul Kochar,
The main objective of Abaqus2Matlab is to transfer data (1) from Matlab to Abaqus and (2) from Abaqus to Matlab, so... YES, you can do it!.
In order to transfer information from Matlab to Abaqus you need to create a Matlab script which, when run, creates the appropriate Abaqus input file.
Besides, you need a way to run Abaqus analysis inside Matlab, without interacting with Abaqus at all.
Finally, you need to get the results from the Abaqus results file(s) into Matlab by using the correct RecXX subrutines (see Abaqus2Matlab documentation).
Each loop could consist on the following steps:
(1) To run a Matlab script (inside Matlab), which creates an input file for Abaqus (*.inp)
(2) To run the input file by Abaqus (inside Matlab) to produce a file in which the results of the analysis are stored. This file is called "results file" and has the extension *.fil. You can look in Abaqus Documentation for more information about this file and the way that the results are stored in it.
(3) To postproccess the results file in Matlab, by using the toolbox Abaqus2Matlab.
You can find on the TUTORIALS part of our web the two examples of optimization process concern mainly the classic 10-bar truss and 25-bar truss, which are very well known benchmark problems exhaustively solved and used to test the new optimization algorithms.
You can watch how the optimization procedure works, and you can even use these two packages as a template to adjust it to fit your own task.
The "Cohesive Zone Modeling" example (abaqus2matlab.com -> TUTORIALS) is also a good example of recurently conexion between Matlab and Abaqus by Abaqus2Matlab.
Remember that these examples contain only a portion of Abaqus2Matlab toolbox, which is a high-level post-processing toolbox linking Matlab and Abaqus.
You can use the last to explore the variety its post-processing capabilities, and satisfy your needs in the best way.
Thank you very much for your interest.
Please, If using this toolbox for research or industrial purposes, cite:
G. Papazafeiropoulos, M. Muñiz-Calvente, E. MartÃnez-Pañeda. Abaqus2Matlab: a suitable tool for finite element post-processing.
Advances in Engineering Software. Vol 105. March 2017. Pages 9-16. (2017) DOI:10.1016/j.advengsoft.2017.01.006
Abaqus2Matlab work Team