I've made a 3d plot of the steady state surface so you can see the "pleat" that corresponds to the region where there are 3 simulaneous steady states.

The curves you plotted are the projections of the fold loci down onto the parameter plane.

schlogl.mws


> b:=(x,a)->x^3-a*x^2+k*x;
q:=diff(b(x,a),x);

ss:=solve(q=0,x);

xp:=unapply(ss[1],a);

xm:=unapply(ss[2],a);


b := proc (x, a) options operator, arrow; x^3-a*x^2+k*x end proc

q := 3*x^2-2*a*x+k

ss := 1/3*a+1/3*(a^2-3*k)^(1/2), 1/3*a-1/3*(a^2-3*k)^(1/2)

xp := proc (a) options operator, arrow; 1/3*a+1/3*(a^2-3*k)^(1/2) end proc

xm := proc (a) options operator, arrow; 1/3*a-1/3*(a^2-3*k)^(1/2) end proc

> k:=1;
xm(a),xp(a);

plot([b(xm(a),a),b(xp(a),a)],a=sqrt(3*k)..4,view=[0..4,0..0.2],labels=["a","b"]);

crv1:=plots[spacecurve]([a,b(xm(a),a),xm(a)],a=sqrt(3*k)..4,color=black,thickness=2,numpoints=300):

crv2:=plots[spacecurve]([a,b(xp(a),a),xp(a)],a=sqrt(3*k)..4,color=black,thickness=2,numpoints=300):

k := 1

1/3*a-1/3*(a^2-3)^(1/2), 1/3*a+1/3*(a^2-3)^(1/2)

[Plot]

> surf:=plot3d([a,b(x,a),x],x=0..3,a=0..3,style=patchnogrid,axes=boxed,labels=["a","b","x"],
view=[0..3,0..0.3,0..3],grid=[80,80]):

all:=plots[display](crv1,crv2,surf,orientation=[-79,67]):

plots[display](all);

[Plot]

> nframes:=20;
trange:=60.0;

dt:=trange/(nframes-1);

plots[display](seq(plots[display](all,orientation=[-100+i*dt,67]),i=0..nframes-1),

              seq(plots[display](all,orientation=[-100+(nframes-1-i)*dt,67]),i=0..nframes-1),

insequence=true,title="Equilibrium values of x");

nframes := 20

trange := 60.0

dt := 3.157894737

[Plot]

>