Stack Exchange
Plotting from NDSolve
Code:
(*defining constants*)

neff = 1.98;
a        = 1/3;
λ        = 1.55;
β        = (2 π*neff)/λ + I*a/2;
k21    = I;
k12    = I;

R1[θ] = a/(2 π)*θ; 
R2[θ] = a + a/(2 π)*θ;
(*defining the two ODEs*)
ode1 = u1'[θ] == 
   I*β*R1[θ]*u1[θ] + k21 * u2[θ];
ode2 = u2'[θ] == 
   I*β*R2[θ]*u2[θ] + k12 * u1[θ];

(*numerically solve via Runge-Kutta*)
sol = NDSolve[
  
  {ode1, ode2, 
   u1[0] == 1, 
   u2[0] == E^(I*β*2 Sqrt[1 + 1/(36 π^2)] π)},  
  
  {u1[θ], u2[θ]}, {θ, 0, 2 π}, 
  Method -> "ExplicitRungeKutta", "StartingStepSize" -> 1/10]

I try to plot the output, but fail:
Plot[Evaluate[{u1[θ], u2[θ]} /. sol], {θ, 0, 
  2 π}, Frame -> True]

as this plots the frame of the graph, but not $u_1$ or $u_2$. Why?

The values of the functions you are trying to plot are complex. Whenever you have trouble plotting, try looking at the values resulting from your calculation, for instance by tabulating a few samples: Table[{u1[\[Theta]], u2[\[Theta]]} /. sol, {\[Theta], 0, 2 Pi, Pi/2}].

I wasn't aware we could do that tabulating, Thank you very much. I'll check how to plot the real/imaginary

Try replacing your Evaluate expression in Plot with Evaluate[ReIm@{u1[\[Theta]], u2[\[Theta]]} /. sol].

There's also ReImPlot[].

See also the "complex-valued nonlinear reaction equation" here: https://reference.wolfram.com/language/ref/NDSolve.html#1648865610

Thank you and to the Answer'er!

Clear["Global`*"]

neff = 198/100;
a = 1/3;
λ = 155/100;
β = (2 π*neff)/λ + I*a/2;
k21 = I;
k12 = I;

R1[θ] = a/(2 π)*θ;
R2[θ] = a + a/(2 π)*θ;

ode1 = u1'[θ] == I*β*R1[θ]*u1[θ] + k21*u2[θ];
ode2 = u2'[θ] == 
   I*β*R2[θ]*u2[θ] + k12*u1[θ];

eqns = {ode1, ode2, u1[0] == 1, 
    u2[0] == E^(I*β*2 Sqrt[1 + 1/(36 π^2)] π)} // Simplify;

The system can be solved exactly using DSolve:
sol = DSolve[{ode1, ode2, u1[0] == 1, 
     u2[0] == E^(I*β*2 Sqrt[1 + 1/(36 π^2)] π)}, {u1, 
     u2}, θ][[1]];

Verifying the solution,
And @@ (eqns /. sol // Simplify)

(* True *)

Plot[
 Evaluate[Simplify[ReIm[{u1[θ], u2[θ]} /. sol]]],
 {θ, 0, 2 π},
 Frame -> True,
 PlotStyle -> {Automatic, Dashed, Automatic, Dotted},
 PlotLegends -> {Re[u1], Im[u1], Re[u2], Im[u2]}]


