0% found this document useful (0 votes)
22 views9 pages

Example of Thesis Work

The document discusses the application of Liquid Chromatography (LC) in the pharmaceutical industry, specifically focusing on the separation and quantification of active pharmaceutical ingredients (APIs) like paracetamol from impurities using High-Performance Liquid Chromatography (HPLC). It details the use of Fast Fourier Transform (FFT) to solve the Equilibrium Dispersive Model (EDM) partial differential equation (PDE) for this separation process, including the mathematical transformations and Python implementation for simulating elution profiles and calculating retention times. The results demonstrate how FFT can efficiently analyze the concentration of solutes over time, providing insights into the quality and safety of pharmaceutical products.

Uploaded by

arif ali
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views9 pages

Example of Thesis Work

The document discusses the application of Liquid Chromatography (LC) in the pharmaceutical industry, specifically focusing on the separation and quantification of active pharmaceutical ingredients (APIs) like paracetamol from impurities using High-Performance Liquid Chromatography (HPLC). It details the use of Fast Fourier Transform (FFT) to solve the Equilibrium Dispersive Model (EDM) partial differential equation (PDE) for this separation process, including the mathematical transformations and Python implementation for simulating elution profiles and calculating retention times. The results demonstrate how FFT can efficiently analyze the concentration of solutes over time, providing insights into the quality and safety of pharmaceutical products.

Uploaded by

arif ali
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Real-Life Applications of Liquid Chromatography (LC)

As we know they are many real life examples of Liquid chromatography like in Environmental
Analysis, Food and Beverage Industry, Pharmaceutical Industry, Biotechnology and so on.
So I have taken such one example of Pharmaceutical here;

In Pharmaceutical Industry:
Example: Separation and quantification of active pharmaceutical ingredients (APIs) and
impurities in drug formulations.
Application: HPLC is used to ensure the quality and consistency of drugs. For instance,
the separation of paracetamol (acetaminophen) from its degradation products is critical for
ensuring the safety and efficacy of painkillers.
Since we can solve this example of Pharmaceutical Industry where a common drug like
Paracetamol can be separated from its Impurity (Drug B) by Equilibrium Dispersive model
(EDM) PDE and numerically by finite difference and finite element analysis. But as I have to
do it by Fast Fourier Transform (FFT) in my thesis. So here is an example of how such
example can be done through FFT method

BY Fast Fourier Transform (FFT)

Here we will see how the Fast Fourier Transform (FFT) can be applied to solve
the Equilibrium Dispersive Model (EDM) for the HPLC (High Performance Liquid
Chromatography) separation of Paracetamol and its impurities. We will also look at how
FFT can be integrated into the solution process.

First defining what actually is Fast Fourier Transform (FFT)?

Well we know that the Fast Fourier Transform (FFT) is an efficient algorithm to compute
the Discrete Fourier Transform (DFT) and its inverse. It transforms a signal (or function)
from the time domain (or spatial domain) to the frequency domain and vice versa. The
FFT is widely used in signal processing, image analysis, and solving partial differential
equations (PDEs) numerically.

Key Concepts:

 Fourier Transform: Converts a function f(t) into its frequency components F(ω):

𝐹(𝜔) =∫ 𝑓 (𝑡)𝑒 −𝑖𝑤𝑡 𝑑𝑡


−∞

 Inverse Fourier Transform: Converts F(ω) back to f(t):


1 ∞
𝑓(𝑡) = ∫ 𝐹 (𝜔)𝑒 𝑖𝑤𝑡 𝑑𝜔
2𝜋 −∞
 FFT: A computationally efficient algorithm to compute the DFT for discrete data.

Reasons why Use FFT for Solving PDEs?

The FFT is particularly useful for solving PDEs with periodic boundary conditions or when
the solution can be expressed in terms of sinusoidal basis functions. Because it allows us
to:

1. Transform the PDE into the frequency domain, where differentiation becomes
algebraic multiplication.
2. Solve the transformed equation efficiently.
3. Use the inverse FFT to transform the solution back to the spatial or time domain.

