Solving PDE w/ complex Neumann boundary condition

13 visualizaciones (últimos 30 días)
Simon
Simon el 16 de Ag. de 2013
Hi,
I am working on combustion instabilities and therefore looking into eigenmodes. To solve for the pressure distribution u, I have to define my boundary conditions. As I understood from the Mathworks website, the Neumann BC is written in a general form as grad(u) + q * u = g. I am able to solve for real values of q (and I'm setting g=0), this being one of my BC:
neumann = [1 0 6 6 '0.1000' '0.0000']';
Can anybody tell me if there is a possibility to extent q values to imaginary values and thus q = q_r + iq_i?
Regards,
Simon R2011a

Respuesta aceptada

Bill Greene
Bill Greene el 17 de Ag. de 2013
Hi,
The expression within the single quotes has to be a valid MATLAB arithmetic expression. To define a complex number in MATLAB do either:
a + i*b
or
a + sqrt(-1)*b
The second form can be useful when the variable i has been redefined for some other purpose such as a loop index. So, in some ways, it is safer.
Bill

Más respuestas (3)

Bill Greene
Bill Greene el 16 de Ag. de 2013
Hi,
Yes, PDE Toolbox allows the BC (or PDE) coefficients to be imaginary. Are you running into a particular problem?
Bill

Simon
Simon el 17 de Ag. de 2013
Hi Bill,
Thanks for your answer. What is the syntaxis of an complex BC? Matlab does not allow it to be defined this way:
neumann = [1 0 6 6 'a + ib' '0.0000']'
Do you know how it should be defined?
Thanks!

Simon
Simon el 19 de Ag. de 2013
hi Bill,
That just works! Great.
The eigenmodes u however, returned by pde function, are complex. Do you have any experience with complex eigenmode interpretation?
Thanks a lot.
Simon

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by