Stationary Convection-Diffusion Equation 2-D
7 次查看(过去 30 天)
显示 更早的评论
I need to solve Convection-Diffusion Equation for a square domain using triangular mesh. The equation is:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/192246/image.jpeg)
Where V is the velocity vector, T is temperature, K is the diffusion coefficient and Q is power.
The study is about finding the air temperature in a closed space with forced convection and a constant power; the velocity goes in just one direction and ist constant too. I need to create a square of 11x11 centimeters because that is the size of the machine I'm working with, and I want to create a triangular mesh but I don't know how to.
Is it possible to solve the equation using the Petrov-Galerkin method? If the answer is yes, how can I do it?
If the answer is no, what other method can I use?
The idea is to create a program that allows you to assign a constant value to the power and speed and gives back as a result the temperature values, but my concern is that in this Finite Element Method you can not use the regular Weight Functions.
Please excuse my english.
采纳的回答
Ravi Kumar
2018-10-22
Hi Andrea,
Re: "In the case of the temperature study," : Dirichlet BC will specify the value of temperature on the boundary. Neumann BC would specify the heat flux.
For your original advection problem. You need to define the Q as f-coefficient, a V*gradT as a-coefficient. Both of these could be spatially varying, you can user functional form of coefficients to do so. Having said that there is no stabilization mechanism in PDE Toolbox, so you might encounter numerical instabilities depending of your problem is advection dominated or diffusion dominated.
Regards,
Ravi
2 个评论
Ravi Kumar
2018-10-23
Hi Andrea,
You can use the functional form of coefficients to define a-coefficient. The function should take two input arguments, location and state. Solver call this user defined function with a state struct array that contains solution as state.u and its spatial derivative as state.ux, state.uy, and state.uz. For your case, the governing PDE is on T, hence state.u = T, state.ux = dT/dx, state.uy = dT/dy ..., of course these are partial derivatives. Hence, in the a-coefficient function you can use V that you know and date provided to you in state struct to construct to a-coefficient as V.gardT.
Regards,
Ravi
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Eigenvalue Problems 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!