Moreover the FFT can be used to solve the EDM PDE for the HPLC separation of
Paracetamol and its impurities. The (Equilibrium Dispersive model) PDE is:

∂𝐶𝑖 ∂𝐶𝑖 ∂2 𝐶𝑖
+𝑢 = 𝐷𝑎𝑥 2
∂𝑡 ∂𝑧 ∂𝑧
This is a linear advection-diffusion equation, which can be solved efficiently using FFT
in the frequency domain.

Now the Solution using FFT

Here we will solve the EDM (Equilibrium dispersive model) PDE for Paracetamol (Drug A)
and its impurity (Drug B) using FFT.

First by Non-Dimensionalization (Introducing dimensionless variables)

𝑡
 τ= : Dimensionless time
𝑡0
z
 ξ = : Dimensionless axial position
L
𝐶
 ∅𝑖 = 𝑖 : Dimensionless concentration
𝐶0

Then the PDE will become


∂∅𝑖 ∂𝜙𝑖 1 ∂2 𝜙 𝑖
+ =
∂𝜏 ∂𝜉 𝑃𝑒 ∂𝜉 2
𝑢𝐿
Where 𝑃𝑒 = 𝐷𝑎𝑥 (Peclet number)

Now the Fourier Transform


Apply the Fourier transform to the PDE. Let 𝜙𝑖(𝑘, 𝜏) be the Fourier transform of 𝜙𝑖(𝜉, 𝜏):

𝜙 𝑖̂ (𝑘, 𝜏) =∫ 𝜙𝑖(𝜉, 𝜏)𝑒−𝑖𝑘𝜉 𝑑𝜉
−∞

The PDE in the frequency domain becomes:

∂∅𝑖 𝑘2
+ 𝑖𝑘𝜙̂𝑖 = − 𝜙̂𝑖
∂𝜏 𝑃𝑒
Now solving the Transformed PDE

The transformed PDE is an ordinary differential equation (ODE) in 𝜏:

∂∅𝑖 𝑘2
= − (𝑖𝑘 − ) 𝜙̂𝑖
∂𝜏 𝑃𝑒
𝑘 2
This implies the solution is 𝜙̂𝑖(𝑘, 𝜏) = 𝜙̂𝑖(𝑘, 0) exp [−(𝑖𝑘 − )𝜏]
𝑃𝑒
Now the Initial Condition in Frequency Domain

The initial condition ∅𝑖(𝜉, 0) = 0 transforms to ̂


𝜙𝑖(𝑘, 0) = 0.

For an injection pulse at ξ = 0, the initial condition in the frequency domain is:

𝜙̂𝑖(𝑘, 0) = 𝐹𝐹𝑇(∅𝑖(𝜉, 0))

Inverse Fourier Transform

Use the inverse FFT to transform 𝜙̂𝑖(k, τ) back to the spatial domain:

∅𝑖(𝜉, 0) = 𝐼𝐹𝐹𝑇 (𝜙̂𝑖(𝑘, 𝜏))

Elution Profiles

Evaluate ∅𝑖(1, 𝜏) at the column outlet (ξ = 1) to obtain the elution profiles.

Lastly the analysis of Results

 The elution profiles∅𝐴 (1, 𝜏) 𝑎𝑛𝑑 ∅𝐵 (1, 𝜏) will show peaks at:
o 𝜏𝐴 = 1 + 𝑘𝐴 = 3 (Paracetamol).
o 𝜏𝐵 = 1 + 𝑘𝐵 = 5 (Impurity).
 The retention times are:
o 𝑡𝑅,𝐴 = 𝑡0 (1 + 𝑘𝐴 ) = 450 𝑠.
o 𝑡𝑅,𝐴 = 𝑡0 (1 + 𝑘𝐴 ) = 750 𝑠
 The resolution 𝑅𝑠 can be calculated from the peak widths.

Implementation in Python

import numpy as np
import matplotlib.pyplot as plt
from scipy.fftpack import fft, ifft

