residual.m

来自「fem nonlinear source code using weighted」· M 代码 · 共 35 行

M
35
字号
function [R]=Residual(x,c,alpha,N,R,R1,R2)

for i=1
    R1(i) = 2*(1/(x(i+1)-x(i)))*(0.25*(c(i)-c(i+1))*((5/9)+(8/9)+(5/9)))+...
            ((x(i+1)-x(i))/2)*(alpha*0.125*c(i)^2)*((5/9)*(1+sqrt(3/5))^3+(8/9)+(5/9)*(1-sqrt(3/5))^3)+...
            ((x(i+1)-x(i))/2)*(0.125*alpha*2*c(i)*c(i+1))*((5/9)*(1-sqrt(3/5))*(1+sqrt(3/5))^2+(8/9)+(5/9)*(1+sqrt(3/5))*(1-sqrt(3/5))^2)+...
            ((x(i+1)-x(i))/2)*(alpha*0.125*c(i+1)^2)*((5/9)*(1-sqrt(3/5))^2*(1+sqrt(3/5))+(8/9)+(5/9)*(1+sqrt(3/5))^2*(1-sqrt(3/5)));
        
        %%% R2 %%%
    R2(i) = 2*(1/(x(i+1)-x(i)))*(0.25*(c(i+1)-c(i))*((5/9)+(8/9)+(5/9)))+...
            ((x(i+1)-x(i))/2)*(0.125*alpha*c(i)^2)*((5/9)*(1-sqrt(3/5))*(1+sqrt(3/5))^2+(8/9)+(5/9)*(1+sqrt(3/5))*(1-sqrt(3/5))^2)+...
            ((x(i+1)-x(i))/2)*(0.125*alpha*2*c(i)*c(i+1))*((5/9)*(1+sqrt(3/5))*(1-sqrt(3/5))^2+(8/9)+(5/9)*(1-sqrt(3/5))*(1+sqrt(3/5))^2)+...
            ((x(i+1)-x(i))/2)*(alpha*0.125*c(i+1)^2)*((5/9)*(1-sqrt(3/5))^3+(8/9)+(5/9)*(1+sqrt(3/5))^3);
    R(i)=R(i)+R1(i); R(i+1)=R(i+1)+R2(i);
end

for i = 2:(N-1) %looping over elements
    
    R1(i) = 2*(1/(x(i+1)-x(i)))*(0.25*(c(i)-c(i+1))*((5/9)+(8/9)+(5/9)))+...
            ((x(i+1)-x(i))/2)*(alpha*0.125*c(i)^2)*((5/9)*(1+sqrt(3/5))^3+(8/9)+(5/9)*(1-sqrt(3/5))^3)+...
            ((x(i+1)-x(i))/2)*(0.125*alpha*2*c(i)*c(i+1))*((5/9)*(1-sqrt(3/5))*(1+sqrt(3/5))^2+(8/9)+(5/9)*(1+sqrt(3/5))*(1-sqrt(3/5))^2)+...
            ((x(i+1)-x(i))/2)*(alpha*0.125*c(i+1)^2)*((5/9)*(1-sqrt(3/5))^2*(1+sqrt(3/5))+(8/9)+(5/9)*(1+sqrt(3/5))^2*(1-sqrt(3/5)));
        
        %%% R2 %%%
    R2(i) = 2*(1/(x(i+1)-x(i)))*(0.25*(c(i+1)-c(i))*((5/9)+(8/9)+(5/9)))+...
            ((x(i+1)-x(i))/2)*(0.125*alpha*c(i)^2)*((5/9)*(1-sqrt(3/5))*(1+sqrt(3/5))^2+(8/9)+(5/9)*(1+sqrt(3/5))*(1-sqrt(3/5))^2)+...
            ((x(i+1)-x(i))/2)*(0.125*alpha*2*c(i)*c(i+1))*((5/9)*(1+sqrt(3/5))*(1-sqrt(3/5))^2+(8/9)+(5/9)*(1-sqrt(3/5))*(1+sqrt(3/5))^2)+...
            ((x(i+1)-x(i))/2)*(alpha*0.125*c(i+1)^2)*((5/9)*(1-sqrt(3/5))^3+(8/9)+(5/9)*(1+sqrt(3/5))^3);
        
        %%% Composite residual %%%
    R(i)=R(i)+R1(i); R(i+1)=R(i+1)+R2(i);
  
end
    R(1)=0;
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?