Solving PDE w/ complex Neumann boundary condition

9 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

Bill Greene
Bill Greene il 17 Ago 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

Più risposte (3)

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

Simon
Simon il 17 Ago 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 il 19 Ago 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