# Parameters
L = 0.15 # Column length (m)
u = 0.001 # Linear velocity (m/s)
D_ax = 1e-6 # Axial dispersion coefficient (m^2/s)
Pe = u * L / D_ax # Péclet number
t0 = L / u # Void time (s)
k_A = 2 # Retention factor for Paracetamol
k_B = 4 # Retention factor for impurity

# Discretization
N = 1000 # Number of spatial points
xi = np.linspace(0, 1, N) # Spatial grid
dxi = xi[1] - xi[0] # Spatial step
k = 2 * np.pi * np.fft.fftfreq(N, dxi) # Frequency domain
# Initial condition (injection pulse)
phi_A0 = np.exp(-100 * (xi - 0.1)**2) # Gaussian pulse for Paracetamol
phi_B0 = np.exp(-100 * (xi - 0.1)**2) # Gaussian pulse for impurity

# Fourier transform of initial condition


phi_A0_hat = fft(phi_A0)
phi_B0_hat = fft(phi_B0)

# Time evolution
tau = np.linspace(0, 10, 100) # Dimensionless time grid
phi_A = np.zeros((len(tau), N), dtype=complex)
phi_B = np.zeros((len(tau), N), dtype=complex)

for i, t in enumerate(tau):
phi_A_hat = phi_A0_hat * np.exp(-(1j * k + k**2 / Pe) * t)
phi_B_hat = phi_B0_hat * np.exp(-(1j * k + k**2 / Pe) * t)
phi_A[i, :] = ifft(phi_A_hat)
phi_B[i, :] = ifft(phi_B_hat)

# Elution profiles at column outlet (xi = 1)


elution_A = np.real(phi_A[:, -1])
elution_B = np.real(phi_B[:, -1])

# Plot elution profiles


plt.plot(tau * t0, elution_A, label="Paracetamol (Drug A)")
plt.plot(tau * t0, elution_B, label="Impurity (Drug B)")
plt.xlabel("Time (s)")
plt.ylabel("Concentration")
plt.legend()
plt.title("Elution Profiles")
plt.show()

RESULT

Now with the help of Deep Seek, We changed this python code so that it could also show
the retention times of Drug Paracetamol (A) and the Impurity Drug (B). So here is the
result followed by its code;
Python Code
import numpy as np
import matplotlib.pyplot as plt
from scipy.fftpack import fft, ifft

# Parameters
L = 0.15 # Column length (m)
u = 0.001 # Linear velocity (m/s)
D_ax = 1e-6 # Axial dispersion coefficient (m^2/s)
Pe = u * L / D_ax # Péclet number
t0 = L / u # Void time (s)
k_A = 2 # Retention factor for Paracetamol
k_B = 4 # Retention factor for impurity

# Retention times
t_R_A = t0 * (1 + k_A) # Retention time for Paracetamol
t_R_B = t0 * (1 + k_B) # Retention time for Impurity

# Discretization
N = 1000 # Number of spatial points
xi = np.linspace(0, 1, N) # Spatial grid
dxi = xi[1] - xi[0] # Spatial step
k = 2 * np.pi * np.fft.fftfreq(N, dxi) # Frequency domain

# Initial condition (injection pulse)


phi_A0 = np.exp(-100 * (xi - 0.1)**2) # Gaussian pulse for Paracetamol
phi_B0 = np.exp(-100 * (xi - 0.1)**2) # Gaussian pulse for impurity

# Fourier transform of initial condition


phi_A0_hat = fft(phi_A0)
phi_B0_hat = fft(phi_B0)

# Time evolution
tau = np.linspace(0, 10, 100) # Dimensionless time grid
phi_A = np.zeros((len(tau), N), dtype=complex)
phi_B = np.zeros((len(tau), N), dtype=complex)

for i, t in enumerate(tau):
phi_A_hat = phi_A0_hat * np.exp(-(1j * k + k**2 / Pe) * t)
phi_B_hat = phi_B0_hat * np.exp(-(1j * k + k**2 / Pe) * t)
phi_A[i, :] = ifft(phi_A_hat)
phi_B[i, :] = ifft(phi_B_hat)

