$treeview $search $mathjax
|
Palabos
Version 1.1
$projectbrief
|
$projectbrief
|
$searchbox |
00001 /* This file is part of the Palabos library. 00002 * 00003 * Copyright (C) 2011 FlowKit Sarl 00004 * Avenue de Chailly 23 00005 * 1012 Lausanne, Switzerland 00006 * E-mail contact: contact@flowkit.com 00007 * 00008 * The most recent release of Palabos can be downloaded at 00009 * <http://www.palabos.org/> 00010 * 00011 * The library Palabos is free software: you can redistribute it and/or 00012 * modify it under the terms of the GNU Affero General Public License as 00013 * published by the Free Software Foundation, either version 3 of the 00014 * License, or (at your option) any later version. 00015 * 00016 * The library is distributed in the hope that it will be useful, 00017 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00019 * GNU Affero General Public License for more details. 00020 * 00021 * You should have received a copy of the GNU Affero General Public License 00022 * along with this program. If not, see <http://www.gnu.org/licenses/>. 00023 */ 00024 00025 #ifndef FD_STENCILS_1D_H 00026 #define FD_STENCILS_1D_H 00027 00028 #include "core/globalDefs.h" 00029 00030 namespace plb { 00031 00032 namespace fd { 00033 00035 template<typename T> 00036 T ctl_diff(T u_p1, T u_m1) { 00037 return (u_p1 - u_m1) / (T)2; 00038 } 00039 00041 template<typename T> 00042 T fwd_diff(T u_0, T u_1, T u_2) { 00043 return (-(T)3*u_0 + (T)4*u_1 - (T)1*u_2) / (T)2; 00044 } 00045 00047 template<typename T> 00048 T bwd_diff(T u_0, T u_1, T u_2) { 00049 return -fwd_diff(u_0, u_1, u_2); 00050 } 00051 00053 template<typename T> 00054 T o1_fwd_diff(T u_0, T u_1) { 00055 return (-u_0 + u_1); 00056 } 00057 00059 template<typename T> 00060 T boundaryZeroGradient(T u_1, T u_2) { 00061 return (T)4/(T)3*u_1 - (T)1/(T)3*u_2; 00062 } 00063 00065 template<typename T> 00066 T linearInterpolate(T u_0, T u_1, T pos) { 00067 return ((T)1-pos)*u_0 + pos*u_1; 00068 } 00069 00070 } // namespace fd 00071 00072 } // namespace plb 00073 00074 00075 #endif // FD_STENCILS_1D_H 00076
1.6.3
1.6.3