Consider a ternary ideal mixture of components
A
,
B
, and
C
. The relative volatilities of the components
A
and
B
with respect to component
C
are
α
13
and
α
23
.
​
We depicts the residue curve map in an equilateral-triangular ternary diagram when the relative volatilities are :
​Case 1:
α
13
=1.5
and
α
23
=2.5
.
Case 2:
α
13
=0.5
and
α
23
=2.5
.
Case 3:
α
13
=2.5
and
α
23
=0.5
.
Case 4:
α
13
=0.5
and
α
23
=0.1
.
In[]:=
Clear[x,t,i];
In[]:=
LaunchKernels[]
Out[]=
KernelObject
Local
KernelID: 1

In[]:=
x3[t_]:=1-x1[t]-x2[t];Sol[i_]:=NDSolve[{x1'[t]x1[t]-α13x1[t]/(α13x1[t]+α23x2[t]+x3[t]),x2'[t]x2[t]-α23x2[t]/(α13x1[t]+α23x2[t]+x3[t]),x1[0]i,x2[0]0.1},{x1,x2},{t,-40,80}];

Case 1

α
13
= 1.5 and
α
23
= 2.5. Here, the saddle point is the intermediate boiling point (component 4). The stable node is component C, because it is the heaviest component. The unstable node is the lightest component (component B).
In[]:=
α13=1.5;α23=2.5;
In[]:=
bl=Parallelize@Table[Table[Flatten[{x1[t]/.Sol[i],x2[t]/.Sol[i],x3[t]/.Sol[i]}]/.t->a,{a,-40,80,0.1}],{i,0,0.9,0.1}];
In[]:=
TernaryListPlot[bl,Joined->True,PlotStyle->Table[{Thick,Hue[i]},{i,0,0.9,0.1}],GridLines->Automatic,Method->{"Backdrop"->Lighter[Red,.75]},FrameLabel->{Style["A",16],Style["B",16],Style["C",16]},PlotRange->All]
Out[]=

Case 2

α
13
= 0.5 and
α
23
= 2.5. Here, the saddle point is the intermediate boiling point (component C). The stable node is component A, because it is the heaviest component. The unstable node is the lightest component (component B).
In[]:=
α13=0.5;α23=2.0;
In[]:=
bl=Parallelize@Table[Table[Flatten[{x1[t]/.Sol[i],x2[t]/.Sol[i],x3[t]/.Sol[i]}]/.t->a,{a,-40,80,0.1}],{i,0,0.9,0.1}];
In[]:=
TernaryListPlot[bl,Joined->True,PlotStyle->Table[{Thick,Hue[i]},{i,0,0.9,0.1}],GridLines->Automatic,Method->{"Backdrop"->Lighter[Yellow,.75]},FrameLabel->{Style["A",16],Style["B",16],Style["C",16]},PlotRange->All]
Out[]=

Case 3

α
13
= 2.5 and
α
23
= 0.5. Here, the saddle point is the intermediate boiling point (component C). The stable node is component B, because it is the heaviest component. The unstable node is the lightest component (component A).
In[]:=
α13=2.5;α23=0.5;
In[]:=
bl=Parallelize@Table[Table[Flatten[{x1[t]/.Sol[i],x2[t]/.Sol[i],x3[t]/.Sol[i]}]/.t->a,{a,-40,80,0.1}],{i,0,0.9,0.1}];
In[]:=
TernaryListPlot[bl,Joined->True,PlotStyle->Table[{Thick,Hue[i]},{i,0,0.9,0.1}],GridLines->Automatic,Method->{"Backdrop"->Lighter[Blue,.75]},FrameLabel->{Style["A",16],Style["B",16],Style["C",16]},PlotRange->All]
Out[]=

Case 4

α
13
= 0.5 and
α
23
= 0.1. Here, the saddle point is the intermediate boiling point (component A). The stable node is component B, because it is the heaviest component. The unstable node is the lightest component (component C).
In[]:=
α13=0.5;α23=0.1;
In[]:=
bl=Parallelize@Table[Table[Flatten[{x1[t]/.Sol[i],x2[t]/.Sol[i],x3[t]/.Sol[i]}]/.t->a,{a,-40,80,0.1}],{i,0,0.9,0.1}];
In[]:=
TernaryListPlot[bl,Joined->True,PlotStyle->Table[{Thick,Hue[i]},{i,0,0.9,0.1}],GridLines->Automatic,Method->{"Backdrop"->Lighter[Green,.75]},FrameLabel->{Style["A",16],Style["B",16],Style["C",16]},PlotRange->All]
Out[]=

CITE THIS NOTEBOOK

Residue curve maps in a triangular Ternary diagram​
by Housam Binous and Ahmed Bellagi
Wolfram Community, STAFF PICKS, September 27, 2025
​https://community.wolfram.com/groups/-/m/t/3551294