# Dispatching RT0 components from sol

I have a solution obtained by variational form of RT0 fespace

``````fespace Eh(Th,RT0Ortho);
Eh<complex> [Ax,Ay];
varf vK11([ux,uy],[vx,vy])
=int2d(Th)( nu * (dx(vy)-dy(vx)) * (dx(uy)-dy(ux))
+ 1i*2*pi*freqf*sig* [vx,vy]' * [ux,uy] )
-int2d(Th)( sig * [vx,vy]' * [E0x,E0y] )
+on(CoilTerminalIn,CoilTerminalOut, ux=0,uy=0)
+on(AirInBot1,AirOutBot,AirOutLeft, ux=0,uy=0);
matrix<complex> Kside = vK11(Eh,Eh);
complex[int] bside = vK11(0,Eh);
set(Kside, solver=UMFPACK);
complex[int] sol;
sol = Kside^-1 * bside;
``````

how can I dispatch `Ax` and `Ay` from `sol`
it seems `[Ax[],Ay[]]=sol;` is the wrong approach.

Try this instead. `Ax[] = sol;`

Thank you for your prompt response.

I attached my code so your can try it on your own device.

Best regards,
Hamed

LaminatedFreqAnalysis.edp (3.5 KB) LaminatedGeometry.idp (4.8 KB)

Well, of course, in your post you use a `Eh<complex> [Ax,Ay];` while in your code you use a `Eh [wx,wy];`

Sorry for my disorganized code.
I am a little bit confused about handling data in sol.

I defined and tried both `Eh<complex> [Ax,Ay];` and `Eh [wx,wy];` but none of these solutions worked for me:

``````[Ax[],Ay[]] = sol;
Ax[] = sol;
[wx[],wy[]] = sol;
wx[] = sol;
``````

I can’t understand why your solution `Ax[] = sol;` does not work.

My solution work if you remove your remove your definition of `[wx,wy]`.

Thank you again.

I guess there is an issue with definition of the problem since it encounters sth like `ERROR UMFPACK status -5`

That is indeed a different story It seems solving in matrix format using `varf` requires much more expertise than I thought.
I solved exactly the same problem using `solve` (which were commented on the attached file).

I think it would be better to simply give up 