Solving PDE w/ complex Neumann boundary condition

10 views (last 30 days)
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

Accepted Answer

Bill Greene
Bill Greene on 17 Aug 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

More Answers (3)

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

Simon
Simon on 17 Aug 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 on 19 Aug 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!