📄 lcbas.f90
字号:
#include <misc.h>#include <params.h>subroutine lcbas (grd, bas1, bas2)!----------------------------------------------------------------------- ! ! Purpose: ! Evaluate the partial Lagrangian cubic basis functions (denominator! only ) for the grid points and gather grid values! ! Method: ! ! Author: J. Olson! !-----------------------------------------------------------------------!! $Id: lcbas.F90,v 1.1 2001/11/06 18:42:49 erik Exp $! $Author: erik $!!----------------------------------------------------------------------- use precision implicit none!------------------------------Arguments-------------------------------- real(r8), intent(in) :: grd(4) ! grid stencil real(r8), intent(out):: bas1(4) ! grid values on stencil real(r8), intent(out):: bas2(4) ! lagrangian basis functions!-----------------------------------------------------------------------!---------------------------Local variables----------------------------- real(r8) x0mx1 ! | real(r8) x0mx2 ! | real(r8) x0mx3 ! |- grid value differences used in weights real(r8) x1mx2 ! | real(r8) x1mx3 ! | real(r8) x2mx3 ! |!-----------------------------------------------------------------------! x0mx1 = grd(1) - grd(2) x0mx2 = grd(1) - grd(3) x0mx3 = grd(1) - grd(4) x1mx2 = grd(2) - grd(3) x1mx3 = grd(2) - grd(4) x2mx3 = grd(3) - grd(4) bas1(1) = grd(1) bas1(2) = grd(2) bas1(3) = grd(3) bas1(4) = grd(4) bas2(1) = 1./ ( x0mx1 * x0mx2 * x0mx3 ) bas2(2) = -1./ ( x0mx1 * x1mx2 * x1mx3 ) bas2(3) = 1./ ( x0mx2 * x1mx2 * x2mx3 ) bas2(4) = -1./ ( x0mx3 * x1mx3 * x2mx3 ) returnend subroutine lcbas
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -