📄 get_dcoef.m
字号:
function [dcoefx,dcoefy] = get_dcoef(u,beta)% [dcoefx,dcoefy] = get_dcoef(u,beta)%% Generate 2 arrays, dcoefx and dcoefy, used in the CCFD discretization % of the diffusion equation% L(u)v = -div (dcoef grad u)% = - d/dx(dcoef du/dx) - d/dy(dcoef du/dy)% where% dcoef = 1 / sqrt((du/dx)^2 + (du/dy)^2 + beta^2).%% dcoefx gives values of dcoef across cell x-interfaces.% dcoefy gives values of dcoef across cell y-interfaces. [nx,ny] = size(u); n = nx; % Assume nx = ny for now. h = 1/n; ux = diff(u)/h; uy = diff(u')'/h; uxavg = (ux(:,1:n-1) + ux(:,2:n))/2; uxavg = [zeros(1,n-1); uxavg; zeros(1,n-1)]; uxavg = (uxavg(1:n,:) + uxavg(2:n+1,:))/2; uyavg = (uy(1:n-1,:) + uy(2:n,:))/2; uyavg = [zeros(n-1,1) uyavg zeros(n-1,1)]; uyavg = (uyavg(:,1:n) + uyavg(:,2:n+1))/2; dcoefx = sqrt(ux.^2 + uyavg.^2 + beta^2); dcoefy = sqrt(uxavg.^2 + uy.^2 + beta^2);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -