Solving PDE w/ complex Neumann boundary condition

10 ビュー (過去 30 日間)
Simon
Simon 2013 年 8 月 16 日
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

採用された回答

Bill Greene
Bill Greene 2013 年 8 月 17 日
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

その他の回答 (3 件)

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

Simon
Simon 2013 年 8 月 17 日
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 2013 年 8 月 19 日
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

カテゴリ

Help Center および File ExchangeBoundary Conditions についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by