# Elution profiles at column outlet (xi = 1)


elution_A = np.real(phi_A[:, -1])
elution_B = np.real(phi_B[:, -1])

# Convert dimensionless time to real time


time = tau * t0

# Plot elution profiles


plt.figure(figsize=(10, 6))
plt.plot(time, elution_A, label="Paracetamol (Drug A)")
plt.plot(time, elution_B, label="Impurity (Drug B)")

# Mark retention times on the graph


plt.axvline(x=t_R_A, color='red', linestyle='--', label=f'Retention Time
(Paracetamol) = {t_R_A:.1f} s')
plt.axvline(x=t_R_B, color='green', linestyle='--', label=f'Retention Time
(Impurity) = {t_R_B:.1f} s')

# Add labels and legend


plt.xlabel("Time (s)")
plt.ylabel("Concentration")
plt.legend()
plt.title("Elution Profiles with Retention Times")
plt.grid(True)
plt.show()

Lastly what is Elution profiles and Retention Times and how are they calculated is
as under;
Elution Profiles

The elution profile is the concentration of a solute as it exits the column (at z = L) as a
function of time. It is obtained by solving the EDM PDE and evaluating the solution at the
column outlet. Its EDM PDE is already discussed above

Retention Times

The retention time 𝑡𝑅 is the time it takes for a solute to travel through the column and
elute. It depends on the retention factor k and the void time t0

Retention Factor (k):

The retention factor is defined as:

𝑡𝑅 −𝑡0
𝑘=
𝑡0

Where:
𝑡𝑅 : Retention time of the solute.
t0: Void time (time for an unretained solute to pass through the column).

Rearranging, the retention time is:

𝑡𝑅 = 𝑡0 (1 + 𝑘)

Void Time (𝒕𝟎 ):

The void time is the time it takes for the mobile phase to travel through the column:
𝐿
𝑡0 = 𝑢

Where:
L: Column length.
u: Linear velocity of the mobile phase.

Solving for Elution Profiles and Retention Times

Let’s solve for the elution profiles and retention times using the given parameters:
Given Parameters:

 Column length: L = 0.15 m.


 Linear velocity: u = 0.001 m/s.
 Axial dispersion coefficient: Dax = 10-6 m2/s.
 Retention factors: 𝑘𝐴 = 2 (𝑃𝑎𝑟𝑎𝑐𝑒𝑡𝑎𝑚𝑜𝑙), 𝑘𝐵 = 4(𝑖𝑚𝑝𝑢𝑟𝑖𝑡𝑦)

To calculate void time (t0)


𝐿 0.15
𝑡0 = 𝑢 = 0.001 = 150𝑠

Calculate retention time (tR)

For Paracetamol (Drug A) 𝑡𝑅,𝐴 = 𝑡0 (1 + 𝑘𝐴 ) = 150 × (1 + 2) = 450𝑠.

For Impurity (Drug B) 𝑡𝑅,𝐵 = 𝑡0 (1 + 𝑘𝐵 ) = 150 × (1 + 4) = 750𝑠.

Elution Profiles

The elution profiles ∅𝐴 (1, 𝜏) 𝑎𝑛𝑑 ∅𝐵 (1, 𝜏) are obtained by solving the EDM PDE using
FFT (as shown in the Python code). The peaks of these profiles correspond to the
retention times:

 Paracetamol: Peak at 𝜏𝐴 = 1 + 𝑘𝐴 = 3 (dimensionless time).


 Impurity: Peak at 𝜏𝐵 = 1 + 𝑘𝐵 = 5 dimensionless time).

Convert Dimensionless Time to Real Time

 For Paracetamol:
𝑡𝑅,𝐴 = 𝜏𝐴 × 𝑡0 = 3 × 150 = 450𝑠
 For Impurity:
𝑡𝑅,𝐵 = 𝜏𝐵 × 𝑡0 = 5 × 150 = 750𝑠

You might also like