📄 laxwen1.c++
字号:
// laxwen1.cpp implementation of 1-D single step Lax-Wendroff#include <laxwen1.hpp>float null_rhs(Vector&, int){ return 0;}LaxWendroff1::LaxWendroff1(SpaceDeriv fin, float dxin, float dtin, int ni, SpaceDeriv user_rhs) : f(fin), Dynamics(ni,dtin,"Single-step Lax-Wendroff"){ u_new.resize(n); r = dt / dxin; if ( user_rhs == NULL ) rhs = null_rhs; else rhs = user_rhs;}void LaxWendroff1::step(const int steps){ int it, j, jm, jp; for (it = 0; it < steps; it++) { for (j = 0; j < n; j++) { jp = j + 1; if ( jp >= n ) jp -= n; jm = j - 1; if ( jm < 0 ) jm += n; u_new[j] = u[j] - 0.5 * r * (f(u,jp) - f(u,jm)) + 0.5 * r * r * (f(u,jp) - 2 * f(u,j) + f(u,jm) ) + dt * rhs(u,j); } u = u_new; } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -