Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Abaqus - Finding indentation size/shape across 150 simulations 1

Status
Not open for further replies.

Edward7899

Student
Jan 24, 2022
10
Hi all,

I have been using Abaqus for a relatively short time, and I am using it to simulate the effects of the variation of three different parameters on the collapse capacity of subsea pipelines. This will involve first indenting the model, and then seeing how these indentations/imperfections affect the collapse pressure/capacity.

I am currently trying to script this so that roughly 150 simulations of indentation will be undertaken (3 values of parameter A, 7 values of parameter B, 7 values of parameter C). (so there may be 150 simulations of indentation and then 150 more simulations of collapse to find what pressure the indented models collapse at)

As part of this, I need to extract and analyse data relating to the size and shape of the 150 indentations. Do you have any recommendations or pointers on how to do this? And how to post-process this information to find out the dimensions/shape of the various indentations?

I have thought of creating a node set around the area to be indented, and then using the coordinates of those nodes (before and after indentation) to get the size/shape. But, this will result in a large amount of information due to the number of nodes, and I was wondering if there may be 'simpler' way that is less computationally expensive. I understand how to automate the 150 simulations, but not the best way to collect the desired info.

I have attached a photo of my indentation model for reference. (The node set I planned to take coordinates of is contained within the two datum planes either side of the indenter)

Many thanks.
 
 https://files.engineering.com/getfile.aspx?folder=a8373ccb-930b-4767-b910-23a38eb189bb&file=Capture111.PNG
Replies continue below

Recommended for you

I'd use matlab to wade through your output files and pull all the nodes that have moved by more than T mm from their original position. Then you need some sort of a parametised model of an indentation, say a v or u shape, width W, length L, depth D. Then best fit your nodes to this shape. So you'll end up with 150 triads of L W and D, which frankly doesn't sound like much information at all, and 150 values of P the collapse pressure. I suspect you'll find that L W and D are actually not independent either, so you may be able to simplify even that trivial amount of data.



Cheers

Greg Locock


New here? Try reading these, they might help FAQ731-376
 
Hi Greg,

Many thanks for your reply, it is very helpful.

Do have any links any guides on processing nodal data from Abaqus using Matlab? It isn't something I am familiar with.

Also, the node set I will be taking coordinate data from contains roughly 4000 nodes (which will each have an x,y,z value), do you think this is a manageable number that will be able to be processed by matlab?

Thanks
 
You could use the deformed coordinates (COORD output variable) to filter out elements belonging to the indentation. Then calculate the areas of free surfaces of these elements using a script. In fact, Python scripting is usually the best way to automate Abaqus analyses.
 
4000 nodes is well within Matlab (or Hell, even Excel's) capabilities. There should be a way of formatting results like old Nastran decks, just rows and rows of fixed format numbers.

I'd use Matlab purely because it is what I'm familiar with, given a clean sheet of paper perhaps Python would be nicer.










Cheers

Greg Locock


New here? Try reading these, they might help FAQ731-376
 
Hi Fea Way,

"You could use the deformed coordinates (COORD output variable) to filter out elements belonging to the indentation"

Does the COORD output variable only get coordinates of nodes that have been displaced then?

Thanks
 
It provides the coordinates of all nodes or integrations points (depending on whether it’s requested as nodal or integration point variable) and those are current coordinates if NLGEOM is on.
 
So would I then have to compare those coordinate values to the coordinates before the deformation to filter out elements belonging to the indentation, as you suggested a few comments above?
 
Yes, exactly. But it should be easier if you convert this output to a cylindrical coordinate system first.
 
This looks daunting task if you have not done scripting before. But first I would suggest to do simple exercise of one indentation sample and creating the trial script of comparing nodal coordinates of the node set between the datum planes and based on the nodal data extracted before and after deformation, you need to process it for the dimensions (addition/subtraction of coordinate values). As already suggested and since you will be dealing with not large but sizable data, python scripting or Matlab can be handy for your post-processing.

One of the excellent book resource for beginners in python scripting-"Python Scripts for Abaqus - Learn by Example" by Guatam Puri.

Edit - Another resource for MATLAB - "Introduction to Finite Element Analysis Using MATLAB and Abaqus" by Amar Khennane
 
Thanks all for your advice.

After searching and reading some material online, I will use MATLAB to process my results. I have found a useful piece of software called Abaqus2Matlab. It seems to do some of the legwork for you, and allows you to import results into MATLAB for analysis.

As suggested, I am going to try and analyse just one result first. Once that has been done, then I will try to extend that analysis/post-processing to the other ~150 simulations.

 
Oh, and for the shape function if you include one more variable then you can use a parabola, which is anywhere between a V and a U.

Cheers

Greg Locock


New here? Try reading these, they might help FAQ731-376
 
Just in case you still think 4000 nodes is a lot, try this in Matlab (I used octave). Even in a very unoptimised code the guts of it runs in less than half a minute, the spline fit being the time consuming bit. The first section is a bit redundant but probably can't be much quicker, it takes 1ms to run.

clc
tic% create a 2d grid of deformation vectors
a=rand(4000,3);
%get their magnitudes
b=sqrt(sum(a.*a,2));
%list all the elements with magnitude in top 5%
c=find(b>.95*max(b));
disp(c)
%list the %ages
disp(b(c)*100/max(b))

toc
disp('Fit 3900 quartic splines')
tic
breaks = [1:9:100];
for ii=1:(length(a)-100)

xspline=1:100;
y=b(xspline+ii-1);
yspline=splinefit(xspline,y, breaks,'order',4);

end
toc
%plot the last splinefit
plot (xspline, y, "s", xspline, ppval (yspline, xspline), "r", breaks, ppval (yspline, breaks), "+r");
xlabel ("Independent Variable");
ylabel ("Dependent Variable");
title ("Fit a piece-wise polynomial of order 4");
legend ({"data", "fit", "breaks"});
axis tight
ylim auto



Cheers

Greg Locock


New here? Try reading these, they might help FAQ731-376
 
Hi Greg,

Thank you for your reply. My apologies, but would you mind explaining how output information from Abaqus (node number, node coordinates, node deformation) would fit into the code you posted?

I am guessing that my output info from ABAQUS would go here, becoming the variable 'a':
"% create a 2d grid of deformation vectors
a=rand(4000,3);"

My model is also a 3D model, but I assume the principles of the script would be similar?

Many thanks,

Edward
 
Hi all,

I have uploaded my model in the form on an input file, I have been unable to use Abaqus2Matlab due to software installation issues.

Would someone be able to look at my model and give me some guidance on how to extract the coordinates data I need? I have requested coordinates and displacement data as a history output from the chosen node set, but I am not sure how to output the results via scripting. Manually using the graphical interface, I have created a display group and probed by the node set, but that will not work for the large number of simulations I will be performing.

Many thanks,

Edward
 
 https://files.engineering.com/getfile.aspx?folder=b1ca83b5-b761-413e-b36e-328223fc72ec&file=JobOne.inp
Yes your nodal deformations would replace a. As to the rest that MIT document would appear to go over your output options.

That script I posted was to reassure you that 4000 calculations is not really a speed problem, it doesn't really do what /you/ need to do.

Cheers

Greg Locock


New here? Try reading these, they might help FAQ731-376
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor