$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 00029 #ifndef NON_LOCAL_TRANSFER_3D_H 00030 #define NON_LOCAL_TRANSFER_3D_H 00031 00032 #include "core/globalDefs.h" 00033 #include "multiBlock/localMultiBlockInfo3D.h" 00034 #include "multiBlock/multiDataField3D.h" 00035 #include "multiBlock/multiBlockLattice3D.h" 00036 #include <vector> 00037 00038 00039 namespace plb { 00040 00041 00043 std::vector<Overlap3D> copyAllDataTransfer ( 00044 SparseBlockStructure3D const& block1, 00045 SparseBlockStructure3D const& block2 ); 00046 00048 00050 std::vector<Overlap3D> copyDomainDataTransfer ( 00051 SparseBlockStructure3D const& block1, Box3D block1Domain, 00052 SparseBlockStructure3D const& block2, Box3D block2Domain ); 00053 00055 template<typename T> 00056 void copyNonLocal ( 00057 MultiScalarField3D<T> const& from, MultiScalarField3D<T>& to, Box3D const& domain ); 00058 00060 00064 template<typename T> 00065 void copy ( 00066 MultiScalarField3D<T> const& from, Box3D const& fromDomain, 00067 MultiScalarField3D<T>& to, Box3D const& toDomain ); 00068 00070 template<typename T> 00071 void copyNonLocal ( 00072 MultiNTensorField3D<T> const& from, MultiNTensorField3D<T>& to, Box3D const& domain ); 00073 00075 00079 template<typename T> 00080 void copy ( 00081 MultiNTensorField3D<T> const& from, Box3D const& fromDomain, 00082 MultiNTensorField3D<T>& to, Box3D const& toDomain ); 00083 00085 template<typename T, int nDim> 00086 void copyNonLocal ( 00087 MultiTensorField3D<T,nDim> const& from, MultiTensorField3D<T,nDim>& to, Box3D const& domain ); 00088 00090 00094 template<typename T, int nDim> 00095 void copy ( 00096 MultiTensorField3D<T,nDim> const& from, Box3D const& fromDomain, 00097 MultiTensorField3D<T,nDim>& to, Box3D const& toDomain ); 00098 00100 template<typename T, template<typename U> class Descriptor> 00101 void copyNonLocal ( 00102 MultiBlockLattice3D<T,Descriptor> const& from, 00103 MultiBlockLattice3D<T,Descriptor>& to, Box3D const& domain, 00104 modif::ModifT whichContent ); 00105 00107 00111 template<typename T, template<typename U> class Descriptor> 00112 void copy ( 00113 MultiBlockLattice3D<T,Descriptor> const& from, Box3D const& fromDomain, 00114 MultiBlockLattice3D<T,Descriptor>& to, Box3D const& toDomain, 00115 modif::ModifT whichContent ); 00116 00118 00122 template<typename T, template<typename U> class Descriptor> 00123 void copyPopulations ( 00124 MultiBlockLattice3D<T,Descriptor> const& from, Box3D const& fromDomain, 00125 MultiBlockLattice3D<T,Descriptor>& to, Box3D const& toDomain ); 00126 00128 00132 template<typename T, template<typename U> class Descriptor> 00133 void copyAll ( 00134 MultiBlockLattice3D<T,Descriptor> const& from, Box3D const& fromDomain, 00135 MultiBlockLattice3D<T,Descriptor>& to, Box3D const& toDomain ); 00136 00138 00142 template<typename T, template<typename U> class Descriptor> 00143 void copyRegenerate ( 00144 MultiBlockLattice3D<T,Descriptor> const& from, Box3D const& fromDomain, 00145 MultiBlockLattice3D<T,Descriptor>& to, Box3D const& toDomain ); 00146 00148 00153 void copy_generic ( 00154 MultiBlock3D const& from, Box3D const& fromDomain, 00155 MultiBlock3D& to, Box3D const& toDomain, modif::ModifT whichContent ); 00156 00158 00159 void copyNonLocal_generic ( 00160 MultiBlock3D const& from, MultiBlock3D& to, 00161 Box3D const& domain, modif::ModifT whichContent ); 00162 00163 } // namespace plb 00164 00165 #endif // NON_LOCAL_TRANSFER_3D_H
1.6.3
1.6.3