代码之家  ›  专栏  ›  技术社区  ›  user1237300

Matlab PDE工具箱不能解决对流扩散问题

  •  0
  • user1237300  · 技术社区  · 6 年前

    according to the documentation here

    在文档中编写的PDE中,只有扩散项,没有对流项。有什么原因吗?对于这样一个标准方程,我本以为Matlab能够处理它。

    0 回复  |  直到 6 年前
        1
  •  0
  •   2b-t    6 年前

    Traditional finite-element methods 例如 哪一个 seems to be implemented in Matlab non-selfadjoint equations such as the parabolic advection-diffusion equation 没有修改数值格式。

    specifying a non-constant f 目前无法获得Matlab许可证 但是根据文档,您可以访问应该包含被动标量及其渐变和包含坐标位置的位置的结构状态。这将使您能够指定一个恒定速度或构造一个分析速度剖面(例如 Poiseuille 纵断面)和坐标位置。(也许在该函数中也可以使用点方向速度剖面?)

    尝试设置 m=0 d=1 , 计算f 结构状态 (州.ux, 州.uy, 州.uz其中是传输标量u)的梯度和 位置

    % set density
    rho = 1;
    
    % set viscosity
    D = 1;
    
    % set constant velocity
    vel = [1, 0, 0];
    
    % set coefficients for diffusion equation
    specifyCoefficients(model,'m',0,...
                              'd',rho,...
                              'c',D,...
                              'a',0,...
                              'f',@fcoeffunction);
    
    ...
    
    %% function for determining f
    function f = fcoeffunction(location,state)
    
        f = - rho*( vel(1)*state.ux + vel(2)*state.uy + vel(3)*state.uz); %calculate f from constant velocities
    
    end
    
    

    人工源项 它访问标量的梯度。这与1D中可以使用的功能类似 pdepe