Volume under 3D graph generated from trendline

Viewed 42

I am trying to calculate the material coating volume from a disk that has been electroplated. This material volume is not constant over the part and is called the Electroplating "Dogbone" effect.

I have multiple measurements of this deposited material's thickness, i.e., data points across an X vs Y plane. I was thinking of making some kind of 3D trendline from these data points and then calculating the area underneath this curve to obtain the Disk's coating volume.

What would be the best way of doing this? Would python modules such as Gekko be useful for this?

1 Answers

Gekko could be used for this application with a bspline function to translate the 3D data into a function approximation surface. Here is example code to optimize with an example surface:

from gekko import GEKKO
import numpy as np

#raw data
m = GEKKO(remote=False)

xgrid = np.linspace(-1, 1, 20)
ygrid = xgrid
z_data = x*y

x = m.Var(0.5,-1,1)
y = m.Var(0.5,-1,1)
z = m.Var(2)

m.bspline(x,y,z,xgrid,ygrid,z_data)

m.Minimize(z)

m.solve()

If the data is not smooth then the bspline may give unexpected results. In this case, regression may be a better method to fit a function with measurement noise.

Related