Copper Disc Dissolution
Copper Disc Dissolution
In the Chemical Engineerig Laboratory, last week I performed the experiment of “Copper Disc Dissolution”. We also had to do the calculations at home for this experiment. In the same week, we got to learn ‘Pandas’ and as it is a good tool for computation, I used it to perform the calculations of my experiment.
This week was really really very hectic for me, we were having Funtech which is our intra college festival and being a part of Technological Association, I was a part of organising team. During last 7 days, I also had 2 company interviews for in plant training and there were thousand more things which I don’t even remember now. For the last 6 days, I was literally running all the time, used to go home very late (by 12.00-12.30 in the night) and I used to leave again in the early morning by 6.45 am. But, whatever I was doing, I was enjoying each and every part of it and there was a thrill in that. Last night was the final night and it was one of the best nights of the college, the fest ended well with a bang! We all went to have dinner together and then I took a train to go home. I took a quick nap in the travel 😋 because I knew after going home I had this assignment still pending of which today was the submission and I will have to stay up and do it othwrwise I will lose marks.
And as usual, I did this at 3 AM !
https://github.com/chiragmule1729/3-AM-Assignments.git

In [16]:
import scipy import math import pandas as pd import matplotlib.pyplot as plt
Observation Table
In [48]:
example = pd.DataFrame(
{
"Speed":[0,354.3,425.5,777.8,999.9,1183.4],
"TitrationI":[31.2,31.2,37.9,42.1,48.4,50.0],
"TitrationF":[31.2,37.9,42.1,48.4,50.0,52.1],
"Disc diameter":[4.532,4.530,4.525,4.510,4.500,4.492],
"Thickness":[0.63,0.608,0.60,0.57,0.551,0.541],
},
index = ["initial",1,2,3,4,5]
)
example
Out[48]:
| Speed | TitrationI | TitrationF | Disc diameter | Thickness | |
|---|---|---|---|---|---|
| initial | 0.0 | 31.2 | 31.2 | 4.532 | 0.630 |
| 1 | 354.3 | 31.2 | 37.9 | 4.530 | 0.608 |
| 2 | 425.5 | 37.9 | 42.1 | 4.525 | 0.600 |
| 3 | 777.8 | 42.1 | 48.4 | 4.510 | 0.570 |
| 4 | 999.9 | 48.4 | 50.0 | 4.500 | 0.551 |
| 5 | 1183.4 | 50.0 | 52.1 | 4.492 | 0.541 |
Calculation
In [55]:
def Bi(row,a,b,c):
ti=row["TitrationI"]
bi=(a*(b-ti))/c
return bi
In [56]:
example["Bi"]=example.apply(Bi,axis=1, args=(0.1,53.5,10))
In [57]:
example
Out[57]:
| Speed | TitrationI | TitrationF | Disc diameter | Thickness | Bi | Bf | |
|---|---|---|---|---|---|---|---|
| initial | 0.0 | 31.2 | 31.2 | 4.532 | 0.630 | 0.223 | 0.223 |
| 1 | 354.3 | 31.2 | 37.9 | 4.530 | 0.608 | 0.223 | 0.156 |
| 2 | 425.5 | 37.9 | 42.1 | 4.525 | 0.600 | 0.156 | 0.114 |
| 3 | 777.8 | 42.1 | 48.4 | 4.510 | 0.570 | 0.114 | 0.051 |
| 4 | 999.9 | 48.4 | 50.0 | 4.500 | 0.551 | 0.051 | 0.035 |
| 5 | 1183.4 | 50.0 | 52.1 | 4.492 | 0.541 | 0.035 | 0.014 |
In [58]:
def Bf(row,a,b,c):
tf=row["TitrationF"]
bf=(a*(b-tf))/c
return bf
In [59]:
example["Bf"]=example.apply(Bf,axis=1, args=(0.1,53.5,10))
In [60]:
example
Out[60]:
| Speed | TitrationI | TitrationF | Disc diameter | Thickness | Bi | Bf | |
|---|---|---|---|---|---|---|---|
| initial | 0.0 | 31.2 | 31.2 | 4.532 | 0.630 | 0.223 | 0.223 |
| 1 | 354.3 | 31.2 | 37.9 | 4.530 | 0.608 | 0.223 | 0.156 |
| 2 | 425.5 | 37.9 | 42.1 | 4.525 | 0.600 | 0.156 | 0.114 |
| 3 | 777.8 | 42.1 | 48.4 | 4.510 | 0.570 | 0.114 | 0.051 |
| 4 | 999.9 | 48.4 | 50.0 | 4.500 | 0.551 | 0.051 | 0.035 |
| 5 | 1183.4 | 50.0 | 52.1 | 4.492 | 0.541 | 0.035 | 0.014 |
In [61]:
def ksle(row):
bi=row["Bi"]
bf=row["Bf"]
ksle=248.139*math.log(bi/bf)
return ksle
In [62]:
example["ksle"]=example.apply(ksle,axis=1)
In [63]:
example
Out[63]:
| Speed | TitrationI | TitrationF | Disc diameter | Thickness | Bi | Bf | ksle | |
|---|---|---|---|---|---|---|---|---|
| initial | 0.0 | 31.2 | 31.2 | 4.532 | 0.630 | 0.223 | 0.223 | 0.000000 |
| 1 | 354.3 | 31.2 | 37.9 | 4.530 | 0.608 | 0.223 | 0.156 | 88.663976 |
| 2 | 425.5 | 37.9 | 42.1 | 4.525 | 0.600 | 0.156 | 0.114 | 77.830673 |
| 3 | 777.8 | 42.1 | 48.4 | 4.510 | 0.570 | 0.114 | 0.051 | 199.596266 |
| 4 | 999.9 | 48.4 | 50.0 | 4.500 | 0.551 | 0.051 | 0.035 | 93.418768 |
| 5 | 1183.4 | 50.0 | 52.1 | 4.492 | 0.541 | 0.035 | 0.014 | 227.367466 |
In [68]:
def Re(row,a,b):
d=row["Disc diameter"]
n=row["Speed"]
Re=(d*d*n*a)/(100*60*b)
return Re
In [69]:
example["Re"]=example.apply(Re,axis=1, args=(1000,0.00119))
In [70]:
example
Out[70]:
| Speed | TitrationI | TitrationF | Disc diameter | Thickness | Bi | Bf | ksle | Re | |
|---|---|---|---|---|---|---|---|---|---|
| initial | 0.0 | 31.2 | 31.2 | 4.532 | 0.630 | 0.223 | 0.223 | 0.000000 | 0.000000e+00 |
| 1 | 354.3 | 31.2 | 37.9 | 4.530 | 0.608 | 0.223 | 0.156 | 88.663976 | 1.018285e+06 |
| 2 | 425.5 | 37.9 | 42.1 | 4.525 | 0.600 | 0.156 | 0.114 | 77.830673 | 1.220221e+06 |
| 3 | 777.8 | 42.1 | 48.4 | 4.510 | 0.570 | 0.114 | 0.051 | 199.596266 | 2.215760e+06 |
| 4 | 999.9 | 48.4 | 50.0 | 4.500 | 0.551 | 0.051 | 0.035 | 93.418768 | 2.835851e+06 |
| 5 | 1183.4 | 50.0 | 52.1 | 4.492 | 0.541 | 0.035 | 0.014 | 227.367466 | 3.344359e+06 |
In [79]:
def Sh(row):
Re=row["Re"]
Sh=(0.03387*0.62*(Re**0.5))/(0.565)
return Sh
In [80]:
example["Sh"]=example.apply(Sh,axis=1)
In [81]:
example
Out[81]:
| Speed | TitrationI | TitrationF | Disc diameter | Thickness | Bi | Bf | ksle | Re | Sh | |
|---|---|---|---|---|---|---|---|---|---|---|
| initial | 0.0 | 31.2 | 31.2 | 4.532 | 0.630 | 0.223 | 0.223 | 0.000000 | 0.000000e+00 | 0.000000 |
| 1 | 354.3 | 31.2 | 37.9 | 4.530 | 0.608 | 0.223 | 0.156 | 88.663976 | 1.018285e+06 | 37.505340 |
| 2 | 425.5 | 37.9 | 42.1 | 4.525 | 0.600 | 0.156 | 0.114 | 77.830673 | 1.220221e+06 | 41.056101 |
| 3 | 777.8 | 42.1 | 48.4 | 4.510 | 0.570 | 0.114 | 0.051 | 199.596266 | 2.215760e+06 | 55.324799 |
| 4 | 999.9 | 48.4 | 50.0 | 4.500 | 0.551 | 0.051 | 0.035 | 93.418768 | 2.835851e+06 | 62.589305 |
| 5 | 1183.4 | 50.0 | 52.1 | 4.492 | 0.541 | 0.035 | 0.014 | 227.367466 | 3.344359e+06 | 67.969623 |
In [88]:
def kslp(row):
d=row["Disc diameter"]
Sh=row["Sh"]
kslp=(0.0907)*Sh*100/d
return kslp
In [89]:
example["kslp"]=example.apply(kslp,axis=1)
Calculation Table
In [90]:
example
Out[90]:
| Speed | TitrationI | TitrationF | Disc diameter | Thickness | Bi | Bf | ksle | Re | Sh | kslp | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| initial | 0.0 | 31.2 | 31.2 | 4.532 | 0.630 | 0.223 | 0.223 | 0.000000 | 0.000000e+00 | 0.000000 | 0.000000 |
| 1 | 354.3 | 31.2 | 37.9 | 4.530 | 0.608 | 0.223 | 0.156 | 88.663976 | 1.018285e+06 | 37.505340 | 75.093474 |
| 2 | 425.5 | 37.9 | 42.1 | 4.525 | 0.600 | 0.156 | 0.114 | 77.830673 | 1.220221e+06 | 41.056101 | 82.293665 |
| 3 | 777.8 | 42.1 | 48.4 | 4.510 | 0.570 | 0.114 | 0.051 | 199.596266 | 2.215760e+06 | 55.324799 | 111.262955 |
| 4 | 999.9 | 48.4 | 50.0 | 4.500 | 0.551 | 0.051 | 0.035 | 93.418768 | 2.835851e+06 | 62.589305 | 126.152222 |
| 5 | 1183.4 | 50.0 | 52.1 | 4.492 | 0.541 | 0.035 | 0.014 | 227.367466 | 3.344359e+06 | 67.969623 | 137.240535 |
In [108]:
n=[0,354.3,425.5,777.8,999.9,1183.4]
In [109]:
ksle=[88.663976,77.830673,199.596266,93.418768,227.367466]
In [110]:
kslp=[0,75.093474,82.293665,111.262955,126.152222,137.240535]
Graph
In [112]:
plt.plot(n,kslp,'g-',label='kslp vs rpm')
plt.ylabel('kslp')
plt.xlabel('rpm')
plt.legend(loc='best')
plt.show()

In [116]:
example.to_excel("Copper Disc Dissolution.xlsx", sheet_name="17CHE123")
Results and Conclusion
From the above graph, we can observe –
- Predicted Mass transfer coefficient and experimental coefficient fairly match
- Rate of mass transfer increases with increase in RPM
- The reaction is phase-4 regime