Calculate work has been done by pressure (detailed explanation inside)

6 views (last 30 days)
Sorry I post more thant 1 thread on this question, and I really appreciate those answers, but I am confused, so I will say exactly what I want in this one.
I am post-processing a simualtion.
A spherical is meshed by many little triangles.A time-dependent pressure (p=10*t) is equally applied to the inner surface of a spherical in the normal direction all the time. After t1=0.1s, the spherical broken and each little triangle is disconnected.
Assuming during t1, p is constantly 1 (10*0.1). My ultimate goal is to calculate the energy brought by p to this system
My idea is using p*area*displacement for 1 triangle, then do the same thing for all other triangles
Here is what I have from the simulation (for one triangle).
Nodal coordinates (vector in x,y,z) for three vertices of the triangle
p1: 2.48309 2.51276 2.45388
p2: 2.4875 2.50415 2.45103
p3: 2.47773 2.50283 2.45452
Nodal velocities (vector in x,y,z) for three vertices of the triangle
v1: -11.352 4.68846 -58.9501
v2: -10.2788 -1.54017 -60.6666
v3: 12.043 6.94501 -34.1632
Nodal displacements (vector in x,y,z) for three vertices of the triangle
d1: -0.00023 0.000131 -0.00071
d2: -0.00025 6.02E-05 -0.00066
d3: -0.00027 0.000148 -0.00066
I write the following code to compute the area of this triangle from nodal coordinates
p1=[2.48309 2.51276 2.45388];
p2=[2.4875 2.50415 2.45103];
p3=[2.47773 2.50283 2.45452];
area = 0.5*norm(cross(edge12,edge13),2)
area = 4.8445e-05
Then I use p*area to get the force, but I don't know how to get the right (or approximated) displacement perform the dot product, since force should be the same direction with displacement, what I have is the Nodal displacements.
Any idea to figure out the energy brought by p to this system during t1? It will be great, if the answer is explained in detail
William Rose
William Rose on 30 Sep 2022
@Sam Chak, Thank you for your suggestion - I did what you suggested.
I am a visual person too. Which is why, in the other version of this post, I wrote a script to make a 3D plot of the triangle and the velocity vectors. @Miraboreasu, when you run it on your machine (as opposed to running it in the Matlab Answers window), you will be able to rotate the 3D plot by clicking and dragging on the image. Below is a spell-checked copy of what I posted there.
@Miraboreasu, The attached script computes the rate of change of area of the triangle, and plots the triangle and the velocity vectors at the corners. The area is decreasing with time. If the corners continue on their present trajectories, the area will decrease for a short time and then will start to increase, as the corners pass by one another and continue moving. The triangle will also flip over, more or less. In the figure below, corners 1,2,3 are colored R,G,B respectively.

Sign in to comment.

Accepted Answer

William Rose
William Rose on 30 Sep 2022
I think part of the lack of understanding that has arisen during our discussion is that I am not sure if the velocities and displacement which you have specified are before or after the burst. After the burst, the pressure is not doing any work, because there is no longer a pressure gradient. The velocities of the corners after the burst are due to the complex fracture dynamics during bursting. There is no simple way to use the post-burst corner velocities or displacements of a single triangle to make inferences about the work done during inflation.
I think the velocities which you have provided are post-burst, because a) they are not parallel to one another, and b) because thy are not normal to the surface of the triangle, and c) because the area of the triangle is decreasing, not increasing.
The displacements which you have provided are not proportional to the velocities. For a short time increment, they should be. And the time increment is short - around 15 microseconds (see below). Why, then, are the displacements not proportional to the velocities?
v1=[-11.352 4.68846 -58.9501]; %velocities
v2=[-10.2788 -1.54017 -60.6666];
v3=[ 12.043 6.94501 -34.1632];
d1=[-0.00023 0.000131 -0.00071]; %displacements
d2=[-0.00025 6.02E-05 -0.00066];
d3=[-0.00027 0.000148 -0.00066];
fprintf('Mean dT=%.2e=mean(%.2e,%.2e,%.2e)\n',dT,dT1,dT2,dT3)
Mean dT=1.46e-05=mean(1.26e-05,1.15e-05,1.97e-05)
The calculation above estimates the duration of the time increment associated with the reported displacements: dT=mean(displacement/velocity).

More Answers (0)


Find more on Graphics Object Programming in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!